注:本文最初于2014年4月17日发布在gavofyork的博客「InsightsintoaModernWorld」上,那时Gavin还在担任以太坊的联合创始人和CTO,也还没有创立Polkadot。在这篇博客中,Gavin全面地解释了他心中的Web3.0时代应该是什么样的,以及构成Web3.0的四个组件。
这篇年代久远的文章传达了Gavin在当时的思想,而现在他正领导着Polkadot一步步地将这些思想变为现实。
随着我们迈向未来,我们发现对零信任交互系统的需求日益增长。早在斯诺登事件之前,我们就意识到将信息委托给互联网上的任意实体充满了危险。然而,在斯诺登事件之后,这种观点显然又落入了另一些人的手中,这些人认为大型组织和政府经常试图扩大和超越自己的权力。因此,我们意识到,将信息委托给组织,通常是一个从根本上就已经残破不堪的模式。这些组织不乱用我们的数据,仅仅是因为那样做的努力超过了预期收益而已。鉴于他们喜欢采用的模型要求他们尽可能多地掌握人们的数据,因此现实主义者会意识到,改变信息滥用情况的困难程度是难以估量的。
Web上的协议和技术,甚至因特网上的协议和技术,都充当了一个伟大的技术预览,SMTP、FTP、HTTP(S)、PHP、HTML、Javascript这些主要工具都为我们今天看到的基于云的应用程序做出了贡献,例如GoogleDrive、Facebook和Twitter,更不用说其他无数的应用程序,如游戏、购物、银行业务和约会软件等。然而在未来,许多这些协议和技术,将不得不根据我们对社会和技术之间相互作用的新理解而重新设计。
Web3.0或可以称为“后斯诺登”时代的Web,它是对我们已经使用过Web的各种事物的重新构想,但是在各方之间的交互模型上有根本的不同。对于我们认为可以公开的信息,我们发布出来。对于我们认为已达成共识的信息,会放在共识账本中。对于我们认为是私人的信息,我们会保密并且永远不会泄露。通信始终通过加密的渠道进行,并且仅以匿名身份作为端点。永远不要带有任何可追溯的内容。简而言之,由于我们无法合理地信任任何ZF或组织,因此我们设计该系统以数学方式执行我们先前的假设。
后斯诺登时代的Web包含四个组件:静态内容发布、动态消息、去信任交易和集成的用户界面。
首先,我们已经拥有很多东西:去中心化的、加密的信息发布系统。
所有这些操作都是使用一些信息的简短固有地址,并在一段时间后返回信息本身。你可以向其提交新信息。一旦下载,由于地址是固有的,我们可以保证它是正确的信息。这个静态发布系统负责HTTP(S)的大部分工作以及FTP的所有工作。这项技术已经有很多实现,但是最信手拈来的例子是BitTorrent。每次单击BitTorrent的磁力链接时,你真正要做的就是告诉你的客户端下载固有地址等于该值的数据。
在Web3.0中,该技术的这一部分用于发布和下载我们乐意共享的任何静态信息。就像使用BitTorrent一样,我们能够激励其他人维护和共享此信息,但是与Web3.0的其他部分结合使用,我们可以使此过程更加高效和精确。由于激励框架是协议固有的,因此我们在设计上无论如何都实现了DDoS防护。这个福利是不是还不错?
Web3.0的第二部分是基于身份的匿名底层消息传递系统。
用来实现网络上人与人之间的通信。它使用强加密技术,以确保对消息提供足够的保证。可以使用某个身份的公钥对它们进行加密,以确保只有该身份可以对其进行解码。可以用发送者的私钥对其进行签名,以确保它确实来自发送者,并为接收者提供安全的通信接收证明。共享机密可以提供安全通信的机会,包括在群组之间进行通信,而无需提供接收证明。
由于它们中的每一个都提供了最终的消息物流,因此无需使用传输协议级别的地址。曾经的用户或端口与IP地址,现在都一起变成了哈希值。
消息将具有存活时间,从而可以尽可能地消除“活跃”状态的发布消息,和希望在网络中尽快传输的即时信令消息之间的歧义。因此需要在延迟和寿命这两者之间权衡。
实际的物理路由将通过采用博弈论的自适应网络系统进行。每个对等方试图断言其他对等方传入信息很有价值,从而使它们对其他对等方的价值最大化。信息无价值的对等方将断开连接,并通过与其他某些可能不知名的对等方的连接来占用其位置。为了使对等方更有用,将请求具有某些特定属性的消息,例如以特定位字符串开头的发件人地址或主题。
在Web3.0中,此部分允许对等方实时通信、更新和自组织,发布优先级不需要本质上受信任或以后引用的信息。在传统的Web中,这部分就是AJAX样式实现中通过HTTP传输的大量信息。
Web3.0的第三部分是共识引擎。
比特币向我们许多人介绍了基于共识的应用程序的思想。但是,这仅仅是第一步。共识引擎是一种协议,用于约定某些交互规则,因为知道将来的交互将自动且不可撤销地导致严格按照规定执行。它实际上是一个包罗万象的社会合同,并从共识的网络效应中汲取了力量。
在所有其他协议中都可能感觉到背叛一项协议的后果,这一事实对于建立牢固的社会契约,并从而减少背叛或故意的无知的改变至关重要。例如,声誉系统与个人社交交互系统越隔离,该声誉系统的效果就越差。由于用户将自己的内在价值置于朋友、合作伙伴或同事对他们的看法上,因此与Facebook或Twitter之类的功能相结合的信誉系统将比没有该功能的系统更好。一个特别戳心的例子是这个难题:是否以及何时在Facebook上和雇主或约会伙伴互加好友。
共识引擎将用于所有可信任的发布和信息更改。这将通过一个完全通用的全球交易处理系统来实现,第一个可行的例子是以太坊项目。
传统的Web不能从根本上解决共识,而只能依靠ICANN、Verisign和Facebook等权威机构的中心化信任,而将私有网站和政府网站以及构建它们的软件简化。
Web3.0体验的第四个也是最后一个组件,是将所有这些结合在一起的技术——“浏览器”和用户界面。
有趣的是,这看起来与我们已经知道并喜欢的浏览器界面非常相似。它会有URI栏、后退按钮,当然,最主要的部分将分配给DApp的显示。
使用这种基于共识的名称解析系统,可以将URI缩减为该应用程序前端的唯一地址。通过信息发布系统,可以将其扩展为前端所需的文件集合。这是DApp的静态部分。
它不包含动态内容;而是通过其他通讯渠道提供服务。为了收集和提交动态的但公开可用的内容,这些内容必须绝对确定其出处,并且必须永久保留,例如信誉、余额等,因此有一个基于Javascript的API可以与它的共识引擎进行交互。为了收集和提交动态的、可能是私有的内容,这些内容必定是易变的,并且容易遭受毁灭或缺乏可用性,因此使用了p2p消息引擎。
这会带来一些表面上的区别;我们将看到与传统的客户端服务器URL模式类似的地址,例如“https://address/path”,会开始变为新形式的地址,例如“goldcoin”和“uk.gov”。名称解析将通过基于共识引擎的合约进行,并且可以由用户轻松地重定向或扩充。句点将允许多个级别的名称解析,例如“uk.gov”可能会将“gov”子名称传递到“uk”给定的名称解析器中。
由于信息的不断流动的性质,通过共识后端的更新和对等网络的维护,浏览器可以自动地不经意间获得信息,因此我们将看到后台DApp或小型应用程序在我们的Web3.0体验中扮演着重要的角色。通过始终可见的MacOSDock之类的动态图标信息图或仪表板风格的动态小程序,我们将不时地更新我们关心的内容。
在初始同步过程之后,页面加载时间将减少为零,因为预先下载了静态数据并,而且动态数据也保持最新状态。在进行同步时,尽管显示的实际信息可能已过时,但用户体验将非常可靠。
作为Web3.0的用户,所有交互都将以匿名的方式安全、可靠地执行,并且许多服务是去信任的。而对于那些需要第三方的情况,该工具会让用户和应用开发者能将信任分散到多个不同的、可能相互竞争的实体上,从而极大地减少了单个实体掌握的信任量。
通过将API与前端和后端分离,我们将看到利用不同前端解决方案的附加功能,从而能够提供出色的用户体验。例如,Qt的QtQuick和QML技术可以替代传统Web技术的HTML/CSS组合,并以最小的语法成本和高效的响应编程范例,提供本机界面和丰富的加速图形。
这种转变将逐步发生,在Web2.0上,我们将越来越多地看到网站的后端使用类似Web3.0的组件,例如比特币、BitTorrent、NameCoin。这种趋势将持续下去,真正的Web-3.0平台以太坊很可能会被希望为其内容提供交易证据的网站所使用,例如投票网站和交易所。当然,系统的安全性仅取决于最弱的一环,因此最终此类站点将自己过渡到Web3.0浏览器,该Web3.0浏览器可以提供端到端的安全性和去信任的交互。
对安全的社交操作系统Web3.0说“你好”吧。
原文:https://gavwood.com/dappsweb3.html
翻译:PolkaWorld社区
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。