54

深度挖掘Cosmos背后的技术实现

 5 years ago
source link: https://www.jinse.com/blockchain/351608.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

byyMZzR.jpg!web

致力于打造区块链互联网的Cosmos上线至今已有一个月的时间。一个月以来,人们关于其上线为互操作性实现带来的效用影响, 以及它对于以太坊生态的威胁的讨论从未间断。

那么Cosmos究竟是以怎样的方式去构建区块链的跨链网络?其背后又有着怎样的技术设计与支持?本文将会就这些问题进行深入分析。  

- 01 -

互操作性——区块链迈向下一世代的必由之路

由于设计特性,区块链无法应用API接口去获取、修正数据,这种与生俱来的封闭性使得每个区块链像是一个数据“孤岛”。而互联网的价值流通往往离不开不同主体间的信息传递,我们需要在这些“孤岛”及其组成部分之间实现信息交换并能够对这些交换信息进行处理,即实现互操作性。

从信息价值变现的角度来看,通过跨链技术实现互操作性无疑是一种必然。近期诸多跨链项目的落地以及人们对于跨链技术关注度的空前高涨即是对这种必然性的响应——一场技术的世代革新行将到来。而在这场革新运动当中, Cosmos 当属其中最受瞩目的项目之一。

ai2aa23.jpg!web

图1 主流的跨链技术  

- 02-

突破“孤岛危机”—— Cosmos 的技术愿景

Cosmos拟建立一个完整的生态系统。 该系统一方面能够令开发人员更加轻松便捷地构建区块链,另一方面通过允许区块链相互交易的方式来打破区块链之间的障碍,以创建一个区块链互联网 。其他区块链在使用Cosmos区块链时可以维持自身特色,快速处理交易并与生态系统中的其他区块链进行通信。

我们可以将这些技术目标总结为三类问题的解决方向。

(1)可拓展性,POW共识机制缓慢,昂贵,不可扩展且对环境有害。 Tendermint 是一项安全的 BFT 共识协议,为 Cosmos Bonded Proof-of-bet 提供支持。

(2)可用性,目前区块链应用程序较为复杂,对开发人员来说难以理解。Cosmos SDK是一个开发人员友好的模块化框架,用于构建区块链。     

(3)互通性,区块链经济是孤立的,不能在彼此之间转移资产。但Cosmos的 Interblockchain CommunicationIBC )是一种类似 TCP / IP 的区块链消息传递协议。

如此便形成了一个由中心链作为沟通枢纽、Tendermint作为该枢纽的运作引擎、 IBC 协议则作为中心链与其他链的沟通手段的一个完整互联网络构架(如图 2 所示),而开发人员只需借助 Cosmos SDK 在中心链上进行研发与拓展,便可实现区块链互联网的进一步扩大。

下面我们会就这个互联网构架中的各个单位进行剖析解读。

jAnYZfV.jpg!web

图2 Cosmos的技术框架

- 03-

Zone 的主权自治与非原子交换—— Cosmos 的交易模式

Cosmos的第一个中心链叫做Cosmos Hub。 Cosmos Hub是一种多资产权益证明加密货币网络,它通过简单的管理机制来实现网络的改动与更新。此外,Cosmos Hub还可以通过连接其他 Zone 来实现扩展,在整个连接过程中, Cosmos强调了各个 Zone 的主权与自治,每个 Zone 都需要自行保障安全维护,而 Cosmos 社区则通过 PoS 治理来决定哪些可以连接到 Hub 上,以保障 Hub 不会受到恶意连接的 Zone 的攻击。

Cosmos网络的Hub与连接在其上的各个Zone通过区块链间通信( IBC )协议进行沟通,这种协议就是针对区块链的虚拟用户数据报协议( UDP )或者传输控制协议( TCP )。代币可以安全快速地从一个 Zone 传递到另一个 Zone这个传递过程区别于传统的非黑即白的所有权交换,而是一种借助中介的确权与发行的过程 (B桥梁锁定 A 链上的货币,并将锁定证明呈递给 C 链,经确认后再在 C 链上发行货币),它无需体现汇兑流动性,不包括两种资产的实时价值对比。

而Zone内部所有的代币转移也都同样需要通过Cosmos Hub,它会记录每个 Zone 所持有的代币总量并将这些Zone与其他的故障 Zone 隔离开来。此外,每个人都可以将新Zone连接到 Cosmos Hub ,所以它们在今后也将能够兼容新的区块链技术。  

- 04-

Peg Zone 中继连接——在不同共识机制的区块链间建立通信

对于已经存在的区块链,尤其是PoW类的区块链,它们相互之间应用了不同的共识机制,缺乏 Cosmos 链间通信需要确认的最终性。为了解决这些公链之间的通信问题, Cosmos 设计了作为中继连接的代理链 Peg Zone

Peg Zone 主要由资产托管合约、外部区块链全节点、签名合约和交易转发合约等组件组成, 执行对外部区块链的状态跟踪,并设置安全阈值,为 Hu b提供伪实时最终性。

NV3m2qF.jpg!web

图3 Peg Zone扮演的角色

- 05-

Tendermint 引擎—— Cosmos 的共识机制

在共识机制方面,Cosmos所采用的 Tendermint 共识引擎是一种部分同步运作的拜占庭容错共识协议。 Tendermint 的特点在于其简易性、高性能以及分叉责任制。

在经典拜占庭容错算法中,每个节点都扮演着同样重要的角色。而在Tendermint所采用的实用拜占庭容错算法中,只有部分节点拥有投票权,这些节点通常被称作“验证人”。

而验证人的投票权计算规则是一开始就确定好的,并根据治理规则由区块链来决定是否存在变动。比如,在Cosmos Hub这种权益证明类应用程序中,投票权就是由绑定为保证金的代币数量来确定。

共识协议要求存在固定且被熟知的一组验证人,其中每个验证人通过公钥进行身份验证。这些验证人会尝试在某个区块上同时达成共识(这里的区块是指一份份交易列表)。

每个区块的共识轮流进行,每一轮都会有个提议人,由他们来发起区块。之后验证人通过传播加密签名或选票的方式来分阶段参与共识协议,对是否接受该区块、以及是否进入下一轮做出投票。每轮的提议人会从验证人顺序列表中按照其选票比例来选择确定。

在实用拜占庭容错算法中,必须获得绝对多数的三分之二以上的选票才能够通过安全验证,即想要违背安全必须有超过三分之一的选票出现拜占庭问题。如果有任何验证组引发了安全问题,或者试图引发,那么就会被协议发现,一方面针对有冲突的区块进行投票,另一方面将那些有问题的选票广播出去。

- 06-

Cosmos 三部曲

Cosmos的工程量极大,但是项目整体以及各个子项目的都有着清晰的研发规划。根据 Cosmos 白皮书的规划, Cosmos 主网的启动划分为了三个阶段。

(1) 第一阶段,即主网稳定阶段。根据官方博客给出的资料,主网刚刚启动时,网络状态和安全性无法得到足够的保障,在启用代币转账之前,如果Cosmos Hub中存在错误或漏洞,有可能会出现状态回滚或者重启网络。但在这个阶段中可以进行委托给任意验证人进行出块,在验证人出块的时间内,委托人也能得到奖励。同时,PoS共识机制中,越多的代币被抵押出块,被恶意攻击的可能性就越低,网络就越发安全。

(2) 第二阶段,即启用代币转移阶段。一旦被认定主网足够稳定安全,Cosmos Hub中代币 ATOM 的持有者将会投票决定是否开启 ATOM 链上转移,这一部分也会通过区块链上投票治理的方式实现。如果第二阶段开启后,用户将可以转移 ATOM ,同时交易所也将可以对 ATOM 进行充提,更多的人可以购买 ATOM ,并参与到委托验证人出块的环节。

(3) 第三阶段,即IBC启用阶段。如果IBC协议已经完成测试并发布, ATOM 持有者同样需要链上治理来进行投票是否将 IBC 整合到 Cosmos-SDK 中。如果主网到达第三阶段,使用Cosmos-SDK或 Tendermint BFT 构建的应用专有链将能够连接到 Cosmos Hub ,并与连接到 Hub 上的其他任意区块链进行跨链交互。但根据 Cosmos 中国区负责人 Harriet 表示,IBC是 Cosmos 第二季度开发的核心目标。等到 IBC 开发完以后,跨链服务也将可以进行通信转移,由此可知第三阶段还需要一定时间才能完成。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK