作者:0xhhh,EthStorage;编译:Faust,《极客web3》
导语:自Rollup成为显学以来,定序器Sequencer去中心化始终是以太坊/Celestia社区的关注焦点,同时也是Layer2研发工作中难以逾越的大山。对此,不同的Rollup方案均提出过关于节点去中心化的设想,为这一话题提供了无比广阔的想象空间。
本文作者以知名ZKRollup项目Aztec为例,以近期Aztec Labs提出的名为B52、Fernet的2个提案为切入点,为广大读者解析ZKR如何实现定序器节点的去中心化。
提案B52打算实现以下目标(理想情况下):
1. 去中心化的sequencer网络,由L2节点自己选举每一轮的proposer
2. 去中心化的prover网络,prover节点硬件要求低
3. Rollup整体具备很好的抗审查性.
4.L2产生的MEV价值由L2节点获取
5. L2区块被提交到DA层时,可以获得比较有效的最终性Finality,不可逆转的finality则要等ValidityProof(有效性证明)提交完毕
6. L2 Token可以拥有不错的经济模型
7. L2区块和交易数据都在L2的p2p网络中传播
8. L2继承L1的安全性
该方案将整个L2出块流程划分成三个时间阶段:
Block Proposal Window(BPW)
BlockAcceptance Window(BAW)
State advances
其中,BPW(区块提议)阶段是多个定序器Seuqnecer提出不同的区块并竞争、Prover选择某个备选区块给出投票的过程。
BAW(区块采纳)是Prover给区块构造有效性证明Validity Proof,并将其提交的过程。
Block Proposal Window(区块提议阶段):
BPW可以再细分为Block Proposal, Block Voting, Aggregation三个阶段。
Numen发布微软漏洞解析,黑客可通过该漏洞获取Windows完全控制权:6月9日消息,安全机构 Numen Cyber Labs 发布微软 win32k 提权漏洞解析。Numen 表示,该漏洞系 win32k 提权漏洞,是微软 Windows 系统层面的漏洞。通过该漏洞,黑客可获取 Windows 的完全控制权。
Numen 指出,win32k 漏洞历史众所周知。但在最新的 windows11 预览版中,微软已经在尝试使用 Rust 重构该部分内核代码。未来该类型的漏洞在新系统可能被杜绝。
此前报道,5 月,微软发布的补丁更新解决了 38 个安全漏洞,其中包括一个零日漏洞。[2023/6/9 21:25:55]
Block Proposal(BP)阶段中任何人都可以收集交易,并广播自己的BP内容。BP内容会包含三个部分: txs order hash, prover reward percentage, burn token amount
txs order hash: Proposer 从L2的交易池(mempool) 中选择最有价值的一批交易并排序,然后将这批交易的哈希值放进自己构建的区块中。
prover reward percentage: Sequencer分享给Prover的区块奖励百分比
burn token amount: Proposer提议销毁的L2 Native Token数量,接着它将自己提出的BP发送到L2 p2p网络中
Block Voting 投票阶段:
Prover 在p2p网络中接收到不同Proposer提出的BP后,会投票给能让自己获得最多reward的BP。不过投票的组成很特殊:
Vote={BlockHash, Index of Proof Tree}
分析 | USDT听证会解析:瑞海君看币观点:一、预计听证会围绕的主题有如下两个:
1.Bitfinex和Tether不顾美国法律和监管,为纽约州居民提供了相关服务。
2.Bitfinex和Tether之前在美国的业务,触犯了美国的反法(这个才是对USDT具有巨大杀伤力的议题)。
二、?今晚可能达成的几种结果:
1.BFX和Tether违规为美国居民提供服务罪名成立,会导致两家共识会继续被调查,且会被美国要求提供更多的运营资料,的事情没结果,但是也要提交更多资料自正清白,这是利空!会导致USDT这个雷持续悬在整个币圈的头上,然后美国来一条新闻,币圈震动一次,简直就是噩梦。(概率中性)
行情影响:短暂反弹,然后继续震荡阴跌。
2.两项罪名都没结果,短暂利好,BFX继续和美国扯皮,大家松一口气暂时?,价格可能出现反弹。(可能性较大)
行情影响:短暂反弹,后市宽幅震荡为主。
3.两项罪名都成立,不可想像(可能性较小)!
行情影响:区块链局。
罪名直接成立可能性也较小,调查没那么快,所以请大家系好安全带,等待靴子落地,两只靴子到底如何落地,落地几支,只有静候今晚的听证会了。[2019/7/29]
BlockHash是Prover要投票的Proposal的哈希,而Index of Proof Tree则是Prover要参与构建的Proof Tree的叶子索引值(后面会解释)
Aggregation聚合:Proposer在L2 p2p网络中收集Prover们针对BP的投票,将其聚合并放进BP中,提交到L1上(每个BP一般只包含与自己有关的投票记录)。
在此,需要强调BP被选中并纳入Rollp账本的先决条件:
拥有最高的分数:
SCORE(y) = NUM_PROVERS (x)^3 * BURN_BID(z)^2`
NUM_PROVERS (x)是该BP获得的Prover投票数量,BURN_BID是该BP所提议销毁的L2 Token数量。由于BURN_BID越高,BP提议者最后获得的奖励越少,所以这个数值要设置得当。
动态 | EOS疑似将推出基于EOS的HandShake DNS解析服务:EOS疑似将推出基于EOS 的 HandShake DNS解析服务,一位开发者的Github显示正在开发EOS-handshake服务。Cosmos社区总监Chjango Unchained4月30日发推表示发现EOS开发者正在复用 Handshake 的开源代码。EOS或许会加入域名解析服务,生态会进一步扩大。(IMEOS)[2019/4/30]
同时,该BP需要在Block Proposal Window结束前被提交到L1上,对应的有效性证明Proof要在Block Acceptance Window结束前被上传到L1。
需要注意:BP的分数计算中,投票数量占的比重最大,其次才是burn token的数量。同时,B52方案允许多个proposer(其实就是sequencer)针对一个有效的BP名额展开竞争
B52方案仅需要Proposer(sequencer)在自己的BP中指定burn token的数量(类似于EIP1559的方式)而无需事先stake token,这可以让网络更加permissionless(无准入许可),同时也有利于L2的原生Token产生通缩。
此外,BP中不包含完整的交易数据,只包含交易序列的哈希,道理类似于以太坊PBS方案,旨在避免MEV被其他Proposer窥探并抢跑。
Block Acceptance Window(区块采纳阶段)详解:
在Block Proposal Window结束后,Prover需要reveal揭示他们的BP对应的完整交易数据。Prover投票的BP如果被选中的话(分数最高,可通过L1合约查询),它们就需要构造投票时给出的Index of Proof Tree所对应的Sub Proof Tree。
假设Aztec的区块包含2^13=16384的交易数量,并且有2048个prover,那么每个prover构造2^3=8笔交易组成的sub proof tree.然后prover把自己构造的sub proof tree广播到L2 p2p网络中。proposer接收之后,会把所有的sub proof tree聚合成一个block proof。
动态 | 日本Catabira推出基于区块链的数据解析平台:据Prtimes消息,日本信息服务商Catabira宣布推出基于区块链的商业服务级数据解析平台Catabira Insights For Blockchain,将利用区块链技术不可篡改的特性保证调查数据的真实性。[2018/11/8]
接着Propsoer将聚合的proof提交到L1的Rollup合约,合约会验证这个proof以及对应状态转换结果的正确性。这里要注意,Prover如果故意不提交proof的话,不仅无法获得Proposer许诺的区块奖励分红,还会被slash,因为要成为Prover是需要提前质押Token的。因此,与Proposer(Sequencer)不同,Prover并不是Permissionless的。
State Advances(状态推进阶段)详解:
在 Block Acceptance Window结束之后,Rollup合约会选择一个分数最高的区块纳入Rollup账本,并且把区块奖励Reward按照Proposer(Sequencer)事先声明的比例,分别发送给Proposer和Prover。
以上便是Aztec的B52方案。但本文作者认为,B52提案存在一些潜在问题:
问题一: 假如一个分数最高的区块的validity proof是不完整的。提案中给出的解决方法是,假如Proposer只提供了50%的proof,那么他也只能获得50%的区块奖励,从而确保Proposer没有动力故意不提交完整的proof。同时Prover自己也可以直接向合约直接提交proof。
按照提案的叙述,是可以接受一个区块没有完整交易的validity proof。这点其实是不合理的:因为:zkrollup都是在给出validity proof的同时,才声明这个区块对应的新状态有效。
如果proposer最后提交到L1的聚合proof缺失了某个交易的proof,很显然在这笔交易之后发生的所有交易的状态转换证明都是不成立的(因为交易是顺序执行并且有状态依赖的),我们也就无法确认这个区块对应的新状态是有效的。
前美联储理事Kevin Warsh:从美国经济政策角度解析比特币价格波动: 前美联储理事、斯坦福大学胡佛研究所杰出访问学者Kevin Warsh今日撰文,从政府经济政策角度解读了比特币价格波动的原因。对于2017年BTC价格的狂飙,Warsh认为:1.特朗普上台后推出的减税等宽松政策持续刺激美国经济增长,继而带来的通货膨胀预期促使美国加息进度超预期,比特币成为规避法币贬值的避风港;2.特朗普政府贸易保护政策致使美元在2017年贬值12%,投资者寻求比特币规避贬值;3.据去年10月、11月调查,美国民众对政府的信任度下降14个百分点达到33%,而美元正是建立在公众对政府信任的基础上。而对于今年以来比特币价格的大幅波动,是因为投资者正在调整对政府政策的预期,新任美联储主席也在重新考虑如何更好地实施货币政策,同时也在考虑推出自己的加密货币。[2018/3/8]
因此这个时候,合理的方式应该是进入无限等待的Block Acceptance Window,直到所有交易的proof都提交完成。
问题二:假如得分最高的区块是非法区块(B52方案里也没有解释这点)。BP仅仅包含交易序列的哈希,所以恶意的proposer实际上可以故意构造有问题的交易,比如双花交易。那么这个时候,实际上需要在L1合约增加一个任何人都可以提交illeagal proof的函数, 这个illeagal proof用于证明得分最高的BP是一个非法区块。
并且这种举报应该是有奖励的,我们可以把proposer 发送到合约中的burn token都奖励给提交illegal proof的举报者节点。
有趣的思考:关于叔块和多余的Prover Work: B52方案实际上会在每轮分数最高且有效的BP出现后,把这一轮出现的其他BP(已经提交完整proof)作为叔块,分配一定的叔块奖励。
这实际上沿用了ETH POW共识机制的做法,为了避免算力过度集中,需要分配一部分出块奖励给未被采纳的区块提出者(矿工),以保障小矿池/个体矿工的利益,避免算力被大矿池垄断。因此采用以太坊表现不错的叔块机制也是一个很聪明的选择。
B52提案在Rollup去中心化方面的意义:Proposer是去中心化且不需要质押的,准入门槛低;但是因为需要自己Build最有价值的区块,以及需要收集其他Prover的投票,并聚合所有Proof,实际上Proposer的硬件门槛没有提案中叙述的那么低(比如带宽可能不会很低)。
所以,最终还是会成为一个比较中心化的网络,类似Mev-Boost Builder,因为最终能出块的proposer往往也是最擅长捕捉MEV的Block Builder。
同时,B52方案里的Prover需要质押资产,但因为仅仅需要生成sub tree proof,相比于那些需要完整生成整个block proof的方案来说,Prover的去中心化程度会更好(硬件要求可以放低了)。
活性Liveness:总体的网络Liveness是不错的,因为L2有自己的p2p网络来广播交易和投票/BP,并且Sequencer和Prover都比较去中心化。但是需要解决我们上面提到的两个问题,一个是得分最高的区块一定是合法的区块,第二个是需要等待完整的block proof提交到L1才能进入一个新状态。所以需要一个更有效的激励机制,避免整个Rollup网络由于缺失某一部分tx proof而无法正常工作(停机)。
抗审查性Censorship Resistance:如果我们能保证任何人都能发布区块提议BP,并且保证不只是Proposer可以提交block proof,那么网络会有很好的抗审查性 。
最终性Finality:L2的finality 跟网络的liveness息息相关,因为最终的verified finality 还是需要等待Block Proof的提交,但实际上你也可以相信一个得分最高的BP对应的区块内容(只要它里面不包含恶意交易)。
这个区块会在Block Acceptance Window 开始时被揭示reveal,意味着作为用户,仅仅需要等待一个Block Proposal Window的时间,你提交的交易所在的区块就可以被采纳。
继承L1安全性:作为一个通过提交validity proof来更新状态的L2,是可以继承L1的安全性。
Fernet 方案简介:通过VDF在每轮出块周期内,为Committee(就是Sequencer节点集合)中不同的节点设定一个预估的分数,最终分数最高的Sequencer提议的区块会成为有效块。
首先,如何加入Committee?实际上需要在L1质押16个ETH,并且在质押操作完成后等待4个L1区块后,加入Sequencer Committee。至于退出Sequencer Committee,则需要调用L1合约里的Unstake函数,之后再过3天才能拿回自己质押的剩余金额。
然后,什么是VDF?Verifiable Delay Function就是可验证延迟函数,该数学函数满足严格的串行执行特性,它会执行一些计算步骤,并至少会消耗一段可预估的时间。我们把VDF算出来的数值记作Score,它满足均匀正态分布,因此当Sequencer算出VDF Score后,就可以判断自己被选中为合法Proposer的概率有多大。
Sequencer的VDF计算如下:
Score = VDF( privatekey , public inputs )
public inputs = { current block number , randao }
randao是一个随机数,用来防止Sequencer提前计算未来所有区块高度下自己的VDF Score
Fernet整个流程主要分为3个阶段:
1. Proposal Phase 2. Proving Phase 3. Finalization
Proposal Phase:PROPOSAL_PHASE_L1_BLOCKS = 2 Ethereum blocks (该阶段会维持2个L1 block的时间)
这个阶段开始,每个Sequencer都会用VDF算出自己在当前出块高度下对应的VDF Score。如果Sequencer认为自己的VDF Score很有可能赢得这次区块的出块权(假设Score满足正态分布),那么他会提交一个Proposal到L1的Rollup合约。Proposal包含:交易序列的哈希、指向哪个之前的L2区块。
unproven block:只提交了Proposal到Rollup合约的区块block contents。接着,Sequencer需要把unproven block对应的 block contents 以及proof of VDF 一起发送到L2的p2p网络中。
ProvingPhase:PROVING_PHASE_L1_BLOCKS= 50 L1 blocks(该阶段会维持50个L1区块,大概10 min)
Prover从L2的p2p网络中接收所有Block Contents中对应的交易,并会为VDF Score更高的区块构建Proof。Proof的构建也是采取多个Prover并行协作的方式(类似B52方案) 。
因此需要Sequencer在最后将多个不同的交易对应的Proof聚合成一个Block Proof(包含VDF Proof),提交到L1的Rollup合约。任何人都可以将已经提交Block Proof的Block Contents提交到Rollup合约上。
Finalization:需要提交一笔L1的交易来Finalize区块,一个最终可以被Finalize的区块需要满足:提交了Block Contents和Block Proof,指向的前一个区块必须是Finalize的。在满足以上条件的基础上,还要拥有最高的Score。
流水线出块机制:需要注意的是,Fernet采用的是流水线出块机制.当第N块的Proposal阶段结束时,第N+1个块的Proposal就开始了(Aptos等公链也有类似的做法)。但对于第N+1个块来说,它需要等待第N个块Finalize后,它才能提交L1的Final Block交易,并且验证通过成为Final Block 。
潜在的攻击维度:假如VDF Score最高的Sequencer故意不在L2 p2p中广播Block Contents, 那么有可能导致区块重组reorg。
reorg的L2区块数量计算:1+PROVING_PHASE_L1_BLOCKS / PROPOSAL_PHASE_L1_BLOCKS =1+50/2=26块
解决方式:增加叔块机制,避免每个L2slot(出块时隙)只有一个完整的候选区块。
Fernet在去中心化上的意义:Sequencer通过质押16个ETH加入Sequencer Committee,准入门槛并不高(但也不低)。Prover不需要任何质押,但假如Prover不生成Proof也没有惩罚。这与B52方案基本是相反的。
活性Liveness:整体网络的 Liveness 是可以保证的,因为VDF+叔块机制可以保证每一轮不止有一个出块者。
MEV:MEV的考量是最特殊的,该方案计划引进PBS,这样作为Sequencer计算出一个高分的VDF Score后,就可以直接找Block Builder构造一个更有价值的区块。
抗审查性Censorship Resistance:Fernet 也将采用跟以太坊一致的PBS机制,因此本质上 Fernet 抗审查的问题等价于以太坊 PBS 的抗审查问题。
极客 Web3
个人专栏
阅读更多
Foresight News
金色财经 Jason.
白话区块链
金色早8点
LD Capital
-R3PO
MarsBit
深潮TechFlow
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。