主页 > 老版本imtoken > 2.比特币原理——掌握比特币笔记

2.比特币原理——掌握比特币笔记

老版本imtoken 2023-01-17 14:44:01

与传统的银行和支付系统不同,比特币系统基于去中心化信任。由于比特币系统中没有中央权威的信任权威比特币算法原理,信任成为比特币节点间的显着特征。

概览

图像.png

如上图,我们可以看到比特币系统由用户(用户通过密钥控制钱包)、交易(每笔交易广播到整个比特币网络)和矿工(每个节点达成共识的区块链通过竞争计算。区块链是一个分布式的公共权威分类账,包含发生在比特币网络上的所有交易。

交易

比特币交易就像复式簿记中的行,每笔交易包含一个或多个输入并产生一个或多个输出。一种或多种输入的总量与一种或多种输出的总量之差就是矿工费。

当比特币交易产生时,节点会将交易广播给所有比特币节点,让所有比特币节点同时记录交易,并通过共识算法,选择一个节点将交易记录在区块链,允许所有节点就交易的有效性达成一致,并相信交易确实发生了。

图像.png

交易还包含每个被转移比特币(输入)的所有权证明,该证明以所有者的数字签名存在并且可以由任何人独立验证。在比特币所有权中,“花费”是指签署一项交易,将先前交易的比特币转移给由另一个比特币地址标识的新所有者。

图像.png

上图中第一笔交易是Joe将0.1个比特币转给Alice,并支付了0.0005个比特币作为手续费给矿工,此时这个0.的所有者@>1 比特币变成了爱丽丝。 Alice 用 0.015 将 0.1 比特币转给 Bob,并向矿工支付 0.0005 比特币作为费用,获得剩余 0.0845 比特币的所有权,也就是找零钱的过程,等等(这里好像是Bob转账到Gopesh的图片有问题,应该是原书中的图片有误,Bob的交易输入总量为小于总输出量,交易不成功)。

常见的交易形式

一般交易通常包括付款地址和收款地址,而此类交易通常包括找零的过程。

图像.png

另一种是集体交易,可能是一笔较大的支付,需要支付多个不同数量的比特币。类似于现实生活中一块橡皮卖100块,我只能摸包。一个是50的,两个是20的,一个是10的。幸好我能收藏100,所以我买了一个价值100的。,来说明高端商务橡皮擦。

图像.png

还有一种情况是一进多出,一笔钱转给多人。比如思聪哥高兴,拿出100w分给10个人。

图像.png

创建交易输出

交易输出将被创建为包含该金额的文件,以脚本的形式,其中的比特币只有在提供脚本答案后才能进行交换。以 Alice 到 Bob0.015 个比特币为例,从 Alice 到 Bob 的比特币交易的输出将包含一个脚本,上面写着“谁能拿出一个与 Bob 的公共地址匹配的签名?on,谁可以使用这个交易输出”。因为只有 Bob 的私钥签名的信息才能匹配这个地址(非对称加密的特性之一,数字签名),所以只有持有 Bob 的地址的钱包才能使用这个交易输出。这个交易还包含另一个交易输出,Alice 的零钱。所以这个交易包含两笔付款,一笔给 Bob,一笔给 Alice 自己。此外,Alice 的钱包程序会支付少量费用,以便网络尽快处理该交易。这没有明确包含在交易中,而是通过输入和输出的差异隐含(除了变化)。

挖矿

上述从 Alice 到 Bob 的比特币交易是通过 P2P 网络通过比特币网络传播的。但只有在通过称为“挖掘”的过程验证并添加到区块后,该交易才会成为比特币公共分类账(区块链)的一部分。

对比特币的信任是基于计算的。交易经过验证并放置在需要大量计算才能完成的块中,但只需少量计算即可验证它们已被证明已添加到区块链中。挖矿在比特币系统中有两个功能:

挖矿过程将构建新区块,从而产生新的比特币。这和中央银行印新钞是一样的。每个区块创建的比特币数量是稳定的,但会随着时间的推移而减少。采矿创造信任。挖矿确保交易只有在经过大量计算后才能被验证并放入区块中。要推翻这些经过验证的交易,就需要推翻所有的交易记录,这意味着需要重新执行挖矿过程,并且需要进行更大量的计算才能完成,这太难完成了。所以区块越多,信任度越高。

挖矿的过程可以简单地描述为所有节点参与一个困难的数学计算。只有计算出答案的人才有权将经过验证的交易放入区块并获得生成区块的结果。创建了新的比特币。这个数据计算问题的难度是动态调整的,大约10分钟就可以解决。比特币中的这个数学计算问题是基于哈希加密算法的,这使得这个数学计算问题很难解决,但是很容易验证答案是否正确。

在区块中挖掘交易记录

网络中产生的比特币交易必须添加到整个比特币公共账本(区块链)中才能被认为是有效的。平均每 10 分钟,矿工会将自上一个区块以来发生的所有交易打包到一个新区块中。新交易将继续通过各种比特币钱包程序流入比特币网络。当比特币网络中的节点(矿工)看到这些交易时比特币算法原理,他们会首先将它们放入一个独立维护的临时未经验证的交易池中。中间。矿工在构建新区块时,会取出未验证交易池中的交易进行验证,并将其打包成新区块,然后通过抢先计算一道数学难题(也称为工作量证明),得到将区块添加到区块链的权力,并将区块添加到区块链,并获得相应的新创建的比特币作为奖励。

这些交易加入新区块时,会按照高手续费等策略的优先级排序,优先打包高手续费或其他策略选择的交易。当矿工收到一个新区块时,这意味着有人已经找到了当前数学难题的答案,它会立即开始创建下一个新区块。它通过将之前的交易和这个新区块的数字指纹放在一起来构建一个新区块。