首页 手机兼职平台区块链正文

侧链究竟是什么?以及不是什么?

网赚之家 区块链 2020-11-27 13:30:06 6427 0

:barryWhiteHat:

导言

Layer-2

可是,「Layer-2」 是个不精确的标签。有些人说起 「Layer-2」 时,只是指的是 「不在以太坊 Layer-1 (上的东西)」。但实际上,计划究竟怎样跟以太坊 Layer-1 交互,是非常重要的。同属「Layer-2」 名目下的不同计划,特性能够有大相径庭。能够争议 「Layer-2」 应该专指具有特定特色的某些东西(例如,咱们大约都赞同,布置在 AWS 上的东西不是 Layer-2,但也有一些项目,安全性确保差不多,但也被以为是 Layer-2)。不过,这不是我这儿要讲的主题。

我在这儿要评论的是侧链(sidechains)的特色

侧链的底子意义是:由一组验证者,把一条链的最新状况提交给一个(主链上的)智能合约,如此推动的一类体系。这些(最新状况的)检查点可被一个桥接合约(bridge contract)运用,以支撑用户的存款和取款。一般来说,在该组验证者之间也会有一个首领符合流程,来决议某时某刻由谁来创立侧链区块;例如 PoA 威望证明算法和 PoS 算法。(译者注:由该界说可见,作者所评论的,是在主链上没有规划有效性确保机制的侧链;依照现在咱们对 「侧链」的广泛界说,作者评论的是广义侧链的一个子集;可是,原始的「侧链」,也便是狭义的侧链概念,正与作者这儿提出的一般无二。就看咱们自己乐意把「侧链」 当成一个专有名词,仍是乐意取其衍生意义了。)

侧链在以太坊生态中也扮演着重要的人物。在研究人员还未开宣布更好的计划之前,它们是可扩展性和可用性的暂时处理计划。像 xDai 这样的产品,也点出了咱们对更好的用户体会的需求,并使之扩散了开来。

可是,侧链并不具有广阔的以太坊社区所等待的安全性。这不是说永久不应运用侧链这种计划。假如人们彻底知情,可是乐意用,那是他们自己的挑选,也或许是值得的。但假如人们是不知情的,那就风险了。本文是期望供给一些信息。假如每个人都现已彻底知晓了这些特性,那我这再写一篇也无伤大雅。但假如这文章能协助咱们意识到自己的误解,那就算做了功德了。

那么侧链究竟缺少了哪些安全特性?简直一切的侧链,都不能够供给:

  • 检查抗性

  • 结局性

  • 资金一切权确保

假如这些特性你全都要,那你或许得另找计划来代替侧链了。当然,也有或许在坚持侧链中心架构的前提下改善详细计划在这些维度上的体现。

我觉得开放性的评论对咱们都有优点。

检查抗性

明显,侧链的检查抗性比(规划优秀的)区块链要弱。否则,那也底子不需求区块链了。但这儿咱们挖得再深一些。

假如某条侧链有 N 个验证者,而只需有 M 个验证者一致赞同就能够检查恣意一笔买卖,那么只需求 (N-M) 个验证者联合起来,就能够检查一个区块。这就导致了一个风趣的两难:要让检查买卖变得更难,就会让检查区块变得更简略。由于检查买卖和检查区块都是糟糕的作业,所以侧链就在底子上不能取得健旺的检查抗性(译者注:这儿的逻辑如下,假如只需 M 个验证者都不赞同出某个块,体系就不能出块,那么天然,只需求 M 个验证者就能够通过回绝出块来检查某一笔买卖;可是,这也意味着,只需 N-M 个验证者赞同,他们能够恣意出块,总是出包含了其他内容的区块而不出某个区块,毛重团体玩消失)。

这种忧虑在运用 PoS 时也仍然存在,毛重按权益来核算出块权重会让它变得更糟糕,由于达到阈值的独立实体数量或许会更低(即便在最理想的状况下,权益是充沛均匀分布的,那也只不过跟不运用 PoS 的景象相同,不会变得更好)。

数据可得性确保

假定只需 (N-M) 个验证者就能够创立一个区块。再假定一切其他验证者需求具有整个状况的数据才干够验证新状况。那么,只需 (N-M) 个验证者是歹意的,他们能够:

  1. 创立一个新区块

  2. 回绝与诚笃验证者同享区块数据

  3. 本质上便是将 N-(N-M) = M 名诚笃验证者移出了一致进程,因而彻底掌控了整个体系

这种状况产生的或许性有多大呢?明显需求更详细的细节才干下结论,但咱们能够这样开端考虑:一个理性的验证者,要跟其他人同享数据的鼓励在哪里呢?在传统的威望证明机制中,不这样做或许对名誉有损。可是,其实名誉机制也很难起作用,由于实际上并没有办法证明数据被扣起来了,除非其他人把一切数据都放到了链上。觉得这个处理计划听起来像是 optimistic rollup?没错,便是如此。这也意味着,带有更好安全性的侧链,本质上就 “退化” 成了 optimistic rollup。

在大多数侧链计划中,验证者能够由于自己的作业而取得某种方式的付出。关于诚笃的验证者,奖赏会在 N 个验证者之间同享。关于不诚笃的验证者,相同多的奖赏只会在 N-(N-M)=M 个验证者之间同享,所以验证者彻底有鼓励不跟其他人共享更新后的状况(译者注:此处的核算疑有误)。

在这儿,有一个底子性的难题:很难区分数据可得性(data availibility)进犯。关于诚笃验证者来说,很难分辨出,究竟是有人发起了进犯,仍是自己遇到的同步问题。

结局性

假定状况转化的流程如下:

state 1 => state2 => state3

而每一次的转化都需求一些买卖在已有的状况上收效然后改动状况。而结局性便是说,买卖一旦收效,就不能吊销。

侧链的检查点,通过侧链验证者的一致之后发送到以太坊区块链上,并依据以太坊的一致机制被固化下来。有些人或许因而就以为,侧链的结局性等同于以太坊的结局性;要回滚侧链的区块,你也需求回滚以太坊的区块。但这彻底搞错了

由于结局性是说不能回滚买卖,不是说不能用新状况来代替旧状况。只需 (N-M) 个验证者赞同,他们能够履行如下的状况转化:

state 1 => state2 => state1

(运用 state1 来代替 state3,就等所以回滚了咱们默许现已结局的 state2,但这彻底不需求以太坊主链也回滚。)

侧链资金一切权确保

假定现在的 state1={Alice:1000,Bob:0}。即 Alice 有 1000 块,而 Bob 啥也没有。那假如 Bob 是歹意的,并且操控着(或许能够高效地堕落) POA 验证者中的绝大多数,他能够怎样做?

他能够履行一个状况转化,state 1 => state2,而 state2={Alice:0,Bob:1000}。也便是偷走 Alice 一切的钱并交给 Bob。

因而,侧链的防护就削弱为,不会有 (N-M) 个验证者赞同去履行这样的不合法状况转化。

这现已是众所周知的事(至少我是这么信赖的),但我以为仍是有必要提示咱们。你对一条侧链的决心,只能是信赖验证者中的大多数不会干这样的作业。对侧链的大部分安全剖析都应该重视这一点。

或许仍是有某些人你能够在某种程度上信赖他们。就像咱们中的许多人都(出于许多理由而信赖)中心化的服务供给商。有时分这种献身是值得的。重要的是,你得清楚这是一种权衡。

运用管理程序作为防护手法的问题

有一种说法是:”咱们能够运用管理程序来处理上面说到的一切问题“。这种办法是有缺点的,由于整个体系会退化为一个管理流程。这种说法格外使我忧虑的一个理由是,它意味着侧链的其他特色是剧院(什么时分,咱们由于什么理由需求这样的特色呢?)。举个比方,假如管理流程才是防备上述问题的终究手法,那也就意味着,什么 PoS、PoA,通通都不重要。体系的管理流程才是真实的 PoA。并且,很明显,对体系的管理流程,相同能够发起一模相同的进犯。

侧链的特性在哪里或许特别有用?

除了侧链的一些附加特色,比方更快的区块时刻(因而有更好的用户体会),的确有一些场合,是侧链的特色能够大放异彩的。比方:

  1. 便是想要 N -M 个验证者就能履行恣意状况转化。期望有一个高档操控权限的企业使用便是一个比方。

  2. M=0,且 N 个验证者能够履行恣意状况转化的状况。例如,一个四方参加的游戏。不过问题是,1 个验证者就能够关停这条链。

结语

从前,侧链是在坚持必定水平的以太坊可组合型和互操作性的前提下,仅有可用的计划。现在,跟着其他一些 Layer-2 扩展计划的老练,是时分考虑侧链怎么与其他计划更好地结合了。

有一些特色,很合适让侧链加以整合:

  1. 完成不收费的大规模搬迁,确保用户不会由于费用而被卡住,无法退出。

  2. 将首领符合机制替换为其他具有更强检查抗性的计划(PoS 或许是个过错的方向。见此帖)

  3. 需求参加器来处理链上两个状况的差异。

  4. 参加过错性证明来避免不合法的状况转化。

跟着 optimistic rollup 和 optimistic VM 技能的老练,项目的权衡规模也会改动,因而,现在是反思侧链特色及其相关取舍的好时机。

https://ethresear.ch/t/understanding-sidechains/8045

mp.weixin.qq.com

版权声明

本文仅代表作者观点,不代表网赚之家本站立场。
本文系作者授权发表,未经许可,不得转载。

评论