Bitcoin Stack Trade is a query and reply web site for Bitcoin crypto-currency fanatics. It solely takes a minute to enroll.
Anyone can ask a query
Anyone can reply
The most effective solutions are voted up and rise to the highest
In a not too long ago Medium article, Joe Kelly described an assault that he calls “Monopoly Mining” through which a state actor or another very properly resourced social gathering that obtains majority hashpower does greater than double-spend, they deny all different miners block rewards and thus disrupt the community (https://joekelly100.medium.com/how-to-kill-bitcoin-part-3-no-can-defend-cd6affe3fc44). The assault requires mining forward however not publishing the chain being created till an opportune time when the bulk miner’s secret chain is sufficiently far forward of the canonical chain. Then the bulk miner publishes sufficient of the blocks to determine the brand new canonical chain taking away all the block rewards of the now orphaned blocks. Then when some other miner tries so as to add a brand new block, the bulk miner releases two extra withheld blocks to maintain denying some other miner block rewards.
Disregarding for the second the expense required to hold out this assault and the query of whether or not any entity may attain majority hashpower and construct a sufficiently lengthy alternate chain to execute this assault in secret, it appears to me that withholding found blocks serves no helpful goal and that this assault may very well be handled by a tender fork that disregards any block that the relevant miner didn’t publish inside a sure period of time after it was discovered. However do Bitcoin nodes obtain sufficient info to find out the period of time that has handed from the time the block was discovered to the time it was printed?
An Ivan on Tech article describes how the Horizen protocol penalizes nodes that delay publishing blocks (https://academy.moralis.io/blog/breaking-down-proof-of-work-mining-and-51-attacks). Has something related been critically thought of for Bitcoin?
In precept, a node is aware of the date and time at which transactions within the new block have been added to this node’s mempool. That gives an approximate higher restrict to the time the block may need been withheld.
For instance if at 10:00 the node receives a block which comprises a transaction the node had acquired at 9:00 it’s unlikely the block may have been withheld greater than an hour.
However do Bitcoin nodes obtain sufficient info to find out the period of time that has handed from the time the block was discovered to the time it was printed?
There isn’t a characteristic of a block which might reveal this info. A block might be created at any time, with any particulars inside, and it will likely be accepted by the community as legitimate as long as it passes the consensus guidelines. There aren’t any adjustments that may very well be made to Bitcoin with a view to make this type of factor attainable.