
区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。共识层主要封装网络节点的各类共识算法。如何在分布式系统中高效地达成共识是分布式计算领域的重要研究问题。正如社会系统中“民主”和“集中”的对立关系相似,决策权越分散的系统达成共识的效率越低、但系统稳定性和满意度越高;而决策权越集中的系统更易达成共识,但同时更易出现专制和独裁。区块链技术的核心优势之一就是能够在决策权高度分散的去中心化系统中使得各节点高效地针对区块数据的有效性达成共识。早期的比特币区块链采用高度依赖节点算力的工作量证明 (Proof of work, PoW) 机制来保证比特币网络分布式记账的一致性。
共识层主要包含共识演算法以及共识机制,能让高度去中心化的节点在去中心化的区块忘了中高效的真毒求快资料的有效性达成共识,是区块链的核心技术之一,也是区块链社群的治理机制。目前至少有数十种共识机制演算法,包含工作量证明、权益证明、权益授权证明、燃烧证明、重要性证明等。
把各类共识算法封装在区块链系统中,大家基于这类共识算法去实现一种证明机制,进而完成存储信息。在不同的区块链系统中,封装着不同的共识算法,证明机制也不相同。
常见的共识算法有这些:
POW:Proof of Work,工作证明,每一个节点都去竞争交易信息的存储记账权。
POS:Proof of Stake,股权证明,通过每个节点持有的比例来决定存储记账权。
DPOS:Delegated Proof of Stake,委任权益证明,又称受托人机制,每个节点投票产生n位代表 , 再由这n位代表去竞争交易信息的存储记账权。
随着区块链技术的发展和各种竞争币的相继涌现 , 研究者提出多种不依赖算力而能够达成共识的机制 , 例如点点币的权益证明 (Proof of stake, PoS) 共识和比特股发明的授权股份证明机制 (Delegated proof of stake, DPOS) 共识机制等。区块链共识层即封装了这些共识机制。例如以太坊,在一个高度自治的去中心化分布式系统中,如何使各节点达成共识是以太坊的核心内容,也是分布式系统所面临的不可避免的问题。以太坊采用了基于工作量证明的共识机制,让一个决策权分散的系统达成一致。各个节点通过算力竞争解决一个数学难题,并对第一个解决出来的节点进行奖励,从而促进整个网络实现算力竞争。在以太坊中使用的工作量证明哈希函数是Ethash,该哈希算法已经被证明没有有效的办法进行逆向运算,只能通过尝试求解。每一次的挖矿过程首先根据区块头中的难度系数计算出一个目标值,然后对区块头中的信息和一个随机数进行哈希,得到的哈希值小于目标值则认为挖矿成功,该随机数则是这次运算的解。因为哈希算法的特点,所以每次输入即使只有一位不同也会造成哈希值差异很大,因此通过哈希算法的不可逆性使该求解过程只与计算机算力有关。该求解过程虽然会消耗大量算力,但是对解的验证却十分简单,只需要进行一次哈希运算后与目标值进行比较便可校验。而攻击者倘若想要伪造区块信息并添加到区块链中,则需要联合全网51%的算力来同时进行伪造,因此通过工作量证明的共识机制实现了以太坊一致性的问题。
工作量证明 (Proof of work,PoW)共识:中本聪在其比特币奠基性论文中设计了PoW 共识机制 , 其核心思想是通过引入分布式节点的算力竞争来保证数据一致性和共识的安全性 。比特币系统中,各节点 ( 即矿工 ) 基于各自的计算机算力相互竞争来共同解决一个求解复杂但验证容易的 SHA256 数学难题 (即挖矿), 最快解决该难题的节点将获得区块记账权和系统自动生成的比特币奖励。该数学难题可表述为:根据当前难度值,通过搜索求解一个合适的随机数 (Nonce) 使得图1中区块头各元数据的双 SHA256 哈希值小于或等于目标哈希值。比特币系统通过灵活调整随机数搜索的难度值来控制区块的平均生成时间为 10 分钟左右。
相关导航


私钥/Private Key

供应链

IFO

不确定性原理

波段交易

跨链技术/ Cross-Chain
