如果不能正常显示,请查看原文 , 或返回

有人能能简单说明比特币侧链(sidechain)究竟是什麽东西吗?

侧链的起源
侧链(sidechains)实质上不是特指某个区块链,而是指遵守侧链协议的所有区块链,该名词是相对与比特币主链来说的。侧链协议是指:可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的一种协议。

显然,只需符合侧链协议,所有现存的区块链,如以太坊、莱特币、暗网币等竞争区块链都可以成为侧链。元素链(Elements)就是这样一种侧链,所不同的是,它是由Blockstream公司,即侧链协议所提出的公司,所开发的一个侧链的参考实现。

侧链协议具有重大意义,它意味着比特币不仅可以在比特币区块链上流通,还可以在其他区块链上流通,其应用范围和应用前景会更加广泛;有创意的人们会研发出各种各样的应用以侧链协议与比特币主链对接,使得比特币这种基准自由货币的地位越牢固。

侧链协议的产生有以下几个原因:

(1)应对其他区块链的创新威胁
以太坊(Ethereum)区块链、比特股(Bitshares)区块链后来居上,对比特币区块链产生相当大的威胁,智能合约和各种去中心化应用在以上两个区块链上兴起,受到人们欢迎;而基于比特币的应用则因为开发难度大,项目不多。

(2)比特币核心开发组不欢迎附生链
基于比特币区块链也有合约币(Counterparty)、万事达币(Mastercoin)和彩色币(ColoredCoin)等附生链,但是比特币核心开发组并不欢迎,觉得它们降低了比特币区块链的安全性。他们曾经一度把OP_RETURN的数据区减少到40字节,逼迫合约币开发团队改用其他方式在比特币交易中附带数据。

(3)BlockStream商业化考虑
2014年7月份以太坊众筹时,获得了价值1.4亿人民币的比特币,还有20%的以太币,开发团队获得了巨大的回报。但是比特币核心开发组并没有因为他们辛勤工作获得可观回报,因而他们成立了BlockStream,拟实现商业化价值。

基于以上三个原因,提出侧链协议、把比特币转出比特币区块链、另行开发二代区块链,这样的选择既能保证比特币区块链的安全,又能应对二代币的冲击,还能针对不同应用场景实现商业化,因而成了BlockStream的必然选择。

侧链协议
侧链协议的目的是实现双向锚定(Two-way Peg),使得比特币可以在主链和侧链中互转(图)。


图 比特币主链与侧链关系图


双向锚定分为以下几个阶段:

(1)发送锁定交易,把比特币锁定在主链上。

由比特币持有者操作,发送一个特殊交易,把比特币锁定在区块链上。


双向锚定示意图

(2)等待一个确认期
确认期的作用是等待锁定交易被更多区块确认,可防止假冒锁定交易和拒绝服务攻击,典型的等待时间是1-2天。

(3)在侧链上赎回比特币
确认期结束后,用户在侧链上创建一个交易花掉锁定交易的输出,并且提供一个SPV工作量证明,输出到自己在侧链上的地址中去。该交易称为赎回交易,SPV工作量证明是指赎回交易所在区块的工作量证明。

(4)等待一个竞争期
竞争期的作用是防止双花。在此期间(1)赎回交易不会被打包到区块(2)新传输到侧链的比特币不能使用(3)如果有工作量更大的工作证明出现,即该赎回交易包括了比特币主链更大难度的SPV证明,则上一个赎回交易将被替换。

竞争期结束后,该赎回交易将被打包到区块中,用户可以使用他的比特币。

从侧链转比特币到主链的过程也是如此,这就是侧链双向锚定协议。

——《区块链:从数字货币到信用社会》(中信出版社),以上节选自第三章——“区块链进阶”。

返回