非对称加密算法与哈希算法的一并运用构成了区块链系统最为重要的因素——共识算法,也称共识机制。区块链如果想达到去中心化的目的,就必须通过共识算法。因为区块链上记录的数据对所有人可见,而且很难否认和回溯性修改,所以彼此不认识并因此不信任的群体可以依赖这个新的数据结构来协调他们的活动。[8]最初的区块链都是公共区块链,参与者在无中心化的情况下分布式存在。[9]而在分布式存储的计算机系统中,实现参与者之间的信任是非常困难的。
区块链解决这一问题的方案,是为发送信息加入成本,降低信息传递的速率,并加入一个随机数以保证这一段时间内只有一个参与者(矿工)可以进行传播。它加入的成本就是“工作量”,区块链的每一个参与者都必须完成一个随机哈希算法的计算工作量才能向各城邦传播消息。[10]如前所述,区块链系统的各个节点进行分布式记账,通过哈希算法保证了每个交易区块信息传递的连续性与真实性,又通过非对称加密技术保证了信息传递的正确性与所有节点一致性。于是,各个节点对区块链系统内的所有信息与数据达成一致认识,而按照同一套协作策略行动,是为形成共识机制。
区块链的类型不同,其共识算法亦不同。因为参与者越分散,越没有权威的中心化机构存在,共识机制的形成越难。区块链系统的中心化程度越高,共识算法越简单,中心化程度越低,共识算法越复杂。因此,对于区块链的主要三种类型来说,公有链的共识算法最为复杂,相对而言,效率最低、资源消耗最大;私有链的共识算法最为简单、效率最高、资源消耗最小;联盟链居中。(www.daowen.com)
一般来说,公有链的共识算法为工作量证明(Proof of Work,POW)、权益证明(Proof of Stake,POS),比特币和以太坊分别采用上述两种共识算法。这种共识算法下的数字货币是工作量证明的表现形式。而对于不需要数字“代币”的联盟链或者私有链而言,共识算法大多采用较为传统的一致性算法,如拜占庭容错(PBFT)、Paxos、RAFT等等。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。