2

I see that Binance Pool has a Block Health of 94.82% (Block 795364).

Why do Nodes accept blocks that have so many intentionally excluded transactions?

Isn't that against the Bitcoin ethos in a sense since this is akin to censorship?

Do some nodes purposely attempt to not accept these miners blockchain?

Thanks and appreciate full answers with additional resources if possible :)

commstark
  • 43
  • 5

2 Answers2

7

Why do Nodes accept blocks that have so many intentionally excluded transactions?

Because nodes do not get do discriminate between blocks. If a block follows the consensus rules, it must be accepted. If it doesn't it must be rejected. If nodes instead each have their own rules, they risk getting forked off from the rest of the network, and the currency.

Now one can of course wonder: why don't the consensus rules say something about rejecting blocks that have too many expected but missing transactions? The simple answer is that that is not a consistently enforceable rule. Nodes' mempools (the set of unconfirmed transactions) are not, and cannot be, guaranteed to be consistent. There can be double-spends on the network for example, which cause some nodes to see one version first, and other nodes to see another first. When a block finally arrives, at least one of both sets will be wrong. Some transactions can also be slow to validate and to relay across the network, so when a block arrives with it in it, some nodes may simply not yet have heard about the transaction.

Simply put: an expectation of what is in the next block is only useable in consensus rules if we can guarantee that all nodes, at all times, agree on what that expectation is. And to achieve that, we'd need an algorithm for consistency across unconfirmed transactions. If we had that, we wouldn't need a blockchain anyway, as the blockchain's goal is a consensus algorithm, exactly with the purpose of getting everyone to agree on some piece of data (confirmed transactions, and their order).

Isn't that against the Bitcoin ethos in a sense since this is akin to censorship?

Quite possibly. But all it needs is some miner, possibly anonymous, to start mining these left behind transactions. The whole point of mining, as opposed to a central coordinator that decides which transactions are accepted in the presence of conflicts, is that anyone can participate.

Do some nodes purposely attempt to not accept these miners blockchain?

That too, would increase the risks of irreconciable forks. Unless a majority of the hashrate enforces such a rule, choosing not to build on top of some censored set of miners' blocks, is just creating a minority fork that will be ignores by the entire network. With a majority of the hashrate enforcing it, it is possible. But then we call is a 51% attack, because unless it happens with agreement of the whole network, that actually is censorship.

Murch
  • 71,155
  • 33
  • 180
  • 600
Pieter Wuille
  • 98,249
  • 9
  • 183
  • 287
  • Note that a small miner can be censored by the tacit agreement of enough other miners, and it doesn't cost anything for them to do it. – user253751 Jun 23 '23 at 14:48
  • @user253751 Yes, that's the 51% attack I refer to. – Pieter Wuille Jun 23 '23 at 14:56
  • @user253751 Note that the assumption that this does not cost anything is a fallacy because executing a 51% attack improperly can result in massive expenses on power usage that may not actually result in a more profitable scenario than mining fairly. – Poseidon Jul 20 '23 at 19:57
3

Why do Nodes accept blocks that have so many intentionally excluded transactions?

Bitcoin nodes do not implicitly discriminate against any nodes that are submitting new blocks and proper proof of work solutions, if it is the case that they mine the longest chain then the network will automatically accept it (assuming everything else is valid as well). So the only way to slow this down is convince miners to point their ASIC at a pool which does not do such things. Also a 6% censorship on one pools block is still much better than ETH where OFAC censorship is minimum 30% at any given moment on any validator(and funds which are akin hashpower in PoS are locked on the validators where in Bitcoin we are free to move to a different pool when we feel we are being censored).

Isn't that against the Bitcoin ethos in a sense since this is akin to censorship?

I agree that large entities like Binance censoring transactions is not within the ethos of Bitcoin, but neither is anything else they sell on their exchange/casino. So the only way to stop such things is get people to stop supporting it, otherwise they are just participating in Bitcoin like everyone else. I wont endorse everything in this article (partially because I have not read the whole thing) but generally the way to think about adversaries and Bitcoin is that "Bitcoin is money for enemies": https://bitcoinmagazine.com/business/bitcoin-is-money-for-enemies

Do some nodes purposely attempt to not accept these miners blockchain?

You cannot really do such a thing without creating a hardfork if you cannot create a longer chain by the time their chain propagates, which generally is done automatically and would not be something you could do on the fly.

Poseidon
  • 599
  • 2
  • 20