课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
如果想掌握区块链技术,那么就必须了解和熟悉在区块链技术中使用的一些算法种类。今天,我们就给大家简单介绍了几种算法,一起来了解一下吧。
1. 工作量证明(PoW,Proof of Work)
优点:
自2009年以来得到了广泛测试,目前依然得到广泛的使用。
不足:
速度慢。
耗能巨大,对环境不好。
易受“规模经济”(economies of scale)的影响。
使用者:Bitcoin、Ethereum、Litecoin、Dogecoin等。
类型:有竞争共识(Competitive consensus)。
解释:PoW是是个共识算法。它是由中本聪在他的论文中提出的,用于建立分布式无信任共识并识别“双重支付”(double spend)问题。PoW并非一个新理念,但是中本聪将Pow与加密签名、Merkle链和P2P网络等已有理念结合,形成一种可用的分布式共识系统。加密货币是这样系统的个基础和应用,因而独具创新性。
在PoW的工作方式中,区块链参与者(称为“矿工”)要在区块链中添加一块交易,必须解决某种“复杂但是无用”的计算问题。
本质上,这种做法可确保矿工花费了一些金钱或资源(矿机)完成工作,这表示了它们将不会损害区块链系统,因为对系统的损害也将会导致投资的损失,进而损害他们自身。
为保证运行区块时间不变,问题的复杂性会发生变化。有时,会存在多名矿工同时解决了问题。在这种情况下,每位矿工从中选取一个区块链,并以选取长链者为获胜者。因此,如果假定大多数矿工工作在同一个链上,那么成长快的链将成为长和值得信任的链。这样,只要由矿工提交的工作有超过一半是值得信任的,那么Bitcoin就是安全的。
2. 权益证明(PoS,Proof of Stake)
优点:
节能。
攻击者代价更大。
不易受“规模经济”的影响。
不足:
“无利害关系“(Nothing at stake)”攻击问题。
使用者:Ethereum(即将推出)、Peercoin、Nxt。
类型:有竞争共识。
解释:PoS是作为Pow的替代技术提出的,意在解决PoW的一些内在问题。PoS没有使用挖矿方法,而是用户必须具有系统中的一些权益(币)。因此,如果用户拥有10%的权益(代币),那么该用户挖掘下一个区块的可能性就是10%。
挖矿为解决计算上的挑战,需要运行各种加密计算,这需要耗费大量的算力。算力将转变为PoW所需的大量电能。据估计在2015年时,一个Bitcoin交易所需的电力,可达1.57个美国家庭一日所需的电力。PoS的提出是为了节约电力耗费。
在PoS中,一个美元就是一个美元。例如,假定有一万名每位每分钟花费1美元(一年8760万美元)的矿工,要比一位具有每分钟花费一万美元挖掘矿池能力的矿工拥有更少的哈希能力(Hashing Power)。但是在PoS中不支持一次用光所有算力,一美元就是一美元。因此PoS不易受“规模经济”的影响。
此外,攻击PoS系统也要比攻击PoW系统的代价更大。引用Vlad Zamfir的说法:
在PoS中,重复51%攻击的代价,可类比为每额外运行一轮,都会“烧毁你的ASIC农场”。
这意味着,每次攻击PoS系统,攻击者都会失去自己的权益。而在PoW中,攻击者不会丢失挖矿设备,或是代币。对PoW系统的攻击只会使攻击本身难以执行。
但是PoS会在“无厉害关系”上出问题。这种对多个区块历史(forks)投票的方式不会让区块生成器有任何损失,进而阻碍了达成共识。
在PoS中,你可以在区块链的双方押注资产(“无厉害关系”问题)。而在PoW中,你不能从链的两个方向同时挖矿,因为这难以实现。
不同于PoW系统(用户为扩展链必须做大量的计算),PoS在多个链上工作的代价很小。有一些项目试图通过多种方式解决这个问题(参见“扩展阅读”)。例如,一个解决方案就是上文所介绍的,对不好的验证者做惩罚。
3. 延迟工作量证明(dPoW,Delayed Proof-of-Work)
优点:
节能。
安全性增加。
可以通过非直接提供Bitcoin(或是其它任何安全链),添加价值到其它区块链,无需付出Bitcoin(或是其它任何安全链)交易的代价。
不足:
* 只有使用PoW或PoS的区块链,才能采用这种共识算法。
* 在“公证员激活”(Notaries Active)模式下,必须校准不同节点(公证员或正常节点)的哈希率,否则哈希率间的差异会爆炸(下文将给出详细解释)。
采用者:Komodo
类型:协同型共识(Collaborative consensus)
解释:dPoW是一种混合共识方法,允许一个区块链利用二个区块链的哈希算力(Hashing Power)所提供的安全。该机制是通过一组公证员节点(Notary Node)实现的。公证员节点实现将一个区块链的数据添加到二个区块链中。进而,二个区块链请求在两个区块链间达成妥协,弱化一个区块链的安全。Komodo是个使用该共识方法的区块链,它就是附加于Bitcoin区块链之上的。
作者:Vaibhav Saini
译者:盖磊
节选:infoq
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!