注:本文最初于 2014 年 4 月 17 日发布在 Gavin Wood 的博客「Insights into a Modern World」上,那时 Gavin 还在担任以太坊的联合创始人和 CTO,也还没有创立 Polkadot。在这篇博客中,Gavin 全面地解释了他心中的 Web3.0 时代应该是什么样的,以及构成 Web3.0 的四个组件。
吴说区块链、平兄翻译
随着我们踏入未来,我们发现越来越需要一个零信任的交互系统。
即使在斯诺登之前,我们已经意识到,将我们的信息授信给互联网上的任意实体是充满危险的。然而,在斯诺登事件之后,这种意识主要落在那些认为大型组织和政府经常试图越权的人身上。因此,我们意识到,将我们的信息授信给企业机构基本上是一个本质性的错误模式。一个企业机构不插手我们的数据的机会只是所需努力的成本减去其预期收益。鉴于公司的收入模式往往要求他们尽可能多地了解用户的情况,现实主义者会意识到,暗中滥用的可能性不太可能被高估。
网络上的协议和技术,甚至整个互联网,都是一个很好的技术预览。SMTP、FTP、HTTP(S)、PHP、HTML 和 Javascript 这几个主要的工具,都为我们今天看到的基于云的应用做出了贡献,比如谷歌的 Drive、Facebook 和 Twitter,更不用说其他无数的应用了,比如游戏、购物、银行和约会。然而,在未来,这些协议和技术将不得不根据我们对社会和技术之间交互的新理解进行重新设计。
Web 3.0,或者可以被称为”后斯诺登“网络,是对我们已经使用网络的那些东西的重新想象,但对各方之间的交互有着根本不同的模式。我们认为是公开的信息,我们就会发布。我们假设信息是一致的,我们将其放在一个共识帐本上。那些我们认为是隐私的信息,我们会保守秘密,从不透露。通信总是在加密的通道上进行,并且只以匿名身份作为端点;从不使用任何可追踪的东西(如 IP 地址)。
简而言之,我们设计的系统在数学上强制执行我们先前的假设,因为没有政府或组织可以合理地被信任。
后斯诺登时代的网络有四个组成部分:静态内容发布、动态信息、免信任交易和集成的用户界面。
发布
首先,去中心化的、加密的信息发布系统我们已经有很多了。这些系统所做的就是获取一些信息的简短的内在地址(即哈希值),并未来有需要可以根据哈希值获得信息本身。可以向它提交新的信息。一旦下载,我们可以保证它是正确的信息,因为哈希值是它固有的。这个静态发布系统承担了 HTTP(S)的大部分工作和 FTP 的所有工作。这种技术已经有很多实现,但最容易引用的是 BitTorrent。每次你点击 BitTorrent 的磁链接,你所做的就是告诉你的客户下载该哈希值对应的数据。
在 Web 3.0 中,这部分技术用于发布和下载我们愿意共享的任何(可能很大的)静态信息。我们能够,就像 BitTorrent 一样,激励其他人维护和分享这些信息;然而,结合 Web 3.0 的其他部分,我们可以使其更加高效和精确。因为激励框架是协议固有的,所以在设计成上是防 DDoS 的。这个奖金怎么样?
通信
Web 3.0 的第二部分是一个基于身份的匿名低级信息传递系统。这用于网络上人们之间的交流。它使用强大的密码学,以便对信息做出一些保证;它们可以用身份的公钥进行加密,以保证只有该身份可以解码它。它们可以由发送者的私钥签署,以保证它确实来自发送者,并为接收者提供一个安全的通信接收。一个共享的秘密可以提供安全通信的机会,包括在群体之间,而不需要收据证明。
由于其中每一个都提供了最终的消息物流,使用传输协议级别的地址就变得没有必要了;曾经由用户或端口和 IP 地址组成的地址,现在仅仅成为一个哈希值。
消息将有一个生存时间,能够区分发布消息和即时信号消息,前者可能希望留存尽可能长的时间,以保证尽可能多的身份看到它,后者希望尽可能快地在网络上传输。因此,延迟和寿命的二元对立是可以交换的。
实际的物理路由将通过博弈论自适应网络系统进行。每个节点都试图最大化他们对其他节点的价值,断言其他节点对他们的传入信息是有价值的。一个信息没有价值的节点将被断开连接,他们的位置将被连接到其他一些可能是未知的(或可能是二级的)节点。为了使节点更有用,将要求具有一些特定属性的信息(例如,发件人地址或主题,都是未加密的,以一个特定的位串开始)。
在 Web 3.0 中,通信这部分允许节点实时通信、更新和自我组织,发布不需要内部信任或稍后引用的优先级的信息。在传统 web 中,这是在 AJAX 风格实现中通过 HTTP 传递的大部分信息。
共识
Web 3.0 的第三部分是共识引擎。比特币给我们许多人带来了基于共识的应用程序的想法。然而,这仅仅是试探性的第一步。共识引擎是一种对某些交互规则达成一致的方法,因为它知道未来的交互(或不交互)将自动地、不可逆转地完全按照规定执行。它实际上是一个包罗万象的社会契约,并从共识的网络效应中汲取力量。
一项协议的违约可能会影响到其他所有协议,这一事实是创造一个强有力的社会契约的关键,从而减少违约或故意忽视的机会。例如,声誉系统与个人社交交互系统的隔离程度越高,其效果就越差。与 Facebook 或 twitter 类似功能相结合的声誉系统会比没有功能的系统更有效,因为用户的内在价值取决于朋友、合作伙伴或同事对自己的看法。一个特别尖锐的例子是,在 Facebook 上是否以及何时与雇主或约会对象成为好友这一难题。
共识引擎将被用于所有可信的信息发布和修改。这将通过一个完全通用的全球交易处理系统发生。这方面的第一个可行的例子是以太坊项目。
传统的网络并没有从根本上解决共识问题,而是退回到对权威机构的中心化信任,如 ICANN、Verisign 和 Facebook。
前端
Web 3.0 体验的第四个也是最后一个组成部分是将这一切结合起来的技术;"浏览器"和用户界面。有趣的是,这看起来与我们已经知道并喜爱的浏览器界面相当相似。将会有 URI 栏、后退按钮,当然,大部分的份额将被用于显示 Dapp(即网页/网站)。
使用这种基于共识的名称解析系统(与应用中的 Namecoin 不同),URI 可以被简化为该应用的前端的唯一地址(即哈希值)。通过信息发布系统,这可以扩展为前端所需的文件集合(例如,一个包含.html、.js、.css 和.jpg 文件的档案)。这是 dapp(-let)的静态部分。
它不包含动态内容,而是通过其他通信渠道提供服务。为了收集和提交动态但公开的内容,这些内容的来源必须是绝对确定的,并且必须永远保持不变(“固定不变”),比如声誉、平衡等等,有一个基于 javascript 的 API 用于与共识引擎交互。为了收集和提交动态的、潜在的私有内容(这些内容必然是不稳定的,可能会被销毁或缺乏可用性),可以使用 P2P 消息传递引擎。
会有一些表面上的差异,我们将会看到像“https://address/path”这样的传统的客户端-服务器 URL 模式的转变,取而代之的是“goldcoin”和“uk.gov”这样的新形式的地址。名称解析将通过基于共识引擎的合同来实现,用户可以轻松地重定向或扩充。句点将允许多级名称解析,例如,“uk.gov”可能会将“gov”子名传递到“uk”给出的名称解析器中。
由于信息通过共识后端的更新和点对点网络的维护自动或偶然地提供给浏览器的永久瞬态特性,我们将看到后台 DApp 或 dapplets 在我们的 Web 3.0 体验中扮演重要角色。
在初始同步过程之后,页面加载时间将减少到零,因为静态数据被预先下载并保证是最新的,而动态数据(通过共识引擎 P2P 消息传递引擎交付)也被维护为最新的。在同步的同时,用户体验将是非常可靠的,尽管显示的实际信息可能会过时。
对于 Web 3.0 的用户来说,所有的交互都将以匿名、安全的方式进行,对于许多服务来说,是不可信任的。对于那些需要第三方的服务,这些工具将使用户和应用程序开发者有能力将信任分散到多个不同的、可能是相互竞争的实体中,从而大量减少人们必须放在任何特定的单一实体手中的信任量。
随着前端和后端 API 的分离,我们将看到利用不同的前端解决方案的额外能力,能够提供卓越的用户体验。例如,Qt 的 QtQuick 和 QML 技术可以替代传统网络技术的 HTML/CSS 组合,并以最小的语法开销和高效的反应式编程范式提供本地界面和丰富的加速图形。
向 Web3.0 迁移
这种转变将是渐进的。
在 Web 2.0 上,我们将越来越多地看到后端利用类似 Web 3.0 组件的网站,如比特币、BitTorrent 和 Namecoin。这一趋势将继续下去,而真正的 Web 3.0 平台以太坊将可能被那些希望为其内容提供交易证据的网站所使用,如投票网站和交易所。当然,系统的安全性取决于最薄弱的环节,因此这些站点最终会将自己转移到 Web 3.0 浏览器上,后者可以提供端到端的安全性和免信任交互。
向 Web 3.0 问好,这将是一个安全的社交操作系统。
原文:https://gavwood.com/dappsweb3.html