前言
Tendermint,现称为Ignite,能够使开发人员在Cosmos上轻松安全地创建区块链项目。该底层协议为用户提供了基于BFT(拜占庭容错)的共识算法,以及一个综合性的应用程序区块链接口(APCI)。
对于想要创建区块链、Dapps、钱包、代币或智能合约的开发人员来说,Tendermint是一个很好的选择。在这篇文章中,我们将讲述Tendermint的功能、工作原理以及该协议对开发人员的益处。
什么是Tendermint?
Tendermint是一个协议,能够为开发人员提供必要工具来安全、轻松地创建区块链和Dapps,也支持跨多个设备复制区块链,和使用用户首选语言创建应用程序。
Tendermint利用拜占庭容错(BFT)来维护所有操作的安全性。区块链和Dapps一般需要三层架构(Layers)才能运行:共识引擎、网络层和应用层。
Tendermint以模块化的架构技术提供这些层级,让开发人员可以选择使用哪个应用程序接口。基于Tendermint的应用程序包括:BinanceDEX、OasisLabs、Terra、RegenNetworks、Cosmos等。
在2022年,Tendermint更名为Ignite。该协议由软件架构师Jae Kwon和生物物理学家Ethan Buchman于2014年创立。从一开始,该协议就背负着Cosmos后端基础设施开发的重任,但同时,项目也开始转向以产品为中心,注重用户体验和开发者平台。
Tendermint的特点
Tendermint Core
Tendermint Core是Tendermint的共识引擎,使用权益证明(PoS),也就是说选定的节点可以提议将新区块添加到区块链中,其他验证者必须进行投票才能确认区块。
Tendermint上的多个系统可以同时以相同的顺序查看相同的交易。
此外,由于不能保证始终能够检测到恶意攻击意图,Tendermint使用拜占庭容错(BFT)来维护其安全性。BFT最多能在1/3节点同时作恶时正常运行。
应用区块链接口(ABCI)
ABCI(Application Blockchain Interface)是用于复制或启动区块链的即用型软件工具包。
Tendermint与大多数主流区块链的不同之处在于,与流行的单体架构相比,Tendermint采用模块化架构。模块化架构能够实现应用程序及不同的语言与Tendermint Core的集成。ABCI是Tendermint网络层的主要组成部分,是所有交易和交互的通道。任何应用层逻辑都必须经过ABCI才能到达共识引擎。此外,ABCI支持开发者使用任意的编程语言编写应用逻辑。
Tendermint和Cosmos
如前所述,Cosmos区块链是Tendermint的核心衍生产品之一。它于2017年推出,旨在构建多链生态系统和互连区块链池。
Cosmos利用IBC(跨链通信)进行区块链之间的交互,并使用Tendermint的拜占庭容错(BFT)共识算法和Cosmos SDK框架来保护网络。
什么是Cosmos软件开发工具包SDK
Cosmos SDK是一个开源框架,也是Tendermint的核心,用于构建特定于应用程序的区块链。Cosmos SDK提供多种预建框架,可以提高开发人员的工作效率。Cosmos SDK公链目前管理着超60亿美元的资产,运行着260多个应用程序。
CosmosNetwork生态系统
Cosmos SDK让开发人员能够构建权威证明(PoA)和权益证明(PoS)的区块链。该框架还通过Cosmos Hub连接到Cosmos网络,能够与其他协议进行互操作。
Cosmos Hub(Layer 0区块链)
Cosmos Hub是第一个Cosmos区块链,充当Cosmos网络上所有独立区块链的互操作系统。这些独立的区块链被称为其他Zone。互操作功能将在在每个Zone通过IBCP连接到Cosmos Hub时产生,也就是说,连接到Cosmos Hub的每个独立区块链都可以相互操作。
Tendermint的优点
- 提供了一种在区块链之间进行交互的方式:当Tendermint区块链被连接到Cosmos网络时,通过Cosmos Hub实现跨链的互操作。
- 模块化架构:允许应用程序接口与共识引擎断开连接,来自其他网络的项目可以使用任何编程语言连接到Tendermint。以前在以太坊网络上的Ethermint就是一个很好的例子,Ethermint现在已集成到Tendermint中。
- 可扩展性:与以太坊等PoW区块链相比,Tendermint有分片功能,使其具有可扩展性。
Tendermint的缺点
- 脆弱性:Tendermint的BFT模型使其具有⅓的攻击容忍度。与能够抵抗50%攻击的PoW区块链相比,Tendermint对恶意节点攻击的抵抗能力低了18%。
- 来自验证者的共识质押通常在几个月内无法访问。
- 因为处于质押状态的代币数量决定了投票的权重,所以持有少量质押的用户的治理角色可以忽略不计。
结论
Tendermint的Cosmos套件对于开发人员和项目等来说十分具有吸引力。它的定位是一个为方便开发人员跳过与网络相关的代码,直接创建应用程序逻辑的框架。
需要注意的是,Tendermint不是模块化DApp的唯一引擎,它还支持区块链克隆。
许多开发人员还对Tendermint(Ignite)使用的BFT共识算法产生了兴趣,因为它利用权益证明(PoS)共识机制进行验证。与工作量证明(PoW)机制不同,该机制提供了一种更快速的交易验证方式,也就是说,Tendermint引擎提供了可扩展性。
最后,随着对大型区块链的可扩展性和互操作性的需求不断上升,Ignite也将继续提升他们的功能,有望在将来成为区块链快速开发的主流。