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

Jae Kwon EDCON 演讲回顾:Cosmos-internet of blockchain

EDCON(Community Ethereum Development Conference)

是一个国际性的以太坊社区开发者大会。在刚刚过去的EDCON中,来自社区的开发人员分别对以太坊目前的发展潮流和研究方向:PoS / Casper, scalability, cryptography / privacy, security等话题分享了自己的观点。

Cosmos/Tendermint创始人Jae Kwon也作为特邀嘉宾发表了主题为:Cosmos — Internet of Blockchains的演讲。下面就是对他演讲的回顾:

cosmos-internet of blockchain

Cosmos是一个于去年4月份完成ICO的项目。Cosmos致力于构建构建一个多样化的区块链互联网来解决可扩展性和多样性的难题。

共识的历史

工程师们对共识的研究是从飞机、航天器的控制系统开始的。他们希望从飞机的众多传感器中获得准确的运行状态。受到低温、气压等因素的影响,传感器发出的信号会出现延误和误判。为了解决这些问题,工程人员逐步总结出一套算法。

the milestones

拜占庭将军问题

从上世纪70年代起,随着计算机技术的不断发展。计算机网络也面临同样的容错问题。为了解决这一新的问题,研究人员在借鉴控制系统容错机制的基础上不断发展相关理论。尤其是 Leslie Lamport发表了很多有关分布式计算系统的论文。在1982年,他在论文中首次提出了拜占庭将军问题(The Byzantine Generals Problem)。在他的论文中,他描述了以下场景:一些拜占庭的将军们计划攻打一座罗马的城市。他们需要保持行动的一致性,要么“攻击”,要么“撤退”。这些将军只能依靠信使通信,而他们也不是可靠的。当将军们无法保持行动一致时,就出现了“拜占庭故障”。

FLP不可能原理

之后,研究人员开始不断寻找拜占庭将军问题的解决方案。在1985年4月, Fischer, Lynch 和 Patterson三人发表了著名的文章 ‘Impossibility of Distributed Consensus with One Faulty Process’。在文章中他们证明了:在一个延迟没有上限的非实时系统中,只要有一个节点不能正常工作,那么在有限的时间内,系统无法基于一个确定性协议达成共识。这个结论也被称为:FLP不可能原理。

DLS中的准实时性

FLP 不可能原理增加了解决拜占庭将军问题的难度。幸运的是,准实时的概念由Dwork, Lynch 和 Stockmeyers在1988年的文章:“Consensus in the presence of partial synchrony”中被提出来。一个实时系统的延迟有明确上线,而非实时系统没有。准实时性是介于实时性和非实时系统间的一种状态。Tendermint共识也是基于一种改进后的DLS协议。

PBFT解决方案

Miguel Castro 和 Barbara Liskov于1999年提出了 “Practical Byzantine Fault Tolerance” (PBFT)算法。PBFT是一种高效的拜占庭容错的复制状态机。这也是首次在准实时条件下解决了拜占庭将军问题,PBFT也成为了业界标准。

比特币引领的共识变革

2008年,一个化名为中本聪的人发表了论文“比特币,一种点对点现金系统”。在文中,他阐述了如何构建一个分布式网络下借助加密算法和工作量证明来维护一个账本。这也是历史上第一次用户在不依赖第三方的情况下完成电子货币交易。这种共识也成为 Nakamoto consensus。随着对比特币协议研究的不断深入, Andrew Miller等人逐渐发现 Nakamoto consensus提供了一种拜占庭将军问题的解决方案。比特币协议的精妙之处在于它假设系统是实时的,即节点间的消息可以实时传递。同时也放弃了确定性协议的限制。系统获得的共识结果是具有概率性的。只要我们等待足够长的时间,就可以最终获得共识。

Tendermint共识

比特币的成功激励着大家研究如何在一个无准入条件的经济系统中解决拜占庭将军问题。 Nakamoto consensus有很多缺点:浪费资源,自私挖矿,51%攻击等。为了解决这些问题,研究人员提出了基于权益证明PoS的方案。Tendermint共识也是我们在看到Nakamoto consensus的不足之处后,尝试把经典的BFT解决方案针对PoS进行优化后得到的解决方案。Tendermint共识解决了一般PoS协议的“Nothing at stake”和长程攻击等问题。以验证人抵押资金和相应的惩罚机制作为限制,保证共识的稳定可靠。

Tendermint共识特性

Tendermint特性

快速最终性:与Nakamoto consensus的概率最终性不同,由于Tendermint采用了带有验证人签名的两轮投票(two-phase commit)的机制,这就保证了每一个生成的区块是立即生效的。如此一来我们就可以快速得到最终性。Cosmos Hub也是基于Tendermint构建的。Hub最初会有100个验证人,其数量也会逐渐增加。我们估计出块时间会在3s左右。

高吞吐:由于Tendermint的高性能,它将具有很高的吞吐量。基于Tendermint的分布式应用的瓶颈会在业务逻辑部分。

高容错:对于一个基于BFT的分布式系统而言,如果每个验证人节点的权重相同,你需要4个节点才能保证有一个节点出问题的情况下,网络仍然能够得到共识。BFT能保证在少于1/3的节点作恶的情况下持续运转。

高分叉成本:每个共识算法比较让人关注的特征有两个safety和liveliness。Safety意味着坏的事情不会发生;而Liveliness意味着好的事情最终会发生。Tendermint如果察觉到有1/3的验证人作恶,网络出现分叉(network partition)的情况下,那么共识的过程将会停止。之后会根据相关条款对作恶的验证人进行处罚,从而保证系统安全。在PoW下,用户很难察觉网络的分区,从而引起争议。Tendermint认为Consistency比Availabilty更重要。

开源:Tendermint遵守Apache 2.0协议

通用共识引擎:我们将Tendermint设计成为一个与应用无关的状态机复制引擎(replication engine)。通过ABCI接口,任何人可以在Tendermint之上实现指定的业务逻辑。

共识的历史

Make every blockchain connected

Cosmos团队将在不久之后上线Cosmos Hub:一条基于PoS BFT共识算法的共有区块链。如上图所示,Cosmos Hub会实现一些独立区块链,即Zone分区,之间的可靠信息传输。目前想要在区块链之间传输信息是很困难的,因为这样需要保证区块链传输数据中包含对应的Proof。 基于PoW的区块链很难带有Proof,因为交易的可信度无法达到100%。由于Tendermint具有快速最终性的特性,所以只要一笔交易带有2/3Validator的签名,它就是可信的。

Inter Blockchain Communication: IBC

IBC协议

IBC就像TCP/IP协议一样。它使得两个基于Tendermint共识的区块链可以将消息传递给对方。这些消息为实现区块链间通讯提供了基础架构,克服区块链的可扩展性和延展性方面的挑战。IBC协议假定多个应用程序在自己的区块链上运行,并拥有独立的状态和逻辑。IBC通信是通过一个有序的消息队列实现的,Tendermint轻客户端允许在没有可信的第三方的情况下创建复杂的链间进程。IBC不仅可以用于代币的转移,将来也可以用于NFT的转换,智能合约的调用等各类场景。

IRISnet是边界智能与Cosmos团队以及万云合作打造的区块链跨链网络,将是Cosmos生态中的第一个区域性枢纽(Hub),并专注于为分布式商业应用提供基础设施和协议。IRISnet将面向服务的基础设施融入到Cosmos网络中,支持对包括公链、联盟链以及现有传统商业系统的集成从而实现互联互通。通过对Cosmos 的跨链协议进行创新扩展,IRISnet允许数据及复杂计算跨异构网络被调用。就像忠实地在人间和天堂传递信息的希腊彩虹女神Iris,IRISnet 的目标是成为链接数字经济和实体经济,支持构建复杂分布式商业应用的下一代公链。

Peg Module

通过Hub,我们可以实现独立区块链之间的通信来实现应用的扩展。如果想要连接到以太坊等已有的基于PoW的共有链,我们可以借助Peg的机制。在Hub中会有一个Peg模块,它由Hub见证人HubWitness维护。HubWitness见证人可以是Hub的验证人集,也可以是其中的一部分。

HubWitness负责记录以太坊见证人EthWitness传送的签名。这些签名将用于记录以太坊区块链的最新状态。EthWitness见证人会是以太坊全节点。反过来,EthWitness见证人也需要跟踪Hub中的交易。如果你将一些ERC20代币转移到了EthWitness控制的智能合约中锁定,然后HubWitness在收到EthWitness的Proof后会向你在Hub的账户中重铸代表ERC20的Token。这样就完成了向Hub账户的ERC20代币的转移。一旦进入Hub账户,这些ERC20可以方便的在各个Zone之间流通。若Hub中的账户想要转移资产到以太坊上,那么它需要做相反的事情就可以了。同样的解决方案可以解决与ZCash等其他区块链的链接问题。

Peg模块的设计是为实现一个多Hub的网络服务的。我们认为以太坊和Cosmos Hub一样都是一个Hub。它们都会与其他Hub建立连接。只有保证了Peg实现机制是双向流通的,我们才能证明系统的安全性。

Hard-Spoon

Hard-spoon

 Jae Kwon

“Hard Spoon:基于一个现有的区块链网络状态形成一条新链;该新链不是和原有链进行竞争,而是提供了更为广泛的访问。” 

Vitalik Buterin

一个hard spoon是一个元协议用来在一个区块链之上,创建一个继承原有区块链余额的代币。不同于Soft spoon在同一条区块链内创建两个竞争*分支*的想法”

Cosmos团队将在未来发布建立在Cosmos-SDK之上的Ethereum:Ethermint。在Hard-spoon中,我们抓取某一时刻的以太坊状态快照,然后将其作为Ethermint的初始状态。以太币持有人将在Ethermint分区中获得一种新的代币:Photon。Photon作为费用代币使用。

Cosmos-SDK

cosmos-sdk

Cosmos-SDK提供了方便开发人员构造一条定制化的区块链所需要的开发工具。Cosmos-SDK将完成维护底层的状态机的工作,为开发者节省了大量精力。目前团队已经完成了大部分代码。它的重要特性有:

Object-capability Model:一种更高级的安全模型

Modular Architecture: 模块化的设计让定制化的应用更容易实现

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券