我们眼中的世界计算机到底长什么样?

知识
  • 链闻
  • 2019-07-31 23:25

pexels-photo-325223.jpeg

Vitalik 将以太坊 构想 为世界计算机:一个单一的、可组合的、开放的、无许可的状态机,它可以运行信任最小化的代码。尽管以太坊在许多前沿领域——P2P 层、确定性状态机、可组合的智能合约等——都取得了突破,但它在其他许多领域则表现平平。这些限制——最明显的是吞吐量低、高延迟、事务费用昂贵,以及在平淡无奇的虚拟机中使用自定义编程语言——这些都在妨碍以太坊实现其最初的承诺。

今天,我很高兴与大家分享 Multicoin 在 Solana 的投资理念,同时宣布我们向 Solana 投资了 2,000 万美元的消息。这是索拉纳的 新闻稿。

支持开发人员构建 Web 规模的应用程序

Solana 提供了信任最小化应用程序开发人员所需要的所有特性:

高吞吐量:目前,在一个由 200 个共识节点组成的全球网络上,该网络支持每秒 50,000 次事务

低延迟:最终化时间约 1 秒

低廉的交易费用:通常以一美分的一个零头来计算

用 Rust 作为旗舰编程语言(也支持 C、C++和 Libra 的 Move 语言)

一个异步的、拜占庭容错 (BFT) 共识算法

支持可组合智能合约的单一全局状态

对于开发人员来说,1 - 5 点的特性价值是显而易见的。而我想强调第 6 条的重要性:拥有一个支持可组合智能合约的单一全局状态。考虑到过去几年间加密货币开发人员社区中讨论的本质,第 6 条的价值再怎么强调都不为过。

构建智能合约的开发人员不想处理第 2 层和分片。或者跨分片应用程序状态和逻辑。或者是跨分片延迟。抑或是侧链中的安全模型。或者是状态信道网络中的流动性路由。再或者是他们如何使用零知识证明来进行离线计算。

拥有智能合约链的意义恰恰在于,链本身抽象了交付信任最小化计算所需的所有低层复杂性和经济系统,使得应用程序开发人员能将精力集中在应用程序逻辑上。事实上,当 Vitalik 于 2014 年 1 月在迈阿密向世人 揭开以太坊的面纱 时,他所强调的正是这一点:世界计算机的意义在于抽象所有不特定于应用程序的东西!

虽然有许多类型的可伸缩解决方案正在使用,但是每一种解决方案都为应用程序开发人员、用户和整个生态系统创建了特殊的复杂性。这当中最新的一种复杂性——我称之为「创造生态系统包袱」——尤其具有挑战性。例如,钱包需要知道用户资产在许多链和状态通道中的位置;用户需要瞭望塔 (watchtowers);流动性提供者需要提供流动性;流动性池被打破;延迟被引入到各种奇怪的地方;诸如此类。

或者换一种说法:所有这些异构的可伸缩解决方案都破坏了定制的、不统一的、逻辑分散的单个逻辑中心化系统(但在架构和政治上是去中心化的)的优雅和简单性。逻辑碎片增加了用户、开发人员和服务提供者的复杂性和摩擦。

所有异构的可伸缩解决方案都是在回应这样一个事实:到目前为止,还没有人知道如何在扩展第 1 层的同时保持足够的架构和政治去中心化。当我告诉人们,Solana 已经解决了如何扩展第 1 层的问题时,他们都认为这个架构肯定会是实验性的,而且存在风险。他们通常还认为,把赌注押在异构的第 2 层扩展上风险要小得多,这主要是因为加密界自 2014 年以来一直是这么讨论的。

讽刺的是,这与现实恰恰相反。第 2 层解决方案或分片完全没有超出概念验证的范围之外,也没有人成功解决了以异构方式进行扩展所产生的二阶和三阶问题(例如,通过跨链技术桥接侧链,处理拥挤的分片,要求应用程序逻辑考虑外生状态等)。

与此同时,开发人员——包括加密开发人员和非加密开发人员——已经知道如何为第 1 层构建和部署代码:在链上部署一个智能合约,然后用户向链发送签名消息。仅此而已。

如果没有逻辑集中的接口,就不可能提供简单的抽象。

这并不是说第 2 层不好,或者开发人员不会构建成功的第 2 层产品。相反,Solana 的情况是,开发人员不必依赖这些定制的可伸缩解决方案(开发人员肯定会在 Solana 之上部署第 2 层,而且他们一定可以成功,因为 Solana 是无许可的)。对于绝大多数用例,构建在 Solana 之上的开发人员根本不需要考虑可伸缩性,因为 Solana 的第 1 层的全部意义就在于抽象复杂性。

将资金稀缺性和信任最小化的计算分离

Solana 的指导原则是软件不应妨碍硬件。

我再重复一遍。

这里有三层主要含义:

首先,Solana 网络作为一个整体以与单个验证器相同的速度运行。这一点其实很直观:如果软件不妨碍硬件,假设带宽不构成瓶颈(不会如此;这一点在下面的 Turbine 部分还会详述),网络将以与一台机器相同的速度运行。

其次,整体网络性能随着带宽和 GPU 内核的数量而扩展。带宽在持续以 每 18 - 24 个月翻一番 的速度增长,现代互联网连接距离光纤达到物理极限饱和还有许多个数量级的差距。虽然单线程 CPU 的性能不再按照摩尔定律提高,但是 GPU 的数量也仍然是 每 18 - 24 个月就会翻一番,而且暂时还看不到这种发展的尽头(Solana 利用具有 4000 多个内核的大规模并行 GPU 进行事务处理;更多信息请参考下面的 Pipeline 部分)。

第三,由于 Solana 的整体网络性能随底层硬件线性增长,Solana 在当前稀缺的地方创造了丰富性:信任最小化的计算。在过去的几百年里,技术的主旋律一直是令以前稀缺的资源变得丰富。摩尔定律最清楚地捕捉到了丰富的概念,但丰富不仅仅关乎纯粹的计算能力。随着软件继续吞噬世界,几乎每个行业都感受到了丰富性的影响。

虽然丰富通常是好事,但在一个领域,丰富显然是件坏事:货币供应。由于无许可 BFT 共识的存在,使得每条无许可链都具有稀缺性,从而保证了货币供给的稀缺性,但这同时也造成了信任最小化计算的稀缺性。通过创建一个软件不妨碍硬件的网络——允许网络性能与硬件一起伸缩——Solana 使信任最小化的计算成为一种丰富而不是稀缺的资源,同时仍然为货币供应提供强有力的保障。

货币供应的稀缺性和信任最小化计算的稀缺性从前是被捆绑在一起的。Solana 让这二者彼此分离。

世界计算机必须提供丰富的计算能力,但需要由稀缺的资金提供动力。

技术概述

七个主要的技术突破令 Solana 成为可能。我将简要介绍每种突破。每一小节都提供了链接,可以看到来自 Solana 团队的详细解释。我按堆栈的顺序自下而上介绍:

1. 历史证明 (Proof of History, POH)。POH 是一个微妙但基础的创新,Solana 其他独特的架构都是建立在其上的。POH 代表了一种全新的方法,用于在无许可设置中编码和通信节点之间的时间间隔,以解决 时钟问题。POH 在达成共识之前充当时钟,使得从共识的时序假设到复制证明 (proofs of replication),从超优化数据传播到内存池管理等的各种独特的时序假设在堆栈上发生。

在分布式系统中,时间是一切的基础,而 Solana 在无许可分布式系统中,采用了一种全新的时间概念。

POH 还提供了另一个好处。对 POS 系统最常见的批评之一在于它们不是客观的,而是 弱主观 的。正是由于 POH,Solana 变得客观。因为时间的推移被编码到区块本身,同时因为验证器通过并行化验证 POH 的速度可以比 POH 的初始生产速度快 1,000 倍,所以一个新的节点可以在没有带外信息的情况下,验证区块链从创世到当前的完整性。

2. Tower BFT。这是一个 POH 优化版本的实用拜占庭容错算法 (PBFT),倾向于活性而非一致性。

3. Turbine。这个区块传播协议大量借鉴了 BitTorrent。在 Turbine 的助力下,网络的总吞吐量相当于上 / 下速度最快的⅔节点,减去一些用于容错的擦除编码的常量因子。Solana 与最快⅔的节点的带宽呈线性扩展。所有其他链都是以亚线性方式扩展的。

4. Gulf Stream。无内存池事务转发协议。

5. Pipeline VM。Pipeline 是一个自定义虚拟机,它利用 LLVM 为 GPU 编译代码,以实现大规模并行事务执行(而不仅仅是签名验证)。这为 Solana 带来了巨大的规模收益。传统的区块链是单线程计算机,而 Solana 的 Pipeline 在 GPU 上同时处理数千个事务。

此外,Pipeline 利用伯克利包过滤器 (Berkeley Packet Filter, BPF),这意味着虚拟机将事务执行直接交给硬件(而不是在虚拟机中执行事务),从而进一步提高性能。

虽然 Pipeline 不依赖于 WASM 字节代码,但是开发人员可以使用为 WASM 编译器编写的代码,然后使用 Pipeline 编译器重新编译,当中只需要非常少量的更改。这使得 Solana 可以轻松支持为基于 WASM 的链(如 EOS、Dfinity、Polkadot 和以太坊 2.0)编写的应用程序。除了支持 C 语言、C++语言和 Libra 的新 Move 语言之外,Pipeline 的旗舰语言为 Rust (更多内容见下文)。

6. Cloudbreak。可水平扩展的帐户数据库。像 LevelDB 这样的传统数据库在单个实例上每秒的随机写入操作不能超过 5,000 次。Cloudbreak 是 Solana 针对水平扩展磁盘 I/O 的新解决方案。Cloudbreak 基于分散-聚集等操作系统技术,以提供无与伦比的磁盘 I/O。

事实是,Solana 速度如此之快,所以该团队只好从头开始创建一个新的数据库结构,避免磁盘 I/O 成为瓶颈。

7. 复制器 (Replicators)。一种分布式分类账存储,用于处理数兆字节级 (pb) 数据的数据可用性问题。以 1GB/ 秒的速度来计算,一个网络一年将产生大约 4 pb 的数据。在这种规模下,存储事务历史将很快成为主要的中心化向量。Solana 通过复制器解决数据可用性问题。Solana 不需要共识节点存储整个历史,而是利用了第二类节点——即复制器——它们的唯一职责是存储事务历史的小片段。复制器利用复制证明(借鉴 自 Filecoin)来证明它们正在存储应该存储的状态片段。通过经济激励,Solana 将管理数据可用性问题的成本分配给数千甚至数百万个复制器。

这些创新的共同主题可以归结为一个词:优化。在基于第一性原理,对堆栈的每一层进行构建方面,Solana 是我所见过的最清晰的例证。这个团队系统地确定了拖慢其他链的每个问题(例如共识开销、单线程计算和磁盘 I/O),并设计出了独到的解决方案,逐个击破。

Libra 和 Move 语言

Facebook 的 Libra 团队开发了一种名为 Move 的虚拟机和编程语言。虽然 Libra 在 2020 年推出主网时还不可编程,但 Libra 团队已经开放了 Move 代码库的源代码。事实证明,Move 和 Solana 的 Pipeline 虚拟机之间的相似之处远多于不同点。

Solana 本身支持 Move,包括 BPF 和 GPU 上的并行事务处理。这意味着开发人员可以轻松地将为需许可的 Libra 链编写的应用程序移植到无许可的 Solana 链,并获得 Solana 提供的所有性能。

这对 Solana 来说是一个不可思议的催化剂,因为 Solana 既能从 Libra 的分布式协作中获益,同时仍然以完全无需许可的方式运作。

根据 Solana 计划于 2019 年 10 月推出的主网来看,Solana 可能是第一个真正支持基于 Move 的应用程序的区块链。

独特的应用程序

Solana 的性能极其优异,因此能支持以往不可能实现的全新应用程序。举个例子:

Solana 可以从创世单元到顶端单元验证整个比特币历史的块头。同样的道理也适用于像莱特币 (Litecoin) 和 Zcash 这类比特币的分叉,以及以太坊。因为 Solana 可以本地验证其他链的当前状态,所以 Solana 不需要依赖预言机(比如 Cosmos 的 IBC 协议)来理解外部状态。

这意味着 Solana 可以驱动非托管跨链去中心化交易所 (DEX);在 Solana 上进行交易,在资产的原生链上进行结算。

同时由于 POH 可充当块内时钟(而不仅仅是块间),Solana 在块内事务排序方面提供了更加强有力的保证。加上 Solana 惊人的吞吐量,该网络可以支持链上订单簿。这是去中心化交易所梦寐以求的必杀技。

团队

2017 年下半年,Anatoly 开始研究区块链。他认识到,共识背后的核心问题是 时钟问题。具体来说,没有一个通用、全局可用、信任最小化的时钟,便于所有验证器利用它来对事务设置时间戳。他意识到计算机可以使用简单的 SHA-256 循环对时间的流逝进行编码,而且这种数据结构可以用来在免信任的计算机网络中同步时钟。这一核心创新被称为「历史证明」,它在形成共识之前起着一个全局时钟的作用。拥有一个独立于共识运作的全局时钟,是一个微妙而深刻的转变,对建立在 POH 之上的一切都具有重大意义,包括共识本身。

Anatoly 组建了一支最优秀的加密货币工程团队。大多数核心工程团队成员此前已在高通 (Qualcomm) 共事了 10 年之久。团队拥有堆栈的每一层的专业知识,从无线网络到 CPU/GPU/DSP 设计、内核设计、嵌入式系统、OS 和 SDK 等等。重点介绍以下成员:

Anatoly Yakovenko 设计了高性能 DSP 软件,支持 谷歌 Tango),后者是首款支持智能手机增强现实的移动设备。

Rob Walker 曾任职 Brew 高级总监。在 iPhone 推出之前,Brew 操作系统支持逾 5 亿部 CDMA 手机。

Greg Fitzgerald 曾在高通首席科学家办公室就职,研究 LLVM 项目。

Pankaj Garg 帮助定义 LTE 标准并构建 ARM TrustZone。

Stephen Akridge 曾是高通的 GPU 主管,专注于 GPU 编译器和驱动程序。

Michael Vines 曾任 Firefox OS 的高级主管,后来与人共同创办了 Silk Labs,该公司后被苹果 (Apple) 收购。

Eric Williams 博士曾是 欧洲核子研究中心 (CERN) 的一名粒子物理学家。

Solana 之所以成为可能,正是源自于这个团队的技术深度和广度。该团队的专业程度之深,令他们可以深入钻研最基础的代码,他们利用了这种深度,让所有的假设都得到了验证。堆栈的每一层都获得了优化。

与社区见面

Solana 的主网预计将于 10 月上线,在这之前的几个月里,这个团队将开始全球之旅,与世界各地的开发人员见面,回答问题,并展示系统的运行情况。除了世界各地的小型活动外,他们还将于 8 月在柏林参加 Web3 峰会,9 月在上海参加 2019 年区块链国际周,10 月在日本参加以太坊 Devcon 5 活动。如果你想要参加这些活动,请与 Solana 团队联系!

在正确启动一个全新的区块链方面,这是一次独特的机会。这意味着要拿出密钥管理解决方案、交易所和托管集成、开发人员工具(如 Truffle)、查询和 API 层、调试工具等等。如果你正在构建 Web3 基础设施或高性能应用程序,并且希望与 Solana 集成或构建,欢迎与 Solana 团队联系。

很荣幸,我们能够有机会支持 Anatoly 和 Solana 团队,我们也期待着看到由 Solana 支持的独特的应用程序问世!

披露:Multicoin Capital 持有 SOLs 的多头头寸。Multicoin Capital 在本报告发布后 72 小时内(「禁止交易期」)遵守本报告所列资产的「禁止交易政策」。任何高级职员、董事或雇员不得在禁止交易期买卖上述任何资产。本文仅供参考之用,您不应将任何信息或其他材料视为投资或财务建议。本文中的任何内容均不构成 Multicoin 买卖任何代币或其他金融工具的招揽、推荐、背书或要约。


来源:链闻

作者:Kyle Samani

编辑:dapong

图片来源: 由pexels供图

本文链接: https://www.dyqklw.com/article/20190731/916.html

声明:除非注明,本站文章均为第一区块链网原创或编译,转载时请注明文章作者和“来源:第一区块链网”,本站尊重行业规范,每篇文章都标有明确的作者和来源。文章为作者观点,不代表第一区块链网立场。

免责:阁下应知本网站的任何内容仅供参考,不能做为投资决策依据,投资有风险,入市须警慎!请谨防ICO、变相ICO!

相关文章

资讯

原创

荐读

热门标签