区块链共识协议指南
暴走时评:公有链如果想实现在全球范围内运作,首先需要有一个实用、高效且安全的共识算法。工作证明共识算法需要大量的计算能量,并且不能很好的扩容,因此本文分析了几种工作证明的替代方法,包括:权益证明、活动证明、燃烧证明、容量证明和实际运算时间证明。通过寻找更加快速节能的共识算法,可以让我们更好的提高公有链的运作效率。
翻译:Nicole
关于公有链如何改变世界的言论我们已经听了很多了,但是为了实现在全球范围内运作,共享公共账本需要一个实用、高效且安全的共识算法。
一种共识算法,类似比特币的工作证明(我们最常听到的),主要做两件事:确保区块链上的下一个区块是唯一的真相版本;阻止强大的对手打乱系统并成功对链进行分叉。
在工作证明中,矿工们会通过解决一个非常困难的加密谜题,相互竞争将下一个区块添加到链中。第一个解决谜题的人,可以赢得奖励。作为对其努力的奖励,矿工将获得12.5个新开采的比特币——以及少部分的交易费。
然而,虽然比特币工作证明是一个杰作,但是并不完美。
常见的批评包括它需要大量的计算能量,它不能很好地扩容(交易确认需要大约10-60分钟),并且大多数挖矿集中在世界上电力相对便宜的地区。
比特币创造者中本聪中唤醒了我们对区块链潜力的认知,但这并不意味着我们不能继续寻找更快、更中心化和更节能的共识算法,带我们走向更美好的未来。
虽然以下不是一个完整的列表,但是是一些从各个角度挑选出来的替代方法。
权益证明
工作证明的最常见的替代方法是权益证明。
在这种类型的共识算法中,不同于在开采区块的竞赛中投资购买昂贵的计算机设备,‘验证者’投资的是系统中的硬币。
注意术语验证者。这是因为不会在权益证明中创造硬币(挖矿),相反,所有的硬币从第一天就开始存在,验证者(也被称为利益相关者,因为他们持有系统股份)也会得到相应交易费用。
在权益证明中,你被挑选来创建下一个区块的几率取决于你在系统中拥有的(或搁置的)硬币的数量。拥有300个硬币的验证者比拥有100个硬币的验证者多三倍的几率被选中。
一旦验证者创造了一个区块,这个区块仍需要被提交到区块链上。不同的权益证明系统因处理方式不同而不同。例如,在Tendermint中,系统中的每个节点都必须在区块上签名,直到达到大多数投票,而在其他系统中,签名者是随机挑选的。
现在,我们遇到了一个问题。是什么阻碍了验证者创建两个区块以及对两组交易费用的申诉?是什么阻止了签名者签署这两个区块?这被称为‘不承担任何风险的问题’。参与者没有任何损失,也没有理由表现的很好。
在“加密经济学”的新兴领域,区块链工程师正在探索解决这个问题和其他问题的方法。有一个答案是要求验证者将其货币锁定在虚拟代码库中。
如果验证者想要双重签名或对系统进行分叉,那么这些硬币数量就会被削减。
Peercoin(点点币)是第一个实施权益证明的硬币,其次是黑币和NXT。以太坊目前依赖的是工作证明,但计划在2018年初移动到股权证明。
活动证明
为了避免过度的通货膨胀(即当某种货币在系统上泛滥的时候),比特币只能生产2100万的比特币。这意味着,在某些时候,比特币区块奖励补贴将结束,比特币矿工只会得到交易费。
有些人猜测这可能会因“公地悲剧”而引发安全问题,人们会以自身利益行事,造成系统的破坏。因此,活动证明是比特币激励架构的替代选择。活动证明是一种结合工作证明和权益证明的混合方法。
在活动证明中,挖矿将以传统工作证明的方式开展,矿工会竞相解决加密谜题。根据实施状况,开采的区块不包含任何交易(它们更像是模板),因此胜出的区块将仅包含标题和矿工的奖励地址。
此时,系统会切换到权益证明。根据标题信息,将挑选一组随机的验证者来签署新区块链,验证者在系统中拥有的硬币越多,他/她被选中的概率就越高。一旦所有验证器签名了,模板将变成一个完整的区块。
如果所选择的验证者中有一些无法完成区块,那么就会挑选下一个胜出区块,同样,也会挑选一组新的验证者,以此类推,直到区块获得了所需数量的签名。矿工和签署区块的验证者将平分这笔费用。
对活动证明的批评和对工作证明(开采区块所需能量过多)以及权益证明(没有什么能组织验证者进行双重签名)的批评是一样的。
Decred是目前唯一使用活动证明的硬币。
燃烧证明
有了燃烧证明,就不用把钱投入到购买昂贵的计算机设备上,你可以把钱发送到不可复原的地址来‘燃烧’货币。通过将你的硬币投入到想象中的地方,你可以获得在随机挑选的系统挖矿的终身特权。
矿工会根据实施燃烧证明的方法,燃烧内置货币或替代链上的货币,如比特币。你燃烧的硬币越多,你被选择挖掘下一个区块的机会越大。
随着时间的推移,你在系统中的股份也会随之减少,因此最终你会想燃烧更多的货币来提高你被选中的概率。(这模仿了比特币的采矿过程,你必须不断投资购买更先进的计算机设备来维护哈希力量)。
虽然燃烧证明是工作证明的有趣的替代方法,但是这种协议仍然会造成资源的不必要浪费。另一个批评的声音就是挖矿权只会给愿意燃烧更多钱的人。
唯一使用燃烧证明的硬币是slimcoin,这是一种基于点点币的加密货币。这种货币结合了工作证明、权益证明和燃烧证明,但是目前还处于半活跃状态。
容量证明
正如我们所看到的,大多数这些替代协议采用付费参与方案。容量证明并没有什么特别之处,但在这里你要用硬盘空间来‘支付’。你拥有的硬盘空间越多,你开采下一个区块并获得区块奖励的概率就越大。
在在容量证明系统挖矿之前,算法会生成大量称为“plots”的数据,你会将这些数据存储在硬盘驱动器上。你拥有的plot越多,你被选中开采下一个区块的概率就越大。
通过投资TB级的硬盘空间,你可以有更大的几率来创建重复区块,对系统进行分叉。
容量证明的变量包括存储证明和空间证明。Burstcoin是唯一一种使用容量证明形式的加密货币。
实际运算时间证明
芯片制造商英特尔已经提出了自己的替代共识协议,称为实际运算时间证明。这个系统的工作原理和工作证明相似,但是耗费的电量却少得多。
此外,和让参与者解决加密谜题的方式不同,这种算法使用的是一种可信任执行环境(TEE)——例如SGX——来确保区块是以随机抽奖方式产生的,但是没有所需工作。
英特尔的方法是基于TEE所提供的保证等待时间。因特尔透露,实际运算时间算法可以扩展到数千个节点上,并且可以高效的运行于任何支持SGX的英特尔处理器上。
这个协议的一个问题是它需要你信任英特尔——而不是将信任放在第三方,摆脱第三方也是公有链想到达的目的。
作者:Amy Castor | 编译者:Nicole | 来源:Coindesk
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场