Cosmos架构解析
发布于 1 个月前 作者 yuelipeng 133 次浏览 来自 其他链技术

Cosmos在上海宣讲会后,又举办了三场全国巡回宣讲,并进一步推广了HackAtom黑客马拉松比赛,让更多的人了解到了Cosmos技术并参与到比赛中来。

Cosmos的目标是Internet of Blockchains,也就是要打造区块链互联网,首要解决的问题是区块链间的交互性问题,实现无需信任的数字货币跨链交易,摒弃第三方中心化交易所,cosmos.network的网站上有一个视频短片,大家可以去看一下,比较形象地描述了Cosmos做的事情。

59eedc4b647ee.png

本次巡回宣讲我们请到了诸多嘉宾,首先是Cosmos的CSO首席战略官Jim Yang,他给大家介绍了区块链中共识算法的用途,又进一步介绍了Cosmos中的Tendermint共识算法。杭州分会场请到了imToken的社区经理MakoShan,他为大家分享了什么是Token、什么是代币经济、以及imToken作为区块链世界入口的重要性。北京分会场请到了布比区块链的姜景锋顾问,他介绍了布比在区块链技术领域的多年积累,以及布萌这一国内应用最广泛的现实世界数字资产交易平台。深圳分会场请到了ThoughtWorks的刘尚奇顾问,他介绍了区块链的核心价值、业务能力、应用场景、去中心化应用、以及创投趋势。再次感谢各位嘉宾的精彩分享,其后岳利鹏进行了Cosmos框架的中文演讲,PPT如下:

59eedc7ac7c53.png

Cosmos首先要解决交互性的问题,现在我们的有比特币BTC的链、以太坊ETH的链,还有其他很多的链,但他们都是独立的,各自解决了自身去中心化记账的问题,但没有解决联合交易的问题,我们的仍然需要中心化交易所和法币等中间媒介才能进行代币交易。交易所是急需智能合约化的事务,只有解决连通性的问题,才能让区块链世界真正产生指数级的网络效应。Cosmos的Zone链将替代目前交易所的充值提现等动作,将外部链的资产转化为能够在Cosmos网络内流通的资产,Cosmos的Hub链类似于世界银行系统,作为中央对手方连接不同的Zone,记录用户的多资产。Dex作为交易所,承担去中心化挂单撮合等操作。

59eedc87b9ac8.png

Cosmos还可以解决伸缩性的问题,如果链无法保持连通性,那大家只能挤在一条链里,而且为了网络的中心化特性,链需要照顾到最普通机器的计算性能。这就是比特币和以太坊正在发生的问题,如果有多条链,各自运行自己的应用,只在需要交互时再通信,那就可以大大增强整个网络的吞吐量,比如每个zone有10%的交易需要跨链,那么连接10个zone,hub的性能也刚好达到瓶颈,但整个网络的吞吐量是之前的10倍。

59eedc87b9ac8.png

Cosmos还可以给可升级性提供一种选择方法,现在区块链的一个问题是网络升级需要硬分叉,需要所有的矿工从老版本的链切换成新的链,但这经常造成硬分叉,比如ETH、ETC和BTC、BCC,Cosmos提供了一种可能性,每次升级可以部署一个新的Zone,一开始没有用户和资产,愿意迁移的用户再将资产从老链迁移到新链上。

59eedc9ef062f.png

Cosmos是一个长期的开发过程,有些模块是系统中必不可少的部分,比如中心链Hub将承担用户多资产的存储和路由工作,Atom代币是Hub上的安全性抵押代币,将参与DPos共识。链间通讯接口IBC是Cosmos的Hub和Zone的标准通信协议,链上治理承担着系统运行参数的运行时投票修改的功能,减少硬分叉发生的次数,对将来的代币利率、添加Zone等事务进行全民投票。比特币和以太坊作为目前区块链领域最重要的两个资产,是Cosmos网络集成的首要目标,但BTC的链由于协议限制可能会比较麻烦。Basicoin框架更名为Cosmos SDK,使普通用户再开发数字货币变得更简单,其上的插件机制还可以做更多的逻辑扩展。Ethermint是把EVM作为Tendermint的一个ABCI应用,把两个技术的优势进行结合,既可以利用到Tendermint的3s不挖矿不分叉的共识,又利用到了EVM这一目前最通用的确定性虚拟机。系统其余部分承担了去中心化转账的问题,Dex分区承担的是去中心化兑换的问题。

59eedcac765e5.png

其余辅助软件包含区块链浏览器、以及一个可能的智能合约框架、新增一些其他链的分区。Cosmos系统是可扩展的,有些模块不一定需要官方来开发,而是由其他项目方或第三方爱好者来开发。

59eedcb92f534.png

Hub链上将会有100多个验证人来保证去中心化特性,他们目前还不存在,所以链在启动的时候会有若干个官方挑选的验证人,由他们进行初始启动,再进行全名投票选举。Cosmos还给自己定义了5个大的版本号。

59eedcc60f35c.png

要理解Cosmos的去中心化方式,我们需要先来看一下中心化的交易模式,用在BTC和ETH的链上分别有资产,他们需要先充值到交易所的分配给他们的中心化地址,这个地址只有交易所知道私钥,所以是中心化的。然后用户到交易所的网站服务器里挂单,进行撮合成交,再从交易所的链上地址提现到自己的地址。这个过程总共分7步,这7步任何一步都可能会断掉,完全不是原子的交易,用户只有完成提现,资产才真的归自己控制。

59eedcd2a6243.png

跨链转账的核心是一种叫做侧链的机制,我们先来讲解这个单元。资产原来在的链叫做主链比如比特币或以太坊,资产要转移过去的链交易侧链,比如Cosmos转接桥或分区链。侧链会有N个验证人,采用投票出块的模式,他们都会在主链上有账户,并且形成一个多重签名账户,主链上的用户AM将币转入这个多重签名账户就完成了资产锁定,类似中心化交易所的充值,但这个地址是多重签名的,由多方共同监管,所以这里是去中心化的核心。然后锁定的证明数据会发送到侧链上,侧链会给用户AS增发新的币,和老币一一对应,这就是多签锁定-侧链发行机制。然后侧链的新币可以在侧链内自由流通,比如转给了BS,但BS想拿到真正的比特币,就往一个销毁账户转账,然后侧链的验证人会去调用主链的多签地址,解锁之前AM的币给BM。

59eedcdeaed0b.png

有了如上的跨链转账单元,然后我们就可以有Cosmos的整体架构了,入金方向上比特币的转账路径为,从BTC的POW链到BTC的分区链,再到Hub链,再到Dex链。以太坊的方向上是一致的,到了DEX的链后再进行原子撮合,完成CBTC和CETH的兑换。

59eedce9deea0.png

出金方向上CETH币的转账路径为,从Dex的分区链到Hub的中心链,再到ETH转接桥分区链,再到ETH的POW链。比特币的方向上是一致的,不过以太坊上用的是合约,比特币上用的是多签地址。

59eedcf6cf269.png

接下来是Cosmos的底层技术栈,Tendermint本身是个单人单票的BFT共识,到公有链后需要做成以代币为基础的DPOS机制,添加入一些经济激励和惩罚的规则。ABCI是区块链应用接口,允许用户用任意语言编写应用。Tendermint的轻节点不同于POW的轻节点,不需要从头到尾下载区块链,而是只要能够保证验证人列表准确,就可以直接下载最新高度的区块来验证,省去很多麻烦。现在Cosmos项目方做了两套测试链系统,欢迎大家测试。

回到顶部