新的区块链时时刻刻都在诞生。比特币是多年来唯一的区块链,但是,现在已经有了数百个区块链了。问题是,如果您想要使用在另一个区块链上提供的特性功能的话,那么你必须购买另一个区块链是上的代币。
但这一切可能很快就会改变。一项名为侧链的开发技术承诺,它可以更轻松地在区块链上进行币的移动,从而为世界打开可能的大门,这其中就包括了为银行现存的金融系统搭建桥梁。
2017年10月,爱丁堡大学教授、区块链研发公司IOHK的首席科学家AggelosKiayias;伊利诺伊大学香槟分校的教授AndrewMiller;雅典大学的研究人员DionysisZindros发表了“工作量证明的非交互式证明”(NiPoPoW),这篇文章介绍了三年来缺失的侧链谜题的关键部分,以下他们如何完成的故事。
但是,首先的问题是,什么是侧链?
同样的币种,不同的区块链
侧链是一种技术,它允许你将你的币从一个区块链移动到另一个区块链,然后在另一个区块链上使用它们,同时在稍后的时间点将它们移回,这一过程完全不需要第三方的存在。
在过去,母区块链通常都是比特币,但现在母链可以是任何一个区块链。此外,当代币移动到另一个区块链上时,它应该保持相同的价值。换句话说,在以太坊侧链上的比特币仍将是比特币。
侧链最大的优势是可以让用户访问大量的新型服务。例如,你可以将比特币移动到另一个区块链上,从而利用相应区块链的隐私特性、更快的交易速度和智能合约。
侧链还有一些其他用途。侧链可以提供一种更安全的方式来升级一个协议,或者它可以作为一种安全的防火墙,这样当一个侧链发生灾难性的问题时,主链就不会受到影响。“这是一种受到限制的责任,”Zindros在视频中解释这项技术是如何工作的时候说道。
最后,如果银行要创建自己的区块链网络的话,那么侧链可以与这些网络进行通信,从而允许用户发行和跟踪股票、债券以及其他资产。
早期对话
在2012年前后,比特币聊天室首次出现了关于侧链的对话,当时比特币核心的开发者们正在考虑如何安全地升级比特币的协议。
其中的一个想法是进行“one-waypeg(单向锚定)”,即用户可以将比特币移动到一个单独的区块链来测试一个新客户端;然而,一旦这些资产被转移走,它们就不能在被转移回主链上去了。
“我认为这是一种软件工程的工具,它可以用来进行广泛的变革,”区块链开发公司Blockstream的首席执行官AdamBack在接受BitcoinMagazine的采访时说道。“你可以说,我们将推出一个新版本的比特币,我们认为它将在一年内问世,但与此同时,你可以提前进行选择并进行测试。”
据Back表示,在此后的一年的事件内,在比特币IRC的频道上,比特币核心开发者GregMaxwell提出了一种“two-waypeg(双向锚定)”的想法,即价值可以转移到另一个链上,然后再回到原先的比特币链上。
在当时,一个双相锚定的技术又引起了另一个日益增加的担忧。即其他的币种,像是莱特币和域名币,正变得越来越流行。人们担心的是这些“山寨币”会稀释比特币的价值。比特币的核心开发者认为,把比特币作为一种储备货币,并将新功能转移到侧链上,这是有道理的。这样的话,“如果你想使用不同的功能,你就不必购买投机性资产了,”Back说道。
为了将侧链的概念变成现实,在2014年,Back与Maxwell和其他一些比特币核心开发者一起组建了Blockstream。在同年的10月,该组织发布了一篇文章,“让区块链的创新与锚定的侧链结合在一起”,这是一篇描述侧链的高水平论文,Miller也是这篇论文的合著者。
侧链如何工作
侧链的一个重要组成部分是简化的支付验证(SPV)证明,其表明相应币中已经被锁定在一个链上了,这样验证者可以安全地解锁替代链上的等价值的代币。但要想为侧链工作的话,SPV的证明就必须要足够的小,以此来适合单笔基于币种(coinbase)的交易,该交易可以用新币来对矿工进行奖励。(不要和Coinbase公司搞混了。)
当Blockstream的研究人员发布他们的论文时,他们知道他们需要一个简洁版的SPV证明来让侧链工作,但是他们还没有开发它背后相应的密码学。因此他们概述了一个大体的、高水平的想法。
Blockstream的论文描述了两种类型的双向锚定:一个对称的双向锚定,在这个锚定中,两个链都相互独立,各自可以进行各自的挖矿活动,还有一个是不对称的双向锚定,在这一锚定中,侧链上的矿工是母链的完全验证者。
在对称的双向锚定中,用户将比特币发送到一个特殊的地址,这样做会锁定比特币区块链的资金,该输出仍然会被锁定在可能的6个块(一个小时)的竞争期间内,以确认相应的交易已经完成,随后会创建一个SPV证明并发送到侧链上。
此刻,一个对应的带有SPV证明的交易会出现在侧链上,同时验证比特币区块链上的钱会被锁住,我们可以在侧链上打开具有相同账户价值的币种。
币的使用和改变在稍后会被送回主链。当币返回到主链上时,该过程会进行重复。它们被发送到侧链上锁定的输出中,在一定的等待时间后,就可以创建一个SPV证明,来将其发送回主区块链上,以解锁主链上的币。
在不对称的双向锚定中,整个过程略有不同。从母链到侧链的转移不需要进行SPV证明,因为侧链上的验证者也了解母链的状态。但是,当这些币返回到母链时,仍然需要一个SPV证明。
寻找一个简洁的证明
在一个侧链中,一个简洁的SPV证明需要包含一个压缩版本的所有区块的数据头,在这个链中,资金以及交易数据和其他一些数据被锁定在从创世区块到竞争期间。这样,SPV证明也可以被认为是特定输出的“工作量证明的证明”。
简洁型SPV证明的灵感来自于25年前开发的“跳跃表”(skiplist)。在将这个结构应用到一个紧凑的SPV证明中,诀窍在于找到一种方法来跳过区块头,同时仍然保持高度的安全性,这样对手就不能伪造证明。
在解决这一问题的过程中,Blockstream向Miller展示了它的侧链文件的早期草稿,Miller当时已经对简洁的SPVs进行了几年的研究。
2012年8月,Miller在一个名为“HighValueHahHighway”的BitcoinTalk论坛上发表了一篇文章,描述了一个“merkleskiplist”的想法,一个比特币的轻客户端可以使用它来快速确定最长的链,并开始使用它。在这篇文章中,他将数据结构的重要性描述为“绝对是令人震惊的”。
当Miller读到Blockstream的草案时,他发现了文件中描述的简洁SPV证明中的一个漏洞。相应的讨论随之而来,但他们“无法找到在不影响效率的前提下的这个问题的解决方法”Miller说道。
Miller对Blockstream的论文的非平凡贡献最终成为附录B中的几段话,其描述了创建简洁的SPV证明所面临的挑战。
它应该“可以在仍然证明相同工作量的情况下,极大地压缩一个标题的列表”,但是“优化并保证规范的安全性已经超出了文章以及正在进行的工作的主题的范围。”
这项正在进行的工作已经持续了三年的时间。
非交互式
在此期间,IOHK的研究人员开始对侧链产生更大的兴趣。Cardano的计划正在成型,这是一种新成立的股份证明的区块链,该公司已经进行了相应合约的搭建。