DCompute链下计算外包:只EVM就足够了么?

1. 引言

在这里插入图片描述
当前的以太坊L2扩容方案主要有:

  • Optimistic Rollup
  • zkRollup:如Polygon zkEVM、Scroll等

这些L2方案仍是基于EVM的。

但游戏、链上订单簿、Web3社交、机器学习、基因组建模等高性能应用是compute-heavy的,对于L2 EVM来说仍是昂贵的——EVM计算不够快,性能也不如Sealevel Virtual Machine。

若L3采用EVM,计算经济性可能更高,但是由于EVM自身结构其无法做并行计算,并不是做重计算的最佳之选。在构建新的Layer之前,为了保持权力下放的精神,都需要建立新的基础设施(一个新的节点网络),这仍然需要同一组提供商来扩展,或者需要一组全新的节点提供商(个人/企业)来提供资源,或者两者兼而有之。

因此,每次构建更先进的解决方案时,都应该升级现有的基础设施,或者必须在其上构建新的层。为了解决这个问题,我们需要一个后量子安全、去中心化、无信任、高性能的计算基础设施,它可以使用量子算法在实体经济中执行复杂的计算,为去中心化应用程序进行计算。

Solana、Sui和Aptos等alt-L1可以实现并行执行,但市场情绪、流动性紧缩以及市场上缺乏开发者,由于缺乏跨越以太坊建立的巨大信任护城河,可能不会称为EVM杀手。至今,ETH/EVM杀手可能还不存在。

关键问题在于:为什么所有的计算都要在链上?是否存在一个非区块链的无信任、去中心化的执行系统?答案就在于——DCompute系统可。

DCompute基础设施要去中心化、后量子安全且不可信,不需要也不应该是区块链/DLT技术,但验证计算并生成正确的状态转换和最终结果非常重要。EVM链将完全按照它的方式运行,保持网络安全性和不变性,而去中心化、无信任、安全的计算可以脱离链。

本文没有重点关注数据可用性的问题。因为像Celestia和EigenDA这样的解决方案已经在朝着这个方向发展。

链下计算外包主要有2种思路:

  • 1)仅外包计算:如当前的zkRollups,就是采用该方案,数据可用性仍保存在链上。缺陷在于:

    • 要么受限于EVM
    • 要么需教育开发者学习全新的语言或指令集

    理想解决方案应是高性能、成本和资源高效、去中心化、隐私、且可验证的。通常是在云服务商AWS服务器上运行计算并构建ZK proofs,但AWS服务器是非去中心化的。为此,需构建去中心化可验证云计算网络,如:NexusNillion。但若无ZK proofs则无法验证。
    在这里插入图片描述

  • 2)外包计算的同时,还外包数据可用性:将链下计算和数据可用性层分离,但计算仍需在链上进行验证。
    在这里插入图片描述

当前以太坊生态的外包计算方案有:
在这里插入图片描述
除L2扩容方案之外,还有:

  • 1)Secure Enclave Computations/ Trusted Execution Environments (TEE):TEE就像计算机或手机内的某特殊box,仅可供特定trusted applications访问。其它程序甚至操作系统本身,都无法修改运行在TEE内的可信应用程序。
  • 2)Secure Multi-Party Computation (SMPC):当前的MPC供应商Sharemind可提供供计算的MPC基础设施,但该供应商仍是中心化的。
    SMPC基本流程为:
    • 2.1)将计算输入转换为shares,分发给SMPC节点。
    • 2.2)实际计算为:SMPC节点间交互消息。最终,每个节点都有计算result output的一个share。
    • 2.3)这些result output share会发送给一个或多个Result节点——运行LSS来重构出最终的结果值。
  • 3)Nil Message Compute (NMC):为由Nillion团队开发的新的分布式计算方法。为MPC的升级版,NMC中节点间无需交互各自的output。NMC中采用名为One-Time Masking (OTM)的密码学原语来blind factors to mask a secret,类似one-time padding。
  • 4)ZK Verifiable Computation:为以太坊zkRollup扩容方案的关键。
    在这里插入图片描述

不同计算外包方案的对比情况为:
在这里插入图片描述

ZK Verifiable Computation的关键在于:

  • 1)选择某种特殊的proof原语:生成便宜,无需大量内存,验证不复杂。
    在这里插入图片描述

  • 2)基于所选择的proof原语来设计特定的zk circuit。

  • 3)计算系统/网络:给定输入,运行特定函数,生成特定输出。

现有的Circom、Cairo等circuit编写语言,对于Web2开发者来说仍有入门门槛。使用Web2开发者现有的语言栈来写zk circuits的可选项有:

  • 1)Lurk Labs:采用Nova证明系统,可兼容Javascript开发者。【Nova proof size会随computation size线性增加,但最后的proof可通过SNARK进一步压缩。】
  • 2)RiscZero:采用STARK证明系统,提供了Bonsai网络,proof可在链上验证:【STARK proof size不随computation size增加。】
    在这里插入图片描述
  • 3)Nil Foundation:创建去中心化可验证外包计算基础设施。

参考资料

[1] Siddharth Rao 2023年6月博客 Is the EVM Alone Enough?
[2] Jacob Eberhardt等人2018年论文 Off-chaining Models and Approaches to Off-chain Computations

猜你喜欢

转载自blog.csdn.net/mutourend/article/details/131473202