区块链的共识机制

区块链如何实现不需要得到或获得他人的信任来实现交易?

区块链的自信任主要体现在分布于区块链中的用户无需信任交易的另一方,也无须信任一个中心化的机构,只需要信任区块链下的软件系统即可实现交易。

这种自信任的前提是区块链的共识机制(consensus),即在一个互不信任的市场中,要想使各节点达到一致的充分必要条件是每个节点出于对自身利益最大化的考虑,都会自发诚实地遵守协议中预先设定的规则,判断每一笔记录的真实性,最终将判断为真的记录记入区块链之中。

每个节点是怎样实现记录的?是自己记录吗?还是自动记录?
如果各节点具有各自独立地利益并互相竞争,则这些节点几乎不可能合谋欺骗你,而当节点们在网络中拥有公共信誉是,这一点尤为明显。

区块链技术正是运用一套基于共识的数学算法,在机器之间建立“信任”网络,从而通过技术背书而非中心化信用机构来进行全新的信用创造。

四大共识机制介绍

  1. 工作量证明机制(PoW)
    即对于工作量的证明,是生成要加入到区块链中的一笔新的交易信息(即新区块)时必须满足的要求。
    在基于工作量证明机制构建的区块链网络中,节点通过计算随机哈希散列的数值解争夺记账权,求得正确的数值解以生成区块的能力是节点算力的具体表现。比特币。
    工作量证明官方定义是要求用户进行一些比较耗时的复杂运算,然后得出这个答案能够被其他人快速验证,用工作期间耗用的时间、设备、能源作为担保成本,来确保资源是被真正需求方所使用。

PoW一般是用哈希函数实现,哈希函数的特点是结果确定,但不可逆,知道一个哈希值或哈希值特征,很难推算出输入,如果使用哈希函数实现PoW呢?假设现在有一条消息,哈希值是确定的,如果规定允许在这个消息后面加上一个随机数(我们成为nonce值),然后再计算哈希,那么这个哈希就可以随着nonce值的改变而改变,我们不断尝试不同的nonce值,就可以得到不同的哈希值。
当得到哈希值符合某一个特征,比如前三位为0或者小于某个特定的树,那么就接受该nonce值作为一个符合要求的答案。这个过程中需要计算方尝试很多次才能得到符合条件的答案,条件越苛刻,需要计算的次数就越多,而这个答案在验算方这一边只需要进行一步哈希计算,就可以知道这个nonce值是否是符合条件的答案。PoW通过哈希函数保证了难计算、易验证的特点。

PoW运用在比特币,区块头部有一个nonce值,每一个矿工需要不断调整区块的Nonce值,使得整个区块的哈希值小于某一个目标哈希(这个目标哈希值由难度确定,难度值越高,目标哈希值越小);这样一个区块才是合法的区块,谁先算出这个合法的区块,广播到网络中,这个合法的区块就会被其他人接受。

PoW的优点是工程上非常简单可靠,容易实现,容错率可以达到50%,控制全网算力没有达到50%,基本上不可能篡改历史记录,投入越多算力,获得记账权概率越大,越有可能产生新的区块。

缺点:效率低,对于算力和能源非常严重,有人统计过现在整个区块链网络电力消耗超过一个小型国家全国的电力消耗。

同时PoW会有分叉,可能有若干个矿工,同时算出下个区块,因为算哈希值是随机的,可能有人在相近时间内算出来了,因为网络有延迟,不同矿工接受不同区块,然后产生了分叉,分叉可能需要等待多个区块来确认,这个交易的确认时间也是不确定的。

目前阶段算力越来越集中,因为一个独立的矿工想要挖到下一个区块的话,以你的算力可能在全网比例非常低,挖到下一个区块的概率非常低,以至于一辈子都挖不上一个区块,这时最好的选择就是加入某一个矿池贡献你的算力,按照算力额分成,比如整个矿池挖出下一个区块,把下一个区块奖励平均分给整个矿池里面算力的,这样加入矿池就可以获得比较稳定的奖励,也导致算力越来越集中在矿池手里。

新交易创建之后,通过P2P网络广播到全网所有的矿工,矿工把这个交易验证通过之后,打包进一个区块中,接着开始计算PoW,当得到某个nonce值使得这个区块的哈希值符合条件之后,再通过P2P网络把这个区块广播给所有的矿工,其他矿工验证这个区块合法之后,就会将这个区块添加到自己的账本中,这样一个交易就在全网范围内完成了写入。
2. 权益证明机制(PoS)
权益证明要求证明人提供一定数量加密货币的所有权即可,权益证明的运作方式是,当创造一个新区块时,矿工需要创建一个“币权”交易,交易会按照预先设定的比例把一些币发送给矿工本身。权益证明机制根据每个节点拥有代币的比例和时间,依据算法等比例地降低节点的挖矿难度,从而加快了寻找随机数的速度。这种共识机制可以缩短达成共识所需的时间,但本质上仍需要网络中的节点进行挖矿运算。

  1. 股份授权证明机制(DPoS)
    它在尝试解决传统的PoW机制和PoS机制问题的同时,还能通过实施科技式的民主抵消中心化所带来的负面效应。
    在这样的区块链中,全体节点投票选举出一定数量的节点代表,由他们来代理全体节点确认区块、维持系统有序运行。同时,区块链中的全体节点具有随时罢免和任命代表的权力。如果必要,全体节点可以通过投票让现任节点代表失去代表资格,重新选举新的代表。
    股份授权证明机制可以大大缩小参与验证和记账节点的数量,从而达到秒级的共识验证,然而,该共识机制仍然不能完美解决区块链在商业中的应用问题,因为该共识机制无法摆脱对代币的依赖,而很多商业应用中并不需要代币的存在。

  2. Pool验证池
    Pool验证池基于传统的分布式一致性技术建立,并辅以数据验证机制,是目前区块链中广泛应用的一种共识机制。
    Pool验证池不需要依赖代币就可以工作,在成熟的分布式一致性算法(Pasox,Raft)基础之上,可以实现秒级共识验证,更适合有多方存于的多中心商业模式。不过Pool验证池也存在一些不足,例如该共识机制能够实现的分布式程度不如PoW机制等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值