区块链共识机制介绍

作者:qinyutong、chengyueqiang

共识机制(Consensus Mechanism)是区块链事务达成分布式共识的算法,随着区块链这一技术不断被推广,共识机制作为区块链的核心,也愈加受到人们的关注。共识机制在保护数据的一致性方面具有重要作用。本文选取了 8 种常用的共识机制,根据机制的原理、运行过程中的角色、算法流程以及优缺点等方面,对工作量证明、权益证明、容量证明等机制进行详细介绍。同时,文章也对相似的机制进行对比分析。从而加深人们对共识机制的了解,加速区块链技术的发展。

 

1   引言

 

区块链是比特币的底层技术,类似于数据库账本,而共识机制是去中心化的分布式账本中的规则核心,决定了区块链的安全性、可扩展性和去中心化程度等许多重要特性。

共识机制是指以去中心化的方式就网络的状态达成统一协议的过程。也被称为共识算法,有助于验证和验证信息被添加到分类账簿,确保只有真实的事务记录在区块链上 [12]。因此,共识机制负责安全地更新分布式网络中的数据状态。已经硬编码到协议中的规则确保在全球计算机网络中总是能找到唯一的数据来源并达成一致。这些规则保护整个网络,实现无需信任的网络,而无需中央数据或中介。

共识机制是决定按照哪一个参与节点记账,和确保交易安全完成的重要手段。[8] 共识机制需要平衡效率和安全的关系,安全措施越复杂,相应的处理时间越慢。而想要提高处理速度,简化安全措施的复杂度是非常重要的一步。

共识机制同时满足一致性和有效性。一致性是指所有诚实节点保存的区块链前缀部分完全相同,而有效性是指由某诚实节点发布的信息终将被其他所有诚实节点记录在自己的区块中 [11]。共识机制确保区块链是容错的,因此是可靠和一致的。与中心化系统不同,用户不必信任系统中的任何人,区块链共识机制中嵌入的协议规则可以确保只有有效和真实的交易才可以被记在公共透明的账簿中,嵌入网络的协议规则保证了公共分类帐的状态总是随着大众的共识变换而更新。

区块链的去中心化的一个重要优势是分配授权,任何人都能在同一个基础上参与进来。而共识机制可以确保区块链不存在区别对待,从而达到公平分配。由于公共区块链具有开源这一特性,使任何人都可以监督并验证底层源代码对网络中的所有参与者是否公平 [7]。

共识机制可以通过激励好的行为,在某些情况下,惩罚坏的行为者来实现这一点。例如在工作量证明这一机制中,通过奖励比特币给矿工这一方式,奖励他们每一笔交易的担保和验证。任何运算和安全维护都需要大量的算力和钱财,而共识机制可以使这些资源将更好地用于为系统工作,而不是针对系统。

常见的共识机制有:PoW(工作量证明)、PoS(权益证明)、DPoS(委任权益证明)、PBFT(实用拜占庭容错算法)、POOL(验证池)等。

 

2   PoW:Proof of Work(工作量证明)

 

2008 年,在比特币白皮书(Bitcoinswhitepaper)上,PoW 第一次得到重视。PoW 是依赖机器进行数学运算(与或运算,计算出一个满足规则的随机数)来获得本次记账权 [1],向全网其他节点发送本次需要记录的数据,由其他节点验证后,达成共识后对数据进行存储。PoW 最早是一个经济学名词,它是指系统为达到某一目标而设置的度量方法。简单理解就是一份证明 [3],用来确认你做过一定量的工作。监测工作的整个过程通常是极为低效的,而通过对工作的结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式。

举例说明,10+?=12,谁先解出来答案,谁就收获。

一句话概括:干的越多,收的越多(有且仅有实际劳动,才能获得成果)

图 1: PoW 的工作原理图示

2.1   名词解释

哈希函数 Hash 哈希函数是一个单向加密函数,哈希算法能够获取任意数量的数据,并返回一个固定长度的字符串 [6],该字符串对于特定的输入是完全唯一的。

Nonce  一个只能使用一次的随机数。

矿工 Miners  加密货币网络中独立的交易处理器,其目标是验证交易。通常也被称作Full Node或Node。

2.2   角色

工作者 需要完成的工作必须有一定的量,这个量由工作验证者给出;

工作者无法找到很快完成工作的办法;

工作者无法自己” 创造工作”,必须由验证者发布工作。

验证者 可以迅速的检验工作量是否达标。

2.3   优点

1. 算法简单,容易实现。

2. 节点间无需交换额外的信息即可达成共识(节点间自由进出)。

3. 破坏系统需要投入极大的成本。

4. 需要全网所有节点参与,完全去中心化。

2.4   缺点

1. 目前比特币已经吸引全球大部分的算力,新的区块链必须找到一种不同的散列算法,很难使用与过去相同的算力得到相同的安全保障。

2. 大量的资源浪费。

3. 共识达成的周期较长,不适合商业应用(容易产生分叉,需要等待多个确认,区块的确认时间难以缩短)。

4. 永远没有最终性,需要检查点机制来弥补最终性。

2.5   应用实例

比特币中,使用 PoW 确认区块的有效性(只要该 CPU 耗费的工作量能够满足该工作量的证明机制,那么除非重新完成相当的工作量,该区块的信息就不可更改)

2.6   问题解释

为什么说 PoW 消耗能源的问题严重?

——因为矿工(Miners)的每一个猜测(guess)都需要消耗一台计算机产生一定数量的能量。目前,整个比特币网络的哈希率(Hash rate)为~17,000,000 TH/s,即整个网络每秒 17,000,000,000,000,000,000 个猜测(guess)。这种能源需求与匈牙利的消费量大致相同。 

3   PoS:Proof of Stake(权益证明)

 

2012 年,PoS 作为点点币(Peercoin)的介绍首次被提出。PoS 是 PoW 的一种升级共识机制,不需要消耗电力来进行运算,根据每个节点记账权的获得难度,令其与节点持有的权益成反比,等比例的降低挖矿难度,从而加快找随机数的速度。为了保证其简单,PoS 中没有矿工(Miners),而是改为了验证员(Validators)。仍然是基于哈希运算竞争获取记账权的方式,容错性与PoW 相同。PoS 是基于矿工们目前拥有的数字货币数量分配,一种根据你持有货币的量和时间进行利息分配的制度,在 PoS 模式下,你的“挖矿”收益与你的币龄成正比,而与电脑的计算性能无关。

举例说明,PoS 类比成我们手中的钞票。当我们拥有的钞票越多,那在生活中所获得的权益就越多。一句话概括:持有越多,获得越多(在银行存钱得利息)

 

3.1   名词解释

验证员 Validators 验证器,要验证交易,验证器必须下注一定数量的stake,stake的大小决定了验证器验证下一区块的可能性。

 </

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值