# 为什么The Graph对Web3生态演化很重要？

By [MuSun@GibbsDAO](https://paragraph.com/@sunmu) · 2022-04-09

---

1\. 引子
------

最近工作中接触到图神经网络（Graph Neural Network），发现它在社交网络、自然语言处理、计算机视觉甚至生命科学等领域都得到了很广泛的应用。很好奇，为什么它如此强大？

随着相关主题的深入学习，我了解到：人工智能、深度学习、神经网络算法，都深受生物科学、脑科学、神经动力学研究成果的启发，两者之间的交叉领域正在蓬勃发展，仍处于早期阶段。这个学习过程中，我慢慢领会到：**在人类的大脑中，Graph是对外部世界最底层的形式表征**。正是因为Graph够底层、够本质，所以基于它构建的算法和系统在解决各类问题上才有如此强大的普适性。

另外，受朋友圈的熏陶，我会时常看到一些Web3的综述文章。当第一次看到The Graph，就立即被这个项目名称吸引住了。在了解该项目过程中，我总不自觉地会把“生物界中的Graph”和“Web3生态中的The Graph”做对比。我知道，这种类比多数情况下是因为学习者对领域知识理解比较肤浅导致的脑力偷懒行为，但由此引出的结论貌似很有启发性，所以我还是大胆写出来，只要对一个读者大脑里的Graph激活一个连接，就值了。

2\. 生物界里，“智能”如何自下而上涌现？
----------------------

“智能”是什么？**它是面对不断变化的环境，通过采取新的步骤来达到特定目标或解决问题的能力。**

下图罗列出“智能自下而上涌现”过程中的几个关键要素：

![智能涌现的层级结构, by 一泉](https://storage.googleapis.com/papyrus_images/59f3a8d967bff4bddead741842e5c3e1b06b5b94aae0cec066cfb185e14c2c46.png)

智能涌现的层级结构, by 一泉

智能行为涌现的第一步是“**模块化**”（modularity）。就像一个大型组织部署大量专业团队来制造和销售单一产品一样，模块化是一种自我维护的单元，可以通过合作或竞争来实现局部目标，但最终会让集体朝着某个更大的目标努力。

神经动力学和控制论告诉我们：每个模块内部仅仅通过**持续反馈来纠正错误**，就可以实现特定的目标。如我们所知，生物学上的“**内稳态**”（homeostasis）可以使 pH 值等参数保持在特定的范围内。而且，只要细胞在生理上以网络的方式相连接，同样的动力学模式就会在更大的范围内运作。

通往智能涌现之路的第二步是“**模式完成**”（pattern completion），它意味着：网络中编码信息有能力用简单的信号催化复杂的结果。也就是说，模块中有某个特定元素能**激活**整个模块，让模块的其他成员开始行动并完成模式。下图更简洁地表述神经回路中存在的模式完成，其中一小组连接的红色神经元可以存储特定功能的记忆：

![这里可以看到：A）独立的神经元没有突触连接；B）神经元1、3和5被外部输入同时激活，这形成并加强了它们之间的突触连接；C）当输入停止时，神经元的活动也停止了（然而，这三个神经元之间的突触连接仍然存在；这些神经元形成了一个模块，它们的相互连接决定这个模块如何活动）; D）一个输入激活了最初的三个神经元中的一个，但连接激活了所有三个神经元，完成了整个模式；E）即使输入电流已经结束，神经元仍然保持活跃，实际上，储存了输入的记忆。](https://storage.googleapis.com/papyrus_images/e2099a77892c2620043bc4ab8a41cf3bd0a72a0d6573f54e50021591367dea3d.png)

这里可以看到：A）独立的神经元没有突触连接；B）神经元1、3和5被外部输入同时激活，这形成并加强了它们之间的突触连接；C）当输入停止时，神经元的活动也停止了（然而，这三个神经元之间的突触连接仍然存在；这些神经元形成了一个模块，它们的相互连接决定这个模块如何活动）; D）一个输入激活了最初的三个神经元中的一个，但连接激活了所有三个神经元，完成了整个模式；E）即使输入电流已经结束，神经元仍然保持活跃，实际上，储存了输入的记忆。

神经元模块可以被组织成**层级结构**，模式完成支持层级结构中相同层级和不同层级模块之间的连接，将它们编织成一个个单独的系统，其中更高层级的模块编码象征更加抽象的实体。**下层模块中的关键神经元可以被上层神经元激活，反之亦然**。例如，我们脊髓中较低水平的神经元群可能会激活肌肉纤维，并处于运动皮层中较高水平的集群的控制下，它们能够更抽象地编码所需的运动（“改变腿的位置”）。反过来，这些运动皮层的集群可以再次被高阶神经元控制（“做单足旋转运动”），这些神经元可以被脑前额叶外皮中表征行为意图（“进行芭蕾舞表演”）的神经元群控制。

生物使用神经元集群作为计算模块，在不同层级上执行不同的功能，而不是一次一次地指定和控制每个元素。这种抽象程度的不断增加，可以帮助解释认知和意识作为涌现的功能特性是如何从相对简单的神经硬件中产生的。这种**层级涌现**的强大想法也是计算机科学中分层神经网络模型的基础，神经网络算法之所以被命名为“神经”，就是因为受到神经回路的启发。

3\. 从Network到Graph的映射
---------------------

这里插入一段，解释一个常见问题：术语“网络(Network)”和“图(Graph)”有什么区别？

![Graph v.s. Network](https://storage.googleapis.com/papyrus_images/3b4e18c0cbfeb0ebabc5b7701806311cd8aec9d6c10a1a27a31e81b0c4dd0889.png)

Graph v.s. Network

在科学文献中，术语Network和Graph可以互换使用。然而，这两个术语之间有一个微妙的区别：组合 {network, node, link} 通常指的是真实系统，例外：WWW是一个由URL链接Web文档的网络；社会是一个通过家庭、友情或工作关系联系起来的个人网络；代谢网络（metabolic network）将细胞内的所有生化反应表示为一个网络，反映了所有参与代谢过程的化合物之间及所有催化酶之间的相互作用。相对而言，当我们讨论这些网络的数学表示时，会使用组合 {graph, vertex, edge} 。也就是说，当我们将真实的现有系统建模为图结构时，倾向于将其称为“网络(Network)”；而当我们谈论抽象实体时，无法映射到现有的、真实的实体世界现象时，倾向于将其称为“图(Graph)”。

下面摘录的这段文字，从脑神经科学的角度阐释了区分两者的物质基础：

> _神经回路可能产生什么类型的特性？因为神经元可以相互激活，神经回路可以产生独立于外部世界的内部活动状态。一组相互连接的神经元可以自动激活彼此，并在一段时间内一起变得活跃，即使外界没有发生任何事情。这或许可以帮助我们将人类心智中的概念和抽象理解为，由神经元集群组成的模块的内源性活动。_
> 
> _用这些内源性活动状态作为符号，演化就可以建立对现实的形式表征。它可以操纵这些状态，而不是操纵现实，就像我们通过定义数学术语来探索对象之间的关系一样。从这个角度来看，正如康德在《纯粹理性批判》中提出的观点的要旨所言，神经系统的演化代表了一个新的形式世界的出现，一个象征性的世界，它极大地扩展了物质世界的可能性，因为它给了我们一种在精神上探索和操纵它的方法。_

4\. Web3生态中的The Graph
---------------------

![By FIG.X](https://storage.googleapis.com/papyrus_images/3ac0dd715783f4c86376feb61305ed1a53f1107a0e5768575620408aff4aaf8e.png)

By FIG.X

做为人类世界的数字虚拟镜像，互联网正在迎来第三次升级。Web3.0有着宏大的愿景：它以个人数字身份、数字资产和数据完全回归个人为前提，打造自动化、智能化的全新互联网世界，这一过程需要包括区块链、人工智能和物联网在内的多项技术的共同探索。

但这并不容易！尤其是当今世界面临诸多全球性的政治、经济、文化问题，最近几年涌现的不稳定因素，更是雪上加霜。\*\*如何面对不断变化的环境，通过采取新的步骤来达到Web3.0的远大目标？\*\*这需要人类领会“生物界如何自下而上涌现智能”带来的启发，构建类似的系统机制来给Web3生态注入生生不息的活力。

在笔者看来，[The Graph](https://thegraph.com/) 项目就非常契合这个构建路径，而且它目前的系统实现和经济模型也能看到上文中谈到的“自下而上智能涌现”中的几个关键要素“**模块化/内稳态、持续反馈/纠正错误、模式完成/激活、层级结构**”。下面，我们就以“一边摘要简介，一边对照映射到上述几个要素”的方式，认识一下The Graph项目：

### 4.1 系统实现

![What's the Graph? All data is stored and processed on open networks with verifiable integrity. The Graph makes querying this data fast, reliable, and secure.](https://storage.googleapis.com/papyrus_images/fbad8bd118d522e310c9264f5232894e14545caec358e0b7d5122156dc105bdd.png)

What's the Graph? All data is stored and processed on open networks with verifiable integrity. The Graph makes querying this data fast, reliable, and secure.

> _The Graph是一个用于\*索引和查询区块链数据的Web3协议_。自2020年12月推出The Graph网络以来，The Graph社区的核心贡献者一直在努力加强和改进该协议，以使用户能够以**可验证**和**去中心化**的方式访问区块链数据。\*
> 
> _开发者可以在自己的基础架构上运行一个Graph节点，也可以在我们的托管服务上开发一个。其中，开发者构建和部署从Web3数据源提取数据并为其编制索引的\*子图 (Subgraph)_ ，并通过**GraphQL开放式API**对外提供服务。\*
> 
> \*The Graph 目前支持对 **31个不同网络**的数据进行索引，包括 Ethereum、NEAR、Arbitrum、Optimism、Polygon、Avalanche、Celo、Fantom、Moonbeam、IPFS 和 PoA，更多网络即将推出。迄今为止，已在托管服务上部署了超过**38,000个子图**，现在子图可以直接部署在网络上。超过 **28,000名开发人员**为 Uniswap、Synthetix、Zora、KnownOrigin、Art Blocks、Gnosis、Balancer、Livepeer、DAOstack、Audius、Decentraland 等应用程序构建了子图。\*

![The Web Stack, by Edge&Node](https://storage.googleapis.com/papyrus_images/82050694a72c636522c86744c50153030b520e9ebdf1e7b9eb3904409d8a384e.jpg)

The Web Stack, by Edge&Node

在Web3目前的协议栈中，**The Graph处于协议层承上启下的腰部位置**，而且像它这样面向应用开发、无准入许可、分布式的索引&查询服务协议项目，目前非常稀缺。

The Graph中，子图(Subgraph)是非常核心的概念。它是面向特定应用场景开发的一组API接口的集合名称，后面介绍的经济模型中，相关角色都是围绕一个特定的子图展开工作的。这里要对照强调三点：

*   子图(Subgraph)就是**模块化**的另一种叫法，有特定的目标，又自我维护；
    
*   子图的抽象粒度不受限制，可细可粗；一个子图可以基于其他子图来构建，类似乐高积木。因此，The Graph可以并且已经构建出复杂的**层次结构**；
    
*   遵循The Graph构建子图服务，都是通过调用相对稳定的API接口来完成的，这也暗合了“**模式完成/激活**”原语。
    

笔者认为，正是因为具备这些智能涌现的核心要素，才使得The Graph在推出主网一年多的时间里如此迅猛发展，子图和开发人员过万，月查询量超过百亿级别。

### 4.2 经济模型

> _下面是与The Graph系统交互的几种角色，他们的参与保证了协议的正常运行，经济模型也激励他们这样做：_
> 
> *   **_用户(Comsumer)_**_：用户向索引器支付查询费用。他们通常是终端用户，但也可能是集成The Graph的网络服务或中间件._
>     
> *   **_索引器(Indexer)_**_：索引器是Subgraph的运行节点。其动力是赚取财务奖励。_
>     
> *   **_策展人(Curator)_**_：策展人使用GRT代币来指明哪些子图值得索引。他们通常是开发者，也可能是支持他们在使用服务的终端用户，或者纯粹出于经济动机的一种角色。_
>     
> *   **_委托人(Delegator)_**_：委托人向某个Indexer质押GRT代币，赚取一部分通货膨胀奖励和费用，他们无需亲自运行一个Graph节点。这类角色主要出于经济动机。_
>     
> *   **_渔夫(Fisherman)_**_：渔夫们时刻检查查询响应是否正确，以此保护网络。渔夫动机是利他的，因此The Graph将率先为网络提供渔夫服务。_
>     
> *   **_仲裁员(Arbitrator)_**_：在争议解决期间，仲裁员决定是否对索引器进行罚没。他们可能出于经济或利他动机。_
>     
> 
> \*在The Graph网络中，任何索引器都能够通过\*\*抵押Graph代币（GRT）\*_参与到网络中，并在提供查询服务的过程赚取费用和通货膨胀奖励。用户则按照使用次数进行付费，使用日益增长的索引器，此做法证明了市场供需规律同样适用于该协议提供的服务。_

虽然实现一个Subgraph物理节点无需准入许可，但是是有运营成本的。一个子图的受欢迎程度、生命周期完全是由市场供需关系决定的。The Graph没有在整个项目层面去构建管理机制，而是比较节制地把经济模型限定在Subgraph内，对所有参与角色围绕着Subgraph来定义职能的，他们之间的经济利益是通过智能合约来保障。发现了没有，这是不是非常有利于在**模块化的Subgraph**内，自发地协同进行问题的持续反馈/纠正错误，从而达到**能给用户带来价值的内稳态**？！

### 4.3 未来方向

> _2022年3月，The Graph基金会公布了研发路线图(R&D Roadmap)。这是_**_一个由世界各地的贡献者_**_执行的合作计划，包括Edge & Node、StreamingFast、Figment、The Guild、Semiotic AI、GraphOps、LimeChain、BlockScience、Prysm Group和其他独立研究人员。该路线图是由这些团队协同研究和设计构建出来的，旨在加强The Graph网络，以满足应用程序开发人员和消费者的数据需求。_
> 
> _该路线图中详述的发展包括：索引性能和Firehose流架构的重大改进，新的数据源和链支持，为可扩展的状态通道和可验证的查询进行SNARK证明的工作，索引人和策展人机制的升级，第二层区块链的扩展，更多的网关、子图开发者体验的改进，索引人工具的优化等等。此外，该路线图中的一些里程碑也将使以太坊去中心化应用开发者在实施以太坊客户端升级EIP-4444后能够访问历史数据。_

详细阅读这个[路线图](https://thegraph.com/blog/roadmap-2022)，可以了解到这是一个全面、务实的研发计划。它规划了五个多团队协同的工作组，分别聚焦在五个重点工作领域：

*   **性能**：数据架构和APIs升级、多数据源多链支持
    
*   **可信**：可验证的索引和查询、可扩展的状态通道（基于零知识证明）
    
*   **活力**：经济模型升级、基于AI的协议模拟演练
    
*   **可靠**：运维自动化、多模块工程化升级
    
*   **实用**：索引器运营工具优化
    

当概览这个路线图时，你会发现五个工作组的脑图之间存在多条连线，这其实是表明各个工作组之间有许多相互依存的关系。有趣吧？！The Graph的工作计划依然遵循着项目的设计哲学，Roadmap仍然是一个Graph :-)

5\. 总结
------

本文从“生物界自下而上涌现智能”的描述过程中，提炼出“**模块化/内稳态、持续反馈/纠正错误、模式完成/激活、层级结构**”几个关键要素。在此基础上，一边对Web3生态中的核心项目The Graph进行了简介，一边也对照说明了这些要素在The Graph中的体现环节，进而说明该项目必然会发展壮大的深层原因。

另外，本文只是在Web3数据协议层的技术项目上，做了一次上述关键要素类比对照，但笔者隐约觉得在Web3更上层、更抽象的层面，例如DAO或DAO联盟的实践，这种类比思考依然可以做为**判断一个项目是否具有生命力的辨识方法论**。

Web3是互联网的又一次升级换代，同时它也面临着一个充满挑战和不确定的时代。在这个大环境下，敬畏大自然的演化史，尊重生物界自下而上涌现智能带给我们的启发，才可能带来对人类社会真正有价值的变革和创新。同时可以肯定的是，Web3这辆滚滚向前的列车上一定有这四个车轮：**开放、透明、信任、连接**。

### 参考文献

*   [https://aeon.co/essays/how-evolution-hacked-its-way-to-intelligence-from-the-bottom-up](https://aeon.co/essays/how-evolution-hacked-its-way-to-intelligence-from-the-bottom-up)
    
*   [https://bence.ferdinandy.com/2018/05/27/whats-the-difference-between-a-graph-and-a-network/](https://bence.ferdinandy.com/2018/05/27/whats-the-difference-between-a-graph-and-a-network/)
    
*   [https://edgeandnode.com/blog/defining-the-web3-stack](https://edgeandnode.com/blog/defining-the-web3-stack)
    
*   [https://blog.coinbase.com/understanding-web-3-a-user-controlled-internet-a39c21cf83f3](https://blog.coinbase.com/understanding-web-3-a-user-controlled-internet-a39c21cf83f3)
    
*   [https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application)
    
*   [https://thegraph.com/blog/the-graph-network-in-depth-part-1](https://thegraph.com/blog/the-graph-network-in-depth-part-1)
    
*   [https://thegraph.com/blog/roadmap-2022](https://thegraph.com/blog/roadmap-2022)

---

*Originally published on [MuSun@GibbsDAO](https://paragraph.com/@sunmu/the-graph-web3)*
