技术

Solana

高吞吐、低手续费的区块链,运行时与 EVM 完全不同。编程模型不同,取舍也不同。

最近审阅: 审阅人Kevin Riedl wiki ↗

Solana 与 EVM 不兼容。智能合约(在 Solana 里叫「Program」)用 Rust 编写,部署为 BPF 字节码,由 Solana 运行时执行。这套架构为吞吐(每秒数千 TPS)和低费做了优化,代价是验证节点对硬件要求更高、以及一种不同的(有人说更中心化的)去中心化分布。

对于用户支付低于一美分手续费、确认达到亚秒级的消费级应用,Solana 很难被打败。对于与 EVM 生态深度组合的 DeFi,跨链过去的工程量并不小。哪条链合适,取决于哪种取舍对你的产品更重要。

绊倒 EVM 团队的那个坑,举个实际例子:Solana 的编程模型是基于账户的,而不是基于合约状态的。你要显式地把一笔交易触及的每个账户传进去、你要管理账户上的租金(rent)、你从一开始就要考虑并行执行。一支熟练于 Solidity 的团队会习惯性地低估这段爬坡、发布在顺路径下能跑的代码,然后撞上账户所有权和租金方面在 Ethereum 里没有对应物的边缘情况。为这个模型转换预留真实的时间;它不是一次语法翻译。

诚实的取舍,以及「挑那条又快又便宜的链」这个创始人错误:Solana 的验证节点硬件要求高于 Ethereum,所以验证者集更小,历史上也出现过网络宕机(最近少了些)。对消费级支付和高吞吐应用,那个取舍通常是没问题的,吞吐值这个价。对一个核心承诺是抗审查的系统,在假定 Solana 过关之前,仔细审视威胁模型。

生态成本是这个决定的另一半。住在 EVM 链上的那种深度、可组合的 DeFi 和工具链,在 Solana 上并非全都存在,而跨链桥接资产本身就是一项不平凡、对安全敏感的操作,不是一次免费的导入。如果你的产品需要插进现有的链上协议,那股拉向 EVM 的力是真实的,应当与 Solana 的原始性能去权衡。如果你的产品大体自成一体、且受吞吐约束(支付、消费级应用、游戏),性能取胜,更小的生态很少咬你。Wavect 在 web3 栈里 Solana 与 EVM 都做交付。我们没有链偏好;我们有用例偏好。

// FAQ

常见问题

Solana 在吞吐量和单笔交易成本上取胜;EVM 在 DeFi 可组合性和开发者生态上取胜。对消费级支付和高吞吐量的消费级应用,Solana 很难被打败。对深度的 DeFi 集成,跨链桥接的工程量并不小。
编程模型。Solana 基于账户的架构不同于 Ethereum 的合约状态模型:你显式地传入账户、你管理租金、你从一开始就要考虑并行性。熟练于 Solidity 的工程师常常低估在 Solana 上安全交付所需的爬坡。
看你需要什么。验证节点的硬件要求高于 Ethereum,所以验证者集更小;历史上出现过宕机,最近少了些。对消费级应用,这个取舍通常没问题;对那些核心承诺是抗审查的系统,请仔细审视威胁模型。