【BTC】比特币脚本

本节课老师主要介绍了比特币交易中使用的脚本语言,涵盖交易实例、脚本执行、脚本形式及特殊应用等内容,具体如下:

  • 比特币交易实例分析:以一个比特币交易为例,该交易有 1 个输入和 2 个输出,其中一个输出已花费,另一个未花费,且已收到 23 个确认,回滚可能性小。同时介绍了交易的宏观信息,如哈希值、版本号、交易大小、生效时间等,还讲解了交易输入(说明资金来源并需签名)和输出(包含金额、序号、输出脚本等)的结构。
  • 比特币脚本执行机制:在比特币交易中,验证交易合法性时,早期是将后续交易的输入脚本与前序交易的输出脚本拼接后从头到尾执行,现在出于安全考虑,先执行输入脚本,若无误再执行输出脚本,当最终栈结果为非零值时交易合法。若交易有多个输入,则每个输入脚本都要与对应交易的输出脚本匹配验证,全部通过交易才合法。
  • 比特币脚本形式详解:
    • pay to public key:输出脚本直接给出收款人的公钥,输入脚本给出签名,签名是用私钥对整个交易的签名。执行时,将签名和公钥依次压入栈,最后用公钥检查签名是否正确,正确则交易合法。
    • pay to public key hash:输出脚本给出公钥的哈希值,输入脚本给出签名和公钥。执行过程中,会进行复制栈顶元素、取哈希值、比较哈希值等操作,若输入的公钥哈希值与输出的一致且签名正确,交易合法,这是最常用的形式。
    • pay to script hash:输出脚本给出收款人提供的赎回脚本的哈希值,输入脚本给出赎回脚本内容和签名。验证分两步,先验证赎回脚本哈希值是否匹配,再执行赎回脚本,两步都通过交易才合法。常用于支持多重签名,可将复杂度从输出脚本转移到输入脚本,方便用户进行交易操作。
  • 特殊脚本格式及应用:一种特殊的输出脚本以 return 开头,作用是无条件返回错误,终止执行,用于销毁比特币。应用场景包括获取小币种(需销毁一定数量比特币)和知识产权保护(将知识产权内容哈希值放在 return 后,出现纠纷时可证明在某时间已知道相关知识)。
  • 比特币脚本语言特点总结:比特币脚本语言简单,无专门名字,不支持循环,避免了死循环和停机问题。虽然功能有限,但在密码学相关功能上很强大,如检查多重签名,针对比特币应用场景做了优化。

相关文章: 【BTC】挖矿_btc矿池-CSDN博客

【BTC】比特币网络-CSDN博客

【BTC】比特币系统的具体实现_btc操作系统-CSDN博客

【BTC】协议(共识机制)_btc 协议-CSDN博客

相关推荐
Cvmax18 小时前
Hyperliquid:革命性的去中心化交易平台
去中心化·区块链
电报号dapp11918 小时前
NFT系统开发:在数字荒漠中铸造文明
安全·去中心化·区块链·智能合约
Black_mario20 小时前
从 Stove Protocol 看下一代股票代币化的范式转变
区块链
电报号dapp1191 天前
交易所开发:在数字金融的竞技场中构建信任的圣殿
金融·web3·去中心化·区块链·智能合约
MicroTech20251 天前
微算法科技(NASDAQ: MLGO)区块链混合算法:实现云存储的去中心化隐私保护
科技·去中心化·区块链
TechubNews1 天前
2026 年观察名单:基于 a16z「重大构想」,详解稳定币、RWA 及 AI Agent 等 8 大流行趋势
大数据·人工智能·区块链
区块链小八歌2 天前
Horizen隐私主网在Caldera正式上线,将隐私保护引入“链上网络“生态
区块链
ee_trade2 天前
EE TRADE易投合约网格机器人创建全指南
人工智能·机器人·区块链
MicroTech20252 天前
微算法科技(NASDAQ :MLGO)开发基于区块链的分层架构,实现大数据存储方案性能与扩展性提升
科技·架构·区块链
voidmort2 天前
EVM学习笔记(一):初识EVM
web3·区块链