当前位置: 币圈 / 头条新闻

区块链

区块链核心技巧——共鸣算法最全清点

发布于: 2018-08-20 21:59


共识算法是所有区块链/DAG技术的基础,他们也是区块链/DAG平台最重要的组成部分。没有它们(共识算法机制),我们就只会有个无法改变的数据库而已。下面是主要共识算法的列表,而且我们可以评估它们的好处和坏处。



01

工作量证明 (PoW)

好处:
自从2009年开始,就可以进行了测试,到如今仍然很稳定。


坏处:
速度很慢。
消耗大量的能源,并且对环境不好。
容易受到规模经济的影响。


类型:竞争性共识算法。


解释:这是第一个共识算法机制(中本聪在他的文章中提出)来创建分布式无需信任的共识,并且解决双花问题。工作量证明不是一个新的想法,但是中本聪将这个和其他的概念- 加密签名,默克尔树以及P2P网络结合起来- 从而形成了分布式共识系统,其中数字货币是首个基础应用,这充满创新。


区块链中的参与者(矿工)必须要解决复杂但是无用的计算问题,从而将转账区块加入到区块链上。

基本上,这是来保证矿工花费成本/资源(矿机)来完成这项工作,从而表示他们不会欺骗区块链系统,并且对系统造成伤害,会导致他们损失自己的投资;因此伤害他们自己。


这个问题的难度会随着时间改变,这是为了保证恒定的区块生成时间。有时候会发生一种情况,其中有超过一个矿工在同时解决这个问题。在那种情况下,矿工会选择其中一个链,而且最长的链会是获胜者。所以假设大多数矿工在挖一个链,那么这条链就会发展最快,并且是最值得信任的。因此只要50%的矿工是诚实的,那么比特币就是安全的。


02

权益证明

好处:
能源利用效率高。
攻击成本更高。
不容易受到经济规模的影响。


坏处:
无利害关系攻击。


类型:竞争性共识算法。


解释:权益证明是工作量证明的替代方案,为了解决其中的问题。和挖矿不同,你需要在系统中持有权益(代币)。所以,如果你只有10%的代币,那么你挖出下个区块的概率为10%。


挖矿需要很多的算力来解决不同的加密计算,从而解锁这些加密难题。算力意味着,工作量算法需要大量的电力需求。在2015年,1个比特币大约需要1.57个美国家庭每天的耗电量。所以,为了节省能源,权益证明算法诞生了。


在权益证明中,一美金是一美金。例如,假设有10,000个矿工,每个人花费1美金/分钟,就会比矿池花费10,000美金/分钟拥有更少的算力。但是在权益证明中,如果你不能一次使用完全。这里的一美金还是一美金。因此,这不会受到经济规模的影响。


并且,攻击权益证明系统比攻击工作量证明系统更加昂贵。对权益证明进行51%攻击的代价,是要让所有ASIC矿机全部倒下。

这意味着,每次你攻击权益证明系统,都会失去权益抵押,但是在工作量证明,如果你攻击系统,但是你不会失去挖矿设备或者代币;你只不过是让攻击很难实施。


但是权益证明会出现个问题,就是无利害关系攻击问题,其中区块生成者通过向多个区块链进行投票,就不会损失任何东西,从而防止达成共识。

不像工作量证明系统(你需要做大量计算来扩展一个链),同时为挖几个链也只有很少的成本。很多项目尝试通过不同方案来解决这个问题。例如,上面所说,其中一个解决方案就惩罚做坏事的矿工。


03

委托工作量证明(DPOW)

好处:
节能环保。
提高安全性。
可以通过非直接地给比特币(或者任何其他安全的链)提供安全性。


坏处:
只有使用工作量证明或者权益证明。
在公证员激活模式下,不同节点的哈希算力必须要标定,不然哈希算力之间的区别会爆炸。(以下会有更多的解释)


类型:合作型共识


解释:委托工作量证明是混合型共识方法,可以让一个区块链能够利用第二个区块链通过哈希算力提供的安全性。这是通过很多能够将数据从第一个区块链加到第二个区块链的节点来完成的,这通常会要求两个区块链进行进行妥协,从而削弱第一个区块链的安全性。



基于委托工作量证明算法的区块链可以使用工作量证明或者权益证明方法来实现功能;并且它能够将自身依附于任何工作量证明的区块链。但是,比特币的哈希力现在已经为通过委托工作量证明进行安全保护的区块链,提供了最高级别的安全保护。下面的图例,显示了主要区块链和它所依附的工作量证明区块链之间的关系:



在委托工作量证明系统中,有两类节点:公证人节点和普通节点。64个公证人节点是通过委托工作量证明的区块链权益持有者选出的,然后将确认的区块从委托工作量证明区块链添加到依附的工作量证明区块链。一旦区块完成,它的哈希就会通过33个公证人节点签名,然后添加到比特币转账,从而在比特币区块链上记录下委托工作量证明的区块哈希,这也是被网络中大多数公证人节点所公正的。


为了防止矿工在公证人节点之间,这会降低网络的效率,所以设计了一种以两种模式运行的轮换挖矿方法。“无公证人”模式可以让整个网络节点来进行挖矿,和普通的工作量证明类似;但是,在公证人活跃模式下,网络公证人就会在降低困难度的情况下进行挖矿。在这个框架中,每个公证人都可以目前的困难度去挖矿,但是其他公证人节点必须要按照10倍的难度去挖矿,而且所有的普通节点会按照100倍的困难度去挖矿。



但是这会造成些问题。这会导致公证人矿工和普通矿工哈希算力的巨大差别:


委托工作量证明系统的设计,是让区块链可以继续在没有公证人节点的情况下进行运作。在这种情况下,委托工作量证明区块链可以根据初始的共识方法运行,但是,它就不会拥有依附区块链的安全性。


委托工作量证明,会让任何使用这种共识的区块链获得更高的安全性以及更低的能源消耗。而且,委托工作量证明可以通过间接地为主流提供比特币的安全性,并且还需要支付比特币装置。最后,公证人节点和普通节点的功能,可以确保初始的共识机制继续在这类情况下运行,哪怕公证人节点失去作用。这个相互依靠性,为其他网络提供了激励,来支持比特币网络的维护,而且还不用让整个网络完全依附于直接的功能。


04

委托权益证明(DPOS)

好处:
能源效率高,节能。
速度很快。


坏处:
更加中心化。
拥有高代币权益的人,可以投票让他们自己成为验证者。


类型:合作型共识算法。


解释:在DPoS算法中,权益持有者可以在系统中选择领导者(见证者),他们可以代替别人进行投票。这就会比一般的权益证明算法要更快。


例如,在EOS中,21个见证者会选举出来,然后一些节点(潜在的见证者)会作为候选人,然后如果某个见证者节点掉线或者有任何欺诈行为,那么就会被立刻替换。见证者生成区块,然后会获得回报。这些费用也是由权益持有者决定的。


通常,所有产生区块的节点是轮换的。这就会防止有节点来发布很多的区块,防止他发出双花攻击。如果见证者没有在时间限制内产生区块,那么这部分时间段就会跳过,然后下个见证者就会生产下个区块。如果有见证者连续错过区块或者发布无效转账,那么权益持有者就可以投票让他出局,然后找更好的见证者来替代他。


在DPoS中,矿工会合作来产生区块,而不是像工作量证明或者权益证明。通过部分中心化来创建区块,DPoS算法可以比其他共识算法的速度快几个数量级。


05

权威证明

好处:
节能省电。
速度快。


坏处:
比较中心化。可以在公链使用,但是通常在私有链和许可区块链使用。


类型:合作型共识。


解释:在基于权威证明的网络中,转账和区块都是通过允许的账户来验证的,他们被称为验证者。验证者运行软件,可以让他们将转账放入区块中。这个过程是自动化的,而且不需要验证者去一直盯着电脑。但是,它需要维护计算机(权威的节点)不被攻击。


验证者必须要能够满足的三个主要条件是:


1.身份必须是正式在链上认证,同时也可以在公开的域名中进行信息的交叉检测。


2.这个资格很难获得,并且很难正确地去验证区块。(潜在的验证者需要获得公开认证)


3.在检车过程中,必须要有完整的统一性,从而建立权威。


通过权威验证的个人,可以有权来成为验证者,所以对于验证者来说,系统会有激励。通过将名誉和身份连接,验证者就会被激励去处理转账流程,因为他们不希望获得负面的影响,因为这会失去很难获得的验证者身份。


06

权重证明

好处:
节能省电。

很高的定制化和扩容性。


坏处:
激励制度很困难。


类型:竞争类共识。


解释:权重证明的主要想法是。因为在权益证明系统中,你持有代币的比例代表你发现下个区块的概率,但是在权重证明系统中,其他相关的权重也会使用。有些应用是声望证明和空间证明。


07

声望证明

好处:
对于私有和限制性区块链网络很好。


坏处:
只能在私有链和许可区块链系统中使用。


类型:合作类型共识。


解释:声望证明算法模型取决于参与者的声望,来保持网络的安全。参与者(区块签署者)必须要有足够重要的声望,如果他们想要欺骗系统,就会获得非常严重的财务和品牌后果。这是个相对的概念,因为大多数企业如果在被抓到欺骗后,都会觉得很难过,但是更大的企业会失去更多,因此会比小公司更可能获选。


一旦公司证明了自己的声望,并且通过了验证,他们或许会通过网络的选举,成为合格的节点,就像权威证明中那样,只有认证过的节点才有资格去签署和验证区块。


08

消逝时间证明

好处:
参与者成本低。因此更多人可以很容易地参与,从而去中心化。
对于参与者来说,很容易去验证领导者是合法选出的。
控制领导者选举流程是和获得的利益成正比的。


坏处:
尽管很便宜,你需要使用特定的硬件。因此不能大规模采用。
不适合公链。


类型:竞争性共识。


解释:消逝时间证明算法通常使用在许可区块链网络,从而可以决定挖矿权或者区块获胜者。许可区块链网络是需要特定参与者认证,才能加入的区块链。基于这种系统的原则,每单个节点就会成为胜者,消逝时间证明机制是基于在最大可能的网络参与者中,传播分享公平获胜的机会。


消逝时间证明算法的流程如下。网络中每个参与节点都要求等到随机的时间段,并且第一个完成指定等待时间的人就会赢得新区块。每个节点都会有随机的等待时间,然后进行休眠。第一个苏醒的,也就是有最短的等待时间,就可以产生新的区块,并且在整个网络中广播必要的信息。同样的过程会重复为发现下个区块。


消逝时间证明网络公示机制需要确保两个重要的因素。首先,参与的节点选择的时间是随机的,不会因为想赢,节点就可以选择更短的时间,其次是获胜者必须要完成等待时间。


消逝时间证明的概念是在2016年早期由英特尔提出,我们都知道它是著名的芯片生产制造巨头。它提供了高科技工具来解决了计算问题“随机领导者选择。”


这个机制可以让参与者在受到保护的环境下,执行可信的代码,而且可以保证下面两个需求,对于所有参与节点来说,随机选择等待时间,获胜的参与者会完成等待时间。


在安全的环境下运行可信节点的机制,也会考虑到网络中很多其他的需求。它保证了可信代码确实是在可信的环境下运行,而且不会被任何外部人员修改。它也保证了,结果是可被外部参与者和个体所验证的,因此强调了网络共识的透明度。


消逝时间证明控制了共识过程的成本,并且保证灵活,从而在整个过程中,价值和成本成正比,这是数字货币经济能够持续下去的关键需求。


09

能力证明,即空间证明

好处:
类似工作量证明,但是使用空间而不是算力。因此更加环保。
可以删除恶意软件,通过决定是否处理器的L1内存是否是空的(例如,有足够的空间来评估,不会错过任何的内存)或者包含一个可以防止被驱逐。
可以用作防止欺诈的手段,并且防止服务器攻击。


坏处:
激励制度是个问题。


类型:合作共识。


解释:空间证明,也被称为能力证明,是展示有人对于某个服务有合法的兴趣(例如发送邮件),这是通过部署一定量的记忆存储或者磁盘空间,来解决服务提供者给出的问题。


空间证明和工作量证明很类似,除了前者不是用算力,而是存储能力。空间证明和记忆容量和可恢复性证明相关,但是其中也有不同。


空间证明是证明者发给验证者的一部分数据,来证明这个验证者收到了部分空间。


空间证明看起来更加公平,由于存储的目标和更低的能源损耗,看起来是更好的解决方案。


10

历史证明

解释:这个共识的想法是,和相信转账时间戳不同,你可以证明转账会在这个事件的前后某个时间发生。


当你在纽约时间记录下的时候,你可以给出证明你的照片是在这个报纸发布之后才记录,或者你有些方式来影响纽约时报发布信息。通过历史证明,你可以创建历史记录,从而证明这件事发生在每个特定的时刻。



历史证明会有高频的验证延迟功能。验证性延迟功能需要特定的步骤来评估,然后产品特别的输出,这个可以被有效和公开的验证。


这个特定的方式使用了连续的预图像抗性哈希,可以和之前的输出作为下个输入,然后连续运行。周期性地,计数和目前的输出是被记录的。


对于SHA256哈希的功能,这个过程是不可能和使用2¹²⁸强制攻击同时进行的。


然后我们可以确认,在生成过程中,真正的时间已经流失了。并且这个记录顺序和真实时间相同。


11

权益流通证明

解释:权益流通证明可以作为工作量证明和权益证明的替代解决方案,来让P2P网络得到安全保证。权益流通证明的设计是用来鼓励拥有权和行为。


-->

本文地址:http://biiquan.com/article/39516

0 个评论

要回复文章请先登录注册