值得信赖的区块链资讯!
小学生也能看懂!Solana 的编程模型,究竟和 ETH 有啥区别?
本文将以太坊作为比较对象,简要介绍 Solana 智能合约编程模型的特点。
撰文:Foresight News,Alex Liu
Solana 是一个旨在支持 dApps 的高性能区块链平台,以其速度和可扩展性闻名,而这是通过独特的共识机制和架构设计实现的。本文将以太坊作为比较对象,简要介绍 Solana 智能合约编程模型的特点。
智能合约、链上程序:
运行在以太坊上的程序被称为智能合约,它是位于以太坊上一个特定地址的一系列代码(函数)和数据(状态)。(哦豁,代码数据耦合了)智能合约也是一个以太坊帐户,称之为合约帐户,它们有余额,可成为交易对象, 但是无法被人操控,被部署在网络上作为程序运行。
而运行在 Solana 上的可执行代码被称为链上程序(On-chain Program),它们能解释每笔交易中发送的指令。这些程序可以直接部署到网络核心作为原生程序,或由任何人发布为 SPL 程序。
-
指令 (Instructions):指令是 Solana 链上程序的特有名词。链上程序由指令组成,是执行特定操作的最小单位: 每笔 Solana 交易中都包含一个或多个指令。指令指定了要执行的操作,包括调用特定链上程序、传递账户、输入列表以及提供字节数组。指令有计算限制,因此链上程序应该被优化为使用少量计算单元,或将昂贵的操作分成多个指令。
-
原生程序:提供验证节点所需功能的原生程序。其中最著名的是 System Program,它负责管理创建新账户以及在两个账户之间转账 SOL。
-
SPL 程序:定义了一系列链上活动,包括代币的创建、交换、借贷,以及创建质押池、维护链上域名解析服务等。其中,SPL Token Program 用于代币操作,而 Associated Token Account Program 等则常用于编写其他定制程序。
你叫智能合约,我叫链上程序,大家说法不一样,但都是指运行在区块链上的代码。张三李四王麻子都是人名,到底素质如何还得考察其他方面。
账户模型、数据解耦:
与以太坊类似,Solana 也是基于账户模型的区块链,但 Solana 提供了一套不同于以太坊的账户模型,用不同的方式存储数据。
在 Solana 中,账户可以保存钱包信息和其他数据,账户定义的字段包括 Lamports(账户余额)、Owner(账户所有者)、Executable(是否为可执行账户)和 Data(账户存储的数据)。每个账户都指定一个程序作为其所有者,以区分账户用作哪个程序的状态存储。这些链上程序是只读或无状态的:程序账户(可执行账户)只存储 BPF 字节码,不存储任何状态,程序会把状态存储在其他独立账户(不可执行账户)中,即 Solana 的编程模型将代码和数据解耦。
而以太坊账户主要是 EVM 状态的引用,其智能合约既存在代码逻辑,又需要存储用户的数据。这通常被认为是 EVM 历史遗留的设计缺陷。
不要小看这一区别!Solana 智能合约在根本上比具有耦合编程模型的区块链(如以太坊)更难攻击:
在以太坊中,智能合约「拥有者」是一个全局变量,与智能合约一一对应。因此,调用某个函数可能直接改变合约「拥有者」。
而在 Solana 中,智能合约的「拥有者」是与账户关联的数据,而不是全局变量。一个账户可以有多个拥有者,而不是一对一关联。攻击者要利用智能合约的安全漏洞,不仅需要找到有问题的函数,还需要准备「正确」的账户来调用该函数。这一步骤并不容易,因为 Solana 智能合约通常涉及多个输入账户,并通过约束条件(例如 `account1.owner==account2.key` )来管理它们之间的关系。从「准备正确的账户」到「发动攻击」的过程,足够让安全监控人员可以在攻击之前主动检测到创建与智能合约相关的「虚假」账户的可疑交易。
以太坊的智能合约就像是一个使用唯一密码的保险库,你只要得到了这个密码,就能获得完整的所有权;而 Solana 的则是一个有很多个密码的保险库,但想要获取权限,你不但要想办法搞到密码,还要弄清楚这个密码对应的编号,才能把锁打开。
编程语言
Rust 是 Solana 上开发智能合约的主要编程语言。因为它的性能和安全特性,使其适用于区块链和智能合约的高风险环境。Solana 同时也支持 C、C++ 和其他语言(很不常见)。官方提供了 Rust 和 C 的 SDK 来支持开发链上程序。开发者可以使用工具将程序编译成 Berkley Packet Filter (BPF) 字节码(文件以 .so 为扩展名 ),再部署到 Solana 链上,通过 Sealevel 并行智能合约运行时来执行智能合约的逻辑。
由于 Rust 语言本身上手难度高,且并不是为区块链开发定制,导致很多需求需要重复造轮子、代码冗余。(生产中许多项目采用 Backpack 联创 Armani 创造的 Anchor 框架简化开发)许多新创造的专用于区块链开发的编程语言是基于 Rust 的,如 Cairo(Starknet)、Move(Sui、Aptos)。
生产中许多项目采用 Anchor 框架
而以太坊智能合约主要用 Solidity 语言开发(语法和 javascript 类似,代码文件以 .sol 为扩展名)。由于语法相对简单以及开发工具更加成熟(Hardhat 框架、Remix IDE …)通常我们认为以太坊的开发体验更简单爽快,而 Solana 开发的上手难度高。所以尽管现在 Solana 的热度很高,事实上以太坊的开发者数目仍然是远多于 Solana 的。
特定路况下,顶级赛车没有改装车跑得快。Rust 就像顶级赛车,有力地保证了 Solana 的性能和安全性,但非为链上程序开发这条赛道而生,反而造成了驾驶(开发)难度的上升。采用基于 Rust 、为链上开发定制语言的公链则相当于改装了这辆赛车,使其更适应路况。Solana 在这点上处于劣势。
总结
Solana 的智能合约编程模型是创新的。它提供了一种无状态的智能合约开发方法,将 Rust 作为主要编程语言,以及让逻辑与状态分离的架构,为开发人员构建和部署智能合约提供了强大环境,确保安全性和性能,但开发难度较大。Solana 专注于高吞吐量、低成本和可扩展性,仍是寻求创建高性能 dApps 的开发人员目前的理想选择。
参考链接
比推快讯
更多 >>- 财新:北京男子参与美国“杀猪盘”洗钱获刑 3 年 10 个月,勒令支付 1.87 亿元赔偿金
- 美国政府进入技术性停摆,比特币跌破 8.3 万美元引发市场警惕下周波动加剧
- Cap 联创:CAP 不设空投,公募将构成 TGE 近 100%流通量
- “ETH 持仓 4 年换仓 WBTC”巨鲸将 906 万美元的 WETH 换成 WBTC
- BTC OG 内幕巨鲸的 ETH 多单浮亏扩大至 1 亿美元
- 白银暴跌冲击加密杠杆交易,Hyperliquid 出现千万美元级清算
- “2.3 亿美元资金开多”巨鲸的 ETH 多单距离清算价只有 350 美元
- 某鲸鱼 10 小时前向币安转入 249.3 万枚 UNI,价值超 1000 万美元
- 分析:沃什不会受白宫影响将在美联储双重任务上保持一定平衡
- 数据:20002 枚 SOL 从 vladilena.sol 转出,经中转后转至另一匿名地址
- 数据:过去 24 小时全网爆仓 5.69 亿美元,多单爆仓 4.46 亿美元,空单爆仓 1.22 亿美元
- 数据:BTC 跌破 83000 美元
- 分析:多重因素引发国际贵金属价格创纪录暴跌
- 比特币跌破 83,000 美元,24 小时涨幅收窄至 0.53%
- BTC 跌破 83000 USDT,24H 涨幅收窄至 0.59%
- 香港警方抓捕两名 5800 万日元找换店劫案嫌疑犯
- Solana 联创:1011 市场崩盘或许会开启为期 18 个月的熊市
- Toly:10.11 大崩盘或将开启 18 个月熊市,是建设新产品的“幸运时机”
- 分析:比特币期权情绪转空,市场对跌破 8 万美元关口预期概率上升
- Base 链上 MOLT 等 Meme 代币交易活跃,助推 CLANKER 与 BNKR 同步上涨
- CZ 取关 Solana 联创 Toly 的 X 账户
- 某白银多头巨鲸 2900 万美元多单遭完全清算,损失超 400 万美元
- Circle 一周内 USDC 流通量减少 34 亿枚
- Base 链生态代币 CLAWNCH 日内涨超 270 倍,市值短时突破 970 万美元
- 美国财政部制裁英国加密货币交易所 Zedcex Exchange 和 Zedxion Exchange
- Gate 研究院:市场维持防御震荡,资金轮动转向高弹性小市值板块
- 华泰宏观:沃什或推动“降息+缩表”政策组合
- 美联储主席提名人沃什被爆卷入爱泼斯坦案
- 百胜战神40 倍做空 136.15 枚 BTC,建仓均价 83,469.3 美元
- 市场预测美国政府“停摆”冲击有限,但不排除时间延长风险
- Coinbase:比特币会在黄金走强后补涨的论点站不住脚,投资者应谨慎看待该叙事
- 比特币现货 ETF 昨日总净流出 5.10 亿美元,持续 4 日净流出
- 田纳西州众议员提出法案,计划建立“田纳西战略比特币储备”
- 1011 暴跌事件舆论战陷入白热化,OKX 首次点明 Binance 应担责,CZ 称竞对雇佣水军为 FUD 造势
- 长期做空 BTC巨鲸减仓 110 枚 BTC 空单,仍浮盈 1072 万美元
- 数据:3499.99 枚 BNB 从匿名地址转入 Galaxy Digital,价值约 298 万美元
- MegaETH:不会向任何平台赠送 MEGA 代币作为上币费用或空投
- 何一发布与 OKX Star 合照并称沟通过“挖人”,但未曾提及“1011 事件”
- 知情人士:英伟达与 OpenAI 千亿美元合作协议陷入停滞
- Bitdeer 本周售出 152 枚 BTC,比特币持仓量触及约 1,508.4 枚
- Flow 确认已永久销毁 874 亿枚伪造 FLOW 代币,安全事件技术修复全部完成
- 与 0xSun 关联的钱包向 Hyperliquid 存入 200 万美元,以 4 倍杠杆做多白银
- 美国政府停摆博弈凸显预测市场“定义精度”问题,Polymarket 和 Kalshi 因定义差异出现分歧
- 摩根大通:比特币期货处于超卖状态,黄金白银则已进入超买区域
- 某交易 MOLT 的交易员 2 天盈利 563 倍,将 2021 美元变为 114 万美元
- 何一回应“ 1011 闪崩”币安相关指控:在币安交易的巨鲸更清楚退潮的时候发生了什么,对事实更有发言权
- 何一评论 OKX 下单问题:OKX 整体产品能力不错的,所以币安挖走了产品经理
- 数据,美国 XRP 现货 ETF 单日总净流入 1679 万美元
- 美国白宫管理和预算办公室指示受影响机构开始执行停摆计划
- RootData:IN 将于一周后解锁价值约 217 万美元的代币
比推专栏
更多 >>- Challenge,risk And chances|0130 Asian
- Meta 豪赌 AI:砸钱 1350 亿美元,2026 的扎克伯格,值得相信么?
- Variables: Terrible snowstorm|0128 Asian
- 英特尔「生死线」时刻:在 ICU 门前,陈立武如何清算遗产并开启自救?
- 從1月13號到今天,提前到5100|0126Asian
- You Should work HARDER in 2026|0120 Asian
- 硅谷最聪明那群人的「终极推演」:2026,我们应该「All-In」什么?
- Notice us dollar index|0116 in us
- 我们用大模型,给 2026 年的代币化/Web3「算了一卦」
- 十年新低 金銀比將帶我們走向何方|0113
观点
比推热门文章
- 财新:北京男子参与美国“杀猪盘”洗钱获刑 3 年 10 个月,勒令支付 1.87 亿元赔偿金
- 美国政府进入技术性停摆,比特币跌破 8.3 万美元引发市场警惕下周波动加剧
- Cap 联创:CAP 不设空投,公募将构成 TGE 近 100%流通量
- “ETH 持仓 4 年换仓 WBTC”巨鲸将 906 万美元的 WETH 换成 WBTC
- BTC OG 内幕巨鲸的 ETH 多单浮亏扩大至 1 亿美元
- 白银暴跌冲击加密杠杆交易,Hyperliquid 出现千万美元级清算
- “2.3 亿美元资金开多”巨鲸的 ETH 多单距离清算价只有 350 美元
- 某鲸鱼 10 小时前向币安转入 249.3 万枚 UNI,价值超 1000 万美元
- 分析:沃什不会受白宫影响将在美联储双重任务上保持一定平衡
- 数据:20002 枚 SOL 从 vladilena.sol 转出,经中转后转至另一匿名地址
比推 APP



