主页 > imtoken安卓下载 > 通俗解释:PoW共识机制与以太坊、Ghost协议与Casper PoS的关系
通俗解释:PoW共识机制与以太坊、Ghost协议与Casper PoS的关系
掘金:juejin.im/user/587f0d...
博客:
GitHub: github.com/af913337456...
腾讯云专栏:cloud.tencent.com/developer/u ...
虫洞区块链专栏:……
序幕
我的版本暂定名为《区块链以太坊DApp实战开发》,即将完成。 是一本废话少,讲解通俗,实用性强的技术书籍。 这篇文章是本书某个章节的一部分。 想涉足区块链领域技术开发的同仁可以关注我的博客,届时发布。
目录 Casper PoS 变体共识机制 PoW 和 PoS 共识机制
不了解PoW PoS共识机制的可以看我之前的两篇文章
PoW共识机制的简单解释。
通俗解释PoS共识机制
以太坊目前使用的共识算法
如果有人问你“以太坊目前使用的共识算法”是什么? 而如果这时候你去浏览器上搜索,你会发现有的文章说是PoS,有的说是PoW。
完整正确的说法应该是这样的。 首先,以太坊的源码是分阶段的以太坊pos共识机制,不同阶段使用的共识算法应该分开讨论。 这其实就是PoW共识机制和以太坊的关系。 这些阶段是:
宁静。 以太坊的共识算法将被基于“PoS”的变种算法——“Casper Betting Consensus”所取代,属于PoS系列。
截至2018-12-14,目前最新发布的以太坊是Metropolis的Byzantium。 由上可见,以太坊在发展过程中,其不同阶段的共识算法有:PoW共识、PoW+PoS共识和PoS
幽灵协议
Ghost协议的全称是“Greedy Heaviest-Observed Sub-Tree protocol”。 贪心子树协议,又称幽灵协议,属于主链选择协议的范畴。
首先,在比特币公链中,它根据最长链规则解决了区块链分叉问题。 请注意,并不是所有的区块链公链都使用最长链法则来解决分叉问题,以太坊不是。
选择最好的链条
以太坊目前使用Ghost协议解决区块链分叉问题,所以Ghost协议的真正作用是选择主链。 与比特币的最长链规则不同的是,它在选择最长链时,并不以连续区块最长的那条链为标准,而是考虑分叉区块,选择包含分叉区块的区块。 区块中区块数最多的链是最长的链。 例如,如下图所示:
以上图的分叉为例,在比特币公链中,最终的赢家是链:0 最长链规则选择的链。 在以太坊公链中,幽灵协议最终获得的赢家是:0
原因是在上述分叉的情况下,Ghost Protocol 也将分叉块考虑在内,统计总块数,发现包含块:0, 1A, 2B, 3E, 3D, 3C, 4A链是拥有最多块的链。 所以那条链赢了,这就是 Spectre 选择最佳链的方式。
叉块处理
另外,对于最长链中包含的导致链分叉的区块,比如上图中的3E、3C,Ghost协议也对它们有一套相应的处理机制,这些区块会按照规则进行处理作为 :
孤立块,完全无用的块,挖出来的矿工没有任何收益。 比特币链中的分叉块是孤立块。 叔块是由一定范围内的后续子块打包存储的块。 挖出叔块的矿工将按照一定的算法获得奖励。
方块叔叔通俗详细的介绍都在我的书里,这里就不赘述了。
总结一下,Ghost协议在以太坊中主要起到以下两个作用:
在最优链Casper PoS变体共识机制中选择最优链处理分叉区块
前提:Casper目前还没有完全公布以太坊pos共识机制,还在开发中。 以下内容是根据目前已有的知识总结而成。
作为以太坊第四阶段版本的共识机制,Casper 投注共识加入了惩罚机制,基于 PoS 的思想,在记账节点中选择验证者。 可以下注的角色是:验证者。 这类角色可以理解为新一代的以太坊矿工。
在casper共识机制中,验证者需要拿出一部分押金来押注自己认为获胜概率较大的区块:
如何成为验证者
如果你想成为验证者,你需要支付保证金才能申请。 同时,进入后可以选择退出。 加入和退出将是以太坊网络中的一种特殊交易类型。 目前最常见的交易是转账ETH。 货币。 也就是说,到时候可能需要调用某个以太坊接口申请成为验证人。 保证金很可能是以太坊ETH代币,用于投注或因以太坊惩罚而被没收。
目前,Casper 的验证器逻辑将通过一个叫做 Casper 合约的东西来实现。 合约提供了投注、加入、退出、获取共识信息等一系列功能。 因此,我们只需调用Casper合约即可提交投注或进行交易。 其他操作。 Casper合约的内部状态如下:
该合约会记录当前的验证人集合,每个验证人的六个主要字段分析如下:
验证者如何获得存款
其他人将钱转入验证者的钱包地址,或者在早期版本中基于 PoW 挖矿进行收获。
候选块是如何生成的
验证者生成块,这是一个独立于所有其他事件发生的过程:验证者收集交易,当轮到他们生成块时,他们生成一个块,对其进行签名并将其发送到网络。
按照什么规则
规则由 Casper 机制提供。
如何判断获胜区块
当绝大多数验证者,即满足协议定义的阈值的一组验证者,有一定比例在 67% 到 90% 之间时,押注某个区块将以极高的概率获胜,则此区块获胜。
验证者联盟投注的作弊问题
不难看出,Casper 的投注方式存在一个问题,就是有一个验证者联盟,共同对某个区块进行投注,使其获胜。 以太坊尚未完全公布该问题的解决方案,正在进一步研究中。
结束