写点什么

《精通比特币》学习笔记(第二章)

用户头像
棉花糖
关注
发布于: 2021 年 03 月 05 日
《精通比特币》学习笔记(第二章)

1、比特币系统由用户交易矿工组成。

用户:用户通过密钥控制钱包

交易:每一笔交易都会被广播到整个比特币网络

矿工:通过竞争计算生成在每个节点达成共识的区块链

2、比特币交易告知全网:比特币的持有者已授权把比特币转帐给其他人。而新持有者能够再次授权,转移给该比特币所有权链中的其他人,产生另一笔交易来花掉这些比特币。

3、每一笔交易包含一个或多个“输入”,这笔交易的另一面,有一个或多个“输出”。

4、输入和输出的总额(负债和信用)不需要相等。当输出累加略少于输入量时,两者的差额是将交易放进账簿的矿工所收集到的一笔小额支付。

5、交易链中,一笔交易输出就是另一笔交易的输入。

6、许多比特币交易都会包括新所有者的地址(买方地址)和当前所有者的地址(称为找零地址)的输出。

7、如果购买了一个价格为 5 比特币但只能使用 20 比特币输入的商品,那么可以将 5 个比特币的一个输出发送给商店所有者,并将一个 15 比特币的输出返回给自己作为找零(减去任何适用的交易费用)。

8、找零地址不必与输入时提供的地址相同,出于隐私的原因,通常是所有者钱包中的新地址。

(许多现代钱包为每个交易自动创建一个新地址,以最大限度地提高隐私。 钱包只是一个地址的集合解锁资金的钥匙。)

9、最常见的交易形式是从一个地址到另一个地址的简单支付,这种交易也常常包含给支付者的“找零”。一般交易有一个输入和两个输出。

10、另一种常见的交易形式是集合多个输入到一个输出的模式。这相当于现实生活中将很多硬币和纸币零钱兑换为一个大额面钞。像这样的交易有时由钱包应用产生来清理许多在支付过程收到的小数额的找零。

11、另一种在比特币账簿中常见的交易形式是将一个输入分配给多个输出,即多个接收者的交易。这类交易有时被商业实体用作分配资金,例如给多个雇员发工资的情形。

12、用户的钱包应用知道如何选取合适的输入和输出以建立用户所希望的交易。用户只需要指定目标地址金额,其余的细节钱包应用会在后台自动完成。

13、钱包应用可以在完全离线时建立交易。就像在家里写张支票,之后放到信封发给银行一样,比特币交易建立和签名时不用连接比特币网络。只有在执行交易时才需要将交易发送到网络。

14、交易的输出会被创建成为一个包含这笔数额的脚本的形式,只能被引入这个脚本的一个解答后才能兑换。为了让这笔交易尽快地被网络处理,用户的钱包会多付一小笔费用。这个不是明显地包含在交易中的;而是通过输入和输出的差值所隐含的。这个差值会被矿工当作交易费放到区块的交易里,最终放进区块链帐薄中。

15、用户钱包应用创建的交易大小包含了确认资金所有权分配给新所有者所需要的全部信息。

16、比特币网络是由参与的比特币客户端联接几个其他比特币客户端组成的 P2P 网络。比特币网络的目的是将交易和区块传播给所有参与者。

17、任何比特币网络节点(其它客户端)收到一个之前没见过的有效交易时会立刻将它转发给联接到自身的其它节点。因此,这个交易迅速地从 P2P 网络中传播开来,几秒内就能到达大多数节点。

18、一个对比特币交易的常见误解是它们必须要等 10 分钟后被确认加进一个新区块,或等 60 分钟以得到六次确认后才是有效的。对于像一杯咖啡这样的小额商品来说,一个商家可以免确认来接受比特币小额支付。这样做的风险不比接受一个不是用有效身份证领取或没有签名的信用卡的风险更大,而后者是现在商家常做的事情。

19、交易在比特币网络上传播开来。但只有被一个称为挖矿的过程验证且加到一个区块中之后,这个交易才会成为共享账簿(区块链)的一部分。

20、比特币系统的信任是建立在计算的基础上的。交易被包在一起放进区块中时需要极大的计算量来证明,但只需少量计算就能验证它们已被证明。

21、挖矿在比特币系统中有两个重要作用:

(1)挖矿节点通过参考比特币的共识规则验证所有交易,挖矿通过拒绝无效或畸形交易来提供比特币交易的安全性。

(2)挖矿在构建区块时会创造新的比特币,和一个中央银行印发新的纸币很类似。每个区块创造的比特币数量是固定的,随时间会渐渐减少。

22、新交易不断地从用户钱包和应用流入比特币网络。当比特币网络上的节点看到这些交易时,会先将它们放到各自节点维护的一个临时的未经验证的交易池中。当矿工构建一个新区块时,会将这些交易从这个交易池中拿出来放到这个新区块中,然后通过尝试解决一个非常困难的问题(也叫工作量证明)以证明这个新区块的合法性。

23、交易被加进新区块时,以交易费用高的优先以及其它的一些规则进行排序。矿工一旦从网络上收到一个新区块时,会意识到在这个区块上的解题竞赛已经输掉了,会马上开始下一个新区块的挖掘工作。

24、按惯例来说,一个区块获得六次以上“确认”时就被认为是不可撤销的了,因为要撤销和重建六个区块需要巨量的计算。

25、简易支付验证:轻量级客户端通过确认一个交易在区块链中且在它后面有几个新区块来确认一个支付的合法性。

用户头像

棉花糖

关注

还未添加个人签名 2021.02.10 加入

还未添加个人简介

评论

发布
暂无评论
《精通比特币》学习笔记(第二章)