Solana在过去一年中经历了巨大的发展和变革。尽管大多数关注点集中在价格波动和memecoin市场上,但Solana真正的成功在于其技术发展和实际应用。
本文将深入探讨Solana采用和开发的多种技术,从L2生态系统的蓬勃发展到ZK压缩技术,以及全新的验证器客户端,展示了Solana可能迎来的光明未来。
Solana的L2与Rollups技术
尽管Solana的1.18.15软件更新带来了重要的网络改进,特别是新的中央调度程序,但这只是Solana在处理高交易量和规模时取得成功的一部分。
数月来的memecoin交易拥堵和空投活动考验了Solana的单一链架构,引发了关于保持单一链还是采用模块化方法的讨论。
Solana的单一链设计在交易速度和组合易用性方面具有优势,但随着网络的成熟,基础设施成本不断上升。今年早些时候,有许多关于Solana需要L2和Rollup解决成本上升和拥堵问题的讨论。
随着游戏、人工智能、银行和交易领域应用链以及L2的发展,Solana虚拟机(SVM)模块化的发展势头日益增强,这一趋势受到可扩展性需求和Pyth等应用链成功的推动。类似Pyth的应用链已经效仿,利用自己的SVM为特定用例构建应用链和Rollup。
MagicBlock在Solana上引入了临时Rollups,用于可扩展和可组合的链上游戏,而Grass是一个基于浏览器的DePIN项目,利用ZK证明在其自己的L2上进行数据验证,解决了AI数据的问题。
Zeta Markets则是一个永久性的DEX,计划推出Solana Rollup,以改善其用户体验、资本效率和交易速度,而Sonic则最近推出了其测试网,正在构建一个模块化的SVM链(超网格),供游戏在Solana上部署自己的链。
Iron Bank正在开发首个使用SVM进行高性能和合规法定交易的机构链上银行,而Mantis是一个Solana Rollup,通过Picasso Network的Restaking Layer提供链抽象订单流、跨链互操作性和原生收益。
ZK压缩技术的应用
除了L2,Solana的开发者平台Helius和Solana的ZK层Light Protocol还引入了名为ZK压缩的技术,旨在扩展网络的能力。
ZK压缩技术旨在通过解决状态膨胀问题来增强可扩展性。状态膨胀导致每个节点需要存储越来越多的持久数据,增加了完整节点的硬件需求和历史数据的维护成本。这不仅增加了网络的运行成本,还降低了去中心化程度,并使应用程序之间的互操作性更加困难。
与传统文件压缩类似,ZK压缩通过将多个账户分组为一个可验证的摘要(称为Merkle根)来优化Solana存储分类账数据的方式,从而降低了存储成本,同时保持了数据的安全性和完整性。这种优化发生在RPC层级,有助于不同部分之间的网络通信,而不是直接在Solana上通信。
ZK压缩技术可以显著提升Solana的可扩展性,缓解状态膨胀问题,降低完整节点的需求,增强历史状态的访问能力,提升分类账的效率,降低交易成本,并维持去中心化特性。
全新验证器客户端的引入
Solana正在积极开发新的节点客户端,以满足区块链高性能和可靠性的要求。其中两个主要的新发展是Firedancer和Mithril节点客户端。
Firedancer验证器客户端
即将推出的Firedancer验证器客户端由交易公司Jump Crypto开发,旨在通过模块化架构、低延迟和高吞吐量来增强Solana的性能。
与传统客户端不同,Firedancer使用单独的进程(称为“区块”),每个进程执行特定功能,例如处理交易或验证签名。这种模块化方法确保了一个区块的故障不会影响整个系统。
Firedancer还利用自定义实现有效地管理数据流,最大限度地减少内存分配,并防止导致网络中断的拥塞。此外,Firedancer通过数据并行性处理大量交易,实现最小的延迟。
通过结合现场可编程门阵列(FPGA)和高效硬件,Firedancer实现了惊人的吞吐量和能源效率,每秒处理多达8M个签名。
Mithril全节点客户端
Mithril是一款即将推出的全新全节点客户端,由验证器Overclock开发,采用简单性编码语言Golang编写,旨在降低硬件要求并提高Solana节点的可访问性,从而增强可扩展性和去中心化。
Mithril的开发分为几个重要的里程碑,首先是重建SVM,包括用Golang重建SVM、重新编写所有系统操作和本机程序,并确保全面测试和无错误。
第二个里程碑侧重于处理交易和更新Solana账本,通过实现最小的RPC接口来改善与网络的交互,并优化基础设施组件以确保系统正常运行。
第三个里程碑涉及通过升级虚拟机和账户数据库来优化系统性能,减少资源消耗,以便更快地执行智能合约和更高效地管理数据,从而使系统更具可扩展性。
最后一个里程碑则旨在通过从多个来源检索区块链数据、确保数据的可用性和建立历史数据的存档能力来升级数据检索和存储。