Solana 的诞生,既是面向 Web3.0 的基于底层共识的创新,又是打造去中心化的「世界计算机」的一次初心回归。

撰文:小毛哥 MAO

为什么公链项目层出不穷、持续火热?表面原因是,市场需求和逐利本性,但深层次挖掘,我们会发现,现有区块链项目与巨大的市场需求之间,仍然存在巨大的性能鸿沟。

区块链是一种解决方案:为有序且有效的交易提供唯一、规范、不可篡改的分类账本。简单来说,区块链技术有三个非常基本的特性: 抗审查、无需许可、无需信任 。不过,当前已经成熟的许多区块链项目,其共识层仍存在巨大的瓶颈,或者说受制于三难困境,即安全、去中心化、可拓展性不可兼得。众多团队在区块链的共识层面进行探索,尝试进行价值捕获。

如果从共识协议的变迁来思考,我们可以看看,现有公链是如何处理时间与状态的关系的。Grisha Trubetskoy 将一切区块链技术带来的价值属性回溯至比特币发明之初,提出底层共识的本质即是在解决:如何在分布式系统实现一个时钟体系(Timing System)?

以太坊、比特币为代表的区块链,都采用了传统区块链的时钟体系,即时间和状态相耦合,只有随着新区块的产生才能产生全局一致的状态。而 Solana 的创新之处,则是将时间与状态更新进行解耦,为其智能合约平台提供一个免许可、全局可用、信任最小化时钟体系,并在达成共识前优化网络运行。

在 Solana 的时钟体系中,时间和状态并非耦合绑定,链上交易的时间戳将会被编码,交易像水一样在网络间流动。Solana 把这个核心创新称之为「历史证明机制」(Proof of History, POH)。

一方面,因为诸多技术瓶颈,去中心化的「世界计算机」构想还未达成,另一方面,未来又要面向注重隐私和用户所有权而实现去中心化互联网 Web 3.0。Multicoin Capital 联合创始人 Kyle Samani 撰写的一篇文章告诉我们:这两个愿景在逻辑上并非是矛盾的,而是相辅相成、承前启后的。

Solana 的诞生,既是面向 Web3.0 的基于底层共识的创新,又是打造去中心化的「世界计算机」的一次初心回归。

(关于「历史证明机制」(Proof of History, POH)的深度解析,可以查看我们的上一篇文章《Solana 要让区块链摆脱时间的锁链?一起读读区块链的时间简史》)

一、Solana 对「世界计算机」难题提交的答案

对于区块链开发者来说,Solana 是最接近于「世界计算机」的项目,「世界计算机」是加密世界的早期概念。Solana 是迄今为止我们评估过的最具吸引力的 Layer1 平台之一,我们鼓励世界各地的开发者能够认真考虑 Solana。
—— Multicoin Capital 联合创始人 Kyle Samani

Solana 通过将时间与状态分离,证明一个信任最小化、无须许可的「世界计算机」是可以实现的。如 Mulicoin 联合创始人 Kyle Samani 所说,Solana 是最具有吸引力的 Layer 1 平台之一,下面本文会分别从几个角度论证 Solana 对区块链开发者来说,是最接近「世界计算机的项目」。

历史为证,速度至上 —— 底层性能是一切上层建筑的基础

Solana 在其官方网站写道:历史为证,速度至上。Solana 提供高性能区块链底层平台是一切上层建筑的基础。

Solana 如何构建去中心化「世界计算机」的宏愿?

从「时间维度」理解分布式系统的性能至关重要,时间决定一切。通过 PoH (历史证明)「编码时间」的全新思维,Solana 创造了一个加密安全且无信任的时间源,减少了信息传递的开销并使得大规模网络优化,使得无许可的分布式系统甚至可以媲美目前中心化的云计算提供的性能。

具体说来,比特币和以太坊等工作量证明 (Proof of Work)网络系统,可以支持大约每秒处理 10 笔事务 (TPS),以 Tendermint 为例的实用拜占庭容错 (PBFT)为基础的权益证明 (PoS)系统,当节点数在 100 到 200 个时,系统可支持大约 1000 TPS。

而 Solana 在 5 个大洲的大约 200 个验证者构成的测试网络上,吞吐量超过 50000 TPS,平均 TTF (最终性时间)为 1.5 秒。这基本上可以媲美目前最好的全球分布式的数据库 Spanner,但 Solana 具有实质意义的去中心化。

Layer 1 — 抽象复杂性;Layer 2 — No Sharding (拒绝分片)

逻辑简单、信任最小化的可拓展 Layer 1 底层网络,实际上在逻辑上抽象了复杂性,使得应用的开发人员能将精力集中在应用程序逻辑上。

将期待留给 Layer 2 的可拓展解决方案和优化应用场景,实际上增加了开发的复杂性,也增加了用户、开发人员和服务商之间的摩擦。

Solana 将其官方播客取名为「No Sharding」,这听起来有些偏激,但 Solana 对于 Sharding —— 作为一种 Layer 2 的解决方案的观点,也正表明了 Solana 的态度:尽全力打造 Layer 1 的可拓展性。

Solana 如何构建去中心化「世界计算机」的宏愿?

Solana 首席执行官 Anatoly Yakovenko 表示,实施分片技术(Sharding)的项目可能会在其区块链中引入新的安全风险,更容易受到共识攻击,实施分片的风险远远大于潜在的可扩展性优势。Anatoly 认为,若是在 Layer 2 将网络拆分,就会引入一个额外的攻击媒介。他同时表示,如果网络中一个分片被黑客接管,可能会引起多米诺骨牌效应,从而影响代币价格并导致大量用户和节点外流,允许黑客利用分散策略破坏全网生态系统。

Vitalik Buterin 于 2014 年 1 月在向世人揭开以太坊的面纱时,他所强调的正是这一点:世界计算机的意义在于抽象所有不特定于应用程序的东西。不过,Vitalik 的理想仍未完成。2019 年 8 月 21 日,Vitalik 在推特上发文称,对于 Layer 2 链下扩容方案感到悲观,因为对于激励要做很多应用层处理,并且很难大规模应用。

Solana 如何构建去中心化「世界计算机」的宏愿?

其实,在绝大多数的使用场景中,构建智能合约的开发者可能不想或者无力处理 Layer 2 或者分片,而 Solana 区块链则满足了这种需求。Solana 区块链之上的开发人员,无需考虑如何扩展底层的逻辑,因为 Solana 提供了一个更简洁实用的选择:在不牺牲第一层网络(Layer 1)安全性和简洁性的前提下,达到比肩第二层(Layer 2)扩容解决方案的高性能处理速度。

Solana 在 Layer 1 本身抽象出所有底层和经济系统的复杂性,开发者可以专注于其自身所应该专注的应用开发的逻辑。

为开发者打造的底层区块链平台

对于构建如 DApp 的区块链开发者来说,Solana 具有一切助力其成功开发软件的底层的属性:

  • 高吞吐量:测试网在 200 个节点的全球网络中达到 50,000 Tps
  • 低延迟:约 1 秒的最终性
  • 交易费用低:通常来说以分为单位来衡量
  • 编程语言:Rust 是其旗舰编程语言,同时也支持 C、C++、Libra 的 Move 语言
  • 异步算法:异步的拜占庭容错共识算法
  • 全球状态:支持可组合智能合约的全球统一状态

值得一提的是,Facebook 的 Libra 团队创造了一种新的 VM 和编程语言 Move。虽然 Libra 在 2020 年发布主网时无法编程,但从 Libra 团队已经开源的代码库中,Solana 开发人员发现 ,Move 和 Solana 的 Pipeline VM 有很多相似之处。

Solana 如何构建去中心化「世界计算机」的宏愿?

其中,Move 语言引入了资源 (Resources) 和脚本 (Scripts) 作为高阶概念。两者都可以很自然地适应 Solana Pipeline 运行时以及本地程序的设计。Solana 的目标将 Move 作为第一层语支持原生 Solana 程序一样运行,并且可以通过 Move 语言以及 Solana 原生的 Rust 语言进行交互开发和组合,不会影响性能或安全性。

Solana 此前已宣布支持 Move 语言,包括 BFT 和 GPU 上的并行交易处理。这意味着使用 Move 语言构建的项目及应用程序与 Solana 兼容,开发者可以相对容易地将为 Libra 编写的应用集成在无需许可的 Solana 链上,以共享 Solana 网络的交易速度和强大的可拓展性。

Solana 既可以受益于基于 Libra 的开发渠道,同时还能以完全无须许可的方式来运行 Libra 的程序。按照目前的进程,Solana 的主网将在 2019 年 10 月推出,Solana 很有可能成为第一个实际上支持基于 Move 语言应用的区块链。

二、Solana 如何通过基于底层共识的创新引领 Web 3.0 浪潮?

我不确定隐私对于 Defi 是否必要,或许有人认为隐私不是一个必需品,而我们要做的是,让用户有一个选择的权利。
—— Solana 首席执行官 Anatoly Yakovenko

Solana 如何构建去中心化「世界计算机」的宏愿?

在 Web 2.0 时代,用户数据的所有权归平台所有,这带来的风险包括平台数据泄漏、售卖用户数据等问题。Web 3.0 时代的愿景,是将权利还给用户,用户可以自己掌握数据,而垄断数据的巨头们将可能被颠覆。

Web 3.0 概念是由以太坊前 CTO 和波卡的创始人 Gavin Wood 于 2014 年 4 月的一篇文章中首度提出的。相比于传统的互联网,Web 3.0 旨在打造一个去中心化的新型互联网方案,得益于其去中心化的内核,还会同时拥有隐私和抗审查等特性。

Gavin Wood 曾表示,隐私保护是 Web 3.0 的核心。在谈到 Web 3.0 时代隐私的重要性时,Solana 首席执行官 Anatoly 在一次采访中给出了另一个答案:「我不确定隐私对于 Defi 是否必要,或许有人认为隐私不是一个必需品,而我们要做的是,让用户有一个选择的权利。」

美国著名币圈投资机构 Multicoin 联合创始人 Kyle Samani 曾在 2018 年底撰文详细解析 Web3.0 愿景下堆栈的生态全景,描述了各种去中心化技术是如何一层层堆积起来组成一个完整的系统架构,其中 Solana 因为其独有的共识协议层的创新被归类在 Web 3.0 的核心层(Core Stack)之下,给投资者巨大的期待,也引起了巨大的关注和讨论。

经过一年的时间,随着 Solana 生态不断扩展,测试网如火如荼的进行,Kyle Samani 在 2019 年再次发布《开启 Web 3.0 解绑中心化向量》,文中提到相信 Web3.0 将成为一种范式转换,将在下一个十年解锁数万亿美元的价值。经过了一年思考和沉淀后, 他指出实现 Web 3.0 愿景的痛点在于:将数据的所有权和应用逻辑进行解绑。

解绑中心化数据库,解决大规模数据的可用性问题

Web 2.0 时代的模型中,平台将替用户存储和管理数据,由此产生了大规模存储的机房、24 小时在线的服务器。而在 Web 3.0 愿景下,数据不是往中心化存储发展,没有一个中心化的平台数据提供者。因此,数据所有权的范式需要改变,数据所有权的解绑也是 Web 3.0 的基础痛点之一。

这一痛点与 Solana 的创新不谋而合,尤其是 Solana 通过 Replicator (复制器)等创新致力于大规模解决数据可用性问题。

我们在上一篇文章也曾介绍过 Solana 通过验证人和复制器(Replicators)创新性地打造双节点分工,生成轻量级证明,以优化数据储存。

区块链网络的大规模数据亟待解决,目前区块链网络以 1 GB 每秒的速度,每年将为账本生成 4 PB 的数据。按照这样的速度,区块链数据的存储将很快成为主要的中心化向量,繁琐的中心化数据库的方向可能将成为实现 Web 3.0 去中心化愿景的绊脚石之一。

验证人节点:负责验证网络数据,但 PoH 历史证明和 Tower PBFT 帮助其提高验证速度。
复制器节点:从验证人节点中获取计算权重,以极小的硬件要求进行操作。

复制器节点(Replicators)对硬件的要求不高,我们日常所有的笔记本电脑就可以执行。但是复制器节点在网络中的作用却很重要,能够优化分布式数据存储系统,旨在解决处理数兆字节级 (pb) 数据的数据可用性问题。

Solana 的复制器节点不需要参与共识并存储整个数据历史,而是利用多个复制器节点分别储存数据历史的小片段,以生成轻量级证明并执行纠删码功能,从而将整个状态历史被分割成许多部分。这种证明可以复制账本的各个部分,而且允许验证人能够跨 GPU 批量验证

Solana 使用的复制证明 (PoRep)理念主要借鉴自 Filecoin,并利用 PoH 共识提供的时序来源优化复制证明(PoRep)的创建方式。Solana 利用两种类型的节点分工,生成轻量级证明,解绑繁琐的中心化数据存储,并改变数据所有权的范式。

解绑应用和架构的耦合,实现逻辑集中+架构去中心化

以太坊创始人 Vitalik 曾详细解释区块链的「去中心化」的概念。在他看来,当人们在讨论去中心化时,实际上是在讨论三个相互独立的维度,只是在某些情况下,三者也存在相互依赖关系:

  • 架构层面的去中心化:系统由几台物理计算机组成?系统最多可以承受几台计算机同时崩溃?
  • 控制权层面的去中心化:有多少个体或者组织拥有系统的实际控制权?
  • 逻辑层面的去中心化:系统呈现和维护的接口和数据结构看起来更像一个整体,还是非整体?

Web2.0 通过垄断来应对上述的所有问题,它们依赖于逻辑上的中心化存储。这种模式的问题在于,Web2.0 系统耦合了所有形式的中心化:它们不仅在逻辑上是中心化的,而且在政治上和架构上也是中心化的。

Multicoin 联合创始人 Kyle Samani 在最新的文章中给出了他的解决方案:为政治上和架构上去中心化的系统提供单一逻辑上的中心化接口,并总结道,从 Web2.0 向 Web3.0 过渡最大挑战,是从具有三个中心化向量(逻辑、架构和政治上)的耦合系统,向逻辑上中心化但架构和政治上去中心化的系统转变。

我们在前文提到,构建在 Solana 区块链之上的开发人员无需考虑如何扩展底层的逻辑。Solana 通过扩容在 Layer 1 本身抽象出底层和经济系统复杂性的意义,也就显而易见了。因为顺着这一层逻辑思考,Solana 本身所代表的高性能 Layer 1 网络 + 解决数据可用性问题的 Repliator (复制器)创新,其实就是向着 Web3.0 解决方案(逻辑中心化 + 架构去中心化)方向所作出的努力。