主页 > imtoken如何转账 > 比特币交易确认流程分析

比特币交易确认流程分析

imtoken如何转账 2023-10-06 05:10:25

比特币交易如何确认的过程解析

小星将 1 个比特币转给阿戴。除了输入 1 个比特币的交易金额外,还需要设置一定的矿工费。输入秘钥点击发送后,需要等待交易打包,6个区块确认。要完成传输,这个过程大约需要30分钟到1个小时。

那么确认这笔交易的流程是怎样的呢?为什么需要 6 个区块确认?

1

钱包创建交易

钱包软件通过收集 UTXO、提供正确的解锁脚本以及构建支付给接收者的输出来创建交易。然后,生成的交易将被发送到比特币网络上的附近节点,使交易能够在整个比特币网络中传播。

2

交易独立性

每个收到交易的比特币节点都会先验证交易,有效交易会传递给相邻节点,这样可以保证只有有效交易会在网络中传播,无效交易会被第一个节点丢弃。

3

已验证的交易被添加到交易地点

验证交易后,比特币节点会将这些交易添加到自己的交易池中,以临时存储尚未添加到区块的交易记录。

4

节点确认交易

假设有一个比特币网络节点 A 收集了 277,314 块。

接下来,节点 A 做了两件事:1.尝试挖掘新块;2.监听其他节点是否挖掘新块。如果节点 A 监听到块 277315,它标志着对块 277,315 的竞争结束。同时,277,316区块的争夺开始。

节点A收到并验证277315区块后,会检查内存池中的所有交易,移除已经出现在277315区块中的交易记录,确保内存池中剩余的任何交易都未被确认,等待记录在新区块中如何确定我有比特币,删除的交易记录得到确认交易。包含在区块中并添加到区块链中的交易称为确认交易。

比特币网络上有很多节点。假设节点 B 和 C 都在短时间内计算出工作量证明解决方案,然后将他们挖出的块传播到网络,首先传播到相邻节点,然后传播到整个网络。

矿工 B 和 C 的区块数据不同,但都是正确的。因此,此时出现了两个不同的符合要求的块。矿工 D、E、F 等在 B 和 C 附近进入。听这两个区块时,顺序有区别。怎么办如何确定我有比特币,先入为主,节点会先复制它监听的区块,然后开始新区块的挖矿。

此时,不同的节点同时拥有不同版本的区块链,两个版本的区块链都被矿工持续挖掘。但是,两个版本的区块链的增长速度并不相同,一条链总是比另一条长。当D、E、F等矿工发现全网有更长的链时,就会放弃当前较短的链,转而使用更长的链进行挖矿。

而那些被矿工成功挖出的区块因为不在最长链上而被丢弃,它们被称为过时区块。这些过时的块中的数据需要等待被重写到块中。

当一笔交易经过 6 个区块确认后,确认该交易在分支最长的区块链中,不可篡改。这时候,阿呆就可以花小星转账他的比特币了。