The Bitcoin Mempool: Relay Network Dynamics

In the last article by Memool, I examined the different types of relay political filters, the reason why they exist and the incentives that in the end decide how effective every class of filter is in preventing confirmation of different transactions classes. In this piece I will look at the dynamics of the relay network when some nodes on the network perform different relay policies than other knots.

All the rest for the same, when the nodes on the network perform homogeneous relay policies in their members, all transactions should propagate on the whole network since they pay the minimum feeder necessary in order not to be evicted by the memo of a knot during the periods of large backlogs of transactions. This changes when several nodes on the network perform heterogeneous policies.

The Bitcoin Relè network operates in a better way, using what is called flooding filling architecture. This means that when a transaction is received by a node, it is sent to any other node to which it is connected except the one from which it has received the transaction. This is a highly inefficient network architecture, but in the context of a decentralized system provides a high degree of guarantee that the transaction will eventually reach the expected destination, the miners.

The introduction of filters in the relay policy of a node to limit the transport of transactions otherwise valid in theory introduces the friction to the propagation of this transaction and degrades the reliability of the network’s ability to perform this function. In practice, things are not so simple.

How much friction prevents propagation

Let’s take a look at a simplified example of different compositions of network knots. In the following blue graphic nodes they represent those who Want It propagates an arbitrary class of valid transactions and red nodes represent those that will do so Not propagate those transactions. The collective set of miners is indicated in the center as a simple representation of where the transactional users eventually want their transactions to concentrate so as to be possibly confirmed in the blockchain.

This is a model of the network in which the nodes that refuse to propagate these transactions are a clear minority. As you can see clearly, any node on the network that accepts them has a clear path to transmit them to miners. The two nodes that try to limit the propagation of transactions through the network have no effect on their possible receipt by the miners’ nodes.

In this diagram, you can see that almost half of the example network is instituting filtering policies for this class of transactions. Despite this, only part of the network that propagates these transactions is cut from a path to miners. The rest of the knots not filtering still has a clear path towards miners. This introduced a certain degree of friction for a subset of users, but the others can still freely commit themselves to the propagation of these transactions.

Even for users affected by the filtering of the knots, only a single connection to the rest of the network nodes that are not cut by the miners (or a direct connection to a miner) to remove this friction is required. If the real relay network should have a composition similar to this example, everything it would take is a new connection to alleviate the problem.

In this scenario, only a small minority of the net is actually propagating these transactions. The rest of the network undertakes to filter policies to prevent propagation. Also in this case, however, those knots that do not filter still have a clear path to propagate them to miners.

Only this small minority of non -filter nodes is necessary to guarantee their possible propagation to miners. Preferential peering logic, that is, functionality to ensure that your node prefer peers that implement the same version of the software or the same forwarding policies. These types of solutions can guarantee that peers who propagate something to others will not find each other and maintain connections between them throughout the network.

The tolerant minority

As you can see looking at these different examples, even in the face of a vast majority of the public network that is committed to filtering a specific class of transactions, everything that is necessary for them to successfully propagate through the network to miners is a small minority of the network to propagate and transmit them.

These nodes essentially, through any technical mechanism, will create a “sub-energy” within the largest network of public relays in order to ensure that there are paths practicable by users who engage in these types of transactions to miners willing to include them in their blocks.

There is essentially anything that can be done to contrast this dynamic except to engage in a sybil attack against all these knots, and Sybil’s attacks only need a single honest connection to be completely defeated. In addition, an honest knot that creates a very large number of connections with other nodes on the network can increase the cost of such a Sybil attack on the exorbitant. The more connections it creates, the more Sybil nodes must be shot to consume all its connection slots.

What if there was no minority?

What if there was no tolerant minority? What will happen to this class of transactions in that case?

If users still want to make them and pay commissions to the miners for them, they will be confirmed. The miners will simply create an API. The role of miners is to confirm transactions and the reason they do is maximize profit. Miners are not altruistic, or morally or ideologically motivated entities, are a business. There are to make money.

If there are users willing to pay them money for a certain type of transaction and the entire public network refuses to propagate these transactions to miners to include them in blocks, miners will create another way for users to send these transactions.

It is simply the rational move to be done as an actor motivated by profit when there are customers who wish to pay you money.

Relè policy is not a replacement of consent

At the end of the day, the forwarding policy cannot successfully censor the transactions if they are valid for consent, users are willing to pay for them and the miners do not have some mitigating circumstances to lower the commissions that users are willing to pay (how to cause material damage or material damage on the network, IE who crash, propagating blocks that take hours to verify a PC consumer, etc.).

If a class of transactions is truly undesirable by Bitcoin users and nodes operators, there is no solution to prevent them from being confirmed in the blockchain unless they issue a modification of consent to make them not valid.

If it were possible to simply prevent transactions from being confirmed by filtering policies implemented on the relay network, then Bitcoin would not be censorship.

Leave a Comment