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

相关推荐
七夜zippoe2 小时前
区块链开发:从智能合约到DApp
python·区块链·智能合约·开发·dapp
fuzamei8882 小时前
证监会发布《关于境内资产境外发行资产支持证券代币的监管指引》,RWA合规新纪元开启?
区块链
Joy T6 小时前
【Web3】告别Remix:基于Hardhat的智能合约工程化构建与实战
git·web3·node·智能合约·hardhat
MicroTech20256 小时前
微算法科技(NASDAQ: MLGO)支持区块链的工业物联网隐私保护新方案:基于格的可链接环签名技术
科技·算法·区块链
Joy T7 小时前
【Web3】跨越纪元:Hardhat 2.x 与 3.x 深度对比
web3·回滚·hardhat 3.x·底层架构·跨链测试·网络并发
一直会游泳的小猫18 小时前
USB设备历史清理工具使用手册
脚本·注册表清理·usb记录
The_Ticker1 天前
日股实时行情接口使用指南
java·经验分享·笔记·python·算法·区块链
三秋树1 天前
从 Solv Protocol 273 万美元被黑事件,深入理解 Solidity 自重入攻击 —— ERC-3525 标准中的暗坑
区块链
MicroTech20251 天前
微算法科技(NASDAQ: MLGO)探索量子隐形传态区块链隐私保护签名技术,增强Web 3.0元宇宙环境的效率、安全性和真实性
科技·区块链
草原猫1 天前
公链开发:从技术筑基到生态共生,重构数字信任基础设施
重构·区块链