侧链与跨链的概念往往难以界定,有些人甚至将所有涉及链下解决方案的技术统称为侧链。为了便于理解,本文将比特币与以太坊这类各自拥有独立数据的主链之间的数据交换称为“跨链”。
### 双向锚定(Two-way Peg) 在区块链领域,资产实际上并不能直接从一个链转移到另一个链。以比特币为例,比特币无法真正从一个链转移到另一个链,而是通过“双向锚定”机制来实现。当进行侧链或跨链操作时,将比特币发送到一个特定的钱包地址进行锁定,便能在另一条链上释放等量的代币。同样,当等量等值的代币在侧链上被锁定时,比特币区块链上的原始比特币也可以被释放。
这引发了一个关键问题:谁来管理锁定的账户?谁来解锁?如何安全地释放被锁定的资产?可以说,这是侧链与跨链技术中最具挑战性的部分。
目前主流的方法包括公证人机制、中继器/链、哈希锁定和分布式私钥控制等四种机制。
### 公证人机制(Notary schemes) 链与链之间最简单的互操作方式是采用公证人模式。在这种模式中,一个或多个受信任的团体向链A证实链B上发生了某个事件,或确认该声明是正确的。例如:
阿平有一枚比特币,阿蔡有一枚以太币。有一天,阿平突然告诉阿蔡:“我用一枚比特币跟你换一枚以太币。”阿蔡虽然很高兴,但也怀疑阿平的诚意。于是,他想到了一个办法,找老徐当公证人。双方先将币打给老徐,老徐确认无误后,将一枚比特币打给阿蔡,一枚以太币打给阿平,交易完成。
公证人模式在侧链解决方案领域受到广泛关注,因为它既提供了灵活的共识,又无需进行昂贵的工作证明或复杂的利益机制证明。然而,从上述例子中也不难发现,其最大的缺点是中心化程度高,存在安全疑虑。如果例子中的老徐作弊,将导致资产陷入危险之中。公证人模式的代表项目有Ripple。
### 中继器/中继链(Relays/Sidechain) 区块链的区块头中包含了历史交易的有效证明信息。因此,可以通过将链A的区块头写入中继链的块中,在中继链上处理的交易就可以通过区块头的历史交易证明信息来验证交易的有效性。以比特币为例,中继链就像是比特币链的简易复制版,比特币可以透过这条复制出的中继链与其他区块链进行跨链资产转移。例如,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会生成一组可以锁定资产的一组私钥和地址,并将地址发送给用户。用户可以在链A上把资产转移到这个锁定的地址上。
接下来,FUSION网络中的多个节点将共同保管这组私钥,由多个节点共同持有私钥,任何单个节点都无法动用这里的资产。只有在通过智能合约的特定条件(例如:链B交易完成)时,各节点达成共识后,如果他们都认为这个资产可以被解锁,他们才会将各自的私钥片段贡献出来,将私钥完整恢复,对应的资产也就被解锁了。
### 侧链的应用 侧链的应用相对简单,主要是将原链上的某些交易转移到侧链上进行确认,结算时再将结果广播到原链上进行清算。简单来说,侧链最大的应用就是提高交易吞吐量。在现实世界中,赌场就是侧链的一个很好的例子。想象一下,如果每个赌桌都使用新台币下注,桌上堆满了钞票和零钱,每一局结算时荷官算钱都会浪费很多时间。因此,大多数赌场都会统一使用筹码下注,让所有人在进场时将法币换成筹码(双向锚定,锁定原资产),所有赌局都通过筹码进行,离开时再到柜台结算,将筹码换回法币(交易结算,释放相应数量的资产)。
### 跨链的应用 与侧链相比,跨链涉及到两条不同的链,因此具有更多样化的应用场景。包括: - **资产转移**:无需通过交易所即可进行资产交换。 - **原子交易**:如果A交易成功,则B也成功;如果A失败,则B也失败。btC Relay是原子交易的一个好例子。 - **数据交换**:链A能够了解链B上的数据。 - **去中心化交易所**:通过跨链技术,去中心化交易所可以实现不同链上资产的交换。标签: 数字货币