「一文读懂区块链系列」Tendermint是什么?

「一文读懂区块链系列」Tendermint是什么?

Tendermint 为开发者提供了一个平台用以创造令人兴奋的未来。

诞生

Tendermint 是一个区块链协议,由 2 位杰出开发先驱(区块链软件架构师 Jae Kwon 和互联网生物物理学家 Ethan Buchman )于 2014 年创建。该协议可以被理解为一种作用工具,用于在互联网上以安全和一致的方式复制和启动区块链应用程序。


释义

「一文读懂区块链系列」Tendermint是什么?

大多数时候,Tendermint 指的是技术层面的“Tendermint 代码”;但实际上,Tendermint 是其开发公司的名称(由编写原始白皮书的开发人员 Jae Kwon 创立),而 Tendermint Core 是该公司实际开发的软件。

本文的着重点在于技术,因此,术语“Tendermint”和“Tendermint Core” 都将被统一指代为Tendermint 代码/软件本身,并在本文中交替使用。

Tendermint 是一种特殊的区块链协议,用于在网络(内部网络和外部网络)之间便捷地建立通信,人们可以通过它无缝地创建不同类型的区块链系统;除此之外,它还有助于克服耗时的技术设置等问题。使用Tendermint Core来构建程序,开发者们可以基本无视开发环境中可能存在的其他干扰,专注于开发应用程序本身。


Tendermint 与区块链网络的关系

我们将利用充分的想象力,来通俗易懂地诠释他们之间的关系。

试着想象你是一个厨师,你要做一个比萨饼,首先你需要做一个外皮,然后你可以在外皮上添加任何你想要的不同配料,比如牛肉、鸡肉,甚至是番茄、芝士。 实际上,Tendermint 就像披萨的外皮,Cosmos 等区块链网络则是外皮下的底座,开发者们扮演着厨师的角色,他们可以在底座和外皮上(Cosmos-Tendermint)随心所欲地发明各种区块链应用。


特色

「一文读懂区块链系列」Tendermint是什么?

Tendermint 旨在为开发人员提供区块链的网络层和共识层,来作为开发不同去中心化应用程序的平台,从而使开发人员能够专注于区块链的应用层,而不用再去同时开发共识层和网络层。 更重要的是,Tendermint 能够负责在节点之间共享区块交易,并自主建立一个规范且不可改变的交易顺序,促进了PoS共识网络的建立,且大大降低了开发难度。


主要构件

Tendermint 由两个主要构件组成:区块链共识引擎和通用应用程序接口。

区块链共识引擎(Blockchain Consensus Engine)

区块链共识引擎在这里泛指 Tendermint Core,它用于确保所有交易都能以相同的顺序记录在每个区块上,从而促进点对点网络的建立,并提供权益证明 (PoS) 共识。

通用应用程序接口(Generic Application Interface)

通用应用程序接口指的则是 Tendermint 的应用程序区块链接口 (ABCI-Application Blockchain Interface),通过该接口,协议可以使用任何类型的编程语言来处理交易——它是区块链网络链接到 Tendermint 核心协议的高效工具。


区块架构

不同于一些使用单体架构的区块链协议,Tendermint 使用模块化架构和独立的软件组件。 这也是为什么人们在更新某个应用程序时,可以只更新该应用程序的一部分而不会对整个系统造成重大变化的原因。

「一文读懂区块链系列」Tendermint是什么?


同步模型

Tendermint 解决了部分同步通信下的共识冲突问题。

部分同步系统模型在同步和异步周期之间交替。 这种模型被称为“弱同步”。


运作原理

Tendermint 依靠时间假设来取得工作进展。 然而,与同步系统模型相比,其工作完成情况的进展速度取决于网络速度,而不是系统参数。

Tendermint 运作遵循如下图所示的状态机:

「一文读懂区块链系列」Tendermint是什么?

状态机运行的整个过程由验证者把控,验证者需要提案出(propose)交易块并对其进行投票。 每个被提案的交易块都会放在状态机顶部;相反,如果某个交易区块的提案没有被提交,则协议将不承认该笔交易并进入下一轮,由新的验证者来提案出新的交易块高度。需要注意的是, 投票需要进行两次才能提案一个区块。 这些步骤称为 prevote 和 precommit。 如果超过三分之二的验证者在同一轮中为同一个交易区块预提案,则该区块被视为已提案。


为什么使用Tendermint

更具可扩展性(Scalable)

可扩展性在区块链中指的是网络增加交易和节点负载的能力。 分片能够创建出更小的数据库或分片,并在在节点之间共享运行。 基于 PoW共识 的系统无法进行共享,但基于 PoS 共识的Tendermint 的分片功能,却有助于增强可扩展性。

更灵活(Flexible)

Tendermint 应用程序接口和共识机制的分离,为一系列去中心化应用程序提供了更大的灵活性,任何编程语言都可以被纳入其业务逻辑。

互操作性(Interoperability)

互操作性的实现是区块链领域期待已久的突破性进展,这意味着数百个孤立的区块链将变得交叉兼容。


应用示例 - Cosmos 生态系统

「一文读懂区块链系列」Tendermint是什么?

-完结-

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章