美文网首页区块链
由浅入深学通证经济013

由浅入深学通证经济013

作者: 珞珈山神 | 来源:发表于2018-12-11 07:48 被阅读767次

区块链 PoS 共识——Tendermint

今天,我们来讲一下Tendermint。作为传统的数字加密货币,比特币和以太坊使用了PoS 共识机制来保障区块链网络安全有效的运行,在这种共识机制中,出现了一个新的共识算法的软件——Tendermint。

Tendermint的出现在早期的数字货币诞生之后,它拥有比传统的工作量证明协议更为安全和高效地性能。最初,Tendermint在实现共识算法之外,还同时拥有自己的数字货币——用户需要交纳保证金充当违反协议的罚款,因此,它也是另一种总意义上的股权证明协议。之后,Tendermint逐渐演变为区块链共识引擎,即插即用,替代原有的共识模块,允许所有用户主机作为节点加入分布式网络。

事实上,Tenermint基于拜占庭容错算法,用于在多台主机上同步同一个应用程序,保证数据的一致性。一方面,Tenermint对安全性能有了更高的保障,网络中即使有三分之一的机器出现故障无法工作,在Tenermint中依然能够正常运行。另一方面,Tenermint保证了不同主机之间数据的高度一致性,正常运行的主机之间拥有相同的交易日志并计算出相同的状态。事实上,安全和一致性这两个问题是分布式系统的基本问题,在很多场景尤其是货币系统中发挥着关键的作用。

Tenermint由共识引擎(Tendermint Core)和应用区块链接口(Application BlockChain Interface)两部分组成。

其中,共识引擎(Tendermint Core)是Tenermint的核心内容,是一种ABCI规范下的socket 通信协议,它是POS共识算法和拜占庭容错算法相结合的产物,保证在所有节点上交易记录都能够进行一致性排序。

应用区块链接口(Application Block Chain Interface)简称为ABCI,是一个通用接口,能够支持多种编程语言对交易进行处理。在实际处理中,开发人员不需要直接对区块链和共识算法直接进行操作,因为大部分区块链和共识方案已经被封装成内置状态机,通过Tendermint就可以实现状态机的复制,并且,Tendermint拥有友好的开发环境,支持任意编程语言的编码。

在比特币加密系统中,区块链系统中的所有节点共同维护一个数据库。如果在Tendermint实现一个这样的系统,Tendermint可以提供以下功能:一是使所有节点共享区块数据和交易数据,二是为所有交易进行一个不可更改的顺序。同时,Tendermint为应用进程和共识进程提供接口进行通信,将巨大的区块链应用软件分解成拥有独立功能的组件。在接口通信中,DeliverTx、CheckTx、Commit三种消息同于实现通信功能:

DeliverTx消息用于传递区块链中的交易信息,经过验证通过的消息会被存入数据库。

CheckTx消息用于验证区块链中的交易信息,验证交易信息是否有效,有效则继续转发。

Commit消息用于加密计算,计算当前应用的加密保证并将其放入下一个区块头。

接下来,我们来简单看一下Tendermint的共识方法,如图所示。

在Tendermint中,validator被称为验证人,他们是协议的参与者,验证人的活动是提议和投票。验证人的提议和投票是对区块发起的,如果提交成功区块将作为新的数据区块链接到区块链上,每个区块在链上占据一个高度,并且该位置相对其他区块的绝对位置固定。如果提交失败,则继续由新的验证人进行下一轮提交,仍然提交同一高度的区块。在区块提交之前,需要进行预投票和预提交两个操作,当超过三分之二的验证人对该区块进行了预投票(一个波卡)就可以证明一个预提交操作,只有超过三分之二的人对该区块进行了预提交操作,这个区块才能进行提交操作。

但是,完成了预投票和预提交并不意味着提交一定成功,离线和网络速度都可能造成提交区块失败。在进行投票操作之前,存在一段等待时间用于验证人从当前提议者处接收提议块。这种机制的存在使得Tendermint不再是一个异步协议,而是具有了一定的同步协议色彩,但是,协议除此之外的部分仍然是异步协议,当接收到超过三分之二的验证人消息时,该验证人才会继续进行下面的操作。

Tendermint依然对安全性能有较好的保障。为了保证验证人不会进行冲突块的提交操作,Tendermint制订了锁定协议,当验证人对一个区块进行预提交,他就会在该区块上被锁定,只有满足条件解锁后才能继续为下一轮的新区块继续进行提交。

关于Tendermint的知识我们就讲到这里啦。

相关文章

  • 由浅入深学通证经济013

    区块链 PoS 共识——Tendermint 今天,我们来讲一下Tendermint。作为传统的数字加密货币,比特...

  • 由浅入深学通证经济004

    在前面几篇文章中,我们简单介绍了什么是通证经济,并通过比特币的例子初步说明了什么是区块链。区块链作为通证经济的技术...

  • 由浅入深学通证经济002

    如何改变我们的生产关系呢? 拿2017年的热词——挖矿来讲一讲。 在2017年,比特币的大热掀起了一波疯狂的挖矿热...

  • 由浅入深学通证经济003

    从比特币看区块链 上节说到了举世瞩目的比特币大火现象,那么,比特币究竟是什么呢,它为何会有如此高的价值,引人趋之若...

  • 由浅入深学通证经济001

    2018年,流行词中出现了一个新的面孔——“通证经济(Token Economy)”。作为互联网数字经济领域的大热...

  • 由浅入深学通证经济005

    区块链数据结构 今天,我们继续讲解通证经济的相关知识——区块链数据结构。 现在,我们从数据层来看区块链的结构。简单...

  • 由浅入深学通证经济006

    区块链中的共识机制 上篇文章我们提到过,工作证明在区块链中发挥着不可替代的重要作用,这是区块链中数据增长的要点,只...

  • 由浅入深学通证经济007

    在上篇文章中,我们讲到了区块链中的共识机制,其中工作量证明机制(PoW)和股权证明机制(PoS)在区块链中被广泛使...

  • 由浅入深学通证经济008

    共识之股权证明机制(PoS) 上一篇文章我们讲到了区块链共识中的PoW机制,今天我们来讲一下区块链共识中的另一机制...

  • 由浅入深学通证经济016

    通证经济之设计原则和陷阱 今天,我们来一起学习通证经济设计的七大原则。 这七大原则是由孟岩提出的。那么,孟岩又是谁...

网友评论

    本文标题:由浅入深学通证经济013

    本文链接:https://www.haomeiwen.com/subject/kcidhqtx.html