侧链相关技术

侧链(sidechain)

侧链(sidechains)实质上不是特指某个区块链,而是指遵守侧链协议的所有区块链
元素链(Elements)就是这样一种侧链,所不同的是,它是由Blockstream公司,即侧链协议所提出的公司,所开发的一个侧链的参考实现。

比特币核心开发组,成立了BlockStream,拟实现商业化价值,提出侧链协议、把比特币转出比特币区块链、另行开发二代区块链

所谓“多种资产在不同区块链上转移”其实并不会实际发生。以比特币为例,侧链的运作机制是,将比特币暂时锁定在比特币区块链上,同时将辅助区块链上的等值数字货币解锁;当辅助区块链上的数字货币被锁定时,原先的比特币就被解锁。

侧链协议

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

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

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

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

  3. 在侧链上赎回比特币

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

  1. 等待一个竞争期
    竞争期的作用是防止双花。在此期间(1)赎回交易不会被打包到区块(2)新传输到侧链的比特币不能使用(3)如果有工作量更大的工作证明出现,即该赎回交易包括了比特币主链更大难度的SPV证明,则上一个赎回交易将被替换。竞争期结束后,该赎回交易将被打包到区块中,用户可以使用他的比特币。 从侧链转比特币到主链的过程也是如此,这就是侧链双向锚定协议。

对接”应用链”和”结算链”
侧链主要功能有:

  1. 结算链离链交易(类似微信及支付宝钱包之于银行账户,即闪电网络)
  2. 应用链的基础用户数据(包括用户账号、权限、代币账本)
  3. 应用链的运行承载(智能合约虚拟机、运行平台)

现存问题:

  1. 应用数据和结算数据在一个区块链上并存
  2. 多种应用数据在一个区块链上的混合并存。以太坊和 EOS 等,就是用一种链条覆盖结算链、侧链、应用链的全部功能
  3. 应用规模不足以保障区块链数据安全
  4. 任何应用运算都需要交等额手续费。(可以考虑根据运行时间,访问量,代码大小来收费)

侧链网络的具体实现,通过与主链共用底层分布式算力,实现现有网络节点的复用,

核心技术实现就两项,也就是是双向锚定(2WP)和联合挖矿