Wisp:交叉汇总通信协议
Daniel,LimeChain(区块链开发公司)的架构师和 LimeLabs - 研发部门的一部分。
抽象的
以下旨在描述一个用于汇总之间数据传输的 Cross-Rollup-Communication 协议,它完全符合以太坊以汇总为中心的未来并支持以太坊社区。
草案文件6详细阐述了对参与协议的参与者的经济激励,提出了 CRC 消息流,并审查了协议的安全性和可扩展性影响。
怎么运行的
Wisp 是 (1) 基于 SNARK 的链上轻客户端和 (2) 用于存储Rollup的验证机制。链上轻客户端确保目标Rollup可以信任和推理以太坊 L1 特定高度的特定执行状态根。基于这个根,智能合约可以推断在任何与以太坊 L1Rollup定的汇总中包含(或不包含)某条信息。数据包含推理发生的方式将特定于每个源Rollup。
所提议的系统包括作为参与者的中继器,他们将数据从源Rollup传输到目标Rollup。成功的数据传输需要:
- 发布在 Destination Rollup上的以太坊
executionStateRoot
- Source Rollup
root
的 Merkle 包含证明(来自以太坊 L1) - Merkle Inclusion Proof(来自 Source Rollup)必须证明的
storage
槽和 Destination Rollup以验证数据传输的完整性。
证明 L1 执行状态根
CRC 协议包含一个遵循以太坊同步协议1 的链上轻客户端,并通过使用 ZK-SNARKs 更新其头部。 ZKP 证明大多数 SyncCommittee 已经签署了给定的块头。
证明Rollup状态根
Source Rollup的root
发布在 Rollup 的 L1 合约地址上。保存 Source Rollup状态的存储密钥的 Merkle Inclusion Proof 被提供给目标网络上的 CRC 合约。使用上一步已经证明的executionStateRoot
,合约验证源Rollup的状态根。
证明要传输的数据
保存源Rollup中数据的存储密钥的 Merkle 包含证明被提供给目标网络上的 CRC 合约。使用已经证明的源Rollup状态,合约验证必须传输的原始数据。
Alpha版
该协议有一个实时Alpha版本,它使用类似于共识证明1的SNARK 来证明 L1 执行状态根(步骤 1)。
- 草稿 - Wisp 简介 - 一种交叉汇总通信协议6
- 演示应用程序 - https://demo.wispprotocol.com/ 11
- 文档 - https://docs.wispprotocol.com/ 1
这与其他倡议有何不同?
- Ethereum Rollup centric - Wisp 特别专注于以太坊生态系统及其汇总。它认识到以太坊以 rollup 为中心的愿景的细微差别,并非旨在也无意成为一项“跨链”计划。
- 开源公益。交叉汇总通信协议应该是 1) 开源(不可协商),2) 公共利益,理想情况下 3) 由不同团队的贡献(或至少输入)开放构建。公共物品不排除拥有可持续的收入流,但不排除寻租行为、集中化和优化利润(而不是影响)。
- 安全。绝对关键。理想的 CRC 解决方案必须提供超越加密经济学和激励机制的安全性。这里一个更好的方法是加强 L1 以太坊的安全性,并用额外的密码学(zk 证明)补充它。 Wisp 通过 SNARK 而不是经济激励来做到这一点。
- 权力下放。没有多重签名控制网桥。任何人都可以作为中继者参与 Wisp 协议。没有演员是特殊的或许可的——任何人都可以承担任何协议角色。如果协议的决策成为生态系统的关键部分,它也应该随着时间的推移去中心化。
- 中立。该协议应促进以太坊生态系统中的互操作性,并避免以牺牲他人为代价为某些汇总或应用程序提供服务。
永远开放的加入和贡献邀请
Wisp 旨在完全无需许可且内置公共。我们通过 Flashbots 计划的工作对我们的方法进行了建模 - 成为一种公共产品并且完全符合以太坊。要使 Wisp 成为无许可和中立的,它需要多个不同的参与方加入该计划。以下是一些最重要的加入和贡献方式。
反馈和支持
我们仍处于开发初期,希望从以太坊社区和以太坊思想领袖那里得到反馈。欢迎和赞赏任何重要的反馈和改进建议。欢迎在此处发表评论或在discord 1中联系我们。
进一步探索和合作的主题候选清单
以下是 Wisp 的一些未开发或未优化的方面。我们很乐意在协议的这些或任何其他方面看到合作者和建议。
- 快速追踪以太坊最终确定性——如何不需要等待 12 分钟的区块最终确定性
- Dealing with rollups finality - 如何处理Rollup的(未)最终状态。
- 优化和组合状态中继证明——如果需要的话,这可能意味着完全摆脱 Circom 和 Groth16。
- 优化多个 Merkle 包含证明- 用于以太坊执行根或Rollup中的存储包含
- 离开同步协议委员会并基于更广泛的验证者集——这是必要的和有益的吗?
支持汇总
我们很乐意支持所有汇总。目前我们支持 Optimism Bedrock 风格的汇总。我们已经探索了其他几个 rollups,但需要与 rollups 团队更密切的合作来支持他们。这主要是由于大多数 ZK rollup 的状态管理存在差异。我们想邀请任何感兴趣的 rollups 与我们联系 - 我们很乐意与您保持一致并添加尽可能多的 rollups。
建立在 Wisp 之上
没有应用程序的协议一文不值。我们已经开始探索在它之上构建示例应用程序(很像演示应用程序)。如果您有兴趣成为交叉汇总应用程序开发人员,请联系我们。我们很乐意做到这一点,让您的Dapp能够非常方便和轻松地进行多重汇总。