LAYER:谈谈Layer2的激励机制:Fiat-Shamir heuristic在FOX的又一次妙用

前言

Layer1作为一种分布式系统,为了达成共识需要高昂的通讯代价,并且大量的计算也会消耗昂贵的gas。所以,作为Layer1的扩展,Layer2的设计可以有效地提升Layer1的效率。但是从这个角度来说,Layer2的设计仍然面临着和Layer1一样的一大难题,就是如何平衡去中心化程度和高效性。

zkRollup是非常有前景的Layer2扩容方案,通过将计算搬到链下并向Layer1链上提供零知识证明的方式来实现。在实现zkRollup的方案当中,FOX系统采用了当下主流结构,主要有两种节点,分别是Sequencer和Folder。简单来说,Sequencer负责对用户提交的交易进行排序打包,并且更新Layer2链上状态,Folder负责对Sequencer打包的交易生成证明并提交到Layer1。

一个有意义的问题是,Layer2的节点是否应该是去中心化的,如果是,如何设计激励机制来保证这一点。因为可以想象,Layer1效率低的本质就是,为了实现去中心化每个节点都需要进行大量的计算和通讯。而使用了Layer2系统,将计算过程解耦,如果在这部分依然用完全等效于Layer1的去中心化模式,则又会因为同样的原因造成Layer2的拥堵,所以这里需要做权衡。

Safe发布模块化开源Safe Core协议白皮书:8月15日消息,数字资产管理平台 Safe 发布模块化开源 Safe{Core} 协议白皮书,旨在推进智能账户转型。该协议解决了碎片化、Vendor 锁定、安全性等问题,确保通过标准化模块(即插件、Hooks、函数处理程序、签名验证器等)保持 DApp 和工具的可组合性,通过与 Vendor 无关的方式确保保持帐户的互操作性和可迁移性,以及引入注册中心(Registries)确保降低智能合约风险。

Safe 还引入了一个 Manager 作为抽象层来管理这些问题的相互依赖关系。Manager 的作用是处理碎片、互操作性和安全性的复杂性以及注册表、帐户和模块之间的提议解决方案。[2023/8/15 21:25:43]

激励机制的设计就是通过调整Layer2节点获得激励手续费的方式以及平衡支付给Layer2节点的费用,来鼓励节点参与Layer2系统维护。本质上,Layer2节点收到的激励费用来源与以太坊一样,来自于提交交易的用户付出的Gas费。本文会探讨在FOX的系统当中,FOX的节点如何参与系统收取手续费,以及这样做的原因。

模块化区块链Astria完成550万美元种子轮融资:金色财经报道,模块化区块链Astria完成550万美元种子轮融资,Maven 11领投,1kx、Delphi Capital和Figment Capital等参投,融资用于开发其共享排序器网络。

Astria还在开发其Astria EVM,该EVM由共享排序器网络提供支持,并计划作为模块化区块链Celestia数据可用性层的以太坊虚拟机 (EVM)。[2023/4/5 13:45:19]

Gas的作用

首先我们来回顾Gas费在以太坊系统当中的作用。Layer1的计算资源是有限的,用户提交交易时候会指定交易Gas费,Gas费基本同交易的执行操作复杂度相关,而在此基础上愿意支付更高昂的Gas费的用户可以获得更优先的交易执行。矿工的激励就来源于打包的区块的Gas费总和。此外,Gas费机制还可以有效防止恶意合约,限制区块容量大小,这样在一定程度上保障了安全性。

Celestia宣布旗下模块化rollup框架产品Rollkit已独立运营:金色财经报道,据Celestia官方博客介绍,Celestia旗下模块化rollup框架产品Rollkit(曾称作Rollmint)已独立运营,成为由社区主导的公共项目。据介绍,Rollkit提供了一个模块化节点,用于在数据可用性层之上运行rollup。同时它公开了一个兼容ABCI的客户端接口,可以用作任何兼容ABCI的区块链应用程序的Tendermint的替代品。

通过使用Rollkit的模块化框架,开发者可以定制rollup并插入任意数据可用性和执行层。目前,在Celestia的Mocha测试网上可使用Rollkit构建。[2023/2/22 12:21:14]

所以可以看出,对Gas费的合理利用,本质上是对链上计算资源的合理调度和分配,同时也是项目方、矿工和用户的多方博弈。好的激励机制的设计以及手续费的使用和分配对于系统运行至关重要。

Cosmos生态模块化结算层Dymension即将上线测试网:1月17日消息,Cosmos生态模块化结算层Dymension在官方推特透露即将上线测试网。

据悉,Dymension是一个建立在Cosmos上的主权Roll up,旨在通过Dymension Chain(结算层)、RDK(RollApp开发工具包)和IRC使RollApp(以定制应用为重点的Roll App)的开发变得简单。Dymension Roll Apps和Cosmos一样,旨在创建特定应用的区块链,以减少共识开销。[2023/1/17 11:16:23]

交易上链流程

用户提交交易给FOX系统当中的交易池同时要附加一笔用来激励FOX节点的手续费,然后系统中的Sequencer节点将从交易池中抓取交易进行打包排序,这里每次打包的交易就构成Layer2的区块,同时Sequencer需要执行交易计算,并将计算结果传到Layer1的FOX合约当中,并且,Sequencer还需要将交易数据存到ZK-Ringer当中来保障数据可用性。之后,Sequencer的排序结果以及计算结果会传给Folder节点,Folder正确计算证明并传到Layer1的合约当中。在这个过程中,Sequencer对于交易的执行结果会在执行结束之后直接更新到Layer2当中,而交易真正被Layer1共识的时间节点可以认为是Folder的证明被验证之后。

可以看到,在这个流程当中,用户最初附上的手续费要涵盖几个用途:

支付给Sequencer的手续费

支付给Folder的手续费

Sequencer将交易结果提交到Layer1的Gas费

Sequencer将信息存储到ZK-Ringer的手续费

Folder调用合约的Gas费

为此,我们需要梳理具体的机制来激励各方参与。

FOX的激励机制

FOX的激励模式比较新颖。首先,为了平衡去中心化和效率的问题,我们将节点的角色分为负责排序以及执行交易的Sequencer节点,以及负责对交易执行正确性生成证明并聚合的Folder节点。FOX的Folder节点采用了去中心化的模式,也就是说任何FOX矿工都可以接入网络担任证明生成者,为了鼓励更多节点的参与,成功提交正确证明到Layer1合约的Folder可以获得代币奖励。与此同时,为了避免算力浪费,我们指出,并不是只有第一个证明提交者可以获得奖励,在第一个证明提交者成功提交之后的一个时间窗口和数量窗口内,所有正确的证明者都可以获得奖励。

图1:原始版本的激励模式

然而在这种机制下,恶意的Folder会有一种很狡猾的攻击。

当某一个恶意的Folder,记作Adv,在完成了证明生成之后,一方面将证明提交到Layer1中的Verifier合约进行验证,另一方面它串通一些节点,将计算好的证明透露给这些节点,然后它们就可以不经过自己计算而直接将Adv计算好的证明提交,也可以领取到一部分奖励,而这个过程之中他们没有付出任何算力,从另一个角度来说,Adv通过较少的算力获得了多份的收益,并且造成其它节点即便生成了正确的证明也难以争抢过Adv。

图2:恶意Folder的攻击方式

在这个攻击当中,产生问题的原因是Verifier无法区分每一份证明是否由该Folder独立生成,因为证明值都是相同的。为了规避这个问题,我们需要将Folder的独特的地址信息加入到Folder提交的证明当中,从而使得每一个Folder提交的证明都只能是自己独立生成的而不能是其它节点提交的。

而融入这种信息的方法很巧妙,使用Fiat-Shamirheuristic。按照生成证明的过程计算,其中一步,证明者,也就是Folder需要通过哈希函数来生成一个随机挑战值,只需要要求在这个哈希的输入当中加入Folder的地址,就可以保证挑战值与Folder的地址相对应,且仍然是一个Folder无法预测和控制的随机数。

严格说明这种方法的安全性需要用到比较深入的密码学中理论安全的随机函数的概念以及不可区分性等等,我们不在这里详细讨论。简单来说,可以认为,由于哈希函数本身的安全性以及Fiat-Shamirheuristic结构的安全性,添加一个固定的值作为哈希的原像并不会破坏输出的不可预测性,所以原来zkp算法的安全性仍然可以保证。

这样一来,每个Folder就必须独立进行证明生成而不能直接利用其它节点结果,从而实现了我们的目标。

图3:修改后的激励模式

结语

本文从节点手续费的重要作用角度出发,介绍了手续费与如何激励节点参与系统维护之间的联系,同时指出,好的激励机制可以有效地维护系统安全性。在此基础之上,我们详细讨论了FOX当中采用的对于Layer2的Folder的激励机制,并且解释了这种做法的合理性,以及技术上如何巧妙地运用Fiat-Shamirheuristic来实现这一点。

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

链链资讯

[0:15ms0-3:568ms