Web3 真的(够)去中心化吗?

今天大家似乎都在谈论 Web3, Web3 也确实在过去的几年间茁壮发展起来了。目前仅 Metamask 一款 Web3 兼容钱包就已经有接近 1600 万用户( Mozilla AMO, Chrome Web Store 加起来),可以说整个 Web3 的用户社群已经相当广大。同时,区块链驱动的各种互联网服务,也打破了不少人对区块链是一个缓慢的、复杂的系统的刻板印象。诸如 xlog 之类的网站允许用户在存储区块链上发布内容,并通过签名保持所有权、一致性。颇有一点去中心化的风味在了。

不过,笔者却注意到可疑的一点:科技巨头对 Web3 的概念似乎有点过于青睐,到了不正常的程度。要知道,像 Google 这样的科技巨头使用过 3E 战术来击溃去中心化网络;而我更难想象 Meta 这样的企业有什么理由去支持去中心化。笔者从来没有听说过有任何一家科技巨头,对广泛公认的去中心化项目,譬如 I2P1, 譬如 Fediverse 有过大力资助(当然如果真的大力资助,那估计他们也怀抱着想要控制这些项目的坏心),然而 Web3 却恰恰是在一大堆资本主义势力的高度参与下鼓吹起来的去中心化——这真的远远比它表面上看起来要可疑得多。同时 Web3 鼓吹的其他许多概念,譬如一种新的民主,也是十分可疑,甚至令人担忧的。

一点基本常识

现在是 2025 年,大家基本上都明白什么是区块链了。区块链的本质是一个不断延长的、每个节点包含上一个节点哈希值的链表2;而整个链表分散在一个全球计算机的数据库中。不过,像这样的区块链貌似仍然只有经济上的作用,即可以用来付账。(当然,所以付账的并非区块链上的一个哈希值本身的价值——那是并没有的,而是一种经济现象;或者说是“股价”)区块链的长度,也可以叫区块高度;参与这个全球链表的计算机并非无偿劳动,所以它们会得到 “proof of work”, 所谓的挖矿便是如此(有所简化)…… 不过,既然是一个全球链表,您可以想象到它会有多么的繁杂。

去中心化,同时,也就发生在这个全球链表上:很简单,因为计算机们是分布开来的,而可以视每个区块链节点都持有整个链的数据,确实也就是没有中心的。并且,拥有交易的加密地址由用户生成,并不一定与用户的身份相关联,也可以视为一种匿名。

不过这和去中心化互联网还有些距离

您可能会好奇,这样一个不断延长的账本,对于想要获得去中心化互联网的人有什么好处呢?一种想当然的做法是:把账本里的交易信息添加上互联网的数据——但那就意味着网络中每个计算机都会持有整个互联网中的数据,比如各种推文、博客、文件;当然可以通过加密来保护安全,但存储量将会始终大到不可估量。作为参考:整个 Etherum 的存储量目前也才 1TB 多一些。

所以,Web3 的实际原理是和 IPFS3 ,智能合约4结合。(坦白说,如果您对加密货币领域稍作了解,您会发现这里的专业术语简直多到能单独出一本小册子)这样一来,它就能够让用户用自己的私钥签名想要发布的内容以后,把它上传到一个去中心化的网络(值得注意的是,这个网络是 IPFS, 并非区块链);并通过智能合约把这样的签名传遍五湖四海,确保它的一致性。

Gateway: 这好像不十分去中心化

然而,一个去中心化的互联网,不可能要求每个访问者和发布者都持有一大堆硬盘来存储网络的全部/大部分数据,或者直接接入 IPFS 网络、成为 Etherum 矿工(否则,它将比 I2P 还要慢),这一点前文已经提过。所以,必然会存在一个“代办理”存储的问题。也就是说,尽管底层的逻辑上确实是 IPFS 去中心化存储,以及智能合约…… 但是!在实际的、大量的终端用户,他们还是要和一个中心化的,类似于“网关”的服务器进行交互,从而获得具体想要的数据。而事实上,目前的大部分所谓链上信息服务也确实如此。

信任问题就此产生了。当然,从技术上讲,固然可以说因为底层是区块链,数据确实分散开来了;然而对于一个本身无意于参与区块链挖矿和 IPFS 分发的用户来说,这样的去中心化实际上还是充满了对信任的需要的。要知道,像 Google 这样的公司也会将用户的数据存储在它的分散在全球各地的服务器上,科技巨头的内部也去中心化,为了降低风险和提升容灾能力,然而一个 Google 用户绝没有理由认为自己正在使用一个去中心化的服务,因为 Google 的去中心化是对 Google自己,而非它的用户的去中心化。同样的,当绝大多数的终端用户在使用网关而非直接参与(甚至整个 Web3 项目设计本身就不允许终端用户参与这个网络,而只允许他们使用,在最糟糕情况下,一个特定的、商业的网关)来访问 Web3 的种种服务的时候,他们和使用 Google 没有本质的区别,都是相信对方会妥善处理(即:分散式地、有良知和尊重地存储和运送)自己的数据。最好的情况,也不过是网关由一个非营利的、有良知的机构运行。可是如果那样,直接使用一个受信任的非营利组织的服务,不是还更方便一些吗?

或者说像 I2P, Bittorrent 以及 IPFS 本身这些都是去中心化的,没有疑问。但 I2P 用户可以在本地运行 I2P 程序,Bittorrent 用户可以运行 Bittorrent 客户端,都是直接接入去中心化网络;Web3 中的 IPFS 终端用户,在绝大多数情况下,却要依赖于一个网关的中心化服务器,这从技术上来讲就是值得额外考虑的。智能合约,目的是为了确保一致性和所有权;但关键问题在于,大部分的用户和访问者都不可能在自己的电脑上安装一个巨大的、耗费资源的全节点钱包,因此到底合约有没有可信度,竟然还要看一个中心化的网关说了算。这和 I2P 的信道外公钥验证,甚至 OpenPGP 的指纹对比验证比起来,不知道差了多少。如果我真正需要去中心化,我完全可以买一台树莓派,装上 I2P, 建一个 eepsite 博客,然后把每一篇文章都用我的 PGP 私钥签名后发布。我甚至可以用 I2P 实现完全去中心化(比 Fediverse 还要更分散,因为我可以使用自己的本地服务器而不需要公开自己的公共网络 IP)的聊天、电子邮件。

尤其可疑的“民主”主张

把民主元素带到经济活动中,这根本不是什么新鲜的观念,尤其是对于左翼来说,简直可以说是老生常谈了。合作化,公有制,民主计划经济的设想,OGAS 和 Cybersyn…… 然而,左翼谈论这些的时候,往往是从建设一个更公平的社会的美好愿景出发的;Web3 和所谓的虚拟货币“去中心化自治组织”(虚拟货币 DAO)的“民主”,却似乎向着一个完全相反的、引人担忧的方向。

左翼常常嘲讽资本主义的民主:看似一人一票,实则一元一票。然而究竟还是有个“看似”一人一票,也能算是民主;在虚拟货币 DAO 中,则连这个“看似”也没有了,变成赤裸裸的用钱投票;谁的钱多,谁的诉求也就越有可能得到重视。在此,请允许我引用 invisibleup 的一段论述( Sukka 译)

DAO 中一个常见的投票结构是「平方投票法」。这是为了判断一个人的偏好程度,而不是单纯的二元 是 / 否。通过对每一票收取幂等的货币 / 代币 / 金钱 / 等等(例如:1 票 = 1 美元,2 票 = 4 美元,3 票 = 8 美元,等等)。如果每个被投票的人都有一个固定的、一致的点数来分配给投票,那么这个方法就相当好,但如果把它与货币联系起来,你就会产生大量的问题.

很不幸地,虚拟货币 DAO 中这个投票就是和货币联系起来的。所谓的 “Vote by Token” 最露骨的说法,就是一元一票。如果用于投票的点数是平等而且固定发放、不可交易、不具备货币性质的,那这是非常完美的民主方法,但一旦它具备一种货币性质,简单来说就是买来的,那就等同于公开合法地允许富人比穷人拥有更多的话语权

DAO 去中心化自治组织这一概念本身是很好的,如果应用得当,是非常有利于民主的。但是把它和虚拟货币深深绑定在一起,则是一条危险的道路。

  1. I2P: Invisible Internet Project. I2P 一般被认为是一个高度去中心化的匿名、隐藏网络。 ↩︎
  2. 如果您没有编程经验:链表(Linked List) 是一种基本但灵活的数据结构。在链表中,每一个节点 (Node) 包藏着前往下一个节点的方式 (内存地址; Memory address); 这样一来链表可以均匀地分散在不连续的内存空间中。链表可以不断延长。 ↩︎
  3. IPFS: Interplanetary File System, 您可以将其视为一种现代版的 Bittorrent ↩︎
  4. 虽然笔者也不清楚智能合约为何被称为“智能”。简单来说,它允许区块链上交易者在节点上执行特定的程序 ↩︎