详解Lens Protocol扩展解决方案Momoka:运作方式、基本构成与特点
原文作者:Lens Protocol
原文编译:Peng SUN,Foresight News
4 月 27 日,Web3 社交图谱协议 Lens Protocol 推出 Optimistic L3 扩展解决方案 Momoka 内测版(原名为 Bonsai),已可供 Lens 开发者使用。Momoka 要解决的依然是区块链的存储与扩容限制及其与 Web3 社交大规模采用之间的矛盾问题,该方案试图在不牺牲用户主权的情况下提高网络的吞吐量并降低成本。Momoka 的特点是不会将交易压缩到 L1,而是将它们发送并存储在数据可用层上。
作为 Web3 社交图谱协议,Lens Protocol 支持用户拥有和控制其数字身份与社交图片,也支持将任何用户生成的内容(文字、音乐或视频)铸造成 NFT,允许创作者通过 NFT 实现盈利。截止今日,虽然仍处于测试阶段,但 Lens 用户已经创建并收集了超过 340 万枚 NFT,平均获利收入约为 50 万美元。由于将内容代币化为 NFT 需要为区块链提供的安全与交易保证支付一定的手续费成本,但对于内容创作者来说,重要的是确定某一特定的内容是否适合代币化,有些内容可能不需要这种级别的安全与保证。
数据可用层(Data availability layers)用于避免在链上存储数据,通过将链上资源指向现有的数据可用性位置(存储)来减少成本,这是扩展与 NFT 等链上所有权相关信息的一种便捷方式。同样,虽然 Lens 上的内容可能包括实际的链上交易,但内容数据本身被链接到数据可用位置,如 Arweave。
另一种解决方案 Bundlr 实现了 Arweave 的可扩展性,提供了数据可用性保障,能够使用 EVM 支持的钱包来保存 DA 逻辑,并快速将数据发布到 Arweave。DA 层可用于存储 Lens 原生操作,譬如发帖、评论、镜像(Mirrors)、点赞等等。
然而,在链上存储数据成本昂贵,而且 EVM 只能根据一个区块配置的最大 Gas 限制来处理每个区块内有限数量的交易。Polygon PoS 是一个区块时间为 2 秒的共享区块空间。因此,一些延迟不可避免,而每个区块的最大 Gas 限制使得高需求的社交媒体操作的扩展具有挑战性。然而,Polygon PoS 仍然是一个保护基于区块链的 Lens 工件(譬如个人资料和用户网络所有权)的一个很好的解决方案。事实上,很多用户生成的内容代币化可以在 zkEVM rollup 上铸造,同时使用以太坊网络作为最终层。
通常来说,高需求的社交体验峰值为 25, 000 TPS。虽然 Lens Protocol 今天可能不需要这一级别的容量,但可扩展性仍然是要考虑的关键,它可以使 Lens 为 Web3 提供社交层,并支持任何社交网络用例。有了 Momoka,Lens 的可扩展性就不再受限于区块空间。
在 Lens,我们认为 Web3 的社会基础设施堆栈应该是精细化且专门构建的,这取决于不同的网络工件类型。对于用户个人资料等高价值的工件,更高的安全性很有价值。对于评论等更随意的网络工件,一个更轻便的 DA 基础设施层可能是一个可行的解决方案。
Momoka 是一个 Optimistic L3 扩展解决方案,可在链下处理 Polygon 交易,以实现超大规模并降低交易成本。虽然使用区块链为用户提供所有权和控制权很重要,但 Momoka 为社交网络增加了一个新的解决方案,使 Lens 能够提供更大规模的扩展性。Momoka 没有将交易压缩到类似于 L2 解决方案的 L1 中,而是将交易发送到数据可用层,以优化成本并实现社交媒体网络所需的更高可扩展性,无需考虑区块空间或区块时间配置的限制。
Momoka 是一个开源软件,任何人都可以作为一个节点实时运行,通过操作无需信任的交易提交器和验证器,以验证 Lens 数据可用性内容出版物(Publication)和相关操作。理想情况下,运行一个唯一的验证器就足以实现确定性。长期目标是将 Momoka 扩展为一个完整的网络协议基础设施,一个内容出版物可以被多个 Momoka 节点提交与验证,以提高内容出版物的有效性。
Momoka 的构建方式不依赖于 Lens API 等连接层;节点运营商可以完全独立地运行节点,这意味着即使 Lens API 或任何第三方对 Lens Protocol 的访问点不复存在,你也始终能证明内容的有效性。Momoka 还支持索引——这意味着通过 Momoka,节点运营商可以流式传输和索引 Lens 数据,而无需任何第三方保留和扩大 Lens 无许可数据基础设施。
即日起,要想运行一个 Momoka 节点并为 Lens 生态系统做出贡献,可前往 GitHub 开始验证 Lens 数据可用性交易。
Lens Protocol 目前部署在基于 EVM 的 Polygon 网络上,发帖、评论、镜像、关注和收藏等所有操作都是被构建、签名并发送以存储在 EVM 上的交易。与 EVM 过程不同,Momoka 构建交易,需要来自钱包的签名(这将在链上传递状态),但不在链上发送和广播实际交易。
相反,交易签名和类型化数据用于将 DA 元数据创建为交易。然后,该交易被传送到 DA 层,其中包含创建该交易时的区块编号和区块哈希、签名的类型化数据、交易签名以及其他关键细节等信息。此数据的结构仅需一个存档节点即可完全验证。
EVM 的功能是大型状态机。EVM 的 JSON-RPC 方法允许使用 eth_call 模拟交易,它可以确定交易的结果(有一定的限制)而不需要实际发送。你可以指定一个区块号(block number)来运行模拟交易,并将已签名的类型化数据交易与类型化数据一起使用。这可以通过 Lens Protocol 智能合约上的每一个 withSig 方法来完成。只需一个 Polygon 节点,任何人都可以验证 DA 层的数据是准确的,在那个时间点上会是有效的,并且符合 Lens Protocol 智能合约规则。
Momoka 允许 Lens 生态系统扩展到更高的 TPS(这是目前 EVM 链无法实现的),并提供一个具有成本效益和低延迟的解决方案。这可以在不影响用户对其个人资料和社交图谱的所有权与控制权这一核心价值的情况下实现。同时,索引过程对应用开发者来说并不陌生。使用 Momoka 是可选的;喜欢 Momoka 的人可以继续把所有信息都存储在 Polygon 上。然而,如果内容出版物不需要无信任执行层的功能,就没有必要使用 EVM 状态。
Momoka 使节点运营商能够验证特定操作是否已按照 Lens Protocol 智能合约规则在链上执行(或根据任何其他智能合约规则进行验证),同时将交易本身存储在数据可用层以进行验证。
Momoka 涉及执行与在 EVM 链上相同的签名操作,但无需在链上实际发送交易并花费在 EVM 状态下执行交易所需的 Gas。相反,一个数据可用性交易是根据 Momoka 规则创建的,并导出到 DA 层,附有证明和所需信息。该解决方案使任何人都能交叉检查数据,提供有保障的证据,证明该操作必须是由具有创建并提交交易签名能力的用户执行的。交易本身通过模拟进行演示。这种方法允许 Lens 在保持区块链提供的所有权和信任的同时,根据用例和内容类型,随时随地进行扩展。
由于数据存储在去中心化层上,因此没有中心化实体控制内容。用户保留其内容出版物的所有权,如果 Lens 生态系统的任何部分失效,数据仍然是可验证、可访问和可供任何人使用的。去中心化确保用户的数据提交无法被篡改。
提交器负责验证和构建 DA 元数据并提交给 Arweave。在 DA 提交生成证明后,数据会通过 Bundlr 上传到 Arweave,并能得到即时的回应。提交器必须提供任何人都可以提出异议的证明。验证器软件监听从白名单提交器地址发送的 DA 内容出版物,并验证其有效性。
为了保持信任,提交器要对自己的行为负责,并面临由网络协议验证的不当行为的潜在惩罚。最初,提交器白名单将包括一个由 Lens 核心团队运营的单一地址。随着该方法被证实,该系统将被扩大,允许任何人成为提交器,并对良好行为进行奖励,对不良行为进行惩罚。如果对提交器来说不会造成任何损失,他们可能会用无效的提交来充斥系统,使验证器不堪重负,导致延迟。
在测试阶段,Lens 团队将负责纠正任何错误,并计划在测试结束后对错误提供漏洞赏金。
验证器的任务是监控提交器的 DA 内容出版物并确认其有效性。它们在评估即将发布的内容出版物时必须遵循特定标准,主要目标是确保提交器是真实的。任何人都可以使用开源软件通过一些命令来运行验证器。验证器利用 LevelDB 快速存储结果。该代码能够将分叉存档节点与 Foundry 的 anvil 一起用于本地机器执行。但是,为了获得最佳速度,目前建议使用存档节点。运行验证器所需的只是一个存档节点。
你可能担心提交器可能会就它在哪个区块上进行提交这件事对你进行欺骗,这正是 Bundlr 时间戳证明发挥作用的地方。此外,每个签名都有一个截止日期,该截止日期与挖矿区块的时间戳相对应,如果发送则签名无效。Bundlr 使你能够请求时间戳证明,在存储时返回当前的时间戳,允许任何人验证其时间戳。这是确定要使用适当的区块号的真实来源;我们应该使用最接近 Bundlr 生成时间戳的区块号。需要注意的是,由于节点软件的原因,延迟是不可避免的,所以如果它选择了一个区块号,并且经过验证,如果它落后了一个区块号,这也是可以接受的范围。
出色的用户体验对于 Lens 用户来说至关重要。DA 内容出版物与可以代表用户发帖、镜像或评论调度程序(dispatcher)一起工作。如果启用,它将通过状态检查。Lens Protocol 合约逻辑规定,如果调度程序代表用户签名,则交易有效。不想信任调度程序的用户仍然可以用钱包对类型化数据进行签名并通过提交器提交。此过程与当前流程类似,但交易被发送到 Momoka 提交器而不是 Polygon 节点。
DA 操作不需要 Gas,可以免费使用。客户端仍然需要将 contentURI 上传到可解析的位置。提交器通过 Bundlr 支付在 Arweave 上存储 DA 元数据的费用,这比可执行 EVM 交易的成本要低得多(成本低 1000 倍)。
将用户生成的内容作为 NFT 收藏,一直是 Lens 协议中至关重要的货币化层。虽然 Momoka 交易不是链上交易,但在创建者设置这些参数以启用代币化的情况下,创作者或内容消费者可以代表创作者「懒惰铸造」(lazy mint)内容。这意味着只要有想法,任何内容都可以被货币化。我们期待集成商将 Polygon 上的懒惰铸造作为一项功能,并在 Momoka 上推出。
为了更容易找到任何使用 Momoka 进行的交易,Lens 构建了 Momoka Explorer(momoka.lens.xyz)来跟踪和查找 Momoka 交易,并监测 Momoka 的吞吐速度。你可以找到交易的所有细节和所有相关数据。Momoka Explorer 还允许通过自己的节点验证交易。
Momoka 测试版现已上线。任何人都可以使用 Momoka 节点验证器来证明和验证交易。目前,Momoka 支持的交易包括发布内容出版物、评论和镜像。不久之后,Momoka 将支持将数据可用性评论发布到链上内容出版物中,反之亦然。
未来,Momoka 交易可以作为网络协议进行,这意味着多个节点必须验证交易以确保其有效性,并且节点之间可以对彼此的验证提出异议。网络协议也可以伴随激励和罚没机制来维持协议的有效性。
由于 Momoka 是开源软件,任何人都可以做出贡献并帮助改进它。随着更多地了解 Momoka 如何在超大规模下工作,团队将不断改进源代码并添加功能。
Momoka 被设计为一个节点网络,可以作为一个通用的数据扩展解决方案,也可以被社交网络之外的其他用例使用。