美文网首页共读《精通比特币》
共读《精通比特币》第19天——第5章5.6.2 脚本语言5.6.

共读《精通比特币》第19天——第5章5.6.2 脚本语言5.6.

作者: 且听风吟闲翻书 | 来源:发表于2018-08-16 08:44 被阅读7次

他们说,靠音乐的力量,造一个桃源。我说,让我们靠文字的力量,造一个桃源。

比特币,究竟是一场颠覆现有金融体系的伟大互联网金融试验?还是一个由极客主导的庞氏骗局?比特币到底是什么?我们能做的是人云亦云还是有自己的独立判断?

一起来读《精通比特币》,全面了解比特币的工作原理,从而理解其他数字货币,走向数字货币新旅程。

每天早上10:24发文,欢迎关注支持,一起加油!

《精通比特币》一书,英文原名为Mastering Bitcoin ,本书中英文电子版链接如下,点击蓝色字可跳转阅读:

  1. 英文原版:Mastering Bitcoin
  2. 知笔墨中文版,第5章 交易

今天我们一起来读《精通比特币》一书的第5章交易第6节的2 、3、4小节

5.6 比特币交易脚本和脚本语言

比特币客户端,通过执行一个用类Forth脚本语言编写的脚本,来验证比特币交易。当一笔比特币交易被验证时,每一个输入值中的解锁脚本,都被与其对应的锁定脚本,同时互不干扰地执行,从而查看这笔交易是否满足使用条件。

简单的说比特币世界里的钱,是一串数字签名链条。

我们把这一串数字签名链条,叫做一个数字货币。

数字货币,也就是这一串数字签名链条,可以理解为一个巨大的活页账本。

第一页写的是『中本聪的钱』;第二页写的是『中本聪把钱给张3啦』和中本聪的亲笔签名;第三页写的是『张3把钱给李4啦』和『张3』的签名……

每次交易,在这个活页账本上再加上一页,让这个钱的上一个主人,写上把钱给了谁,以及附加上自己的签名,这样就使得数字货币得以流转起来。并且,这期间活页账本上再加上一页,每一步变化都由比特币网络中的所有人,做了记录和见证,因而无法造假,或者因为造假成本太大,比如黑掉全网51%的账本,才能改变之前的账本,而变成事实上的无法造假。

比特币交易验证,并不基于一个不变的模式,而是通过运行脚本语言来实现。这种语言,可以表达出无数个条件变种。这也是比特币作为一种“可编程的货币”所拥有的权力。

昨天我们学习了5.6.1 脚本创建,了解了锁定与解锁脚本,今天我们继续学习第六节余下内容。

5.6.2 脚本语言

比特币脚本语言使用的数据结构,被称为栈。栈,可以被理解为一堆卡片。

栈,允许两类操作:入栈和出栈。

入栈,是在栈顶部增加一个项目,出栈,则是从栈顶部移除一个项目。

我们来看一个脚本的简单例子,用来验证2+3是否等于5:

2 3 OP_ADD 5 OP_EQUAL

OP_ADD,是算术加法操作符。

它从堆栈移除最顶部的两个数2和3,将二者相加,并将相加之和,再推送到堆栈。

OP_EQUAL,用来验算两数之和,是否等于5。

二者相等,则推送,用数字1表示;二者不等,则推送为,用数字0表示。

上面这个简单算术运算,是一个有效的锁定脚本,这一行代码简单模拟了锁定交易输出的比特币代码。

在比特币交易中,也同样处理,如果堆栈顶部的结果显示为真(标记为{0×01}),则交易有效。如果堆栈顶部的结果,显示为假(0字节空值,标记为{}),或脚本执行被操作符禁止,则交易无效。

详见 附录1:交易脚本的操作符、常量和符号

5.6.3 图灵非完备性

比特币脚本语言包含许多操作,但都故意限定为一种重要的方式——没有循环,或者复杂流控制功能以外的其他条件的流控制。从而保证了脚本语言的复杂性有限,交易可执行的次数也可预见,这就是我们常说的图灵非完备性

脚本并不是一种通用语言,它是一个受限制的语言。

施加的这些限制,就能防止交易激活机制,被人当作薄弱环节而加以利用。确保该语言不被用于创造无限循环或其它类型的逻辑炸弹,这样的炸弹可以植入在一笔交易中,通过引起拒绝服务的方式攻击比特币网络。

5.6.4 非主权验证

比特币交易脚本语言,是无国家主权的

也就是,没有国家能凌驾于脚本之上,需要执行脚本的所有信息,都已包含在脚本之中。

一个脚本,能在任何系统上以相同的方式执行。

如果某个系统对一个脚本进行验证,可以确信的是,每一个比特币网络中的其他系统,也将对其进行验证,这意味着一个有效的交易对每个人而言都是有效的,而且每一个人都明白这一点。这种对于结果的可预见性,是比特币系统的一项重要良性特征。


第五章全部内容思维导图如下:

第五章第六节全部内容到此结束,明天我们开始《5.7 标准交易》的学习。

今天就到这里吧,明天我们继续,祝大家夏天快乐!

286/365
20180816首发简书


参考文献:

1、 知笔墨《精通比特币》中文

2、比特币白皮书英文原版:Bitcoin: A Peer-to-Peer Electronic Cash System

3、比特币白皮书中文版:比特币,一种点对点的电子现金系统

4、《15分钟彻底读懂中本聪比特币白皮书》作者:任鑫Mars

5、Scalers:《比特币白皮书解析 | 从零开始区块链》

照搬的信念,无法抵御波动的冲击,只有行动铸就的思想体系,并在行进中不断修正,才能让我们不断变得更好。——Scalers《投资赚钱就是信念变现》

相关文章

网友评论

    本文标题:共读《精通比特币》第19天——第5章5.6.2 脚本语言5.6.

    本文链接:https://www.haomeiwen.com/subject/xbjibftx.html