比特币脚本

在比特币区块链中,交易不是这么简单,交易实际是通过脚本来完成,以承载更多的功能个,这也是为什么比特币被称为是一种“可编程的货币”。

比特币交易是首先要通过私钥解锁UTXO的脚本(常称为解锁脚本:Signature script),这也叫交易输入。

交易的输出则是通过公钥指向一个脚本,这个脚本表达了:谁的签名(签名是常见形式,并不一定必须是签名)能匹配这个输出地址,钱就支付给谁。

每一个比特币节点会通过同时执行这解锁和锁定脚本来验证一笔交易,脚本组合结果为真,则为有效交易。

常见类型的比特币交易脚本(支付到公钥哈希:P2PKH(Pay-to-Public-Key-Hash))组合。

由于交易是通过脚本来实现,脚本语言可以表达出无数的条件变种。

不过由于比特币的脚本语言不是图灵完备的,交易模式依旧有限,以太坊就是为解决这一问题而出现。

原文发布于微信公众号 - 服务端技术杂谈(ITIBB2014)

原文发表时间:2018-03-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Seebug漏洞平台

从以太坊;MorphToken事件;看智能合约构造函数大小写编码错误漏洞

以太坊智能合约的含义就是一组代码(函数)和数据(合约的状态),它们位于以太坊区块链的一个特定地址上。智能合约一般使用solidity语言编写。

1153
来自专栏PPV课数据科学社区

区块链技术详解和Python实现案例

区块链可以说是互联网成立以来最重要和最具颠覆性的技术之一。它是比特币和其他加密货币背后的核心技术,在过去几年引起大家广泛的关注。 区块链的核心是一个分布式数据库...

3605
来自专栏区块链入门

【葵花宝典】区块链技术面试必考题 01 区块链面试真经

话说,区块链行业对人才的缺口越来越大,但由于区块链涉及的知识领域较为广泛,能找到真正有用的人才对每个企业来说都非常不易。

1694
来自专栏Seebug漏洞平台

从以太坊"MorphToken事件"看智能合约构造函数大小写编码错误漏洞

以太坊智能合约的含义就是一组代码(函数)和数据(合约的状态),它们位于以太坊区块链的一个特定地址上。智能合约一般使用solidity语言编写。

1143
来自专栏华仔的技术笔记

在iOS上面写一个Blockchain

3776
来自专栏极客编程

用Solidity语言通过以太坊钱包开发hello world示例

使用以太坊钱包开发实现经典的HelloWord智能合约类。本文中,我们将看到如何编写简单的合约并将其部署到区块链上。我们还将通过发送和读取数据来了解如何与我们的...

851
来自专栏菩提树下的杨过

最基本的区块链hello world(python3实现)

1994
来自专栏liuchengxu

用 Go 构建一个区块链 -- Part 6: 交易(2)

翻译的系列文章我已经放到了 GitHub 上:blockchain-tutorial,后续如有更新都会在 GitHub 上,可能就不在这里同步了。如果想直接运行...

1111
来自专栏华仔的技术笔记

以太坊的数据结构

3384
来自专栏极客编程

web3j教程:java使用web3j开发以太坊智能合约交易

为了进行这些交易,必须有以太币(以太坊区块链的代币)存在于交易发生的以太坊账户中。这是为了支付gas成本,这是为支付参与交易的以太坊客户端的交易执行成本,支付了...

7591

扫码关注云+社区

领取腾讯云代金券