使用“扫一扫”即可将网页分享至朋友圈。
金色观察| Tendermint:“新派”共识的代表
区块链网络共识算法的进步,代表着更高的效率和安全级别,在我们了解了比特币的pow和以太坊以及其他链的pos共识之后,可以发现很多共识是从bft共识改进而来。不过,其中也有另一方向的创新者,就是 Tendermint, Tendermint最典型的代表是Cosmos以及使用Cosmos SDK创造的项目,还有例如Oasis这样的网络也使用 Tendermint。
本文中,我们总结一下 Tendermint的资料,用来整体了解。
Tendermint是用于在多台机器上安全且一致地复制的应用程序,其安全性表示为即使多达1/3的机器以任意方式发生故障,Tendermint也能正常工作;一致是指每台没有故障的机器看到相同的事务日志并计算相同的状态。
容忍机器以任意方式发生故障(包括成为恶意)的能力被称为拜占庭容错(BFT)。区块链技术对BFT进行改造为更强调点对点网络和加密身份验证。交易在块中被批处理形成了一条链,这种区块链数据结构实际上优化了BFT设计。
而Tendermint改进后可以称为是一种易于理解的、异步的BFT共识协议。该协议遵循如下所示的简单状态机运行方式:
其中协议的参与者称为验证者,他们轮流提出交易区块并对其进行投票。块在链中提交,每个高度都有一个块。当一个区块无法提交时,协议会进入下一轮,新的验证者可以针对该高度再提出一个区块。
成功提交区块需要两个阶段的投票;称为pre-vote和pre-commit。当超过2/3的验证者在同一轮中为同一块预先提交时,这个块被提交。
图示的右下角有一张一对夫妇在跳polka舞的照片,当超过三分之二的验证者为同一个区块预先投票时,称之为polka。每个预先提交都必须在同一轮中通过一个polka来证明是合理的。
验证者可能由于多种原因未能提交区块,例如当前提议者可能离线,或者网络可能很慢。Tendermint允许他们确定应该跳过验证者。因为验证者等待时间的超时使 Tendermint 成为弱同步协议,而不是异步协议。不过,协议的其余部分是异步进行的,最终验证者只有在收到超过三分之二的验证者集的意见后才能取得进展。Tendermint的一个简化元素是它使用相同的机制来提交一个块,就像它跳到下一轮一样。
假设少于三分之一的验证者是拜占庭的,Tendermint保证永远不会违反安全性,即验证者永远不会在同一高度提交冲突的块。为此,引入了锁定规则,这些规则调节流程图中可以遵循的路径,一旦验证者预先提交了一个区块,它就会被锁定在该区块上。该验证者必须为它锁定的块投票,并且如果在后面的一轮中有一个用于该块的polka,该验证者只能解锁并预先提交一个新块。
在软件层面,Tendermint由两个主要技术组件组成:区块链共识引擎和通用应用程序接口。称为Tendermint Core的共识引擎确保相同的交易以相同的顺序记录在每台机器上。应用程序接口,称为应用程序块链接口(ABCI),使交易能够以任何编程语言处理。与其他预装了内置状态机的区块链和共识解决方案不同,开发人员可以使用Tendermint可以对任何编程语言编写的应用程序进行BFT状态机复制。因此,可见Tendermint被设计为易于使用、易于理解、高性能且适用于各种分布式应用程序。
Tendermint已经发展成为可以托管任意应用程序状态的通用区块链共识引擎。这意味着它可以用作其他区块链软件共识引擎的即插即用替代品。
Tendermint Core主要通过满足ABCI的协议要求与应用程序通信。Tendermint能够通过在应用程序流程和共识流程之间提供一个非常简单的 API(即 ABCI)来分解区块链设计。
ABCI 由以下3 种主要的消息类型组成,它们从核心传递到应用程序。应用程序回复相应的响应消息。
DeliverTx消息,区块链中的每笔交易都通过此消息传递。应用程序需要根据当前状态、应用程序协议和交易的加密凭证来验证通过DeliverTx消息接收到的每笔交易。然后,经过验证的事务需要更新应用程序状态。
CheckTx消息类似于DeliverTx,但仅用于验证交易。Tendermint Core 的内存池首先使用CheckTx检查交易的有效性,并且仅将有效交易中继给其对等方。。
Commit消息用于计算对当前应用程序状态的加密承诺,以放入下一个区块头中。
所以可以总结为,Tendermint Core中创建到应用程序的三个ABCI 连接;一种用于在内存池中广播时验证交易,一种用于共识引擎运行区块提案,另一种用于查询应用程序状态。
“广东财经网”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与
我们联系删除或处理,客服邮箱1098101642@qq.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同
其观点或证实其内容的真实性。
- 声音提醒
- 60秒后自动更新
【民政部回应何时恢复婚姻登记】民政部社会事务司二级巡视员杨宗涛表示,婚姻登记场所是人群聚集场所,部分地区暂停婚姻登记工作是对人民群众安全负责。未停止登记的地方推广用电话、网络、qq群预约登记,控制登记人数,分批分段登记,减少人员聚集和在登记机关停留时间。已停止婚姻登记地方将根据当地疫情控制情况逐渐恢复。
15:54欧洲央行副行长金多斯:欧洲央行还没有达到逆转利率。宽松政策的副作用更明显了。
15:54财经网站Forexlive分析师Justin Low评瑞士1月CPI月率:尽管通胀年率保持稳定,但核心通胀率有所下降,这一点令人更加担忧。这只是进一步巩固了瑞士央行维持现有货币政策不变,并可能在未来寻求更多宽松措施的观点。
15:54【武汉两大批发市场商户开业率超过80%】商务部市场建设司司长朱小良10日称,目前武汉生活必需品供应基本正常,除冷鲜肉、鲜叶菜等少数品种存在结构性短缺外,大部分重要生活物资供应充足,未发生明显抢购或脱销断档情况。当地白沙洲和四季美两大批发市场正常营业,商户开业率超过80%,日交易量上升至3000吨以上。(国是直通车)
15:53【日本2019年经常项目顺差增长4.4%】日本财务省10日发布的国际收支初步统计报告显示,主要受外国人入境游消费扩大影响,2019年日本经常项目顺差增长4.4%。报告显示,2019年日本经常项目顺差为20.06万亿日元(1美元约合109.8日元)。其中,商品贸易方面,由于液化天然气价格下跌等因素,进口下降5.6%至75.56万亿日元;由于汽车部件及钢铁等产品出口减少,出口下降6.3%至76.12万亿日元。货物贸易顺差减少53.8%,为5536亿日元。(新华社)
15:53欧元兑美元EUR/USD短线波动不大,现报1.0952。
15:53瑞士1月CPI年率:0.2%,前值:0.2%,预期:0.1%;瑞士1月CPI月率:-0.2%,前值:0%,预期:-0.2%。
15:52英镑兑美元GBP/USD短线走低13点,现报1.2890。
15:52【宁德时代“供电”国产特斯拉 有望拉低售价20%】全国乘联会秘书长崔东树分析认为,“随着特斯拉国产化率提升和产能爬坡,未来特斯拉国产车型的价格下探空间还是很大的。”他预计今年下半年,国产Model 3车型的售价就有望降至25万元,降幅接近20%。(新京报)
15:51【内蒙古:对不裁员或少裁员企业返还上年度50%失业保险费】据内蒙古新型冠状病毒肺炎疫情防控工作指挥部消息,疫情期间,内蒙古对不裁员或少裁员的企业返还上年度实际缴纳失业保险费的50%,对面临暂时性经营困难的中小企业,返还标准提高到上年度6个月企业及其职工缴纳社会保险费的50%。
15:51【商务部:2019年服务进出口总额54152.9亿元 同比增长2.8%】商务部新闻发言人表示,2019年,在服务贸易创新发展试点等政策的激励下,我国服务贸易总体保持平稳向上态势,逆差明显下降,结构显著优化,高质量发展成效初步显现。全年服务进出口总额54152.9亿元(人民币,下同),同比增长2.8%。其中,出口总额19564.0亿元,同比增长8.9%;进口总额34588.9亿元,同比减少0.4%。(第一财经)
15:51【振华股份:疫情导致下游客户开工推迟 产品库存上升】振华化学公告,公司目前生产经营稳定,所有产能均正常开工,原材料采购能基本满足生产需要,由于疫情导致下游客户开工推迟,公司出货量减少,产品库存有所上升。公司将根据客户需求、疫情及市场变化,适度调整生产经营策略,尽可能保持生产经营的稳定。
15:50环旭电子2月10日晚间公告,公司2020年1月合并营业收入为23.27亿元,较去年同期的合并营业收入减少27.83%,较2019年12月合并营业收入环比减少37.23%。
15:49精测电子:与京东方集团签订了多份销售合同,合同累计金额达到6.96亿元。
17:12华夏银行:银保监会同意本公司在全国银行间债券市场发行不超过100亿元人民币的金融债券,募集资金全部用于绿色信贷。
17:03