导语:近日,Danksharding的提出者、以太坊基金会的研究员Dankrad Feist在推特上发表了一番颇具争议的言论。他明确指出,不采用ETH作DA层(数据可用性层)的模块化区块链不是Rollup,同时也不是以太坊Layer2。如果按照Dankrad的说法,Arbitrum Nova和Immutable X、Metis、ApeX都可能从Layer2名单里“除名”,因为它们只在ETH之外(自己构建了名为DAC的链下DA网络)披露交易数据。
同时,Dankrad还表示,像Plasmas和状态通道这种不需要链上数据可用性(Data Availability)来确保安全的方案仍算是Layer2,但Validium(不用ETH作DA层的ZKRollup)不算Layer2。
Dankrad此言一出,便引来了诸多Rollup领域的Founder或Researcher质疑。毕竟有许多“Layer2”项目为了节约成本,并没有采用ETH作为DA(数据可用性)层,如果把这些项目踢出L2名单,必然波及到相当多的扩容网络;同时,如果validium不算L2,Plasma应该也没资格算作L2。
对此,Dankrad表示,Plasma用户在DA不可用时(就是指链下的DA层网络搞数据扣留,不公开交易数据),仍然可以把自己的资产安全撤出至L1;但相同的情况下,Validium(大多数采用StarkEx方案的项目都是validium)却可以让用户无法撤资至L1,把钱冻住。
Dragonfly Capital 管理合伙人:最成功的加密项目历来都是在熊市中建立的:6月10日消息,Dragonfly Capital的管理合伙人 Haseeb Qureshi 在Consensus 2022大会上表示,加密货币有五个未解决的问题,即身份、可扩展性、隐私、互操作性和用户体验。Qureshi 说,几乎所有长期成功的加密项目都解决了这些长期存在的问题之一,他在这里对“成功”的定义与财务胜利无关,而是指正在寻找真正用途的区块链项目。此外,Qureshi 说,今天几乎所有成功的加密项目都是在熊市中建立的。(Coindesk)[2022/6/10 23:05:37]
显然,Dankrad打算从“是否安全”来界定一个扩容项目是否为以太坊Layer2。如果从“安全性”的角度来考量,Validium在定序器故障 + DA层发动数据扣留攻击(隐瞒新数据)的极端情况下,的确可以把用户资产冻结在L2无法提到L1;Plasma因在设计上与Validium不同,虽然多数时候安全保障不及Validium,但在定序器故障 + DA层发动数据扣留攻击(隐瞒新数据)时,却允许用户把资产安全撤离至L1。所以Dankrad的说辞不无道理。
本文打算从Dankrad的视角出发,通过对Layer2的细节作进一步分析,来深入理解为何Validium不是严格意义上的“Layer2”。
按照ethereum.org网站和多数以太坊社区成员的定义,Layer2是“给以太坊扩容+继承以太坊安全性 的独立区块链”。首先,“给以太坊扩容”就是指分流以太坊无法承载的流量,分担TPS方面的压力。而“继承以太坊安全性”,其实可以转译为“借助以太坊保障自身安全性”。
比如,Layer2上所有的交易Tx都要在ETH上完成最终结算Finalize,数据有错误的Tx不会被放行;如果要回滚Layer2的区块,要先回滚以太坊区块,只要以太坊主网不发生类似51%攻击的区块回滚,L2区块就不会回滚。
Dragonfly Capital合伙人:在熊市中需要企业家们更具创造性和雄心:金色财经联合Coinlive现场报道,“Token 2049”峰会活动在新加坡举办,在题为\"将加密货币作为风险基金导航\"的圆桌讨论中,Dragonfly Capital的管理合伙人Haseeb Qureshi表示,在牛市中,筹集资金非常容易。而在熊市中,事情变得更加困难,但这促使企业家们更具创造性和雄心。例如,Solana、OpenSea和Uniswap都是在熊市中创建的。他认为投资人在目前的环境下想看到的是创新的发明应该大胆一些。
Pantera资本的合伙人Paul Veradittakit分享称,在熊市中,在资金很少或极少的情况下,最好是集中在一个问题上,先解决这个问题。试着想出一个办法,让它变得有意义,在熊市中获得利润。在这样的环境中建立一个伟大的产品将更容易获得吸引力。[2022/9/29 22:40:03]
如果我们更进一步探讨Layer2的安全性,其实还要考虑许多极端情况。比如,如果L2项目方跑路、定序器Sequencer故障、链下DA层挂掉,在这些极端事件发生时,用户能否把自己在L2上的资金安全撤出到L1上?
不考虑L2合约升级/多签隐患等因素,其实如Arbitrum或StarkEx都有为用户设置强制提款的出口。假设L2的定序器发动审查攻击,故意拒绝用户的交易/提款请求,或干脆永久宕机,Arbitrum用户可以调用L1上Sequencer Inbox合约的force Inclusion函数,将交易数据直接提交至L1;如果在24小时内,定序器没有处理这笔需要“强制包含”的交易/提款,该交易会被直接包含进Rollup账本的交易序列中,这就为L2用户创造了一个可强制提款的“安全出口”。
韦氏评级:XRP似乎处于熊市中:加密评级机构韦氏评级(Weiss Crypto Ratings)称,XRP似乎处于熊市中,它不断创造更低的高点和低点。数据显示,自5月份达到0.23美元峰值以来,XRP资产已经下跌了大约20%。分析认为,有两个关键因素导致这一现象。首先,与其他数字资产相比,XRP的通胀率极高,过去12个月其循环供应量增长了20%。其次,随着价格的缩水,XRP的社区一直在萎缩,2020年第一季度,XRP的推特讨论量下降了16%。(Cryptoslate)[2020/6/22]
相比之下,有逃生舱Escape Hetch机制的StarkEx方案要有过之无不及。如果L2用户在L1提交的Forced Withdrawal请求在7天窗口期结束时,未得到定序器响应,则该用户可以调用freeze Request功能让L2进入冻结期。此时,L2定序器将无法在L1上更新L2的状态,L2状态冻结后要过1年才能解冻。
L2状态冻结后,用户可以构造与当前状态相关的Merkle Proof,证明自己在L2上有XX数额的资金,通过L1上的逃生舱Escape Hetch相关合约来提款。这便是StarkEx方案所提供的“全额提款”服务。即便L2项目方没了,定序器永久故障了,用户还是有办法把资金撤出L2。
但这里存在一个问题:用StarkEx方案的L2大多是Validium(比如Immutable X和ApeX),并不会把DA所需的数据发布到ETH,构造当前L2状态树的信息都存在链下。如果用户无法在链下获取构造Merkle Proof的数据(比如链下DA层发动数据扣留攻击),是无法通过逃生舱来提款的。
声音 | 彭博:熊市中,加密风险投资基金策略胜于对冲基金:根据彭博社的报告,在熊市中,加密风险投资基金策略胜于对冲基金模式。Crypto Fund Research的数据显示,2018年新成立了125个加密风险基金及115个以投资为导向的加密对冲基金。相比之下,在2017年,新对冲基金的数量为136,风险基金为85。2016年共推出了36只对冲基金,而风险投资机构只有16家。彭博社采访了多位业内人士,他们将这种转变归因于ICO市场的疲软。[2019/1/31]
至此,文章开头提到的Dankrad认为Validium不安全的原因,其实很明确了:因为Validium不像Rollup一样把DA的数据发到链上,所以用户可能无法构造出“强制提款”所需的Merkle Proof。
Validium和Plasma在发生数据扣留攻击时的区别
事实上,Validium的定序器只在L1链上发布L2最新的Stateroot(状态树的根),再提交一个Validity Proof(ZK Proof),证明新的Stateroot生成过程涉及的状态转换(用户资金变化),都是正确的。
但单凭stateroot无法还原出此刻的状态树world state trie,也就无法知晓每个L2账户的具体状态(包含资金余额),L2用户就无法构造对应当前合法Stateroot的Merkle Proof。这便是Validium不利的地方。
声音 | CNBC主持人:人们很快会因为没有在熊市中购入而后悔:CNBC主持人 Ran NeuNer发布推文说道,人们很快就会后悔他们没有足够的勇气和信念在这次熊市中购入,就像他们曾经信誓旦旦说一定会抄底一样。结果还是望而生却,并因此感到后悔。[2018/12/8]
(Merkle Proof其实就是root生成过程中所需的数据,也就是图中暗色的部分。要构造对应Stateroot的Merkle Proof,必须要知道状态树的构造,需要有DA数据)
这里必须要强调下DAC这个东西。Validium的DA所涉数据,比如定序器最新处理的一批交易,会同步给名为数据可用性委员会DAC(Data Availability Committee)的L2专属DA网络,DAC由多台节点服务器构成,一般由L2官方和社区成员或其他单位负责运行和监督(但这只是表面上的,实际上DAC成员都有谁,外界很难查证)。
有意思的地方在于,Validium的DAC成员需要频繁在L1提交多签,证明L2定序器在L1提交的新Stateroot和Validity Proof,与DAC同步到的DA数据能对上号。DAC的多签提交后,新的Stateroot和Validity Proof才会被认为是合法的。
目前Immutable X的DAC采用5/7多签,dYdX虽然是ZKRollup,但也有DAC,用的是1/2多签。(dYdX只在L1发布State diff即状态变化,而非完整交易数据。但获取了历史记录里的State diff,就可以还原全部L2地址的资产余额,此时就可以构造Merkle Proof来全额提款)。
Dankrad的观点不无道理。Validium的DAC成员如果合谋,发起数据扣留攻击,不让其他L2节点同步此刻的最新数据,并且更新此刻L2的合法Stateroot,用户无法构造此刻合法root对应的Merkle Proof来提款(因为此刻往后的DA数据不可用了,可用的是以前的DA数据)。
但Dankrad考虑的只是理论上的极端情况,现实中大多数Validium定序器都会实时的把新处理的交易数据广播给其他L2节点,其中不乏诚实节点。只要有1个诚实节点能够及时获取DA数据,用户就可以从L2全身而退。
可理论上存在于Validium身上的问题,为何不存在于Plasma身上?这是因为Plasma判定合法Stateroot的方式,和Validium不同,有欺诈证明窗口期的缘故。Plasma是OPRollup之前的L2扩容方案,与OPR一样靠欺诈证明保证L2的安全。
Plasma与OPR一样有窗口期的设定,定序器发布的新stateroot不会立刻判定为合法,要等窗口期close且没有L2节点发布欺诈证明。所以Plasma和OPR的当前合法Stateroot,都是几天以前提交的(这就好比我们看到的星光,其实都是很久以前发出的),而用户往往可以获取过去时刻的DA数据。
同时,欺诈证明机制能在此刻生效的前提,是此刻L2的DA可用,也即Plasma的Verifier节点可以获取此刻的DA所涉数据,这样才能生成此刻的欺诈证明(如果有必要的话)。
那么一切都很简单了:Plasma正常工作的前提是此刻L2的DA数据可用。如果从此刻开始,L2的DA不可用了,用户能安全撤资吗?
这个问题不难分析,假设Plasma的窗口期是7天,如果从某个时间点T0开始,新的DA数据就不可用(DAC发动数据扣留攻击,不让诚实的L2节点获取T0往后的数据)。因为T0及此后一段时间内的合法Stateroot,是T0时刻前提交的,而T0时刻前的历史数据可追溯,所以用户可以构造Merkle Proof来强制提款。
即便很多人无法立刻察觉异常,但因为有窗口期存在(OP是7天),只要T0时刻提交的Stateroot还未合法化,且T0之前的DA数据可追溯,用户就可以把钱安全撤出L2。
至此我们大致可以理清楚Validium和Plasma在安全性上的区别:
Validium的定序器发布Stateroot后,只要立刻发布Validity Proof和DAC多签,就可以使其合法,成为最新的合法Stateroot;如果用户和诚实L2节点遭遇数据扣留攻击,无法构造当前合法Stateroot对应的Merkle Proof,就无法提款到L1。
而Plasma提交新的Stateroot后,要等窗口期结束才能合法,此时的合法Stateroot是过去提交的。因为有窗口期(ARB是3天,OP是7天)存在,即便新提交的Stateroot的DA数据不可用,用户也有当前合法Stateroot的DA数据(合法root是过去提交的),有足够的时间强制提款到L1。
所以,Dankrad说的话有道理。当发生数据扣留攻击时,Validium存在把用户资产困在L2的可能,但Plasma并不存在这个问题。
(下图中Dankrad说的有一点不对,Plasma应该不允许构造过时的合法Stateroot对应的默克尔证明来提款,因为这会导致双重支付)
所以,链下DA层的数据扣留攻击会造成许多安全隐患,但Celestia尝试解决的正是这个问题。此外,因为大多数Layer2项目都会提供让L2节点与定序器保持链下同步的服务端口,所以Dankrad的忧虑其实往往只是理论上的,而不是现实中的。
如果我们用鸡蛋里挑骨头的态度,再提出更极端的假设:所有的Plasma链下节点都不可用了,那么那些没跑过L2节点的普通用户都无法强制提款到L1。但这种事情发生的概率,等价于一条公链的所有节点集体永久性宕机的概率,可能永远不会发生。
所以,很多时候,大家只是在谈论一些根本就不会发生的事情。正如美剧《切尔诺贝利》里克格勃副主席对主角说的那段金句:“为何要担心根本就不会发生的事情呢?”
极客 Web3
个人专栏
阅读更多
金色财经
金色财经 善欧巴
web3中文
金色早8点
YBB Capital
吴说Real
元宇宙简史
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。