From 64d979d5f90fdec425ecf510b2303aa12a60f1cf Mon Sep 17 00:00:00 2001 From: BitcoinMechanic Date: Sat, 11 May 2024 11:39:46 -0700 Subject: [PATCH 1/3] update empty block explainer, add contributor info --- contributors/bitcoinmechanic.txt | 3 +++ frontend/src/app/docs/api-docs/api-docs.component.html | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 contributors/bitcoinmechanic.txt diff --git a/contributors/bitcoinmechanic.txt b/contributors/bitcoinmechanic.txt new file mode 100644 index 000000000..b2574b2fa --- /dev/null +++ b/contributors/bitcoinmechanic.txt @@ -0,0 +1,3 @@ +I hereby accept the terms of the Contributor License Agreement in the CONTRIBUTING.md file of the mempool/mempool git repository as of January 25, 2022. + +Signed: bitcoinmechanic diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index f6fad9ee3..bc55223a6 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -238,7 +238,7 @@ -

When a new block is found, mining pools send miners a block template with no transactions so they can start searching for the next block as soon as possible. They send a block template full of transactions right afterward, but a full block template is a bigger data transfer and takes slightly longer to reach miners.

In this intervening time, which is usually no more than 1-2 seconds, miners sometimes get lucky and find a new block using the empty block template.

+

When a new block is found, mining pools send miners a block template with no transactions so they can begin doing useful work as soon as possible. The pool will then send a block template full of transactions right afterward, and the miners will usually have it in under a second.

Miners sometimes get lucky and find the empty block in the interim period before having the full template however this is rarely the reason for an empty block as it's such a small amount of time.

The usual cause is that some mining hardware will continue to work on old work for up to 60 seconds despite having newer work. This is also why when comparing "Actual Blocks" with "Expected Blocks" on mempool.space you will often observe slightly lower fees in the blocks found than what's theoretically possible.

From 16c154f39d40bebf37bcd322b8c475c1bbfd8ee3 Mon Sep 17 00:00:00 2001 From: BitcoinMechanic <45926711+BitcoinMechanic@users.noreply.github.com> Date: Sun, 12 May 2024 23:05:55 -0700 Subject: [PATCH 2/3] Update frontend/src/app/docs/api-docs/api-docs.component.html Co-authored-by: mononaut <83316221+mononaut@users.noreply.github.com> --- frontend/src/app/docs/api-docs/api-docs.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index bc55223a6..9c7013afb 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -238,7 +238,7 @@ -

When a new block is found, mining pools send miners a block template with no transactions so they can begin doing useful work as soon as possible. The pool will then send a block template full of transactions right afterward, and the miners will usually have it in under a second.

Miners sometimes get lucky and find the empty block in the interim period before having the full template however this is rarely the reason for an empty block as it's such a small amount of time.

The usual cause is that some mining hardware will continue to work on old work for up to 60 seconds despite having newer work. This is also why when comparing "Actual Blocks" with "Expected Blocks" on mempool.space you will often observe slightly lower fees in the blocks found than what's theoretically possible.

+

When a new block is found, mining pools send miners a block template with no transactions so they can begin doing useful work as soon as possible. The pool will then send a block template full of transactions right afterward, and the miners will usually have it in under a second.

Miners sometimes get lucky and find the empty block in the interim period before having the full template however this is rarely the reason for an empty block as it's such a small amount of time.

The usual cause is that some mining hardware will continue to work on old work for up to 60 seconds despite having newer work.

From d6d56688ead538c8aaf966776f3960034ea002c1 Mon Sep 17 00:00:00 2001 From: BitcoinMechanic <45926711+BitcoinMechanic@users.noreply.github.com> Date: Thu, 16 May 2024 10:12:09 -0700 Subject: [PATCH 3/3] Update api-docs.component.html Tweak empty block explainer --- frontend/src/app/docs/api-docs/api-docs.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/app/docs/api-docs/api-docs.component.html b/frontend/src/app/docs/api-docs/api-docs.component.html index 9c7013afb..63960a910 100644 --- a/frontend/src/app/docs/api-docs/api-docs.component.html +++ b/frontend/src/app/docs/api-docs/api-docs.component.html @@ -238,7 +238,7 @@ -

When a new block is found, mining pools send miners a block template with no transactions so they can begin doing useful work as soon as possible. The pool will then send a block template full of transactions right afterward, and the miners will usually have it in under a second.

Miners sometimes get lucky and find the empty block in the interim period before having the full template however this is rarely the reason for an empty block as it's such a small amount of time.

The usual cause is that some mining hardware will continue to work on old work for up to 60 seconds despite having newer work.

+

When a new block is found, mining pools send miners a block template with no transactions so they can begin doing useful work as soon as possible. The pool will then send a block template full of transactions right afterward, and the miners will usually have it in under a second.

Miners sometimes get lucky and find the empty block in the interim period before having the full template however the reason is often that some hardware continues working on older templates after receiving updates.

Contrary to common belief, sending clean=true to the miner does not necessarily mean that they stop doing old jobs, just that they discard the work once completed. In the case of empty blocks this would just result in the miner throwing away a valid block that not only would have rewarded the miner, but added PoW to the Bitcoin's blockchain.