首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解密“区块链互联网”Cosmos的核心技术Tendermint

前言

警告!警告!警告!这是一篇炒鸡难懂的区块链技术科普文章。区块链技术,“跨链”是未来的重要突破方向,和近期的扩容一个重量级,甚至更为关键。

Tendermint是被誉为“区块链互联网”Cosmos的核心技术,本文将对其原理、特点、创新、应用做出简单介绍,还提供了手动搭建Tendermint攻略。天才粉里面的技术天才们,不想来试试吗?

Tendermint支持使用任何编程语言为不同类型的区块链提供BFT (Byzantine fault-tolerant) 拜占庭容错复制状态机。

拜占庭容错:即使有1/3的机器叛变了, 也能保证其余机器上的数据一致。容忍机器以任意方式失败的能力, 包括变得恶意, 被称为拜占庭容错(BFT)

如何做到的呢?

其实Tendermint有2个主要技术组件:区块链共识引擎(Tendermint Core)和应用程序区块链接口 (Application BlockChain Interface, ABCI)。 共识引擎确保相同的交易以相同的顺序记录在每台机器上。ABCI接口使开发者可以用任何编程语言编写其应用。

Tendermint Core中实现了基于PoS的共识引擎,其特点有:

一、它是拜占廷容错(BFT)的,意味着它最多可以容纳整个网络里面三分之一的验证人发生故障,包括无意的故障和恶意攻击。投票的时候三分之二不是指三分之二的验证人数,而是三分之二的权益。

二、它是强调一致性(及时最终性)而不是可用性的共识,这是跟PoW的最大区别;当它生成新区块高度,这个块就是最终的,它将来不会被推翻,所以它不允许短暂的分叉,会带来比以太坊、比特币高的性能。

Tendermint架构设计的创新之处在于,它将区块链应用(状态)与底层共识进行了分离,将共识引擎和P2P网络层封装组成Tendermint Core。同时提供ABCI接口与应用层进行交互,应用逻辑可以用任何语言编写,应用做的事情实际上就是状态机控制。理论上,基于这种架构,我们可以方便地实现自己的区块链。

事实上,Tendermint团队确实基于这样的架构设计,开发了Ethermint项目。Ethermint做的事情就是去掉了以太坊Go-Ethereum代码底层的PoW共识算法,然后通过ABCI协议回调接口跟Tendermint进行了一个集成。这样就实现了一个高效的基于PoS共识的以太坊,已有的以太坊的智能合约和所有的以太坊的客户端工具,开发工具,智能合约调用工具全部都可以原封不动的拿到这边来使用。

Tendermint 支持以下RPC协议:

l URI over HTTP

l JSONRPC over HTTP

l JSONRPC over websockets

Tendermint 已经进化为一个能够承载任意应用状态的通用区块链共识引擎。

如何在windows上搭建tendermint?

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180319G1BK0400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券