万维链李尼副总裁受邀与公有链技术联盟大佬齐聚贺新春,在联盟社区里,万维链全球副总裁李尼李总与大家分享跨链的技术发展与未来。
《礼记 . 中庸》有云,“今天下车同轨,书同文,行同伦。” 讲的是天下车轨统一后,车才能在整个华夏大地上行驶。那么这个道理,也可以用来部分理解跨链。目前所有的区块链项目都是各自独立,没有链接在一起,而万维链要做的是将这些孤立的项目,通过一种协议、协定或者是机制链接在一起。“跨链”的另外一种说法就是“Interoperability”, 中文可以解释为“互操作性”。“跨链”或者说是“互操作性”概念的流行,可以说部分源于 2016 年以太坊的创始人 Vitalik Buterin 发表的一篇题为 《Chain Interoperability》 论文,中文翻译过来就是区块链互操作性。这篇文章解释了区块链互操作性的不同方法,包括多重签名、侧链、哈希锁定(Hash locking)等来触发各链间 Token 的流转。
究竟什么是“跨链”?
“互操作性”并不是区块链独有的概念,在数据库或者是在平台语言中都有这种概念。是指一种能力,使得分布的控制系统设备通过相关信息的数字交换,能够协调工作,从而达到一个共同的目标。而区块链的互操作性,可以理解为将隶属于不同链上的资产,通过某种机制可以进行自主流转。达到互操作性有很多种方法。
现在也有很多朋友问我类似的问题,我们的资产也可在一些钱包、交易所里面进行自主交换,那是不是意味着这些钱包和交易所都具有互操作性呢?关于这个问题呢,我觉得可以从不同的维度进行理解。我们可以说交易所或者钱包可以帮大家完成跨链或者互操作性,但是它并不是以一种分布式的方式去实现。所以如果大家要理解“跨链”或者“互操作性”还需要明确两个重要的知识点,一是“同构”和“异构”,二是中心化和去中心化(分布式)之间的不同。
“同构”比较容易理解,举个例子。安卓手机中有很多 Apps,这些应用都是基于安卓的编程语言进行编写,所以具有互操作性。但同样一个 App,可能有安卓版本也可能有 IOS 版本,但是因为编程语言环境脚本的不同,所以开发者不可能将基于安卓版本直接部署在 IOS 上,,所以说这两个版本间就不具有互操作性。目前的 Layer 2 的解决方案,从某种方面来说也属于同构的跨链。
换作区块链行业来说,基于 BTC 比特币链上的项目或者 BTC 侧链的所有的项目,就具有天然的同构的互操作性。而其他的如 ETH、EOS、Tron 等上面的项目间就不具有这种互操作性,因为不是同构的链,这是属于一种异构的区块链模式。
另外一个就是中心化和分布式的区别。刚才有提到,其实交易所就是以一种中心化的方式去实现这种互操作性。而另外一种,就是完全分布式或者说是去中心化的方式去实现。上图中给大家举了几个简单的例子。比如传统的互联网,之前是一些门户网站,用户是被动接受一些信息,或者只能看到推动的信息,这就是典型的中心化案例,而到了互联网 2.0 和 3.0 阶段,随着自媒体等各类社交媒体的兴起,读者可以自主选择性感兴趣的内容,而不只局限于一个门户网站,这就是分布式的特点。同样,在区块链行业来说,如果要实现跨链,我们也可以重新换个方式,比如交易所和钱包等也可以通过去中心化的方式实现跨链。
目前市面上主流的跨链解决方案和不同方案实现的原理又是什么?
1)跨链为什么难?核心是两个
结合以上两点,我们来看现在行业的一些解决的探索和别的跨链项目的设计思想:
首先是“Relay”中继方案
但是这个方案会验证 BTC 的 header,需要消耗比较多的 gas 费用;同时呢,根据 btc 的特性,出块比较慢,所以等待验证的时间会比较长,所以一般需要 10 分钟左右的时间等待块的确认。这个方案解决了难点α,但是关于 Beta 的交易的原子性并没有得到解决。但是这个方案可以说是对于跨链方案中一个非常有益的尝试,是比较有名的一种方案。
下一个是侧链 Sidechain 的思路
这个方案不错,但是不是所有链都包含 SPV,简单验证的设计。所以也存在一定的弊端,当然这种 two way peg 的方式很好的解决了难点 2,也就是交易的原子性问题。
以上两种是不同的技术的思路,揉合到现有跨链的一些项目,我们举最有影响力的两个(Polkadot 和 Cosmos)来分析一下其设计思路,首先是 Polkadot。
这个是根据 polkadot 的白皮书和新的动向总结的。理论设计上很好,能够很好解决难点 1 和 2。Gavin 对链上治理机制让我们受益匪浅!所以具体的 Polkadot 的技术细节可能要等到主网上线后才能具体分析看到。
再者是 Cosmos
也是明星级项目。基本思路和 polkadot 比较类似,cosmos 是用 hub 来实现。两个项目都考虑到了异构情况下的跨链,也都考虑到了同时要解决难点 1 和 2。
总结一下,各个研究团队,项目团队都对如何更好实现跨链的技术路线做了很多探索,不过很多还是停留在理论设计阶段。遗憾的是并没有可供验证的主网供大家更加详细的了解一下工程实现的细节。区块链其实分理论设计和工程实现两部分,所以只能等到各类型项目主网 launch 以后再和大家更加细致的进行分析。
然后再介绍一下 Wanchain。
Wanchain 利用多方计算和门限密钥共享方案进行联合锚定,在不改变原有链机制的基础上通过跨链通信协议实现最小代价接入。Wanchain 与其他项目相比,我不认为我们在理论上创造了什么特殊的特别之处,理论上创造的基础是密码学,都源于姚期智院士,美国 Micali 教授这些图灵奖神人的理论基础,特别之处在于我们在工程上实现了理论。
Wanchain 3.0 的发布,意味着 Wanchain 打通了比特币、以太坊和 ERC20 通证之间的跨链交易。这将对任何基于以太坊开发的项目在跨链应用上起到示范作用。通过 Wanchain 跨链机制,任何基于以太坊的应用、协议和去中心化交易都将打破壁垒,实现互联互通。例如,原本基于以太坊创建的去中心化交易所或者直接在 Wanchain 上创建的去中心化交易所都将能够利用 Wanchain3.0 的跨链技术实现现有代币与比特币的交易对。支持与比特币的交易会极大提升去中心化交易的资产流动性。此外,跨链技术还能极大拓展资产借贷、代币支付等领域的业务场景。任何目前受限于以太坊单一网络的应用,都将能够连入比特币生态。实现跨链比特币、以太坊和 ERC20 (如 LINK,MKR,Dai,LRC, GUSD),将会给万维链甚至全行业带来深刻的影响。
Wanchain 通过 Storeman 的跨链节点来完成跨链的完成,利用多方安全计算和门限密钥的原理保证跨链交易的安全性。现在采用的是 PPOW 共识机制,为了在跨链协议设计完成之前保证节点的可靠性,同时要准备切换到 POS,争取在 2019 年年底主网切换到 POS (根据白皮书项目 roadmap 的设计)。跨链的共识在上面已经提到了,就是通过 sMPC 和门限将一组 21 个的 storeman 节点内形成一个小的共识(至少 16 个节点)参与的情况下。
跨链的具体应用?
这是一些我们自己设想的场景,也欢迎大家一起帮助利用跨链的机制来实现多种应用场景。
这是目前 Wanchain 薄弱的生态,作为一个跨链的项目方,Wanchain 和目前市场上大多数的项目都不是竞争关系。未来,我们希望利用万维链的跨链技术去帮助一些更多的应用和项目,这才是跨链技术意义所在。我们刚加入公链联盟,认识了很多新的合作伙伴,希望 2019 年将这个生态图进一步扩张,帮助联盟做一些真正有意义的事情。
关于 Wanchain 的 POS 机制
最近关于共识机制大家讨论的很多,目前也越来越多的人关注到这个方面。由于时间有限,最后讲一点 POS 的东西。Wanchain 的 POS 和 casper 完全不一样。
更多是采用 Ouroboros,2 月底我们会准备发布关于 Wanchain 的 PoS 论文,届时再和大家进行详细探讨。