在区块链中,共识是指参与者就某一区块链状态达成共同的认识,相关机制即为共识机制。
为什么区块链存在共识,而微信、支付宝以及其他传统互联网应用领域,却没有这个名词?这是因为传统互联网是中心化的,而区块链不同。
例如,支付宝的一切规则,都是阿里巴巴事先制订,普通用户可以选择使用或不使用支付宝,但却不存在与阿里巴巴达成共识。但区块链却是去中心化的,并没有任何人或某个机构处于绝对的权力领导地位,整个网络状态的改变,都需要所有参与者在某种共同机制下达成相同认识,这就是共识机制。
想要构建行之有效的共识体制,就必须清楚共识的具体内容。
区块链中最多的共识内容,是关于信息传递的有效性。例如,比特币系统本质上是一种交易顺序共识,即哪一笔交易最先被系统确认为有效的。
另一个重要的共识内容,是所有参与者需要对最新的区块达成共识。例如,在某个区块链系统中,两个节点同时接收到一个区块,其中哪一方接收到的是有效的区块,也需要通过某种机制来形成最终答案,不能出现分歧。
类似的共识具体内容还有很多。包括区块的大小、内容、传输速度等,所有这些需要形成统一认识的集合,被统称为共识层。
当然,在具体的区块链应用中,仅靠共识层内容无法支撑运作,必须有大量非“共识层”内容。这一部分内容,整条区块链的参与者不需要再具体达成共同认识,而是在加入时就已经接受的。
如果用政治体制进行比喻,区块链的共识体制,接近联邦制度:所有组成国家的州(用户),都需要接受“联邦宪法”(共识层),每个州有自身独特的法律内容和制度(非共识层)。
那么,如何让共识层高效运作起来?这就需要共识机制积极发挥作用,在许多场合,共识机制又被称为共识算法。所谓共识机制或算法,就是通过具体的操作方法,来让参与者形成共同认识。
目前,区块链主要采用的共识机制有如下类型:
1.POW机制
Proof of Work,即工作量证明机制。
假设整个区块链网络中只有A、B、C、D四个人,为了获得记账权限,系统给他们四个人出一道题目。谁在第一时间发挥最大算力,算出了正确答案,就可以获得工作量证明并赢得记账权限。
该共识机制是区块链第一代共识机制,简单而言即“按劳取酬”。通过计算不同节点的计算机付出多少工作量,就能够获得多少“投票权”。在互联网中,工作量即指用户为网络提供的计算服务,能力越强,获得的收益越多。
这种机制相当复杂,需要设置很多细节。例如:工作难度自动调整、区块奖励逐步减半等。这些因素都是基于经济学原理设计,能够吸引和鼓励更多用户参与。理想状态下,这种机制能够吸引大量用户参与其中,尤其越是先参与者,获得越多,能够促使区块链应用产品的初始阶段迅速发展,节点网络增速加快。同时,每个人都能通过提供大小不同的算力获益,实现了相对公平。
另一方面,POW机制也有其缺陷:
首先,算力是计算机硬件提供的,需要耗费电力,会直接消耗大量能源,与人类追求节能、清洁、环保的发展理念相悖。此外,随着区块链的发展,用户开始使用GPU、FPGA乃至ASIC矿机来参与计算,由此算力的集中越来越明显。这与区块链去中心化的方向背道而驰。
2.POS机制
Proof of Stake,股权证明机制。
A、B、C、D四个人都不想花费算力,于是他们用手中现有的股权多少来模拟计算过程。谁的股权多,谁就有机会获得记账权限。
如果说算力机制基于按劳分配,那么POS机制则是按股权分配。在该机制的创始区块内,写明了股权分配比例,随后通过转让或交易方式,逐渐分散到用户手中。同时,通过“利息”的方式,实现对节点的奖励。(www.xing528.com)
简单而言,就是根据用户开启节点的多少和时间,决定其收益和权力的多少。这种机制类似于现实中的理财产品或银行存款。如果用户想要获得更多发言权或收益,就需要打开产品客户端,使其保持在线。
POS机制的优势在于:
节约能源。不需要进行原始的“挖矿”工作,对计算机硬件基本上没有太高要求,不需要大量耗费电力能源。
更为去中心化。由于不采用算力贡献多少作为标准,因此不会出现因为算力集中而导致中心化的出现,整个区块链网络更为安全而有保障。
不过,POS机制也有其缺陷。实践中,金钱投入越多的人,占据的“股权”也就越多,获得区块链中的记账权的概率就越大,容易产生另一种形式的中心化。此外,由于所有的确认都只是表达概念,存在遭受其他攻击的可能性。
3.DPOS机制
Delegated Proof of Stake:授权股权证明机制。
假设区块链的世界有了成千上万人,他们通过投票选举,选出了A、B、C、D四个人作为董事来行使记账权。记账过程中,四位董事各自有两秒钟时间记账。如果在规定时间内记账失败,则直接将权限交给下一位。这样,原本需要每个人参与的竞争,简化成为四个人。
DPOS最大的特点,在于将传统的POW机制和POS机制加以结合,并通过科技基础上的网络民主,抵消中心化可能产生的负面效应。
这种机制将区块链网络看作无人控制的公司,该公司发行股份并产生“利润”(记账权限),随后将“利润”(记账权限)分配给“股东”(节点)。
在该机制中,由全体节点投票,选举出一定数量的节点代表,并由它们代理全体节点对区块加以确认,并维持系统的有序运行。
不妨将DPOS机制看作董事会投票,该机制中拥有内置的实时股权人投票系统,如同系统随时在召开永不散会的股东大会。全体节点在这样的股东大会中,都具有随时罢免和任免代表的权力。如果必要,全体节点可以通过投票,让现任节点代表失去代表资格,并重新选举新的代表,实现实时的民主共识制度。
由于上述过程都是被硬编码到软件中,因此在执行过程中不需要再去验证任何人的信任度。
这种机制的优势在于:
消耗能源更少。DPOS机制进一步将节点数量减少,在能够保证网络安全的同时,进一步降低整个网络的能耗,运行成本被控制到最低。
更加去中心化。对于类似比特币这样的大型区块链应用,个人算力的运用已经并不现实,主要算力都被集中起来,形成事实上的中心化。同样,POS要求用户始终在线,但事实上没有多少用户会真正天天开着电脑,依然被大“股东”所控制。相比之下,DPOS的去中心化程度更高。
更快运算速度。区块链中,每个区块的运算时间为10秒,一笔交易大概需要1分钟。在DPOS机制中,一个完整的101个区块的周期,大概只需要16分钟。相比之下,POW机制产生一个区块需要10分钟,一笔交易完成需要1个小时。POS机制确认一笔交易,也需要同样时间。
当然,DPOS同样存在缺陷。
例如,该机制中投票的积极性并不高,许多应用中,90%以上的持股用户并没有参与过投票。因为投票需要时间、精力和专业技能,大多数用户并不具备。此外,在选举过程中,需要及时有效地防止破坏节点的出现,而这种处理存在一定的困难。
除了上述三种机制外,还有PBFT(使用拜占庭容错算法)、POI(重要度证明共识算法)和POP(将POI和DPOS的思想结合算法)等。除了POW已经在将近十年的运行中,表现出劣势之外,究竟哪一种共识机制更好,还有待时间的验证。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。