以Oasis、Arweave、Mina为例:探讨Web3时代数据计算的可能范式
原标题 | Web3.0程序应该在哪里运行?
文 | 宋嘉吉 任鹤义
Web3.0时代,互联网底层不会全部基于区块链建设,数据计算也不会全部运行在公共链的独木桥上。考虑到数据计算的效率和不同底层程序的语言环境,Web3.0时代的数据计算基础层将是一个复杂多样的环境。因此,如何解决区块链时代数据计算效率已成为下一代计算范式的关键方向。
Web3.0时代的区块链基础设施,光靠共识机制创新以及跨链是远远不够的,脱链/链外计算(off-chain)目前,它已成为解决问题的总体趋势。由于不可能受到三角形的约束,探索链外计算可以通过部分集中等方式获得更高的可扩展性。该方案的关键是如何在链上达成共识TEE、实现链外数据计算结果返回主链的技术手段,如零知识证明,达成共识和安全。本报告分析如下Oasis、Arweave、Mina以链下计算模式为例,进行了分析Web3.0时代数据计算的可能范式,以及如何实现链上链下链间数据计算协调的可能方式。
围绕性能升级,公链的演变大致经历了以下过程:
1)探索共识机制。共识机制经历了从POW到POS、再到各类POS该机制的改进版本无非是为了解决公共链的扩展问题,但仍然受到三角形的约束;
2)跨链试图用多链承载应用程序。跨链是为了考虑一个公共链不能适用于所有场景,需要多个公共链来解决数据承载和计算操作。跨链仍然需要平衡束缚行业的不可能三角形;
3)Off-chain解放主链负担正成为一种趋势。从以太坊2.0的分片到L2网络的所有工作都集中在如何解放主链的负担上。总体思路是脱链/链外计算,将计算(存储等资源消耗)与存储证分开。脱链计算的核心问题是链上链下的数据验证,或者如何让链下的数据计算在链上达成共识,让分散的用户相信这种方式。
本章节介绍Oasis、Arweave的SCP模式以及MINA生态的Snapp三个典型的脱链计算项目案例。从这些不同的实现方式可以看出Web3.0世界数据计算实现了计划复杂的真实一面Web3.0世界,也许不是理想的公链独木桥,而是纷繁复杂的百花齐放。
在Web2.5在这个时代,如何共享两个生态之间的数据,如何跨越两个生态运行的程序,以及两个生态系统的集成将是这个时代的刚性需求。在集中和分散的世界中共享数据将产生对预测机应用程序的巨大需求。Web2.0通往时代的数据和应用Web3.0时代之路长期存在,并将继续与之相处Web3.0集成-数据将是所谓的新数据Web3.0应用生态和当西Web2.0应用程序将跨越生态共享Web3.0和Web2.0运行在系统之间(Web2.5时代),用户将同时属于两个生态世界。另外,巨大Web2.0时代的数据资产和计算方法将继续长期存在,这必然构成Web3.0时代的一部分。如何整合这部分数据和计算,以及如何协调数据存储、网络和计算内存等储、网络和计算内存等基本互联网资源的个巨大的挑战。这个问题不能仅仅通过跨链和预测器来解决。
风险提示:区块链商业模式低于预期;监管政策的不确定性。


一、核心观点
Web3.0在这个时代,互联网的底层并不全部基于区块链建设,数据计算也不会全部运行在公共链的独木桥上。考虑到数据计算的效率和不同底层程序的语言环境,Web3.0时代的数据计算基础层将是一个复杂多样的环境。因此,如何解决区块链时代数据计算效率已成为下一代计算范式的关键方向。
对于去中心化系统来说,仅仅依靠共识机制创新和跨链是远远不够的(off-chain)目前,它已成为解决问题的总体趋势。由于不可能受到三角形的约束,探索链外计算可以通过部分集中等方式获得更高的可扩展性。该方案的关键是如何在链上达成共识TEE、实现链外数据计算结果返回主链的技术手段,如零知识证明,达成共识和安全。本报告分析如下Oasis、Arweave、Mina以链下计算模式为例,进行了分析Web3.0时代数据计算的可能范式,以及如何实现链上链下链间数据计算协调的可能方式。
二、Web3.0共识:公链独木桥外可以做很多事情
以以太坊为代表的公共链在基本性能上的限制,仅仅依靠共识机制的创新是不够的,多链之间的跨连接也不足以承载web3.0以太坊2.0的分片、L2、波卡平行链和其他扩展解决方案已经成为现实的解决方案。这些解决方案有不同的细节,但最终传达了市场共识:Web3.0数据和计算不会在公链的独木桥上运行,大量的数据和计算处理会在公链之外实现(是的L2、平行链,甚至可以是其他非区块链方式)。也就是说,脱(主)链计算(off-chain)已成为行业共识,特别是对于大量的数据处理和计算,将在主链之外完成。
本文暂时称底层公链主链以外的各种方式为链外计算。如何在公链外建立有效的数据和计算平台,承载Web3.0各种应用程序已成为未来的一个重要问题。
2.1.通往Web3.0道路:探索共识机制、跨链、模块化公链
公共链的基本性能是该行业不可避免的最终问题。围绕性能升级,公共链的演变大致经历了以下过程:
1)探索共识机制。共识机制经历了从POW到POS机制,再到各种POS该机制的改进版本只不过是为了解决公共链的可扩展性问题。,无论什么样的共识机制,完成一致性的共识都必然会牺牲系统的工作性能,这是一个不可能的三角形;
2)跨链试图用多链承载应用程序。跨链是考虑一个公共链不能适用于所有场景,需要多个公共链来解决数据承载和计算操作。例如,波卡(Polkadot)作为一个可伸缩的异构多链系统,它可以将任何数据(不仅限于代币)传输到所有区块链,实现各链之间资产和数据的相互流通。这对区块链网络的可扩展性和应用多样性非常重要。毕竟,单个区块链的性能是有限的,很难在特殊和通用之间平衡。同时,不可能的三角形(即可扩展性、安全性和分散性)也应进行相应的平衡。
3)Off-chain解放主链负担。从以太坊2.0的分片到L2网络,所有的工作都集中在如何解放主链的负担上。也就是说,繁重的数据计算被移交到主链之外——可能是划分任务组的方式,或者L2、甚至非区块链系统也承载数据计算,最终结果返回到主链存储。主链的一致性共识提供了对数据结果的验证,以确保完全分散和安全,并将繁重的数据计算移交给主链以外的平台。
虽然这些性能优异的平台在工作中牺牲了一些分散或安全,但可以通过零知识证明,TEE等技术手段实现链外平台主链的监督验证。总体思路是脱链/链外计算,将计算(存储等资源消耗)与存证分开。
最近,该行业出现了一个新的提法:模块化公共链。类似于互联网协议分层,未来公共链将分为执行层(Execution Layer ),结算层(Settlement Layer)、数据可用性层(Data Availability Layer)。在以太坊,执行层是各种操作Dapp的L2,然后包装交易数据(Rollup)返回以太坊主链验证上链,目前数据也存储在以太坊(当然是这样做的Rollup包装后),但对于日益扩大的原始数据,有些人考虑建立数据可用性层来存储数据,进一步解放以太坊主链,只做验证计算(共识)——毕竟,大链上下数据验证问题数据存储将进一步限制以太坊的性能。
当然,这种理想的分层方法还没有得到验证,包括Vitalik它还质疑数据可用性层的安全性。脱链计算的核心问题是链上链下的数据验证,或者如何使链下的数据计算在链上达成共识,使分散用户能够相信这种方式。

对于分片、L2在链外计算中,公共链就像货物运输管理严格的主干道(一致共识)。不可能在主干道上运行所有数据。在零知识证明的前提下,支路运输车辆可以在主干道上包装复杂乡村毛细小路上的货物,并通过零知识证明其严谨可信的工作。如何向主链证明其数据结果是可信的,应使用零知识证明TEE适应不同工作场景的灵活技术手段。

另外,巨大的Web2.0时代的数据资产和计算方法将继续长期存在,这必然构成Web3.0时代的一部分。如何整合这部分数据和计算,以及如何协调数据存储、网络和计算内存等储、网络和计算内存等基本互联网资源的个巨大的挑战。这个问题不能仅仅通过跨链和预测器来解决。
三、Web3.0数据计算:链外计算的三种模式
虽然数据计算脱离了主链,但分片,L2其他技术手段仍然考虑基本数据计算依赖于区块链,并考虑到分散的考虑。由于三角形的不可能限制,探索链外计算可以通过部分集中等方式获得更高的可扩展性。该方案的关键是如何在链上达成共识TEE、实现链外数据计算结果返回主链的技术手段,如零知识证明,达成共识和安全。
链外计算的核心问题是如何从主链中获得数据计算的共识?换句话说,用户如何相信主链以外的计算?
本章介绍了三个典型案例。从这些不同的实现方式可以看出Web3.0世界数据计算实现了计划复杂的真实一面Web3.0世界,也许不是理想的公链独木桥,而是百花齐放。
3.1.Oasis:共识层和执行层(ParaTime)模块化分层设计的分离
Oasis网络是使用权益的证明(POS)、去中心化的Layer1区块链网络实现了共识层和智能合同执行层ParaTime层两部分的解耦,即数据计算(合同执行)脱离L1放置主链(即共识层)ParaTime层执行,充分考虑隐私计算。同时,在设计上,共识层设计得尽可能简化,只处理共识层Token转移、质押、解绑定等简单操作,与以太坊相似Layer2与共识操作隔离同的执行与共识操作隔离相似,有助于提高网络的安全性和效率ParaTime层层设计,Oasis每一层ParaTime模块分离,不同ParaTime模块可以根据不同的需要进行相应的优化和调整,并相互独立完成操作。

不同的操作ParaTime智能合约在于构建不同的执行环境、验证机制和加密机制ParaTime层完成后,将其结果值提交给共识层。共识层从ParaTime接受层中的各种参数值,并将其写入下一个区块,同时处理更基本的操作。在操作过程中,如果有一个ParaTime超载或出错只会影响出错ParaTime提交到共识层的状态更新不会对其他人进行ParaTime影响运行。为了防止某个ParaTime恶意向共识层发送过多的垃圾信息,降低了共识层的运行速度ParaTime层必须向共识层支付交易费用,以增加负载攻击的成本。

那么ParaTime层如何与L1主链完成对接并达成共识?验证执行结果,Oasis采用差异检测ParaTime验证执行结果。在进行差异检测时,计算委员会将从节点中随机选择计算节点,并在委员会全体成员同意结果时接受结果。如果发现差异,则使用差异分析协议进行处理。差异检测成本较低,执行速度较快,而差异分析往往成本较高。在具体的执行过程中,计算节点首先通过执行结果Gossip协议网络发送到差异检测器。如果检测结果没有异常,验证器应提交到共识层完成处理和块。如有争议,将启动差异分析协议确定正确结果,并惩罚产生争议结果的节点,并支付差异分析的成本。
不同的ParaTime并行运算时,每个结果可同步提交给共识层,也可定期提交多个结果的融合值ParaTime结果,产出量与共识层出块数量的解耦合。但缺点是不同ParaTime比如ParaTime A产出的结果TA与ParaTime B产出的结果TB如果同时提交到同一块,则无法判断TA与TB发生顺序。Oasis还支持通过IBC协议(链间通信协议,Inter-Blockchain Communication Protocol)为不同ParaTime提供通信,通过TEE(可信执行环境)为平台提供更高的隐私和安全性。
隐私计算是Oasis的亮点。Oasis基于隐私计算的智能合持智能合约,充分体现了隐私计算的特点ParaTime需要使用节点TEE(可信执行环境,Trusted Execution Environment)安全计算技术,TEE相当于为智能合同的执行提供了一个安全岛。数据对节点运营商或应用程序开发者完全加密。采用计算层TEE可信执行环境运行智能合同Oasis该网络可以考虑性能和隐私,并支持最近流行的机器学习和深度学习等计算密集型应用场景。
总结而言,Oasis通过将共识层与计算层分离,实现节点功能的解耦,大大降低了网络各节点的运行压力,提高了平台的运行速度TEE在Web3.0时代有丰富的想象空间。
3.2.Arweave:基于存储共识的计算范式
Arweave(AR)通过分散的操作模式和POA(Proof Of Access)共识机制为用户提供数据存储服务,并为矿工提供存储服务AR奖励。POA实现的基础为Arweave独创的Blockweaves结构,每个块不仅与之前的块相匹配(Previous Block)同时与召回块相连(Recall Block)相连性,召回块的生成取决于以前块的哈希值和块的高度。在决定制作块矿工时,矿工必须证明他们可以访问召回块中的数据,以获得制作块的权利,然后获得制作块的奖励。因此,这要求矿工1)尽可能多地复制各种块;2)尽可能多地保存难以复制的块:3)尽可能少地保存存储块,以便在开采新块时获得更多的优势。同时,由于区块链独特的数据验证和可追溯性,可以大大保证链上数据的可信度,从而实现可信的永久存储。
Arweave采用 "一次性付款,永久存储 "的模式。长期来看AR存储成本很低,甚至接近零AR因此,AR磁带通常被比作图灵机,就像磁带一样,以较低的成本存储用户数据。
因此,利用AR高效低成本的存储可以在链下计算数据,而数据源来自AR并且计算结果也会在链上存证。SCP(基于存储的共识范式,Storage-based Consensus Paradigm)实现基础AR的计算,即AR图灵磁带作为数据源,为链下应用程序提供数据源,并上传计算结果AR存证。其效率取决于链下应用程序和计算机的性能,自然高于基于共识机制的链上计算。
以太坊等传统Layer1节点负责计算、存储和共识POW上链存证等共识机制完成,受不可能三角的束缚,其效率可想而知SCP则将链上存证与计算功能相分离。简而言之,公链本身更像是计算机硬盘,只负责数据的存储。在保证链上存储数据可信的前提下,智能合约的执行则可以在链下任何具有计算能力的设备上进行。
SCP的理念源于SmartWeave,其为建立在Arweave上的智能合约平台,通过懒惰评估过程(The Process of Lazy Evaluation)将智能合同的执行负担转移给用户。不同于以太坊的每个节点(这种共识会影响计算效率),SmartWeave采用惰性评估系统,将交易验证的计算交给用户。当用户和 SmartWeave 合同交互时,他们会评估 dApp 以前的每笔交易都与链上存储的最新数据一致,然后将交易结果写入 Arweave 网络存证,如此重复。运行时,可以SmartWeave它被链外运行的虚拟机。它读取应用程序的代码和代码Arweave输入参数,在本地完成交易执行后,输出结果与Arweave同步,实现链上存储与链下计算的分离。用户验证工作类似于区块的链结构,逐步跟踪和验证交易,所有这些都不需要在链上完成,而是用户在链下完成的工作,也就是说,这个链接不制的约束。

SCP另一个开发实例是Arweave上的everPay。everPay跨链代币支付协议为用户和商家提供实时代币支付服务。everPay将其他公共链的各种资产锁定在智能合同中,并将其映射成相应的资产。例如,当用户从资产中提取时Ethereum跨链至Arweave时,首先由Coordinator收集和验证交易,并将每笔交易放入一个序列化的待处理交易池然后分批包装待处理交易,每隔一段时间上传一次Arweave。此后Detector验证链上的整体状态和账户余额,任何用户都可以申请Detector节点。而Arweave上未经处理的交易则会由Watchmen使用多个签名或阈值签名,并返回完成结果Ethereum。因此,合同的执行在链下完成,数据存储在链上,实现存储与计算的分离。

综上所述,建立了基于存储的共识范式Offchain-Dapp原型。链上存储,链下运行,充分发挥链上存储的可追溯性和不可篡改性。在数据可信度的基础上,解放链上运行带来的负载压力,分散给用户,更合理地使用Web3.0在改善资源的同时Dapp运行效率。SCP开发可以基于任何编程语言,链下计算的效率提高了可用性和可扩展性,存储成本低;同时,链下部署了应用程序Web2.0应用程序可以很好地对接。

此外,如何确保链下应用程序执行的计算可信——即如何实现SCP共识?数据来自AR在链上,应用程序也可以在链上开源和发布。因此,计算程序和数据都有链上的保证。如果用户在本地修改应用程序和数据,则相当于形成一个分叉,而不是源数据和应用程序的计算结果共识。这与区块链项目的开源代码相似,矿工节点运行相同的开源客户端脚本形成共识。如果修改客户端代码(或数据源),则将形成一个分叉。因此,虽然计算是在链下执行的,但链上的数据源和开源程序代码确保了链下结果的可信度。
3.3.Mina:零知识智能合约Snapp
为了达成最终结果的共识,需要证明每次计算使用的数据与链上块中的数据一致。对于存储在一系列历史块中的数据,如何在主链和外部应用环境之间以更轻、更分散的方式验证数据的有效性?Mina作为目前最轻量级的公共链平台,区块链通过递归零知识证书被易于验证和恒定区块大小的加密证书所取代,不需要用最新区块耗尽所有区块(21kb左右)可以实现验证。这大大降低了每个用户需要下载的数据量,降低了用户点对点连接的门槛,提高了网络的分散度。
一般来说,区块链公链的整个账簿数据量非常大(比如比特币账近400G),并按时间顺序分散在许多块中,给数据验证带来更大的负担。Mina则使用递归zk-SNARK(零知识证明)实现验证证明,只需要把每个区块中的交易做一次验证证明,然后将证明存入区块中,且不会为每一个区块单独做一次证明,而是每一次新区块做证明时连带上一次的区块证明一起生成一次证明,存入最新区块。可以简单理解为,类似套娃一样,最新区块将本区块内的数据和前一个区块的验证证明数据一起做一个类似快照的证明。这样,每一个区块都只需要一个次证明结果,就可以将所有历史区块的数据证明包含在内。举一个例子比喻,旅行者为了证明自己到过哪些景点,可以每到一个景点便打卡拍照,且下一次景点拍照时候手拿上一次景点照片一起拍照,如此递归下去,每一张照片都套娃式的包含了前面所有景点的打卡信息,那么只需要一张最新的照片,就能够证明该旅行者确实到过所有的景点。
这就达到了一个效果:区块链上所有的存储都是交易正确性的证明,而不是交易本身。由于上述证书占用的空间很小,块的大小被压缩。
在此基础上,Mina以隐私为中心的可延展性和发展Dapp——Snapp。Snapp由智能合约和UI由界面两部分组成Snapp基于零知识证明(zk-SNARKs)开发人员需要构建证明函数和相应的验证函数来生成和处理零知识证明。
作为证明函数Snapp部分直接运行在用户身上web当用户浏览器Snapp的UI用户面交互时,用户需要输入私人数据(PRIVATE INPUTS)输入公共数据(PUBLIC INPUTS)将函数提交给证明者生成零知识证明。

在生成零知识证书后,用户不再需要提供任何私人数据输入,以保护用户的隐私和安全。验证函数通常用于验证零知识证明是否通过了证明函数中定义的所有约束函数(即数据是否有效)Mina网络完成验证。

在具体操作中,证明用户的功能web在浏览器上完成后,将存储在给定的零知识证明(验证密钥)Snapp在账户链上,然后发送到Mina网络验证。因此,交易的生成和数据计算在链下完成。同时,该过程将生成可用于验证交易的零知识证书,充分保护用户原始私有数据隐私。链上只负责验证证书,验证后保存在链上Snapp更新状态。
从用户的角度来看,当用户和Snapp用户通过智能合同的前端进行交互UI与之互动,然后Snapp用户输入的数据通过证明函数在本地生成零知识证明。数据可以是私有的(不透明的)或公共的(存储在链上或链下)。此外,还将生成与交易相关的数据Snapp更改状态更新列表Snapp状态。然后用户提交数据Mina网络,Mina网络会通过Snapp给出的验证函数验证交易,成功通过后更新Snapp的状态。

例如,用户可以在不泄露自己隐私数据的情况下,在本地生成并提交自己的信用数据进行证明和链接DeFi系统灵活的信贷服务;传统的DeFi贷款服务需要以资产超额抵押为前提。该应用场景的意义在于快速连接多个生态数据和应用程序,可以是区块链或链下生态。Snapp作为跨链、跨链上链下的桥梁角色,应用非常方便。
3.4.小结
从以上三个案例来看,Oasis该平台在设计中考虑了模块化的分层设计,因此在设计之初就完成了计算和共识的分层Arweave与Mina使用分层解决方案主动分离计算和存储等功能更为相似Arweave的SCP与Mina的Snapp它们都是在公共链运行一段时间后诞生的。综上所述,前者是设计层,后者是解决方案层。尽管这两种不同路径的整体性能,但对于现有的公共链来说,解决方案的路径似乎可以更快地完成共识、计算和存储层,并根据自己的特点进行相应的调整。然而,如果分层和模块化将成为未来的发展方向,前者设计架构的变化似乎可以更好地面对时代的需求。
四、Web2.5时代的刚:预言机
也许未来Web3.0真的很难预测,但毫无疑问,Web2.0通往时代的数据和应用Web3.0时代的道路同时存在,并将继续与之相处Web3.0集成-数据将是所谓的新数据Web3.0应用生态和当西Web2.0应用程序将跨越生态共享Web3.0和Web2.0系统之间运行,用户将同时属于两个生态世界。我们不妨将Web2.0向Web3.0过渡时期成为Web2.5时代。
在Web2.5在这个时代,如何共享两个生态之间的数据,如何跨越两个生态运行的程序,以及两个生态系统的集成将是这个时代的刚性需求。在集中和分散的世界中共享数据将产生对预测机应用程序的巨大需求。
Web2.0时代API接口成为App获取外部数据的重要途径。API接口是应用程序接口(Application Programming Interface)是一组预定义的函数或HTTP该接口允许用户或开发人员直接调用程序,而不访问源代码app而言,API接口成为了APP获取外部数据并输出自己数据的窗口。链上的应用程序Dapp由于区块链本身的确定性和封闭性,Dapp链外数据一般无法直接获取(如Dapp从Coingecko上获取BTC实时报价)。预测机(Oracle Machine)这是区块链外信息写入区块链的机制。其本质是为智能合约提供外部信息的第三方服务。当智能合约要求链外数据时,预测器将链外数据输入链。

目前ChainLink对于链上使用较多的预言机协议之一,它使用第三方预言机运行,即当链上的合同要求外部数据时,合同要求将发送给预言机合同,然后预言机合同将相关事件发送给第三方链Chainlink网络,由ChainLink该网络完成了外部数据的收集,然后通过预测机合约将数据返回请求数据的合同。这种方法的优点是原因Chainlink提供的第三方预言机可以通过预定的共识规则来确定结果,但无效冗余(没有第三方预言机API提供者直接提供高效的外部数据)和缺乏透明度(第三方网络无法知道数据源)的存在,导致第三方预测器仍面临诸多挑战。

API3为解决第三方预用于解决第三方预言机存在的问题API由数据提供商操作的预言机直接提供dAPI,并通过DAO管理其数据馈送。

运行时,dApps订阅dAPIs服务并支付相应的订阅费务并支付相应的订阅费,以获取数据或服务Staking Pool中的资金为订阅支付赔偿。API向提供dAPIs,各自运营预言机服务,由API3 DAO支付相应的报酬。Stakers通过质押API3 Token,为质押池提供保险金并参与API3 DAO治理主要包括选择更好的服务提供商进入聚合器dAPIs。

链下计算保证链上数据的可信度非常重要。如果链上数据根据数据源分为链上生成和链下导入两类,则需要同时保证这两类数据的可信度。API3预测协议的存在保证了链下导入数据的可信度,但是否有更有效的方法将原本需要链下导入的数据直接交给链下计算,从而减轻链上的负载,值得探索。
风险提示
区块链商业模式落地不如预期:Web3.0基于区块链、密码学等技术,相关技术和项目处于发展初期,存在商业模式低于预期的风险。
监管政策的不确定性:Web3.0实际运行涉及多项金融、网络等监管政策。目前,各国的监管政策仍处于研究和探索阶段,没有成熟的监管模式,行业面临监管政策不确定性的风险。
本文摘自国盛证券研究所2022年3月9日发布的报告《国盛区块链》|Web3.0程序该跑在哪里?》,具体内容请详见相关报告。
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。

路安



