Solana 将 PoH 与 PoS 结合,探索了新的性能提升方案,在实践中已超过 5 万 TPS。
原文标题:《OKEx Research:一文读懂以太坊杀手 Solana》
撰文:OKEx Research
OKEx 在 9 月 30 日上线了 SOL,并且从 9 月 30 日到 10 月 30 日期间举办 SOL 有关活动——做任务赢取 10 万美元奖励。不仅 OKEx,据 CoinMarketCap,13 家平台上线 SOL,备受青睐的 SOL 究竟有何来头?
公链领域存在着一个「不可能三角」——去中心化,安全性,可扩展性三者不可兼得,其中,去中心化和安全性是兵家必争之地,于是可扩展性便成为许多公链的头号目标。而 Solana 的可扩展性可以达到网络级别,即跟上摩尔定律的步伐,理论上标准千兆网络下 TPS 最高 71 万,实践中,Solana 每秒最多处理了超过 50000 笔交易,性能高,且发送 100 万笔交易仅需 10 美元,交易费用低。
Solana 概述
Solana 是号称能达到网络级性能的开源区块链网络,总部位于瑞士的日内瓦,3 位主要创始人是 Anatoly Yakovenko、Greg Fitzgerald 和 Stephen Akridge,都曾就职于高通公司。Solana 名字源于圣地亚哥北部一个名为 Solana Beach 的海滩小镇,3 位创始人还在高通工作时在此生活和冲浪了三年。
下表列举了 Solana 早期的大事件:
表 1:Solana 历史大事件,资料来源:Solana 官网,OKEx Research
Solana 没有用 Layer 2 的解决方案或者 ETH 2.0 的分片技术,而是主要采用工作历史证明(Proof of History)技术达到更高的性能。核心创新如下,在第二部分将主要阐述工作历史证明 PoH。
表 2:Solana 核心技术,资料来源:Solana 官网,OKEx Research
Solana 采用有委托的 PoS 机制,矿工将 SOL 委托给验证节点参与维护网络,获得协议设定的 SOL 奖励。验证节点领导者(Leader)生成 PoH 序列,将用户消息、命令排序,使得其他验证节点(Verifier)可以高效处理,投票出 PoH 状态。
图 1:Solana 工作机制,资料来源:Solana 白皮书,OKEx Research
Solana 网络参与者有 4 类:
- 用户:使用网络服务并支付少量交易费用。
- SOL 持有者 / 矿工:将 SOL 抵押委托给验证节点,和验证节点共担风险,共分收益,抵押者收到的收益和抵押到某验证节点的 SOL 成正比。
- 验证节点:投票 / 验证 PoH 状态,验证区块的有效性。正确投票,获得奖励,反之,损失抵押 SOL。
- 验证节点领导者(Leader):从验证节点中竞争选出,负责收集交易,创建包含 PoH 的区块,更新网络状态。有权保留部分交易费用,不得超过协议规定的上限。
验证节点的抵押越多,越有可能被选为 Leader。同时为了激励验证节点诚实,验证节点每正确投票一次,信用分(credits)会增加。而每一轮里,获得的奖励和信用分与抵押之积成正比,即信用分越高、抵押越多,分到的奖励越多。
成为验证节点有一定 SOL 和硬件条件要求,并且系统对不工作或者作恶的验证节点设置了 SOL 罚款,主网 β 版将会推出削减功能(Slashing),自动惩罚作恶节点的部分 SOL。
如下图所示,Solana 的矿工主要分布在欧洲、美国,在我国的热度并不高。
图 2: Solana 头部矿工分布,资料来源:Solanabeach,OKEx Research
据 Github 记录,Solana 有 63 个代码库,包括 5 个主要代码库,11 个固定成员。其中,最重要的代码库 solana 前后有 75 人参与编写,自建立后大部分时间每日更新频率超过 50 次,2019 年 2 月更新频率最高。
图 3:Github 上 solana 更新频率随时间分步,资料来源:Solanabeach,OKEx Research
2019 年 11 月,Solana 项目被著名软件安全公司 Kudelski Security 审计。
图 4:Kudleski 对 Solana 的审计结果,资料来源:Solanabeach,OKEx Research
Solana 交易总数超过 41 亿,出块时间为 429 毫秒,区块高度超过 3969 万,全球验证节点有 178 个。市面上 13 家交易所和 14 个钱包已支持 SOL,钱包范围涵盖了移动 App、网页端、软件、命令行钱包。2019 年 7 月获得来自 Multicoin Capital、Foundation Capital、Distributed Global 等的 1800 万美元融资。
Solana 如何大幅提升网络性能
以太坊最新吞吐量数据为 25 TPS,Visa 大约 1500 TPS,而 Solana 约 50000 TPS,致力于成为网络级的公链。不同于 Layer 2 的各种解决方案或是 ETH 2.0 的分片技术,Solana 是如何大幅提升网络性能的呢?
表 3:各公链最新吞吐量数据,资料来源:Solanabeach,OKEx Research
去中心化网络总是存在不同步的情形,如何达到共识是去中心化网络首要解决的问题。在比特币中,节点依靠的是本地时间,每个节点的时间不一样,因此不能用时间戳做判断。Solana 的思路是找到一个可验证的、共享的时间。SHA 256 作为 Solana 的验证延迟函数(Verifiable Delay Function),具有不可逆性,只能单向计算。如下图所示,PoH 中,上一个输出作为 SHA256 的当前输入,需要写进的数据附加在输入里,如此往复,周期性地记录每次 SHA 256 输出和次数,验证节点通过验证和重复这个计算过程得到需要的时间间隔。
图 5 : PoH 机制,资料来源:Solanabeach,OKEx Research
代币经济
Solana 的代币为 SOL,总供给为 4.886 亿个,现价 2.16 美元,市值 1 亿美元。在衡量交易费用时,通常用一个更小的单位 lamports,1000000000 lamports = 1 SOL。
SOL 的通货膨胀率或者 SOL 供应量随时间的变化由协议设定,具体为 Solana 网络设置的初识通货膨胀率为 15%,每年减少之前的 15%,达到长期稳定率(1%-2%)后保持不变。下图为 Solana 官方给出的示例。这种代币发放设计使得早期 SOL 发放迅速,后期 SOL 供给缓慢增多,有利于早期参与者的利益,但是不利于早期的币价稳定。
图 6:SOL 通货膨胀率随时间变化,资料来源:Solana 官网,OKEx Research
图 7:SOL 代币发放随时间变化,资料来源:Solana 官网,OKEx Research
结语
Solana 将 PoH 和 PoS 等结合,走出了自己的性能提升之路,虽然没有达到理论的 71 万 TPS,在实践中已超过 5 万 TPS。网络设计和代码编写历时较长,更新频率保持良好,且经过了 Kudelski Security 两个月的审计。10 月底,Solana 将开启虫洞(Wormhole)骇客马拉松,虫洞计划旨在建立连接 Solana 和以太坊的桥梁,如果成功实施,将是跨链功能的一大进展。
Solana 在我国挖矿热度不高,SOL 代币发放早期太快,不利于币价稳定。还曾发生信任危机,今年 4 月 Solana 团队被发现 SOL 实际流通量与公布流通量不符,团队私自将本该被锁定的 1136 万 SOL 借给做市商,消息一出 SOL 大幅下跌。