为什么Web3.0需要区块链

为什么Web3.0需要区块链

撰文:Mike Tang,Lester Li本文是《Web3.0 Explorer》系列的第二篇,第一篇是:《对 Web3.0 概念的梳理》。本文也会承接上一篇的理念继续探讨。由于作者水平有限加上目前行业仍处于发展的启蒙阶段,故本文很多地方也只是略作提及,并不深入。让我们简单回顾一下上一篇文章的核心思想:Web2.0 平台由公司拥有,Web3.0 平台由社区拥有。对这种理念细化作图如下:Web2.0 Platform IllustrationWeb3.0 Platform Illustration相对于 Web2.0 平台,Web3.0 平台核心部分有如下一些参与方:也就是说,Web3.0 平台对于 Web2.0 平台来说,平台已经不再是归一家公司所有了,它存在一种组织形式的进化。对平台来说,组织形式的进化是全面的:既有内部的组织形式进化,也有与外部关系的组织形式进化。我们下面提到的几个词汇:项目,平台,应用,Web3.0 App,这几个词,除非特别指明,默认都表达同一个意思。先来说说项目内部的组织形式进化。项目会保持一个精简的团队规模,只包含最必要的几个组成部分:除了上述核心人员,所有的岗位都可以开放给社区。也就是说社区可以共同参与项目的推进。比如:采用这种与社区共同协作的形式,可以改变传统企业研发和市场推广的打法。也就是说,公司制的形式可能会被冲击。我们对项目的成本做了一些分析:这些节约出来的成本,可分配给平台上真正的价值创造者。然后讲讲项目与用户的关系变化:然后讲讲项目与资本方的关系变化:也就是说,在平台达到稳定成熟阶段后,平台本身的首要服务对象,是平台的价值创造者,而不再是 Web2.0 中的投资人大股东等。最后,只有影响力投资能留存下来。这里需要注意一个问题。我们这里说的社区拥有平台,不是将团队彻底打散,完全利用社区的形式进行项目的去中心化运维。创始团队股份占比不需要太多,但是作用依然非常重要。创始团队的综合能力仍然是一个 Web3.0 项目能否创业成功的首要因素。在整个项目的发展过程中,扮演核心推进和核心决策的角色。完全去中心化的链上治理不可取,效率极其低下。我们不能从一个极端跳到另一个极端。如果人类社会能用投票解决一切问题,那么人类社会就不会如此复杂。我们甚至可以将这种组织治理形式称作弱中心化治理。前面我们已提到 Web3.0 项目的组织形式(相比 Web2.0 项目)会发生一些变化。而利益的分配与组织形式密切相关。有没有什么工具能支撑这种新的组织形式架构呢?新的模式呼吁新的解决方案。区块链其实提供两大核心能力:这两个能力是建立在区块链的各种基础特性之上,因为我们这里谈的是更高一层的概念,基础特性不再赘述。也就是说,将区块链做为一个底层的利益分配系统,在区块链之上,可以下面我们分别讲述一下这三点。区块链本身具有开放性。因此以区块链为基础设施的 Web3.0 系统,在基因层面就拥抱开放性。在区块链系统之上,能建立起有效的新型的适应于 Web3.0 特征的开放组织形式。由于协议(代码)的开放性,协议内容能被各方无条件验证。分配方式属于整体协议的一部分,因此也被各方无条件信任。协议的内容经过治理是可以变化的,每次变化都会开放地清晰地呈现到协议中。分配方式在一定时期内会保持稳定性,变动不会特别频繁。各方对协议都信任,也就达成了共识。一旦分配规则明确定义下来,就会落实到链上代码。区块链的基本特性,保证链上代码在各个节点安全可靠地执行。如有分配规则的改变,也会更新在链上,各个节点升级协议,节点间的共识协议保证新的升级安全可靠地执行。综上分析,区块链对于 Web3.0 至关重要,是 Web3.0 应用的必备基础设施。需要说明的是,区块链技术本身,在其它领域可能有其它用途,不过这些不是本篇讨论的对象。前面论述过,区块链是 Web3.0 应用平台的组织形式和利益分配的的基础设施,这其实隐含了两个基本元素:账户用于区分参与主体,Web3.0 App Token 即为传统期权 / 股票的映射。作为鼓励社区参与的一种手段,每一个 Web3.0 App 区块链都可以有自己的 Token。特别是对于验证节点参与方来讲,获得 Web3.0 App 的 Native Token 几乎是必备的激励措施。在开放协议下,要吸引其它节点来做验证,提供安全性服务,本身对于这些节点参与方是有成本的。必须有某种机制对其进行激励,且能保证一定的利润,才能让这个开放的系统平稳运行下去。从这个意义上来说,本地 Token 对于 Web3.0 App 来说,是必须的。类似传统的主权货币有汇率兑换,不同的 Web3 App Token 之间也有汇率兑换。大体来说,都可以以稳定美元为基准进行汇率换算。类似于传统 Web2.0 企业的薪资加期权的形式,Web3.0 的本地 Token 对应于期权,相应地还应该有一种 Stable Coin,用于项目日常的运营收支。这种 Stable Coin,应该是业界通用的 USDT,USDC 等稳定币,而不是项目本身发行的 Native Stable Coin,项目方不应该发行无法通用的 Stable Coin。Web3.0 App 项目中的 Stable Coin 的获得只能通过以下几种形式之一:项目中的 Stable Coin 的支出包括但不限于如下形式:每一个 Web3.0 App 都应该设计自己的经济体系(这句话有点多余,实际每个 Web2.0 App 也都需要设计自己的经济体系,俗称商业模式。用爱发电,毕竟不可持续)。也就是说,经济体系是一个项目的底层机制的一部分。以区块链为基础设施的 Web3.0 App,能够更灵活地设计自己的经济体系,在这个领域能够激发更多的创新。但是,区块链也不是万能良药。区块链,从诞生之初,就有另外一个名字——分布式账本。所谓账本,也就是记录交易(经济活动)信息的本子。那这么说来,是否可以给出这样一个声明:区块链只应处理经济活动相关的事务。纵观区块链发展的历史(从 2008 年开始),你会发现,几乎所有有效的创新,都属于经济及金融领域的创新,将区块链拓展到其它领域的尝试非常之多,但是成果乏善可陈。可以仔细思考一下,背后是不是有一种内在逻辑性的东西在起作用。将区块链应用到其它领域,会遇到一些原理性的局限。假设我们的区块链有 100 个节点,相比于传统集中式服务,每个逻辑的计算需要计算 100 份,比集中式服务消耗的能源高 100 倍(以上),如果节点更多,消耗的能源也会更多。存储也是如此,对于传统的集中式数据库,加上容灾备份服务,算重复 5 份。而区块链的存储,100 个节点就是 100 份,是传统集中式数据库存储的 20 倍之多。如果有更多节点参与,这个倍数更大。由于加密以及对 Proof 的要求,区块链状态存储采用了如 MPT 之类的结构,存储空间占用比较大,经济效率不高。交易以块的形式链式存储,状态以 MPT 结构 KV 数据库形式存储。与传统 SQL 数据库不同,区块链的存储方式查询能力很弱,效率也不高。传统的 SQL 数据库面向结构化数据的存储和查询的优化做了大量的工作,几十年的发展已经到了非常成熟的阶段,新的进展也在面向分布式扩容等领域进行大量创新,在做到无缝扩容的同时,保证了查询的简单性、一致性、高效性。而区块链一般默认提供的 RPC 接口,只能实现最简单的查询功能。由于以上几个局限性,意图将区块链作为一个通用意义上的分布式数据库是不切实际的。从另一个角度来分析。这个世界的信息除了经济事务之外,还有各种层次的信息。比如一个杯子。它的形状、尺寸、颜色、重量,是否透明,是否有盖子,盖子与杯体的比例,杯子的容量,杯子的材质,是玻璃的,还是不锈钢的,还是塑料的。能否耐高温,如果是不锈钢的,是 304 吗?杂质多少,杯子的生产日期如何,从哪里寄过来,哪个快递公司寄的,什么时候收到的。杯子上的印刷工艺是什么,印的什么字,什么颜色的图案,设计师是谁。杯体与盖子之间的橡胶垫是什么材质的,有效期限是多久。是在家里用的,还是办公室用的,还是车上用的。主要用于喝水,还是咖啡,还是茶。杯子是否好洗,喝茶是否容易沉积茶垢。杯子热传导性如何,是否带隔热垫。是不是一套杯子中的一个,如果是,他的兄弟杯子与它有没有差异,如果摔坏一个,是否有补发措施。加了热水后,杯子膨胀率是多少。更不要说,加了热水后的杯壁中的分子运动学数据了。诸如此类,等等等等。由一个事物扩展开来,信息在各个层次上是无穷无尽的。这些信息,是事物的固有属性,或者叫内在属性。它们跟经济事务是没有关系的,是事物的本身的信息。经济是外在属性,或者叫社会属性。经济是社会的产物。区块链的几大局限性,导致其不可能用于存储这些无穷无尽的事物的固有属性数据,而只应该用来存储经济事务相关的数据。这也呼应了分布式账本的初始叫法。如果不能将完整信息存储在区块链中,那么存在哪儿呢?业界在这一块也有非常多的探索。比如 IPFS 项目,目标是分布式存储;比如 Arweave 项目,目标是永久存储。它们都可以与区块链进行配合,在区块链的账户和交易数据相关对象中存储一个外部数据 blob 的 hash 值,就能够实现数据关联,关系绑定。这种模式目前已经被大量的项目所采用。下文我们将这一类用于存储大量数据的基础设施统称为分布式存储或 Distributed Storage (DS)。但是这种模式仍然有很多细节问题需要面对:业界很多项目在这些方面努力进行着探索,相信这是合理的方向。这种数据的分离,会带来软件架构上的变更。区块链的存储和链上逻辑处理,只应负责经济事务相关业务,其它数据和业务,应该在链下进行处理。理由如下:链下处理的结果,如果与经济事务相关,则应提交给链上进行后续处理。如果与经济事务无关,则应直接存取 DS。于是,现在存在两个逻辑处理引擎:一个在链上,一个在链下。这两个引擎如何完美的协作、维护、版本升级,其实是相当大的问题。我们看到,业界也开始有相应的解决方案了。比如 Substrate 中的 Off-Chain Worker (OCW)目的就是要解决这种集成性和维护性的问题。在整套系统中,为了提高系统执行的效率和稳定性,可能还需要负载均衡,缓存层等组件。下面,我们通过对比画出 Web2.0 App 的系统架构和 Web3.0 App 的系统架构,来帮助读者更清晰地理解。Web2.0 App 架构,以数据库为中心。运行流程如下:Web3.0 App 系统架构,以 Blockchain 和 Distributed Storage 为中心。运行流程如下:这里,我们明确地给出了 Web3.0 App 的一种系统架构,可以发现,这种架构与 Web2.0 App 的系统架构有一定程度上的相似性。不排除 Web3.0 App 还可以有其它的架构模式和计算范式。Web3.0 作为一个新兴事物,必定会与现有的坚固的 Web2.0 生态进行竞争。在不同的行业,发展速度会有所不同。这里简单地就 Web3.0 如何与 Web2.0 进行竞争做一些分析。Web3.0 与 Web2.0 的竞争首先还是要在用户体验上保持一致或者近似,这才是竞争的起点。仅仅靠所谓的分布式、去中心化、更安全、隐私保护、开放等口号,是不足以打动大众主体消费者的。在安全性,隐私性与用户体验之间取舍的话,绝大多数用户会选择用户体验至上(图方便)。所以 Web3.0 应用应该同样在用户体验上下足功夫,尽量做到与 Web2.0 应用的用户使用习惯保持一致,以便平滑过渡至新的更好的综合体验。但也不能为了用户体验就放弃 Web3.0 最基本的要求——安全。总的来说,是对应用开发的要求更高了。在达到了相似的竞争起点的情况下,Web3.0 相比于 Web2.0 平台具有如下竞争优势:但在初期,也会有一些问题需要研究,比如:如果 Web3.0 平台如我们分析的那样,确实非常有竞争力。那么最终同样有可能发展成(在某一个领域的)垄断平台。理论上来说,处于垄断地位的组织,一定具有寻租的动力。那么,Web3.0 平台,能否应对这种内在挑战呢?区块链的可分叉性和正统性要求,有助于解决这一问题。前文我们给出了 Web3.0 App 的系统架构,现在结合区块链的可分叉性,我们其实多了一个要求:DS 组件的开放性。也即这个数据存储组件不能与唯一的区块链绑定,而是应该允许所有此区块链的分叉都应该拥有 100% 功能的存取访问能力。这个要求,应该在 Web3.0 系统设计之初就作为一个预置策略而存在。这个策略,本身就是一种威慑力量,用来限制 Web3.0 系统的治理机构的做恶动机。在这个领域的探索应该会有一些非常有趣的成果出现。本文论述了区块链作为承载 Web3.0 应用组织演化和利益分配的核心载体,对于 Web3.0 应用是不可或缺的部分,Web3.0 需要区块链。本文还就 Web3.0 App 系统架构、Web3.0 的竞争优势、Web3.0 平台的寻租问题,做了简要探讨。