翅膀长在你的肩上,太在乎别人对于飞行姿势的批评,所以你飞不起来。——[美国】卡森. 麦卡勒斯
郎咸平曾经说过:比特币白给我都不要。
也有人说:比特币底层技术——区块链是最伟大的发明,堪比互联网。
到底比特币是什么?如何判断?难道我们能做的就是人云亦云?
如何能有自己的独立判断?
一起来《精通比特币》!
今天是我们共读《精通比特币》一书的第7天,让我们一起走向数字货币新旅程。
每天早上10:24发文,欢迎关注支持,一起加油!
照搬的信念,无法抵御波动的冲击,只有行动铸就的思想体系,并在行进中不断修正,才能让我们不断变得更好。——Scalers《投资赚钱就是信念变现》
《精通比特币》一书,英文原名为Mastering Bitcoin ,国内译做《精通比特币》,本书四个电子版的链接如下,点击蓝色字可跳转阅读:
本书四个电子版的链接如下,点击蓝色字可跳转阅读:
今天,我们开始《第二章 比特币原理》——《第3节 交易的构建》的学习。
2.3 交易的构建
比特币的交易,与我们转账相似,只需要指定交易的目标地址和金额,其余的细节比特币钱包应用,会在后台自动完成。
2.3.1 获取正确的输入
大多数钱包应用维护着一个含有用钱包自己密钥锁定的“未消费交易输出”小型数据库。完整客户端,含有整个区块链中所有交易的所有未消费输出副本。完整客户端占太大的硬盘空间,所以大多数钱包使用轻量级的客户端,只保存用户自己的未消费输出。
书中PO出两段程序,一段用HTTP GET命令对一个特定URL建立了一个RESTful API的请求。这个URL会返回一个地址的所有未消费交易输出,第二段,用HTTP命令行客户端 curl来查找返回的响应数据。
就像学渣看见微积分大脑立马宕机,其实局外人看见程序,也是一样,还是那句话你并不孤独。
看见不懂的东西,很简单就是你没有相关的底层知识,不熟悉这个领域而矣,并不是你本人有问题,只是知识储备有问题。所以,多学多看就会,不是一句空话,也不是一句假话。如果看见必须要学习的内容,发现看不懂的内容,恭喜你,走到自己的知识边界了,向外探索,会打破你的边界获得更多的个人成长。
这两段程序,如果你即不是程序员,没有相关程序基础,又不是奔着区块链编程去的,这一段程序可以跳过。我们只要知道,比特币的网络中,与电脑的其他应用一样,都是各种程序代码在底层来支撑的就够了。
Joe和Alice间的交易信息如下图所示:
英语学渣看见满篇的英文网页立马大脑宕机,其实很多人都是一样,你并不孤独。解决这个问题,可以使用网页自动翻译功能,虽然不能完全搞定所有内容,但是还是能够了解一个大概。
Http请求,指的是客户端向服务器的请求消息。Http请求,主要分为get或post两种,在Linux系统下可以用curl和wget命令来模拟Http的请求。
2.3.2 创建交易输出
Alice的交易输出,会包含一段程序,规定了 “这个输出,必须谁能拿出一个签名和Bob的公开地址匹配上,就支付给谁”。因为只有Bob钱包的私钥可以匹配这个地址,所以,只有Bob的钱包可以提供这个签名,以获得这笔比特币。
这个交易还会包含第二个输出,即找零。找零不多说……忘记了?跪下!哦不,请你去看看昨天的内容:)
最后,为了让这笔交易尽快地被网络处理,Alice的钱包会多付一小笔费用。这一笔费用,通过输入和输出的差值所隐含。这个差值会就被矿工当作交易费放到区块的交易里,最终放进区块链帐薄中,即矿工费。
这笔交易里的矿工费,数额是0.1-(0.0845+0.015)=0.0005 BTC
2.3.3 将交易放到总账簿中
比特币网络的目的,是将交易和区块传播给所有参与者。
被Alice钱包应用创建的交易大小,为258字节,包含了确认资金所有权和分配给新所有者所需要的全部信息。现在,这个交易必须要被传送到比特币网络中,以成为分布式账簿即区块链的一部分。
(题外话:看到这里把巴比特的页面关掉了,决定后面不再放这个链接,因为,好多东西跟知笔墨完全相同。)
任何比特币网络节点,收到一个之前没见过的有效交易时,会立刻将它转发给联接到自身的其它节点。因此,这个交易迅速地从P2P网络中传播开来,几秒内就能到达大多数节点。
今天就到这里吧,明天我们继续,祝大家夏天快乐!
268/365
20180803
第二章整体结构:
第二章思维导图参考文献:
1、Scalers:《比特币白皮书解析 | 从零开始区块链》
3、比特币白皮书原版:Bitcoin: A Peer-to-Peer Electronic Cash System
6、Linux命令发送Http的get或post请求(curl和wget两种方法)
7、curl命令
网友评论