



- Micro-Rollups 的状态机具有定义良好的状态格式,并通过创世条件进行初始化;
- 状态机可以执行动作(即交易类型),当触发这些动作时,会调用状态机上的状态转换函数;
- 状态转换函数(STF)负责执行计算并更新状态机的状态;
- 以「悲观」(Pessimistically)的方式重新执行区块中的动作,以检查状态转换函数(STF)的有效性;
- 为经过验证的区块生成元数据;
- 在 L1(主链)和数据可用性层(DA)上进行结算;
- 将 Micro-Rollups 的更新状态发送到 DA 层;
- 将经过验证的区块的元数据和更新后的状态根哈希值写入 L1 上 Micro-Rollups 的 inbox 合约;
- 可验证的链下计算:Micro-Rollups 在功能上类似于后端服务,但它为应用程序的状态和计算增加了一层可验证性,这可以确保证明的颁发者没有篡改系统规则;
- 可审计的状态:一旦状态机部署完成,状态转换函数(STF)的逻辑就无法被修改,这可以让用户确信提供者不会任意更改系统的规则;
- 可与链上应用集成:Micro-Rollups 可以与链上应用集成,Micro-Rollups 会将应用程序的状态根哈希值写入 L1,其他应用程序可以使用此哈希值来证明性地访问 Rollup 的状态;

- 可验证的计算确保了状态转换的正确性;
- 状态被「汇总」成一个哈希值(称为 Merkle 根哈希),并在每个 epoch 结束后发布到以太坊 L1 主网上;
- 所有数据都对底层的 DA 层可用;


- 用于存储所有架构的架构注册表;
- 根据架构创建证明的能力;
- 撤销现有证明的选项;

- 架构和证明存储在状态机内部的链下;
- 用户发送动作,触发状态机内部的状态转换函数;
- 用户可以发送动作来注册架构、针对任何存储的架构创建证明或撤销现有证明;
- 每隔一个既定时间戳就会生成一个区块,其中包含架构和证明状态的详细信息;
- 该区块被发送到 Vulcan 网络进行验证;
- 如果区块符合状态机的规则,则该区块将被批准;
- 区块数据将被拆分到 L1 和 DA 进行结算;


- schemas: 该字段存储了一个哈希映射,键为架构的 UID,值为 SchemaRecord 结构体,SchemaRecord 结构体对应用户提交的证明架构。
- attestations: 该字段存储另一个哈希映射,键为证明的 UID,值为 Attestation 结构体。Attestation 结构体对应引用特定架构的单个证明。
- schema: 负责创建架构条目;
- attest: 负责创建证明条目;


- 当用户提交注册新证明架构的指令时,需要提供两个字段:schema:证明架构的 ABI(Application Binary Interface),revocable:架构是否明确允许撤销证明;
- 发起注册动作的用户将被记录为架构的注册者;
- 状态转换函数会根据提供的数值计算该架构条目的唯一标识符;
- 最后,将新的架构条目添加到状态中;
- 用户提交创建新证明的指令,其中包含相关 schemaUID 等字段;
- 发起创建动作的用户将被记录为证明者;
- 状态转换函数会根据提供的数值计算该证明条目的唯一标识符;
- 状态转换函数会对比传入的证明数据与相关架构的 ABI;
- 最后,将新的证明条目添加到状态中;


