区块链网站|NFTS Chainlink(Link) 区块链行业专题研究:Web3.0程序该往哪里跑?

区块链行业专题研究:Web3.0程序该往哪里跑?

广告位

区块链行业专题研究:Web3.0程序该跑在哪里?

(报告监制/分析师:郭盛证券宋佳吉任何仪)

1.核心观点Web3.0时代,互联网底层不会全部基于区块链搭建,数据计算也不会全部运行在公链的独木桥上。考虑到数据计算的效率和不同的底层编程语言环境,Web3.0时代的数据计算基础层将是一个复杂多样的环境。

因此,如何破解区块链时代的数据计算效率成为下一代计算范式的重点方向。

对于去中心化的系统,仅仅依靠共识机制创新和跨链是远远不够的。离链计算已经成为解决问题的一大趋势。

由于不可能三位一体的约束,探索链外计算可以通过使用部分集中化等手段获得更高的可扩展性。该方案的关键是如何获得链内链外计算结果的一致性,并通过TEE、零知识证明等技术手段实现链外数据计算结果返回主链的一致性和安全性。

本报告以Oasis、Arweave、Mina等下行链计算模式为例,分析了Web3.0时代数据计算的可能范式,以及如何实现上下行链和链间数据计算协同的可能途径。

2.web3.0共识:公链独木桥之外可以做的事情很多。以太坊为代表的公链,基础性能有限。仅靠共识机制的创新是不够的,也不足以通过多个链条之间的交联来承载Web3.0的数据和计算。所以以太坊2.0的各种扩展方案,如切片、L2、Poca平行链等。目前已经成为现实的解决方案。这些方案的细节各不相同,但最终都传达了一个市场共识:即Web3.0的数据和计算不会全部运行在公链的独木桥上,大量的数据和计算处理将在公链之外实现(可以是L2、并行链,甚至其他非区块链的方式)。

也就是说,链外计算已经成为业界的共识,尤其是对于大量的数据处理和计算,会在主链之外完成。

在本文中,我们暂时将底层公链主链之外的各种方式称为链外计算。如何在公链之外建立一个有效的数据和计算平台来承载各类Web3.0应用将成为未来的重要课题。

2.1.Web3.0之路:从共识机制、跨链和模块化公链探索

公链的基本性能是行业的终极问题。围绕性能的升级,公链的演进大致经历了以下过程:

1)共识机制的探索。

共识机制经历了从POW到POS机制,再到各种POS机制的改进版本,无非是想解决公链的可扩展性问题。但无论哪种共识机制,共识的达成必然会牺牲系统的工作绩效,这是一个牢不可破的不可能三位一体。

2)跨链尝试在多个链中承载应用程序。

跨链是考虑到一个公共链不能适用于所有场景,需要多个公共链来解决数据承载和计算操作。例如,Polkadot作为一个可扩展的异构多链系统,可以将任意数据(不限于令牌)传输到所有区块链,实现各链之间资产和数据的相互流通。这对区块链网络的可扩展性和应用多样性非常重要。毕竟单个区块链的性能是有限的,很难在专用和通用之间取得平衡。同时,绑定行业的不可能的三位一体(即可扩展性、安全性和去中心化不能同时实现)也要相应的平衡。

3)离链(off-chain calculation,离链计算)解放主链负担。

从以太坊2.0的碎片化到L2网络,所有的工作都集中在如何解放主链的负担上。也就是把繁重的数据计算交给3354的主链外部,可能是碎片化等任务组划分的方式,或者L2甚至非区块链系统承载数据计算,最终结果返回给ma

这些性能优秀的平台虽然在工作中牺牲了一些去中心化或安全性,但通过零知识证明、TEE等技术手段,可以实现主链对外链平台的监督验证。总体思路是离链/离链计算,将计算(存储等资源消耗)与存单分离。

最近业界出现了一个新提法:模块化公链。

类似于互联网协议分层,未来的公链将分为执行层、结算层和数据可用性层。

在以太坊,执行层是运行各种Dapp的L2,然后将打包的交易数据(Rollup)返回以太坊主链进行验证上传。目前数据也存储在以太坊(当然是Rollup之后)。但对于不断膨胀的原始数据,有人考虑设立数据可用性层来存储数据,进一步解放以太坊主链,使其终究只做验证和计算(共识)3354。

当然,这种理想的分层方式并没有得到验证,包括Vitalik质疑数据可用性层安全性的声音。

离链计算的核心问题是对链上和链下数据的验证,即如何让离链数据计算在链上得到共识,让这种方式得到去中心化用户的信任。

对于分段、L2和链外计算,公链就像货物运输管理严格的主干道(共识),不可能所有数据都在主干道上跑。在以零知识证明的方式证明自己工作严谨可靠的前提下,支路的运输车辆可以在复杂的农村毛细道路上包装货物,在主干道上运行。

如何向主链证明数据结果的可靠性,依赖于零知识证明、TEE等灵活的技术手段,以适应不同的工作场景。

此外,Web2.0时代庞大的数据资产和计算方式还将长期存在,必然构成Web3.0时代的一部分。

如何将这部分数据和计算与区块链主导的新生态融合,如何协调数据的存储,网络、计算内存等互联网基础资源的调用,都是很大的挑战。

这个问题光靠跨链,预测机是解决不了的。

3.Web 3.0数据计算:三种模式的链外计算虽然数据计算与主链分离,但基础数据计算依赖于区块链,兼顾去中心化。

由于不可能三位一体的约束,探索链外计算可以通过使用部分集中化等手段获得更高的可扩展性。该方案的关键是如何获得链内链外计算结果的一致性,并通过TEE、零知识证明等技术手段实现链外数据计算结果返回主链的一致性和安全性。

链外计算的核心问题是脱离主链。数据计算如何达成共识?即如何让用户相信主链外的计算?

本章介绍三个典型案例。从这些不同的实现中,我们可以看到Web3.0世界中数据计算实现方案复杂性的真实一面。未来的Web3.0世界可能不是理想的公链独木桥,而是百花齐放。

3.1.OASIS:模块化分层设计,其中共识层与执行层分离(并行)

Oasis network是一个使用权益证明(POS)的分散式第1层区块链网络。其模块化架构实现了共识层和智能合同执行层的解耦,即将数据计算(合同执行)从L1主链(即共识层)中分离出来,放在ParaTime层,并充分考虑了隐私计算。

同时,在设计中,尽可能简单地设计共识层。共识层只处理令牌转移、质押、解绑等简单操作。这种设计类似于以太坊Layer2项目,将智能合约的执行与共识操作隔离开来,有助于提高网络的安全性和效率。

在ParaTime层的设计中,Oasis将该层中的各个ParaTime模块进行了分离,不同的ParaTime模块可以根据不同的需求进行优化调整,相互独立运行。

在运行时,不同的并行构建不同的执行环境、验证机制和加密机制。在paratime层执行智能合同后,其结果值将提交给consensus层。

consensus层接受来自ParaTime层的各种参数值,将这些值写入下一个块,并处理基本操作。

但在运行过程中,如果某个副时间运行出现过载或错误,只会影响错误副时间向共识层提交的状态更新,不会影响其他副时间的运行。

为了防止某个ParaTime层恶意向共识层发送过多的垃圾邮件,从而减缓共识层的运行速度,每个ParaTime层都必须向共识层支付交易费用,从而增加了负载攻击的成本。

那么,ParaTime层是如何与L1主干网对接并达成共识的呢?

在执行结果的验证方面,Oasis使用差异检测来验证ParaTime的执行结果。当执行差异检测时,从节点中随机选择计算节点来组成计算委员会。当委员会所有成员都同意结果时,他们将接受结果。如果检测到差异,则使用差异解决协议来处理它。差异检测成本更低,执行更快,而差异分析往往成本更高。在具体执行过程中,计算节点首先通过Gossip协议网络将执行结果发送给差异检测器,如果检测结果没有异常,验证器将提交给共识层进行处理和阻塞。如果有争议,将启动差异解决协议确定正确的结果,对有争议结果的节点进行惩罚,有争议的节点支付差异解决的费用。

当不同的并行时间在进行并行操作时,可以将每个结果同步提交给共识层,也可以定期提交多个结果的融合值,从而将并行时间结果的输出与共识层的块数解耦。但是,它的缺点是不能确定不同并行时间之间的相对顺序。例如,如果ParaTime A产生的结果TA和ParaTime B产生的结果TB同时提交到同一个块,则TA和TB的出现顺序无法判断。

此外,Oasis还通过IBC(Inter-Chain Communication Protocol,链间通信协议)支持不同ParaTime之间的通信,通过TEE(Trusted Execution Environment,可信执行环境)为平台提供更高的隐私性和安全性。

隐私是绿洲的亮点。

绿洲网络支持基于隐私计算的智能合约,充分体现了隐私计算的特点。在加密的ParaTime中,节点需要使用TEE(可信执行环境)安全计算技术,TEE相当于为智能契约执行提供了一个安全岛。

对于数据节点操作员或应用程序开发人员来说,它是完全加密的。计算层使用TEE可信执行环境运行智能合约,使绿洲网络兼顾性能和隐私,支持计算密集型应用场景,如最近比较流行的机器学习和深度学习。

综上所述,Oasis通过将共识层与计算层分离,实现了节点功能的解耦,大大减轻了网络中各个节点的运行压力,提高了平台的运行速度。同时,TEE为数据计算提供隐私和安全解决方案,在Web3.0时代有着丰富的想象力。

3.2.Arweave: Arweave(AR),一种基于存储共识的计算范式

通过去中心化运营模式和POA(Proof Of Access)共识机制为用户提供数据存储服务,对提供存储服务的矿工给予AR奖励。POA的实现是基于Arweave原有的Blockweaves结构。每个块不仅连接到前一个块,还连接到一个召回块。召回块的生成取决于前一个块的散列值和块高度。在决定屏蔽哪些矿工时,矿工必须证明自己可以访问召回区块中的数据,从而获得屏蔽权,进而获得区块奖励。

因此,要求矿工

1)复制尽可能多的块;

2)尽量保存难以复制的块:

3)尽可能保存人少的区块,以便在挖掘新区块时获得更多优势。同时,由于区块链独有的数据可验证性和可追溯性的特点,可以在很大程度上保证链上数据的可信度,从而实现可信永久存储。

Arweave采用‘一次性支付,永久存储’的模式。从长远来看,AR的存储成本很低,甚至接近于零。而且AR的存储效率更快。所以AR经常被比作图灵机的磁带。就像磁带一样,AR以更低的成本存储用户数据。

所以利用AR高效低成本的存储,数据计算可以在链下进行,而数据源来自AR链,计算结果也会存储在链上。SCP(Storage-based Consensus Paradigm)是基于AR的计算的实现,即AR是图灵带作为数据源,为链下的应用提供数据源,计算结果也上传到AR进行认证。

其效率取决于链下应用和计算机的性能,自然高于基于共识机制的链上计算。

在以太坊等传统第1层,节点负责计算、存储、共识等功能。通过POW等共识机制,上传证书,却被不可能的三位一体所束缚,其效率可想而知。而SCP将链上的存款卡与计算功能分离。

简而言之,公链本身更像是电脑硬盘,只负责数据存储。

在链中存储的数据可信的前提下,智能合约可以在链下任何有计算能力的设备上执行。SCP的概念源于SmartWeave,smart weave是一个基于Arweave的智能合约平台。通过懒评的过程,将智能合约执行的负担转移到用户身上。

与以太坊中每个节点都要执行每一笔交易(这样的共识会影响计算效率)不同,SmartWeave采用了“惯性评估”系统,将交易验证的计算交给了用户。

用户在与SmartWeave合约交互时,会对dApp上之前的每一笔交易进行评估,确认与链上存储的数据的最新状态一致,然后将交易结果写入Arweave网络进行存放,等等。

在运行时,SmartWeave可以被视为一个运行在链外的虚拟机。它通过在Arweave上读取应用程序的代码和输入参数,在本地完成事务的执行,然后将输出结果与Arweave同步,实现了链上存储和链下计算的分离。

用户验证工作类似于区块链结构,一步一步的追踪验证交易,而这一切都不需要在链上完成,而是用户在链下完成的工作,也就是说这个环节可以不受共识机制的约束。

SCP的另一个开发例子是Arweave上的everPay。

EverPay是一种跨链代币支付协议,在用户和商户之间提供实时代币支付服务。EverPay将其他公链的各类资产锁定在一个智能合约中,并映射到相应的资产上。

当用户将资产从以太坊交叉链接到Arweave时,协调器会先收集并验证交易,并将每笔交易放入序列化的待处理交易池中,然后每隔一段时间将待处理交易批量打包上传到Arweave。之后,检测器会验证链中的全局状态和账户余额,任何用户都可以申请成为检测器节点。

Arweave上未处理的交易将由看守者使用多重签名或门限签名完成,完成结果将返回给以太坊。因此,契约的执行是在链下完成的,数据存储在链上,实现了存储和计算的分离。

综上所述,Offchain-Dapp的原型是基于存储的共识范式建立的。

连锁仓储,连锁经营,充分发挥连锁仓储的可追溯性,不可篡改。在数据可靠的基础上,释放连锁经营带来的负载压力,分配给用户,从而更加合理地利用Web3.0资源,提高Dapp的运行效率。

同时,SCP的开发可以基于任何编程语言,链式计算的效率提高了可用性和可扩展性,存储成本低;同时,链下部署的应用可以很好的与Web2.0应用对接。

另外,如何保证链下应用执行的计算是可信的3354,即如何实现SCP的共识?

数据来自AR链,应用也可以开源的方式发布在链上。因此,计算程序和数据都由链上证书来保证。如果用户在本地修改应用和数据,就相当于形成了分叉,对源数据和应用的计算结果没有共识。

这类似于区块链项目的开源代码。Miner节点运行相同的开源客户端脚本来形成共识。如果修改了客户端代码(或者数据源),就会形成分叉。

所以虽然操作是在链下进行的,但是链下的数据源和开源程序代码保证了链下的结果是可信的。

3.3.米娜:零知识智能合约Snapp

在主链与外部应用环境的数据计算协同工作中,为了对最终结果达成共识,需要证明每次计算使用的数据与链上块中的数据一致。

对于存储在一系列历史块中的数据,如何在主链和外部应用环境之间以一种更轻便、分散的方式验证数据的有效性?Mina作为目前最轻的公链平台,通过递归零知识证明,用易于验证、块大小不变的加密证书代替了区块链。不用穷尽所有块,可以用最新的块(21kb左右)验证。

这大大减少了每个用户需要下载的数据量,降低了用户点对点连接的门槛,提高了网络的去中心化程度。

一般区块链公链的整个账本数据量非常大(比如比特币账户近400G),而且按照时间顺序分散在很多区块,给数据验证带来了很大的负担。Mina使用递归zk-SNARK(零知识证明)实现验证和证明。它只需要对每个块中的事务进行一次验证和证明,然后将证明存储在块中。而不是对每个块做一个单独的证明,每证明一个新的块,就会和前一个块证明一起生成一个证明,并存储在最新的块中。

可以简单理解为,像玩偶一样,最新的块用本块的数据和前一块的验证证明数据做一个类似快照的证明。

这样每个区块只需要一个二次证明结果,可以包含所有历史区块的数据证明。

比如,一个旅行者为了证明自己去过哪些景点,可以在每个景点打卡拍照,到下一个景点拍照时,就一起拍照。所以递归来说,每张照片都包含了之前所有景点的打卡信息,所以只需要一张最新的照片就可以证明这个旅行者实际上去过所有的景点。

这样就达到了一个效果:存储在区块链中的所有事务都是正确性的证明,而不是事务本身。由于上述证明占用的空间较小,因此可以压缩块的大小。

在此基础上,Mina开发了Dapp——Snapp,可扩展性更强,以隐私为中心。Snapp由智能合约和UI界面组成。由于Snapp基于zk-SNARKs,开发者需要构建证明者函数和相应的验证者函数来生成和处理零知识证明。

作为Snapp的一部分,prover函数直接在用户的web浏览器中运行。当用户与Snapp的UI交互时,用户需要向证明者函数提交私有数据输入和公共数据输入,以生成零知识证明。

零知识证明生成后,不再要求用户提供任何隐私数据输入,保护了用户隐私。验证者函数用于验证零知识证明是否通过了证明者函数中定义的所有约束函数(即数据是否有效),一般由Mina网络进行验证。

在实践中,证明功能是在用户的web浏览器上完成的,生成的零知识证明(验证密钥)会存储在给定Snapp账户的链中,然后发送到米娜网进行验证。

因此,交易生成和数据计算都是在链下完成的,同时这个过程会生成可用于验证交易的零知识证明,而用户的原始隐私数据的隐私性得到充分保护。

Chain只负责验证证书,验证后保存,更新Snapp的状态。

从用户的角度来看,当用户与Snapp交互时,用户通过智能合约的前端UI与之交互。之后Snapp通过prover函数在本地生成用户输入数据的零知识证明。数据可以是私有的(不透明和公开的)或公开的(存储在链上或链外)。

此外,将生成与事务相关的Snapp状态更新列表来改变Snapp状态。之后用户将数据提交给Mina网络,Mina网络会通过Snapp给出的验证器函数对交易进行验证,成功通过后更新Snapp的状态。

比如,用户可以在本地生成自己的征信数据,提交给链家,这样就可以在不泄露自己隐私数据的情况下,获得DeFi系统灵活的征信服务;然而,传统的DeFi贷款服务是以资产的超额抵押为前提的。

这个应用场景的意义在于快速连接多个生态系统的数据和应用,可以是区块链,也可以是链生态。

所以Snapp应用很容易充当链与链之间的桥梁。

3.4.摘要

从以上三个案例来看,Oasis平台是本着模块化分层设计的思想来设计的,所以在设计之初就完成了分层计算和共识。

Arweave和Mina的相似之处在于,它们使用分层解决方案来主动分离计算和存储功能。比如Arweave的SCP和Mina的Snapp都是公链跑了一段时间后诞生的。

综上,前者是设计的层次感,后两者是解决方案的层次感。抛开这两种不同路径的整体表现,对于现有的公链来说,解决方案的路径似乎能够更快地完成层层共识、计算和存储,并能根据自身特点做出相应的调整。

但如果说分层和模块化会成为近期的发展方向,那么前者的设计结构的改造似乎更能适应时代的需求。

4.只需要4个。Web2.5时代:预言机也许很难预测Web3.0未来会是什么样子,但毫无疑问的是,Web2.0时代的数据和应用将在通往Web3.0时代的路上共存,并将与Web3.0不断融合,3354个数据将在所谓的新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机器是将区块链之外的信息写入区块链的机制。其本质是为智能合约提供外部信息的第三方服务。当智能合同请求链外的数据时,Oracle Machine将链外的数据输入到链中。

目前,ChainLink是链中使用最广泛的Oracle协议之一,它以第三方Oracle的方式运行,即当一个在线契约请求外部数据时,契约请求将被发送到Oracle契约,然后Oracle契约将相关事件发送到第三方Chainlink网络,第三方chain link网络将完成外部数据的收集,然后数据将再次通过Oracle契约返回到请求数据的契约。

这种方式的优点是Chainlink提供的第三方Oracle通过预先确定的共识规则来确定结果,可以保证数据传输的安全性。但是,无效冗余(第三方Oracle在直接提供外部数据方面不如API提供者高效)和缺乏透明性(第三方网络无法获知数据源)的存在,导致第三方Oracle仍然面临诸多挑战。

3为了解决第三方Oracle存在的问题,API以第一方Oracle的方式直接把API的提供交给数据提供者运营的Oracle,形成dAPI,通过DAO管理其数据feed。

运行时,dApps订阅dAPIs服务并支付相应的订阅费用,从而获得数据或服务。当被叫数据出错时,它使用赌注池中的资金来支付订阅补偿。

API提供DAPI来提供,各自运行自己的Oracle服务,由API3 DAO付费。

通过质押API3 Token,Stakers为质押池提供保险金,并参与API3 DAO的治理,主要包括选择更好的服务提供商进入聚合器dAPIs。

下行链计算的一个重要点是保证链上数据的可信度。比如链上的数据按照数据来源分为两类,就要保证两类数据的可信度。

API3等Oracle协议的存在保证了链上导入数据的可信度,但是否有更高效的方式将链上导入的数据直接传递到链上进行计算,从而减轻链上的负荷,值得探讨。

提示风险区块链商业模式达不到预期:Web3.0基于区块链、密码学等技术,相关技术和项目处于早期开发阶段,存在商业模式达不到预期的风险。

监管政策的不确定性:Web3.0的实际运营涉及多项金融、网络等监管政策。目前各国监管政策仍处于研究探索阶段,没有成熟的监管模式,行业面临监管政策不确定性的风险。

—————————————————————

请关注每日最新的行业分析报告!

报告归原作者所有,我们不做任何投资建议!

如有侵权,请私信删除,谢谢!

更多精选报道,请访问【官网,有远见的智库】。

广告位
本文来自网络,不代表区块链网站|NFTS立场,转载请注明出处:https://www.qklwz.com/jzb/link/14447.html
上一篇
下一篇

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

返回顶部