侧链 ,是对于某个主链的一个相对概念。英文为sidechains。侧链协议是一种实现双向锚定(Two-way Peg)的协议,通过侧链协议实现资产在主链 和其它链之间互相转换,或是以独立的、隔离系统的形式,降低核心区块链上发生交易 的次数。侧链是以融合的方式实现加密货币金融生态的目标,而不是像其它加密货币一样排斥现有的系统。利用侧链,我们可以轻松的建立各种智能化的金融合约,股票、期货、衍生品等等
v 2. 跨链的定义跨链技术是实现区块链之间互联互通的技术,若对标互联网则可理解为“去中心化网络 的结合”,区块链技术的特性使得跨链技术的落地,以及对于链外信息的获取都非常困 难,早期跨链技术包括以 Interledger Protocal 和 BTC Relay 为代表,更多是关注资产 的转移;现有跨链技术以 Aion、Kyber Network、Bletchley、Polkadot、Cosmos 主要 着重的是跨链基础设施。“如果说共识机制是区块链的灵魂核心,那么对于区块链特别是联盟链及私链来看,跨链技术就是实现价值网络的关键,它是把联盟链从分散单独的 孤岛中拯救出来的良药。
我们用换汇来理解就方便了。人民币是一个独立的货币,美元是另一个独立的货币。人民币无法直接变成美元,美元也无法直接变成人民币。因此,美元无法直接进入人民币账本,人民币也无法直接进入美元账本。需要有人愿意买入人民币/美元,卖出美元/人民币,才能完成货币的兑换,实现价值的跨账本流动。
Alice有100美元,她来到了中国,需要使用人民币进行交易。于是她必须找到愿意和她兑换外币的人,例如Bob,Alice将100美元卖给Bob,Bob收到了Alice给他的100美元,按照当时的汇率,给了Alice 657人民币。
从账本上看,整个外币兑换的过程是这样子的。
首先Alice在美元的账本上有100美元,Bob在美元的账本上有0美元;Alice在人民币账本上有0元,Bob在人民币账本上有657元。然后Alice在美元的账本上转账给Bob 100美元,
Bob在人民币的账本上转账给Alice 657元人民币。于是,Alice原本在美元账本上的账户中的100美元的价值就转移到了Alice在人民币账本上的账户中,体现为657元人民币。
在这个过程中,Bob在人民币账本上的的657元人民币的价值就转移到了Bob在美元账本上的账户中,体现为了100美元。
整个兑换过程中,在两个账本上同时发生了转账交易。
在整个兑换的过程中,人民币账本上的人民币总数没有变化,仍是657元;美元账本上的美元总数也没有变化,仍是100美元。变化的是两个账本上货币的持有人。
3. 侧链和跨链的区别跨链和侧链到底有什么区别?跨链除了增强了可拓展性,还提高了可 *** 作性。比如,我们把比特币从比特币公链利用跨链协议转移到以太坊上后,便可以用以太坊的智能合约来编程了。
侧链背后的技术
侧链的诞生,源于应对比特币的低TPS挑战。当年,每秒只能处理7笔交易的比特币可拓展性太差,导致许多高级应用无发建立。于是,大家通过增加侧链,来辅助比特币主链,从而让比特币可以自由、安全、更快地“跑”起来。
那么,侧链与主链如何“沟通”呢?
侧链与主链沟通的过程被称为成为“双向锚定”(也称“双向挂钩”,2WP) 。“锚定”一词在经济学中较为常见,指双方交易中一方要以另一方的行动为基准。
在区块链中,由于比特币实际上不是简单的“转移”,而是暂时将其在比特币区块链上锁定,之后将等量等值的代币在侧链上释放。当等量等值的代币在侧链上被锁定时,比特币区块链上的原始比特币就可以被释放了。因此, “双向锚定”实际上就是一方是否解锁,要以另一方是否已经有投币行为为基准。
这个主意听起来不错,但是却有不少挑战。比如,谁应该来管理锁定的账户?谁来解锁?锁定的资产如何被安全释放?可以说,侧链的管理和监督一直以来都是难点。
针对双向锚定中的资产管理问题,对于以比特币为主链的侧链,目前有两种管理模式。 单一托管人模式与联盟托管模式 。
单一托管人模式 :顾名思义,是一个由可信任的第三方机构来锁定、监管双方资产的模式。托管人可以手动 *** 作,也可以使用软件。最常见的单一托管人就是交易所了。举个例子,小张想把主链上的比特币放到侧链上。那么,只需要把小张的钱包,和侧链拥有代币的钱包共同交给交易所管理就可以了。到时候,交易所可以来验证、监督两条链是否投在钱包里投入的等值的币,锁定币,继续验证,然后再释放。
4. 从侧链到跨链不同于侧链,跨链中,链与链的关系是对等的。用户可以通过“双向锚定” 来“转移”比特币。同时,跨链还可以实现汇率兑换、智能合约交互等功能状态的转移、交换。
和侧链技术一样,跨链技术也需要解决资产的锁定与管理问题。
除了我们在侧链部分已经提到的的单一托管人模式和联盟托管模式,对于被跨的链中包含以太坊的情况来说,智能合约管理模式可以派得上用场。这个管理模式的关键就在于这个智能合约中需要包含双方区块链的区块头,从而验证双方的线上交易。
举个例子来看。假如我想把我的比特币转到以太坊上,我首先要把比特币在比特币区块链上转移到特定的锁定地址中。并把我在以太坊的地址附加在交易中。在此交易被矿工确定后,他们向以太坊的锚定智能合约(Peg Contract )发送 SPV 验证。验证时,我在以太坊的地址就会被提取出来。最后,交易验证成功且满足最终确定性要求时,锚定智能合约就会自动从锁定地址中转账对等的资产到我的以太坊地址。
在这里,我们要解释两个名词:**SPV 和“最终确定性”。、
侧链协议中,用 SPV (“简单支付验证”,Simplified Payment Verification ) ,来证明一个交易确实已经在区块链中发生过,称为 SPV 证明(SPV Proof)。一个 SPV 证明包括两部分内容:一组区块头的列表,表示工作量证明;一个特定输出(output)确实存在于某个区块中的密码学证明。
中本聪设计的SPV 能够让用户以较小的代价判断某个支付交易是否已经被验证过(存在于区块链中),以及得到了多少算力保护。SPV 客户端只需要下载所有区块的区块头,并进行简单的定位和计算工作就可以作出判断。
在交易的最后一步中, “最终确定性” ( Finality ) 非常关键。原来,当区块链使用POW (工作性证明)的共识算法时,在足够大的算力下交易是可以被撤销的。在跨链交易中,从我们刚刚举的例子来看,每一步,每一个环节,如果不能被确认,那么交易就会停止。因此,我们需要一些方法去确定上一步的交易已经成功或被撤销。
目前,有两种常见方法来解决跨链交易的最终确定性问题。
最简单也最常见的方法就是等待足够多的确认区块数 。因为POW共识算法中,当确认的区块足够多时,撤销的可能性就会变得很低。然而很多人并不想将时间白白浪费在等待上。
于是,也就有了第二种方法: 利用区块纠缠 。
这首先需要将两个链之间的区块建立一种依赖关系。假如其中一笔交易被撤销,那么交易所在的区块回滚,同时依赖于这一区块的另一条链上的区块也会回滚,其交易也会被撤销。因此,我们只需要看一个区块有没有回滚,就可以知道交易确定了与否。
在以上的部分中,我们介绍了如何通过侧链、跨链技术管理两条链上的资产。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)