区块链:HashKey 崔晨:解析公链多层结构趋势和互操作性

从互操作性角度,波卡等原生型多层结构要优于Layer2等后天型,因为前者可实现信息流转和智能合约调用。

区块链技术应用一直以来都是人们最关注的话题,而作为承载应用的公链,其性能决定了应用的上限,关于公链的技术进展同样受到关注。以太坊之后诞生的竞争公链,包括以太坊的升级,都致力于提高系统性能。在此前提下,多层结构在公链中成为众多公链的选择,例如多层架构和链下扩容方案。对于多层结构,层级之间的互操作性是实现可用的基础,更重要的是位于不同层的资产要达到统一的安全性。本文主要对目前流行的多层区块链结构进行分析,说明安全来源和互操作性问题。

公链多层阶段的趋势

公链及智能合约的诞生给区块链应用提供了载体,但应用场景也受限于公链。区块链大规模应用的障碍之一是可扩展性,即区块链的性能。可扩展性会限制区块链交易吞吐量,导致拥堵和交易费上涨,以太坊就常常面临这个问题。扩容是解决网络拥堵的根本方案,多层结构就是实现扩容的主要方式之一。通过多层结构,数据可以在不同的网络分区并行处理,提高系统的处理效率。例如以太坊的Layer2扩容方案,以计算过程放到链下进行,最终结果传回链上的方式,增强区块链的信息处理能力。公链多层结构有不同的表现方式,有平行链和中继链、分片、Layer2、主网和子网等。

公链中的数据和价值流转需要主网出块者达成共识,根据主网中的节点对多层结构是否感知,可以分为原生型多层结构和后天型多层结构两种模式。原生型多层结构的例子是Polkadot,在设计之初就明确了信标链上的验证者负责维护网络安全以及平行链间的通信。在后天型多层结构中,主网对其他层级没有感知,不负责其他层上的任何功能,需要各层自行保证资产安全。无论是哪种类型的多层结构,它们的作用都是在保证资产安全和互操作性的前提下,实现整个系统的扩容,提高公链的处理效率。

金色晚报 | 3月13日晚间重要动态一览:12:00-21:00关键词:比特币暴跌、降准、 Coinbase、斯诺登

1. 人民银行:3月16日实施普惠金融定向降准,释放长期资金5500亿元。

2. 摩根溪创始人:比特币此次暴跌系“流动性危机”。

3. 英格兰银行正在探讨如何将央行数字货币(CBDC)引入现有市场。

4. 美国纽约监管机构要求加密公司制定新冠病疫情应急计划。

5. Coinbase推出比特币交易批处理功能,可将费用减少50%以上。

6. OKEx Research首席研究员:全球市场恐慌加剧导致比特币暴跌。

7. 斯诺登:这是我一段时间以来第一次想购买比特币。

8. MakerDao通过多个风险参数调整投票,将债务拍卖延迟时间提高到6.5天。

9. 今日恐慌与贪婪指数为10 恐慌程度加深。[2020/3/13]

公链多层结构的资产安全和互操作性问题

不同类型的公链结构在实现多层结构安全的方式有所不同,原生型多层结构需要上线时就对跨层机制和确保安全方面有完善的设计,在上线后很难改动。后天型多层结构会在主链的基础上进行改动,自行保证安全并且不需要主链参与,实施发现缺陷后可以及时更迭技术,更为灵活。在保证不同层间安全的前提下,多层结构的互操作是可用性的基础。与安全保证类似的,原生型多层结构中会预设跨层接口,而且互操作性的范围更广,后天型多层结构需要额外的桥连接才能实现跨片区的交互。

原生型多层结构

Polkadot

Polkadot是一种异构多链结构,表现为中继链加平行链的方式,网络中共有三个角色,验证人、提名人和收集人。提名人可以将自己的DOT抵押给验证人,验证人负责维护中继链,中继链与多个平行链相连,每个平行链都会被分配一定数量的验证人,收集人负责收集平行链上的信息并生成验证证明发送给验证人。应用全部运行在平行链上,在网络需要扩容时,只需要增加平行链的数量。

金色晚报 | 2月21日晚间重要动态一览:12:00-21:00关键词:Cardano、富达国际、Telegram、Tezos?

1. Cardano现已完成OBFT硬分叉升级。

2. 全球金融监管机构:与稳定币相关的法律并没有迅速实施。

3. G20集团旗下工作组将对加密货币监管进行研究。

4. Telegram搬砖套利局仍在运转,20天内1010枚ETH。

5. Tezos已超越EOS成为质押市值最大的Staking项目。

6. 富达国际向加密货币交易所OSL运营商投资1400万美元。

7.重庆外汇管理部:跨境金融区块链服务平台节省核验时间。

8. 纳斯达克上市公司 Riot Blockchain计划出售交易所业务 专注挖矿比特币。

9. 比利时金融服务和市场管理局(FSMA)将三家加密货币网站加入黑名单。

10. 香港信托公司Legacy Trust为交易法币和加密货币的机构投资者创建结算层。[2020/2/21]

图1:Polkadot架构,内圈是中继链,外面连接的是平行链

中继链负责维护平行链的安全以及之间的信息传输,分别通过验证证明和XCMP实现。平行链与中继链共享安全的同时需要共享状态,他们通过BABE和GRANDPA达成共识,只要超过三分之二的节点投票支持,区块就可以被认为是最终性的。为了保证网络安全,平行链中的信息会由验证人证实已经执行过后,才会记录到中继链上。收集人向负责的验证人提交候选区块和状态转换的验证证明,如果平行链区块是无效的,则会被验证人拒绝。最终是验证人维护整体网络安全,验证人数量越多网络越安全,与平行链上收集人的数量无关。转化状态证明的验证必须使用验证人储存在中继链上的已注册的状态转换函数。为了防止验证人和收集人共谋,验证人会每隔一段时间进行随机分配。

金色晚报 | 12月19日晚间重要动态一览:12:00-21:00关键词:上海、井贤栋、国家电网、安永、Libra

1. 上海市地方金融监督管理条例(草案):市地方金融监管部门应当推动区块链等技术在监管平台的运用。

2. 井贤栋致全员信:相信区块链等数字技术可以解决信任难题。

3. 威海经区关于防范“虚拟货币”非法活动的风险提示。

4. 国家电网发布区块链技术应用十大场景。

5. 阿里巴巴链上公益计划首例区块链自动拨付成功完成。

6. 安永发布第三代零知识证明区块链技术 可通过批量处理降低交易成本。

7. 经济学家刘志毅:明年会成为区块链产业化的元年。

8. 恒生电子推出四款区块链产品。

9. Libra协会成员:尽管战略并未敲定 但Libra将在2020年推出。[2019/12/19]

XCMP负责实现两条平行链的互操性,通过中继链上的验证者解决信息跨链问题。XCMP由发送者和接收者组成,发送者的收集人会将跨链信息放入出站列中,负责的验证者验证后将其添加其进入接收者站列,接受者的收集人会看到这条信息后执行要求,并构建候选区块。接收链上的收集人最后将区块交给验证者,经由验证人验证消息已经被处理后,纳入中继链完成一次跨链。中继链既保证安全又协助跨链,因此Polkadot可以视为一个整体。

Cosmos

Cosmos通过Hub和Zone的形式来实现多层结构,网络通过增加Zone实现扩容,Zone也可以成为Hub再连接上其他Zone。相对于来说,Zone就是网络中的分片,Zone与Zone之间可以通过IBC协议实现通信。

独家 |metahash出现同名涉嫌欺诈的山寨合约:第三方大数据评级机构RatingToken最新数据显示,2018年8月5日全球共新增905个合约地址,其中193个为代币型智能合约。RatingToken安全审计团队发现,名为MetaHash Coin(MHC)的某山寨合约有疑似聚集资金的行为,智能合约检测3.17分,存在7个中危漏洞。该合约与近期较为火热的众筹项目metahash同名,但与metahash官方核实后确认其并未创建MetaHashCoin(MHC)合约,此合约有欺诈嫌疑。另外,此山寨合约创建者还创建了多个同类型合约,代码中均存在诱导用户转入ETH的行为。

昨日新增合约中还发现QQToken(QQ)和Bitcoin(BTC)等山寨合约,RatingToken安全审计团队提示用户,近期同名山寨合约增发频繁,用户需提高警惕,可登录RatingToken官网,一键检测合约质量。查看更多智能合约检测结果,请点击原文链接。[2018/8/6]

图2:Cosmos网络架构

每个Zone和Hub都是一个独立的区块链,网络的安全性由每条链自行维护,每条链上都设有独立的验证者节点,他们通过共识保障链上财产。Cosmos网络多层结构交互独立,这有别于Polkadot。在构建Zone时,Cosmos提供了模块化的开发工具包CosmosSDK,允许开发者直接使用TendermintBFT共识算法。Tendermint的容错率为三分之一,并且在共识时可以实现同一区块高度上不会出现两个区块,避免了网络分叉以此实现安全。

Cosmos中的Zone通过IBC机制进行信息交换,IBC类似于互联网的TCP协议,目的是实现信息的可靠传输,需要共识算法的最终性防止双花,Tendermint是最符合其要求的共识算法之一。在跨链实现前,双方需要了解对方的区块头信息,相当于保存了对方的轻节点。发送方在链上执行相关操作后,会生成相关证明传送给接收者。接收者验证后发送者的操作后,会执行下一步骤。

动态 | HASHFLARE关闭比特币采矿服务 用户努力撤回资金:HashFlare是一种加密货币云采矿服务,已关闭其比特币采矿服务。该平台还终止了所有相关的比特币采矿合同,理由是运营中缺乏盈利能力。2018年比特币这一排名最高的加密货币全年价格不断下滑,自年初以来下跌了60%以上。

在宣布终止其比特币采矿合同之前,HashFlare推出了新的知识客户(KYC)和反(AML)协议,限制了未经验证的客户撤回资金。结果,许多用户的资金困在系统中。[2018/7/23]

后天型多层结构

对于后天型多层结构,原本就存在的区块链结构称为Layer1,后来在区块链本身上搭建的多层结构称为Layer2。并非所有链下方案都可以算作Layer2层,否则中心化交易所也能算作多层结构。只有在机制设计上能完全保证用户资金安全的方案才可以归入Layer2方案,例如状态通道、Plasma、Rollup等。

状态通道

状态通道和闪电网络类似,将交易转移到通道中进行,等待通道内的交易结束后,再将资金转移到主链上进行清算。为了保证交易双方的资金安全,用户可以随时把资金撤走。在这种模式下,用户每进行一次资金转移都需要经过双方签名确认,最终版的签名代表了通道内的最终状态。用户需要凭借双方签名的证明提出提现请求,如果一方用户提交了请求,在规定时间内另一方拿出证明表明前者并非使用最新的交易结果,则提出质疑的一方获得所有资金;否则按照提出方的结果进行分配。

虽然状态通道的设置保证了资金安全,但影响了可用性和互操作性,而且状态通道内很难实现智能合约。用户无法对状态通道外的人转账,只能与通道内的人交互。通道只允许双方存在,如果想与其他人交易,只能再设立一个通道或者通过其他人作为路由节点进行交易。每条通道内都要锁定一定资金,这样的话影响全网的资金利用率,并且要求节点长期在线。

Plasma

Plasma由智能合约和默克尔树结构组成,通过在以太坊主链上创建一条或多条子链实现扩容。每个Plasma子链都是由独立的节点运营,他们可以通过不同于主链的共识算法验证和产出区块。运营者将交易数据以默克尔树的形式储存,并且将默克尔根发布到以太坊主链上,这样其他人能快速验证原数据是被储存在Plasma链中。

用户在Plasma链上的进入和退出需要智能合约处理,这个智能合约包括了状态转换规则,用户可以随时与智能合约交互自行加入和退出Plasma链。因此在检测到Plasma链上运营者的作恶行为时,可以主动将资金退回到主链。在退出时,用户除了要向以太坊提交期交易记录的证明外,还需要提交保证金且有一定挑战期的限制。如果用户提交了错误的记录,需要有人在挑战期对其进行证明并扣掉他的押金。

与状态通道不同,Plasma允许将子链中的资产发送给不在子链上的用户,只需要用户在子链中提现,所以在Plasma链上的资产与主网没有互操作性。而且不同的Plasma链由不同智能合约设立,他们之间也很难实现资产跨链和互操作性。

ZKRollup

Rollup是一种链下解决方案,主网中的计算放到链下进行,将可验证的结果传回链上,并且能够保证数据可得性。和Plasma一样,在链下交易前也需要用户将资金转入Rollup地址中。ZKRollup的验证者提交链下数据者需要附属一个证明,其内容的正确性可以快速得到主链验证。但有效性证明的成本与交易的复杂度有关,如果对智能合约的操作进行验证,成本会剧增。因此ZKRollup很难支持通用智能合约,限制了它的使用场景。目前ZKRollup的研究团队在开发适用在其上的标准智能合约。

Validium是一种类似于ZKRollup的技术,同样通过有效性证明验证交易。不同的是Validium的数据储存在链下,需要运营者负责数据储存。运营者的存在让Validium更中心化,但有助于扩展链下效率,因此Validium更适用于低信任环境的高频交易场景。

Rollup是主链上扩展出的Layer2层,目前只能实现跨层资产转移,通过验证证明的方式保证Layer2层的资金安全。由于资产跨到了Layer2层,所以很难实现跨层的智能合约调用。不同的Rollup之间也很难实现互操作,目前的跨链方案多为设立双边资金池的方式。

OptimismRollup

OptimismRollup与ZKRollup同样采取了Rollup的方式,面临相同的互操作问题。与ZKRollup的验证证明方式不同,Optimism在保证资金安全上参考了Plasma模式,使用的是欺诈证明。链上信息发布者需要提交押金,并等待挑战期。其他人可以在链上提交欺诈证明揭露发布者发布了错误的数据,如果属实则会对交易进行回滚,并没收发布者的押金。挑战期结束前没有人挑战成功的话,就可以认为数据是正确的。即将上线的ArbitrumRollup是OptimisticRollup的一个变种,也设有挑战期的限制。如果有人认为数据是有误的,则要缴纳保证金并提交证明,链上合约会对其进行仲裁。他们之间最大的差异在于上传到链上的数据有所区别,在解决争端时的链上成本会不同。OptimisticRollup会在链上执行一次完整的合约调用,消耗较高成本,ArbitrumRollup缩小其中的争议范围,降低了链上解决争议的成本。

多层结构的区别与联系

很多公链都呈现出多层结构,根据区块链上验证者对其他层是否感知,它们在实现方式上有所不同。对于原生型多层结构来说,除了资产之外,在虚拟机存在的情况下,还可以在不同层中实现智能合约的调用。在多层结构中实现更多的互操作性有利于扩大生态规模,实现模块化的功能,节约开发成本,并且层级间的互通能够提高资金利用率。后天型多层结构中主链验证者不会响应Layer2层上的请求,不过Layer2层在非必要情况下也不会与主链进行交互,因为会占用主链资源,影响Layer2的扩容效果。由于没有类似于原生型多层结构中的中继者或达成统一协议,在Layer2之间实现互操作性是非常困难的。

后天型多层结构在资金安全问题上会涉及到更复杂的问题,需要用户资产在链下能够实现和主链相同的安全性。在目前Layer2的设计方案中,都保证了无论Layer2上是否存在验证者,用户在链下的资产都可以随时提回链上,需要通过各种机制设计保证用户资产的安全性。下表是对不同多层结构在互操作性、跨层方式和层中角色方面异同的总结。

表1:多层结构的异同

思考与总结

多层结构通常是公链实现扩容的方式,将原本在一条区块链上交易的信息分散到多层中,通过并行处理提高效率。多层结构有两种表现方式,原生型和后天型,他们在验证者对多层结构的感知上有所区别。

在原生型和后天型多层结构中,信息通过不同的方式进行跨层传递。原生型多层结构例如Polkadot和Cosmos分别通过中继链和协议的方式实现跨层,对多层结构有严格的限制,Polkadot要求平行链的结果由中继链共识决定,Cosmos要求使用IBC协议的双方达成一致的共识安全,例如双方都使用Tendermint算法。Polkadot中继链的验证者负责平行链的信息传递和资产安全,可以将多层视为整体。Cosmos的多层结构则较为独立,每层均有独立的验证者。后天型多层结构只能通过资产映射的方式进行跨层,映射资产的安全性源自用户可以自行加入和退出Layer2,保证用户掌握控制权。为了实现链下交易与主链同等的安全性,不同Layer2方案设计了各种机制。例如状态通道中需要用户交易后更新签名状态,Plasma将原始数据的默克尔根发布在主网上,Rollup将压缩后的交易传回主网,交易方或第三方可以直接验证。

在更广义的互操作性上,原生型多层结构要优于后天型,因为他们可以实现信息流转及智能合约的调用。而后天型多层结构中由于信息源自链下,主链上验证者没有感知,在Layer2和验证者之间不会存在直接交互。对于不同Layer2而言,由于都是从主链上延展出的结构,跨层互操作性的难度不亚于两条异构链之间互操作。目前实现的资产跨层是双边资金池的方式,距离真正的互操作性还差很远。总之在区块链应用大规模部署前,多层结构依然是公链的趋势,接下来还将在互操作性以及生态扩展方面进行完善。

撰文:崔晨,就职于HashKeyCapitalResearch审核:邹传伟,万向区块链首席经济学家

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:0ms0-3:67ms