极客∣遏制算力中心化的功臣:Scrypt加密算法

栏目: 编程工具 · 发布时间: 6年前

内容简介:众所周知,比特币挖矿运用的是SHA-256哈希算法,这种算法十分简单快捷,但性能与CPU的处理速度,也就是算力,有着极大的关联。为了能够挖到更多的比特币,GPU矿机、FPGA矿机以及ASIC矿机这样的专业矿机相继被制造出来。拥有条件入手这些矿机的人,凭借着高算力挖到更多的比特币,变得更加富有。随着矿机制造业的崛起,比特币逐渐被几大矿池垄断,所谓的去中心化也开始变得越来越远,莱特币的创始人认为比特币的算法对其他挖矿的人来说并不公平,且影响区块链的去中心化,所以在莱特币中使用了Scrypt算法,以阻止这类专业

极客∣遏制算力中心化的功臣:Scrypt加密算法

一、起源

众所周知,比特币挖矿运用的是SHA-256哈希算法,这种算法十分简单快捷,但性能与CPU的处理速度,也就是算力,有着极大的关联。为了能够挖到更多的比特币,GPU矿机、FPGA矿机以及ASIC矿机这样的专业矿机相继被制造出来。拥有条件入手这些矿机的人,凭借着高算力挖到更多的比特币,变得更加富有。

随着矿机制造业的崛起,比特币逐渐被几大矿池垄断,所谓的去中心化也开始变得越来越远,莱特币的创始人认为比特币的算法对其他挖矿的人来说并不公平,且影响区块链的去中心化,所以在莱特币中使用了Scrypt算法,以阻止这类专业矿机挖矿而造成算力竞争。

极客∣遏制算力中心化的功臣:Scrypt加密算法

Scrypt算法由知名的FreeBSD黑客,同时也是一名密码学家的Colin Percival在2009年提出,他开发这一算法的初衷是为其备份服务Tarsnap降低CPU负荷,减少对于CPU计算的依赖,同时防止网络攻击。虽然Scrypt算法的性能与算力相关不大,但却很依赖内存。

由于Scrypt算法对内存非常依赖的设计非常适合用于对抗专业矿机,所以后来有很多区块链挖矿项目都使用这一算法,如狗狗币,来使得数字货币的分发更加分散。

二、原理

那么Scrypt算法具体是如何对抗ASIC矿机的呢?

一开始,Scrypt算法被开发出来时,是为了减少对CPU的依赖,所以这一算法其实是利用了CPU的闲置时间进行计算。Scrypt算法不仅计算所需的时间长,而且需要的内存也很大。因为Scrypt算法计算时会产生一个具有若干个块元素(block element)的数组,对其中的每个块元素,都必须先进行一系列运算生成哈希值,再对整个数组进行运算得到最终的结果。

其中,每个块元素都必须被储存在内存中,才能保证最后得到正确的结果,故而Scrypt算法需要极大的内存空间,本身运算的成本很大。大量内存的硬件成本会很高,矿池就无法进行低成本挖矿了。

这样导致的一个结果就是,算力难以集中,很难形成大型矿池,从而减少51%攻击的可能。

同时,Scrypt算法这一特性会使得并行计算多个摘要异常困难,因此利用rainbow table(彩虹表攻击,为破解密码的散列值而预先计算好的表)进行暴力攻击的难度增加。因为Scrypt算法属于一种密钥导出(KDF)算法,这种算法非常适用于生成密钥,可以避免黑客低成本地生成大量密钥去试探密码,因此可以为备份服务提供高度安全的网络环境。

正是看到了它的这些原理,莱特币才采用了此算法。

极客∣遏制算力中心化的功臣:Scrypt加密算法

三、优缺点

以莱特币为例,使用以Scrypt算法为核心的PoW共识机制,有效抵制了专业矿机的使用,避免了算力中心化的趋向;同时令更多人能够通过家用电脑来参与挖矿,莱特币的分发将变得更加分散。总的而言,这一算法能够更好地保证区块链的去中心化特征。

由于持币更加分散,区块链网络面临51%攻击的概率也大大降低了。而Scrypt本身具有的密钥导出性能,能够有效阻止黑客对密码进行破解和攻击。

简言之,Scrypt算法使得加密币网络更加安全和去中心化,所以一经莱特币的使用,它就得到了广大山寨币的青睐,有很多人甚至认为这是最适合数字货币的算法。

但是,随着Scrypt算法的广泛使用,专用于这一算法的矿机也被生产出来,后来诞生的FPGA矿机也可以在运用这算法时进行大规模挖矿。

不过,Scrypt算法在区块链上的使用开启了人们对于算力去中心化的思考,现今它的最大影响,与其说这一算法的具体运用遏制了中心化,不如说是其带来的思考促进了人们对算力去中心化的支持与探索。

栏目策划丨无忌

文章作者丨狂歌酒

责任编辑丨鬼薄主

排版编辑丨辣姬

美术指导丨冰菓

极客∣遏制算力中心化的功臣:Scrypt加密算法

BB财经原创,作者:极客,转载请注明出处:http://www.bbcaijing.cn/article/news/23103.html


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员的呐喊

程序员的呐喊

[美]Steve Yegge / 徐旭铭 / 人民邮电出版社 / 2014-5-1 / 45.00元

《程序员的呐喊》的作者是业界知名的程序员—来自google的steve yegge,他写过很多颇富争议的文章,其中有不少就收录在这本书中。本书是他的精彩文章的合集。 《程序员的呐喊》涉及编程语言文化、代码方法学、google公司文化等热点话题。 对工厂业界的各种现象、技术、趋势等,作者都在本书中表达了自己独特犀利的观点。比如java真的是一门优秀的面向对象语言吗?重构真的那么美好吗?强......一起来看看 《程序员的呐喊》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器