五分钟带你快速了解区块链共识
我们平时老是说区块链是去中心化的,那到底区块链哪方面是去中心化呢?
区块链的共识机制是去中心化的。
简单的说共识机制就是让大家达成一致看法的方法。
在说区块链共识机制之前我们要先了解一个问题:为什么要共识机制?
区块链是通过所有的节点记账来解决信任问题的。所有节点都记录数据,但是最终的数据以谁的记录为准,这是一个问题。
在传统的中心化系统中是以最有权威的中心化节点来作为标准的。但是在区块链这种去中心化的系统中,该以谁的记录为标准呢?
在区块链系统中,由于所有的节点都记录数据,且各个节点所处的网络环境各不相同,而交易信息的传递又需要时间,因此每个节点传输和接受时间都不太一致 。除此之外,区块链的参与者难以控制,节点传来的信息可能是恶意信息。
因此如何设计共识机制让区块链去记录正确的信息 ,而且能够让大家相信信息是真的。这是区块链设计者必须要考虑的问题。
那么区块链有哪些共识的机制呢?
工作量证明(PoW Proof of Work)共识
PoW机制 是目前区块链平台采用最多的共识机制,比特币所采用的就是PoW共识机制,也有其他类似的项目(比如莱特币)使用的是变种PoW机制。
这类算法的核心是所有参与记账的节点平等地竞争记账权,但是需要去进行计算求得一个“数值”,只有能求得这个“数值”的节点挖出的区块才算有效的。
PoW的算法需要求得的“数值”具有如下的特点:
1,“数值”很难算出,但是很容易验证答案的正确性。同时算出这个数值的难度是可以通过调节网络的参数来进行调整。这样就能控制区块的增长速度。
2,算出“数值”的节点能够以更快的速度将该消息通知到其他节点,并且得到其他节点的验证。
根据以上两个特点,加上“最长链有效” 原则(区块链中最长的一条链被认为是真正的链),就能够在大多数节点是诚实的情况下避免恶意节点的攻击。
在诚实节点占全网50%以上的时候,下一个大概率区块也是诚实的。这样保证了区块链记账的安全性,正确性。
计算这个数值的过程就被称为挖矿。
为了鼓励区块链能够不断的记账,系统会给每个有效区块的生成者一定的奖励。也就是能够挖到相应的数字资产。
这种算法保证了公平,去中心化,但是却需要消耗很多能源。基于此,一种新的共识算法——PoS类共识算法诞生。
权益证明(PoS Proof of Stake)共识
PoW是目前区块链平台采用最多的共识机制,虽然非常可靠,安全,但是对能源却是一种巨大的消耗,在这种环境下PoS共识机制被提出。
PoS共识算法是根据你持有的全部代币数量和时间,在你挖矿的时候进行算力加权。假如说你持有50个币,每天产生1币龄,如果持有30天就有1500币龄。挖矿难度有币龄加权,币龄越高越容易挖矿。但是获得奖励后币龄被清空,再进入下一轮挖矿。币龄被清空之后可以获得一部分利息。
与PoW(Proof of Work,工作量证明)相比,PoS在一定程度上缩短了共识的达成时间,也不再需要消耗大量能源挖矿,而且更难进行51%攻击。
但是,PoS机制也有一些自己的问题,比如它容易出现双重支付攻击问题。早期持币者可能会成为后来者参与的障碍,极端情况下则可能出现严重的“贫富差距”和依附其上的过度中心化。
除此之外,主流共识机制中还有PoS共识衍生的DPoS共识,以及BFT共识,下一章,小编将为你一一道来。
作者:Jayceon Jiang
编辑:El Caballo