什么是 Tendermint?

Posted liuchengxu_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是 Tendermint?相关的知识,希望对你有一定的参考价值。

Tenermint 是一个软件,用于在多台机器安全一致地复制一个应用。所谓安全,指的是即使有多达 1/3 的机器出现任意故障的情况下, Tendermint 仍然能够正常工作。所谓一致,指的是每一个正常工作的机器都会有着同样的交易日志,计算相同的状态。安全一致的复制是分布式系统中一个至关重要的问题:从货币到选举,到基础设施规划,它在广泛应用的容错中承担了一个极其重要的角色。

能够容忍机器以任何一种,甚至包括变得有害的方式发生故障,被称为拜占庭容错(BFT)。拜占庭理论已经有几十年的历史,但是很大程度上,直到最近像比特币,以太坊这样区块链技术的成功,它的软件实现才开始变得流行。区块链技术只是以一种现代化的方式对 BFT 的再形式化,而且重点关注 P2P 网络和密码验证。区块链这个名词来源于交易的处理方式,通过区块的批量方式处理交易,每个块包含了前一个块的加密哈希,以此来形成一个链。实际上,区块链数据库真正地优化了 BFT 设计。

Tendermint 包含了两个主要的技术组件:一个区块链共识引擎和一个通用的应用程序接口。共识引擎,叫做 Tendermint Core,保证了每一台机器以相同的顺序记录同一笔交易。应用程序接口,叫做 应用程序区块链接口(ABCI),保证了交易可以通过任何一种编程语言进行处理。与其他预先打包内置状态机(比如键值存储或者一个奇怪的脚本语言)的区块链和共识方案不同,开发者可以使用 Tendermint 实现应用的 BFT 状态机复制,而这些应用可以用任何语言编写,而且开发环境对开发者也十分适合。

Tendermint 的设计原则是易使用,易理解,高性能,对于各种分布式应用都十分有用。

本文译自:What is Tendermint?

以上是关于什么是 Tendermint?的主要内容,如果未能解决你的问题,请参考以下文章

深度知识Tendermint共识算法原理和框架流程

共识算法比较Tendermint的BFT与EOS的dPoS

深度解析Tendermint,快速融入Cosmos生态

基于Tendermint的区块链漂流瓶简单实现

Tendermint: 什么是 ABCI (应用区块链接口)

Tendermint 共识分析