Like other Internet-based networks, blockchain networks rely on familiar protocols. Discussing which one to use in a certain platform is nothing unheard of. Bitcoin SV researchers make a bold statement that IPv6 and BSV are a perfect fit — but what does that imply and how does it even work? We unpack it in our new article.
What is IPv6?
Before we review how the technology is applied in cryptocurrencies’ protocols, we need to understand what is the difference between IPv4 and IPv6, and what they are.
IPv4 stands for “Internet Protocol version 4”, and it is a communication protocol from the 1980s. This protocol serves for naming network points with 32-bit addresses known as IP addresses. Being a connectionless protocol, IPv4 directs data packets through sequences of these addresses but does not track their reception. This is known as “best effort basis”.
However, this is not the main issue with that protocol. IPv4 uses a 32-bit structure, meaning that there may ever be 2^32 addresses (including special-use ones). By January 2011 the address exhaustion set in, and from there the only option is to recycle.
This event was anticipated, and in the 1990s IPv6 was deployed. This version of the protocol has 128-bit addresses and can size up to 3.4*10^8 IP addresses. IPv4 and IPv6 currently coexist but aren’t interoperable because of differences in packet structure.
Why would Bitcoin need IPv6?
In the Bitcoin whitepaper, it is not specified which protocol exactly broadcasts messages. Only the mention of ‘best effort basis’ leads to IPv4. BTC node software actually supports IPv6 since the 0.7.0 release.
Nonetheless, Bitcoin SV proponent and blockchain researcher Craig Wright wants to take the communication protocol a step further. He claims instead of using BTC addresses, transactions can be made on an IP-to-IP basis.
When applying this logic to the Bitcoin protocol, it’s obvious how IPv4 would not work for generating destination addresses. 2^32 is not enough to cover the population of the world, not to mention generating plenty of addresses is a best practice for security.
There is also a network security incentive to use IPv6. The communication protocol comes with IPsec, an encryption protocol that secures endpoints and data packets by default.
Last but not least, a newer version of the communication protocol can also serve in driving further the narrative of BSV being a standalone, “the original” protocol. The reason it wasn’t up for discussion in BTC is because IP-to-IP transactions were deprecated rather early on.
Why BSV wants it and BTC doesn’t
When talking about IPv6, Wright explained this protocol is necessary for peers to negotiate transactions without intermediaries and verify them with miners. In this case, Simplified Payment Verification takes precedence over broadcasting a transaction for miners to validate it. With SPV, nodes work more like a P2P network than a network with distributed masters that requires all parties to be online and synced.
However, the Bitcoin Core opted out of IP-to-IP transacting for a reason. For one, SPV as described in Bitcoin SV terms opens up more concerns for security of transactions. There is no truly trustless way to interact peer-to-peer without a full blockchain history and synchronization with other nodes. Scenarios described by Wright do not seem to account for bad actors. In addition, bypassing verification opens up more space to spam and dust attacks, which Wright dismisses as a “feature, not a bug”.
The IPv6 proposal is illustrative of the difference of approaches to the BSV and BTC protocols. On the one hand, applying a newer version of the Internet protocol seems like a reasonable step to modernize a blockchain. On the other hand, ideology seems to have more weight in this proposal than solution of some actual problems.
If you liked this article and are hungry for more, go no further than our blog. Find more bite-sized pieces of equally interesting content can in our social media.