The distributed processing system
It is interesting to see how people like to think that Peer-to-peer only relates to client systems. NTP is a case in point where this is not the case. The servers in a distributed NTP stratum can be configured to all interact the set the time between the group. As such, this can result in a client to distributed server system.
Systems such as Bitcoin (and even Ethereum) have a similar structure.
A client sends a transaction. Where this is an interaction between a user and a merchant, in this exchange, the interaction is between the two peer systems directly. That is, the user sends a signed transaction top the merchant. This is a direct peer exchange. Bitcoin originally included an IP to IP direct exchange protocol for this reason. It was a part of the original code and merchant system that was depreciated due to a few issues that were never addressed (this is also a feature that is not a part of the main exchange protocol and does not require a fork to implement).
From this point, the merchant would seek to send the transaction to the miners. The miners in a near complete graph structure efficiently distribute and validate the transaction for inclusion into a block. In this way, the mining network acts as a single distributed Server Processing System. The distribution in a Moran process (1962) that allows for an efficient, that is close to O(1) distribution of information in a peer network.
The system works well as the user does not need to trust the system at all. The user is signing a transaction that is handed (over an IP to IP link) to a merchant, even where the user does not have an active Internet connection. This works as the user can also know that they are holding their private keys in an ECDSA system that only requires that they have a valid address that holds a sufficient value in the distributed ledger. That is, as maintained collectively by the miners as a virtual distributed Server Processing System.
In any exchange, the merchant can only verify and distribute the value that the user signs and this can be done offline where the merchant does not have access to the user’s system in any manner.
The merchant then has the responsibility to ensure that the payment is processed, this is sent to the mining infrastructure or in bitcoin, a distributed Server Processing System that is designed to settle and clear the transaction. This is what mining is. It is the settlement system for the peer cash exchange that has occurred between the connected systems.
The mining system in bitcoin works best when systems that are a part of the giant node or clearing house that forms the mining process are more powerful. A high-powered server acts as a more efficient node. It can maintain thousands of peer links which increases the network efficiency. When too many small (for instance Raspberry Pi) level system are incorporated, these nodes start to isolate the system. This occurs as these systems can only maintain a small number of peers simultaneously (in the Raspberry Pi case between 5 and 10 links is usual). These results in a loose mesh at the extreme case where all systems are small. This is both inefficient and insecure and vulnerable to Sybils.
The problem that we see with Bitcoin is that people cannot isolate the functions within the system. They treat the entirety as a single monolith and cannot see how this can be utilised in its components.
For the merchant in our example, it is incumbent on them to send the transaction to the network, not on the user. It is the merchant who seeks payment and who will lose revenue if they fail to process this transaction. It is on the merchant that this cost should be assigned.
Transaction costs are at the heart of the economic foundations of law. This is an idea that started with the “Coasean revolution” in contract law (Coase, 1937) and the theory of the firm. Coase formulated the idea of transaction costs and the fair allocation of these costs in trade and exchange.
From these ideas, in Bitcoin and related systems, we can see that the ideal distribution of transaction costs is best allocated where it can be most efficiently assigned. This is:
1. where the risk of loss is minimised,
2. where the costs are minimised, and
3. where the overall losses in the system are lowest.
In all of these cases, the best and most efficient party is the merchant. The merchant will transfer more than any individual user, they have the most at risk and the incentives are asymmetrically allocated towards the merchant ensuring that the transaction is monitored and that it is settled correctly.
Hence, even when a small transaction has been broadcast and the merchant is willing to assume the risk of a 0-conf (that is a transaction that has not yet been incorporated into a mined block), it is not the user who would be best assigned the transactional costs associated with this transaction.
1. Coase, Ronald H. (1937). "The Nature of the Firm". Economica. 4 (16): 386.
2. Moran, P. A. P. (1962) Random processes in genetics Proc. Cambridge Phil. Soc. 54 60-71.
3. Maruyama, T. (1974) A Simple Proof that Certain Quantities are Independent of the Geographical Structure of Population Theor. Pop. Biol. 5 148-154.
4. Slatkin, M. (1981) Fixation probabilities and fixation times in a subdivided population Evolution 35 477-488.
1 of 1 reviewers say it's worth paying for
0 of 1 reviewers say it's not worth paying for