This is an attack vector and is called an eclipse attack.
This paper deals with “eclipse attacks” enabling a malicious actor to isolate a system user by taking control of all outgoing connections. Although being known from practical blockchain applications, eclipse attacks, so far, are hard to be detected.
While this does not appear to play out often in ...
One transaction is (eventually) executed only once. It may be executed by different nodes around the same time and even maybe included in a block but only one such block may exist in the blockchain. So there is no point for nodes to even try adding a transaction twice so they will just ignore transactions which they already know about.
The more miner nodes ...
I have no idea on how to do it with leveldb. But you could use the admin.peers from geth api/cli that return something like that:
caps: ["eth/61", "eth/62", "eth/63"],
You can move the ancient database into separate disk volumes,
which can be HDD. It shrinks the blockchain data directory approximately twice times lower. Use --datadir.ancient option.
You may delete sometimes your whole database and resync again. The new size after resync will be much lower - it is about 230 GB at the time of September 2020. Parity does ...
They take turns. By competing. Who is delegated the authority to publish a block is decided by a consensus mechanism. This mechanism for how to agree by majority consensus to a computer program, solving "How do nodes agree on which transactions to include in the block?", is what Satoshi Nakamoto invented in 2008. The invention solves a social ...
How does a transaction get propagated through network at all?
To send a transaction to the blockchain you must access a node. In this prospect, you can :
Run your own node using a client such as Geth or Parity.
Trust a public node using a service such as Infura.
Trust a wallet that does all the work for you.
After receiving your transaction, your node ...