Lightning Network enables Unicast Transactions in Bitcoin. Lightning is Bitcoin’s TCP/IP stack.
It has recently come to my attention that there is a great deal of confusion revolving around the Lightning Network within the Bitcoin and Bitcoin Cash communities, and to an extent, the greater cryptocurrency ecosystem. I’d like to share with you my thoughts on Bitcoin, Blockchain, and Lightning from a strictly networking background.
To better understand how blockchain and the lightning network work, we should take a step back from the rage-infused battlegrounds of Twitter and Reddit (no good comes from this 😛) and review the very network protocols and systems that power our Internet. I believe that there is a great wealth of knowledge to be gained in understanding how computer networks and the Internet work that can be applied to Bitcoin’s own scaling constraints. The three protocols I will be primarily focusing on in this article are Ethernet, IP, and TCP. By understanding how these protocols work, I feel that we will all be better equipped to answer the great ‘scaling’ question for Bitcoin and all blockchains alike. With that said, let’s get started.
In computer networking, the two most common forms of data transmission today are broadcast and unicast. There are many other forms such as anycast and multicast, but we won’t touch up on them in this article. Let’s first start by defining and understanding these data transmission forms.
- Broadcast — a data transmission type where information is sent from one point on a network to all other points; one-to-all.
- Unicast — a data transmission type where information is sent from one point on a network to another point; one-to-one.
Based on our understanding of these types of data transmission forms, we very quickly discover that blockchain transactions resemble Broadcast-like forms of communication. When a transaction is made on the Bitcoin network, the transaction is communicated or broadcasted to all connected nodes on the network. In other words, for a transaction to exist or happen in Bitcoin, all nodes must receive and record this transaction. Transactions on blockchains work very similarly to how legacy, ethernet hubs handled data transmissions.
A long time ago, we relied on ethernet hubs to transfer data between computers. Evidently, we discovered that they simply did not scale due to their limited nature. Old ethernet hubs strictly supported broadcast transmissions, data that would come in through one interface or port would need to be broadcasted and replicated out through all other interfaces or ports on the network. To help you visualize this, if you wanted to send me a 1MB image file over a network with 100 participants, that 1MB image file would, in turn, need to be replicated 99 times and broadcasted out to all other users on the network.
In Bitcoin, we see very similar behavior, data (a transaction or block) that comes from one node is broadcasted and replicated to all other nodes on the network. Blockchains similarly to old, legacy ethernet hubs are simply poor mediums to perform data transmission and communicate over. It is simply unrealistic to me as a network engineer to even consider scaling a global payment network such as Bitcoin via Broadcast-based on-chain transactions. Even to this very day, us network engineers take great care and caution in spanning our Ethernet and LAN networks, let alone on a global level.
To put it into perspective, if we were to redesign the Internet by strictly relying on broadcast data transmissions as exhibited in blockchains and ethernet hubs — we would have effectively put every single person, host, and device in the entire world on the same LAN segment or broadcast domain. The Internet would have been a giant, flat LAN network where all communication would need to be replicated and broadcasted to every single device. In you opening up to read this article, every other device on the Internet would have been forced to download this article. In other words, the internet would come to a screeching halt.
In computer networks, the most frequent form of communication relies on unicast data transmissions, or point-to-point. Most of the communication on the internet is routed from one computer to another, we no longer need to rely on blind broadcast transmissions of data with the hopes that our recipient will receive it or see it. We are able to accurately send, route and deliver our messages to our receiving party(ies). We learned that the transfer of a 1MB image file in a broadcast network would require the file to be replicated and broadcasted to every participant on that network. Instead, in a network that supports unicast data transmissions, we are able to appropriately route that image file from source to destination in a clearcut manner.
To me, the Lightning Network is the IP layer of Bitcoin. (I understand that these data transmission forms exist in both Ethernet and IP.) But, I do feel that these analogies help us to better understand these complex and largely abstract ideas: blockchain, lightning, channels, etc.
Let’s take a moment and ignore all explanations and overly simplistic definitions of Lightning that are perpetuated from both sides of the debate for a moment. Instead, lets objectively take a close look at Lightning and determine what we know. What do we know about lightning? It allows us to lock our Bitcoin and form channels with others. What else do we know? We can bidirectionally send and receive transactions between the two points that constitute the channel. What else do we know? We can further route transactions to their correct destination.
Based on these key understanding points, we are able to see that lightning enables unicast transactions in a system [Bitcoin] that previously only supported broadcast transactions. To me, Lightning nodes in Bitcoin are the equivalent of IP hosts — where we can finally conduct or route one-to-one or point-to-point transactions to their appropriate recipients. In traditional IP, we send and receive data packets; in Lightning, we send and receive Bitcoin. IP is what allowed us to scale our small and largely primitive networks of the past into the global giant that it is today, the Internet. In a similar manner, Lightning is what will allow us to scale our global Bitcoin network.
Where Lightning Nodes can be seen as IP hosts, I view Lightning Channels as established TCP connections. On the Internet today, when we try to connect to a website for example, we open a TCP connection to a web server through which we can then download the website’s HTML source code from. Alternatively, when we download a torrent file, we are opening TCP connections to other computers on the Internet which we then use to facilitate the transfer of the torrent data.
And in Lightning, we establish channels with our respective parties and are able to directly [point-to-point] send and receive data (transactions) similarly to TCP. Where Blockchain is similar to Ethernet, Lightning Nodes are our IPs and Lightning Channels our TCP connections.
To conclude, I see many similarities to our pre-existing network technologies and protocols that power our computer network(s) and I feel that we are redesigning the Internet. From a technical point of view, I don’t believe that scaling Bitcoin on-chain will ever work and fear broadcast storm-like events in the future. I welcome our new unicast transaction methods enabled by the Lightning Network. Even more so, I am excited for the ‘web’ moment in Bitcoin.
While everyone has their eyes fixed on blockchain technology, I look towards Lightning. Lightning is the TCP/IP stack of Bitcoin. Lightning is where we will transact on. Lightning is where everything will be built on. Lightning is what will power and enable our applications and additional protocols and layers. With this said, what is to become of the main Bitcoin blockchain? It will and should remain a decentralized, tamper-proof, immutable base or foundation layer which will provide us with cryptographic evidence of what is a Bitcoin.
Some individuals and groups within our communities and ranks spread fear and warn us of false narratives of “lightning hubs”, but fail to grasp that their scaling approach of on-chain transactions only pushes us in the direction of an actual (ethernet) hub design. If Bitcoin loses decentralization on its base layer, then we will lose Bitcoin. The past 9 years of work will have only resulted in a large, centralized broadcast hub with only a few remaining with the ability to operate such a monstrosity.
I wrote this article with hopes that it will help clear up the ongoing confusion about Bitcoin, Blockchain, and Lightning. It is designed to help better explain Blockchain and Lightning through analogies to concepts that we may be more familiar with. I also wrote this very quickly and it may contain typos. If you notice any typos, please bring it to my attention.