如何在区块链中验证交易?

问题描述 投票:1回答:1

[如果矿工A大约同时创建了一个包含交易A的区块,而矿工B创建了一个不包含该交易A的区块,那么其他一些矿工将首先收到矿工A的区块,而其他矿工将首先接收接收矿工B的区块。

如果矿工B的链增长快于矿工A的链,那么交易A将永远不会被接受(就像从未发生过一样)。那么,创建交易A的用户A如何才能确保交易A被区块链接受/验证?

[此外,交易A是否有可能在某个时候被区块链验证,然后将来另一个不包含交易A的子链增长得更快,从而拒绝了交易A?

是否有任何时间建立所有矿工都应同意的检查点?

blockchain policy nonce consensus
1个回答
0
投票
注意:由于区块链都是非常不同的,所以我假设我们在谈论比特币。

如果首先开采了块B,则事务A返回到节点的内存池(内存),并可能包含在下一个块中。如果尚未开采,则Mempool会在2周后将其淘汰。

[不包含该区块的另一条链可能会增长得更快,但极不可能,因为每个区块平均需要10分钟,并且激励矿工在主链上工作(而不是叉式链),因此他们会切换当主链开采一个新的区块时立即进行。他们不会在分支链上工作太长时间以至于超过网络,从而浪费时间和资源。它需要至少51%(平均)的网络哈希能力才能超过主链,称为51%攻击。这从未发生在比特币上,但是发生在较小的链上,例如比特币黄金。

© www.soinside.com 2019 - 2024. All rights reserved.