如何在公链领域运用基于BFT的PoS共识|干货(基础公链是什么意思)
你知道如何在公链领域运用基于BFT的PoS共识|干货吗?今天小编就给大家整理一些相关信息,希望对大家有所帮助哦!
在之前的博客中,我们已经从一个更为宏观的视角了解了Cosmos/Tendermint技术栈。
在本文中,我们将深入介绍Tendermint共识引擎的共识层和网络层。
来源:Cosmos互联链特别感谢:Cosmos&IRISnet China Translation group的成员,Bryan、Arthur、Mike&SuyuCosmos-SDK将实现区块链的应用逻辑,它与Tendermint共识引擎一起实现区块链的三层架构:应用层、共识层、网络层。
Tendermint共识引擎将共识的产生与p2p广播以一种创新方式结合在一起。
在软件工程中,模块化的设计相比于整体化的设计在代码复用、代码库的维护上有明显的优势。
自上而下:应用层(Cosmos-SDK),ABCI,Tendermint共识引擎(共识+p2p网络)Tendermint共识引擎也被称为Tendermint。
Tendermint也是开发Tendermint共识引擎和Cosmos网络的公司的名称。
Tendermint共识引擎是一种底层协议,它由两个协议组成:共识算法和p2p网络通信。
Jae Kwon和Ethan Buchman受到了Raft和PBFT的启发,把Tendermint设计成一种容易理解、对开发人员友好的算法。
Tendermint也可以用在复杂的系统中。
新一代的PoS BFT共识算法都参考了Tendermint如何在公有链领域运用基于BFT的PoS共识的方案。
我们把这一类成功的借鉴称为Tendermint BFT。
它们都属于基于BFT的PoS(与基于链的PoS相对)。
若想要进一步了解基于链的PoS与BFT PoS的区别,可以参考这篇文章:Casper vs. Tendermint。
现在大家应该对Tendermint有了大致的了解,先就让我们进入正题:到底什么是Tendermint?它是如何工作的?Tendermint BFT 协议栈比特币创造了当今所有我们耳熟能详的区块链加密币系统的技术基础。
Tendrmint 协议与比特币系统有很多相似之处,因为他们都是通过区块来纪录信息,但在解决“拜占庭将军”的问题(共识机制)上又各采取了不同的解决方案。
Tendermint的体系可以追溯到学术界关于分布式计算以及拜占庭容错的研究(参见Ethan Buhman 的论文:https://atrium.lib.uoguelph.ca/xmlui/bitstream/handle/10214/9769/Buchman_Ethan_201606_MAsc.pdf)。
然而比特币的传奇故事是在多种电子现金支付系统失败之后(paypal除外)开始的,作为一种去中心化的无需进行审核的货币系统冉冉升起。
比特币的协议优化了去中心化的审核机制,这对于作为一种支付系统而诞生的比特币至关重要。
而Tendermint,则是在多节点的广域网(如拥有百万节点的高节点数)中优化了分布式应用及数据处理方面的拜占庭容错。
这种微妙的区别值得细究。
在全球的学术界里,关于广域网的拜占庭容错研究凤毛麟角,通常是基于拥有4–7个节点的单一管理权限的局域网研究。
针对拥有大量节点及多个管理域下的广域网应用拜占庭容错的研究,基本找不到能应用于实践的重大突破。
2009年之前,当比特币向世界展示了其范式转变技术,也就是区块链概念时,如何解决节点数众多的广域网中的共识问题则一直找不到答案。
尽管解决了“两将军问题”,但在理论以及分布式系统的研究方面,比特币并不是一个真正解决共识机制的算法。
进一步完善拜占庭容错的研究还有很长路要走。
2014年,拥有计算机科学及系统工程背景的Jae Kwon设想了一种完全基于拜占庭容错的协议,通过POS(权益证明)作为底层的安全机制,可以应用于拥有数以百计节点的无许可环境。
Tendermint从此诞生了。
最终,这种基于POS(权益证明)作为主要的安全机制,并能在广域网中进行大量节点验证的的系统模型成为了一项异常复杂的工程实践,耗费四年时间才实现了项目公有链的落地。
这个项目就是Cosmos,定于2018年夏上线。
模型Tendermint是一种在部分同步的环境下的固定性协议。
它能在网络和各个进程本身的延迟范围内实现吞吐量。
在 Vlad Zamfir给出的三角形中,Tendermint落在这条紫色的边中的某一个点上。
Vlad Zamfir的三角形说明了在共识协议中的几类权衡FLP 不可能原理Theorem “…我们呈现了一个令人惊讶的结论:在一个完全异步的共识协议下,即使一个线程的意外终止也可能导致共识过程的终止。
” 也就是说,对于一个确定性的共识算法,在一个完全异步的环境中,如果出现了一个单线程的故障会导致共识的终止。
Dwork, Lynch和Stockmeyer在他们的文章Consensus in the Presence of Partial Synchrony,中写道:“部分同步系统是介于同步系统和异步系统之间的一种形态。
在同步系统中,系统的延迟有一个上限……这个上限是关于信息从一个进程传递到另一个进程,关于不同进程的处理速度……在部分同步的系统中没有延迟的上限。
我们需要设计一个可以在部分同步的系统中使用的共识协议,它不受系统延迟的影响。
”Tendermint的诞生就是为了解决这个问题。
Tendermint 是一个改进版本的 的DLS 协议。
共识算法部分同步,同步和异步通信让我们通过一个众所周知的协议作为参考,来探索同步的案例,这个协议就是比特币协议。
比特币里有一个概念称为“已知固定上限”,指的是比特币系统在挖矿的过程中每10分钟生成一个区块的规律。
为了保证比特币系统能稳定地发展并不断产生区块,比特币的协议中人为地设置了这个10分钟规律,这使得系统中的所有节点可以利用这10分钟的时间,来完成接收,打包,见证的工作,同时将产生的交易在整个网络里进行广播。
以太坊是另一个这类协议的典型,其同步假设的出块时间仅为15秒。
如何在公链领域运用基于BFT的PoS共识|干货就为大家介绍到这里了。如果你也感兴趣的话,不妨试试网站搜索,相信可能会有不一样的惊喜!相关文章
- 比特币零售交易量占比与价格走势有何关联?(中国比特币交易量占比)
- 全球区块链扫描南美篇:用比特币应对通胀 石油币前景不明 - 链塔智库
- 无服务器交互系统与区块链分析(无服务器交互系统与区域的关系)
- 安永发布了零知识证明(ZKP)私人交易协议
- 比特币和其他虚拟货币的未来是什么?经济学家如何看待区块链?
- 深圳市地方金融监管局:数字货币研究相关工作正在逐步推进中
- 链塔智库发布公有链安全性TOP20:EOS居中游比特币倒数第二
- 为什么 USDT 相较于比特币和以太坊市值增长更快?
- 比特币会成为一种支付方式吗?(比特币会成为一种支付吗)
- 对企业无形资产质押融资问题的进一步说明(不可以用来质押的无形资产)