
1.2.2 Web 3.0技术堆栈
Web 3.0这个概念最初由HTTP的发明者蒂姆·伯纳斯·李在互联网泡沫时期提出,是指一个集成的通信框架,互联网数据可以跨越各应用和系统实现机器可读。Web 3.0通常也被称为语义网(Semantic Web)。到2014年,以太坊联合创始人、波卡链(Polkadot)创建者Gavin Wood重新定义了Web 3.0,明确指出区块链技术可以基于无须信任的交互系统在各方之间实现创新的交互模式。到目前为止,Web 3.0仍未有标准定义,但有如下一些基本关键词。
去中心化(Decentralization):去中心化指去中心化服务器的P2P网络。在Web 3.0中,信息可以分散存储在多个位置。这将打破目前Meta和Google等互联网巨头对大量数据库的垄断,将更大的控制权交给用户。同时,各种功能日益强大的计算资源(包括手机、台式机、电器、车辆和传感器)生成的数据,将由用户通过分布式网络进行交易,保障用户对数据的所有权和控制权。
去信任化与无许可化(Trustless and Permissionless):除了去中心化,Web 3.0还将实现去信任化(网络将允许参与者直接交互,而无须通过受信任的中介机构)和无许可化(任何人都可以在没有管理机构授权的情况下参与)。因此,Web 3.0的应用程序将在区块链或分散的P2P网络上运行,这些分散的应用程序被称为DApps。
人工智能与机器学习(Artificial Intelligence and Machine Learning):在Web 3.0中,通过基于语义的Web概念和自然语言处理技术,计算机将能够理解人类语言。Web 3.0还将融合区块链和机器学习,提供可信的数据和计算来提高模型与参数的准确性,这是人工智能(AI)的一个分支。这些功能将使计算机在药物开发、新材料研发等领域产生更深远的影响。
连通性与无边界网络(Connectivity and Ubiquity):随着Web 3.0的出现,信息和内容变得更加互联和无处不在,越来越多的日常设备连接到Web,如物联网。纽约大学讲师和数字艺术家Mat Dryhurst表示,过去由于每个社群、网络平台政策不同,形成了信息的WalledGarden(高墙花园),虽然使用户拥有自身数据,却无法随心所欲地交易、获取和使用;而在Web 3.0中,用户将真正拥有数据的控制权和所有权,释放数据资产的价值。
Web 3.0的基础设施基于区块链技术,Gavin Wood将Web 3.0的技术栈定义为由L0~L4组成的5层架构系统,如图1-3所示。

图1-3 Web 3.0技术栈
(1)Layer 0(L0):基础设施和网络层,为L1层提供了P2P网络覆盖技术及与平台无关的标准化组件。
点对点互联网覆盖协议(P2P Internet Overlay Protocols):一个允许节点以分散的方式进行通信的网络安全套件,主要有DevP2P和LibP2P。
平台中立的计算描述语言(Platform-neutral Computation Description Language):一种在不同物理平台(架构、操作系统等)上执行相同程序的方式,如EVM、比特币账户模型(如UTXO)和网络装配(WebAssembly,Wasm)虚拟机。
(2)Layer 1(L1):区块链协议层,提供了底层区块链系统。
数据分布式存储协议(Data Distribution Protocols):描述数据如何在去中心化系统的各节点之间分配存储和交换的协议,如IPFS、Swarm和BigchainDB。
零/低信任度交互平台(Zero/Low-trust Interaction Platforms):例如,Polkadot(波卡链)采用了一种异构跨链技术,由许多具有不同潜在特征的平行链组成,这使匿名或形式验证更容易实现,同时可以在同一时间段内处理更多交易,将交易分散在链中。波卡链确保这些区块链中的每个链都保持安全,并且它们之间的任何交易都得到忠实执行。此外,可以创建专用平行链(桥)来连接独立的链。
零/低信任度交互协议(Zero/Low-trust Interaction Protocols):描述不同节点如何相互作用并信任来自每个节点的计算和信息的协议。大多数加密货币,如比特币和ZCash,符合零/低信任度交互协议的定义,它们描述了节点参与协议需要遵循的规则。
瞬时数据发布/订阅信息传递(Transient Data Messaging):描述了如何传输不打算永久存储的数据(如状态更新),以及如何让节点意识到其存在的协议,如Whisper和Matrix。这些协议提供了快速传输短暂信息的能力,使节点可以快速、有效地响应数据变化。
(3)Layer 2(L2):增强了Web 3.0协议栈中L0层和L1层的能力,主要提升了区块链的可扩展性、加密消息传输和分布式计算等功能。L2层的解决方案由以下功能组成。
状态通道(State Channels):状态通道的扩容原理主要基于链下交互和链上清算,它的主要目的是避免将每一笔小额交易都放在链上进行,只需要在通道内进行链下交易,将最终状态提交到链上即可,减轻了链上工作量。这样,在双方达成共识时,可快速完成清算,实现即时终结性。此外,由于通道内交易速度快、手续费低、隐私性强等特点,它能够提供更好的用户体验和扩展性。常见的状态通道扩容方式包括比特币的闪电网络(Lightning Network)和以太坊的雷电网络(Raiden Network)。这些网络使用智能合约创建了多方参与的支付通道,让参与者可以在通道内自由地进行交易。由于交易是在通道内完成的,因此速度快且手续费低,同时还提高了隐私性。只有在通道关闭时,最终的状态才会被提交到链上进行清算,这样可以显著提高链上交易的吞吐量。
Plasma协议(Plasma Protocols):Plasma是一种区块链扩容技术,它使一系列智能合约通过在根链(如以太坊主网)上运行,形成一个可靠的分层和树状结构框架,将分布式运算规则MapReduce应用于区块链,从而提高区块链的可扩展性。这种扩容方式的思路是将计算任务由上一级分配给下一级执行。子区块提交计算需求,而上一级区块分配计算需求。Plasma协议的实现方式有多种,包括Loom的PlasmaChain和OmigeGOPlasma等。通过Plasma协议可以实现更高的交易吞吐量和更低的交易费用。
加密存储(Encrypted Storage):使用密码学对数据进行数学加密/解密,包括静态(存储在特定的计算机上)和动态(从一台计算机传输到另一台计算机)。例如,静态指的是加密存储,动态指的是加密传输(HTTPS就是一种加密传输)。加密存储主要的案例是Enigma协议,它是一种具有强正确性和隐私保护的无许可P2P网络。
重型计算(Heavy Computation):可以理解为在区块链场景下,如果需要进行大量的计算,可以通过链接算力资源构建分布式算力市场,这是运行计算任务并验证计算正确性的区块链网络。这方面的项目包括以太坊的Golem和TrueBit。
分布式秘密管理(Distributed Secret Management):分布式秘密管理对信息加密,同时对密钥进行分布式秘密共享管理,通过密钥分发机制只允许被授权方访问。典型案例为NuCypher,这是一种分布式、去中心化的密钥管理系统,采用“代理重加密”技术提供数据加密和权限控制服务。
预言机(Oracles):预言机是连接区块链和现实世界的重要工具,它可以将外部信息写入区块链中,实现数据互通,同时允许智能合约对不确定的外部世界做出反应。目前,ChainLink和Oraclize.it是主要的预言机项目。
侧链是与以太坊兼容的独立区块链,具有自己的区块参数和共识模型。这些侧链通过双向桥连接到以太坊主链,使得在以太坊基础层部署的合约可以直接部署到侧链上。另一个热门方案是Rollups,它通过绑定交易,以及在侧链上生成提交给主链的加密零知识证明(SNARK)来提供L2层的扩容方案。Rollups有两种类型:ZK Rollups和Optimistic Rollups。ZKRollups虽然更快、更高效,但不能提供现有智能合约的简便迁移;Optimistic Rollups支持EVM兼容的虚拟机(OVM),可以执行与以太坊上相同的智能合约。
(4)Layer 3(L3):中间件层,即协议开发接口和可扩展库层。
在这一层,开发人员和程序员可以使用可扩展协议的API和开发语言轻松地进行程序开发,以构建更高级别的应用程序。这一层包括的语言有Solidity、Vyper(用于Ethereum)、Plutus(用于Cardano)和Rust(用于Substrate)。此外,还提供了各种开发框架,使开发与区块链互动的应用更容易。例如,ethers.js、web3.js和oo7.js等库可以帮助开发人员更轻松地与以太坊智能合约进行交互和调用。
(5)Layer 4(L4):技术栈顶层,也被称为应用层,涵盖了可扩展用户界面协议,例如,DApp浏览器、去中心化应用(DApp)、区块链客户端/钱包等均基于这一协议实现。
在L4层,普通用户可以通过DApp浏览器或区块链客户端与一个或多个区块链网络/应用进行交互,而无须了解具体的编程知识和技术细节。协议可扩展的用户界面包括诸多项目,例如:①Status为以太坊网络上运行的开源信息传递平台,旨在成为一个可以与区块链网络/应用程序交互的移动端以太坊操作系统;②MetaMask为以太坊开源钱包之一,为用户处理以太坊和ERC-20 Token之间的存储和交易转账,并允许用户在浏览器上安装插件,运行相关以太坊DApps并与以太坊区块链进行交互;③MyCrypto为开源的客户端工具,用于生成以太坊钱包,处理ERC-20Token交易转账,以便更轻松地与区块链进行交互。
综上所述,在Web 3.0技术堆栈的构成中,L2层由底层区块链架构组成,是构建公链,如Bitcoin、Ethereum、Solana、Avalanche、Cosmos等的重要技术支撑。Web 3.0将以区块链为底层架构,以网络及运算、分布式数字身份、分布式存储与隐私计算为核心技术,实现数字身份、资产、数据三者的所有权与使用权的用户回归化,建立用户与平台建设者的平权协作关系,技术的演进将成为Web 3.0时代的确定性趋势。
随着Web 3.0技术的不断演进,Web 3.0生态雏形初显,其应用基本覆盖了Web 2.0的所有领域,但在有效需求的发现与效率方面仍与Web 2.0有差距。虽然存在诸多问题,但Web 3.0的生态结构已逐渐成形,应用涉及游戏、社交、金融、数据等多个领域,与Web 2.0领域呈重合趋势。同时,连接Web 2.0与Web 3.0的混合型应用开始涌现,尤其体现在非同质化代币(Non-Fungible Token,NFT)与游戏领域。就发展路径而言,Web 3.0的L1层主要以以太坊架构为主,一些新公链逐步兴起,L2层主要呈现多点开花的多链并存应用格局。Web 3.0生态结构如图1-4所示。

图1-4 Web 3.0生态结构
Web 3.0的生态结构自底向上可分为存储层、计算层、身份与社交层、协作层及应用层。
在存储层,Web 3.0为保证个人数字资产的绝对所有权,需要将数据进行去中心化存储,目前已有成熟方案,如Filecoin、Arweave等。同时,也出现了细分领域的解决方案,如针对智能合约状态存储的Ceramic Network。
在计算层,Web 3.0通过去中心化计算处理业务逻辑,主流解决方案为支持EVM的Ethereum和通过改进共识实现更高性能的EVM公链(如BSC、Avalanche)。同时也出现了不支持EVM的解决方案,如使用Wasm虚拟机的Polkadot、使用Saber共识算法的Solana等。
在身份与社交层,Web 3.0为保证个人身份、个人社交关系的绝对所有权,需要去中心化身份、社交图谱、通信工具的解决方案。目前,此层有不少各具特色的方案,如域名服务ENS、提供去中心化的数字身份解决方案Ontology、验证区块链地址唯一性的BrightID、专注可验证数字证书系统的POAP、制作社交图谱的CyberConnect,以及作为Web 3.0地址间通信工具的XMTP等。
在协作层,Web 3.0为保证社区对平台的控制权,需要去中心化的社区解决方案,去中心化自治组织(Decentralized Autonomous Organization,DAO)十分契合Web 3.0的社区控制与治理范式,此层有不少DAO工具协议,如投票协议snapshot、一站式DAO解决方案Aragon等。
应用层又分为“社交+金融”、内容平台、游戏与元宇宙3个子模块,是Web 3.0技术栈的顶层应用,包括DApp浏览器、去中心化应用(DApp)、区块链客户端/钱包等。这些应用使普通用户可以和一个或多个区块链网络/应用进行互动(与今天普通用户在浏览器前端和网页互动一样),用户不需要具有相关的编程知识和了解实现的具体细节。常用的协议可扩展的用户界面项目包括Status、MetaMask、MyCrypto等。
在Web 3.0应用方面,内容平台是最契合的场景之一。Web 3.0让创作者和消费者形成的内容社区在价值分配上得到话语权,从而抹除平台寻租成本,更直接地激励创作者,代表性的Web 3.0内容平台项目包括Audius。还有一个重要的Web 3.0应用场景是SocialFi。个人身份的绝对所有权使平台间的“围墙”不复存在,个人身份得到跨平台聚合,释放出大量真实、可验证的身份信息。因此,社交应用可以更高效地进行匹配和金融化。
游戏也是Web 3.0的重要应用领域。相比于传统游戏,Web 3.0游戏拥有更完整的经济系统,以及更丰富的用户生成内容,并且在开放互通性方面也有了较大的进步。代表性的Web 3.0游戏项目有Axie Infinity和The Sandbox。
“Web 3.0”与“Web3”通常被视为同一概念,即基于区块链技术构建的未来去中心化互联网,实现去中心化金融(DeFi)、去中心化应用(DApp)等创新应用。
在某些背景下,这两个术语反映了不同的侧重点:
· “Web 3.0”倾向于表示互联网的第三个发展阶段,着眼于人工智能、区块链和物联网等技术实现去中心化、智能化,以及具有安全性和隐私性的下一代互联网。
· “Web3”则倾向于表示去中心化网络的技术和协议,并强调区块链如何改变互联网的基础架构及用户与服务器之间的交互方式。
简而言之,Web 3.0是未来互联网发展的重要方向,而Web 3.0是实现Web 3.0的重要技术方案。在本书中,为了避免术语使用中产生的歧义,我们统一采用“Web 3.0”这一术语表示构建一个安全、开放、自由和智能的互联网世界。