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

相关推荐
智塑未来9 小时前
证券公司智能运维平台哪个品牌做得好?擎创科技智能运维 2.0 适配券商全场景
运维·科技·区块链
Web3李李14 小时前
自建公链:Web3生态长期可持续发展的核心底层布局
web3·区块链·软件开发·定制开发·公链开发·主链开发·主网开发
Web3_Daisy2 天前
如何在Robinhood Chain创建 Uniswap V3 流动性池
大数据·人工智能·web3·区块链
同花顺期货通2 天前
期货交割月持仓规则全解析:2026年个人交易者合规指南与展期策略
区块链
潜龙95272 天前
Web3.0新测试方案
web3·区块链·新测试方案
想你依然心痛2 天前
HarmonyOS 5.0智慧农业开发实战:构建分布式农业物联网与区块链农产品溯源系统
人工智能·分布式·物联网·区块链·智慧农业·harmonyos·开发实战
2601_962860152 天前
零数科技区块链平台服务六大领域,打造多个国家级示范项目
科技·区块链
The_Ticker2 天前
大宗商品行情API接入教程
开发语言·python·websocket·程序人生·区块链
IvorySQL3 天前
PG 日报|PG20 正式计划移除 refint 模块,官方指引迁移原生外键
数据库·人工智能·postgresql·开源·区块链
科技新芯3 天前
潮汛网:以“资讯前沿、内容多元、阅读便捷”为核心运营理念,成为优质互联网资讯门户
大数据·人工智能·区块链