The "node pool" (similar to "mining pool" but for everything else)

With ordered Merkle tree from 2018 CTOR upgrade the mempool can be sharded by transaction hash, and a node can split into an arbitrary number of shards that produce a block in parallel. A shard “owns” its transaction hash range, any other shard that wants to use an “unspent output” simply requests the right to do so, and first to ask gets to spend it. The shards of a node can be operated by different people who all together form a “team”, the node as a “pool” or “team” of people. The shards or “sub-nodes” can be in geographically different locations. Nodes can propagate mempool and blocks filtered by transaction hash range, so that propagation becomes via “sub-nodes” (shards) directly, removing any bandwidth bottleneck. This type of parallelization has no computation, storage or bandwidth bottlenecks. The “node pool” coordination to build Merkle root and request UTXO adds latency cost of maybe half a second?

Game theory for “node pool” is the same as for a centralized node, if the node (“node pool”) produces invalid blocks those get rejected by other nodes and the node does not get paid. Nodes validate blocks produced by other nodes so that they mine on the highest difficulty chain.

With “node pool” a block can be very large. Consider 1024 shards each with 32 MB “sub-block”, you have 32 GB blocks and 100k transactions per second. Each sub-node simply has similar burden as a current Bitcoin Cash node would have.

I think this is a really interesting and promising concept. I have not seen it discussed much. I wanted to open ability to discuss it here. I apologize for my previous post on this diverting into a bad idea of “singular transaction trie”, it took away from what I actually wanted to discuss.

1 Like