注:本文最初于 2014 年 4 月 17 日发布在 gavofyork(Gavin Wood)的博客「Insights into a Modern World」上,那时 Gavin 还在担任以太坊的联合创始人和 CTO,也还没有创立 Polkadot。在这篇博客中,Gavin 全面地解释了他心中的 Web3.0 时代应该是什么样的,以及构成 Web3.0 的四个组件。

这篇年代久远的文章传达了 Gavin 在当时的思想,而现在他正领导着 Polkadot 一步步地将这些思想变为现实。

随着我们迈向未来,我们发现对零信任交互系统的需求日益增长。早在斯诺登事件之前,我们就意识到将信息委托给互联网上的任意实体充满了危险。然而,在斯诺登事件之后,这种观点显然又落入了另一些人的手中,这些人认为大型组织和政府经常试图扩大和超越自己的权力。因此,我们意识到,将信息委托给组织,通常是一个从根本上就已经残破不堪的模式。这些组织不乱用我们的数据,仅仅是因为那样做的努力超过了预期收益而已。鉴于他们喜欢采用的模型要求他们尽可能多地掌握人们的数据,因此现实主义者会意识到,改变信息滥用情况的困难程度是难以估量的。

Web 上的协议和技术,甚至因特网上的协议和技术,都充当了一个伟大的技术预览,SMTP、FTP、HTTP(S)、PHP、HTML、Javascript 这些主要工具都为我们今天看到的基于云的应用程序做出了贡献,例如 Google Drive、Facebook 和 Twitter,更不用说其他无数的应用程序,如游戏、购物、银行业务和约会软件等。然而在未来,许多这些协议和技术,将不得不根据我们对社会和技术之间相互作用的新理解而重新设计。

Web 3.0 或可以称为 “后斯诺登” 时代的 Web,它是对我们已经使用过 Web 的各种事物的重新构想,但是在各方之间的交互模型上有根本的不同。对于我们认为可以公开的信息,我们发布出来。对于我们认为已达成共识的信息,会放在共识账本中。对于我们认为是私人的信息,我们会保密并且永远不会泄露。通信始终通过加密的渠道进行,并且仅以匿名身份作为端点。永远不要带有任何可追溯的内容(例如 IP 地址)。简而言之,由于我们无法合理地信任任何 ZF 或组织,因此我们设计该系统以数学方式执行我们先前的假设。

后斯诺登时代的 Web 包含四个组件:静态内容发布、动态消息、去信任交易和集成的用户界面。

首先,我们已经拥有很多东西:去中心化的、加密的信息发布系统。

所有这些操作都是使用一些信息的简短固有地址(技术一点的说法就是哈希),并在一段时间后返回信息本身。你可以向其提交新信息。一旦下载,由于地址是固有的,我们可以保证它是正确的信息。这个静态发布系统负责 HTTP(S) 的大部分工作以及 FTP 的所有工作。这项技术已经有很多实现,但是最信手拈来的例子是 Bit Torrent。每次单击 Bit Torrent 的磁力链接时,你真正要做的就是告诉你的客户端下载固有地址(哈希)等于该值的数据。

在 Web 3.0 中,该技术的这一部分用于发布和下载我们乐意共享的任何(可能很大的)静态信息。就像使用 Bit Torrent 一样,我们能够激励其他人维护和共享此信息,但是与 Web 3.0 的其他部分结合使用,我们可以使此过程更加高效和精确。由于激励框架是协议固有的,因此我们在设计上无论如何都(在此级别上)实现了 DDoS 防护。这个福利是不是还不错?

Web 3.0 的第二部分是基于身份的匿名底层消息传递系统。

用来实现网络上人与人之间的通信。它使用强加密技术,以确保对消息提供足够的保证。可以使用某个身份的公钥对它们进行加密,以确保只有该身份可以对其进行解码。可以用发送者的私钥对其进行签名,以确保它确实来自发送者,并为接收者提供安全的通信接收证明。共享机密可以提供安全通信的机会,包括在群组之间进行通信,而无需提供接收证明。

由于它们中的每一个都提供了最终的消息物流,因此无需使用传输协议级别的地址。曾经的用户或端口与 IP 地址,现在都一起变成了哈希值。

消息将具有存活时间,从而可以尽可能地消除 “活跃” 状态的发布消息,和希望在网络中尽快传输的即时信令消息之间的歧义。因此需要在延迟和寿命这两者之间权衡。

实际的物理路由将通过采用博弈论的自适应网络系统进行。每个对等方试图断言其他对等方传入信息很有价值,从而使它们对其他对等方的价值最大化。信息无价值的对等方将断开连接,并通过与其他某些可能不知名(或可能是二级)的对等方的连接来占用其位置。为了使对等方更有用,将请求具有某些特定属性的消息,例如以特定位字符串开头的发件人地址或主题(均为未加密)。

在 Web 3.0 中,此部分允许对等方实时通信、更新和自组织,发布优先级不需要本质上受信任或以后引用的信息。在传统的 Web 中,这部分就是 AJAX 样式实现中通过 HTTP 传输的大量信息。

Web 3.0 的第三部分是共识引擎。

比特币向我们许多人介绍了基于共识的应用程序的思想。但是,这仅仅是第一步。共识引擎是一种协议,用于约定某些交互规则,因为知道将来的交互(或缺少交互)将自动且不可撤销地导致严格按照规定执行。它实际上是一个包罗万象的社会合同,并从共识的网络效应中汲取了力量。

在所有其他协议中都可能感觉到背叛一项协议的后果,这一事实对于建立牢固的社会契约,并从而减少背叛或故意的无知的改变至关重要。例如,声誉系统与个人社交交互系统越隔离,该声誉系统的效果就越差。由于用户将自己的内在价值置于朋友、合作伙伴或同事对他们的看法上,因此与 Facebook 或 Twitter 之类的功能相结合的信誉系统将比没有该功能的系统更好。一个特别戳心的例子是这个难题:是否以及何时在 Facebook 上和雇主或约会伙伴互加好友。

共识引擎将用于所有可信任的发布和信息更改。这将通过一个完全通用的全球交易处理系统来实现,第一个可行的例子是以太坊项目。

传统的 Web 不能从根本上解决共识,而只能依靠 ICANN、Verisign 和 Facebook 等权威机构的中心化信任,而将私有网站和政府网站以及构建它们的软件简化。

Web 3.0 体验的第四个也是最后一个组件,是将所有这些结合在一起的技术 —— “浏览器” 和用户界面。

有趣的是,这看起来与我们已经知道并喜欢的浏览器界面非常相似。它会有 URI 栏、后退按钮,当然,最主要的部分将分配给 DApp(网页/网站)的显示。

使用这种基于共识的名称解析系统(与应用程序中的 NameCoin 不同),可以将 URI 缩减为该应用程序前端的唯一地址(即哈希)。通过信息发布系统,可以将其扩展为前端所需的文件集合(例如,包含.html、.js、.css 和.jpg 文件的档案)。这是 DApp(-let)的静态部分。

它不包含动态内容;而是通过其他通讯渠道提供服务。为了收集和提交动态的但公开可用的内容,这些内容必须绝对确定其出处,并且必须永久保留(如 “固定不变”),例如信誉、余额等,因此有一个基于 Javascript 的 API 可以与它的共识引擎进行交互。为了收集和提交动态的、可能是私有的内容,这些内容必定是易变的,并且容易遭受毁灭或缺乏可用性,因此使用了 p2p 消息引擎。

这会带来一些表面上的区别;我们将看到与传统的客户端服务器 URL 模式类似的地址,例如 “https://address/path”,会开始变为新形式的地址,例如 “goldcoin” 和 “uk.gov”。名称解析将通过基于共识引擎的合约进行,并且可以由用户轻松地重定向或扩充。句点将允许多个级别的名称解析,例如 “ uk.gov” 可能会将 “gov” 子名称传递到 “uk” 给定的名称解析器中。

由于信息的不断流动的性质,通过共识后端的更新和对等网络的维护,浏览器可以自动地不经意间获得信息,因此我们将看到后台 DApp 或小型应用程序在我们的 Web3.0 体验中扮演着重要的角色。通过始终可见的 Mac OS Dock 之类的动态图标信息图或仪表板风格的动态小程序,我们将不时地更新我们关心的内容。

在初始同步过程之后,页面加载时间将减少为零,因为预先下载了静态数据并,而且动态数据(通过共识引擎或 p2p 消息引擎提供)也保持最新状态。在进行同步时,尽管显示的实际信息可能已过时(尽管这种情况不容易发生,并且可进行注释),但用户体验将非常可靠。

作为 Web 3.0 的用户,所有交互都将以匿名的方式安全、可靠地执行,并且许多服务是去信任的。而对于那些需要第三方的情况,该工具会让用户和应用开发者能将信任分散到多个不同的、可能相互竞争的实体上,从而极大地减少了单个实体掌握的信任量。

通过将 API 与前端和后端分离,我们将看到利用不同前端解决方案的附加功能,从而能够提供出色的用户体验。例如,Qt 的 QtQuick 和 QML 技术可以替代传统 Web 技术的 HTML / CSS 组合,并以最小的语法成本和高效的响应编程范例,提供本机界面和丰富的加速图形。

这种转变将逐步发生,在 Web 2.0 上,我们将越来越多地看到网站的后端使用类似 Web 3.0 的组件,例如比特币、BitTorrent、NameCoin。这种趋势将持续下去,真正的 Web-3.0 平台以太坊很可能会被希望为其内容提供交易证据的网站所使用,例如投票网站和交易所。当然,系统的安全性仅取决于最弱的一环,因此最终此类站点将自己过渡到 Web 3.0 浏览器,该 Web 3.0 浏览器可以提供端到端的安全性和去信任的交互。

对安全的社交操作系统 Web 3.0 说 “你好” 吧。

原文:https://gavwood.com/dappsweb3.html

翻译:PolkaWorld 社区