Solana概述:无需分片即可实现扩展

本报告是专门提供给The Block Research会员
本文转自The Block:
https://www.theblockcrypto.com/genesis/76615/solan…

摘要

l Solana是一个可通过将共识机制与区块生成分开、无需分片技术即可来扩展交易吞吐量的区块链网络。
l 2019年7月,Solana在Multicoin Capital领投的A轮融资中筹集了2000万美元。2020年,Solana通过CoinList出售了价值180万美元的SOL代币。
l 最近,加密交易所FTX在Solana区块链上推出了去中心化交易所Serum。

不破坏可组合性来实现扩展性

尽管大多数下一代区块链网络旨在通过分片来扩展交易吞吐量,即将区块链的验证工作划分为较小的碎片(”分片”),但Solana尝试在基础层上,在保持单个统一网络的同时,解决扩展问题。

无需分片技术即可实现扩展性的主要原因是,因为破坏了(或至少限制了)智能合约的可组合性。 去中心化金融的优势之一是可组合性,即开发者能够轻松地实现在他人工作基础上进行集成整合以及开发。

例如,对于像 1Inch.Exchange 这样的去中心化交易所聚合商而言,可组合性至关重要,因为这样就可以立即从而在多个交易所中脱颖而出,提供最佳兑换比率。可组合性的另一个突出的应用案例是闪电贷,贷方可以提供仅在单次交易中有效的贷款,且该贷款必须在交易结束之前偿还。目前大多数DeFi应用程序,都以某种方式利用可组合性,例如 Augur使用Uniswap作为价格预言机。

分片实际上是它们自己的区块链网络,即使每个分片的验证者节点都是从一个全局池(即,以太坊2.0上的ETH抵押者)中选出来的。 为了使分片实现彼此之间能够相互通信,它们必须经过一个保护分片之间消息的区块链。这个过程需要时间、以及强烈的共识机制,此外还需要分片内进行交易验证。

在以太坊2.0中,主链被称为信标链(Beacon Chain)。而在Polkadot中,主链叫中继链(Relay Chain)。 可互操作性的区块链网络(如Cosmos)中,一样也缺少可组合性,在Cosmos网络中,ATOM令牌持有者,不保护他们所连接的应用程序专用链,而是由每个区块链来负责其自身的安全性。

Layer 2的解决方案,也不能解决可组合性问题。 用户必须将其令牌转移到另一个环境(状态通道、或者汇总链)中,并在进入另一个应用程序之前提走他们的令牌。 Layer 2网络上的智能合约,无法直接与在以太坊主链或其他汇总链上的智能合约进行交互。

例如,冒着用户进入失败的风险,调解员可以实现更快地出入链下环境。但是要实现即时交互还是非常困难的。

尝试将与终端用户的接缝进行隐藏,以便在不可直接组合的系统之间进行交互,这也为生态系统带来了成本。 尝试与不同的Layer2网络集成的钱包,需要同步最新的实现方式、以及它们之间潜在的互操作方法。用户可能需要依靠经济假设,才能在不同环境之间快速切换,流动资金池被隔离到自己的网络中,等等。

Web3最佳的用户体验之一,是单点登录,即无需创建帐户或存入资金即可使用新服务。随着Layer 2解决方案变得越来越重要,这种情况可能会改变。 拆分区块链的状态,会给当前尚未解决问题的用户、开发者和服务提供商带来更多复杂的情况。

另外,从工程的角度来看,实际上分片是很难实现的。 像Ethereum 2.0和Polkadot这样的高质量项目,仍可能需要一两年的时间,才能全面实现。

达成共识之前的时钟

Solana的主要设计,是将区块生产与共识机制分开。 这意味着Solana验证者节点总是在产生区块,然后他们可以就这些区块包含的确切内容达成一致。

Solana为什么要这样做?如果将区块链网络比作时钟,会更加容易理解。每个区块都是时间的基准单位,区块的内容是对发生事件的记录,从而定义了未来区块中可能会发生的事情。

在比特币网络中,通过耗费电力,来找到那些使用SHA-256有效证明的矿工(”领导者”),以生产新的区块。网络难度进行了调整,因此出块过程平均需要10分钟。根据比特币网络的共识机制,用户将沿用最长链来工作。如果有很多矿工同时生产多个有效区块,向其添加的区块最多的一条链将成为主链(分叉选择规则)。

权益证明的区块链,是根据矿工获得的加权份额,来轮换领导者(即区块生产者),并且通常当 ⅔ 的验证者进行有效的区块签名后,网络才会达成共识。与比特币网络存在概率的最终性不同,这种 ⅔ 共识机制可以确保区块的最终性和不可逆性。

为了复制信任度最小化区块链的功能,Solana的第一步,是通过使用SHA-256哈希函数作为可验证的延迟函数来定义通用时钟。简而言之,这意味着该函数需要一定数量的步骤来进行计算,从而证明已经在现实世界中花费了一些时间来计算该函数。 在Solana网络中,这个过程称为历史证明(Proof-of-History)。

验证者节点运行不断循环的SHA-256算法,即上一个区块的输出值将作为下一个区块的输入值。 更重要的是,生成数据结构的确花费了时间,每个人都认为生成这个区块花费了一定的工作量。

该过程的一个关键点是,它不是像比特币网络那样,是争夺挖矿能力的竞赛。比特币挖矿是运算SHA-256算法只能在单个CPU内核上完成,并且不可并行。 但是,新的验证器节点可以通过使用并行的多个GPU来验证输出值,而从同步到区块链的当前状态。这意味着,可以有效地验证区块链的历史记录。

每一步,都可以对交易的状态更新进行哈希处理并将其放入数据结构中。通过这个操作,由于将交易数据发布到了特定的区块高度上,将改变后续的所有哈希值,以证明该特定交易是在特定的时间上发生的,并且任何更改该信息的人,创建的区块都是无效的。

这与比特币和以太坊的工作方式类似,其中区块头是Merkletree根,将区块中的所有交易数据与SHA256生成的有效区块头合并在一起,从而为每个区块创建唯一的指纹识别。

由于生成区块是在本地进行的,因此无论从外部接收什么信息,每个验证者节点都可以继续生成区块。因此Solana验证者节点可以像它们的GPU芯片处理交易一样,快速生成和验证区块。Solana网络中,区块时间为400毫秒,相比之下,以太坊为15秒,比特币为10分钟。

权益证明的区块链系统(例如Tendermint),通常需要进行多轮通信,才能对区块进行投票和确认。Solana网络的验证者节点,不必等待接收其他验证者节点关于区块有效性的通信,因为经过一定的时间后,它们可以跳转到生成下一个区块。

当交易广播到比特币或以太坊区块链网络时,交易中的信息就会得到确认,并且每个区块都会增加更多的经济安全性。在Solana网络中,验证者节点在无需进行对等通信的情况下,就可以创建类似的数据结构。

锁仓SOL从而达到共识

Solana的共识机制Tower BFT,与其他权益证明的网络相似。因为验证者节点将其令牌抵押到特定版本(叉)的区块链后,以换取奖励。在特定的时间段中,将选择一名验证者节点作为负责人,他可以在区块链中生成有效的区块,这与比特币工作量证明中获胜的矿工的角色类似。

Tower BFT的核心,是验证者节点将其SOL令牌锁仓在链的分支之后,并在特定时间段内承诺使用那些区块链网络。通过表决使用不同的分叉链从而违反锁定的,将通过削减SOL令牌来进行惩罚。这产生了经济动机来参与正确的分叉链,因为回滚会损失所有交易费用、通货膨胀的奖励,以及将代币锁定在错误的分叉链后的机会成本。

验证者节点必须投入区块链的特定分支的时间,是他们投票的每个额外插槽(400毫秒)时间的双倍。他们将第一个锁定分配到两个插槽,将第二个锁定分配到四个插槽,然后是八个,十六个,依此类推。在获得32票后,验证者节点将承诺使用2 ^ 32个插槽的分叉,即相当于54.5年。 当达到此票数后,奖励将进行分发,Solana区块链将认为这些交易实际上是不可逆的。

通过这种连续的投票,使Solana网络每400毫秒就可以传输一次区块,而无需等待验证者节点。 如果验证者节点没有发现到他们期望的有效区块,他们可以生成一个虚拟区块并等待发现后面具有超多数的有效叉子。

Solana的共识机制还解决了安全性的问题,即当某些验证者节点突然产生比其他任何人都快得多的ASIC来计算新区块的情况,比如具有更快的时钟并且可以超出区块链网络进行审查。

如果一个分叉有两票,以及锁定了四个插槽,即一个竞争分叉链必须至少提前四个插槽,并在两个插槽进行区块生产。 同样,10票需要锁定2 ^ 10(1024)个插槽的,以及需要1024/10(102.4x)更快的ASIC。

有趣的是,Solana得益于生产专用于SHA-256比特币挖矿的ASIC矿机竞赛。没有人可以生产出挖矿Solana块的新芯片,这意味着由Solana验证器维护的时钟将保持相对一致。

此外,Solana通过并行处理非重叠交易的方法,来加速智能合约的执行。 在Solana的虚拟机上,每条指令(智能合约代码)都会中继处理需要读取的帐户以及需要提前写入的帐户。

获得爆发力

简而言之,如果一个比特币矿工,每10分钟收到一次交易处理需求,实际上他们可能会花费100-200毫秒来处理该区块中的交易,然后闲置十分钟,等待到达下一个区块。而在Solana网络中,几乎不会浪费任何时间,因为验证者节点始终保持满负荷运行,以几乎相同的速度处理和产生新区块。

认为Solana处理方法不好的一个反对意见是,由于它对带宽和处理器的要求相对较高,因此去中心化的程度不够。 目前Solana每秒最多可处理50,000个交易,带宽要求为100 mbps。

支持Solana的观点是,大多数发达国家和地区都有足够的互联网资源来支持和参与Solana的共识机制。而且实际上,专业的验证者节点已经主导了权益证明的区块链网络。 Cosmos验证者节点中,45.6%是由前十个最大的矿池组成。 参与Solana网络所需的硬件安装费用仅需约为5,000美元,而许多以太坊矿工(那些业余爱好者们)在启动阶段就已经花费了相同的费用。

如今成为验证者节点,要求通过KYC / AML,因为Solana直接支付它们的验证工作。 一旦Solana的完整主网启动(预计在今年晚些时候)并启用通货膨胀奖励后,任何持有合适硬件的人都可以参与成为验证者节点。

总体而言,与以前大规模对单个统一区块链网络进行扩展相比,Solana的方法可以被认为是一种更加去中心化和信任最小化的方法。 大多数情况下,是通过委托权益证明系统(例如EOS),将验证者节点限制在一小部分参与者范围内。

对于除以太坊外的区块链网络来说,目前的问题是,要获得爆发力,就是要开发必须的基础设施来将用户带入Solana的应用程序中。推荐使用的Solana入门钱包,目前还是非常粗糙。

Solana网络上的第一个高性能项目是Serum,这是由加密货币交易所FTX主导开发的去中心化交易所。这个项目体现了互操作性的重要性,因为目前几乎所有有价值的代币都是基于以太坊网络的,并且在以太坊上进行交易。通过Solana-Ethereum桥,有可能实现轻客户端的使用,即类似于NEAR协议的彩虹桥。但由于gas费用成本高昂,因此很难对该桥以太坊一侧进行有效验证。在此之前,Solana可能不得不依靠类似于wBTC的托管桥。

假如2015年以太坊(或以太坊竞争对手)的设计类似于Solana,那么开发者和用户很可能认为,这是可行的去中心化智能合约平台。

原文链接:

https://www.theblockcrypto.com/genesis/76615/solan…

官网: https://solana.com

WeChat社区: solanamate
微博: https://weibo.com/SolanaNews

币乎: https://bihu.com/people/1959347051

Telegram: https://t.me/solanaio
Discord: https://discordapp.com/invite/pquxPsq
Reddit: https://reddit.com/r/solana
Twitter: https://twitter.com/solanalabs
Medium: https://medium.com/solana-labs
Github: https://github.com/solana-labs

YouTube: https://www.youtube.com/solanalabs

Podcast: https://podcast.solana.com/