理解Web 3——用户控制的互联网

2018 年 9 月 24 日

本文分为 3 个部分,介绍了万维网历史的新篇章 Web 3 形成的原因、内容及方式。第 1 部分解释了当今网络的缺点和 Web 3 如何改进;第 2 部分着重于介绍 Web 3 堆栈的内容;第 3 部分重点介绍开发人员如何在 Web 3 上构建程序。

第 1 部分:形成的原因

今天的万维网或互联网有两个关键的缺失属性:

  1. 它不具有“状态”,独立于可信赖的运营商
  2. 它没有传输状态的本地机制

缺乏状态是构建互联网的协议(例如 HTTP SMTP )的简单性的结果。在任何时候,如果要查询某个节点(连接到互联网的设备)的历史或当前状态,它是不知道的。从用户的角度来看,每当使用任何设备连接到互联网时,就像是从一个新的浏览器首次使用互联网,没有浏览历史、收藏、保存的设置或自动完成功能。想象一下,每次打开设备,试图使用服务或下载所有你喜欢的应用程序时,不得不提交用户信息的情形。互联网将不可用,或至少效率极低。

但是,状态对服务和应用的发展是至关重要的,因为它代表价值。因此,两个关键的开发已经弥补了状态的不足。首先,正如 Brendan Eich 重点指出的,cookie 的发明是为用 JavaScript 编写的基于 web 的应用程序在每个本地设备上保存状态。然而,cookie 的问题是,它们是服务供应商而不是用户创建和控制的。用户无法控制哪个供应商为其提供状态信息或可以访问其状态。

解决状态缺乏问题的第二个发展是集中式服务供应商,这些供应商在各自设备上保存用户的状态。如今,像谷歌和脸书这样的大型互联网公司都保存着这些用户状态,也因此拥有由这数十亿人创造的价值。这从本质上来说没有做错任何事,因为其用户已经从这些公司创造的服务和价值中获益。问题在于,互联网更有益于这些集中式的公司,而不是公众。

互联网缺失的第二个关键属性(缺失转移状态的本地机制),在一定程度上是第一个问题的副产品。如果不能保持状态(及其创造的价值),就不能将它转移。轻松有效地转移价值的能力是经济发展和现代金融的核心。在如何有效地转移价值上的任何改进都会产生连锁的积极影响。今天的互联网已经让信息的传递变得更加轻松,从而为新业务和服务创造了巨大的潜力。但是,如果业务没有简单的方式来交易价值,它们就需要寻找另外的方法以从其服务中获得利润。

这就是为什么这么多年来,网络现在的业务模式变成了广告的原因,因为广告业务是唯一能够有效地存储和传输数十亿用户的状态的商业模式。同样,做广告本身没有什么不对。但是,现在的问题有三个方面:

  1. 第三方中介机构为每一次广告交易提供便利并从中获取利润;
  2. 广告有利于成熟的企业,这使新企业处于劣势,限制了经济的增长潜力;
  3. 更丰富的广告经济依赖于更多的用户信息(为广告模型提供信息),产生了与用户错位的激励和糟糕的用户体验。

互联网的方向

网络,包括其内在及其本身,是一种技术发展。它只是一大堆的管道,人类用它来做什么对它来说都没什么分别。最终,人类需要决定给它指明方向。多年来,显而易见的是,它现在的方向不会有益于那些还未受益于其的人们。对于网络未来的十年或二十年,更好的方向是促进:

  1. 任何参与者都创造本土经济价值;
  2. 以及把这个本土价值传输给任何参与者。

随着区块链的发明,由于中本聪以及在其之前的其他学者,现在我们有方法让网络的每个参与者都能以数字原生格式保持和转移状态。世界上的众多开发人员和企业家已经开始在这个新状态层上进行构建(或#BUIDL ,视情况而定)。随着以太坊这样的开放平台的出现,这变得日渐容易。当人们意识到这些新功能允许他们做什么时,他们已经发出了要更开放和公平的互联网的呼声,也就是所谓的Web 3。

第 2 部分:内容

正如第 1 部分中所解释的,今天的互联网是无状态的互联网,其参与者不能保持自身的状态,也不能把它从一个人那里传递到另一个人那里。从比特币开始,区块链给了我们一个用数字原生方式来保持状态的方法。我们这些处于加密货币和区块链生态系统的人已经开始把这个新的基本能力看作是Web 3。尽管,我们还处于相当早的阶段,我们开始对其会带来的益处有了粗略的了解。比如,L4 已经就这些益处汇总了一些很好的见解。

这个部分是关于 Web 3 堆栈今天看起来的样子,以及未来可能看上去的样子:

Web 3 堆栈 —— 模块化框架

上述框架中的层从顶部开始,沿 y 轴向下构建。颜色表示不同层中的各个模块之间的兼容性。例如,今天的加密商品(Crypto Goods,黄色),如上显示,与 EVM(蓝色到黄色)兼容,但是,和比特币脚本(Bitcoin Script,绿色到红色)不兼容。反过来,EVM 和以太坊区块链(Ethereum Blockchain,蓝色)兼容,但是,和比特币区块链(Bitcoin Blockchain,绿色)不兼容。这允许我们在该框架内放入未来的加密商品,因为它与比特币脚本兼容,从而记录在比特币区块链上(尽管这很可能不会发生,因为技术的问题)。这种模块化对 Web 3 的健壮性是至关重要的,因为其中一层的更新不应该需要对其下面的所有内容都重写一遍。同样重要的是,尽管每层的模块最终也许在 5 年的时间里会变得看上去完全不同,各层本身旨在变得全面,并覆盖构成 Web 3 的所有部分。

状态层

状态层保留其下面发生的所有状态。它几乎完全由区块链基础设施提供,并允许任何参与者加入,只要他们遵守首选网络的规则。任何成功网络的目标都将是成为一个默认和可靠的基础设施,类似于今天的 DNS 供应商。在它们按预期(99% 的时间里)工作时,没人认识它们,但是,当它们出现问题时,我们都会感到痛苦。

这一层可以是公共或是私有 / 许可层。人们可能会争辩说,默认情况下,状态是单一且普遍的事实,创建私有层就像是创建平行宇宙。公有和许可层之间还有技术差异,但是,它们超出了本文讨论的范围,因此将其作为产品的设计选择推迟给开发人员。

从这里开始,每一层是构建于位于其下面的层之上,或与下面的层兼容。

计算层

软件允许人类给计算机发出指令。Web 3 计算层允许人类给状态层发出指令执行他们想要的操作。但是,并不是每个计算层都允许执行任何操作。比如,比特币的脚本在这方面很有限,除了交易命令外都不允许。另一方面,以太坊虚拟机(Ethereum Virtual Machine,简称EVM)图灵完备机,因此,它允许通过支持EVM 的状态层执行任何任意复杂的计算。

对于应用程序开发人员(以及区块链开发人员)来说,计算层的选择是关键,因为它确定了给定的应用程序可以运行的区块链能够运行于哪个区块链之上。例如,今天,任何编译到 EVM 的应用程序可以在以太坊区块链上,而不是在比特币区块链上运行。以太坊基金会正在为把以太坊的默认计算层更改为另一个被称为 eWASM 的技术而努力,eWASM 是基于WebAssembly 或WASM 的。其他状态层项目(如 Dfinity )也在计划兼容 WASM。这意味着,从理论上来说,与 eWASM 兼容的应用程序可以在以太坊和 Dfinity 区块链上,以及任何其他决定与 WASM 兼容的区块链上运行。

组件层

状态层和计算层的结合为新的数字价值大大提升了设计空间,大约有 1000 倍之多(又名可编程货币)。因此,我们已经看到开发人员进行大量的实验。其中的一些实现拥有非常大的潜力(请参看下面的例子),可以想象整个子经济(sub-economies)正被构建于给定的组件上。我在 Coinbase 的同事 Jacob Horne 已经将这种现象(连同协议层)列为加密经济原语(Crytoeconomic Primitives)并对其中一种( Crypto,加密商品)进行了深入研究。

组件构建于计算层之上,重用标准化的智能合约模板。 OpenZeppelin 是访问这些模板的良好资源。组件的创建者需要在状态层上发布智能合约。

这些组件的例子有:

原生(“土著”)货币(Native Currency):对任何公共区块链来说都是必要及核心的部分。赋予任何参与者权利来支付区块链和接收所希望的服务作为回报,通常以交易的形式出现。如:比特币,以太币。

加密资产:具有基本功能集和相关元数据的可互换资产。它允许任何人创建自己的货币,从而促进了 ICO 的繁荣。除了货币之外,还可以将众多其他资产形式数字化,像股票、债券、所有权。最常见的标准是 ERC-20

加密商品:具有基本功能集和更丰富的相关元数据集的不可互换资产。也称为不可替代的代币(Non-Fungible Tokens,简称 NFTs)或加密收藏品。 CryptoPunks 首先进行了探索,而 CryptoKitties 使之变得流行起来。使独特的商品能够被数字化,包括收藏品、游戏资产、访问权限和艺术品。最常见的标准是 ERC-721

身份:身份信息的自我主权容器。就其本身而言,很少提供关于其身份的有价值的信息。但是,它允许声明可以和容器相关联,该容器来自大量资源,如政府或其他可信赖的组织(例如谷歌、Coinbase)。领先的协议是 ERC-725 / ERC-735 ,以及由 uPort 提出的协议。以太网命名服务(Ethereum Naming Service,简称ENS)作为一个不同类型的标识符,也具有高度相关性。

价格稳定的加密货币(Stablecoin):加密货币资产具有稳定的价值,与某个来源(比如美元的价值)挂钩。它是一个非常复杂的问题,涉及不同种类的理论和实践解决方案。其中的例子有 TrueUSD Dai Reserve

协议层

一旦在状态层上创建了组件层,它们需要活跃起来。某些功能对组件的生命周期来说是非常基本和普遍的,以至于正在变得标准化。这不仅仅因为这些功能需要使用相同的语言(因此得名协议层),而且因为网络效应使它们更有效率。这些协议本质上为相关组件形成健康的市场,更像我们在现实世界中所拥有的,只是便宜了几个数量级和更有效率罢了。

多个不同的协议已开始得到关注。这些协议采取规范智能合约形式,并由开发协议的团队部署,并由希望把相关功能应用于组件上的应用程序调用:

交易:要组件有价值,则需要能交易。交易协议允许以无信任的方式进行钱包对钱包的资产交易。重要的是,要能区分这些“转发者”和大多数的“去中心化交易所”,这些交易所在智能合约上保管资产。交易通过交易协议得到促进,永远不会保管被交易的资产。一些领先的项目包括 0x Kyber Network 。要找出更多关于受到 0x 协议支持的日常交易量的信息,请访问这里。

贷款:贷款提升了所有资产的效率,因为它促进了投资的回报,否则投资会清零。借助标准贷款协议,一个在美国的人可以把钱借给在津巴布韦的人,通过智能手机到智能手机完成。在该领域, Dharma ETHLend 是目前两个领先的项目。

衍生品:衍生品市场是世界上最大的市场,全球估值大约有 1.2 万亿美元。把衍生品构建成协议,允许为状态层的原生组件形成无信任市场。在该领域,.dy/dx Market protocol 是其中的两个项目。

可扩展性 / 传输层

区块链的可扩展性问题是臭名昭著的。比特币的区块链的交易容量是每秒 7 个,以太坊的是每秒 15 个。尽管存在关于区块链自身是否应该做出让步来实现每秒数千个交易的争论,但是这个观点正被广泛接受,即需要一个用于状态转移的不同的层(也称为第 2 层扩展性)来支持强大的拓扑结构。这些可扩展性解决方案需要与底层区块链的计算层兼容。

关于如何做到这一点有多个建议。以下是一些例子:

支付通道:只允许给定原生货币的转让。通过附加到状态层交易上的可验证的签名完成。需要存入资金来促进交易。示例:用于比特币的 Lighting Network ,用于以太币的 Raiden ,SpankChain 的 Vynos 用于以太币的实施。

状态通道:允许任何状态的传递。通过附加到状态层交易商的可验证的签名完成。需要存入资金以促进交易。示例:用于 EVM 的 Counterfactual Celer Network 、FunFair 的 Fate 通道 Connext

侧链:允许任何状态的传递。通过其他与主链兼容的区块链完成。要求侧链能够和主链上的计算层对话。也需要锁定资金来促进交易。该侧链可以是集中或私有管理的基础设施。示例:用于 EVM 的 PoA Network Loom Network Plasma 框架。应该注意的是,Plasma(具有大量不同的实现)有内置的附加要求,因此它给用户提供了将其资产安全地撤回到计算层的保障。通过这种方式,其价值主张更类似于状态和支付通道。

现在,我们来讲第 5 层,我们可以看到该模块化堆栈如何允许开发人员一些独立于更底层的设计选择,比如,要建立在哪个区块链上。我们来举个例子,假设在不远的将来有个价格稳定的加密货币智能合约,编译到 eWASM,运行于以太坊之上,并与反事实状态通道(Counterfactual state channel,即它可以在状态通道中传递)兼容。相同代码表示,所述的价格稳定的加密货币从理论上来说与 EOS 和 Dfinity 区块链兼容,因为两者都运行 WASM。它甚至可以在这些区块链之上运行的类似状态通道中进行传递。

用户控制层

直到这一层,普通用户几乎不可能使用任何创建的功能,除非直接通过命令行接口和计算层对话。这一层的主要功能是,管理用户的私钥,并能在状态层上签署交易。状态层上的交易改变了用户账户的状态,因此,是用户如何与 Web 3 应用程序进行交互的核心。

以太坊区块链上的交易剖析

钱包有两种类型:

托管的钱包:通过 Coinbase 或其他加密交易所变得流行起来,代表用户通过控制状态层上有限的专有余额来管理资金。这些钱包可以把用户的资金汇集到汇总账户中,并因此在状态层外自行管理各个用户的状态。如果唯一的考虑因素是货币的价值,那么这种操作是可行且经济的,但是,随着 Web 3 应用程序带来的状态数量的增加,这种操作变得越来越复杂。

还有一些例子是新类型的托管钱包,它们为每个用户管理专用区块链钱包,并支持去中心化应用程序的使用。这些钱包预期会更灵活,但是有待大规模的证明。

用户控制的钱包:提供更多的灵活性和直接的方式来使用 Web 3 所能实现的所有任意复杂的操作。使钱包成为用户控制钱包的是用户私钥的本地保管和每个交易的本地签署。这意味着钱包软件不会以允许第三方代表用户提交交易的方法复制用户私钥。

这是所有底层最终用户的接触点,因此,需要向通过这层访问的应用程序开放所有可用功能。这通常通过像 web3.js 的前端库完成。本博文的第 3 部分关于所有这一切如何结合在一起有更深入的讨论。

应用层

与传统网络非常相似,Web 3 上的大多数活动将通过第三方应用程序构建于所有下面的层上。例如,用户意识到在 CryptoKitties 中价值就是是加密商品,因为所有功能通过使用 CryptoKitties(如 cryptokitties.co kittyrace.com cryptogoods.com )的应用程序变得可用。与传统网络应用程序相比,建立于 Web 3 之上的应用程序有不同的属性和要求,因此,大多数称为去中心化的应用程序或 DApp。正如 Matt Condon所阐述的一样,如果数以百万的用户要使用它们,那么DApp 程序将需要与现有的应用程序区分开来。

然而,去中心化带来的新功能正是为什么 DApp 如此强大以及为什么我们可以看到随着堆栈的成熟,用例数量超过今天的网络的原因。我们已经看到世界各地的开发人员在不同的类别中创建了最先进的用例,并且用户以把他们的资金放到他们看到价值的地方来回应开发人员。

筹款:已经筹得近200 亿美元有723000 个独立账户参与, 8 千多家公司获得了投资。尽管已经有了一定的欺诈成分,但是,截至本文发布之日,基于参与的账户的数量,这是最流行的应用程序类别。此外,它仍然很具有吸引力,正如很多促进 ICO 的新筹款平台所见,它受到了监管。

交易平台:鉴于传统的加密交易平台充当用户和状态层之间的中介(以充当托管钱包的形式),构建为 Web 3 支持的应用程序交易平台允许用户保持对其资金的控制,不把资金存入第三方钱包地址。此外,交易体验还有潜在的用户体验优势。很多不同的项目正努力克服一些技术挑战,但是,我们已经看到在该领域的使用率在上升

游戏与收藏品:筹集了50 到100 万美元,有 6 万个拥有一些加密商品的独立账户。虽然小于筹款方式,和加密商品互动的游戏为一个巨大的博彩市场提供了令人兴奋的潜力。

第 2 部分的总结

在这一部分,我的目的是建立一个 Web 3 堆栈的整体视图。正如所解释的,Web 3 堆栈是由允许为所有参与者保存状态的模块组件构成,同时防止供应商锁定到下面的层。鉴于此,如果应用程序想更改状态层(如区块链),那么它无需重写它的整个堆栈。这是非常强大的,因为创造了健康的竞争,并且允许每一层保留其创造的价值,无需担心如果以后游戏规则更改会发生什么事。

第 3 部分:方式

在第一部分中,我们回顾了今天的互联网是无状态的互联网,其参与者无法保存自己的状态,也不能把状态从一个参与者传递到另一个参与者。从比特币开始,区块链为我们提供了一种建立有状态计算机网络的方法。我们这些处于加密货币和区块链生态系统的人已经开始把这个新互联网称为 Web 3,我们已经在第 2 部分中进行了回顾。

Web 3 为应用程序添加了全新的基础架构层与之交互,还有新的客户端功能和需求。用户还需要学习新的用户体验概念以能够使用这些应用程序。因此,Web 3 应用程序的架构给当前的 Web 2.0 框架引入了额外的元素,以及新的构建块和工具,供开发人员熟悉之。

Web 2.0 应用程序体系结构与 Web 3.0 应用程序体系结构之对比

Web 2.0 体系结构与 Web 3.0 体系结构之对比

今天的 Web 2.0 架构的简单版本包括客户端软件(通常是浏览器或独立的应用程序)以及一套提供内容和逻辑的服务器,内容和逻辑都是由同一个实体控制,我们可以称之为 Game Co.。在这个模型中,Game Co. 可以唯一控制谁可以访问其服务器的内容和逻辑,以及跟踪哪些用户拥有什么和这些内容保持多长时间。关于互联网公司如何改变用户规则和停止其服务的例子在技术历史上有很多,而用户无权保留他们创造的价值。

Web 3.0 架构利用了通用状态层启用的功能。通过允许这两件事来做到这一点:

  1. 允许应用程序把它们的部分或全部内容和逻辑放到公共区块链上。与标准 Web 2.0 相反,这些内容和逻辑是公开的,任何人都可以访问。
  2. 允许用户直接控制这些内容和逻辑上。不同于 Web 2.0,用户不一定需要账号或特权 API 密匙与区块链上的内容进行交互。

Web 3 应用程序借助两个关键基础架构部分实现了这一点:

  • 钱包:除了作为 Web 3 栈的用户控制层,现代钱包(如 Coinbase Wallet )与主客户端前端进行交互以实现无缝的用户体验。这通过允许应用程序使用标准库发送请求给钱包本身来实现,其中的 Web3.js 库最为流行。一个 Web3.js 的调用例子可以是支付请求,要求用户确认该钱包能够发送特定数量的资金到申请地址。当用户接受该请求时,发生两件事:1)该钱包让应用程序前端知道并响应,因此,它可以呈现“Payment Submitted”(支付已提交)屏幕,2)钱包发送 RPC 调用给区块链服务器以提交被批准的交易给区块链。这里就是第二个基础设施部分施展身手的地方。
    复制代码
    // 使用合同的 abi 和地址获取合约实例
    const contractInstance = web3.eth.contract(abi).at(contractAddress);
    // 获取用户的 Web3 地址
    var sender = web3.eth.accounts[0];
    // 调用合约的函数
    contractInstance.someFunction({
    from: sender, value: someValue, gas: limit
    }, (err, res) => { /** do something with results **/ });

    示例 Web 3 代码允许 DApp 从用户的钱包调用智能合约函数

  • 区块链节点:有两种类型的代理可以持续地监控和参与区块链,它们分别是矿工和节点。矿工直接维护和运行区块链,而节点监控和提交交易给区块链。可以把它们类比成 ISP 和云服务供应商(如 AWS)。与今天大多数应用程序使用 AWS 的服务来运行其应用程序的后端类似,区块链节点供应商(如 Infura)对区块链节点执行相同的操作。当钱包希望提交交易给区块链或从区块链查询状态信息时,它通知该节点的供应商。应用程序的 app 服务器自己也可以和节点供应商进行交互,通过进行类似的 RPC 调用以保持该 app 的逻辑总是最新。

开发人员需要知道什么?

工具和框架

知道要用什么工具和框架以及熟练使用它们是任何开发人员生命中相当重要的部分。尽管 Web 3 空间还处于其早期阶段,但是我们开始拥有可用的工具,使得开发人员进入 MVP 阶段并且进行越来越快地迭代。这在以太坊上最明显,由于社区中很多人的努力,开发人员开始越来越多地涌入。

图表: Stefano Bernardi ;数据来源: Github

虽然我不会详细介绍可用工具,但是了解哪些工具是开发人员随手可用的很有帮助。下面的列表并不全面(事实上,这里有这么一个列表),但是包含新开发人员应该开始使用的工具。

设计选择

哪些要去中心化:这是一个新的关键选择。大多数早期的开发人员把目标放在尽可能地去中心化上,同时把一切都放到区块链上。然而,鉴于如今缓慢和昂贵的区块链,要扩大规模是不可能的。CryptoKitties 也许是第一个尝试保持某些部分集中的 DApp。例如,他们的繁殖逻辑是不公开的。尽管他们已经因此受到了一些批评,但是,他们没有阻止用户通过该逻辑花费大量的金钱去购买。另一个例子是 Gods Unchained ,其游戏本身托管在标准云基础架构上,但是,会在状态层跟踪资产的所有权。

尽管很多 DApp 将采取不同的方式去中心化,但是,实现该选择的第一原则将采用“最低限度可行的公共状态”方法。如果在正在构建的游戏中,用户能够拥有自己的资产,那么,所有权应该放在区块链上。如果正在构建预测市场,那么该市场的报告和支付应该放在区块链上。最终,如果用户能够在应用程序启用的关键活动上宣称真正的所有权,那么,他们将发现该应用程序的价值。

Web 应用程序 vs 原生应用程序:这是几十年前的选择,但是采用 Web 3 应用程序的新形式。如今,大多数 DApp 是 web 应用程序,因为两个简单的原因:a)不要求用户每次都下载新的应用程序,b)用户无需每次创建新的钱包就能使用应用程序。现有的少量原生 DApp 都引导用户创建新钱包,而这不是理想的用户体验。很容易看出这不是一个可行的未来,因为用户不会为数以百计的钱包保存公钥及私钥。在不久的将来,会有更多的无缝方式让原生应用程序通过该用户体验挑战,但是,就目前来说,web 应用程序允许更容易的新手培训体验。

桌面 vs 移动:Web 3 版本的这个选择不是在这两者之间择其一,而是最终用户如何在这两者上使用 DApp。在桌面上,像 MetaMask 这样的 Chrome 扩展已经被大多数用户用于和 DApp 进行交互。尽管,它需要用户下载新的扩展,但是,用户仍然可以与他们熟悉的浏览器接口进行交互。

但是,移动上的扩展是不可能的,至少在 iOS 上是这样。这是为什么像 Coinbase 这样的钱包应用程序把浏览器放在它们的应用程序中的原因。一旦处于浏览器窗口,那么 DApp 体验和在桌面上是一样的。在进行移动开发时,也有一些技术细节需要注意,Coinbase Wallet 的首席工程师 Pete Kim 在这里做了说明。

有待于解决的其他挑战

谁来为 gas 付费:如今每一个在以太坊上构建的 DApp 让其用户支付交易费用,对以太坊区块链来说,这个费用称为 gas。如果数百万非加密货币原生用户开始使用 Web 3 应用程序,那么,这不是可行的长期方案。有很多理论上的解决方案,有些接近实用,像 gas replyers ,但是,还没有一个是实用的。

是否是特定 App 账户:Web 3 的一个令人兴奋的应用程序是通用身份。由于现在还没有很多实用的身份解决方案,一些 DApp 仍在要求用户创建账户,以让一些身份与其在应用程序上的活动关联在一起。这跟 Web 2.0 上的操作没有太大的不同。一旦有了实用的去中心化身份解决方案,DApp 该如何对待和呈现这一点?尽管还没有明确的答案,但是有些已经提出了建议,例如 Origin 利用 ERC-725 和 ERC-735 构建的演示

总结

在第 3 部分,我的目的是总结 Web 3 给应用程序的体系结构带来的修改和开发人员在开始构建 Web 3 应用程序时所应该知道的事。对新手来说, Cryptozombies 是个很好的资源,它是一个有趣的工作室,教人如何创建第一个 Web 3 应用程序。

尽管构建 Web 3 应用程序的方法将随着围绕着它的基础架构的发展而变化,关键是,今天这些应用程序正在构建中。正如我们所知,这是 web 的未开发空间,很多真正聪明的团队开始应对所面临的挑战和机遇。

以上是对我们这篇分为 3 个部分的理解 Web 3(用户控制的互联网)博文的总结。在 Coinbase ,我们正在构建产品以支持开放的金融系统(Open Financial System),并且,我们把Web 3 看作是全世界的开发人员将构建产品和业务来让这个愿景成真的方式。如果您想加入,通过构建您自己的Web 3 应用程序来参与其他的生态系统,请务必看看 Coinbase Wallet ,来联系已经在使用 DApp 的用户们。我们也在大量招聘承担不同角色的人,对那些将与我们一起构建这个去中心化网络的公司进行投资

感谢 Linda Xie Josh Stark Tony Sheng Sid Coelho-Prabhu Jacob Horne Daniel Harrison 的反馈。

阅读英文原文: Understanding Web 3 — A User Controlled Internet

感谢杜小芳对本文的策划和审校。

2018 年 9 月 24 日 18:21 1449
用户头像

发布了 199 篇内容, 共 63.7 次阅读, 收获喜欢 269 次。

关注

评论

发布
暂无评论
发现更多内容

倒计时!Pulsar Summit Asia 2020 演讲征集

Apache Pulsar

开源 云原生 pulsar Apache Pulsar 消息中间件

华为云推出全自研数据库,GaussDB(openGauss)能否撑起一片天?

华为云开发者社区

数据库 数据 gauss db

LeetCode题解:641. 设计循环双端队列,使用双向链表,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

持续引领大数据行业发展,腾讯云发布全链路数据开发平台WeData

小小的一朵云

大数据

2020面试阿里字节跳动90%被问到的JVM面试题附答案

Java架构师迁哥

线段树(Segment Tree)

zayfen

算法 线段树 segment tree

区块链带来的技术创新和变革

CECBC区块链专委会

区块链技术 经济

原创视频 | 架构漫谈—如何创造复杂而有序的软件系统【含课件下载】

编程道与术

Java 编程 架构 软件开发 软件架构

数字货币视域下的金融安全实现路径

CECBC区块链专委会

区块链 数字货币

jdk 源码系列之StringBuilder、StringBuffer

苏格兰、情调

Java jdk 源码解析

看看别人是怎么面试蚂蚁金服的!社招Java面经分享

Java架构师迁哥

Java 阿里巴巴 面试 蚂蚁金服

为什么90%的“码农”做不了软件“架构师”?

Java架构师迁哥

Java 学习 架构师

原创 | 使用JPA实现DDD持久化-O/R阻抗失配(2/2)

编程道与术

Java hibernate DDD JDBC jpa

架构师训练营第三周学习总结

邓昀垚

架构师训练营第 1 期

原创 | 使用JPA实现DDD持久化-JPA vs MyBatis

编程道与术

Java hibernate 编程 mybatis jpa

架构师训练营第三周作业

文智

架构师训练营第一期

腾讯云大数据发布最新产品矩阵,助力企业整合打通海量数据

小小的一朵云

大数据

第二周-学习总结-框架设计原则

莫森

「架构师训练营第 1 期」

原创 | 使用JPA实现DDD持久化-JPA,Hibernate与Spring Data JPA

编程道与术

Java hibernate Spring C Data jpa

联邦计算:不暴露真实数据如何完成合作建模?

小小的一朵云

大数据

你在开发过程中使用Git Rebase还是Git Merge?

华为云开发者社区

git 华为 管理 代码

第二周-命题作业

莫森

「架构师训练营第 1 期」

手把手教你:将 ClickHouse 集群迁至云上

小小的一朵云

大数据 Clickhouse

为什么推广ipv6以及网站ipv6改造基本步骤

MySQL从删库到跑路

Web IP 网络

打造一个全功能的浏览器

Daniel

架构师第一期作业(第三周)

Cheer

作业

致谢!华为全联接2020精彩回顾

华为云开发者社区

华为 华为云 智能 hdc

腾讯云副总裁刘煜宏:大数据平台算力弹性资源池达500万核,国内最强

小小的一朵云

大数据

一次注定失败的裸面

escray

ruby 面试题 面经 大龄程序员 面试经历

原创 | 正确区分属性和字段

编程道与术

Java hibernate 编程 软件开发 jpa

揭开500亿“区块链”骗局

CECBC区块链专委会

法律 传销

从笔记本到分布式大数据,无缝扩展AI

从笔记本到分布式大数据,无缝扩展AI

理解Web 3——用户控制的互联网-InfoQ