1.1 代币化网络: Web3, 有状态的网络 - JoanJiao/TokenEconomyBook_Chinese GitHub Wiki
如果说 Web1 (WWW) 彻底改变了信息,Web2 彻底改变了交互,那么 Web3 就有可能彻底改变协议和价值交换。 Web3 改变了互联网后端的数据结构,引入了一个通用的状态层,通过使用代币激励网络参与者。这个 Web3 的主干以一系列区块链网络或类似的分布式账本为代表。
我们今天所拥有的互联网是有问题的。我们无法控制我们的数据,也没有原生价值结算层。在互联网被大规模采用的 30 年后,我们的数据架构仍然基于独立计算机的概念——数据在服务器上集中存储和管理,并由客户端发送或检索。每次我们通过 Internet 进行交互时,我们的数据副本都会发送到服务提供商的服务器,每次发生这种情况时,我们都会失去对数据的控制。因此,即使我们生活在一个日益互联的世界,我们的数据大多都还是集中存储的:在本地或远程服务器上,在我们的个人计算机、移动设备、闪存驱动器上,以及越来越多地存储在我们的手表、汽车、电视、或冰箱上。这引发了信任问题。我是否可以信任那些存储和管理我数据的人员和机构,不会在内部或者外部、有意或无意地发生任何形式的腐败?集中式数据结构不仅会引发个人数据的安全、隐私和控制问题,还会在商品和服务的供应链中产生许多低效问题。
这些问题有其历史根源,由于计算机出现在互联网之前,在个人计算机应用早期,人们无法将文件从一台计算机发送到另一台计算机。你需要将文件保存在软盘上,走到需要该文件的人那里,然后将文件复制到他们的计算机上,以便给他们使用。如果那个人在另一个国家,你需要去邮局把软盘寄给他们。互联网协议(IP)的出现结束了这种情况,它将所有的独立计算机与数据传输协议连接起来,使得数据的传输速度更快,并降低了信息交换的交易成本。然而,我们今天使用的互联网仍然主要建立在独立计算机的概念之上,其中大部分数据集中存储和管理在受信任机构的服务器上。这些服务器上的数据受到防火墙的保护,需要系统管理员来管理存储在服务器上的数据的安全性。
1990 年代初万维网(WWW)的出现提高了互联网的可用性,其网站具有视觉吸引力且易于浏览。十年后,互联网变得更加成熟和可编程。我们看到了所谓的 Web2 的兴起,它为我们带来了社交媒体、电子商务和知识平台。 Web2 彻底改变了社交互动,使信息、商品和服务的生产者和消费者更加紧密地联系在一起。 Web2 使我们能够在全球范围内享受点对点 (P2P) 交互,但始终需要一个中间人——一个平台,来充当两个互不认识或互不信任的人之间的可信中介。虽然这些互联网平台在创建 P2P 经济方面做得非常出色,但它们也制定了所有规则并控制着用户的数据。
在这种背景下,区块链网络似乎成为了下一代互联网的驱动力,有人称之为 Web3。它们重塑了通过 Internet 存储和管理数据的方式,提供了一组独特的数据——一个由网络中的所有节点共同管理的通用状态层。这个独特的状态层,第一次在没有中介的情况下,为互联网提供了原生的价值结算层。它实现了真正的 P2P 交易,而这一切都始于比特币的出现。
Web2 是一场前端革命,而 Web3 则是一场后端革命。Web3 彻底改造了互联网在后端的连接方式,将互联网的系统功能与计算机的系统功能相结合。但是,对于普通用户而言,互联网前端不会有太大变化。Web3 代表一组以分布式账本为骨干的协议,其中的数据由 P2P 计算机网络协同管理。管理规则在协议中正式化,并由所有网络参与者的大多数共识所保护,网络参与者的活动受到网络代币的激励。该协议将网络的治理规则正式化,并确保彼此不认识或不信任的人通过网络达成或解决协议。如果试图操纵服务器上的数据,就类似于要闯入一幢房子,房子有围栏和报警系统保障安全。而 Web3 的设计方式使得要操纵数据,就好像要在全球很多地方同时闯入大量带有围栏和报警系统的房子,这当然也有可能,但是成本会高得离谱。
区块链:一个有状态的协议
我们今天使用的互联网是“无状态的”(stateless)。它没有本地机制来传输计算机科学所称的“状态”(state)。状态是指信息,或者说在一个网络中关于“谁是谁?”、“谁拥有什么?”、“谁有权做什么?”的状态。对于有效市场来说,轻松地、点对点地转移价值的能力至关重要,而“状态”是管理和转移价值的关键属性。在 Web3 中,加密安全代币就代表着价值。
如果你不能在互联网上拥有状态,你就不能在没有中心化机构作为清算实体的情况下转移价值。虽然今天的互联网已将信息传输速度提高了以前的 N 个数量级,但我们仍然需要互联网平台提供商等值得信赖的机构来促成我们的行为,以解决这种缺乏状态的问题。像当前 Web 这样的无状态协议只管理信息的传输,而信息的发送者或接收者都不知道对方的状态。这种状态的缺乏是由于构建 Web 的协议的简单性造成的,例如 TCP/IP、SMTP 或 HTTP 协议。 这一系列协议规范了数据的传输,却没有规范数据的存储方式。数据可以集中存储,也可以分散存储。由于多种原因,集中式数据存储成为了数据存储和管理的主流形式。
会话 cookie 和集中式服务提供商的引入为这种无状态的 Web 提供了解决方法。 会话 cookie 的发明是为了让基于 Web 的应用程序可以在本地设备上保存状态。在会话 cookie 出现之前——在 WWW 的早期——我们没有浏览历史记录,无法保存最喜欢的网站,也无法自动完成功能,这意味着我们每次使用网站时都必须重新提交用户信息。虽然会话 cookie 提供了更好的可用性,但这些 cookie 是由服务提供商创建和控制的,例如谷歌、亚马逊、Facebook、你的银行、大学等,他们的作用是提供和管理其用户的状态。
多年来,Web2 平台引入了许多有益的服务,并创造了可观的社会和经济价值。然而,财富主要流入了提供服务的公司,而非为这些服务提供内容和价值的公众。Web2 平台并没有打造一个去中心化的世界,而是促成了经济决策、研发决策的重新集中,并进而导致这些平台提供商的权力高度集中。此外,由于早期的互联网是围绕免费信息的理念创建的,客户通常不愿意为在线内容支付定期订阅费,而且在大多数情况下小额支付仍然不可行。因此,许多 Web2 平台需要寻找替代方式来从他们提供的免费服务中获利,这种替代方式就是广告。随之而来的就是基于用户行为的定向广告和私人数据的商品化。私人数据集为这些平台提供了“状态”,互联网行业的商业模式也开始围绕着基于这些数据集的定向广告来发展。因此,用户使用他们的私人数据来为他们所享受的服务付费。
比特币网络为网络中的每个节点引入了一种机制,以数字原生格式发送和接收代币,并记录代币的状态。比特币网络的共识协议被设计成能够集体记住之前发生的事件或用户交互,通过提供单一参考来源来解决“双花”问题,即谁收到了什么以及何时收到。因此,比特币协议可以被视为游戏规则的改变者,为更加去中心化的网络铺平了道路。2008 年的比特币白皮书启动了一种全新形式的公共基础设施,其中所有比特币代币的状态都得到集体维护。
区块链网络,例如比特币网络,只是骨干网和起点,但不是这个新的去中心化网络的唯一组成部分。Web3 架构利用集体维护的通用状态进行去中心化计算。去中心化应用可以通过区块链网络或其他分布式账本管理其部分或全部内容和逻辑,但也需要其他协议。许多开发人员已经开始构建替代区块链网络以及 Web3 的补充协议。
其他 Web3 协议
区块链并不是分布式网络所需的唯一技术。创建去中心化应用需要许多其他协议。然而,“区块链”一词似乎被用作许多 Web3[^1] 协议或 Web3 本身的同义词,至少一些记者和公众如此。 除了计算之外,我们还需要文件存储、消息传递、身份、外部数据(预言机)和许多其他去中心化服务。区块链网络只是在 Web3 之上运行的去中心化应用的处理器。它充当分布式记账机,记录所有代币交易并执行计算。
区块链网络根本不适合存储数据,主要原因有两个:(i)公共区块链网络太慢且过于昂贵,无法存储大型数据集; (ii) 存储纯文本数据的区块链网络不允许“设计隐私”。[^2] 例如,要创建去中心化的 YouTube,需要去中心化的文件存储来管理视频文件。一系列不同的去中心化存储网络解决方案已经出现,例如“IPFS”、“Filecoin”、“Swarm”、“Storj”或“Sia”。去中心化存储网络激励网络节点与原生代币共享存储空间,并将云存储转变为算法市场。它们在权力下放、隐私和激励机制的选择方面存在差异。有些甚至可能没有激励层,例如 IPFS。另一方面,像“Golem”这样的协议通过使用其本地协议代币奖励网络中的贡献来提供分布式渲染能力。
Web3 开发者社区在过去几年中一直在发展。不同的团队正在研究这个新兴网络的各种组件;但是,其中许多协议仍在开发中。Web3 应用通常与一开始未知的对等点进行通信,并且在速度和可靠性方面具有不同的质量。这些复杂性问题需要新的库和 API 来解决。目前尚不清楚它们何时会达到临界质量,或者最终将采用哪种标准,从而在更大范围内取代当前的 Web 应用。因此,从“客户端-服务器网络”到“去中心化网络”的过渡将是渐进的,而不是激进的。它会从中心化到部分去中心化再到完全去中心化。
在为 Web3 开发补充技术时,最紧迫的应用研究问题之一是如何用代币奖励网络参与者,以使网络保持抗攻击性。例如,去中心化文件存储解决方案、去中心化计算、数据分析或声誉的激励机制。目前业内正在试验许多不同的共识机制,例如:“可检索性证明”(Proof-of-Retrievability)、“存储证明”(Proof-of-Storage)和“时空证明”(Proof-of-Spacetime)。而完全去中心化的解决方案,例如 IPFS 和 Swarm,尚未在功能上得以实现。
虽然分布式架构比其前身 Web2 集中式架构更具弹性,但它们也更慢。速度、性能和可用性是 Web3 的瓶颈,一旦 Web3 的核心组件启动并运行,这些瓶颈很可能会随着时间的推移而得到解决(了解更多:附录 - 可扩展性)。互联网的未来很可能会更加去中心化,但这并不意味着我们将完全摆脱中心化系统。集中式系统具有其优势并且可能会占上风,至少对于特定用例而言。
Web3 上的去中心化应用
与在单台计算机上运行的集中式应用相反,分布式应用在计算机的 P2P 网络上运行。它们自 P2P 网络出现以来就已经存在,并不一定需要在区块链网络上运行。虽然区块链网络是一种特定类型的 P2P 网络,但诸如“Tor”、“BitTorrent”、“Popcorn Time”和“BitMessage”这些都是在 P2P 网络上运行的去中心化应用案例,而非在区块链网络上运行的案例(了解更多:附录 - 比特币和 Web3 的起源)。
传统应用程序使用 HTML、CSS 或 javascript 来呈现网页或移动应用。网页或移动应用的前端与一个或多个集中式数据库进行交互。例如,当你使用 Twitter、Facebook、Amazon 或 Airbnb 等服务时,该网页将调用 API 来处理存储在其服务器上的你的个人数据和其他必要信息,并在前端显示出来。这些应用使用用户 ID 和密码来识别和验证,安全性较低,因为个性化数据存储在服务提供商的服务器上。
去中心化应用看起来与当前的网站或移动应用没有区别。前端代表你所看到的,后端代表整个业务逻辑。去中心化应用是称为“钱包”的区块链客户端。它使用相同的技术来呈现网页或移动应用(比如 HTML、CSS、Javascript),但与区块链网络而不是服务器进行通信,在智能合约网络的情况下,还与智能合约进行通信(了解更多:第 2 部分 - 智能合约)。钱包还管理公私钥对和区块链地址,为网络节点提供唯一身份,以便它们可以安全地与网络交互(了解更多:第 1 部分 - 代币安全和以用户为中心的身份)。智能合约代表去中心化应用的核心业务逻辑,并处理来自网络内部和外部的数据馈送以管理所有网络参与者的状态(了解更多:第 1 部分 - 智能合约)。如果区块链客户端是全节点,它还将管理账本的完整状态(了解更多:第 1 部分 - 比特币、区块链和其他分布式账本)。在这种情况下,区块链客户端执行 HTTP 客户端和服务器的功能,因为所有数据都存储在客户端。前端数据,包括音频或视频文件和其他文档,可以集中存储在“Swarm”或“IPFS”等去中心化存储网络上并由其管理。在撰写本书时,这些数据大部分仍由服务器存储和管理。
对于普通用户而言,去中心化应用的外观和感觉必须与现有应用相同,这意味着如果要在更大范围内采用它们,它们需要直观和易于使用。目前,钱包软件和密钥管理很困难,这可能是 Web3 应用大规模采用的瓶颈。此外,只有当对集中式解决方案的不信任程度高到足以和当前的可用性达成平衡时,才会发生大规模采用。
本节概要
我们今天拥有的互联网已经出了问题。我们无法控制我们的数据,也没有原生价值结算层。每次我们通过 Internet 进行交互时,我们的数据副本都会发送到服务提供商的服务器,每次发生这种情况时,我们都会失去对数据的控制。这引发了信任问题。
我们今天使用的互联网在受信任机构的服务器上存储和管理数据。而在 Web3 中,数据存储在 P2P 网络的多个副本中,管理规则被固化在协议中,并由所有网络参与者的多数共识保护,通常(但不总是)通过网络代币激励他们的活动。
在 Web3 中,网络状态(由账本表示)是由集体维护的。
Web2 是一场前端革命,Web3 则是一场后端革命,它引入了一个通用的状态层。它是由区块链网络或类似的分布式账本主导的一组协议,旨在重塑互联网在后端的连接方式。Web3结合了互联网的系统功能和计算机的系统功能。
与在单台计算机上运行的集中式应用相反,分布式应用在计算机的 P2P 网络上运行。自 P2P 网络出现以来,它们就已经存在。去中心化应用不一定需要在区块链网络上运行。
去中心化应用是称为“钱包”的区块链客户端。它使用相同的技术来呈现网页或移动应用(如 HTML、CSS、Javascript),但与区块链网络而不是服务器进行通信,在智能合约网络的情况下,还与智能合约进行通信。钱包还管理公私钥对和区块链地址,为网络节点提供唯一身份并允许它们与网络交互。
章节参考 & 延伸阅读
-
Benet, Juan: “IPFS-内容寻址、版本、P2P文件系统(草案3),” 检索,2018年9月10日: https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf
-
Ehrsam, Fred; “dApp开发者栈:区块链行业晴雨表”,2017年4月30日,检索自: https://medium.com/@FEhrsam/the-dapp-developer-stack-the-blockchain-industry-barometer-8d55ec1c7d4
-
Gaúcho Pereira Felipe Gaúcho: “Web3 视频栈绘制了一个去中心化媒体世界的基础设施!”2018年8月16日,检索自: https://tokeneconomy.co/web3videostack-c423481c32a5
-
Gillies, James; Cailliau, Robert: “网络是如何诞生的:万维网的故事”,牛津大学出版社,2000年,摘自: https://books.google.de/books?id=pIH-JijUNS0C&lpg=PA25&ots=MKZj0F7pJN&pg=PA25&redir_esc=y#v=onepage&q&f=false
-
Koblitz, N.:“椭圆曲线密码系统(Elliptic curve cryptosystems)”. 计算数学(Mathematics of Computation). 48 (177): 203–209, 1987
-
Laplante, Philip A.: 《计算机科学、工程与技术词典》(“Dictionary of Computer Science, Engineering and Technology”), 2000, CRC Press. p. 466.
-
McConaghy, Trent: “区块链基础设施景观:构建存储、计算和通信表现的第一原则”,2017年7月15日,检索自: https://medium.com/@trentmc0/blockchain-infrastructure-landscape-a-first-principles-framing-92cc5549bafe
-
Miller, V.; “密码技术中曲线的应用(Use of elliptic curves in cryptography)”,《密码技术》(CRYPTO),计算机科学讲义(Lecture Notes in Computer Science). 85. pp. 417–426, 1985
-
Misra, Jayadev: 《多编程的一门学科:分布式应用程序的编程理论》(“A Discipline of Multiprogramming: Programming Theory for Distributed Applications” )Springer, 2001.
-
Monegro, Joel: “脂肪协议”, 2016年8月8日, 检索自: https://www.usv.com/blog/fat-protocols
-
Nakamoto, Satoshi: “比特币:一种点对点的电子现金系统” Bitcoin.org, 2008, 2014年3月20日从原文存档,检索自: https://bitcoin.org/bitcoin.pdf
-
N.N.: “Web3 基金网站”,检索自: https://web3.foundation/
-
N.N.: “通用Web3堆栈的综合维基” 2018年9月10日,检索自: https://github.com/w3f/Web3-wiki/wiki
-
Pon, Bruce: “区块链将迎来分布式计算时代”,2016年4月15日,摘自: https://blog.bigchaindb.com/blockchain-will-usher-in-the-era-of-decentralised-computing-7f35e94af0b6
-
Samani, Kyle: “Web3 技术栈”,2018年7月10日,摘自: https://multicoin.capital/2018/07/10/the-web3-stack/
-
Stallings, W.: “计算机网络与互联网协议和技术(Computer Networking with Internet Protocols and Technology)”, Pearson Education, 2004.
-
Tekisalp, Emre: “了解 Web 3 — 用户控制的互联网。 Coinbase 剖析 Web 3 开发背后的动机和技术(Understanding Web 3 — A User Controlled Internet. Coinbase breaks down the motivation and technology behind the development of Web 3)”, Coinbase, 2018年8月29日, 检索自: https://blog.coinbase.com/understanding-web-3-a-user-controlled-internet-a39c21cf83f3
-
Thomas, John; Mantri, Pam: "复杂的自适应区块链治理(Complex Adaptive Blockchain Governance)", MATEC Web of Conferences 223, 01010 (2018) https://doi.org/10.1051/matecconf/201822301010 ICAD 2018, 检索自: https://www.matec-conferences.org/articles/matecconf/pdf/2018/82/matecconf_icad2018_01010.pdf
-
Tual, Stephan: “重温 Web 3.0 — 第一部分:“跨链和跨协议(Web 3.0 Revisited — Part One: “Across Chains and Across Protocols)”, 2017年5月26日:https://blog.stephantual.com/web-3-0-revisited-part-one-across-chains-and-across-protocols-4282b01054c5
-
Vinton G. Cerf; Robert E. Kahn (May 1974). “一种分组网络互通协议(A Protocol for Packet Network Intercommunication)”. IEEE通讯汇刊(IEEE Transactions on Communications). 22 (5): 637–648. doi:10.1109/tcom.1974.
-
Wolpert, John: “开启有状态的互联网(Bring on the Stateful Internet)”, 2014年8月2日,检索自: https://media.consensys.net/bring-on-the-stateful-internet-d589adc7bb65
-
Wood, Gavin: “DApps:Web3.0 是什么样的?(ĐApps: What Web 3.0 Looks Like)”, 2014年4月17日,检索自: http://gavwood.com/dappsweb3.html
-
Filecoin: https://filecoin.io/
-
Golem: https://golem.netw
-
IPFS: https://ipfs.io/
-
SIA: https://sia.tech/
-
Storj: https://storj.io
脚注
[^1]: 请注意,其他领域也使用类似的术语,例如 Web 3.0,它们通常指的是更智能的 Web 或语义网,包括机器学习和 AI,专注于几种关键新兴技术的融合。在区块链的语境中,这个词被业内很多人用来指代更加去中心化的互联网,一般被称为Web3(不是Web 3.0)。
[^2]: “设计隐私”(Privacy by Design)是指“通过技术设计保护数据”。(https://gdpr-info.eu/issues/privacy-by-design)