主页 > 下载imtoken钱包app中国版 > 区块链基础知识——《精通比特币》第二章“比特币原理”解读

区块链基础知识——《精通比特币》第二章“比特币原理”解读

下载imtoken钱包app中国版 2023-08-18 05:08:35

通过本章的学习,您将对比特币交易的整个过程和基本原理有一个共同的认识。 本章可以帮助您建立比特币系统的大框架。

阅读时间:约5分钟

2.1 比特币交易

比特币交易类似于复式记账簿中的行。 每笔交易都包含一个或多个“输入”。 当这一交易发生时,它会产生一个或多个“输出”。 这些输入和输出的总和,不需要相等,两者的差就是支付给矿工的“矿工费”。

比如A一共有0.2个比特币比特币的产生原理,这0.2个比特币来自别人之前两次赠送的。 假设A用0.12个比特币在咖啡店买了一杯咖啡,那么这笔交易的输入输出如下图所示:

进入

第一个人将给予 0.1 BTC

比特币的产生原理_比特币每十分钟产生多少个比特币_第一个比特币如何产生

第二个人将赠送 0.1 BTC 作为礼物

总投入:0.2 BTC

输出

输出 1 0.12 BTC

输出 2 0.03 BTC

总产量:0.15 BTC

第一个比特币如何产生_比特币的产生原理_比特币每十分钟产生多少个比特币

从上图可以看出,虽然只向咖啡店支付了0.12 BTC,但A购买咖啡需要通过钱包客户端将前两笔交易收到的比特币整合为0.2 BTC,整合金额大于coffee ,因此生成输出 2 的变化。 总输入和总输出之间的差额,0.05 BTC,就是本次交易的“矿工费”。

2.2 交易构建

比特币钱包应用会自动选择合适的输入和输出来建立用户想要的交易,用户只需要指定接收地址和金额即可。 比特币交易在建立和签署时不需要连接到比特币网络,只有在交易执行时才需要将交易发送到比特币网络。

2.2.1 获得正确的输入

钱包应用程序在本地维护一个由用户自己的密钥锁定的“未消费交易输出”的小型数据库。 每次创建新交易时,它都会从“未消费的交易输出”数据中索引合适的地址作为下一笔交易的输入。

2.2.2 创建交易输出

第一个比特币如何产生_比特币的产生原理_比特币每十分钟产生多少个比特币

用户创建的交易输出会包含一个脚本,这个脚本的大意是“谁能想出与接收地址匹配的私钥签名,谁就得到报酬”。 由于地址对应的地址在创建地址的时候会生成地址的私钥和公钥,所以谁拥有私钥就可以控制这个地址上的比特币。

此交易还包括第二个输出,找零。 如果从非消费输出中得到的地址中包含的比特币总和大于本次交易的金额,则在本次交易中,还会产生找零输出比特币的产生原理,找零输出的接收地址为发起方原地址地址。

为了让这笔交易尽快被网络处理,交易的发起方还需要支付一笔矿工费,矿工费会进入第一次确认交易的矿工的收款地址。

2.2.3 将交易放入账本

用户使用钱包创建的交易包含未来拥有该金额所需的所有信息。 现在,这笔交易必须传输到比特币网络,成为分布式账本(区块链)的一部分。

比特币网络是由连接到其他比特币客户端的参与客户端链组成的 P2P 网络。 比特币网络的目的是向所有参与者传播交易和区块。

比特币每十分钟产生多少个比特币_比特币的产生原理_第一个比特币如何产生

比特币钱包应用程序会将新创建的交易发送给连接到互联网的任何其他客户端。 当任何一个比特币网络节点收到一个以前没有见过的有效交易时,它会立即将它转发给连接到它自己的客户端。 其他节点。

当收款人的钱包应用程序收到付款人的交易时,因为它包含一个可以用收款人的私钥赎回的输出,收款人可以立即确认交易被正确构造,并且有足够的费用来确保它将被包含在下一个区块,所以收款人此时只需要等待交易被区块确认。 如果商家在没有确认的情况下接受比特币小额支付,则无需等待 6 次确认。

2.3 比特币挖矿

挖矿在比特币系统中有两个功能:

“挖矿在构建区块时会构建新的比特币,就像中央银行发行新钞票并发行一样。每个区块创建的比特币数量是固定的,每四年减半。

》挖矿创造信任。 只有在通过挖掘过程验证并包含在块中后,交易才会成为分布式分类帐的一部分。

比特币的产生原理_比特币每十分钟产生多少个比特币_第一个比特币如何产生

挖矿难度动态调整,确保每10分钟出一个新区块。 挖矿可以比作一个巨大的多人数独益智游戏。 想象一下,这个数独有成千上万的行和列。 如果只有少数几个单元格有值,其他单元格都是空的,会花很长时间。 解题需要时间,解题难度可以通过增加或减少行数和列数来动态调整。 即使问题很难解决,验证起来也很容易。 这与比特币挖矿非常相似。

2.4 以区块为单位挖矿交易记录

当新的交易进入比特币网络时,当比特币网络上的节点看到这些交易时,它们会首先将它们放入由节点维护的一个临时的、未经验证的交易池中。 当矿工构造一个新的区块时,他们将从交易池中取出交易并放入一个新的区块中,然后进行挖矿以证明新区块的合法性。

一旦矿工从网络中收到一个新的区块,就意味着这个区块的解题竞赛已经结束,他们将立即开始挖掘下一个新区块。 他会立即根据这个新区块和一些交易构建下一个新区块。

2.5 花费交易

当交易成为区块的一部分并作为整个分布式账本(即区块链)的一部分嵌入时,每个比特币客户端都可以独立验证交易是否有效且可花费。 轻量级客户端可以通过确认某笔交易在区块链中并且跟随它的几个新区块来确认交易的合法性。

用户可以通过比特币客户端将收到的交易和之前完成的交易作为输入,创建新的交易输出,从而实现消费。