主页 > imtoken币不见了 > 比特币的脚本是做什么的?

比特币的脚本是做什么的?

imtoken币不见了 2023-02-18 06:23:09

其实,我们可以这样看待比特币交易:“发起交易的人悬赏数个比特币,并在网上发布了一道数学题,谁解决了这道数学题,谁就可以获得奖励。”

按照这样的思路,Alice给Bob的转账可以理解为“Alice把一道只有Bob会解的数学题发到网上,Bob解出这道题并带走奖励”。 那么比特币能用来做什么,每一笔交易数据中出现的“脚本”就是问题和解决方案,“脚本语言”就是用来描述问题和解决方案的工具。

“输入脚本”和“输出脚本”

用比特币源码做山寨币_比特币能用来做什么_比特币就是用来洗黑钱的

这里先讨论单输入单输出的比特币交易,因为描述起来比较方便,不影响对“脚本”的理解。

这是一个单入单出的交易,我们来看看需要关注的数据:

前导输入的哈希值:

比特币就是用来洗黑钱的_比特币能用来做什么_用比特币源码做山寨币

输入脚本scriptSig:

转移价值:

0.05010000 比特币

比特币能用来做什么_比特币就是用来洗黑钱的_用比特币源码做山寨币

输出脚本scriptPubKey:

假设 Alice 是转账发送者,Bob 是接收者。 那么“输入交易”表示爱丽丝要使用的比特币的来源,“输出交易”表示爱丽丝要转账的金额和转账对象——鲍勃。 那么,你可能想问,数据中的“输入脚本”和“输出脚本”是不是问题和解决方案? 对了一半!

比特币脚本是一种功能相对较少的编程语言,在满足比特币系统正常运行需求的同时,最大限度地保证了安全性。

比特币就是用来洗黑钱的_用比特币源码做山寨币_比特币能用来做什么

比特币脚本图形不完整。 所谓图灵不完备就是缺少一些当代语言所必需的功能,比如循环。 但是,有限的功能也将系统的攻击区域降到最低。 例如,它可以防止有人使用无线环路在系统上安放炸弹。

比特币脚本是一种基于堆栈的语言。 栈可以想象成几本书堆在一起,push操作相当于添加一本书,pop

该操作相当于翻出一本书。 每个操作都在最顶层执行比特币能用来做什么,每个操作对应一个操作码,简称opcode。

总之,Bitcoin Script 是一种图灵不完备的基于堆栈的语言。