Solana的技术原理、设计框架、最新进展(一)
0xf1E2
July 18th, 2022

总览

Solana 相比于其他 L1, 拥有最高的交易吞吐量,较短的确认时间, 增长最快的开发者社区,以及强大的机构支持。同时 Solana 引入了 POH 机制,这里需要注意 Proof of History 本身并不是共识机制,而是用于提高 Solana 的 Proof of Stake (权益证明) 共识的性能。

它还可以用于提高数据平面协议的性能,历史证明 (POH) 建立了一个历史记录,证明在特定时间点存在特定事件。每个验证者都会跟踪时间, 通过在 SHA-256、顺序散列可验证延迟函数 (VDF) 中对其进行编码。因此,验证者之间无需在处理前进行相互通信确认 ( 通常每个节点需要沟通自己的 precommit 和 prevote), 这大大提高了在速度以及容量上的效率。

举个例子:汽车制造厂,以往在零部件生产出来后,汽车需要依次通过冲压,焊接,涂装,总装加工等流程,而汽车制造厂也是依据这个步骤生产不同的零件,而 POH 允许汽车制造厂同时完成不同零件的生产,之后这些零件再按照拼装顺序,完成冲压,焊接,涂装,总装加工等,POH 允许并行生产的可能性,大大减少了沟通成本和时间成本。

在我们上篇文章 Solana 的逆袭之路 - SQLANA, 我们重点介绍了 Solana 的特性,包括 Proof of History 共识机制、TPS 和 TTF 完美结合、优先交易模型、 Solana 的去中心化之路Solana 上流动性质押协议NFT 市场等,而本文我们将进一步挖掘其技术细节设计框架以及最新上线的 Solana Mobile Stack 等产品生态简介以及其潜在的新上线的 L1 竞品

Solana 目前主要背靠 FTX 以及 Jump Crypto,与中心化交易所的紧密联系, 会加速新用户以及资金的流入,如果做类比的话可以考虑币安及 BNB 链,除了提供低交易费用,BNB 链的搭建也意在战略层面为巨大的币安用户群提供 Defi 的第一个入口。

此外, 币安的 Launchpad 和币安 Defi 质押等产品是用户与 BNB 生态交互的关键,  进一步加速了网络的蓬勃发展。当然币安除了 BNB 链以外, 还有币安智能链 (BSC), 币安智能链(BSC)可以理解为与币安链并行的区块链,与币安链不同的地方在于,BSC (POA) 拥有智能合约功能并与以太坊虚拟机(EVM)兼容。

这里的设计目标是保持完整币安链的高吞吐量的同时,能够将智能合约引入其生态系统。(之前有社区小伙伴不了解 mapofzone 中 Crypto.Org 以及 Cronos 的区别, 我们也与 Cronos 上 POA 进行了沟通。本质上你可以将 Crypto.Org 理解为 BNBchain, 通过质押等产品拓展生态, 而 Cronos 可以理解为 BSC, 其引入了 EVM 兼容, 并且通过 POA 共识机制提供开放, 可扩展性以及可互操作性的开放式平台。)

因此,Solana 采用了类似的策略, 包括集成 FTX 以及利用 FTX 团队开发的 Serum’s CLOB 模型;而 Jump Crypto 在 Solana 的早期提供了非常大的作用,作为行业头部的资本巨鳄以及做市商,其深度的参与做市帮助 Solana 减少了交易流动性风险,而低流动性、 高滑点对于早期项目的发展是非常不利的。当然随着网络的发展, 用户的增长以及生态的搭建,做市商的作用将会逐渐被弱化。

Electic Capital 是一家专注于技术开发社区的 Web3.0 资本,根据 2021 的报告结果,Solana 的开发者在这一年增长了 500%,在开发者增长率上排名第一。同时 Rust 语言, Solana, Polkadot, Cosmos 都在使用的, 在 2021Stack Overflow 开发者问卷调查中也排名第一, 这个结果也帮助解释了 Rust 开发者社区的快速增长。

尽管目前以以太坊主导的 EVM 开发社区仍然是加密行业中主导力量,我们认为新的开发语言 (比如 Rust) 会为行业输入更多新的开发者(包括 Web2.0),并且带来更多的创新。当然,具有 Solana 可扩展性以及流动性的 Neon 以太坊兼容环境的出现(可以理解为 Cosmos 上的 Evmos 或者 Polkadot 上的 MoonBeam 等), 以及 Solana Mobile 等新产品的上线,会进一步为 Solana 带来更多的项目和用户。

核心技术

POH

快速、可靠的同步是 Solana 能够实现如此高吞吐量的最大原因,一般区块链 L1 在区块上进行同步, 区块可以理解为一篮子交易,区块时间指的是开采一个新区块所需的时间。在以太坊中,平均出块时间在 12 到 14 秒之间,并在每个区块挖出后再进行评估,预期区块时间在协议层面被设定为一个常数,当矿工增加计算能力时,用于保护网络的安全,平均区块时间与预期区块时间进行比较,如果平均区块时间较高,则区块头的难度会降低。

所以通过同步区块,交易只有到一定区块时间才会被处理。在 POW 共识机制中, 这个区块时间通常比较长, 需要 10 分钟, 以减少多个验证节点在同一时间生产有效区块的可能性。这个问题我们在加密经济的 MEV 博弈:Osmosis 的阈值加密技术 vs Flashbot 的 SGX? 中提到过,  在 POW 中 (概率出块), 两个矿工可以同时算出这个概率结果,但是由于网络延迟等原因,你无法保证其他人是否也在同一时间算出了这个结果。

而对于节点来说,你需要决定将哪个区块加入到公共账本,这个会根据两个区块的计算工作总量来决定。这里面的问题在于如果能够即时回滚几个区块,快速执行比实际规范更多的计算工作,然后将其显示给网络,这个就是我们通常指的时间强盗攻击 Time bandit attack,所以在 POW 中区块是同时提交的,而确认会需要更多时间,因为攻击者在解密后可以通过潜在的重组给链带来 MEV 漏洞。

而在 POS 中没有这种限制,但是验证者需要通过时间戳决定区块顺序。通常的做法是给每个区块标注时间戳,但是受到网络延迟等影响,时间戳的有效性通常在 1-2 小时,为了解决这个问题, 区块时间也被相应延长, 确保每个区块的中位时间戳总是在增加**。**

而在 Solana 的 POH 机制设计中,领导节点通过加密证明 (自从上次证明已经过去了一段时间) “时间戳” 区块。所有散列到证明中的数据肯定是在证明生成之前发生的,然后这个领导节点和验证节点共享新区块,验证节点负责验证这些证明。所以本质上 POH 可以理解为一堆证明,每一个都证明一些数据存在在创建证明之前,同时在上一个证明之前已经过去了一段时间。

这些区块可以以任意顺序发送给验证节点,通过这种可信同步的概念,Solana 可以将区块分解为更小的条目 (相比于区块包括更小的批次交易),而在区块共识确认之前, 这些条目 (entries) 将以实时流 (Stream) 的形式传输给验证节点,所以通过这种技术,Solana 可以实现毫秒级别的确认时间 (800 毫秒=0.8 秒)。

这里要注意的是,,领导节点将有效批次交易放置于条目之后, 这些条目可以迅速以实时流 (Steam) 的形式传输给验证节点,而在的假设下,,这个过程并不会出现延迟,也就是接受条目之后,验证节点可以立即投票, 而这个乐观处理技术我们称为乐观并发控制 Optimitstic Concurrency Control。

所以相较于大部分主打 POS 机制的 Layer1 链,通过将交易广播至全网后才能完成确认 (节点间也需要再沟通自己的 precommit 和 prevote, 之后节点集投票代表某个区块高度的全账本, 交易确认),在 Solana 上,交易确认只需要验证上个条目的 POH 哈希。

VDF

POH 最先于 2017 年 11 月由 Solana 提出, 而次年斯坦福大学介绍了一种类似的技术,称为可验证延迟函数或者称为 VDF, 是个需要固定时间来执行的函数,并且可以生成它运行的证明,而这个证明相较于生成所需的时间,可以在更短的时间内进行验证,所以其核心特性是快速的验证时间。Solana 验证其延迟函数的方法与创建其所花费的时间成正比,拆分 4000 core GPU , 速度足以满足 Solana 的要求,但是 Solana 的算法相对较慢。所以 VDF 泛指可验证延迟函数的类别,而不仅仅是具有特定性能特征的子集。

PoH 和 VDF 之间的另一个区别是 VDF 仅用于跟踪持续时间,而 PoH 的哈希链包括应用程序观察到的任何数据的哈希值,所以在 POH 中,尽管数据证明了历史,证明了某事件在某个特定时间点发生——数据肯定存在于它之后的哈希之前。但另一方面,这意味着应用程序可以通过更改数据被哈希的时间来操纵哈希链 (POH)。因此,PoH 链不能作为随机性的良好来源,而没有该数据的 VDF 则可以。例如,Solana 的领导者旋转算法仅来自 VDF 高度,而不是来源于其在该高度的哈希值。

设计框架

相比于以太坊的 12-13 秒区块时间, 和每个区块 7,000 笔交易的区块大小,Solana 可以实现 0.4 秒区块时间, 和每个区块 2,000 笔交易的区块大小,同时用户可以享有极低的交易手续费。

同时,Solana 引入的 POH 机制、VDF 函数等执行层的创新, 使其实现了底层的扩展, 相比于模块化的设计, 此设计的优势在于可编程性以及可组合性,而 Rollup 为代表的模块化区块链会存在分散性流动性以及 Rollups 之间的可信桥互通问题,当然虽然目前 Rollups 之间的无需信任互操作性仍然没有完全解决,但是 Slush 等相关提案已经在关于如何在不同 ZKR 间实现无缝分型拓展进行讨论。

同时 Polynya 也公开表示,Solana 的执行层创新是 Rollups 应该学习的,尽管 Rollups 它们在很多方面都具有不可持续的架构,但可以通过采用欺诈证明、有效性证明和/或数据可用性抽样来解决很多问题, 而下文也会介绍 Solana 也将计划引入这些技术。

除了执行层的创新,Solana 非常依赖于摩尔定律,所以 Solana 节点需要的硬件配置要求相较于其他 L1 也会高很多,一个 Solana 的验证节点可以加载几百个以太坊 2.0 节点, 而其扩展性也随着时间依赖于硬件的性能和迭代对这块感兴趣的可以看我们之前的文章单片链 vs 模块链- Solana 和 Celestia 创始人最新辩论

所以尽管硬件的性能有助于其扩展性, 也会带来与之而来的 trade off 问题。目前考虑到较高的门槛, 大部分的节点都以 Solana 基金会的名义运营, 同时在 1876 个节点中, 前 25 个节点就掌握了 33.% 的质押, 而 33.33% 的质押勾结就可以摧毁整个网络。所以无论是高度依赖基金会的节点分布, 还是头重脚轻的节点权重, 都给整个网络带来了潜在的中心化风险。

而本文的开头也提出,Solana 目前用的是 Rust 语言, 而目前以太坊主导的 EVM 开发社区仍然是加密行业的核心力量, 对于开发者来说,EVM 可以快速, 轻松地在其他兼容链上部署, 而 EVM 使用的是 Solidity 语言。

然而, 我们看到 Rust (Wasm 语言区中最大的, 第二大的是 Assembly Script, 第三大 Go 等) 社区正在经历快速的增长, 不管在不同生态 (Cosmos, Solana, Polkadot) 人气增长, 还是从 Web2.0 开发者社区迁移来的大量新开发者, 同时 Rust 的高门槛, 大量减少了分叉项目。

这里要提几个核心点,Solana 上的项目是部分开源 (Serum, Magic Eden 没有开源?), 而在 Cosmos 上通常情况下, 尽管可以直接分叉项目 (比如分叉 Osmosis, 但是实际上并不可行, 你需要去寻找一系列安全的验证节点), 但是消费链的上线似乎又降低了这个门槛, Proposal 72 提及的 P2P Validator 开发的 Neutron 似乎是分叉了 Juno Network, 因而引发了 Juno 生态的极度方案。当然分叉某个模块没为什么问题, 比如 Sceret 等链分叉 Gravity Bridge, Goland 分叉了 Cosmos SDK 等。

中心化以及扩展性解决方案

Solana 现有的中心化性质对网络的安全构成了风险。然而随着时间的推移,节点数量增多, 网络可能会变得更加分散。当然我们之前也多次强调去中心化和节点数量并没有直接联系。什么是真正的去中心化呢,比如质押/哈希算法的分发范围,比如代币的分发范围,比如客户端的个数,比如参与共识的验证节点数,比如可以影响 POS33% 或者 POW51% 的节点和矿工数。

举个例子,虽然 Cosmos 目前协议从 150 个节点增加到了 175 个节点,但也并不说明了更去中心化。他们希望实现的是真正实现投票权/治理的分散。所以 Cosmos 希望通过治理解决,将 Community Pool 的资金分发给不同的长尾节点(质押数量不多,新的节点),但是有非常好的,产品服务发展路径,通过提供质押资金,让他们更好地为 Cosmos 生态赋能 (funding public goods - Optiminism Two Token house model)。

那么 Solana 上是怎么解决的呢? 这里不得不提到 Solana 上的流动性质押协议,其中目前排名第一的 Marinade 一定程度上帮助实现了治理/质押权益的分散。Marinade Finance 将质押分散给不同的小社区节点, 确保收益和激励分发给到社区, 最终反哺给生态, 同时也缓解了中心化的问题。

Solana 高度依赖的摩尔定律认为集成电路上可以容纳的晶体管数目在大约每经过 18 个月便会增加一倍,所以相同的价格下购买的机器,每 18 个月可以提升一倍的性能,所以 Solana 节点需要的硬件配置要求非常之高,而其扩展性也随着时间依赖于硬件的性能和迭代, 硬件的提升也会一定程度上解决这个验证节点的高门槛问题。

同时, 基于其在执行层的现有创新,Anatoly 会考虑引入欺诈证明, 有效性证明以及数据可见采样等技术, 在不牺牲性能的前提下, 提升网络的安全性。值得注意的是,区块链网络首先是社会经济运动,其次是代码。因此,虽然采用更好的代码是最受欢迎的,并且可能会带来技术上的可持续性,但实现社会和经济上的可持续性同样重要。

目前为止,Solana 上的费用微不足道,没有任何拥堵费,它可以支付运行复制品 (replicas) 的成本,至少在牛市的时候是这样。硬件并不昂贵,任何具有任何 PMF 的链都可以支付费用 (Polynya 和 Anatoly 的 Twiter 讨论)。当然其社会可持续性体现在较低门槛的 DPOS 机制, 实现真正的全民民主制度。

产品方面, Solana 带来了极好的用户体验, Phantom 以及 Magic Eden 都已经上线了手机版本, 同时 Solana Mobile Stack 和 Saga 将会推动 Solana 移动兼容性, 助力 Solana 的 mass adoption 进度。目前, 大部分加密行业的产品还主要集中于电脑端, 而 Solana 手机的上线致力于改变这种现状。

通过 Solana Mobile Stack,一个适用于 Android 的开源软件工具包,使用 Seed Vault 安全托管协议在 Solana 上可以启用原生 Android web3 应用程序,该协议有助于即时签署交易,同时将私钥与钱包、应用程序和 Android 操作系统分开。

其中的核心功能包括移动钱包适配器:一种用于将 Web 应用程序和原生 Android 应用程序连接到移动设备上的钱包的协议。开源协议旨在支持所有移动平台,而不仅仅是 Android,并且可以与钱包应用程序一起使用,为远程运行的应用程序(如其他移动设备、台式机或笔记本电脑)提供签名服务。

Seed Vault:内置于移动设备中的安全环境,将私钥、助记词和机密与应用程序层分开,但仍能够与设备或移动浏览器中运行的应用程序进行交互。Seed Vault 可访问设备上可用的最高特权安全环境,从处理器的安全操作模式到专用安全元素,通过 Android 内置的 UI 组件实现安全的交易签名体验。

适用于 Android 的 Solana Pay:Solana Pay 是 Solana 上的分散式支付轨道,内置于 Solana Mobile Stack,使钱包应用能够使用 Android 设备的系统功能通过 QR 码、NFC 点击、消息和用于启动 Solana Pay 请求的 Web 浏览器交互。此外,即时虚拟卡发行将允许用户通过传统支付渠道在全球数千万商户进行基于自托管资金的非接触式移动支付。

此外,Solana dApp Store 是 Android 上用于去中心化应用程序的新应用程序分发系统。Solana dApp Store 将为希望与客户建立直接关系的应用程序提供分销渠道,让他们无需支付平台费用即可进行交易。Solana dApp Store 将与设备上的 Google Play 共存,提供对 web2 和 web3 应用程序的访问。

所以 Solana Mobile 在将新用户引入 Solana 方面的重要性是非常巨大的。同时还宣布承诺提供 1000 万美元的生态系统捐赠,以加速移动 dApp 的开发, 有兴趣的童鞋可以联系我们。

除了 Rust 社区, Solana 也在向 EVM 社区扩展, Neon Labs 的开发——Solana 上的原生 EVM。这让 Solana 可以更具有可扩展性并提高其在其他 L1 中的竞争力。它目前在

Solana Devnet 上面向开发人员和测试人员的 Alpha 阶段。该项目提出由 Jump Capital 和 Spartan 等知名投资者领投的 4000 万美元。Neon 的 EVM 实现将允许它处理

到 4,500 TPS,如果成功, 这将使 Solana 成为全球最快的 EVM 兼容区块链。虽然没有明确的主网启动日期,我们 CFG Labs 将保持持续关注。当然, 鉴于与 EVM 架构相关的工具和基础设施以及其强大的网络效应, 除了 Solana 以外, 其他链, 比如 Polkadot(Moonbeam), Polygon, Avalanche 也接入了 EVM。

聊到跨链这块,Solana 上跨以太坊的两个值得注意的桥包括和 Allbridge。最近,FTX 宣布支持

Wormhole 的 Portal 桥成为他们首选的跨链桥。这意味着 FTX 将扩大对 Portal-wrapped 代币 存款和取款的支持。这意味着,Portal 桥将支持为 FTX 上 500 百万用户提供了更加无缝的桥接体验。通过启用 Portal 包装的 ERC-20 代币(如 $ETH $YFI 和 $SUSHI)的存款/取款,FTX 社区的用户可以轻松地在 Solana 上的各种 DeFi 协议中使用他们的代币。

所有 Portal 包装 (Portal Wrapped) 的资产都可以在链之间自由移动,而不会被双重包装。这意味着,用户可以将 ETH(Portal) 从 Ethereum 发送到 Polygon,再到 Solana 到 Oasis - 他们仍然拥有 ETH(Portal)。

关于生态系统的增长,Solana 通过举办一系列黑客马拉松吸引开发者 。2020 年 11 月的第一届黑客马拉松,吸引了超过 1,000 名参与者和 60 多名项目。从那以后,又举办了四次黑客马拉松,每一次的人数都在增加项目提交和申请人的数量。IGNITION,第四届黑客马拉松,共计收到近 6000 名申请者和 568 个项目提交。 

潜在风险

如果经常发生中断,Solana 上的网络不稳定将会是一个重大问题。2022 年迄今已发生 5 次停机,停机时间从 最近一次的 4 小时到 1 月份的一次长达 6 天,网络中断主要归因于 NFT 铸造机器人和套利机器人。因此为了提高网络稳定性并减少链上造成的停机时间,Solana 在其测试网上的 v1.10 更新中实施了更改网络。Metaplex(帮助开发和启动 NFT 的协议)也

将进行更改以稳定网络,例如实施机器人 Metaplex Candy Machine 中的罚款以及试图执行无效交易的任何钱包的 0.01 SOL 罚款。这些手段可以在机器人交易发生时检测它们,大大减少未来的网络拥塞情况。大多数新的 #SolanaNFT 项目都使用 Candy Machine 来推出他们的系列和作品。

在这个更改中,当钱包尝试完成无效交易时,将收取 0.01 SOL 罚款,这通常由盲目尝试铸造的机器人操作。为了防止 human 支付罚款,前端铸造应用程序需要验证目标 Candy Machine 是否有资格进行铸造。收集到的 Botting 惩罚将提供给 Candy Machine 实例的配置帐户。随后 Candy Machine 的创建者将自行决定如何使用从这些罚款中收取的资金。

同时 Solana 生态系统的互连性是需要考虑的网络失败的重要因素。根据 SolanaFM 的报告,超过 39% Solana 的程序执行通过 Serum。对于 Mango Markets 和 Raydium,

他们 13% 和 99% 的程序执行也被路由到 Serum。2022 年第一季度, Solana 中 50% 涉及 Serum 程序。这给 Solana 生态系统带来了巨大的例如 Serum 的单点故障风险, 如果涉及到流动性和交易问题, 那么多 Solana 上的核心 Defi 协议将会受到影响。

我们将在 Solana 的技术理解、设计框架、最新产品以及生态简介 (二) 中继续介绍其即将上线的几个 Meta 大公链竞品 (Aptos, Sui 等) ,生态情况以及更多观点分享。

Reference

Subscribe to atom_crypto
Receive new entries directly to your inbox.
Collectors
View
#1
#2
#3
View collectors
This entry has been permanently stored on-chain and signed by its creator.