读书笔记N248:区块链之侧链之一

论坛 期权论坛 期权     
杨浩峰频道   2020-4-4 00:09   1377   0
2013 年 12 月,侧链这个概念在比特币社区被提出,侧链协议则是一种可以让比特币安全地从比特币主链转移到其他区块链,又可以从其他区块链安全地返回比特币主链的协议。
常提到的跨链技术,是把区块链向外拓展和连接的桥梁,是为了实现不同链上的资产互通甚至数据互通。侧链则是可以实现跨链的一种方式。
由于主干道上的车流量太大,导致车辆运行速度慢,甚至产生堵车现象,所以有人想办法在主干道上开辟出一些分支干道,既不影响主干道流通,又可以缓解拥堵现象。侧链就相当于在主干道的基础上,增加其他的分支车道,来避免这种拥堵。
侧链作为跨链技术中的一种实现方式,究竟有什么作用呢?首先,侧链可以提高交易速度。侧链的出现使得比特币主链可以把部分交易转移到侧链上,在小范围内达成共识,加快交易速度,降低交易成本,提升交易效率。其次,侧链是相对独立的,如果侧链上出现了代码漏洞和大量资金被盗等问题时,主链的安全性和稳定性都不会受到影响。另外,侧链可以为主链拓展不同的功能。如智能合约、隐私性等,大部分情况下,生态的用户可以直接持有主链 Token 即可体验不同功能的侧链提供的服务,这样也就能够进一步扩展了区块链技术的应用范围和创新空间。
2012年前后,比特币社区中出现了一种“有去无回”式的one-way peg单向锚定技术,可以实现比特币的销毁和侧链代币的1:1释放。2014 年10月22日,Adam Back[ Adam Back,哈希现金(Hash Cash)创始人]和他的小伙伴们Matt Corallo,Luke Dashjr,Mark Friedenbach,Gregory Maxwell[ Matt Corallo,Luke Dashjr,Mark Friedenbach,Gregory Maxwell均为比特币核心开发者。]等,发布了侧链技术白皮书 《Enabling Blockchain Innovations with Pegged Sidechains》,提倡大家通过创建侧链的形式来进行创新,初步展开了Two-Way Peg双向锚定形式的探索。
侧链并不是指具体的哪条链,而是一个协议,能让代币从主链“转移”到其他区块链,并且也能安全的从其他链返回到主链的协议就叫侧链协议。其次,我们所谓的“代币转移”并不是真的把币从一条链流通到另一条链,而是在一条链上锁定主链币,在另一条链上释放侧链币的过程。要实现这种双向转移(Two-Way Peg)的形式有多种,常见的包括Single Custodian(单一托管模式),Federated peg(多签联盟模式),SPV Proof(SPV证明模式),Drivechain(驱动链模式),Hybrid Models(混合模式)
Single Custodian(单一托管模式),最简单得实现主链与侧链双向转移的方法就是将主链上的数字资产发送到一个托管方,类似于交易所的形式,当托管方收到相关信息后,就往侧链转移等价值的侧链币,反之亦然。这种形式相当简单粗暴,缺点也相当明显---中心化问题严重。
Federated peg(多签联盟模式),多签联盟模式和单一托管模式的区别就是,中间的托管方不是一个,而是多个,每一笔交易需要M-of-N 多重签名确认(M-of-N解释:比如这个联盟是30个成员,一笔跨链的成功执行需要25个以上的确认,那就是25-of-30,这根据场景不同,规则不同)。这就避免单个公证人有一票否决权,削弱了权力的中心化(相对于第一种方案而言),反之亦然。
SPV Proof(SPV证明模式),要跨到遥远的另一条链上去,所以他的交易输出必须跟正常交易不一样,我们称之为“特殊的SPV输出”(SPV Lock Output),等这笔交易通过了Confirmation Period(确认阶段),被确认之后,矿工就会检测到这笔交易不一样,并把这笔交易的SPV Proof(SPV证明)[ SPV Proof,即Simple Payment Verification,简称SPV。SPV的目标是为了验证某个交易支付是否存在,以及得到比特币网络多少个确认(多少个区块)。
https://mp.weixin.qq.com/s/I2YoNfQugLfDgf1U7EypqQ 侧链---Sidechain
区别于主链,发展侧链最主要的目的,就是解决主链上的问题,比如主链的扩展性,或者主链上的资源紧张。在过去几年里,我们看到了比特币的侧链 Liquid,以太坊的侧链 Loom,甚至连主网上线不到一年的 EOS 都有了自己的多条侧链 Fibos、BOSCore 等。
闪电网络只是实现了侧链的功能,并不是侧链,比特币网络中最知名的侧链,要属 Blockstream 公司开发的 Liquid 了。加入 Liquid 侧链的交易所或者交易商,可以更快、更有效率地交易或者转账比特币。包括 BitMEX、Bitfinex 等主流交易所都加入了 Liquid 网络。不过 Liquid 的发展,似乎并没有引起行业的关注。
风头远不如闪电网络。现在闪电网络的节点已经超过 8000 个,通道超过 3.6 万个。推特 CEO Jack Dorsey,到全美第二大披萨店达美乐披萨店,都在推广闪电网络。
2018年 3 月份,专为以太坊 DApp 服务的一条侧链 Loom Network 上线,连以太坊创始人 V 神都点赞了这个项目,让 Loom 一时名声大噪。Loom 出现后,每个 DApp 都可以是一条链,游戏的玩家操作只记录在自己这条链上就好,不需要完整记录在以太坊上,等游戏结束后,玩家可以把资产转移到以太坊上。但是,Loom 整体的用户量并不多,从 Dapp Review 上看,比较知名的 DApp Zombie Battle,目前已经没有任何用户了。
Loom还集成了比特币,以太坊,币安链和Tron(即将推出EOS和Cosmos)。这使开发人员可以集成来自所有主要链的资产,并且仅构建一次dapp并将其同时提供给所有平台上的用户。
除此之外,还有很多项目主打以太坊侧链,比如 Snark,现在已经很难在互联网上看到以太坊侧链的消息。取而代之的是更多 Layer-2 链上扩容项目更吸引人的眼球,比如 Celer Network 等项目,通过链下扩容的方式来提高区块链的效率,为 DAPP 的更快速运行提供环境等。
在 Fibos、Worbli 等等这些 EOS 的侧链项目中,BOSCore 无疑是最具争议性的。BOSCore 不仅仅是使用了 EOS 的代码,而是一条为 DApp 定制的侧链。如果说 BOSCore 技术有什么升级的话,那就是 LIB 了,区块确认时间缩短确实可以提高用户体验。BOSCore 上另一个对 DApp 友好的优化,就是利用 IBC 跨链技术,减少资源的消耗。
Loom SDK的特性:区块链特性:兼容 ERC20 Token;兼容 ERC721 Token;pBFT 实用拜占庭容错算法;dPOS 共识机制;事务性数据存储;Protobuf支持;迁移框架;硬分叉管理;Golang智能合约支持(Solidity版本即将推出);Unity客户端SDK(.NET);JavaScript 客户端SDK;InterBlockchain 通信
跨链特性:以太坊连接;跨链映射和转移代币;允许ERC721类型资产镜像到DApp链上;溯源(后续版本中)
游戏特性:比赛匹配;玩家线上状态(后续版本中将可以发信息)
tBTC是近期在以太坊公布的一种比特币锚定代币。跨链锚定代币的目的是在尽可能保持资产特性的情况下,将资产从一条链复制到另一条链上。换言之,一条跨链能将任何区块链变成一条比特币侧链。
每一个比特币锚定代币的目标是引入具有真正比特币属性,但处于另一条链上的代币(如WBTC和LBTC)。为了保持比特币的货币属性,代币交易应当尽可能接近原币交易。这可以通过两种方式实现:1. 包装法;第一种方法应用于WBTC、Liquid和tBTC,根据该方法,托管者接受客户的比特币储蓄,并通过在侧链为每一个托管的比特币代币发放代理通证来对其进行“包装”。之后储户便可使用侧链上的代理通证,如:溢价出售或在DeFi市场贷出。2. 合成法;与其包装比特币担保品,储户也可用非比特币担保品创建合成比特币(“sBTC”)。
EOS主链的资源非常宝贵,于是,有些DAPP为了降低开发成本,会选择在侧链上跑。比如今年年初上线的MEETONE侧链, 旨在扩展EOS生态系统,降低EOS使用阈值和成本,并使侧链DApps能够访问主要网络资源。到未来,EOS实现百万级的TPS,必然会有众多的侧链与主链交互,相互繁荣。
分叉链:使用EOSIO的源码,但是独立启动网络,比如Telos、EOS原力等等。
到2018年最后一天,比特币闪电网络的通道数首次突破了2万条,网络承载能力超过500 BTC;在2018年1月份推出主网的RSK比特币侧链项目,其合并挖矿的比特币哈希率从5%增加到了43%,资本净额约为250枚BTC左右;而Liquid网络虽然只有三个月大,但截止2018年9月27日其网络资本容量也已经超过了25枚比特币,链上通道交易笔数也有100+;12月23日,以太坊链下扩容方案雷电网络的第一个版本““Red Eyes”也已经被部署到了以太坊的主网上。
侧链技术在2018年的发展速度超出了大多数人的预期。2018年1月,以太坊经典开始实施Callisto侧链整合,使ETC也能拥有智能合约,同时他们还将通过侧链提升可扩展性定为了2018至2020年的短期目标之一;2018年3月,总部位于曼谷的区块链创业公司 Loom Network 发布了首个以太坊侧链平台,允许开发者使用 SDK 直接在以太坊上部署、运行大型游戏和社交应用;2018年7月,blockstream宣布推出自定义代币创建平台,允许用户在比特币侧链Liquid上创建自己的代币资产;2018年9月,创业公司Tierion宣布推出其构思了三年的比特币侧链项目TNT测试网络;2018年10月,aelf官方宣布侧链开发完成,并表示在其主网上线之前,他们还将实现跨链交互;2018年11月,比原链CTO在全球开发者大会上宣布正式发布并开源其侧链Vapor;同月,Cardano的开发商IOHK公布了其侧链技术,旨在实现区块链互操作性。
目前,基于EOS建立的侧链项目有致力于解决金融合规性问题的WORBLI、可实现跨链兑换为DAPP而生的BOS、大型DAPP支撑的ONO以及跨链资产互通的EOCS等。包括去年7月底,大区块扩容的首要支持者BCH所推出的虫洞协议,其实也属于侧链的一种,它在第二层网络上搭建起智能合约平台,为BCH主链生态带来了更多应用场景,虫洞网络上的代币WHC通过燃烧证明的方式发行,目前虫洞地址上已经燃烧了2300个BCH,发行了上百种代币。
RSK是一款图灵完备的比特币智能合约侧链,与BTC 1:1锚定,去年7月他们正式推出了DAPP基础设施服务平台,RSK创始人Diego Gutierrez Zaldivar在接受采访时表示:“RSK将会在2019年迎来爆发。”彼时,RSK链上的DAPP数量已经超过了100种。
长久以来侧链一直都被视作是提高区块链可扩展性的主要技术之一。通俗来讲,“侧链机制”就是通过锚定一条主链,使这条主链上的加密货币可以在主链与另外一条区块链之间进行流通。起初 ,“侧链”的概念是由bitcoin core开发组的成员在2013年为解决比特币扩容、保证比特币主链安全等问题时提出的;到2014年4月时才正式立项,由比特币核心开发者 Adam Back和Matt Corallo 等人共同发起成立的blockstream公司主导研发。
比特币核心开发者Jimmy Song就认为,将侧链添加到比特币协议中,将提供最好的比特币扩容途径;V神也将侧链项目Plasma 作为以太坊下一步扩容的方案。
针对由DAPP扩张引起的问题,不少侧链项目给出的解决方案是,把每个应用添加到单独的侧链上,每个DAPP都是一套独立的区块链。这样一来,无论DAPP数量如何增加,他都不会影响到主链网络的运行也不会增加其负担;同时,不同的DAPP之间也不会相互影响。目前,像阿希链、Lisk、AELF和以太坊的侧链Loom就采用了这种解决方案。
所谓跨链,实际上就是实现两个或多个区块链之间的资产、功能以及状态互相传递、转移和交换的解决方案,早在2017年8月,莱特币通过闪电网络与比特币实现了原子级的跨链交换,真正意义上完成了一次跨越两条区块链的价值流通;EOS更是坚称,要通过多链并行和跨链通信的方式来实现无限扩容。
EOS扩展路线图可以分为两个主要路线,每个路线都有自己的子部分: 第一种方法是垂直扩展。这些优化可以提高单个区块链的容量和吞吐量。这包括多线程、对资源算法的更改、对WASM的优化以及出块节点硬件方面容量的增加。第二种方法是水平扩展。增加生态系统中单个区块链总数的解决方案,同时保持它们之间的互操作性。这包括侧链和姊妹链。
侧链是使用EOS mainnet代币进行资源分配(访问带宽、RAM等)的EOSIO区块链。姐妹链是使用EOSIO软件的区块链,但是它们有自己的代币,用于资源分配。目前还没有出现侧链,但是有多条姐妹链已经出现了,要么处于测试之中,或者正在构建之中。这包括许多项目,如Worbli, WAX, Telos和ONO。
这些区块链基于和EOS主网相同的开源软件EOSIO构建,但是提供了自己的代币,用于投票,资源分配,和为出块节点提供补偿。例如,Worbli的 WBI 代币,以及ONO的ONOT 代币。
侧链和姐妹链背后的想法是,这两个dapp可以作为单独的区块链存在。我们可以有两个独立的链,每个链上都有3996的tps,在整个生态系统中,总共的tps数量就是7992了。现在想象一下,如果跨数百甚至数千个链,扩展的可能性几乎是无穷无尽的。
IBC背后的核心思想非常简单,不同的EOSIO区块链能够互相发送证明,允许在一个链上的操作在另一个链上被识别。将来,这些IBC交易很可能会完全从终端用户那里抽象出来,终端用户并不知道实际上后台进行的传输,是位于不同分类账本之间的。
侧链使用EOS 主网代币进行资源分配。建立在侧链上的项目根本没有办法用通胀来激励验证者(即侧链上的出块节点),因为EOS主网的通胀是给予主网出块节点的。因此,侧链有两个选择: 1、让所有主网出块节点,也在侧链上承担出块节点的角色;2、创建补偿BP的其他模型
对于姐妹链而言,它们必须创建足够有吸引力的产品和代币模型,使代币能够实际增值,从而激励出块节点。对于侧链而言,有一些其他的解决方案。理论上,可以举行链上公投,让EOS代币持有者决定现有主网上的出块节点应该在哪个侧链上生产区块。
允许dApp补偿BPs, BPs将从dApp的成功中获益。实际上,dApp的本地代币(目前用于共享收益用)也可以用于治理事宜,决定谁来成为侧链的出块节点,但是代币的供应量不一定需要通胀,侧链上的出块节点的收益,可以来自于侧链上dApp所产生的EOS收入。对于大多数侧链来说,这可能是最好的解决方案。
作为侧链、姐妹链和IBC的结果,EOSIO生态系统可以通过多种方式发展。一方面,我们可能会看到越来越多的侧链被开发出来,使得EOS主网代币比生态系统中的任何其他代币,产生更多的价值和网络效应。可能EOS主网代币会成为整个EOSIO生态系统的储备货币,而主网会被认为是最安全、最规范的链。
双向锚定(2WP)允许比特币从比特币区块链转移到第二层区块链,并且反之亦然。“转移”其实是一个错觉:比特币是不能被转移的,但可以暂时性地将比特币在比特币区块链上锁定,同时等量的等价代币在第二层区块链上被释放。当等量等价的代币在第二层区块链上被锁定时,则比特币区块链上的原始比特币就可以被释放。这就是双向锚定的本质。
质押托管合同(BEC)是比特股上创建的一种方法,这种方法可以让比特币(或法定货币)在一个智能支付平台上创建和平台本身不同的代币(如bts)进行交易。质押托管合同(BEC)的安全性通常是弱于双向锚定(2WP)的,因为用户必须信任没有对应利益关系的记账方,他们可能没有获得高额的奖励,但用户却必须信任他们是诚实的。并且,因为本地代币市场价格的波动性,让持有债券的参与方几乎只有很少甚至没有经济利益。
我们目前已经有的最常见的双向锚定设计是:侧链,驱动链和多重签名监管和混合设计。为了简化说明,我们将从比特币区块链转移到第二层区块链的代币称为第二层链代币(secoins)
侧链,为了不让更多第三方参与双向锚定,每个区块链可以通过协议来实现强制执行的共识。一个区块链系统性能能够理解其它区块链的共识系统,能够实现在获得其它区块链系统提供的锁定交易证明之后,自动释放比特币。
驱动链将被锁定比特币的监管权交给比特币矿工,并且允许比特币矿工们投票决定何时解锁比特币和将解锁的比特币发送到哪里。矿工使用比特币区块链投票,使用区块里的某些字段来实现投票(例如coinbase字段)。越多的诚实矿工参与进来投票,则安全性就越高。
在联合挖矿的情况下,驱动链和侧链都完全依靠比特币矿工的诚实,两者的安全性是相同的。然而,侧链在比特币一侧实现起来要复杂得多,所以在比特币这一侧,根链的最佳选择是使用驱动链。而在根链这一层,我们使用侧链的方式来实现。所以从这一点来说,根链是采用混合型设计方案,可以被称为驱动链/侧链。
侧链是通过双向peg (楔入)将不同的区块链进行“连接”,使得多方价值可以在不同协议上进行交易和流转的技术。什么叫双向楔入呢?其实就是主链能感知侧链的行为,侧链同时也能感知主链的行为。“连接”指链上协议的交互,而不代表系统间的通信。什么意思呢?比如运行一个交易,需要先请求某一节点的数据,这种情况下更多的是进程之间的通信,是中心化的网关,而不是协议上的通信,这是我们容易产生的一个误区。
侧链存在什么缺点呢?首先是更多复杂性,因为主链和侧链异构的环境都会带来新的不可知的状态,也可能面临着欺诈性交易的风险,而且随着协议的迭代升级也许还存在软分叉风险,这些都是侧链技术面临的挑战。
侧链有什么特征?第一、主链token在侧链流通时还是主链,通常时1: 1的比例或者其他预定汇率;第二、侧链自己不能产出主币,只能接受主链的输入,并在自己链上生成对应的侧链币;第三、侧链可以有自己的token也可以没有;第四、侧链需要足够的算力和共识保证侧链的安全;第五、侧链独立于主链存在,侧链上发生的任何事情都不会影响主链,从而可以保证主链安全性。
为什么侧链能解决问题?首先,在主链安全性保障的前提下,侧链可以在小范围共识,优化确认时间。我们可以把tps放在第一位,达到秒级确认。其次,多种侧链“并行”运行时,主链安全性和业务负载并不显著增加。因为主链上的数据只是侧链数据转入其中存储的状态,它不会面临数据膨胀的问题。最后,侧链数据可以加密,在小范围传输,记录交易路径,且不泄露隐私。在这样一个策略下,我们既可以在专有领域内传递数据,又可以同主链交互。
侧链的核心是解决跨链问题,跨链和侧链其实是两个不同的问题,比如以太坊上有一些币币交换的协议,是一条链上的不同token进行交互,我们可以认为是一种狭义的跨链,还有原子性交换,不过它并不是把交易从一条链上传递到另一条链上。而侧链实现的就是把价值从主链转移到侧链上,侧链又可以转回到主链上的,是所有跨链中最高级的一种形式。
侧链目前最常采用以下三种形式:1. 公证人机制(Notary schemes);类似中心化的模式,比如交易所,它需要中间有一个代理方或者审判方来做价值转换。2. 中继(Relays);我们经常实现的是轻客户端的模式,它通过设置SPV客户端 把比特币和以太坊交易结合在一起。3. 哈希锁定(Hash-locking);这是我们经常在原子交换、闪电网络上经常使用的一种技术。
BTC-Relay是基于Ethereum的合约,本质实现比特币的SPV客户端。它的缺点在于需要外界的Feed,即比特币spv-proof-block 数据,和同时难以处理比特币分叉的特殊情况。为什么BTC-Relay现在没能流行起来,一是因为它不能解决多而快的问题,二是缺乏激励,没人愿意花更多的钱传递比特币的区块,将其存储在以太坊上。
Rootstock也是很早就开发了,2013年说是要建立在比特币区块链上的智能合约分布式平台,现在已经实现了以太坊虚拟机的一个改进版本。作为比特币的一个侧链,它使用了一种可转换为比特币的代币作为智能合约的“燃料”。在RSK中,把比特币的相关信息写入sidechain,不断产生的区块信息写入SPV同时写入侧链,在比特币中任何区块产生变化都有相应的反应。在将代币解锁为比特币时使用了哈希锁定技术。
Bytom是一种多元比特资产的交互协议,运行在Bytom有不同形态的、异构的比特资产(原生的数字货币、Token)和原子资产(股权,债券,收益权等物理世界对应的金融和非金融资产)。Bytom是基于POW共识的区块链,需要对传统世界资产进行包容性,合规性,效率性支持。因为做这个区块链系统不可能只是满足于数字货币的交易,还要和现实的商业之间发生关系,因此侧链是我们选择的最好途径之一。
Bytom基于双向锚定(two-peg)进行修改,实现联合锚定(fed-peg)的侧链模型,引入多方中间人机制对于资产的质量和合规性进行把控。双向锚定和交易所的第三方担保不同,它是通过密码学机制来解决这样一个问题。
所有步骤可以简化为锚定主链资产,价值传递到侧链。等待资产”成熟”之后,就可以在侧链进行交易,侧链的交易跟主链没有任何关系,主链可以允许侧链锁定自己的资产。当侧链的资产一旦赎回之后,或者被销毁了,它无法再次使用,同时主链上的资产也可能消失,只释放赎回金额,同时结算手续费。所有的侧链上因产生共识所花费的成本,都需要支付手续费,这个手续费在侧链上结算,在主链上释放。也就是让所有的交易方或者共识方,都能获得一定的价值,而不是像联盟链一样,交易之间没有产生任何手续费。
https://www.8btc.com/article/257507 Bytom CTO朗豫:区块链商用化之路——侧链扩展


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:78
帖子:2
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP