搜索
您的当前位置:首页正文

共读《精通比特币》第16天——第5章5.4.2 交易输入、5.4

来源:二三娱乐

不要说痴心妄想,因为只有痴心才能实现妄想。——星推官李宇春点评《明日之子》

有人说:比特币底层技术区块链,是最伟大的发明,堪比互联网。
也有人说:比特币白给我都不要。
到底比特币是什么?如何判断?难道我们能做的就是人云亦云?
如何能有自己的独立判断?

让我们一起《精通比特币》,走向数字货币新旅程,这本书就能帮助您全面了解比特币,而且有助于理解其他数字货币。

正如书中前言所说:

无论你是正在构建下一个杀手级应用、投资创业,还是单纯对技术好奇,这本实用的书都是你不可或缺的阅读材料。
《精通比特币》这本书会让每位读者深刻理解比特币的工作原理,还会帮助读者为写出下一代神奇加密货币的应用程序做好充分准备。”

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

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


今天我们一起来读《精通比特币》一书的 第5章 交易5.3 交易结构5.4 交易的输出和输入。

5.4 交易的输出和输入

5.4.2 交易输入

简单地说,交易输入,是指向UTXO的指针。

它们指向特定的UTXO,并被交易哈希和在区块链中记录UTXO的序列号作为参考。

若想支付UTXO,一个交易的输入,也需要包含一个解锁脚本,用来满足UTXO的支付条件。

解锁脚本,通常是一个签名,用来证明对于在锁定脚本中的比特币地址拥有所有权。

当用户付款时,他的钱包通过选择可用的UTXO来构造一笔交易。比如说,要支付0.015比特币,钱包应用就会选择一个0.01 UTXO和一个0.005 UTXO,用它们加在一起来得到想要的付款额。

例5-3中,展示了一种贪心算法来为了得到特定的付款额而选择可用的UTXO。在例中,可用的UTXO被提供在一个常数数组中。

但在实际中,可用的UTXO被一个远程过程调用比特币核心,或者被一个如例5-1中的第三方应用程序接口,来检索出来。

  • 例5-3 一个计算会被发送的比特币总量的脚本(程序代码省略)

  • 例5-4 运行select-utxo.py(程序代码省略)

  • 以下是表5-3 交易输入的结构

5.4.3 交易费

交易费,可当作是为了包含(挖矿)一笔交易到下一个区块中的一种鼓励;也可当作是为了防止欺诈交易和任何种类的系统滥用,在每一笔交易上,通过征收一笔小成本的税,而造成的一种妨碍。
交易费被挖出这个区块的矿工得到,并且记录在这个交易的区块链中。

大多数交易包含交易费,这是为了在网络安全方面给比特币矿工一种补偿。
在第8章中,对于挖矿、费用和矿工得到的奖励,有更详细的讨论。
这一节解释交易费是如何被包含在日常交易中的,大多数钱包自动计算并计入交易费。

交易费基于交易的尺寸,用千字节来计算,而不是比特币的价值。

总的来说,交易费,基于市场所设置,生效于比特币网络中。

矿工依据许多不同的标准,按重要性,对交易进行排序,这包括费用,并且甚至可能在某种特定情况下免费处理交易。

交易费影响处理优先级,有足够费用的交易,会更可能地被包含在下一个挖出的区块中;与此同时,交易费不足,或者没有交易费的交易,可能会被推迟,基于尽力而为的原则在几个区块之后被处理,甚至可能根本不被处理。

交易费不是强制的,没有交易费的交易也许最终会被处理,但是,包含交易费将提高处理优先级。

目前矿工使用的,对包含在一个区块中的交易,基于它们的费用划分优先顺序的算法,在第8章有详细解释,在此就不赘述。

5.4.4 把交易费加到交易中

交易的数据结构没有交易费的字段。
相反地,交易费通过所有输入的总和,以及所有输出的总和之间的差来表示。
从所有输入中扣掉所有输出之后的多余的量,会被矿工收集走。

即:

交易费 =所有输入之和 - 所有输出之和

注意:交易费,是与参加交易的比特币值无关的。
很多钱包,会通过多付交易费的方式来确保大交易被立即处理。
高交易费,不是因为付的钱很多,而是因为一笔交易很复杂,并且尺寸很大,交易费是与参加交易的比特币值无关的。

因为交易费 =所有输入之和 - 所有输出之和,所以当所有输入的笔数特别多的时候,

比如,之前章节我们的例子,Eugenia——菲律宾的儿童募捐项目主管,完成了一次为孩子购买教材的筹款活动。她在世界范围内接收到了好几千个小数额的捐款,总额是50比特币。所以她的钱包塞满了非常小的UTXO,现在她想用比特币,从本地的一家出版商购买几百本的教材。

现在Eugenia的钱包应用,想要构造一个单笔大额付款交易,它必须从可用的、由很多小数额构成的大的UTXO集合中寻求钱币来源。

这意味着交易的结果,是从上百个小数额的UTXO中作为输入,但只有一个输出用来付给出版商。

输入数量这么巨大的交易,会比一千字节要大,也许总尺寸会达到两至三千字节。结果是,它需要更高的交易费,来满足0.0001比特币的网络费。

也就是说交易费,是与参加交易的比特币值无关的。


《第5章交易》5.4.2 交易输入、5.4.3 交易费的内容到此结束,明天我们开始《5.5 交易链条和孤立交易》的学习。

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

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

283/365
20180813首发简书


参考文献:

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

Top