用户登陆
正在加载
以太坊侧链与跨链是什么意思?
互联网 · 2020-10-15 11:29:25

侧链与跨链 (Sidechain,Cross-Chain)

侧链最早是为了提升比特币交易速度所提出的解决方案,可以让比特币安全的从主链上转移到另一条链,又可以安全的返回比特币主链的一种协议。如果一个 链B 的存在是为了处理 链A 上的交易,简单来说 链B 就像外挂插件,依附于 链A,则称 链B 为 链A 的「侧链」,链A 就是 链B 的「主链」。其中 主链A 并不知道 侧链B 的存在,侧链B 知道有 主链A 的存在。

侧链与跨链的定义较难釐清,也有许多人将所有牵涉到链下的解决方案统称为侧链,为了方便理解,如果是像比特币与以太坊这种,两条拥有各自独立数据的主链之间的数据交换,本文则称之为「跨链」。

双向锚定 (Two-way Peg)

然而在区块链的世界中,资产不能真的从一条链转移到另一条链。以比特币为例,比特币不可能真的从一条链流通到另一条链,而是透过「双向锚定」的方式完成。

以比特币为例,进行侧链或跨链操作时,将比特币发送到一个特定的钱包地址锁定,就能够在另一条链上释放等量的代币。同样的,当等量等值的代币在侧链上被锁定时,比特币区块链上的原始比特币就可以被释放了。   

这时就涉及到一个很重要的问题,「安全」。谁来管理锁定的账户?谁来解锁?锁定的资产如何被安全释放?可以说,这个部分是侧链与跨链技术最困难的地方。

目前主流的方法有公证人机制、中继器/链、哈希锁定和分佈式私钥控制四种机制。

公证人机制 (Notary schemes)

链与链之间互操作最简单的方法是使用公证人模式。在公证人模式中,使用受信任的一个或者一组团体向链A声明链B上发生了某事件,或者确定该声明是正确的。

举个例子 :

阿平有一个比特币,阿蔡有一个以太币。

有一天阿平突然跟阿蔡说,”欸欸,我用一个比特币跟你换一个以太币”。阿蔡听到兴奋不已,但冷静思考后,觉得天底下哪有这么好的事,阿平会不会心怀不轨。于是,他想了一个办法,他找了老徐来当公证人,双方都先把币打给老徐,老徐收到双方的币并确认金额无误后便把一个比特币打给阿蔡,一个以太币打给阿平,双方交易完成。 

公证人模式在侧链解决方案领域受到很多关注,因为其既可以提供灵活的共识,也无需进行昂贵的工作证明或关于利益机制的复杂证明。然而,从上述例子中我们也不难发现,最大的缺点就是中心化程度高,存在安全疑虑,如果例子中的老徐从中作梗,将导致资产陷入危险之中。公证人模式的代表项目有 Ripple。

中继器/中继链 (Relays/Sidechain)

区块链的区块头中拥有歷史交易的有效证明信息。因此可以藉由将链A的区块头,写入中继链的块中。等待链A的区块头序列之后,在中继链上处理的交易,就可以通过区块头的歷史交易的证明信息,来验证交易的有效性。以比特币为例,中继链就像是比特币链的简易复製版,比特币可以透过这条复製出的中继链,与其他区块链进行跨链的资产转移。

侧链与跨链 - 中继器 中继链

  来源 : Chain Interoperability,Vitalik Buterin,September 9, 2016

以BTC Relay为例。在 BTC Relay 的设计中,比特币链上会有一个脚色称为 Relayer ,负责蒐集比特币的区块头讯息并 将此讯息发送给 BTC Relay , BTC Relay 透过这些区块头的串接创建出小型版本的比特币区块链,以太坊 Dapp 开发者便能藉此从智能合约向 BTC Relay 进行 API 调用来验证比特币网路的状态。

举个例子:

阿菜想用比特币跟阿平买以太币,他们说好要用BTC Relay做交易。

阿平会先将以太币打到 BTC Relay 在以太坊上的智能合约 BTCSwap,阿菜再接着将比特币打到阿平的比特币地址。→阿平拿到比特币

接下来阿菜必须让智能合约知道他已经把比特币打给阿平了,阿菜把交易资讯发送给BTC Relay 验证这笔交易是否真实存在。(注意,由于区块链是封闭式的,所以必须由使用者提供资讯,才能进行验证)

验证成功后 BTC Relay 便会触发 BTCSwap 释放以太币给阿菜。→阿菜拿到以太币

中继器 / 中继链 与公证人所扮演的脚色事一样的,不同的地方在于,公证人机制存在信任问题,交易执行与否,由公证人决定,而 中继器 / 中继链 则是自动执行,只要符合条件即自动进行交易。

哈希锁定 (Hash-locking)

哈希锁定模式的设计来自于闪电网路,也是其关键技术之一。透过「哈希锁定」以及「时间锁」的搭配,能够消除网路上参与交易者之间的信任问题,这部分在之后的「闪电网路」会做更深入的介绍。虽然哈希锁定能实现单一资产的交换,但是不能实现跨链两种资产之间的转移,换句话说哈希锁定没办法做到比特币与以太币之间的跨链资产转移,因此它的应用场景比较受限。

分佈式私钥控制(Distributed private key control)

进行跨链交易时,需要涉及的问题是,「原有链上的资产必须被安全的锁定,当交易完成时,资产要能安全的被解锁与分配」。而分佈式私钥控制就是跨链进行资产锁定的其中一种解决方案。

以跨链项目 FUSION 为例,当用户要进行跨链交易时,就需要锁定 链A 上的部分资产。首先需要先向 FUSION 请求跨链交易,FUSION 便会生成一个可以锁定资产的一组私钥和地址,并把这个地址发送给用户,用户就可以在 链A 上把资产转移到锁定的地址上面去。

接下来 FUSION 网路裡面的多个节点,会将这组私钥,拆分共同保管,由多个节点共同持有这组私钥,单独某几个节点是没办法去动用这裡面的资产的。只有在通过智能合约的特定条件(例如: 链B 交易完成)时,各节点达成共识之后,如果他们都认为这个资产是可以解锁的,他们才会把各自的私钥片段贡献出来,将这个私钥完整恢復,对应的资产也就可以被解锁了。

侧链与跨链-比对

侧链的应用

侧链的应用较单纯,就是将原链上的某些交易,转移到侧链上做确认,要结算时,在将结果广播到原链上清算。简单来说侧链最大的应用就是提升交易吞吐量。

现实世界中的赌场,就是侧链很好的例子。想像一下,如果每一个赌桌,都开放用新台币下注,桌上又是钞票又是零钱,每一局结算等荷官算钱都不知道浪费多少时间了。所以大部分赌场都会统一使用筹码下注,让所有人进场时将法币换成筹码 (双向锚定,锁定原资产),所有赌局都透过筹码进行,要离开时再回到柜台结算,将筹码换回法币 (交易结算,释放相应数量的资产)。

跨链的应用

  1. 与侧链相比,跨链涉及到两条不同的链,因此拥有更多样化的应用场景。

  2. 资产转移:不需要透过交易所即可进行资产交换。

  3. 原子交易:所谓原子交易就是说如果 A交易 成功了,那么 B 就应该是成功,如果 A 失败了,那么 B 就肯定是同时失败的。BTC Relay 就是原子交易很好的例子,若比特币没有发送至约定地址,就无法触发智能合约发送以太币。

  4. 数据交换:链A 能够得知 链B 上的数据

去中心化交易所:一般去中心化交易所只支援单一条链上的资产,例如 EtherDelta 只支援以太坊的 ERC20 代币。透过跨链技术,去中心化交易所即可实现不同链上的资产交换。

免责声明:
本网站所提供的所有信息仅供参考,不构成任何投资建议。用户在使用本网站的信息时应自行判断和承担风险。币界网不对用户因使用本网站信息而导致的任何损失负责。用户在进行任何投资活动前应自行进行调查和研究,并谨慎决策。币界网不对用户基于本网站信息做出的任何投资决策负责。用户在本网站发布的任何内容均由其个人负责,与币界网无关。
免责声明:本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。币界网对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。币界网用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与币界网无关。币界网不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。
s_logo
App内打开