Solana全面报告:不只是Web3时代的苹果(中)

25-01-08 15:05
阅读本文需 38 分钟
总结 AI 总结
看总结 收起
原文标题:Solana Mega Report V2 - Like Apple, but Unlike Apple
原文来源:Four Pillars
原文编译:BlackShibawolf


上篇:《Solana 全面报告:不只是 Web3 时代的苹果(上)》;下篇:《Solana 全面报告:不只是 Web3 时代的苹果(下)》


4.2 致力于发展可靠性和可扩展性的多元化客户端


前面提到的关键技术让 Solana 能够进行快速交易处理、并行执行和低延迟,使其成为建立应用程式的理想基础设施。然而,Solana 的高吞吐量也可能在确保网络稳定性方面带来挑战,例如应对 MEV 机器人或垃圾讯息攻击。为了解决这些问题,Jito 作为 Solana 的第二个客户端于 2022 年 8 月推出,专门解决 MEV 提取效率低下和中心化的流动质押协议问题,有助于稳定网络并促进去中心化。


除此之外,Solana 网络的客户端多元化预计将随著 Jump Crypto 开发的 Firedancer 推出而进一步扩展。Firedancer 通过先进的软件优化提升性能;Tinydancer 是一个轻量级客户端,允许更多用户在较低硬件需求下验证交易;Sig 则使用另一种低阶语言 Zig 开发;还有由 Anza 开发的 Agave。这些新客户端的推出,将进一步提升 Solana 网络的可靠性和扩展性。


4.2.1 Jito-Solana


来源:jito.network/blog


Jito-Solana 启动了类似于以太坊中 Flashbots 的 MEV-boost 解决方案的 MEV 市场,目的是让搜寻者 (Searchers) 能够在 Solana 网路上获取最大可提取价值 (MEV)。然而,由于 Solana 的独特设计(不需要公共记忆体池,主要以先到先服务的方式处理交易,并且区块时间比以太坊快得多),Jito-Solana 的运作方式有所不同。


为了适应 Solana 的独特特性,Jito 的 MEV 客户端引入了一个虚拟的交易池,每 200 毫秒进行一次拍卖,使 MEV 提取过程更加流畅。在 Jito-Solana 中,搜寻者可以通过区块引擎(Block Engine)查看并模拟交易。当他们构建出最有利润的交易组合后,会通过专用的处理管道连接到领导节点。由于交易组合和区块拍卖是在链外进行的,因此失败的组合尝试不会对网络造成显著的拥堵影响。


来源: explorer.rated.network


自 2022 年 8 月推出以来,Jito-Solana 的采用率稳步增长,截至 2024 年 9 月 7 日,其采用率约为 40%。



除了 MEV 解决方案之外,Jito 还推出了流动质押机制 (JitoSOL),将 MEV 收益分配给其用户,并促进 DeFi 生态系统的扩展。


*区块引擎(Block Engine)对分配给验证者或 JitoSOL 质押者的 MEV 利润收取 5% 的手续费。根据以下分析仪表板数据,截至 2024 年 9 月 7 日,验证者累计小费已达约 1,471,989 SOL,而 Jito Labs 的收入约为 77,473 SOL。


4.2.2 Firedancer


Firedancer 是 Jump Crypto 团队开发的全新 Solana 验证器客户端,使用 C 语言完全重写了 Solana Labs 的原始客户端。它的目标是通过软件优化来提升效能,同时增加 Solana 生态系统中的验证器客户端多样性。目前,Firedancer 已在测试网上使用名为「Frankendancer」的混合客户端进行了测试,这个混合客户端将现有客户端的最新运行环境和共识模组结合到了 Firedancer 的架构中。


Firedancer 的第一次展示是在 2022 年 11 月的 Breakpoint 大会上,当时展示了它每秒处理 120 万笔交易的能力(去重后为 60 万笔)。2024 年 9 月 21 日,Firedancer 的第二个版本再次展示了其在受控环境下每秒处理 100 万笔交易的实力,并宣布目前已经在主网以「非投票模式」上线*。Firedancer 团队表示,未来会在添加更多功能、进行优化和完成安全审计后,把它推向生产级别。


*也就是说,虽然 Firedancer 已经在 Solana 主网上参与了交易通讯,并透过 gossip 协议交换讯息,但目前还没有直接生成区块。


来源:Syncracy


根据 Syncracy 的《Solana 论文 - 浴火重生后最快的骏马》报告,使用 Firedancer 可能会稍微增加节点运营成本,但其大约每秒 55,000 笔交易的处理量可以实现非常有竞争力的「每秒交易处理量 / 节点成本」比率。


Firedancer 与现有客户端在架构上的主要不同点是,Firedancer 采用了模组化设计,每个程序都被拆分成许多独立的「Tiles」模组进行优化。这种设计让 Firedancer 避免了现有 Solana 网络可能因特定功能出错或在升级期间而导致的停机,并且可以更灵活地对每个模块进行优化和升级。


最后需注意的是,我们还需观察 Firedancer 何时会正式上线。如果它的效能比现有客户端明显优秀,节点运营商的客户端选择可能会倾向于 Firedancer,这在实际操作中可能会削弱客户端的多样性。


4.2.3 Tinydancer


来源:Tinydancer


Solana 网路缺乏轻量级客户端功能,导致用户必须运行完整的节点才能进行状态验证,这限制了其验证能力。为了解决这个问题,开发中的轻量级客户端 Tinydancer 让用户能够以低成本验证交易,无需下载整个区块或执行完整交易。当检测到可疑交易时,它会向所依赖的完整节点发出警报。


随著运行 Solana 节点所需的硬件需求越来越高,引入像 Tinydancer 这样的轻量级客户端,可能成为增强 Solana 网络节点操作可访问性和可验证性的重要里程碑。


尽管 Tinydancer 的最终设计仍在完善中(其简化支付验证 (SPV) 客户端已于 5 月成功在测试网上线),Solana 是否能真正为更广泛的用户群提供实用的验证能力,并通过「负担得起的验证实现去中心化」,仍有待观察。


4.2.4 Agave & Sig


此外,Anza 团队的 Agave 通过分支 Solana Labs 的客户端来提升现有 Solana 网络的效能,并积极支持其他客户端(如 Firedancer)的开发。Syndica 团队则正在开发 Sig 客户端,该客户端采用专注于可读性和简单性的低阶程式语言 Zig 编写。


简单来说,确保区块链网络客户端的多样性至关重要,这不仅可以消除因使用单一客户端软件运营网络而可能出现的单点故障风险,还允许在不同环境(例如不同程式语言)中进行各种实验,以优化网络效能。虽然我们需要观察这些新兴和现有客户端将如何进一步提升 Solana 网络的效能和扩展性,但此类计划对网络而言无疑是一个积极的发展。


4.3 致力于简单性和灵活性的框架和标准


除了前面提到的完善技术堆叠,Solana 还为开发者提供丰富的工具套件和标准,以支援在 Solana 平台上高效且有效地开发各种应用程式。

Solana 程式库(Solana Program Library)是由 Solana 团队和社群开发的链上程式集合,作为 Solana 开发者的标准库以使用。它包含一组预先建构的程式和实用程式,例如代币建立和管理(SPL 代币程式)、代币交换、借贷协议等,促进在 Solana 区块链上开发去中心化应用程式。


Anchor 框架特别受新手开发者或希望快速设计原型和部署应用的开发者欢迎。它提供了基于 Rust 的 DSL、IDL、测试框架,以及一整套安全性工具。


GameShift 框架则专注于简化区块链游戏的创建过程,支持构建游戏内 NFT 市场等功能。


UI 框架如 Scaffold 和 Wallet-Adapter 可以让开发者轻松地在 Solana 生态系统中建立前端页面并整合钱包。


此外,还有 Geyser、Sologger 及 IronForge 等日志纪录工具,由 BankRun.js 提供更丰富的程式测试环境,以及一个名为 Solana Playground 基于网页的 IDE。Solana 生态系统中还有其他许多文档、框架和工具供开发者使用。


鉴于上述框架的广泛性,以下将重点介绍一些能突出 Solana 独特性或值得期待的标准和子框架。


4.3.1 代币扩展功能 (Token Extension)


以太坊提供了一个环境,允许自由提出各种代币标准,而 Solana 在扩展其标准功能方面则不那么灵活,因为它使用单一的 SPL 代币标准,该标准内建的逻辑限制较多。然而随著区块链的发展,企业对实现符合监管、法律或合规要求的复杂代币功能的需求迅速增长。因此 Solana 和 Anza 团队开发了一套嵌入在协议层的新代币标准,称为「代币扩展功能」。


这个新标准的核心是为现有的 SPL 代币添加可配置的功能,以便在没有额外程式库的情况下支援各种使用案例。代币扩展功能有两种类型:1) 铸造扩展 (Mint Extension) 和 2) 地址扩展 (Address Extension)。


铸造扩展延伸了代币的功能,例如:转帐勾子(Transfer Hook),可在代币转移时依据设定条件自动执行程式;转移费用(Transfer Fee),将费用导向指定帐户;更丰富的元数据(Metadata);以及不可转帐代币和机密转帐之类的功能。地址扩展则包含与帐户管理相关的功能,例如不可变所有者(Immutable Owner),防止重新指派帐户所有权;以及预设帐户状态(Default Account State),要求特定专案的互动才能使用该帐户和资产。


研究报告中详细介绍了这些功能和使用案例,从功能角度而言,Token Extension 所实现的标准已在以太坊的 ERC 标准中被讨论或采用,但仍然没有涵盖以太坊的整个标准范围。然而,Token Extension 的关键差异在于它在协议层实现,而非应用层。虽然这功能看似简单,却带来了巨大的优势——开发者不仅可以自由配置代币扩展功能并快速构建应用程式,还无需担心不同应用之间的相容性问题。(我们已经观察到,以应用层部署的以太坊 ERC-4337 帐户抽象标准正变得越来越受欢迎,以及各个实体实际上如何以越来越分散的方式使用 ERC-4337。)


在今年 5 月成功登陆 Solana 链。此外,Libre Capital 使用代币扩展功能为 Solana 推出了机构基金,这让 Solana 用户可以在链上环境中接触到包括 Hamilton Lane 的 SCOPE 基金、Brevan Howard 的主基金以及 BlackRock ICS 货币市场基金等多样化的基金产品。


4.3.2 可执行 NFT (xNFT)


熟悉在区块链上进行各种活动的用户,可能都经历过必须将钱包连接到第三方网站才能与不同的应用程式交互或管理其资产的复杂性和不便。本节介绍的标准允许可执行代码直接注入到资产本身,从而消除了这个安全向量,并使资产能够作为一个具有多种功能的单一、可扩展的应用程式。



由 Coral 的开发人员为 Solana 区块链开发的 xNFT,代表「可执行」的资产或代码。简而言之,通过 xNFT 插件实现代码会将其转变为一个功能性的 web3 应用程式资产。


Coral 开发了一个名为「Backpack」的统一钱包环境,让 xNFT 能够在其中有机地协同运作。换句话说,所有作为 xNFT 构建的 Web3 应用基本上都能在 Backpack 钱包上运行。因此,Backpack 钱包的用户可以无缝体验整合在这个类似超级应用的钱包内的各种应用(即 xNFT),而无需额外进行单独的连接或转换。


来源:Backpack 移动应用程式


目前,已有约 90 款应用以 xNFT 格式发布,涵盖游戏、NFT、DeFi 等领域。Backpack 和 xNFT 标准完全开源,基于 React 架构开发。如果未来更多的 xNFT 应用上线并支持多种区块链,这些标准可能会为去中心化应用市场带来显著的用户体验创新。


4.3.3 可编程 NFT (pNFT)


在 NFT 交易中,版税是确保创作者获得报酬、让他们能够继续创作的关键因素。然而,消费者往往倾向以最低的价格购买资产,这自然会导致他们偏好较低的版税。这种「版税困境」的例子,可以在过去 Opensea vs. Blur 或 Yawww vs. Magic Eden 等 NFT 市场之间争夺市场份额的竞争中看到。


为了应对这个问题,Metaplex 团队在 2023 年 2 月推出了一个名为可编程 NFT (pNFT) 的新标准。pNFT 的核心概念是允许开发者设定自订规则,这些规则必须被满足后才能对 pNFT 执行特定操作。换句话说,如果开发人员以 pNFT 的形式实现 NFT(或将现有的 NFT 迁移到 pNFT),便能透过指定哪些程式允许转移其 NFT,间接地强制执行版税机制。


4.3.4 状态压缩(cNFT)


在 Solana 网路上储存数据时,需要开启一个代币帐户并支付租金。尽管发布少量数据的成本可能可以忽略不计,但当涉及大量数据时,这就成为一个问题。为了解决这些问题,Solana Labs 的帐户压缩技术与 Metaplex 的 Bubblegum 程式结合,推出了「状态压缩」(State Compression)方案。



状态压缩使用默克树 (Merkle tree) 结构在叶子节点对每个资产的元数据进行杂凑,将其应用于结构并将生成的根杂凑储存在分类帐顶部。这种方法允许使用更便宜的区块链分类帐空间而不是昂贵的帐户空间来安全地储存数据,由于其批量资讯管理的性质,这对于 NFT 来说特别合适。



因此,压缩 NFT(即 cNFT)遵循与未压缩 NFT 相同的元数据架构,但它们本身并不是 SPL 代币;它们只包含潜在解压缩的标识符,用于未来的解压缩过程。将 cNFT 转换为标准 Solana NFT 的解压缩过程是单向的,并通过 Metaplex 的 Bubblegum 程式启用。


然而,由于 cNFT 数据储存在链下,因此需要一个单独的程式来定义交互方法,并且此过程依赖于 RPC 提供者,可能会产生额外的成本。因此当尝试修改 cNFT 时,该过程可能很复杂且成本高昂,例如需要密码学权限证明才能更改链下数据。


4.3.5 ZK 压缩技术(ZK Compression)


来源:zkcompression.com


ZK 压缩技术是由 Light Protocol 和 Helius 团队共同开发的技术,它结合了零知识证明 (ZKPs) 和状态压缩的技术,用于减少状态的大小。这种技术专注在大幅降低 Solana 网络上数据和帐户的运营成本,并创建一个可以开发更复杂的 ZK 友好应用程式(例如身份验证协议)的环境*。简而言之,状态压缩通过默克树结构将压缩状态插入到交易中,而 ZK 压缩则在交易中包含了基于 ZK SNARK 的证明**。


与状态压缩技术类似,ZK 压缩的原理是在链下生成证明,而证明的验证则在链上完成。一旦验证成功,该证明就会被视为普通帐户,并可通过相关交易来更新状态。


*ZK 压缩技术已于 2024 年 9 月 18 日在 Solana 主网正式上线。


**相比之下,Merkle 证明的大小会随著帐户数量以 log₂(N) 的方式增加而基于 ZK-SNARK 的证明大小始终固定;这使得在处理大量帐户时,ZK 压缩具有显著的优势。如帐户数量 N = 8,log₂(8) = 3,如果帐户数量 N = 1024,log₂(1024) = 10;与此同时,ZK-SNARK 的证明大小是固定的,无论帐户数量是多少。


4.3.6 Solana 许可环境 SPE (Solana Permissioned Environments)


来源: solana.com


由于 Solana 的 SVM 展现出比其他主网更优越的交易处理能力,越来越多的项目希望基于 SVM 执行环境构建自己的生态系统,而无需共享 Solana 网络的组合性、帐本数据或其他基础架构组件。这种架构通常称为「应用链」,可以通过以无许可方式或许可方式分叉 SVM 来建立。



Solana 为后者提供了一个名为 SPE(Solana 许可环境)的框架,以适应特定的企业用例,特别是那些具有独特业务、安全和监管要求的用例。通过利用 SPE,企业可以自定义自己的基础架构堆栈,包括共识机制、验证器配置、Gas 代币等。


使用 SPE 的知名项目包括:


Cube.Exchange:通过 MPC 技术实现链下订单匹配,和链上结算的一个混合交易所。

Pyth Network:一个预言机解决方案,它汇总各种金融数据以提供实时价格资讯和基准。

Rimark:一个 RWA(现实世界资产)项目。


4.3.7 Solana 支付 (Solana Pay)


来源:Solana Pay Docs


Solana Pay 是一个开源的 JavaScript 函式库,专注在简化 Solana 区块链上的加密货币支付流程。它使用代币转帐的 URL 格式,让商家或开发者能够直接接受。


SOL 或 SPL 代币的支付,无需透过中介机构。Solana Pay 提供多种整合选项,包括支付连结、「立即支付」按钮或 QR Code。


来源:Yash Agarwal


如先前所提到,Solana Pay 的插件已整合至 Shopify、Citcon、Checkout.com 等平台,并被超过 100 家企业和专案采用。


4.3.8 Solana 手机开发套件 (Solana Mobile Stack)


来源:SMS Docs


Solana 手机开发套件(SMS)是一个开源的 SDK,由 Solana 基金会提供,专为开发 Saga 和 Seeker 系列行动装置上的应用程式而设计。SMS 包含以下主要组件:


Solana dApp 商店:一个专门用于提供去中心化应用程式的 dApp 商店。它让用户能够轻松地探索和使用各种应用程式及奖励,其最终目标是由社群管理应用程式商店的内容。


行动钱包适配器 (Mobile Wallet Adapter):一个标准化介面,用于在行动环境中促进应用程式和 Solana 钱包之间的通讯相互畅通。通过整合此适配器一次,开发者只需整合一次,即可轻松连接多种相容的行动钱包。目前,它仅支援 Android 和行动网页的 Chrome(仅限 Android)。


种子保险库 (Seed Vault):专为与「钱包」应用程式搭配使用而设计,此套件可确保用户私钥和其他重要资讯的安全。它允许从行动装置上下载的所有应用程式,都共享使用相同的种子 - Seed Vault 功能是由 Solflare 团队与 Seeker 团队合作开发,并内建于 Seeker 系列装置中。。


适用于 Android 的 Solana Pay:一个使用 Solana 区块链的支付系统,使用户能够在行动环境中轻松地使用 Solana 相关的加密货币(如 SOL、SPL)进行支付。目前仅支援 Android SDK,它通过 QR 码、NFC 点击、讯息和网路浏览器互动来执行 Solana Pay 请求以撷取 Solana Pay URL。


除了以上套件,SMS 文件还提供各种语言/开发框架的 SDK,包括 React Native、Kotlin、Flutter、Unity、Unreal Engine 和 Solana KMP。Solana 透过 SMS 支援的 Saga 系列装置,致力于普及区块链在行动环境中的应用,并推动零售金融的发展,为用户提供 DePIN 服务、DeFi 应用程式及 Backpack 等整合体验。


4.3.9 Blinks(区块链 + 连结)


来源:Solana Docs


2024 年 6 月 25 日,Solana 基金会推出了 Blinks 技术,这是一种结合区块链与连结的创新技术。Blinks 定义了一种讯息框架,称为「Action」协议,用于处理一系列商业逻辑的交易,并以可分享的连结形式(如 URL)呈现,从而实现与各种应用程式的整合。简而言之,终端使用者可透过由 Solana 的 Actions 和 Blinks 生成的 URL,在各类网站(如社群媒体贴文、行动应用程式、QR 码)上,无缝地进行投票、订阅、捐款、铸造、代币交换等各种交易。


来源:Dialect Medium


为了振兴 Blinks 生态系统,各种措施相继推出。其中,Blnk.fun 允许使用者在无需编码的情况下,轻松构建和交易 Blinks。SEND 则是一个以社群为基础的平台,致力于探索 Blinks 的多种应用并培育其生态系统。值得注意的是,SEND 团队于 8 月 26 日至 31 日举办了 Blinkathon 活动,吸引了来自 10 个领域近 70 个团队参与。


5. 不断扩展 Solana 生态系统中的重要专案



网际网路基础设施的发展水平与各种应用程式的出现密切相关。在网际网路发展初期,频宽有限且网路通讯标准效率低下,导致网页载入时间过长,使用者存取多媒体内容的难度也随之增加。在这种环境下,发展重点主要集中在简单的网路应用程式和基于文字的资讯交换。


然而,随著宽频网路的引入和资料网路标准技术的进步,网际网路的资料处理效率得到了显著提高。这使得实作具有多种功能和处理大量资料能力的应用程式成为可能,进而促使各种高频宽应用程式的出现,例如 Netflix 等影片串流平台、线上游戏、大型档案共享、即时通讯和协作工具。换句话说,随著网际网路基础设施的发展,它促进了新的应用程式和服务的开发,从根本上改变了人们消费数位内容的方式。


我们似乎再次在 Solana 上见证了这种发展趋势 - 自主网推出以来的四年多时间里,Solana 迅速发展成为一个拥有超过 700 个去中心化应用程式的生态系统。这得益于其网路吞吐量和对消费者/开发者友好的功能的稳步提升,同时逐渐提高了适度的去中心化程度。因此,Solana 的生态系统不仅庞大,而且提供的应用程式在实用性方面相对领先于其他生态系统。


在本 Solana 生态系统综述部分,我们的目标是透过分类及筛选,深入介绍 Solana 生态系统中约 300 个最活跃的专案,涵盖基础设施层到消费者应用的各个范畴。


生态系统分类共分为六组:「基础设施与开发工具」、「金融」、「去中心化物理基础设施网路 (DePIN)」、「人工智慧 (AI)」、「消费者应用程式」和「社群与文化」。


5.1 基础设施与开发工具



Solana 生态系统中,对应用程式效能和协同作用影响最大的关键因素,是在协议层级开发的各种基础设施技术,Solana 将可组合性视为重中之重。除了用于交易处理的 SVM 技术堆叠之外,Solana 还拥有丰富的工具组、函式库和一系列标准,使开发者能够在更有效率地利用平台的同时建构多样化的应用程式。


一些值得注意的例子(与第四节中讨论的例子有很大程度的重叠)包括:


· Solana 程式库 (Solana Program Library):一个包含各种功能的函式库,例如代币建立和管理(SPL 代币程式)、代币交换和借贷协议。


· Anchor 架构 (Anchor Framework):最受欢迎的开发架构,特别适合 Solana 新手或希望快速制作原型和部署应用程式的开发者。


· GameShift:一个专注于简化基于区块链的游戏建立过程的架构。


此外,代币扩展功能 (Token Extension) 和压缩技术(例如状态压缩 (State Compression) 和 ZK 压缩 (ZK Compression))等标准集合消除了通讯效率低下的问题,从而能够实作需要处理大量资料或实作复杂逻辑的应用程式。


在可用性方面,特别值得注意的是:


· 与支付相关的 API 模组,这些模组是简化加密货币支付的 JavaScript 函式库。


· Blinks(区块链 + 连结)解决方案,它以 URL 的形式定义链上交易,允许它们被整合到各种应用程式中并使用。


从网路稳定性的角度来看,正在进行各种措施,包括:


· 来自 Agave 和 Jito Labs 的客户端。


· Firedancer、Tinydancer 和 Sig。


此外,透过 SPE(Solana 许可环境)或各种协议(例如模组化堆叠、L2)使 SVM 执行环境在多链环境中更加灵活的努力也越来越明显。这些努力专注在允许个别产品建构自己的生态系统或提高现有生态系统的效率。


原文链接


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

本平台现已全面集成Farcaster协议, 如果您已有Farcaster账户, 可以登录 后发表评论
选择文库
新增文库
取消
完成
新增文库
仅自己可见
公开
保存
纠错/举报
提交