Bitguai.com

区块链技术丨改变世界
做高价值的区块链资讯媒体

区块链侧链(Sidechain)拓展技术的开发价值

8月18-19日,BCCon全球区块链生态技术大会2018在北京举办。会上,Bytom CTO朗豫带来《区块链商用化之路——侧链扩展》的主题演讲。以下为内容精编,由巴比特整理。

今天我主要讲区块链商用化的一个方向——侧链扩展。分为五点内容,一是为什么区块链没能在传统公司中大规模使用,它存在着怎样的瓶颈?二是在这样的背景下,侧链技术作为解决方案之一存在的价值;三是介绍当前普遍采用的方案和业内的探索;四是讲解比原链在做资产上链时,如何通过侧链满足客户的需求?五是展望未来技术可能的发展方向。

 

一、区块链大规模商用瓶颈

 

目前主流的区块链项目,包括比特币以太坊等各种各样的公链在商业应用方面存在较大瓶颈。比如在以太坊上运行的游戏,以太猫、Fomo 3D等都因拥堵而体验不佳。因而我们可以看到,区块链商用的瓶颈之一是产品体验差、使用成本高。

产品体验差、使用成本高

我们知道BTC和BCH的争执就是源于交易成本过高、确认时间长,矿工和开发者在这一件事上无法达成一致,最终导致了分裂。而POW机制之所以难以改进这一问题,是因为在无边界的共识条件下,工作量证明机制需要一定的时间收敛。以太坊虽然是15秒的时间,但实际是牺牲了一定的数据存储空间。

因而就有人问,可不可以采用DPOS, PBFT共识算法呢?在这种情况下实际都存在代理人风险,比如EOS存在仲裁委员会可以判断你是不是非法使用者,然后冻结你的账户。另外它还存在扩展性差的问题,DPOS的共识节点是有限的,它至今还没有突破21个节点,有人提出了100个节点,但这对于网络通信的开销是呈指数增长的,必然导致系统不稳定。另外假如节点都布置在阿里云和AWS上,那么云节点出问题时,是不是所有的代理节点都会出问题,这也是我们需要考虑的问题。

另外一个解决方式是采用零确认,同时加入保险机制,等于引入了外部协商机制。但它也存在担保方的双花攻击风险交易通道狭窄的问题。如果只是小额交易,比如买杯咖啡,或许可以采用零确认,但若是大额交易,用户未必愿意零确认,中间的仲裁方可能也不愿意做这样的担保。

除上述所说,区块链商用的另一个瓶颈是数据的风险。

区块链数据风险

首先,数据膨胀导致存储成本按用户数同比提升,不可持续。因为全节点记账,意味着每一个用户都要存储全部的数据,如果用户拓展1千倍、1万倍,它的存储成本会非常高。

其次,数据隐私存在暴露风险,全量私密数据链上存储无法取得安全。为什么大机构不愿意使用公链传递数据呢?因为它有很多私密数据,或是不愿意公开,或是出于合规性要求不能够公开。另外,金融资产如股票、证券的上链存在安全方面的担忧,如何解决数据可能被篡改或重置的问题, 目前很难放心上链。

那么在这种情况下,我们需要分层机制,核心数据加密上链,非核心数据存储于其他地方。因此可以看到侧链是相对一种比较好的机制。

 

二、侧链(Sidechain)技术的价值

 

什么是侧链?

侧链是通过双向peg (楔入)将不同的区块链进行“连接”,使得多方价值可以在不同协议上进行交易和流转的技术。什么叫双向楔入呢?其实就是主链能感知侧链的行为,侧链同时也能感知主链的行为。

10161534570687_.pic_hd

在这里需要注意,“连接”指链上协议的交互,而不代表系统间的通信。什么意思呢?比如运行一个交易,需要先请求某一节点的数据,这种情况下更多的是进程之间的通信,是中心化的网关,而不是协议上的通信,这是我们容易产生的一个误区。

那么侧链存在什么缺点呢?首先是更多复杂性,因为主链和侧链异构的环境都会带来新的不可知的状态,也可能面临着欺诈性交易的风险,而且随着协议的迭代升级也许还存在软分叉风险,这些都是侧链技术面临的挑战。

侧链有什么特征?

第一、主链token在侧链流通时还是主链,通常时1: 1的比例或者其他预定汇率;第二、侧链自己不能产出主币,只能接受主链的输入,并在自己链上生成对应的侧链币;第三、侧链可以有自己的token也可以没有;第四、侧链需要足够的算力和共识保证侧链的安全;第五、侧链独立于主链存在,侧链上发生的任何事情都不会影响主链,从而可以保证主链安全性。

为什么侧链能解决问题?

首先,在主链安全性保障的前提下,侧链可以在小范围共识,优化确认时间。我们可以把tps放在第一位,达到秒级确认。

其次,多种侧链“并行”运行时,主链安全性和业务负载并不显著增加。因为主链上的数据只是侧链数据转入其中存储的状态,它不会面临数据膨胀的问题。

最后,侧链数据可以加密,在小范围传输,记录交易路径,且不泄露隐私。在这样一个策略下,我们既可以在专有领域内传递数据,又可以同主链交互。

 

三、业界对侧链的探索

 

侧链的核心是解决跨链问题,跨链和侧链其实是两个不同的问题,比如以太坊上有一些币币交换的协议,是一条链上的不同token进行交互,我们可以认为是一种狭义的跨链,还有原子性交换,不过它并不是把交易从一条链上传递到另一条链上。而侧链实现的就是把价值从主链转移到侧链上,侧链又可以转回到主链上的,是所有跨链中最高级的一种形式。

侧链目前最常采用以下三种形式:

1.  公证人机制(Notary schemes)

类似中心化的模式,比如交易所,它需要中间有一个代理方或者审判方来做价值转换。

2.  中继(Relays)

我们经常实现的是轻客户端的模式,它通过设置SPV客户端 把比特币和以太坊交易结合在一起。

3.  哈希锁定(Hash-locking)

这是我们经常在原子交换、闪电网络上经常使用的一种技术。

案例:BTC-Relay

BTC-Relay是基于Ethereum的合约,本质实现比特币的SPV客户端。它的缺点在于需要外界的Feed,即比特币spv-proof-block 数据,和同时难以处理比特币分叉的特殊情况。为什么BTC-Relay现在没能流行起来,一是因为它不能解决多而快的问题,二是缺乏激励,没人愿意花更多的钱传递比特币的区块,将其存储在以太坊上。

案例:Rootstock(RSK)

Rootstock也是很早就开发了,2013年说是要建立在比特币区块链上的智能合约分布式平台,现在已经实现了以太坊虚拟机的一个改进版本。作为比特币的一个侧链,它使用了一种可转换为比特币的代币作为智能合约的“燃料”。在RSK中,把比特币的相关信息写入sidechain,不断产生的区块信息写入SPV同时写入侧链,在比特币中任何区块产生变化都有相应的反应。在将代币解锁为比特币时使用了哈希锁定技术。

 

四、比原链(Bytom) 上实现侧链

 

为什么可以在Bytom上实现侧链呢?一是Bytom架构比较灵活且年轻,主网刚上线两个月。二是POW机制。三是实现了图灵完备智能合约。

Bytom是一种多元比特资产的交互协议,运行在Bytom有不同形态的、异构的比特资产(原生的数字货币、Token)和原子资产(股权,债券,收益权等物理世界对应的金融和非金融资产)。所以我们需要去探索侧链系统,以满足资产上链的这样一个需求。

Bytom是基于POW共识的区块链,需要对传统世界资产进行包容性,合规性,效率性支持。因为做这个区块链系统不可能只是满足于数字货币的交易,还要和现实的商业之间发生关系,因此侧链是我们选择的最好途径之一。

Bytom基于双向锚定(two-peg)进行修改,实现联合锚定(fed-peg)的侧链模型,引入多方中间人机制对于资产的质量和合规性进行把控。双向锚定和交易所的第三方担保不同,它是通过密码学机制来解决这样一个问题。

侧链既可以锚定BTC,也可以锚定BTM。流程就是我们有一个比特币链上资产,可以在Bytom的侧链上使用,比特币的资产也可以Retire,但是这部分由于比特币的原因暂时还不能实现。还有一部分是现在可以实现的,就是锁定BTM或者是BTM链上的资产,我们需要有多方的签名,就可以解锁,把侧链上资产交易传递下去。

如下图所示的实现场景:

10131534570423_.pic_hd

所有步骤可以简化为锚定主链资产,价值传递到侧链。等待资产”成熟”之后,就可以在侧链进行交易,侧链的交易跟主链没有任何关系,主链可以允许侧链锁定自己的资产。当侧链的资产一旦赎回之后,或者被销毁了,它无法再次使用,同时主链上的资产也可能消失,只释放赎回金额,同时结算手续费。所有的侧链上因产生共识所花费的成本,都需要支付手续费,这个手续费在侧链上结算,在主链上释放。也就是让所有的交易方或者共识方,都能获得一定的价值,而不是像联盟链一样,交易之间没有产生任何手续费。

三个关键点:

1、“锚定”主链资产,传递至侧链

10121534570405_.pic_hd

如何去实现锚定?首先在主链上构建一个多重签名基于pay-to-contract的交易,其实就是一个锚定合约的形式,同时处理合约出现欺诈行为的情况。

我们需要去考虑的情况是,如果主链发生分叉了后,有攻击者使用了分叉链信息去获取这些释放在侧链上的币时,那么如果有任何一个人知道在主链上相应的交易,就可以去解锁侧链交易,把交易中的惩罚金拿到,这个惩罚金需要构建交易时就进行锁定。

然后就是侧链资产锁定时需要一定的时间窗口,我们需要确认144个块之后才可以释放这个交易,如果144个块后没有人操作,那么资产方就可以回收资产到主链,这样整体可以保证侧链运行安全。

还有之前所提到解锁多重签名交易的情况下,两方都要参与构建这笔交易,那么交易的产生其实就是要跟所有主链的数据总量是一致的。

比如一个场景,主链上有2100万总量的币,需要锁定100万到侧链流通。那么我们需要在侧链上先创建2100万总量对应的侧链币。一次锁定就相当于在一个总量为2100万的UTXO中分裂出侧链100万值UTXO合约和相应的找零UTXO合约,找零的合约中的2000万主链币会等待主链剩余币再次锁定后才能释放。侧链合约中我们需要提供SPV-proof信息来证明主链币确实进行了锁定操作,同时也要根据创始块的哈希来确定是哪个主链进行操作。

2、等待侧链资产“成熟”,资产在侧链流转交易

10141534570513_.pic_hd

第二阶段就是在侧链上已经有币了,我们怎么运转,可以使用POW,但是如果使用POW,可能跟比特币的交易还是不一样,因为没有coinbase交易,对于某一个区块来说,它其实是一个空的区块,或者去构建一个无意义的coinbase交易,但是对于普通用户来说,没有必要去存储这些冗余的信息,所以我们可以使用这样一个BlockProduce的模式,这是demo中使用最简单的一种模式,就是轮流签名区块信息,流程为签名一个区块,把所有的侧链上的交易进行打包,同时把这个区块打包的信息,中间产生的手续费加到自己的账户中,并最后在主链上赎回变成主链币。

3、侧链资产“赎回”,主链释放锁定资产,结算手续费

10151534570545_.pic_hd

最后阶段就是“赎回”这笔交易时,侧链需要产生一个合约,这个合约对应主链上交易签名脚本的哈希,这样主链上的币才可以重新流通,而侧链上的币永远锁定。这种情况下,在主链上和侧链上都要使用多重签名技术,是主链和侧链进行交互的一个核心关键点。

 

五、未来发展方向

 

侧链发展未来可以预测有以下几个方向:

第一、主链上的资产可以结合二层扩展闪电网络,将侧链资产和主链资产同时嫁接。闪电网络并不是区块链上的数据,所以它可以把主链和侧链数据同时进行交易,这样可以缩短赎回的等待时间。

第二、侧链在TPS和不可篡改性上进行优化,在满足具体业务场景需求时,兼顾这两点。

第三、完善侧链和主链切换的工具,现在的很多切换工具操作复杂且不用户友好,需要做可视化且门槛低的工具,为用户提供便利性。

现在很多个团队已经实现了demo,但并没有用于生产环境,所谓的生产环境是指真实发生的资产上链的价值交换场景,我们预计在2019年后侧链技术会真正用于生产环境。

发文时比特币价格 ¥44984.53

本文由比特怪小编整理编辑发布,文章地址:https://www.bitguai.com/block/kaifa/16548.html,转载请注明出处!

免责声明:转载此文为传递更多市场信息,不代表比特怪的观点和立场,请自行参考。



商务合作(QQ):755847138
媒体合作:Market@bitguai.com
底部导航

本站除标明"本站原创"外所有信息均整理转载自互联网,版权归原作者所有。如有不妥,请联系我们修改或删除。

CopyRight 2017-2018 Bitguai.com All Rights Reserved丨苏ICP备18049263号-1 百度地图 谷歌地图 RSS订阅


比特怪成立于2017年,秉承做高价值的区块链技术和应用为核心的区块链资讯媒体。网站内容主要涵盖区块链技术、游戏、应用场景和区块链项目落地等。让区块链技术应用服务于各个行业。