跨链是公链领域正在着手解决的问题之一。从业者普遍认为,未来公链 / 联盟链众多,不同链之间的资产需要有一个可信的交换场所或机制(去中心化交易所),同时跨链也有助于扩大数字货币的使用场景。比如比特币本身不支持智能合约,但是如果在另一支持智能合约的链商支持比特币,则扩大了 BTC 的流通场景。
Odaily 星球日报最近接触到主攻跨链资产交换和流通的区块链平台 Wanchain 万维链。创始人吕旭军认为,原来互联网上的各个后台信息都是可以相互传递,但问题在于没有也无需验证;由于区块链的资产属性尤其明显,使得其跨链不同于传统互联网信息传递,参与者说谎的动机增强。因此,相较于信息跨链,万维链认为资产跨链是更亟待解决的命题。
本文先整体介绍万维链的跨链过程,再介绍技术细节。 假设小明要将 1 个 BTC 转移到万维链上来用,小明需要先在 BTC 链上发送 1 个 BTC 到锁定账户;验证完毕之后,万维链上小明的账户会在生成等值的锚定币 WBTC,小明可以用这些锚定币使用万维链上的任何应用,比如在去中心化交易所买小红的 10 个 WETH(ETH 的锚定币),WETH 也可以转到小明自身的以太坊账户中,变成 ETH。除了原链账户,用户还需要拥有万维链的钱包,并缴纳 wan token 支付 gas 和手续费。
在这个过程中,原链资产移入或者移出万维链,有点像往这条链上充值和提现。不同公链的锚定币就有点像万维链上的 ERC20 资产,可以与万维链原生币 wan 交换。一旦支持的公链足够多,意味着部署在万维链上的 DApp 可以支持各币种,一个币种也可以用于多应用。不同于闪电网络等状态通道只需交易双方签名,万维链自身是一条公链,交易需要经过 POW(未来改成 POS)共识确认。
上述跨链过程需要解决的难点主要有二。万维链表示,这也是大多数跨链项目需要解决的问题:
一是保证跨链信息是正确的,即如何验证原链上的交易状态。如果要考虑到使用 POW 机制的区块链上没有终局状态(始终存在分叉的情况,只是随着确认块的增加,概率逐渐变小),这个问题的复杂度会更高。
二是保证原链 Token 总量恒定。万维链采用了锁定和解锁的方式能保证总量恒定,如何管理 “锁定” 和“解锁“是一个关键。另一个关键是保证交易的原子性,即如果交易处理的某个环节停止,整个交易能够撤销;否则,部分成功的情况可能会导致双花。
万维链计划通过分布式共识组 Voucher(交易证明节点)来验证原链上的交易。假设 Alice 在以太坊上将 ETH 发送到锁定账户,Voucher 既是原链节点也是万维链节点,它验证原链交易确认之后,向万维链上的 Validator(验证节点)发送 “true” 信号,则 Validator 所维护的公共账户就会往 Alice 的万维链账户发放等值 WETH。一旦或后面任何一步失败,则原链的锁定账户会将 ETH 解锁并还给 Alice。该账户私钥也是由多个节点持有,名为 Storeman(账户管理节点)。
万维链中,Storeman 管理私钥的机制使用安全多方计算 + 门限秘钥的技术,Storeman 必须共同参与计算才能生成锁定账号的公私钥,而私钥只是理论存在,从未出现在网络中,而是以碎片的方式分散在各 Storeman 手中,交易时参与方要再次合力才能共同构造签名,且互不泄露碎片。为了保证可用性,只需要一定比例的 Storeman 参与计算即可构造签名。
由于上述验证、发起原链交易和发起万维链交易的权限在不同节点(逻辑上不同)上,都需要通过一组节点完成,加上激励上的奖惩机制,防止节点作恶。不过,吕旭军表示,Voucher 共识的模式还在验证阶段:工程上 Voucher 信息的提交和验证如果上链,需要耗费较高的链上资源并限制吞吐量;经济上需要更合理的激励机制让 Voucher 成员积极参与并消极作恶。
在 Voucher 机制实现之前,万维链在 2.0 方案暂时引入了原子互换(Atomic Swap)的机制,主要是通过哈希时间锁(hash time lock)和密数(Secret)让双方完成交易,不需要第三方公证人。这个方式通俗来说可以这样理解:
假设小明要转 10 个 ETH 给小红,小红要转 10 个 wan 给小明;
小明在以太坊一智能合约里锁了 10 个 ETH 加上一个密码的哈希值,并置入条件:如果小红在 10 小时内提供了密码,合约验证之后小红就能获得 10 个 ETH,否则回滚;
小红在万维链一智能合约里锁了 100 个 wan 并把密码的哈希值放在里面,并置入条件如果小明在 5 小时内提供了密码,就能获得100 个 wan;
小明看到小红在 wan 也锁了钱,就凭密码到 wan 上拿走了 100wan;
小红也从 wan 上的合约中得知密码,凭密码到 ETH 合约中拿走 10 个 ETH。
我们可以把小红换成万维链的 Storeman,用户(小明)只需要在发起交易、释放密数、撤销交易的环节进行操作。对于参与跨链的 Storeman,万维链会提供专门的客户端,客户端根据协议进行无需值守的自动化运行。
吕旭军表示,万维链设计上既可以跟与公链打通,也可以与联盟链打通。万维链与韩国和加拿大跨链项目 ICON 和 AION 达成合作,未来希望与行业制定统一标准跨链。目前,万维链主网已经上线 2.0 版本,可以分别和 ETH、BTC 交互。后两者的交换犹待撮合引擎完成,万维链目前已经跟去中心化交易所 KyberNetwork 达成合作,未来将支持以太坊应用迁移到万维链上。
万维链团队目前有约 70 人,其中开发者约 45 人,分布在全球各地的市场运营人员约 25 人。创始人吕旭军是网录科技创始人,原 Factom(公正通)联合创始人、首席技术官,毕业于北京大学与俄亥俄州立大学经济学、计算机硕士,他拥有 20 多年互联网及软件开发和管理经验。此前万维链完成了 3600 万美元的融资。
我是Odaily星球日报编辑卢晓明,探索真实区块链,爆料、交流请加微信lohiuming,烦请备注姓名、单位、职务和事由。
参考文章: