by Russell Michell
A quick recap
My early posts for Catalyst on the subject of Blockchain technology were focused on Blockchains themselves and not so much on their killer app; Money. The thinking was that if tech giants like IBM were investing heavily in it, then they were probably onto something. Catalyst actually responded to a substantial RFP back in 2017 with a solution based on IBM’s Fabric DLT technology. The proposed application would have achieved similar aims to those of Microsoft’s ION which went live on Bitcoin’s mainnet in June 2020 - more of which anon.
With the advent of applications that leverage the Bitcoin blockchain itself, money it turns out is not the only application it’s suited-to after all; Judge or Arbiter may be suitable additions. As we’ll see, Bitcoin has become a “base layer”; a referee to which other applications simply defer by leveraging its system of distributed consensus, and use it as just another component of an open source tech-stack.
Bitcoin as Arbiter
Bitcoin continues to endure its so-called Scaling Debate - a global conversation around how best to increase its transaction throughput to cope with widespread adoption of Bitcoin as money.
For context, Bitcoin is capable of only around 7 transactions per second (TPS) and when compared to The Visa Network’s mythical total of 2400 TPS, you’d be forgiven for thinking that there exists an insurmountable discrepancy – but with the adoption of “Layer 2” scaling solutions (additional networks that sit a level above Bitcoin, deferring to it only when necessary), comparing the two becomes rather like comparing apples and rainbows; They are two entirely different classifications of a network, operating in entirely different ways within two different monetary paradigms.
The scaling debate has spawned several new Bitcoins as “hard forks” of the original codebase and protocol, with each predicated on a particular philosophical ideal as to how scaling should be achieved. The most famous example is a simple block size increase: Bitcoin’s blockchain defaults to a block-size of around 1Mb – where only about a Megabyte of transaction data may be stored in a given block. The “Bigger Blockers” solution is to increase the block-size to increase the number of transactions each block can handle. But as with anything in technology, there are trade-offs and with bigger blocks comes a greater amount of data to be transferred between nodes and longer wait-times for Bitcoin nodes to rebuild their transaction histories, which can lead to undesirable chain-splits when some segments of the network don’t see all the blocks, due to latencies incurred by larger payloads.
The original Bitcoin however embarked on a different course altogether, employing a double-pronged approach to scaling.
1. Efficiency Gains
It turns out that there is non-essential data that can be moved out of blocks and into block-headers in order to leave greater capacity for more transactions. Such a change was implemented in 2017 in a controversial network upgrade known as Segwit.
Coupling Segwit with the planned implementation of more efficient cryptographic signature schemes where transactions located within a block actually consume less space on disk, we can see that Bitcoin Core developers are already doing more with less, with plans for further efforts in a similar vein.
2. Layer 2 Protocols
As early as 2013, developers had foreseen that the Bitcoin blockchain as it was, was simply too slow (by design) to cope with anything like the level of transaction throughput that widespread adoption would likely impose. They were already proposing to take some of the workload off the Bitcoin blockchain and onto what’s since become known as second layer or “Layer 2” networks that only deferred to the underlying blockchain when they absolutely needed to, thus making them very fast payment processors indeed.
In 2016, a white paper was released that described a system of bi-directional Payment Channels, where a channel allowed many transactions to occur between network peers at either “end” of a channel – and importantly – away from the main chain. Opening and closing channels required a base-layer Bitcoin transaction, but in-between however, an unlimited number of transactions could occur.
The Lightning Network
The paper outlined a practical means of implementing “always-on” payment channels via nodes of a new network which operated not as a blockchain, but as an entirely complimentary onion-routed peer-to-peer network. People (and software) are able to transact freely between one-another as many times as they like without ever requiring anything of the base chain. Only when the channel is opened or when users need to update or liquidate the channel’s funds for conversion into fiat currency for example, is the channel required to be closed, at which point deference to the base chain is made.
The Lightning Network is designed for lower value “microtransactions”, and because network routing fees are tiny (think fractions of a cent) and there are no transaction fees to pay once a payment channel is opened, then sub-cent transactions are now possible in high-transaction rate applications – a reality in which an entirely new class of purely digital revenue streams can exist: Think web-pages paying for their own web-fonts, API data paid-for on-the-fly per request, on-demand video paid-for in real-time for only the actual frames viewed and self-driving cars paying their own road tolls per unit of distance travelled.
The Chainpoint Network
The Chainpoint network is a semi-public Proof of Stake (PoS) blockchain network acting as a proxy to Bitcoin. It allows arbitrary software to anchor cryptographic hashes produced by some business process, to Bitcoin’s blockchain, thus leveraging its proof of work consensus and its concomitant assurances of immutable data storage.
Customers such as Philips and Xero have built applications that produce hashes composed of application-specific data points. In the case of Philips, these data are taken from running electronic medical equipment and used for audit purposes. The hashes are forwarded onto Chainpoint whose job it is to periodically produce a Merkle root hash calculated from a tranche of such hashes and to commit them to the Bitcoin blockchain. During Philip’s auditing procedures, the same data can be subsequently re-hashed and cryptographically verified to exist in a special kind of Bitcoin transaction via the Chainpoint network.
Chainpoint’s use-case isn’t using Bitcoin to transfer monetary value, it’s exploiting its cryptographically verifiable and immutable data storage capabilities.
Social networks, the government, your ISP and your bank; a tiny fraction of the range of organisations with whom you interact and whose services require you to relinquish control over an amount of personally identifying information (PII) and how it’s used.
What if such third party PII storage were no longer required? What if “you” were represented and identifiable to such services by a special kind of identity, encoded as a form of UUID whose related information was not stored in any centralised location, nor maintained by any central authority and importantly; over which you had complete control?
This is the promise of Decentralised Identifiers (DiDs), an area of research within the W3C that well-known organisations including Microsoft, Google and even some national governments have been looking at for some years and of which Microsoft's ION (Identity Overlay Network) recently announced their own implementation.
ION is itself an implementation of the Sidetree specification; an open source, public and permissionless blockchain network for building DPKI (Distributed Public Key Infrastructure). ION produces unique hashes as identifiers that represent “state changes” made to a person’s PII (via an identity smartphone app for example), which are anchored to Bitcoin’s blockchain, again, as a form of immutable storage. The metadata representing each change are associated with the identifier and stored off-chain. In this way, identity apps leveraging ION are merely referring to Bitcoin as a chronologically accurate “oracle” or index that points to encrypted data that is “physically” located elsewhere, usually in a distributed, content-addressable system such as IPFS.
Bitcoin has existed for over 10 years, and it took Tierion and Microsoft several years after the fact to exploit it for what has since become a growing market for trustless and cryptographically verifiable data storage. You might argue that a need for decentralised and immutable storage of this type has existed for as long as services have been requesting your personal information, and you’d probably be right. But only in the last two or three years have we been in the possession of technology that provides a means of paying for such services too, and which can occur electronically, privately and without intermediaries.
Russell has been a Senior Developer at Catalyst since 2016. He’s fascinated by the changes cryptocurrencies, decentralised technologies like IPFS and the applications built on top of them can bring about in the disruption and transformation of the world’s sociological and technological landscape.
Royalty-free image sourced from https://www.pikist.com