Bitcoin: A (Decentralized) Complex Social Network
Note: This piece was published over two years ago when Bitcoin had the ticker (BCH) and was called Bitcoin Cash. Bitcoin Cash and the ticker BCH now refer to Bitcoin SV and BSV.
This piece serves to express what I have learned from studying Complex Social Networks, a textbook by Fernando Vega-Redondo. As it turns out, Bitcoin may end up being the most complex social network we have seen in history, and Vega-Redondo’s book allows you to understand why. I owe great thanks to Dr. Craig Wright for the recommendation of reading and for the countless individuals who have helped me shape my understanding of this network. I would also like to thank Christopher Ames for his help in making this much more readable. I hope this serves to help more understand and appreciate the innovative network we are all interacting with.
How are you reading this article? How did it go from my laptop to your screen? By the time you read this, I will have posted it on Yours.org, tweeted the link out, and posted it in other various channels. As of the time of writing, The BCH Boys podcast has 750 Twitter followers. Some of those followers have thousands of followers, and others have less than 100. Every person who may come in contact with this piece is a “node” in a large social network. Looking at it this way, we could deduce that we have 750 links to 750 nodes. But do we? How many of those nodes are logged in at the time that we tweet the piece? How many of those nodes will scroll right past the tweet and not even notice it? How many will retweet it to their followers (more nodes), continuing the broadcast? If our intention is to spread this article as far and wide as possible, the connections between people are more important than how many followers we have. When we tweet, only people connected to us will see the tweet. You will only see this article if the people you follow share it. In the Twitter social network, a retweet from Kanye West or Donald Trump would be more valuable than a retweet from almost anyone else due to their large followings. In this way, not all nodes have the same reach. The most valuable nodes in the social network to the author are the most well-connected nodes because they diffuse the information contained in this piece to a larger set of nodes than the less-connected nodes. If I want to maximize the reach of this article, I should target every node that has high connectivity in the social network. In computer science, we would say that the edges, or links, are more important than the number of nodes in a network. We call every node with a high number of links, highly connected.
Bitcoin functions no differently. If you are a merchant, you want the entire Bitcoin network to see your transaction so that the customer can’t pull off a double spend. It is in your interest to broadcast the transaction to the nodes that have the highest connectivity because more of the network will see the transaction more quickly. Not by accident, the most well-connected nodes end up being the miners in the network. If you are a miner, you are in a race with every other miner in the network competing to solve the next hash puzzle and get the block reward. The thing is, you only get that block reward if the majority of miners start mining on top of your block. As a miner, you have a clear incentive to be highly-connected to the other miners in the network, so that when you find the block reward you can announce that as quickly as possible to the rest of the network. Dr. Craig Wright has been adamant that what this creates is a small-world near-complete network. Is he right?
Small World Networks
The term “small-world” was first coined by Stanley Milgram, and it “describes a situation where, despite facing a very large population, an individual can typically succeed in contacting any other in the population through a short path of intermediaries.” Milgram’s initial small-world experiment was to get individuals to send a letter from Nebraska to Boston as quickly as possible. What Milgram found is that if people were given instruction to, say, get the letter to a banker in Boston, they would be selective in who they passed the letter on to. For example, people sought out individuals that they knew had relatives in Boston or people they knew in the finance industry. As a result, the most interesting aspect of the problem Milgram posed was the characteristic of searchability in a network. Milgram found that on average this problem could be solved with an average number of six hops between individuals before the letter would be delivered. Vega-Redondo writes: “Upon validation of Milgram’s experiment, researchers identified the importance of individual incentives (besides searchability) as a primary factor in chain completion [i.e. reaching its final destination]. When suitably accounting for a reasonable rate of attrition (that is assumed random), they found that Milgram’s original conclusions are somewhat reconfirmed: the median number of steps can be estimated to range between 5 to 7.” Interestingly, they specifically pointed out that incentives play a big role in forming the small-world network.
To aid in our understanding of a small-world network, it is helpful to begin with a regular lattice (mesh) network. Imagine a cul-de-sac of houses. Each house has a phone line connection to their next door neighbors on the right and on the left.
If you want to get a signal from one end of the cul-de-sac to the other, the communication has to go through each house one-by-one, as shown by the cyan-colored links. Each additional hop adds time to the communication. The more hops you have to make, the more time you will have to wait for the other person to receive your message.
Above, you see a regular lattice network. The lattice network is like the cul-de-sac except each node is also connected to their neighbor’s neighbor. The information can spread a little more quickly because you can broadcast a message to four houses instead of two. The information can skip unimportant houses and arrive to the destination. Getting from Node 3 to Node 14 requires only six hops instead of 11 hops. To get to a small-world network from here, let’s introduce a variable, p, that acts as a “rewiring probability” on the network. This p will randomize the links between nodes, without changing the number of connections. The higher p is, the more “randomized” the links in the network become. Math Insight has an interactive graphic to illustrate what happens when you change the value of p. If you play with the slider, you can see for yourself the effect p introduces on the configuration of the lattice network.
The most interesting aspect is that even if p is arbitrarily small, the average number of hops, or path length, decreases drastically when compared to the lattice configuration. The average path length is defined as the average number of steps along the shortest paths for all possible pairs of network nodes. In Bitcoin, we can extrapolate p to represent the added incentive for nodes to connect to nodes other than their direct neighbors. As outlined above, this incentive is quite strong for miners.
Note that in the above image, as the randomness increases, the connections change. The original lattice configuration connections are not maintained. In Bitcoin, there is a clear incentive to not rewire existing connections, but to keep and add new connections. In this way, Bitcoin is more highly connected than the “random” (or unstructured) network configuration shown above.
We can clearly begin to see how Bitcoin incentivizes a small-world network (i.e. small network distance) to emerge. While we can deduce the properties of the network without measurement, we are lucky to have tangible results being released in academic circles to supplement our intuition. Marco Javarone and Craig Wright have released a paper showing that both the BTC and BCH networks are definitively, small-world networks Their results show that both networks exhibit small-world behavior since their shortest path length is smaller than the logarithm of the network size (i.e. the number of nodes). A block or transaction that is propagated through the Bitcoin network can be broadcast to the entire network VERY quickly. Keep in mind that the network nodes that matter are the miners and the merchants because they make use of the state of the network in real time. This is a profound effect that has vast implications for how we interact with the Bitcoin network.
Robustness, Searchability, and Diffusion
Networks have three primary characteristics:
- Robustness describes the resilience of a certain network features to the operation during occasional perturbations. Overall connectivity may crucially affect performance. How is robustness affected by the topological characteristics of the network? When and why may it matter that the perturbations be random (“errors”) or guided (“attack”)?
- Search is the procedure by which individual nodes may look for, access, and disperse information. Is the effectiveness of search influenced by network topology? Are different search algorithms better suited to alternative topologies? Can one design the network architecture so that search is optimized?
- Diffusion is the multifaceted phenomenon that governs the gradual spread over time of any kind of signals (digital, physical, or chemical), knowledge, opinions and fads, or behavior. The key issue is to understand how the network architecture bears on the reach of the process.
We will dig into these characteristics and briefly relate them to Bitcoin. As a result of examining the characteristics, we will discover what true decentralization of a network means.
In general, Bitcoin (or any cryptocurrency network) is only robust if it cannot be shut down. In the interest of space (and lack of legal expertise), I will divert the question of legal threats to lawyers. A legal threat is where a network can be regulated under existing laws or can be shut down due to legal precedent. Setting aside legal threats to the network, we can examine robustness as the ability of the architecture of the network to withstand an attack that would render the network inoperable. Generally, Bitcoin is extremely robust. For example, imagine that there are 1,000 miners in the Bitcoin Cash network. If one miner is removed, the network continues operating without a hiccup. If 900 miners are removed from the network, it will still continue operating, just temporarily a little more slowly. It will take the remaining miners longer to find a block because less computers are working to discover the winning hash, until the network difficulty adjusts. In fact, BCH is more robust to attack than BTC because on the BTC chain, if 900 miners are removed from the network, a difficulty adjustment may not occur for another 2,015 blocks. Thanks to the difficulty adjustment algorithm (DAA), the BCH chain dynamically adjusts difficulty with each block. The 10-minute block production average would stabilize more quickly after the removal of the 900 miners on the BCH chain.
The Lightning Network, purely a lattice network, pales in robustness when compared to the Bitcoin network. While Vega-Redondo can take you through a set of mathematical proofs in his book (which I highly recommend for those interested), we will examine the key points.
In the Lightning Network, money travels between nodes via a series of hops. The image above shows the current node connections in the Lightning Network today. To get from a node on the left side of the graph to a node on the right side, the money has to find a suitable path between nodes to do so. Each node link has a capacity of locked up bitcoin. If I want to send $500, I can only send it through nodes that contain $500 of liquidity. Even if I break the $500 up into many smaller pieces, I still need to find connections for all the pieces. As a result, the well-connected nodes in the network will tend to be the nodes with the most liquidity. Imagine if 5 (let alone 900!) of the largest hub and spokes representing the most interconnected nodes were targeted in a denial of service attack. The ability to send money between nodes after such an attack would be critically reduced, especially a larger transaction. The Lightning Network, unlike Bitcoin, has not introduced anything innovative when it comes to creating a robust payment network.
Search is where the most interesting aspects of Bitcoin shine. Milgram and other researchers specifically cite searchability as a main characteristic in the formation of small-world social networks. Remember, Search is how individual nodes look for, access, and disperse information. Vega-Redondo cites searchability as the main characteristic that makes a protocol “qualify as decentralized”.
In Bitcoin, searchability is a key characteristic of the network. If you are a miner, you want to know immediately if a block is produced somewhere in the network so that you can promptly begin mining on top of that block to solve the next hash puzzle. Your ability to search the network for that new block is important. If you are a merchant initiating a transaction, you want to know immediately if the transaction you just received is a double-spend attempt. Your ability to search the network for any other transactions emerging from that customer’s address is important.
The image above shows a one-dimensional lattice network. Intuitively, for each additional node, the average search delay grows in a lockstep fashion. We can say that the average search delay grows linearly with the number of nodes that are added to the network.
In the image above, the blue-colored line shows the linear growth of the average search delay of the one-dimensional lattice configuration. However, according to Vega-Redondo, if you assume the lattice network is multi-dimensional, the average search delay grows very slowly as the node count increases, even slower than logarithmically, as shown by the red colored curve. The network size (x-axis) can grow dramatically with little effect on the average search delay (y-axis).
Think of a multi-dimensional network as simply a network with many degrees of freedom. Nodes can connect to other nodes with little regard for their physical proximity. In Bitcoin, a multi-dimensional network arises based on the fact that all nodes are not treated equally in the network.
To understand searchability in real social networks, researchers determined that people organize their perception of the world in a hierarchical fashion. Duncan J. Watts and Steven Strogatz figured out that people assign individuals a location in multiple hierarchical dimensions. Two nodes in the network could be described as socially similar if they are close to one another in any dimension. In the real world, you can categorize people according to a nested (hierarchical) set of characteristics – and thus other individuals can “locate” them. Search delay greatly decreases in this hierarchical multi-dimensional network.
Assume we can group the socially similar nodes in Bitcoin in three characteristics: Miners, Merchants, and Users. We can group these nodes accordingly in a hierarchical structure:
On the whole, each group will behave in the network differently. As we’ve discussed, miners are heavily incentivized to cluster together with other miners. Merchants monitor for double spend attempts and in the hierarchical system we have defined, miners assist merchants with their search attempts. Merchants reach “up” to the miner hierarchy to check the transactions waiting to be confirmed in the mempool. On the whole, each group in the hierarchy knows where they can look to find the information they are looking for. The robustness of the miner hierarchy aides in the search, as does the diffusion of the information across the network.
Today, Bitcoin clients are an all-in-one package. Merchants that process a large number of transactions, such as Coinbase, have to run the full Bitcoin client software (whether that is ABC, Core, Unlimited, XT, etc). While SPV (Simplified Payment Verification) was outlined in the whitepaper, it still does not exist in the way it was described by Satoshi. Gavin Andresen has long been a proponent of reducing the size of the core client code and allowing compartmentalized node software to emerge. The BTC chain has done the exact opposite of this, so it will be interesting to see how software like Teranode evolves to shape the hierarchical Bitcoin network.
Diffusion describes how the information spreads in a network. We have broadly touched on this topic already, but it’s interesting to note a couple of things in this section. Miners are clearly incentivized to rapidly spread signals across nodes in the network. However, there are other second-class citizens within the Bitcoin network. Normally, we would care about how diffusion reaches 100% of the nodes in the network. However, in Bitcoin the incentive for non-miners to search for information from miners means that the system only depends on diffusion of information across the mining nodes in the network.
In many presentations, Dr. Craig Wright has been adamant that Bitcoin mirrors biological processes and epidemic models to an astounding degree. Specifically, he references the propagation of transactions and blocks across the network as closely resembling the SEIR-C model of epidemiology (Susceptible, Exposed, Infection, Recovery, Carrier). Shortly after reading Complex Social Networks it became obvious to me why this is true. Vega-Redondo, whose book covers the simpler SIR model, details how social networks display epidemic diffusion varying with different network topologies. In a network, for a signal to spread from one node to another, the nodes must be connected. If there is an intermediary node in between, then the propagation is less likely or slower. In biology, this is analogous to an infection spreading from one person to another. Vega-Redondo specifically cites the number of edges in a network as the key to SIR diffusion in a network. If everyone shakes hands with everyone else, then the disease can spread quickly.
In a network, how does information spread?
In Bitcoin, the answer to this question comes down to our two favorite words: economic incentives. A network that truly mirrors epidemiology would have to spread information as rapidly as a virus through a population. As a miner, I want to announce to the network about the block I just found as rapidly as possible so that it is not orphaned. As a merchant, I want to announce to the network the transaction I just received as rapidly as possible so that even if the customer tries to send a double-spend transaction to a different node, the purchase transaction is the first-seen transaction by miners. Bitcoin’s small-world nature makes this process very easy for everyone involved. Transactions are propagated to over 90% of the network in two seconds or less, and blocks are propagated just as quickly. A network can only have a high level of diffusion if its robustness is similarly high. If some nodes get taken offline, do transactions and blocks still spread quickly? Bitcoin mining displays a remarkable degree of diffusion. Here’s how it resembles biological systems:
Susceptible: All miners are susceptible to any new transaction or block that is propagated across the network. Miners are incentivized to be highly susceptible, eagerly awaiting any new transactions or blocks, because they will lose money if they waste time hashing blocks that have no chance to be included in the chain. .
Exposed: A miner receives a block and determines whether or not they will mine on top of it. Similarly, they receive a transaction and decide whether or not it is valid and it should be added to their mempool.
Infected: A miner decides the block is valid and immediately begins mining on top of this new block. The infection spreads across the entire network as all miners do the same. Similarly, the miner decides a transaction is valid and includes it in their mempool.
Recovery: The miner returns to a state of susceptibility, eagerly awaiting the next block and more transactions.
Carrier: Carrier refers to the non-mining nodes in the network. These agents act as carriers of the “viruses” and simply watch all of this occur. Non-mining nodes “carry” the virus (block/transaction), yet do little to spread it. They don’t generate blocks. Non-mining nodes exist on the outskirts of the network, not in the center of the action where the highly connected nodes constantly spread new viruses.
Taking all of the analysis into account, it becomes increasingly clear that we may truly have something remarkable in front of us: the world’s first biologically inspired network.
In general, most Bitcoiners (BTC and BCH) agree that Bitcoin is a highly secure network that is immutable and robust. You would find it incredibly difficult to change past transactions or disrupt network communication. The main point of contention comes when discussing “miner centralization” of the network, where BTC proponents argue that scaling Bitcoin on-chain centralizes the network. However, what does centralization actually mean? Think back to the beginning of this article when we discussed Twitter. The number of followers was not as important as how connected the followers are. Graph theory classifies “decentralization” not by the number of nodes in the network, but by the interconnectivity of the network. Information fed into a decentralized network is dispersed and accessible rapidly by any node connected in the network.
We can take the small-blocker argument of “decentralization” to its logical conclusion and break down why it is not rooted in any academic sense of the term. A network with one million nodes with two edges between each node is no less decentralized than a network with one billion nodes with two edges between each node. There is no added decentralization with the addition of new nodes. Decentralization, when studied in academic circles, means the interconnectivity and distributed nature of the network. If a node on the other side of the world has information that I want, there is no added benefit to me as a node in the network to have one billion nodes within the network; what matters more is the ability to access and relay information all the way across the network quickly and reliably.
Imagine you are a journalist and a source hands you a bundle of sensitive documents that a very powerful government would not like to release to the public. You are fearful for your life, but most importantly you are afraid that something may happen and the information will be suppressed. You rapidly spread the documents to as many people as you can, but you want to get a hash of the documents spread to the entire world so that they can verify the authenticity of their copy and prevent tampering. You have about $20 of Bitcoin in your wallet. You have three options:
- To publish a hash of the documents on your Twitter account for free.
- To publish a hash of the documents in a Lightning Network transaction using the channel you have open with the Walmart down the street. You can’t afford an on-chain transaction on the BTC network because the mempool is clogged and the fees are $40 to be included in the next block.
- To publish a hash of the documents in a Bitcoin (BCH) transaction embedded in OP_RETURN for less than a penny.
In what scenario do you choose 2 over 1 or 3? Since your goal is to get the information spread as rapidly as possible, let’s examine what can happen in each scenario:
- Your 5,000 twitter followers see the hash and scroll past it. 100 of them are interested and take a screenshot. Within 30 minutes, Twitter takes the tweet down. No one archived the tweet, and all that is left are 100 random computers across the globe with a screenshot of the hash with nothing to prove the tweet actually existed.
- You make a Lightning Network transaction and it routes through 5 well-connected hubs. Within minutes the nodes are DDoS’d off the network and your transaction only made it to 100 Lightning Network nodes. There is no record of the transaction in an immutable ledger, and thus no proof the transaction ever occurred.
- Your Bitcoin (BCH) transaction is spread to every mining node across the globe in two seconds or less and every user (SPV wallets, merchants, etc) can see it immediately. The government attempts to DDoS every mining node in the network using all the computing power in the globe, and takes 70% of the network down. Miners continue to produce blocks. Your transaction (and therefore the hash) is embedded in the Bitcoin blockchain for the entirety of history for all to see and access.
Which of these scenarios outline true decentralization of a network?
The mathematical and academic arguments referenced in this article prove that we are witnessing the evolution of one of the most revolutionary networks ever created. It is not a network that needs to be planned or fixed, but one that introduces boundless opportunity to the world through highly innovative methods of connectivity. The principles of complex social network topology should make us all comfortable with the fact that all nodes are not to be treated equally in the Bitcoin network. The hierarchical structure of Bitcoin contributes to the robustness, searchability, and diffusive capacity of the network. It is time we embrace the Bitcoin hierarchy, and use it to create a truly decentralized world.