市值: $2.641T 0.40%
成交额(24h): $98.8166B 16.07%
恐惧与贪婪指数:

68 - 贪婪

  • 市值: $2.641T 0.40%
  • 成交额(24h): $98.8166B 16.07%
  • 恐惧与贪婪指数:
  • 市值: $2.641T 0.40%
加密货币
话题
百科
资讯
加密话题
视频
热门加密百科

选择语种

选择语种

选择货币

加密货币
话题
百科
资讯
加密话题
视频

智能合约和脚本有什么区别?

Smart contracts are immutable, stateful programs on blockchains (e.g., Ethereum) with persistent storage and autonomous execution; scripts (e.g., Bitcoin’s Tapscript) are stateless, ephemeral opcode sequences used only for transaction validation.

2026/01/11 09:19

核心结构区别

1. 智能合约是部署在区块链上的自动执行程序,具有不可变的代码和状态,在确定性虚拟机环境(如以太坊的 EVM)中运行。

2. 脚本是在交易验证时解释的轻量级、无状态操作码序列,通常出现在 Bitcoin 的 UTXO 模型中,其中仅在签名验证期间执行。

3. 智能合约通过专用存储槽维持跨交易的持久存储,从而随着时间的推移实现复杂的状态转换。

4、脚本缺乏内部存储;它们完全依赖于事务中提供的输入数据,并且无法在执行之间保留或修改任何持久数据。

5. 智能合约是具有自己余额的可寻址实体,可以向其他合约发起呼出或自主发送代币。

执行上下文和生命周期

1. 智能合约以字节码的形式存在于链上,并保持活跃状态​​,直到明确自毁或由于逻辑限制而无法访问。

2. 脚本是短暂的——它们在每次交易输入时执行一次,并在验证完成后立即消失,除了成功或失败之外不留下任何痕迹。

3. 智能合约的每次调用都会触发共识层内的新执行框架,并遵守 Gas 计量和区块级包含规则。

4. 脚本评估严格发生在交易中继和区块传播期间,由全节点强制执行,资源核算不会超出堆栈深度或操作码限制。

5. 如果通过事件驱动机制或外部预言机触发,智能合约交互可能跨越多个区块,而脚本从不推迟或安排未来的评估。

表现力和能力范围

1. 智能合约使用 Solidity 或 Rust 等高级语言支持循环、递归(在气体边界内)、动态内存分配和任意分支逻辑。

2. 脚本有意限制为一组有限的加密和算术原语——没有循环、没有变量、没有函数调用——从而增强了简单性和可预测性。

3. 智能合约实现可组合性:一个合约可以调用另一个合约、读取其存储或使用代理升级或 delegatecall 等模式委托控制。

4、脚本独立运行;没有一种机制可以让一个脚本在验证期间引用、调用或检查另一脚本的逻辑或数据。

5. 智能合约与链上治理结构、代币标准(ERC-20、ERC-721)和去中心化身份框架相集成,形成 DeFi 和 NFT 生态系统的基础层。

安全模型的含义

1. 自 2016 年以来,智能合约漏洞(重入、整数溢出、未经检查的外部调用)已导致公链上记录的损失超过 30 亿美元。

2. 基于脚本的系统在设计上避免了许多这样的陷阱:不存在可变状态和外部交互消除了图灵完备环境中常见的整类漏洞利用。

3. 智能合约审计需要形式验证工具、符号执行引擎以及对与共识关键原语交互的业务逻辑进行手动审查。

4. 脚本正确性通过操作码序列的静态分析来验证,通常受到策略模板的约束,例如 Bitcoin 中的 Pay-to-Public-Key-Hash (P2PKH) 或 Tapscript 策略。

5.智能合约部署会带来不可逆转的风险——一旦上线,有缺陷的逻辑就无法在没有用户迁移或协议级硬分叉的情况下修补。

常见问题解答

问:脚本可以与预言机交互吗?答:不可以。脚本不能发出外部请求或解释链下数据。他们仅评估交易本身包含的内容。

问:智能合约总是在每个节点上运行吗?答:是的。每个全节点都会执行区块中交易触发的所有智能合约代码,以维持共识完整性。

问:Bitcoin的 Tapscript 是否被视为智能合约?答:不会。 Tapscript 以更灵活的条件扩展了 Bitcoin 的脚本语言,但仍然是无状态和非图灵完备的——它不符合智能合约的定义阈值。

问:智能合约可以修改自己的源代码吗?答:不直接。代码不变性在 EVM 级别强制执行。可升级性需要代理模式将调用重定向到新字节码,同时保留存储空间。

免责声明:info@kdj.com

所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!

如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。

相关百科

如何查看DOGE期货成交量及持仓量?

如何查看DOGE期货成交量及持仓量?

2026-09-12 08:39:38

了解 DOGE 期货交易量1. 期货交易量是指在特定时间范围内交易的DOGE份期货合约的总数,通常以每天或每小时计算。 2. 高成交量通常表明市场参与度较高,并且可以表明潜在的趋势延续或逆转,具体取决于价格走势背景。 3. 交易者监控交易量峰值以及突破或崩溃,以评估合法性——交易量上升支持的持续价格...

如何查看BTC期货交易量和持仓量?

如何查看BTC期货交易量和持仓量?

2026-09-12 15:19:55

BTC期货指标的数据源1. CoinGlass API v4 提供 30 多个交易所的实时融资利率、清算热图和精细的未平仓合约细分。 2. 币安期货 API 提供对买卖深度、合约特定交易量历史记录和保证金比率快照的本机访问。 3. OKX 数据门户提供可下载的 CSV 档案,其中包含每日结算价格、按...

如何看懂DOGEUSDT永续合约图表?

如何看懂DOGEUSDT永续合约图表?

2026-09-11 19:19:48

了解 DOGEUSDT 永续图表上的价格走势1. 蜡烛图的形成揭示了直接的市场情绪——绿色蜡烛表示买盘占主导地位,而红色蜡烛则反映该区间内的抛售压力。 2. 实体上方和下方的灯芯信号拒绝更高或更低的价格;在波动较大的模因币市场中,长上影线通常先于短期反转。 3. 接近关键水平的连续小实体蜡烛表明在突...

如何在币安查看BTC合约资金费用?

如何在币安查看BTC合约资金费用?

2026-09-10 08:00:06

找到资金费率显示1. 进入币安合约交易界面,选择BTCUSDT永续合约。 2. 观察价格图表正下方或订单簿附近的区域——该区域包含一个标有资金费率的标签框。 3. 显示值实时更新,反映当前每小时的资金费率,无论是正数还是负数。 4. 单击资金费率框将打开一个弹出窗口,显示多个结算周期的历史资金价值。...

如何计算SOLUSDT期货盈亏?

如何计算SOLUSDT期货盈亏?

2026-09-10 19:19:37

了解 SOLUSDT 期货合约规格1、每张SOLUSDT期货合约均以USDT报价,以USDT结算,为线性永续合约。 2.基础资产为SOL,报价资产为USDT——所有盈亏计算均直接以USDT计价。 3. 价格变动的最小变动单位为0.01 USDT,合约乘数固定为每张合约1 SOL。 4. Bitget...

如何计算XRPUSDT期货盈亏?

如何计算XRPUSDT期货盈亏?

2026-09-09 17:40:21

了解 XRPUSDT 期货合约规格1、每张XRPUSDT永续合约以USDT报价,以USDT结算,每张合约面值为1XRP。 2. 对于包括 Binance 和 Bybit 在内的大多数主要交易所,最小价格增量(报价单位)为 0.0001 美元。 3. 杠杆范围从 1 倍到 75 倍不等,具体取决于头寸...

如何查看DOGE期货成交量及持仓量?

如何查看DOGE期货成交量及持仓量?

2026-09-12 08:39:38

了解 DOGE 期货交易量1. 期货交易量是指在特定时间范围内交易的DOGE份期货合约的总数,通常以每天或每小时计算。 2. 高成交量通常表明市场参与度较高,并且可以表明潜在的趋势延续或逆转,具体取决于价格走势背景。 3. 交易者监控交易量峰值以及突破或崩溃,以评估合法性——交易量上升支持的持续价格...

如何查看BTC期货交易量和持仓量?

如何查看BTC期货交易量和持仓量?

2026-09-12 15:19:55

BTC期货指标的数据源1. CoinGlass API v4 提供 30 多个交易所的实时融资利率、清算热图和精细的未平仓合约细分。 2. 币安期货 API 提供对买卖深度、合约特定交易量历史记录和保证金比率快照的本机访问。 3. OKX 数据门户提供可下载的 CSV 档案,其中包含每日结算价格、按...

如何看懂DOGEUSDT永续合约图表?

如何看懂DOGEUSDT永续合约图表?

2026-09-11 19:19:48

了解 DOGEUSDT 永续图表上的价格走势1. 蜡烛图的形成揭示了直接的市场情绪——绿色蜡烛表示买盘占主导地位,而红色蜡烛则反映该区间内的抛售压力。 2. 实体上方和下方的灯芯信号拒绝更高或更低的价格;在波动较大的模因币市场中,长上影线通常先于短期反转。 3. 接近关键水平的连续小实体蜡烛表明在突...

如何在币安查看BTC合约资金费用?

如何在币安查看BTC合约资金费用?

2026-09-10 08:00:06

找到资金费率显示1. 进入币安合约交易界面,选择BTCUSDT永续合约。 2. 观察价格图表正下方或订单簿附近的区域——该区域包含一个标有资金费率的标签框。 3. 显示值实时更新,反映当前每小时的资金费率,无论是正数还是负数。 4. 单击资金费率框将打开一个弹出窗口,显示多个结算周期的历史资金价值。...

如何计算SOLUSDT期货盈亏?

如何计算SOLUSDT期货盈亏?

2026-09-10 19:19:37

了解 SOLUSDT 期货合约规格1、每张SOLUSDT期货合约均以USDT报价,以USDT结算,为线性永续合约。 2.基础资产为SOL,报价资产为USDT——所有盈亏计算均直接以USDT计价。 3. 价格变动的最小变动单位为0.01 USDT,合约乘数固定为每张合约1 SOL。 4. Bitget...

如何计算XRPUSDT期货盈亏?

如何计算XRPUSDT期货盈亏?

2026-09-09 17:40:21

了解 XRPUSDT 期货合约规格1、每张XRPUSDT永续合约以USDT报价,以USDT结算,每张合约面值为1XRP。 2. 对于包括 Binance 和 Bybit 在内的大多数主要交易所,最小价格增量(报价单位)为 0.0001 美元。 3. 杠杆范围从 1 倍到 75 倍不等,具体取决于头寸...

查看所有文章

User not found or password invalid

Your input is correct