什么是桥?
桥是用来连接波卡有特殊资产的中继链,并使中继链与其他区块链沟通的一种功能。他们受波卡共识的保护,由一群叫“核验人”的参与者维护,在字母 C 的解读中我们会讲到。桥作为互操作性的转角石,是波卡在区块链生态中正在交付的功能。我们可以把它想象成孤立链的沟通渠道,例如在比特币或者以太坊中,桥可以发送信息、铸币、确保锁仓资金安全、销毁代币及其他功能。
桥如何工作?
让我们举个🌰,我们有两座桥,一座桥连接比特币,另一座桥连接以太坊,Bob 想把 BTC 转到 ETH。Polkadot 可通过自研的信息协议让桥在两条链间沟通,这个协议叫 XCMP,我们会在之后的字母 X 中讲解。BTC 桥会向 ETH 桥发送 Bob 的转账金额和他的 ETH 账户,桥会存放新铸的 ETH 代币,我们可以叫它 PTBC。这个铸币逻辑由以太坊智能合约运行,由桥触发。当两笔交易在两个桥之间都发生了,并且新铸的 PBTC 和 BTC 的转账金额达到了1:1的比例时,PBTC 即被视作存入 Bob 的 ETH 账户。同时,原来的 BTC 被锁在了 BTC 桥,只可由原始发送人获取。所以如果 Bob 想将 PBTC 转回 BTC 账户,相同的智能合约会将以太坊链上的 PBTC 销毁,解锁之前锁仓的1:1比例,即将其转回 Bob 的 BTC 账户。这些交易都由桥的核验人确保安全,被每座桥的共识机制和波卡的区块链网络同步消息。
- 桥接过程的视效:How Bitcoin and Ethereum can Cooperate and Collaborate Through Polkadot with Bruno Skvorc
怎样实现桥接功能?
在波卡上开发桥的方式有很多种。主要可以通过波卡和 Kusama 正在研发的 Substrate 框架下的桥Pallet。另一种方法,如果一个区块链不在 Substrate 框架下,那可以使用智能合约。例如,桥接以太坊会需要在以太坊上的智能合约可以执行桥需要的逻辑。最后,我们可以使用例如 XClaim 这种更高指令的协议,这种协议允许在其之上搭桥。XClaim 只建议在没有智能合约的链上使用,比如 BTC。
有哪些在搭桥的项目,你如何搭桥?
桥需要写代码及运维,目前有哪些实际的例子呢?在去中心化无需信任的区块链网络中,互操作性是一个有难度的尝试。W3F 通过基金会赞助了需要搭桥的项目例如 ChainSafe 和 Centrifuge。另一个 W3F 赞助的项目叫 PolkaBTC 已经在 Substrate 框架下开发了通向 BTC 的桥接技术。ChainX,我们早先提过,是一个可以用来开发桥的协议,已经有通过其搭建的 BTC 桥。
如果你对搭建自己的桥感兴趣,可以从 Parity Bridges Common 代码库开始学习,这里有 Parity 存放的对搭桥有帮助的一些列内容。