侵权投诉
订阅
纠错
加入自媒体

共识机制:区块链技术的根基

2018-09-19 09:34
来源: 巴比特

矿工的中心化

由于能耗问题,工作量证明也转向便宜电力能源作为解决方案。然而,主要的问题是比特币大矿工数量的增加。在一定时间内,大矿工会因为拥有大量算力,而尝试对挖矿系统制定新规则。这样会造成一个去中心化网络中逐渐中心化。这也是工作量证明共识机制面临的另外一个重大问题。

什么是51%攻击?

这是一个由可以控制大多数用户,或者占领多数挖矿能力的人(或节点、或群体)发动的攻击。在这种情形下, 攻击者有足够的算力去控制网络中的一切。

举例,想象一个情形,当Alice向Bob通过区块链网络发送一些加密货币,然而Alice被卷入这场攻击中,而Bob没有。这个转账交易虽然发生了,但是攻击者通过区块链的分叉,阻止了任何加密货币的转账。

另外一个情形,矿工如果加入了其中一个阵营,他们绝对算力会继续在这些区块后产生验证区块,这也是为什么更加短的区块链会被拒绝验证。同样,Bob也无法接收转账。

Proof of Stake权益证明

什么是权益证明?

权益证明的产生就是为了解决工作量证明的缺陷。在网络中加入其它区块之前,每一个区块将被验证。链如果有任何一点的扭曲,矿工可以用持有的加密货币对挖矿过程进行投票。

权益证明是一种允许每个个体,根据他们持有的加密货币数量,参与挖矿或者验证区块的共识机制。因此,在这种情形下,你拥有的加密货币数量越多,意味着你的权益越大。

这是如何工作的?

这种共识机制中,少数派被优先选择。尽管整个流程是完全随机的,但也不是每一个少数派都能参与投票。网络中的矿工是随机被选择的。

如果你有一定数量的加密货币存储在钱包中,你将有资格成为网络中的一个节点。当成为一个节点后,如果你想要成为一个矿工,你需要抵押一定数量的加密数字货币,然后投票系统选出验证者,这是矿工必须将按照最少要求数量的加密货币抵押到一个特殊的钱包中。

整个过程很简单。新区块将根据特殊钱包中的加密货币的数量比例产生。例如,如果你拥有10%的加密货币,那么你拥有10%机会挖出新区块。许多区块链项目采用不同的权益共识机制。

然而所有的权益共识机制对于新区块产生都是一样的,每一个矿工都将获得区块奖励以及一定数量的交易手续费。

权益证明池里将会发生什么?

还有其他方式参与投票,如果权益数量太多,你可以加入一个池然后从中获取收益。有以下两种方式:

你可以将你持有的加密货币借给池子里要参与的用户,然后分享收益。然而,你需要找到一个可靠的人去将你手中的币给他。

你可以自己加入一个池子,参与这个池子的每个人将根据他们权益的数量分享收益。

权益证明:优势?

这种共识机制不需要任何硬件支持。你只需要一个运行正常的计算机系统,以及一个稳定的网络即可。网络中拥有足够加密货币的任何人都可以验证交易。

如果一个人在网络中进行投资,他的投资不会贬值或者折旧。能影响收益的唯一因素就是加密货币的价格波动。权益证明共识机制的区块链比工作量证明更加节能,它不会消耗大量资源。

能够减少51%攻击的威胁。

尽管权益证明看起来比工作量证明更加合算,但仍然有一个很大的缺点,就是不是完全去中心化。这是由于只有一部分节点能够参与网络投票。而拥有最多数量加密货币的人将最终控制大部分系统。

采用权益证明的主要加密货币

PIVX

这是一个几乎0交易费的匿名币。PIVX是从DASH分叉出来的,然而不同于DASH采用工作量证明,PIVX采用权益证明。他们用分布式区块的主节点来保证更好的投票效果。如果你想要拥有PIVX,你必须下载官方钱包,然后同步于区块链网络中,接着,你必须往钱包中转入一些加密货币,然后保持连接。

NavCoin

许多加密货币是比特币的分叉币,NavCoin也是其中之一,这个项目是完全开源的,他们也转向了权益证明。为了最大化收益,你的计算机需要更长时间连接网络。由于权益证明异常轻量级,你可以毫不担心地任其运行更长时间。

Stratis

他们主要提供企业级服务,企业可以使用Stratis去建立自己的dApps,而不用搭建自己底层的区块链网络。Stratis这个平台提供侧链进行搭建app,从而阻止网络滞后。虽然他们以工作量证明开始,但是最终将转向权益证明。 Delegated Proof-of-Stake Consensus委托权益证明共识

委托权益证明是权益证明的变体。系统具有相当的鲁棒性,然后往整体增加了一个不同形式的弹性机制。

如果你想要快速、有效率、去中心化共识机制,那么委托权益证明将会是最好的选择。权益拥有者的事项将通过一种民主的方式得到完全解决。网络中的每一个组件将成为一个代理。

不同于矿工或者验证者,这里的节点被成为代理者。通过决定区块产生,系统可以以秒级处理交易。而且,系统被设计成可以对所有监管问题进行保护和对抗。

见证者验证所有签名

通常,见证者免于所有监管以及其他中性词。传统合约中的标准见证者都会对一个特殊的点进行见证验证。他们仅仅是保证个体在一个特点时间参与了合约。

在DPOS中,见证者可以产生区块信息。顶级见证者要投票选出。通常只有完全去中心化系统中才会发生这种投票。

所有的见证者都会在产生区块后收到报酬。这个报酬的比例由投票系统事先制定。

投票选择代理者中的特殊参数改变

跟见证者一样,代理者也由投票产生。代理者可以改变整个网络的参数。你可以通过代理者,去改变手续费、出块时间、区块大小和见证者报酬。如果要改变网络参数,需要大多数代理者都参与投票支持。然而,代理者不会像见证者获得报酬。

改变原有的规则

为了使系统平稳运行,不时需要加入一些不同的功能。然而,无法在缺少潜在相关者的情况下添加功能。见证者可以聚集起来,改变政策,但是他们被系统限定不能如此。 见证者需要保持中立,以及他们仅仅是作为利益相关者的雇员。所以,所有事项都由利益相关者决定。

双花攻击风险

在DPOS中,双花攻击风险被最大程度降低。双花攻击是指区块链网络无法包含数据库中之前的交易记录。网络可以在无人帮助的情况下进行自我检查,然后发现类似的损失。通过这种方式,来保证数据库的100%透明。

权益证明下的交易完成

尽管这是权益证明的一个变体,但核心交易系统仍然是整个运行在权益证明机制上的。权益证明的交易流程增加一个保护层对抗错误的共识系统。

谁采用委托权益证明?

LISK,为开发者可以在这个区块链平台上,便利地开发基于JavaScript的去中心化应用。

Lisk跟以太坊有很多相似的地方,然而,它采用委托权益证明而非权益证明。这里的投票运行机制不一样。 Leased Proof-Of-Stake (LPoS) 租用权益证明

权益证明的另外一个变体是租用权益证明。采用这个新型共识机制的区块链项目是Waves平台。就像其他区块链平台一样,Waves也是属于能耗少的。权益证明对于投票机制存在一些限制。拥有少量加密货币的个体可能永远也无法实际参与投票环节。为了维持网络运行,只有少数拥有更多加密货币的个体可以参与。这个流程会导致在一个去中心化平台中存在中心化团体,这显然不是大家愿意看到的。

在租用权益证明中,即使拥有少量加密货币的持币者也能有机会参与投票。他们可以把手中的币借给网络,然后从中获取收益。引入新型的租用权益证明后,情况完全变化了。系统之前的缺陷可以毫无难度地得到解决。Waves平台最主要的目的就是顾及少数的投资者。那些只拥有少量加密货币在钱包中的人可能永远都无法像大户一样有机会获取收益。这也导致了共识机制一个主要命题——透明性。 Proof of Elapsed Time (PoET) 过去时间证明

过去时间证明是最好的共识机制之一。这个特殊的机制被主要用于联盟链网络——即你需要得到许可才能加入这个网络中。这些可允许网络需要对挖矿权利或投票原则等事项进行决策。为了一切顺利运行,过去时间证明采用一个特殊的手段来覆盖整个网络的透明性。这个共识机制同时能够保证系统的安全登录,在成为矿工前网络需要进行验证。毋庸置疑,在这个共识机制下,挑选出胜者只能依靠公平手段。

这个牛逼的共识序列的主要战略是什么?

网络中每一个个体必须等待一定量的时间,然而时间的限制是完全随机的。

参与者必须完成TA的等待时间后,才能在账本中创造新的区块。

为了证实这些场景共识机制必须考虑以下两点

胜者是否首先就选择了随机数?TA能否选择一个短时间的随机数然后就获胜

个体是否真的完成TA被分配的等待时间?

过去时间证明依靠一个特殊的CPU设备——Intel软件保护扩展。这个设备能够在网络中运行特殊的代码,过去时间证明就是采用这个系统来保证胜局完全公平。

Intel SGX系统

由于过去时间共识机制采用SGX系统来验证公平性。我们来详细说一下这个系统。

首先,一个特殊的硬件系统创造一个认证来使用特殊可信任的代码。代码是在一个安全的环境中产生的。任何外界都可以用这个认证来验证是否被篡改。

第二,这些代码是在网络中的隔绝区域中运行的,没有人可以连接到。

第一个步骤能够证明你是在网络中真实地使用可信代码,而不是随机的把戏。如果步骤一不能够正常运行,主网络甚至无法发现。 第二个步骤阻止任何用户通过认为TA在运行代码从而操纵系统。步骤二保证了共识机制的安全性。

可信任代码

简单地罗列出代码的要点

加入区块链网络

一个新用户首先需要下载区块链中可信任的代码

开启后,他们会获得一个特殊的钥匙对

运行这个钥匙对,用户就可以发送SGX认证到网络中,请求通过

参与乐透系统

个体将会从可信代码源中得到一个已经签名的计时器。之后,个体将需要等待,直到时间完全消耗掉。最后,这个个体将会得到一个完成任务的资格。

协议同时保证了基于SGX不同层级的保护。系统将计算一个用户需要多少次才能赢得一次乐透。通过这样,他们将得知个人用户的SGX是否被损害了。 Practical Byzantine Fault Tolerance (PBFT) 实用拜占庭容错

PBFT主要用于状态机,它复制系统,但是又可以免于拜占庭将军问题。如何做到的?

PBFT一开始就假设网络中存在潜在的错误,以及一些独立的节点将在某些特定时间失灵。

PBFT就是为异步共识系统所设计的,而且进一步优化,通过一种高效的方式去解决所有问题。系统中的所有节点都按照特殊的顺序进行设置。其中一个节点被选为最初的一个,其他作为备选方案。然而系统中所有的节点都有序地运行,之间也能够彼此沟通。

沟通层设置得相当高级,因为节点间想要验证系统中的每一个信息。而这个设置可以避免不可靠信息问题。

然而,通过这种方式,甚至一个节点被损害了,他们也能够发现。所有的节点将通过大多数投票来达成一致。

共识机制的优点

这个模型最初是为了实际应用所设计的,非常容易应用。因此PBFT在所有共识机制中都占据优势。

不需要验证

网络中的交易运行跟别的系统有点区别。它可以使一笔交易最后落实,而不需要像POW系统那样进行验证。如果节点在某个区块上达成一致,则这笔交易就算最终完成。这是基于所有可信的节点在同一时间进行了相互沟通后,然后对某一区块都有认知这一事实。

减少能源消耗

PBFT可以比POW减少大量能源消耗。在POW中,每一个区块产生都需要一个POW解题循环。然而,PBFT中,不是每一个矿工都在解决哈希算法。这就是为什么PBFT系统不用耗用如此多的算力。

系统的缺点

沟通的缺口

PBFT中最重要的因素就是节点间的沟通,系统中的每一个节点都必须保证他们收集的信息是可靠的。然而,共识机制仅在一小部分节点中得到有效运行。

如果节点数量增加到一定程度,系统将难以追踪所有的节点,也无法与每一个节点都有单独联系。

有论文提出用MACs以及其他数字签名来证明信息的真实性。但有说法认为,MACs无法处理区块链网络系统,使用它最终会造成重大的损失。

数字签名是个好主意,但是维持所有沟通节点的安全性,将会随着节点数量增加,变得越来越难。

女巫攻击

PBFT相当容易遭受女巫攻击。在女巫攻击中,通过操纵一定数量的节点,来损害整个网络。更庞大的网络情形将更加糟糕,同时系统的扩展性也会降低。

如果可以将PBFT跟其他共识机制一起使用,它们可能可会得到非常稳固安全的连击措施。 Simplified Byzantine Fault Tolerance (SBFT) 简易拜占庭容错

SBFT的系统运行有点不一样。

第一,区块生成器将一次性收集所有的交易,把他们放进一个新区块后,再进行验证。简单地说,一个区块将收集所有的交易,按照顺序将他们放进另外一个区块后,再对他们进行验证。区块生成器采用一定的规则,能够使所有节点都验证所有交易。

接着,一个区块授权节点(singer)将再验证所有交易后,然后为他们添加属于他们自己的签名。这就是为什么如果任何区块缺少一个签名都将被拒绝。

简易拜占庭容错的不同阶段

整个流程从创造阶段开始,资产的用户将生成一定数量独特的资产ID。

接着,在提交阶段,用户向平台提交所有ID。

然后,验证阶段,ID将获得实际用例的特定条件。

一旦他们获得签名,ID将被存储和发送至不同账户中。交易将由智能合约开启。

最后,交易被激活。

这个优秀系统另外一个非常有趣的功能是账户经理,这个账户经理将涉及许多阶段。最初的目标是将所有的资产进行安全地存储。账户经理也存储着所有的交易数据,这个经理可为不同用户覆盖所有类型的组合式数据。

你可以把这个当做数字钱包。通过使用数字钱包,你可以从钱包中转移你的资产,然后重新获得他们以及收益。你可以通过智能合约来使用账户经理,当需要满足某些要求的时候,他可以释放资金。

资产的所有权将流向何方?他们使用了一个推动模型,你可以将赚取的资产发送至这个模型包含地址和资产ID。

<上一页  1  2  3  下一页>  
声明: 本文系OFweek根据授权转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

物联网 猎头职位 更多
扫码关注公众号
OFweek物联网
获取更多精彩内容
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号