Tendermint 与其他技术的比较

Tendermint是一款拜占庭容错的共识引擎,它不仅可以在多达1/3节点出现故障的情况下保持运行,还可以应用于从键值存储到加密货币等多种场景。与Zookeeper、etcd、consul这类非拜占庭容错的键值存储相比,Tendermint提供了更高的安全性和灵活性。此外,相较于比特币和以太坊等加密货币,Tendermint提供了更为高效和安全的共识算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Tendermint 大体上与两类软件很类似。第一类包含了分布式的键值存储,比如 Zookeeperetcdconsul,它们都使用了非拜占庭容错共识。第二类就是 “区块链技术”,它既包括了像比特币和以太坊这样的加密货币,也包括了像 Hyperledger Burrow 这样的分布式账本设计。

Zookeeper, etcd, consul

Zookeeper,etcd 和 consul 都是在一个经典的非拜占庭容错共识算法上实现了一个键值存储。Zookeeper 使用了一个叫做 Zookeeper Atomic Broadcast 的 Paxos 版本,而 etcd 和 consul 使用了更年轻,也更简单的 Raft 共识算法。一个典型的集群由 3-5 台机器构成,虽然可以经受住 1/2 的机器发生问题,但是只要发生一次拜占庭故障就可以摧毁整个系统。它们每一个都提供了一个稍微有别于键值存储的实现,但是都将关注点放在提供分布式系统的基础服务,比如动态配置,服务发现,锁,选取领导人等等。

Tendermint 是一个本质上类似的软件,但是有两点关键不同:它是拜占庭容错的,这意味着它可以经受 1/3 机器发生任意形式的故障 – 包括黑客和恶意攻击。

它并不像键值存储一样针对某一指定类型的应用。相反,它关注与任意的状态机复制,因此开发者可以量身打造适合自己的应用逻辑,从键值存储到加密货币到电子投票平台,甚至更多的应用都可适用。

以上内容取自于 consul.io 和 Hashicorp sites.

Bitcoin, Ethereum, etc.

在比特币和以太坊这样的传统加密货币下出现了 Tendermint,它的目的在于提供一个比比特币的工作量证明更加有效和安全的共识算法。在早期,Tendermint 内置了简单的货币来参与共识,用户必须向一个安全账户中“绑定”一定数量的货币,如果他们表现不端,这些钱就会被收回 – 这一点使得 Tendermint 成为一个 POS 算法。

自那时起,Tendermint 已经进化为一个能够承载任意应用状态的通用区块链共识引擎。这意味着它可以成为其他区块链软件共识引擎的一个即插即用的替代品。所以基于当前的以太坊代码库,无论是以 Rust,Go,Haskell,任何人都可以使用 Tendermint 共识运行一个 ABCI 应用。实际上,我们已经完成了这一点(https://github.com/tendermint/ethermint)。此外,我们也计划为 Bitcoin,ZCash,和其他确定性的应用完成同样的工作。另一个基于 Tendermint 构建的加密货币应用是 Cosmos

Fabric, Burrow

Fabric 采用了与 Tendermint 类似的方法,但是更关注于如何管理状态,并且要求所有的应用行为能够在多个 docker 容器,它们叫做 “chaincode” 的模块中运行。它使用了来自 IBM (augmented to handle potentially non-deterministic chaincode) 的 PBFT 实现。通过扩展 Tendermint 来处理未来工作存在的不确定性,在 Tendermint 中以一个 ABCI 应用实现这个基于 docker 的行为是完全有可能的。Burrow 是一个以太坊虚拟机和以太坊交易机制的实现,同时附带有名字注册,许可权和天然合约,可替代区块链 API等额外特性。它使用 Tendermint 作为它的共识引擎,提供了一个特殊的应用状态。

本文译自:Tendermint vs. Other Software

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值