共享排序器正在飞速发展,是时候对它是什么及其存在的原因进行深入分析了。这篇文章分析的对象仅限于OptimisticRollup,欢迎ZK关注者前来指教。排序器是什么?
排序器是OptimisticRollup中的半信任化角色。虽然交易可以由主链本身进行排序,但这并不经济,用户必须单独提交其Rollup交易对应的主链交易,并支付主链上费用。排序器通过允许Rollup交易共享单个主链交易来为用户解决这些问题。排序器聚合链下的多笔用户交易来补充主链的排序,并将它们作为单个交易集合提交到主链,交易成本在用户间分摊。排序器还可以压缩交易集合,进一步节省主链数据可用性成本。与依赖排序器的用户相比,自主排序的用户将为包含在Rollup中的交易支付更多费用。但是,排序器可以对交易集合中的交易排序进行控制。它可以选择不包含用户交易,从而迫使用户自行排序,支付更高的主链成本。它还可以通过重新排序和插入提取的方法在交易集合中提取MEV。它们实际上拥有对Rollup的优先写入权限。值得注意的是,因为排序器可以与合约交互,所以只有绝对可靠的交易才能通过链上机制可靠地强制执行,不可靠的交易在强制排序时很可能会失败。这使得排序器成为Rollup用户的半信任方。虽然排序器无法阻止用户访问Rollup,但他们可以延迟用户的访问,导致用户承担额外的费用,并从用户的交易中提取价值。通过去中心化进一步约束排序器的行为是一个活跃的研究课题。排序和执行有什么区别?
排序器是主链排序的补充,它不计算Rollup的状态,实际上它可能会选择对无效交易进行排序。Rollup节点必须解析和清理排序数据,导出Rollup的有效历史记录,并执行历史记录以生成最新状态。排序器则完全不参与此过程。不过,正如我的朋友Fred不断提醒我的那样,一旦交易被排序,结果就是确定的。这意味着所有Rollup节点将根据排序器生成的顺序达成一致结果。给定已知历史,Rollup有一个正确的状态。一旦节点找到这个状态,一个或多个提议者会将其提交给主链的Rollup合约。理论上,任何节点都可以是提议者,不需要任何权限。提议者将状态连同保证金一起提交给主链。如果欺诈证明结果是状态无效,保证金就会被没收。该合约在计时器结束后接受证明,然后其中包含的用户交易在主链上执行。执行节点通过欺诈游戏确保提议者诚实,我们倾向于将执行节点称为「Rollup全节点」或「验证者」。换句话说,一旦排序被提交到主链,状态就变成最终的和不可变的。提议者计算并报告最终状态给Rollup合约,以维护Rollup到主链的资产桥的利益。提议者不会创造状态,他们只是计算并证明它。Rollup合约不会创建或最终确定Rollup,它只是从提议者那里获得Rollup状态。为什么要将排序和提议分离?
Aztec Network:计划推出的新链并非Layer1,而是一个更强大的Rollup Layer2:金色财经报道,Aztec Network官方发推称,该项目计划推出的全新区块链网络并非Layer1,而将是一个采用了Noir语言的更新、更强大的Rollup Layer2。
此前消息,Aztec Network已宣布将逐步关停DeFi隐私桥项目Aztec Connect,未来将把重点集中在Noir语言和下一代加密区块链的开发上。[2023/3/14 13:01:50]
这是一个复杂的问题。从根本上说,将它们分开是因为它们本身是分开的。这听起来像是同义反复,但似乎每个人都花了很长时间才意识到这一点。我们蓦然回首,才发现Rollup的思想历史多年来一直在Plasma和状态通道中曲折发展。在基于比特币的proto-Rollup早期,并没有排序器,用户只需将他们的交易发布到主链。之后,这种设计消失多年,最终因为Barry的工作重新出现。在Barry和Celestia之间,Rollup的研究主要集中在Rollup桥与主链的交互上。在SovereignRollup出现之前,甚至没有人意识到我们其实在构建更好的Mastercoin。抛开出处不谈,排序器解决了一个特定的问题:用户交易成本最小化。然而,这个过程中又引入了一个新问题:排序器可以同时对同一交易产生多个排序结果。如果排序完全由主链完成,将会有一个单一的规范排序,但用户交易费用会更昂贵。我们选择使用排序器来改善Rollup中的用户体验。假设存在很多个排序器,因为有多个提议者。排序器们可以提交相互冲突的排序,我们现在需要一种机制来「规范」主链上的特定排序批次。当前的Rollup通过一个单一的、特定的、已知的、半可信的排序器来实现这一点。选择单个排序器使我们能够解决这个问题,直到去中心化排序器到来。因为我们想要多个提议者,但只需要一个排序器,所以必须将这两个角色分开。数据依赖性是另一个重要的原因:提议者需要排序,但是排序器不需要状态。提议者依赖于排序器工作的输出,但是排序器不依赖于提议者。因为数据依赖是单向的,所以需要在角色之间划定界限,并允许参与者专注于单一角色。为了回答最初的问题,我们将提议者和排序器分开,因为它们本身是分开的。提议者在排序器的下游工作。Rollup将信任和权威授予了排序器,而提议者只是一个普通工作人员。排序器、提议者和验证者现状
区块链证书验证平台TheRollNumber完成16.5万美元种子轮融资:金色财经报道,区块链证书验证平台TheRollNumber 宣布完成 16.5 万美元种子轮融资,Inflection Point Ventures 领投,该公司旨在为个人提供基于区块链的证书管理系统,该系统不仅可以实现证书数字化和验证,还可以让用户或个人知道在什么时间、什么人、以及如何使用凭证,继而解决身份和凭证盗窃问题。(financialexpress )[2023/2/9 11:57:36]
Arbitrum和Optimism是两种常见的ORU方案。我想简要介绍一下他们中的主要角色,不会涉及到代码,只是规范和文档。Optimism的讨论将仅限于Bedrock设计。Arbitrum
除了批处理和压缩用户交易外,Arbitrum排序器还运行一个完整的节点。交易被直接发送到排序器,它在交易排序时创建一个可信的WebSocket提要。Arbitrum将此提要作为「软」确认来源。排序器对排序结果作出承诺,用户通常可以依赖该排序。节点、MEV搜索者或其他参与者可以使用此提要来预先计算Rollup状态。排序器会定期将经过排序的压缩交易发布到主链。主链最终确定代表Rollup的「硬」确认。一旦主链确定了排序,它就成为Arbitrum链上不可更改的部分,其中排序的所有交易都成为最终状态,结果状态也成为最终状态。自然地,因为排序器设置交易顺序,所以它具有优先写入权限。排序器可以控制排序的内容,从而控制Rollup历史中交易的排序。当然,用户可以通过主链上的delayedinbox强制包含交易。搜索者已经竭尽全力将WebSocket交易提要的延迟降到最低,因此他们很可能会形成一个强大的MEV市场来对Arbitrum交易进行排序。有13个经过许可的Arbitrum提议者,他们中每一个都在名为「RBlock」的特定承诺中托管了ETH。用户可以选择依赖一定比例的质押来做出关于Rollup的最终决定,而无需运行Rollup完整节点。虽然Arbtirum验证者可以识别欺诈,但只有提议者可以通过欺诈证明质疑承诺的有效性。实际上,只有提议者可以成为完整的验证者。
跨链收益聚合器 Astrolab 完成 50 万美元 Pre-Seed 轮融资:金色财经报道,跨链收益聚合器 Astrolab 完成 50 万美元 Pre-Seed 轮融资,参投方包括 Apollo Capital、Jane Street、0x Ventures、Upside DAO 等。
据悉,Astrolab 基于 deBridge 和 LayerZero 开发,旨在使用户可以在多链上更高效地分配资金。[2022/12/13 21:40:17]
正义,就像一个排序器,是盲目的,它必须带着剑Optimism
与Arbitrum一样,除了批处理和压缩用户交易外,Optimism排序器也运行一个完整的节点。交易直接发送到排序器,排序器在排序时创建可信的预确认。Optimism用户可以使用这些确认作为最终软确认的来源。排序器对排序作出承诺,用户通常可以依赖该排序。节点、MEV搜索者或其他参与者可以使用这些确认来预先计算Rollup状态。排序器会定期将经过排序的压缩交易发布到主链。主链最终确定代表Rollup的「硬」确认。一旦主链确定了序列,它就成为Optimism链历史中不可更改的一部分。其中排序的所有交易都成为最终状态,结果状态也成为最终状态。自然地,因排序器设置交易顺序,所以它具有优先写入权限。排序器可以控制排序的内容,从而控制Rollup历史中交易的排序。当然,用户可以通过在主链强制包含交易。作为MEV拍卖概念的发起者,一个用于排序Optimism交易的强大MEV市场似乎将要形成。Optimism有1个经过许可的提议者。该提议者签署了对主链的特定承诺,称为「状态输出」或「L2输出根」。用户在做出关于Rollup的最终决定时可以选择依赖提议者,而无需运行Rollup全节点。虽然Optimism验证者可以识别欺诈,但只有一个经过许可的挑战者可以通过签名来挑战承诺的有效性。挑战者可以随时删除一个L2输出根,无需欺诈证明。实际上,只有获得许可的挑战者才能成为完整的验证者。小结
Google Cloud 在客户用例中新增路印协议 Loopring 的 zkRollup 扩容方案:Google Cloud 在客户和案例研究中新增路印协议 Loopring 的 zkRollup 扩容方案。根据该案例专页的描述,路印协议 Loopring 选择 Google Cloud 的可扩展性和速度来减少交易时间,为 zkRollup 客户提供更好体验,可将用户资金释放等待时间缩短 40%。Google Cloud 计算引擎通过自定义 VM 解决方案可节省 15%的计算成本,从而为用户降低了交易费用,此外还可将部署时间从几分钟缩短到几秒钟,以提高员工效率,最终增强交易计算性能并改善客户服务。[2020/12/19 15:47:42]
当前两个主要的Rollup都集中在同一种设计上,它可能会变得非常混乱。他们经常对同一个概念使用不同的名称,但他们的设计几乎相同。
共享排序器
在对排序器有了新的理解后,让我们继续讨论我真正想谈的内容:共享排序器。当Rollup共享同一个排序器时会发生什么?不同的Rollup是什么意思?
借用Ben的定义,我们应该将Rollup视为状态、状态转换函数和证明系统。Rollup有合约和账户,它有一个虚拟机来处理交易以更新这些合约和账户,而非主权Rollup有一个证明系统来运行与主链的桥接。每个组件有多种设计,它们可以在一定程度上混合搭配。但是,有些组件比其他组件更平等。总的来说,我们大概应该把状态看作是链的本质。链不倾向于改变它们的状态。毕竟,以太坊开发者多次更改虚拟机,多次更改共识机制,但只更改过一次状态。状态即是Rollup,虚拟机和证明系统的存在是为了支持它。因此,不同的Rollup具有不同的状态。它们可能共享一个证明系统或一个STF,但两个Rollup永远不可能共享相同的状态。提取、检查和过滤
金色相对论 | Jay:Rollup + 以太坊2.0 分片可以把ETH TPS 达到10万笔/秒:11月27日消息,在今日举行的金色相对论中,针对“从以太坊的发展过程来看,选择pow作为1.0阶段有一定的历史因素,但随着现在的技术发展,例如rollup以及layer2解决方案的增加,您认为以太坊还需要以太坊2.0吗?”的问题,Loopring COO Jay表示,首先L2 方案还在很早期,zkRollup, OVM, Plasma, State channel 都是并行存在着的。目前看来Rollup 技术比较收社区推崇也是最主流的方案。但Rollup 里面也分zk 和optimism 2 大方向。未来到底是一个Rollup 独大还是多个平行进行都还很难说。特别是在各个rollup之前还不能打通的情况下。所以在不能说服社区都用一个rollup方案或同意的情况下,2.0 需要不断的进行下去。另外Rollup + 2.0 分片可以ETH TPS 达到10万笔/秒。完全是一个互补的方案,而不是排斥的。只有到达这个量级才是目前生活中可以取代中心化系统的量级,所以我们更应该不断推动。[2020/11/27 22:20:23]
Rollup从主链历史中获取它们的状态。为了做到这一点,每个Rollup都必须定义一个「提取」函数。提取函数将主链历史分为Rollup历史和non-Rollup历史。STF处理Rollup历史以创建Rollup状态。实际上,提取功能变成了一个「镜头」,Rollup通过它检查主链。Rollup使排序器能够选择提取函数下一次运行的输出。排序器选择Rollup节点下一步将看到和处理的数据,因此对STF的操作和下一个状态有一定的控制。在排序器创建主链数据视图后,Rollup节点运行过滤功能。因为排序器不一定知道它所服务的Rollup的状态,所以允许在其排序中包含无效交易。提取后,Rollup节点会看到这些无效交易,并将其删除。当给定无效交易时,Rollup节点不会出错,而是简单地忽略它并继续。L1必须禁止垃圾信息以保持共识,而Rollup则不需要。共享排序器
共享排序器为两个或多个Rollup的提取函数提供输入。因此,它为两者设置新的历史记录,控制STF的输入。它可以单独为每个Rollup执行此操作,也可以同时为两者执行此操作。单独设置历史记录时,它的工作方式与未共享的排序器完全相同。然而,当同时为两个Rollup创建新的历史记录时,共享排序器可以通过原子「链接」两个Rollup的历史记录来行使一些额外的权力。排序器同时为每个Rollup生成序列,并确保两者都确认或都不确认。这允许排序器对两条链的历史进行控制,因此对Rollup的下一个状态有一定程度的控制。原子包含
在这一点上,我必须重申,排序器可以对其产生的排序行使很大的自由裁量权。这意味着虽然用户可以使用共享排序器在多个Rollup上进行交易,而无需与主链进行交互,但他们不一定依赖排序器在这些交易之间产生任何特定的关系。共享排序器的支持者设想了一种新结构,用户可以在其中指定包含的原子性,即可以强制排序器通过共享强制排序机制同时对多个Rollup中的一组交易进行排序。这将允许用户确保所有这些原子交易都包含在Rollup历史中,或者全部不包含。这并不像看起来那么好。因为只有绝对可靠的交易才能强制排序,只有绝对可靠的交易集才能保证在原子包含时原子执行。正如我们之前所说,包含和执行是分开的。Rollup在包含之后和执行之前通过过滤器功能过滤掉无效交易。假设排序器获取用户的原子集,并导致一个交易失败或失效。该交易将在排序后被过滤,并且不会执行。这意味着原子包含不足以保证原子执行,除非涉及的所有交易都是绝对可靠的。具体而言,可以原子执行简单的发送和取款,但任何容易出错的东西,如交换或DeFi交互,都不能。不幸的是,大多数高价值交互都包含1个或多个容易出错的交易,因此似乎很难使原子包含发挥作用。这有效地排除了通过共享排序器进行交叉Rollup的DeFi可组合性。共享排序器不是灵丹妙药,用户的资产可能被锁定在异步跨链模型中,直到流程结束。Rollup组合的原子执行
还记得之前谈到的排序器如何在将排序发布到主链之前提供可信的执行保证吗?您可以设想一个共享排序器针对多Rollup系统做同样的事情。共享排序器可以运行每个Rollup的完整节点,并使用它们来确定交易是否成功。然后它可以承诺它不会产生原子交易集不全部成功的排序。当然,这个系统是值得信任的。你会相信排序器不会说谎。您现在可能在想「我们可以通过限制排序器的行为将其转换为免信任的系统吗?」我很高兴/悲伤/困惑地说答案是「是的,但是」。是的,但我们这样做的方法是组合每个Rollup的STF,以创建一个执行所有组合Rollup交易的单个STF。也就是说,我们必须使所有Rollup之间的所有虚拟机原子化。这相当于使它们成为相同的Rollup。所以是的,我们可以实现不受信任的原子执行,方法是通过将多个Rollup合并为一个。这可能是个好主意1,但我怀疑它的可行性。偶然性关系的原子执行
我在别处写过这个,另一个可靠的选择是在交易和Rollup状态之间集成显式的偶然关系。这会将评估突发事件的负担转移到提议者身上,因为他们必须根据他们对远程Rollup的信任来计算和提议状态根。但是,我认为我们可以通过重复应用过滤器功能来简化它。假设偶然性在某个交易和区块中是明确的,我们可以运行两次过滤器,一次假设预测的状态有效,一次假设预测的状态无效。这可以扩展到n个预测状态,代价是对过滤器函数进行2^n次评估.在这个世界上,提议者可以证明2^n个根,每个根都有明确的偶然关系。例如,提议者可以证明「根是X取决于远程Rollup状态A,否则是Y」,而不是说「根是X」。这样,提议者就不会永远评估远程Rollup区块。相反,他们会根据来自其他状态的假设信息,多次评估自己的过滤函数和状态。这真的很酷,因为它保留了Rollup的分离,同时仍然允许复杂的即时交叉Rollup通信。结论
排序器是钟表匠巧夺天工之作,它设置Rollup历史记录,然后看着它滴答滴答地走到它的命定状态。Optimism和Arbitrum并无多大差别,但两者安全性确有不同。没有人知道排序器是做什么的。共享排序器可以进行原子包含,但不能进行原子执行,如果没有Rollup组合或其他一些执行机制,就无法将原子包含纳入原子执行。所有这些关于共享排序器实现无缝互操作性的吹嘘都是垃圾科学。
小时候,我们都知道钱可不是从天上掉下来的。另一方面,我们在潜移默化中被教会相信,这不仅是可能的,而且是我们经济正常的,必要的和有效的功能。在比特币之前,全球的央行拥有这种特权.
程序员BM万万没想到,以区块链3.0技术领先自居的EOS,将来有一天可能会死于其极致追求的“技术”刀口下.
新华社北京10月25日电中共中央局10月24日下午就区块链技术发展现状和趋势进行第十八次集体学习.
编者按:本文来自深链财经(ID:deepchainvip),作者:门人不亮,Odaily星球日报经授权转载。吴忌寒赢了.
《账户》,全名《账户:新经济与新金融之路》,是今年5月有社会科学文献出版社出版的一本有区块链思维的关于从微观账户加总到国家资产负债表的全景式的金融体系画卷的干货研究成果.
前两天看到币圈前辈江卓尔写的一篇文章《比特币涨到十万美元需要多少资金》。在这篇文章里作者用股票交易中资金量与价格之间的关系来比喻比BTC市场入场资金与价格之间的关系,给出了一个大概的曲线,但没有.