跨链技术是什么?
跨链技术可以被理解为一种协议,解决两个或多个不同链上的资产以及功能状态不能互相传递、转移、交换的问题。也就是说,跨链技术能够增加区块链的可拓展性,能够从根本上解决不同公链/侧链之间交易困难产生的”数据孤岛“问题。
跨链技术的难点
跨链技术从 Blockstream 提出侧链概念以来,一直是区块链技术的重点攻关方向。目前并没有被普遍认可的跨链机制,原因在于各个公链之间的底层技术实现差异巨大给跨链技术带来了不小的障碍。
跨链需要解决的几个难点问题:
· 保证跨链信息真实可信
原链上的交易信息对于另一条链来说是一个外部信息,如何保证这个外部信息进入另一条链时是正确的,是整个跨链机制的重要环节。如果要考虑到使用 POW 机制的区块链上没有终局状态(始终存在分叉的情况,只是随着确认块的增加,概率逐渐变小),这个问题的复杂度会更高。
· 跨链交易要确保原链上的 Token 总量不会因为跨链而减少或增多
跨链技术很重要的一个应用方向就是数字资产的跨链转移,如何保证不同链上的数字资产能够安全地从一条链转移到其他链,又可以从其他区块链安全地返回主链是亟待解决的问题之一。对于数字资产的跨链转移来说,原链上 Token 总量减少的后果是当 Token 需要跨回原链时,原链无法产生新的 Token ,也就是只能单向跨链。原链 Token 增多是名义上的增多,实际上是本来已经跨链至另一个账本的 Token 在原链上被双重支付了,这种情况违背了精确记账的原则,是在任何时候都无法接受的。因此当 Token 跨出原链时,原链上的 Token 必然需要进入“锁定”的状态,当 Token 跨回原链时,这些 Token 需要被解锁。如何通过去中心化的管理机制完成“锁定”、“解锁“的过程就成为了跨链的关键。
· 保证整个跨链交易的原子性
交易的原子性,简单来说是指交易处理的某个环节停止,整个交易能够撤销,而不会存在部分成功,部分失败的情况,无法保证原子性会造成双重支付。在跨链技术中保证原子性的难点在于,跨链双方是两条独立的链,可能具有不同的共识机制、数据结构、交易处理逻辑等等,造成交易最终没有被执行的原因也千差万别。
现有的跨链技术方案
目前主流的区块链跨链技术有公证人机制(Notary schemes)、侧链/中继(Sidechains/relays)、哈希锁定(Hash-locking)。
上表列出了各种跨链技术的基本区别,早期跨链技术包括以瑞波和BTC Relay为代表,它们更多关注的是资产转移;现有跨链技术以Polkadot和Cosmos为代表更多关注的是跨链基础设施;新出现的FUSION实现了多币种智能合约,是一种很有应用价值的公有链,在其上可以产生丰富的的跨链金融应用。
公证人机制
公证人技术的代表就是瑞波 Interledger 协议。2012年,瑞波实验室提出 Interledger 协议,旨在连接不同账本并实现它们之间的协同。Interledger 协议适用于所有记账系统、能够包容所有记账系统的差异性,该协议的目标是要打造全球统一支付标准,创建统一的网络金融传输的协议。
Interledger 协议使两个不同的记账系统可以通过第三方“连接器”或“验证器”互相自由地传输通证。记账系统无需信任“连接器”,因为该协议采用密码算法用连接器为这两个记账系统创建资金托管,当所有参与方对交易达成共识时,便可相互交易。
侧链
侧链是以锚定某种原链上的通证为基础的新型区块链,正如美金锚定到黄金。侧链是连接各种链,其它区块链则可以独立存在。
侧链技术的代表是 BTC Relay。它被认为是区块链上的第一个侧链。BTC Relay 把以太坊网络与比特币网络通过使用以太坊的智能合约连接起来,可以使用户在以太坊上验证比特币交易。它通过以太坊智能合约创建一种小型版本的比特币区块链,但智能合约需要获取比特币网络数据,因此实现去中心化比较困难。BTC Relay 进行了跨区块链通信的有意义的尝试,打开了不同区块链交流的通道。
中继技术
中继技术的代表是 Polkadot。Polkadot 是由原以太坊主要核心开发者推出的公有链。它主要解决当今两大难题:即时拓展性和可扩展性。Polkadot 计划将私有链/联盟链融入到公有链的共识网络中,同时又能保有私有链/联盟链的原有的数据隐私和许可使用的特性。它可以将多个区块链互相连接。
Polkadot的提出者 Gavin Wood 希望用一条中继链(Relay-chain)来实现其他所有链的交易的验证工作, 再通过平行链的创建实现与原链的交易与通信。
Polkadot目前还是以以太坊为主,实现其与私链的互连,并以其他公有链网络为升级目标,最终让以太坊直接与任何链进行通讯。
哈希锁定技术
哈希锁定技术的代表是闪电网络。闪电网络底层运用了 HTLC 技术和 RSMC 技术,构建了一个个链下支付通道。这些通道合在一起成为一个网络。交易双方的数目比较小的微支付可以通过一系列的链下协议完成,从而拓展比特币的性能。
闪电网络的关键技术是HTLC哈希锁定技术,基本原理如下:Alice和Bob可以达成这样一个协议:协议将锁定Alice的0.1 BTC,在时刻T到来之前(T以未来的某个区块链高度表述),如果Bob能够向Alice出示一个适当的R(称为秘密),使得R的哈希值等于事先约定的值H(R),Bob就能获得这0.1 BTC;如果直到时刻T过去Bob仍然未能提供一个正确的R,这0.1 BTC将自动解冻并归还Alice。
闪电网络并不试图解决单次支付的问题,其假设是单次支付的金额足够小,即使一方违约另一方的损失也非常小,风险可以承受。因此使用时必须注意“微支付”这个前提。
分布式私钥控制技术
私密资产通过分布式私钥生成与控制技术被映射到基于协议的内置资产模板的区块链上,根据跨链交易信息部署新的智能合约、创建新的资产。当一种已注册资产由原有链转移到跨链上时,跨链节点会为用户在已有合约中发放相应等值代币。为确保原有链资产在跨链上仍然可以相互交易流通,实现和解除分布式控制权管理的操作称为:锁入(Lock-in)和解锁(Lock-out)。锁入是对所有通过密钥控制的数字资产实现分布式控制权管理和资产映射的过程。这时需要委托去中心化的网络掌管用户的私钥,用户自己掌握跨链上那部分代理资产的私钥。当解锁时再将数字资产的控制权交还给所有者。
虽然中心化的网络掌握用户部分私钥,但用户并没有失去对这笔资产的控制权,拥有私钥才是拥有对这笔资产的控制权。
FIBOS 的跨链思考
哈希锁定作为 FIBOS 跨链技术的选型并不理想。一方面哈希锁定无法保证数据来源的可信度;另一方面,它还需要用户在一定时间窗口完成操作,用户本身也成为了跨链的一部分,提升了用户使用门槛。
公证人机制天然比较契合 FIBOS 的生态,因为 FIBOS 中 BP 节点(Block Producer)恰好可以作为公证人。但这也带来了一定的问题,首先,BP 节点由投票产生,其变动速度较快,公证人列表需要不断的更新,需要考虑如何去中心化的同步公证人列表、以及公证人列表和 FIBOS BP 不一致所带来的数据同步问题;其次,因为 BP节点 是由 FIBOS 选出,其他链是否完全认同这一结果还未可知;最后,公证人机制本身存在数据重复发送的问题,降低了效率。并且,得到的数据依靠“多签”机制来判断能否执行,不能在数学层面上验证,这也会产生风险。
侧链技术对于 FIBOS 跨链技术有一定的可取性。由于其区块状态在合约内同步进行,所以会产生不必要的 CPU,RAM 等资源消耗。同时带来的问题是,由于 FIBOS 出块速度较快(0.5s),在 FIBOS 侧链进行多块的状态同步,容易产生超时问题。使用侧链来解决数据的可信度是一个很好的方案,可是不应该将其放在合约内进行。
中继方案看起来更为可取,因为中继链的存在,不会因同步状态消耗额外资源在原链上。同时,异构链的数据结构不同问题,可以在中继链内进行数据转换解决。这使得中继方案不仅比较经济,而且能在异构链之间进行转账。唯一的问题在于锁定资产账户由谁来控制,以及状态和数据同步由谁进行,这一点在上述的中继技术方案里并没有给出答案。
对于 FIBOS 生态来说,解决跨链问题是一个战略性地挑战,尤其在谈到和 EOS 之间的跨链转账问题时,跨链技术是必须要攻克的难关之一。对此,融合公证人机制和中继的方案有着较高的可行性。资产锁定账号由公证人共同掌握,公证人同时负责区块状态的初始化和给出一个同步地址。当出现跨链转账操作时,首先由见证人执行多签对跨链资产进行转出,然后进入中继链,进行数据验证。验证成功后,再由多签操作转入目标链。这使得公证人机制能够在数学层面上被验证,同时使得中继链的数据来源较为可信。
区块链从技术上来说是P2P网络、加密技术和分布式账本,从经济上来说,它是价值网络。而目前,由于不同链之间通信壁垒的存在,导致了区块链的价值网络呈割裂状态。区块链作为价值网络的基础设施部分,不应该局限于一个个“价值孤岛”,更不能仅仅将价值圈定于一个个小的生态中。因此需要跨链技术将不同的链之间进行链接和拓展,构建价值网络的高速公路。随着区块链技术的高效迭代和创新,相信跨链技术会越来越成熟,区块链价值网络的高速公路也终将会把一个个“孤岛”连接起来。
评论
查看更多