摘要
- Solana扩容主要基于:高效利用网络带宽、减少节点间通讯次数、加快节点运算速度 三大方面,这些措施直接缩短了出块和共识通讯的时间,但也降低了系统可用性(安全)。
- Solana提前公开出块者Leader名单,揭示了单一可信的数据来源,缩减了共识通讯开销。但又会带来贿赂、针对性攻击等安全隐患。
- Solana将共识通讯(投票信息)作为交易事件来处理,TPS成分中超过70%都是共识讯息,与用户交易相关的TPS约为500—1000;
- Solana的Gulf Stream机制取缔了全局性交易池,这提高了交易处理速度,但降低了过滤垃圾交易的效率,Leader容易宕机。
- Solana的Leader节点发布的是交易序列,而非真实的区块。结合Turbine传输协议,交易序列可以切碎后分发给不同节点,数据同步速度极快。
- POH(Proof Of History)实质为一种计时和计数方式,它给不同的交易事件盖上序号,生成交易序列。Leader实质上在交易序列中发布了全网一致的计时器(时钟)。在很短的窗口期内,不同节点的账本推进、时间推移都是一致的;
- Solana有132个节点占据67%的质押份额,其中的25个节点占据33%的质押份额,基本构成了“寡头政治”或“元老院”。如果这25个节点串谋,足以导致网络陷入混乱;
- Solana对节点硬件水准要求很高,它以设备成本为代价,实现了纵向扩容。运行Solana节点的个体多为鲸鱼或机构、企业,不利于真正意义的去中心化。
- 综上,Solana以高级节点设备、颠覆性的共识机制与数据传输协议,将Layer1扩容推向了极端,基本触及无分片公链可维持的TPS瓶颈。但多次宕机已经预示了牺牲可用性/安全性来换取效率的结局。
导语
2021年是区块链和Crypto的转折之年。随着Web3等概念成为显学,公链界迎来了有史以来最强劲的流量增长。在这样的外部环境下,以太坊凭借充分的去中心化和安全性,成为Web3世界的泰山北斗,但效率问题却成了它的“阿喀琉斯之踵”。相比于TPS轻松破千的VISA,每秒10几笔交易的以太坊宛若怀中襁褓,与其“世界级去中心化应用平台”的宏大愿景相差甚远。
对此,Solana、Avalanche、Fantom、Near等以扩容为核心的新公链一度成为Web3叙事的主要角色,获得了巨量资本的垂青。仅以Solana为例,这个号称“以太坊杀手”的头部公链在2021年市值飙涨170倍,如日中天,甚至一度超越老牌公链Polkadot和Cardano,大有和以太坊争雄的势头。
但这种来势汹汹的态势没有持续太久。2021年9月14日,Solana因为性能上的问题,首次迎来宕机事故,时间长达17小时,SOL代币价格随之快速下跌15%;2022年1月,Solana再次出现宕机,时长足有30小时,引发了极为广泛的讨论;之后的5月,Solana先后宕机2次,6月初又宕机1次。根据Solana官方的说法,其主网至少经历了8次性能下降或是宕机事故。
伴随着诸多问题的出现,以太坊支持者为首的批评者轮番对Solana提出质疑,有人甚至给Solana冠以“SQLana”的称号(SQL是管理中心化数据库的系统),并先后产生了大量的评论与分析。时至今日,关于Solana真实可用性的讨论似乎从未停止,吸引着无数好奇心浓重的观察者。出于对主流公链的兴趣与关注,本文对Solana扩容机制及其宕机的部分原因展开简单解读。
Solana系统架构、共识机制、区块传输流程
公链的效率主要指其处理交易的能力,也就是吞吐量TPS(每秒处理的交易笔数),这个指标受到出块速度和区块容量的影响,同时也影响着交易手续费和用户活跃度。从2018年甚嚣尘上的EOS,到近期发币的Optimism,所有扩容方案几乎都绕不开“加速出块”这个最关键的要素。
要提升出块速度,往往要在出块流程上“做手脚”,Solana也不出其右。其扩容方式主要立足于 高效利用网络带宽、减少节点间通讯的次数、提高节点处理事务的速度 三大方面,这些措施直接缩短了出块和共识通讯的时间。Solana的创始人Anatoly Yakovenko及其队友对每一个细节都进行了精心雕琢,以系统的可用性(安全)为代价,尽可能在效率上作出提升,基本达到了无分片公链的实际TPS极限,最终作出了“有代价”的创新。
相比于其他采用POS的公链,Solana最大的创新点在于其独特的共识协议和网络节点通信方式,该共识协议基于POS和PBFT(实用拜占庭容错