【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博客

相关推荐
Joy T3 小时前
碳信用代币化与DAO机制:绿色资产新革命
区块链
软件工程小施同学3 小时前
区块链可投会议CCF B--SIGMETRICS 2026 截止10.14 附录用率
区块链
大桔骑士v15 小时前
【区块链学习笔记】12:比特币系统的思考
区块链·密码学·量子计算·比特币·加密货币
本郡主是喵2 天前
第一次学习Hardhat
区块链·solidity
会跑的葫芦怪2 天前
Go语言在区块链开发中的应用场景详解
golang·区块链
The Open Group2 天前
TOGAF® 与新兴技术:区块链、物联网与量子计算
物联网·区块链·量子计算
Sui_Network2 天前
Sui Stack Messaging SDK:为 Web3 打造可编程通信
大数据·人工智能·科技·web3·去中心化·区块链
Keegan小钢2 天前
AI+Web3实战营日志 #7 | 完成Core合约测试
web3·ai编程
央链知播2 天前
链改2.0总架构师何超秘书长重构“可信资产lPO与数链金融RWA”
金融·重构·web3·区块链·业界资讯