不走分片之路的Solana要走的不是小路

与以太坊不同 另类的Solana不走分片之路

前不久FTX将要基于Solana发布其DEX交易所,该DEX名为Serum。FTX的CEO SBF还公开为Solana“带盐”:“Solana棒极了!”这是什么情况?为什么不是基于以太坊构建其DEX?

这一切都源于Solana的特色:在保证一定程度安全的前提下,实现高性能和低费用。


Solana现状

截止到蓝狐笔记写稿时,Solana的总交易数近20亿次,当前的tps大约200-300之间,大约是目前ETH的10-20倍,能处理当前多数场景的交易,尤其是DeFi领域的交易。


(SOURCE:Solanabeach.io)

Solana的代币为SOL,截止到蓝狐笔记写稿时,其流通市值超过3800万美元,活跃的质押超过1.7亿,一共有135位质押者。其中质押超过100万美元(按当前SOL价格计算)的质押者达到128位,目前的验证者是相对分散的,且都质押一定量的资金,Solana已经有了一定的社区基础。目前其质押者主要来自于欧洲、美国,亚洲质押者参与度相对较低。



(SOURCE:Solanabeach.io)

不走分片之路的Solana

目前区块链扩展的主流方案是分片+layer2。而Solana是个另类。它并没有选择分片之路,这也是加密世界中两个让蓝狐笔记印象较深的项目,一个是Solana,一个是Holochain。Solana试图实现高性能、低费用,且兼顾一定程度的去中心化和安全。它还有一个很重要的优势是,不用担心可组合性的问题。如果公链分片之后,可组合性是个必须面对的问题。而没有分片的Solana则不存在这种担忧。

Solana创始人是Anatoly Yakovenko。从公开资料看,他之前一直在思考一个问题:多节点组成的去中心化网络如何才能达到单节点的性能?对这一问题的底层思考,引出了Solana最重要的概念之一:PoH(Proof of History)。

Solana的时钟

Solana的PoH并不是共识机制,也不是抵抗女巫攻击的机制。它本质上是针对区块链时钟问题的解决方案。当前区块链的时钟按照区块滴答来行进,比如比特币,其时间滴答大约每十分钟一次,每次滴答更新一次区块,区块的更新代表全局状态的更新。也就是说,在比特币的PoW机制中,时间和状态是耦合的,保持同步的行进。中本聪通过将PoW、难度调整以及最长链规则结合一起,实现了在无须许可环境下的全局共识。

不过,这种全局共识也存在吞吐量的限制,因为吞吐量取决于区块大小和区块时间。区块越大,区块时间越短,吞吐量越大。但区块越大不利于节点的去中心化,减少区块时间则会增加链分叉的概率。

为提高吞吐量,Solana提出了将时间和状态解耦的方案,如何实现这一点?需要全局可用的时钟。有了全局时钟,状态更新可按照异步方式进行;有了全局一致的时钟和交易时间戳,可以实现交易在网络间的持续流动。Solana的PoH机制就是为网络中的所有节点产生全局可用的时间链。

有了独立的时间链,验证的领导者在收到时间戳后会尽快广播给委员会。时间戳有规范顺序,不是区块生产者任意确定的顺序,这样,Solana中的验证者可以实时向其他节点发送状态更新。节点持续收到新的交易,交易有发送者签名过的PoH哈希,并将其转发给邻居节点。

Solana的验证者通过SHA-256顺序哈希的VDF(可验证延迟函数)来解决时钟问题。每个Solana的验证者使用VDF来维持其自己的时钟,可以为周期(epoch)提前安排领导者。

通过PoH,Solana的验证领导者可以实现持续轮换,且其轮换的决定是异步进行的。Solana网络也可以轮换验证者,且其轮换可在验证者之间无须相互交谈就可实现。而通常的区块链则需要验证者之间进行交谈才能作出轮换决定。这种设计给予Solana更大的可扩展性空间。

除了PoH,Solana在共识机制、区块广播、账本存储等方面也进行了优化。

Solana的TBFT共识

Solana的共识机制是TBFT共识(Tower BFT),类似于PBFT共识。不过,Solana的TBFT将其活性优先于一致性。Solana的节点可以计算当前的验证者数量、每个验证者状态、每个验证者提交给网络中任何区块的超时。通过这些数据结构,节点可以进行投票,从而达成共识。

Solana的Turbine区块广播

Turbine是Solana的区块广播技术,借用了BitTorrent的思想。一个区块传输时,它会分成很多个小数据包,然后广播到大量的随机节点。按照Solana自身的说法,使用其扇出机制,如果每个连接为100毫秒,对于40,000个节点的网络而言,可以在400毫秒内完成复制,500毫秒内完成最终性。

此外,由于Solana的共识层不依赖于点对点消息,因此可以独立于共识进行区块网络传输的优化。

Solana的Gulf Stream

在Slolana的结构中,每个验证者都知道未来领导者的顺序,验证者会提前将交易转发给预期的领导者。这可以让验证者提前执行交易,减少确认时间,减少对验证者的内存压力。

而像钱包这样的客户端则签署引用特定区块哈希的交易。客户端选择被网络完全确认的区块哈希,最差的情况下需要32个区块,假设区块时间大约800毫秒,最多只需要25.6秒完全确认。

一旦交易转发给任意验证者,验证者会转发给未来的领导者。客户端可以订阅来自验证者的交易确认。客户端知道区块哈希在有限时间内过期或者交易被网络确认。它允许客户端签署交易,这些交易可以保证执行或失败。

Solana的sealevel

sealevel是Solana用来构建横向扩展的技术方案,是并行交易处理的引擎。多数区块链都是单线程的计算机。Solana试图在单个分片中支持并行交易执行。它借鉴了“scatter-gathter”的操作系统驱动程序技术。交易预先指定它们在执行时将读取或写入的状态。运行时可以找到一个块中所有非重叠状态转换函数,且并行处理。

sealevel本身是用于安排交易的虚拟机,但它并不在虚拟机中执行交易。它使用Berkeley Packet Filter(BFT,为高性能数据包过滤器设计)的字节码,将交易在硬件本地执行。

使用LLVM(针对WASM的相同编译器),可为开发者提供一组工具,用c/c++和Rust编写高性能的智能合约。Solana没有使用WASM,不过开发者可以在Solana编译器上通过少量更改重新编译C和Rust代码。开发者可以从其他WASM链(ETH2.0、Polkadot、EOS等)将应用迁移过来。这一点对于开发者来说,会有一定的吸引力。

为保证安全,Solana的体系结构支持不同模块之间保持严格状态分离,同时将资源和脚本作为高级概念引入。

Solana的Pipelining

Solana网络上的交易验证过程利用了Pipelining的机制(CPU设计中常见的优化)。Solana网络上Pipelining机制(交易处理单元)在内核级别进行数据获取、在GPU级别进行签名验证,在CPU级别进行存储,在内核空间进行写入。据Solana的说法,通过这一机制,其交易处理单元可以同时处理50,000个交易。

Solana的Cloudbreak

Cloudbreak是Solana的水平扩展内存方案。除了扩展计算,也有必要扩展内存,因为用于跟踪账户的内存很快会在大小和访问速度方面成为瓶颈。一般的处理方法是在RAM中维持全局状态。不过,普通的计算机没有足够的RAM来存储全局状态。Solana设计了Cloudbreak的状态架构来进行优化。每个额外的磁盘增加了链上程序可用的存储容量,并增加了在执行时可以执行的并发读写程序数量。

这个结构支持交易的提前执行。只要验证者观察到交易,sealevel可以开始从磁盘中预取所有账户,并为执行准备运行时。验证者和区块生产者可以在交易编码进入区块前开始执行交易,有利于进一步优化区块时间。

Solana的Archiver

为减轻验证者负担,Solana将数据存储从验证者转移到名为Archiver的节点网络。交易状态的历史记录被拆分为很多碎片,并使用纠删码技术。Archiver用于存储状态的碎片,但不参与共识。Solana利用了PoRep(Proof of Replication)的技术,了解Filecoin的小伙伴们肯定很熟悉,这是源于Filecoin的概念。

Solana通过PoH(Proof of History)来优化RoRep的创建方式。Archiver节点使用PoH产生轻量级的证明,验证者可以通过GPU进行大规模验证。Archiver节点甚至可以是轻量级节点(例如笔记本电脑)。通过纠删码和冗余,Archiver网络可以提供数据可用性保证。

通过PoH的创新和其他几个方面的优化,Solana试图走出一条不靠分片的扩展之路。

如Serum能成功,对Solana意味着什么?

Solana之前有过Kin的支持,kin将其网络迁移至Solana。而如今FTX的Serum也计划构建在Solana上。一旦它获得一定的用户规模和开发者支持,就会引起越来越多的社区和开发者注意。

FTX选择Solana构建其DEX Serum。核心原因有几个:

一是高吞吐量和低延迟。

当前其理论tps最高可达50,000次(60个节点)。如今Solana的tps也在200-300之间(超过150个节点),它可以在不到1秒时间内完成交易。这对跟如今的区块链的低吞吐量和高延迟形成鲜明对比。如果发生抵押资产价格暴跌情况,吞吐量过低,速度过慢都可能导致用户大量损失。这些现实的情况不断促使开发者和用户在寻找新的选项。

二是低费用。

据说百万笔转账的交易费用才10美元左右。这跟如今用户参与DeFi挖矿的费用形成巨大反差。如今用户参与DeFi的流动性挖矿花费几十美元的gas费用是很平常的事情。这么高的费用除非有极高的收益支撑,否则很难持续。

三是兼容性和无须担心可组合性。

Solana支持Rust、C、C++、Move(Libra)语言,也支持开发者从WASM链(ETH2.0、Polkadot、EOS等)将应用迁移过来。这些兼容性可以降低开发者开发成本。

此外,由于Solana走的不是分片之路,也无须担心智能合约的跨分片交易等问题。

Serum的能否成功,对Solana的意义不会低于对FTX的意义。如果Serum成功运行,那么,其他饱受高费用、低吞吐量、低速度的DeFi项目也会开始认真考虑其更多的选项和可能性。当然,由于以太坊生态的丰富性,这不意味着会离开以太坊,只是会考虑更多的选项。

不走分片之路的Solana要走的不是小路

Solana网络采用了基于PoH时钟机制,还优化了共识机制、数据广播、并行交易处理、用单独节点网络进行状态数据存储等,其目就是为了在保证一定程度去中心化和安全的情况下,实现高吞吐量、低延迟和低费用,从而可以满足大部分场景的用户需求。

Solana想要摘取加密领域的圣杯:可扩展性。所以,Solana要走的路不是小路,而是充满梦想的大路。

但它又是另类的,它走的不是分片的可扩展之路,它是加密领域的新物种。

加密领域比特币和以太坊占据绝对主导地位,想要在现有架构下超越它们几乎不可能。唯有全新架构才有机会,唯有新物种才能发展壮大。

当然,新架构意味者高风险,因为它可能做不出来,也可能做出来了但没有社区的支持;它也意味着高收益,如果它能做出来且得到开发者和社区的支持,它就有机会发展壮大。

这就是为什么蓝狐笔记一直在关注不同的区块链范式的原因。其中Solana和Holochain一直处于蓝狐笔记的关注范围,但未来它们能否成功只有时间才能告诉我们,也欢迎大家留言,说说自己心目中的全新区块链物种。

24小时热点

新人加入元宇宙世界教程

元宇宙所指的并不是某一种特定的技术,而是与技术交互方式的转变 ...

9548

波场区块链浏览器

元宇宙概念是谁提出来的?详解元宇宙概念的由来

元宇宙是一个由数字技术构建的虚拟世界,与现实世界相互映射和交 ...

14321

波场区块链浏览器

JPD币(JackpotDoge)涉嫌诈骗?

JPD币(JackpotDoge)涉嫌诈骗是指JPD币宣传自 ...

34293

波场区块链浏览器

热点专题

NFT艺术品到底是什么?

Beeple,“EVERYDAYS: THE FIRST 5 ...

2318557

Opera House

最全的NFT发展史

当我们理解一个新生事物,必须要首先了解其起源,通过对其源头以 ...

1752801

iBox

“华英会”诈骗圈钱5000亿!崩盘后将会凄惨无比

“华英会”崩盘的预警已多次发出,尽管尚未正式宣布崩盘,但大家 ...

1328854

Magic Eden

什么是IDO?这种模式会带来怎样的影响?

要理解IDO(Initial DeFi Offering)初 ...

1158056

Bitstamp交易所

链圈百科:韩国政府机构组织图

一、行政院 韩国行政院是一个由政府的行政机构组成的中央政府 ...

1045720

BitKeep钱包

有黑客采取新型 USDT 假充值手法

根据慢雾区情报,有黑客采取新型 USDT 假充值手法,黑客采 ...

1015812

区块链博客

元宇宙平台合法吗

现在,元宇宙平台备受热捧,但有人质疑其合法性。在此,我们将对 ...

988901

T网

4种利用永续合约资金费率套利的策略

下文将介绍在保持市场中立的条件下,如何从永续掉期资金费率中套 ...

948964

DCG区块链孵化器

国内NFT平台是怎么赚钱的?

2021年被称为NFT的“元年”,互联网巨头、各大企业、艺术 ...

813235

CoinBene满币网

宝二爷郭宏才的乘风破浪之旅

10年后的比特币会涨到10万美元吗?宝二爷说过:“先吹吹牛B ...

727516

QuillAudits