Employing Blockchains in Consumer IoT Infrastructures
Like many of you, I have taken a back seat over the last few years as Bitcoin bedlam has swelled, subsided and swelled once again. Let’s be completely honest -- while a form of currency that can’t be systematically plied from my wallet by my teenager and plunked down on the counter of the Hot Topic at my local mall in exchange for various useless Once Upon A Time-branded items is appealing, I have little use for it in my daily life. Naturally, I put my indifference on hold for a brief time, along with the rest of our (typically apathetic)1 industry, when Verizon Ventures announced in September 2015 that they see value in the Bitcoin Blockchain.2 I quickly moved on, however, when I remembered how confused I was when I previously had read up on Blockchains and how little I cared about something that had nothing to do with MPLS or a PCE.
Once Upon a Blockchain
While, since then, Blockchain technology has periodically blipped onto my telecom industry radar, it has typically been in the form of arm-waving by futurists at trade events and therefore still failed to catch my attention. It sounded good in a sound bite and as a rallying cry, but typically came with little substance or specifics. Those now familiar with these protracted blog posts probably realize that I don’t do well with sound bites. Verizon’s initial foray into Blockchain technology was in the form of an investment in Filament, a company built around delivering solutions for Industrial Internet of Things (IIoT) applications. Somewhat of a born-again IoT advocate, I have focused on highly distributed sensor grids supporting machine-to-machine (M2M) applications in a number of posts, over the last year,3 and I have recently turned my attention to consumer IoT and machine-to-person (M2P) or even person-to-person applications, in recent weeks.4 So, how exactly does the Blockchain fit into IIoT, and more importantly how it can play a role in consumer IoT communications services? Well, to paraphrase Killian Jones, the story of the Blockchain makes for a lovely tale, but the technical truth is a little bit more gruesome.
Getting Hooked on Bitcoin
You don’t have to look further than your local Wikipedia to learn that a Blockchain is a (highly) distributed database, which, by the nature of its original implementation as a financial transaction log for Bitcoin, is often referred to as a ledger. More specifically, in those references, the Blockchain is called a “public” ledger, by virtue of the fact that each transaction is open and can be verified by any individual or machine. Indeed, this openness was the very foundation on which Bitcoin was built: It is a currency without a single repository or administrator, which is why entities such as the U.S. Treasury and European Central Bank categorize Bitcoin as “virtual.” It is the public announcement of each transaction and the community-driven confirmation of when the transaction occurred, based on broad agreement, that eliminates the need for a trusted third party, such as the aforementioned central bank or treasury.
First introduced in a 2008 white paper by Satoshi Nakamoto,5 a pseudonym for an as-yet-unidentified individual or group of individuals, Blockchain nomenclature is derived from the fact that a number of transactions, of any monetary value, are bundled together with a cryptographic hash of the previous block, which forms an unbreakable link (or relationship) between past, present, and future blocks. A hash function essentially maps data of arbitrary size to data of (smaller) fixed size. It is a technique often applied for error detection and recovery in the form of cyclic redundancy checks (CRCs) or checksums. Employing SHA-256 (as in 256 bits/32 bytes -- a cryptographic hash function of NSA origins), the computed hash can be compared to an expected hash value, thereby verifying the data's integrity.
The number of transactions per block (each identified individually by their hash value) has increased as the number of individual Bitcoin transactions, occurring within a fixed period of time known only by an algorithm, has increased. A year ago, the average number of transactions per block was in the region of 800, while it’s now around 1,400. Each block’s hash is derived, in part, from the hash of the previous block, preventing anyone or anything from tampering with the chain. The hash function itself, proving the legitimacy of the transactions within the block and guaranteeing the integrity of the Blockchain as a permanent record of all historical and future transactions, is calculated by entities or individuals called “Miners.” Generally referred to as a “proof-of-work” system,6 applying an economic measure (i.e. processing capacity and power consumption) to discourage undesirables from infiltrating the chain in any great numbers, these Miners are legitimately rewarded with newly minted Bitcoins, which also serves the purpose of new currency in an environment where there is no central treasury or bank to print it.
Average number of transactions per block and Blockchain size. Ref. Blockchain.info statistics.
In the case of the Bitcoin, however, there is an absolute fixed limit of 21 million that can ever be in circulation. Even though there are currently over 15 million Bitcoins in circulation, since its inception on Jan. 1, 2009, a Blockchain algorithm dynamically increases the complexity of the mathematical problem that must be solved by a Miner in order to validate the block, based on how quickly computations are completed. In a fastidious catch-22 that legitimizes the entire process, this means that their processing capacity must also increase over time.
Fundamentally, a Block comprises a hash of transaction hashes (called the Merkle root after its invention and subsequent patent in 1979 by Ralph Merkle) and the proof-of-work hash of the previous block, plus elements such as the timestamp and the version ID. The proof-of-work requires matching a target output that can vary based on the desired degree of difficulty. Specifically, in the case of the Bitcoin Blockchain, the difficulty is changed by setting the number of leading zeros the resulting hash function has. The larger number of zeros, the smaller the target that must be hit and therefore the more difficult the proof-of-work calculation will be. To demonstrate how the Bitcoin Blockchain proof-of-work difficulty has increased over time, Block No. 1 required 10 leading zeros while, today, 17 are required.7 As the fixed elements of the block can’t be changed by the Miners performing the work, a 32-bit (4-byte) nonce (the cryptographic term for a random number used only once) is included in the block.
The Miners set the nonce and perform the hash. If (when) the resulting hash value falls outside the required range, the nonce is changed and the hash is performed again. While this all sounds easy, the number of potential nonces is staggeringly large and the number resulting in the required result is infinitesimally small. The number of hash attempts that Miners must currently make is around 10 septillion, with a set difficulty that guarantees block is successfully added to the chain in around 10 minutes, based on the current processing capabilities of the combined Bitnodes.
Simplified representation of Block elements and proof-of-work requirements
In order to make the economics work in such an environment, for-profit Miners must be careful not to increase the cost of hosting the required compute resources -- in the form of energy consumption, for example. This is why professional Miners have migrated from general-purpose server CPUs and GPUs to custom FPGAs and ASICs to perform the task. While the remaining 6 million Bitcoins (~US$4 billion, with the current exchange rate) are not expected to be mined until early-to-mid 2100, Miners can still look to transaction fees as a way to earn money. How many Bitcoin Miners are there on the Bitcoin Blockchain? That appears to be yet another number that is, for some reason, impossible for anyone to ascertain or agree on. The official Blockchain puts the number at ~250,8 with the largest ones being the same entities who are developing custom ASICs for the purposed of Mining. This could well be just the serious guys, though, with (seriously loss-making) hobbyists tinkering with a few chained computers pushing the number up to ~5,000, according to Bitnode.9
Operating in this manner, Blockchains solve the Byzantine Generals Problem, first described in a 1982 white paper of the same name,10 which is the theory of computer resiliency or fault tolerance where actions require consensus of many in the presence of rogue elements whose sole purpose is to create disorder. While the Paxos and (more recently) Raft algorithms perform the same “consensus” function, Blockchain adds a native cryptographic element and that verified audit to the equation (pun intended). In this model, there can (and will be) more than one actual chain at any one time, with the longest one representing the greatest proof-of-work effort invested assumed to represent the “majority decision,” as the largest computational power is derived from honest Bitnodes. An Initial Block Download (IBD) is employed by a new node in order to download a large number of blocks to catch up to the tip of the best block chain.
A Blockchain with potential forks and hacks.
Blockchains Swan Into Other Applications
While Bitcoin’s Blockchain is publicly accessible, that doesn’t mean that every Blockchain must be exposed for scrutiny by all and sundry. In a world of ever more distributed, peer-to-peer or machine-to-machine (M2M) information exchanges, such as we see in Industrial IoT, Blockchain technology implementations can also be employed to provide an equally distributed record of events, supporting anything from regulations demanding a rock-solid, legally binding chain of custody for each information exchange, to proactive infrastructure security (or trust) and troubleshooting – all dynamically increasing with the size (and importance) of the individual network. Verizon’s investment in Filament was for that exact purpose, rather than having anything to do with telephony, in its classic definition.
That said, open communications infrastructures -- especially those demanding the type of scale required to support M2P or even person-to-person applications in peer-to-peer IoT infrastructures -- could well comprise their own public Blockchain for a number of purposes, eliminating the need for centralized control of the service by a third party, such as a classic telecom network operator or over-the-top (OTT) provider.
In an interesting plot twist, in our little telecom fairy tale, that does not mean we need to rethink the actual signaling protocol we employ, which may also simplify the interoperability between “public” and “private” networks. Those who can remember the glory days around the year 2000 will recall that the Session Initiation Protocol (SIP), which has long been the industry standard for fixed-line and mobile VoIP in both enterprise and commercial communications infrastructures, was originally conceived as a peer-to-peer protocol, pushing network intelligence to the handset and potentially eliminating the need for a telephone service provider to be in the call flow. Ultimately, the complexity of regulated phone services and the sheer number of complex calling features, together with the revenues derived from these services, dictated the need for large centralized servers and databases in the call flow, tamed and secured by the mighty Session Border Controller (SBC).
Whether developed, deployed and managed by a centralized entity or created and grown as a purely open and public service, the same is not true for emerging, unregulated communications applications. Blockchain technology and implementation techniques can provide an alternative to the trusted number allocation, authentication, call records and billing databases currently provided by large telephone network operators or OTT service providers, like Microsoft, Google and Apple. Consider one or more independent entities or the general public providing a Blockchain for authenticating endpoints and assigning global addresses (phone numbers) in completely autonomous, fully meshed communications infrastructures with theoretically unlimited scalability and all without the need for central authorities such as the North American Numbering Plan Administration (NANPA) or the Number Portability Administration Center (NPAC). In no-so-radical evolutions, Blockchains can be employed by network operators where outside audit trails are required for call detail records and billing. With the same impartiality, Blockchains can be used in even today’s interconnect arbitrage settlements, eliminating the need for trusted third-party companies and centralized systems.
Financial institutions, such as JPMorgan, have already announced the use of Blockchain technology for their transactions, and provided as a service. Not surprisingly, it’s these companies that are driving the Blockchain standards, under the auspices of the World Wide Web Consortium (W3C), building on ISO20022 – the universal financial industry message scheme employed by the Society for Worldwide Interbank Financial Telecommunication (SWIFT). Is this true love’s kiss? OK – maybe not quite, but it is clear that with this lineage and continued backing, Blockchain technology and the communications industry are almost certainly destined to live happily ever after.
Simon is the Director of Technical Marketing and a man of few words.