1.1 区块链跨链技术
在区块链的设计中,区块中记录着所有的信息。但区块链也有其封闭性,这个封闭性使得每个区块链更像一个数据“孤岛”,而价值互联网价值的流通离不开链间信息传递,这便是跨链技术出现的必然性,近期众多跨链项目的落地给跨链技术带来极大的关注度。
1.2 目前主流跨链技术
1、公证人机制(Notary schemes): 公证人也称见证人机制,公证人机制本质上是一种中介的方式。具体而言,假设区块链A和B本身是不能直接进行互操作的,那么他们可以引入一个共同信任的第三方作为中介,由这个共同信任的中介进行跨链消息的验证和转发。公证人机制的优点在于能够灵活地支持各种不同结构的区块链(前提是公证人能够访问相关方的链上信息),缺点在于存在中心化风险。
2、侧链/中继(Sidechains/relays):侧链是指完全拥有某链的功能的另一条区块链,侧链可以读取和验证主链上的信息。主链不知道侧链的存在,由侧链主动感知主链信息并进行相应的动作。而中继链则是侧链和公证人机制的结合体,中继链具有访问需要和验证进行互操作的链的关键信息并对两条链的跨链消息进行转移。从这个角度看中继链也是一种去中心的公证人机制。
3、哈希锁定(Hash-locking):哈希锁定技术主要是支持跨链中的原子资产交换,最早起源自比特币的闪电网络。其典型实现是哈希时间锁定合约HTLC(Hashed TimeLock Contract)。哈希锁定的原理是通过时间差和影藏哈希值来达到资产的原子交换。哈希锁定只能做到交换而不能做到资产或者信息的转移,因此其使用场景有限。
4、分布式私钥控制(Distributed private key control):私密资产通过分布式私钥生成与控制技术被映射到基于协议的内置资产模板的区块链上,根据跨链交易信息部署新的智能合约的创建新的资产。当一种已注册资产由原有链转移到跨链上时,跨链节点会为用户在已有合约中发放相应等值代币。为确保原有链资产在跨链上仍然可以相互交易流通,实现和解除分布式控制权管理的操作称为:锁入(Lock-in)和解锁(Lock-out)。锁入是对所有通过密钥控制的数字资产实现分布式控制权管理和资产映射的过程。这时需要委托去中心化的网络掌管用户的私钥,用户自己掌握跨链上那部分代理资产的私钥。当解锁时再将数字资产的控制权交还给所有者。
本文着重介绍的Cosmos区块链就是属于中继技术的一种跨链技术。
1.3 Cosmos愿景
Cosmos的愿景是让开发人员可以轻松构建区块链,并通过允许区块链相互交易来打破区块链之间的障碍。目标是创建一个区块链互联网,能够以分散的方式相互通信。使用Cosmos区块链可以维持自身特色,快速处理交易并与生态系统中的其他区块链进行通信。
2.1 Cosmos技术分析
在Cosmos的介绍中它从三个方面解决了目前区块链问题。
可拓展性
POW共识机制缓慢,昂贵,不可扩展且对环境有害。Tendermint是一项安全的BFT共识协议,为Cosmos Bonded Proof-of-bet提供支持。
可用性
目前区块链应用程序较为复杂,对开发人员来说难以理解。Cosmos SDK是一个开发人员友好的模块化框架,用于构建区块链。
互通性
区块链经济是孤立的,不能在彼此之间转移资产。但Cosmos的Interblockchain Communication(IBC)是一种类似TCP / IP的区块链消息传递协议。
2.2 Zone与Hub
Cosmos上的第一个Hub叫做Cosmos Hub。Cosmos Hub是一种多资产权益证明加密货币网络,它通过简单的管理机制来实现网络的改动与更新。此外,Cosmos Hub还可以通过连接其他Zone来实现扩展。
Cosmos网络的Hub及各个Zone可以通过区块链间通信(IBC)协议进行沟通,这种协议就是针对区块链的虚拟用户数据报协议(UDP)或者传输控制协议(TCP)。代币可以安全快速地从一个Zone传递到另一个Zone,两者之间无需体现汇兑流动性。Zome内部所有代币的转移都会通过Cosmos Hub,它会记录每个Zone所持有的代币总量。这个中心会将每个Zone与其他故障Zone隔离开。因为每个人都将新Zone连接到Cosmos Hub,所以个Zone今后也可以兼容新的区块链技术。
2.3 共识机制与IBC协议
Tendermint是部分同步运作的拜占庭容错共识协议,Tendermint的特点就在于其简易性、高性能以及分叉责任制。协议要求有固定且熟知的一组验证人,其中每个验证人通过公钥进行身份验证。这些验证人会尝试在某个区块上同时达成共识(这里的区块是指一份交易列表)。每个区块的共识轮流进行,每一轮都会有个领头人,或者提议人,由他们来发起区块。之后验证人分阶段对是否接受该区块,或者是否进入下一轮做出投票。每轮的提议人会从验证人顺序列表中按照其选票比例来选择确定。
Tendermint采用由绝对多数的选票三分之二选定的最优拜占庭容错算法。
想要违背安全必须有超过三分之一的选票出现拜占庭问题。
如果有任何验证组引起了安全问题,或者说是企图这么做,那么就会被协议发现,一方面针对有冲突的区块进行投票,同时广播那些有问题的选票。
2.4 验证人
在经典拜占庭容错(BFT)算法中,每个节点都同样重要。在Tendermint网络里,拥有投票权的节点被称作“验证人”。验证人通过传播加密签名或选票,来参与共识协议并商定下一区块。
验证人的投票权计算规则是一开始就确定好的,根据治理由区块链来决定是否有改变。比如,在Cosmos Hub这种权益证明类应用程序中,投票权就是通过绑定为保证金的代币数量来确定的[2]。
截至2019年4月10日,主网验证节点已达100个其中活跃节点97个,抵押ATOM数量121,160,316个约占总量的51%。平均出块时间为6.65秒,与主网上线前官方预测的5秒差距较大,社区正在讨论是否修改参数以达到预期目标值。
验证人节点硬件设备
成为 Cosmos 节点的硬件配置:
CPU 核数:2 内存容量:6GB 磁盘空间:256GB SSD 操作系统:Ubuntu 18.04 LTS/16.04 LTS。
带宽: 20Mbps 。任何云服务器都可以运行节点,如 AWS、GCP、DigitalOcean 等云服务器,具备上述服务器后按照官方配置教程来就可以运行节点。
值得注意的是以上节点配置并不是一成不变,随着区块高度的增加数据也会相应增加,节点配置同样需要升级。
2.5 Cosmos Hub主网的三个阶段
1) 第一阶段:主网稳定阶段
根据官方博客给出的资料,主网刚刚启动时,网络状态和安全性无法得到足够的保障,在启用代币转账之前,如果Cosmos Hub中存在错误或漏洞,有可能会出现状态回滚或者重启网络。但在这个阶段中可以进行委托给任意验证人进行出块,在验证人出块的时间内,委托人也能得到奖励。同时,pos共识机制中,越多的代币被抵押出块,被恶意攻击的可能性就越低,网络就越发安全。
2) 第二阶段:启用代币转移阶段
一旦被认定主网足够稳定安全,Cosmos Hub中代币ATOM的持有者将会投票决定是否开启ATOM链上转移,这一部分也会通过区块链上投票治理的方式实现。如果第二阶段开启后,用户将可以转移ATOM,同时交易所也将可以对ATOM进行充提,更多的人可以购买ATOM,并参与到委托验证人出块的环节。[3]
3) 第三阶段:启用IBC
如果IBC协议已经完成测试并发布,ATOM持有者同样需要链上治理来进行投票是否将IBC整合到Cosmos-SDK中。
如果主网到达第三阶段,使用Cosmos-SDK或Tendermint BFT构建的应用专有链将能够连接到 Cosmos Hub,并与连接到Hub上的其他任意区块链进行跨链交互。但根据Cosmos中国区负责人Harriet表示IBC是Cosmos第二季度开发的核心目标。等到IBC开发完以后,跨链服务也将可以进行通信转移,由此可知第三阶段还需要一定时间才能完成。
参考资料
[1]https://36kr.com/p/5117175.html
[2]Cosmos白皮书
[3]https://github.com/cosmos/cosmos-sdk/blob/develop/docs/gaia/launch/blog-2-cn.md
[4]Conflux中文社区
[5]https://forum.cosmos.network/t/list-of-projects-in-cosmos-tendermint-ecosystem/243