The recent “stress tests” on the BSV mainnet by blockchain indexer Bitails highlighted some interesting new use cases for BSV blockchain in the world of Internet of Things (IoT) and IPv6. Of note, they included single transactions that contained hundreds of thousands of different UTXOs—potentially a fast, secure, and cheap way to communicate peer-to-peer with large networks of IoT devices.
The single BSV transaction with the largest UTXO set included over 180K UTXOs (that’s “unspent transaction outputs” or “to” addresses). It was 6.21 MB in size and cost just US$0.0062 in fees, or 12,429 satoshis. Though that was the largest set, Bitails’ stress test produced hundreds of transactions with unusually large number of outputs.
The key benefits of IPv6 and the BSV blockchain
The benefit you’ll hear about most is the “near-infinite number” of unique IP addresses. “Near-infinite” is probably inaccurate—there are actually 2^128 unique IPv6 addresses available in total. Another way to say that is “340 undecillion,” which doesn’t even sound real—it’s enough for every atom on Earth to have its own unique IPv6 address… a hundred times. Give or take. IPv4 has a puny 4 billion unique addresses, and that supply dried up in 2011.
For the record, the Bitcoin network (BSV) has 2^160 potential unique addresses, which you’ll notice is even more than IPv6. In other words, there are more than enough unique IPv6 and BSV addresses available for every person, every device they own in their lifetimes, all devices on any IoT network, fictional or AI-generated personalities, and so on. We’ll say it again: every atom on Earth could have a hundred.
IPv6 has built-in end-to-end encryption without the need for digital certificates or “trusted” third parties and the ability to “multicast” from one IP address to multiple others. A single BSV transaction could activate/deactivate devices, assign them specific permissions, or send any other kind of instruction. Choosing which, or how many, outputs there are in a single transaction gives the originator control over what messages go to which device or groups of devices.
Now imagine you can contain communications between IoT controllers and networked devices within blockchain transactions, and you also have a secure, immutable, and auditable record of all communications between an IoT controller and its network of “things.”
In other words, there’s no need to send one message to one device per transaction for these purposes. While BSV transactions are still cheap compared to other blockchain networks (they generally cost only 1/1000th of a U.S. cent), they get even cheaper if thousands of unique IoT devices can “subscribe” to an IPv6 multicast address.
Anyone looking for a more detailed explanation of how multicast and other IPv6 features could integrate with a scalable blockchain network should look at Dr. Craig Wright’s The Bitcoin Masterclasses session from February 2023, available here.
IPv6 allows end-to-end direct messaging, making communications between IoT controllers and their device networks far more secure.
“I don’t think most people doing IoT have thought much about security,” said IPv6 Forum president Professor Latif Ladid. “You can’t do real P2P over IPv4+NAT. That definitely requires an intermediary server or NAT Traversal. Try to avoid ANY centralized server—make connections directly end-to-end using digital certificates for best security.”
Current techniques may involve cloud-based services or communications over HTTP/web. “Any based on cloud or web are probably not secure,” Ladid added.
“Cloud, like web, is inherently centralized and very difficult to secure, even over IPv6. With blockchain, IPv6 allows end-to-end direct messaging, even with PeerTLS. That avoids any centralized server (web or cloud). This provides true end-to-end encryption and mutual strong authentication with client digital certificates.”
Using blockchain and IPv6 instead of SMS for mobile authentication and alerts
Besides IoT applications, what’s another large network with (under IPv6) unique IP addresses? Mobile phones. A single multicast address could send a message—P2P and authenticated at both ends—to all devices on a mobile phone network instantly.
There are potential time and money savings here, too. Many services still use SMS for things like two-factor authentication (2FA), account activation, etc. These are all sent as single messages, for which the sender must pay the mobile network provider. X (formerly Twitter) owner Elon Musk complained about the cost of SMS 2FA in February 2023, even claiming mobile networks were using bot accounts to artificially “pump” the number of SMS authentications required—costing X.com US$60 million a year. As well as costly, SMS 2FA is also notoriously insecure compared to other methods. However, it remains the most popular option for a majority of users on X and other app services due to its simplicity. IPv6 could keep authentication simple for end-users and make it cheap for service providers.
Government emergency alerts, which use country-specific protocols similar to SMS, could also come from single multicast addresses. Any IPv6-enabled device could receive them, whether they’re mobile phones or not.
Bitails’ Meysam Rezaei: We wanted to see how ready the BSV blockchain network is for large UTXO sets
That all said, there’s still a lot of testing to be done before multi-UTXO transactions can happen in large numbers. This was partly the reason for Bitails’ “stress tests,” according to CEO and team lead Meysam Rezaei.
“We have to keep pushing things and not settle for what we have right now,” he said.
Rezaei added that such transactions (with hundreds of thousands of outputs) “are not new in the BSV space, but we wanted to test the network in a bigger scale. Also, it’s worth mentioning that we had IoT devices as one of our primary uses in mind from day one.”
“The BSV scaling team has been conducting block size scaling tests, but with these two tests, we wanted to increase the TPS and UTXO set to simulate future scenarios where many solutions, including IoT/IPv6-based devices, are launched on BSV.”
“This is why we designed Bitails to be highly efficient on the client side, catering to the often limited resources of many IoT devices.”
ℹ️ The UTXO Set Test Results:
When we began our tests, the UTXO set was approximately 350 million. We aimed to gradually add up to 2 billion UTXOs if all went smoothly. The initial test involved around 10 million UTXOs per block, with 200,000 outputs per transaction. Later, we…
— Bitails (@BitailsAPI) November 19, 2023
Rezaei discussed the idea of a test using exceptionally large UTXO sets on open forums, but otherwise, there was no special preparation or participation from BSV blockchain transaction processors (miners) or developers of the node protocol software. He said some initially tried to convince Bitails to conduct the stress tests on the Bitcoin BSV Testnet instead, but the test’s main purpose was to gauge the BSV blockchain network’s current capabilities and identify (and subsequently) fix any vulnerable points.
Those points will require further investigation and potentially some tweaks to fix, or it could be simply a matter of node hardware capabilities. Bitails is still looking into the matter and plans to conduct further tests.
“Given Bitails™ horizontal design, we are confident that by incorporating additional infrastructure, the service can effectively accommodate potential future loads on the BSV blockchain network.”
Blockchain IPv6 revolution will be bigger than wireless Internet: Latif Ladid
New to blockchain? Check out CoinGeek’s Blockchain for Beginners section, the ultimate resource guide to learn more about blockchain technology.