In Part 1, we introduced the idea that blockchains can be conceptualised as systems that are useful for managing valid state transitions. We also introduced the idea of 'state machines' as a means to model real-world (analogue) behaviour so that we can better understand and build upon the underlying complexity.
Fundamentally, 'the blockchain' or 'distributed ledger technology' (DLT) is all about managing valid transitions of state among a set of participants. Typically, this is managed via transactions (I give some of what I have to you in exchange for something else). A blockchain is an engineering implementation of a state transition system.
In this post, we explore one of the most powerful ideas in this space: that of asset tokenisation.
The Double-Spend Problem
One of the fundamental properties of modern computing is that data is very easy to duplicate. The ability to copy and transmit information with stunningly low cost and high reliability was the very innovation that ushered in the information age. This, however, generated an important side-effect: when digitising something of value (an asset), the digital representation of the asset is also now able to be easily copied and transmitted. Say for example that everyone in your country was given a machine that could print an infinite amount of money. The effect of the value of money would be catastophic; it would instantly become worthless.
This issue has perhaps been the most painfully manifest in recent time with digital video and music piracy. It has resulted in massive change in the way these (digital) assets are created, distributed and sold, but it remains largely an unsolved problem; the effect of piracy either becomes absorbed into the cost of doing business (increasing prices), or complex identification and authorisation processes are layered over the top (causing very poor user experience).
Even modern banking systems need to deal with similar issues in managing electronic funds transfers. In order to ensure money isn't arbitrarily copied, funds go through a two-step process of clearing and settlement (and usually with a costly third step: manual reconciliation). The systems that manage this process are complicated, expensive, and antiquated. To analogise to Bitcoin, all of this would be done to simply ensure that someone cannot pay for some movie tickets, arbitrarily adjust their own balance back to what it was, and then pay for some popcorn with the 'same' money (double-spending)!
With banking, trust forms a big part of the solution here. Customers and governments afford banks a degree of trust to maintain system and process integrity. Laws are another; the threat of fines and/or jail time prevents malpractice or fraud. But these precautions are either weak or reactionary. The current digital money system fundamentally cannot prevent such occurrences by design.
Up until Bitcoin and the blockchain came along, there was no way of effectively tokenising a thing of value, giving it the desirable properties of both: (1) atomic transactions (i.e. single-step transactions, just like cash) and (2) ease of transmission.
Essentially we had the following properties for our assets:
|Asset TYPE||Ability to COPY||Ability TO MOVE|
|Physical||Hard (Good)||Hard (Bad)|
|Digital||Easy (Bad)||Easy (Good)|
An example of a physical asset is say a nice and heavy bar of solid gold, while an example of a digital asset is $500,000 in your bank account. Transactions with these assets will typically occur using centralised and trusted third parties. And yet, crazily, this is actually also particularly true for digital assets. Here, the third party is the banking establishment, their role being to ensure that the transactions between participants are valid.
Imagine though if you could send money to someone anywhere in the world, directly to them, as easily as you could send them an email, and not have to rely on an expensive, opaque and oftentimes unreliable network of intermediate companies and their patchwork of interconnected banking systems.
In the blockchain world, we do just this. We take the desirable properties from both physical and digital assets and combine them into something new: a crypto-enabled digital asset free of traditional disadvantages:
|ASSET TYPE||ABILITY TO COPY||ABILITY TO MOVE|
|Tokenised||Hard (Good)||Easy (Good)|
Eureka! Central to the power and promise of the blockchain is the idea that tokenised assets are essentially cryptographic representations of the real thing. The blockchain records these cryptographic representations in its ledger which is replicated across all participating actors within the system. Hence when one actor wishes to interact with another, there is no middle-man; the programming of the system facilitates the transaction without an intermediate actor. All you need is a computer and an internet connection.
Remember our nice and heavy bar of solid gold? Once that tokenised representation of the gold bar has made it into the blockchain system, it can be freely traded, or even be split up between any number of actors, trivially. Ownership of the cryptographic token of the asset represents ownership over the asset itself. This is one of the key ideas of distributed ledger technology, and why there is so much buzz and hype along several major verticals: supply chain, payments, financial instruments, public ledgers of ownership (e.g. real estate and diamonds).
Because we can take the best propoerties from both digitised and physical assets, and remove the need for intermediaries, we can carve out huge swathes of inefficiency from global trade, both at a macro and a micro level.
The Double-Spend Solution
For all of Bitcoin's mysterious origins, it is ulimately just a clever combination of other technologies (with a twist) that give rise to some emergent properties (more on this in subsequent posts). The true innovation of Bitcoin (and the underlying blockchain implementation) was this extra little 'trick' that Nakamoto applied to solve the double-spending problem of digital assets.
Bitcoin was effectively built on a system that manages valid transitions of state (see my Part 1 blog post). It does this by:
- Starting with a correct representation of who owns what at time t = 0 (a ledger of assets).
- In some time-period (say, ten minutes) collecting all the proposed transactions within the network, packaging them up, validating that all the transfers of assets are valid (i.e. no one has spent the same asset twice), and then all at once, updating the ledger. In this way, there is effectively no clearing. Just settlement.
The cycle then repeats. This time period is called the 'block time' and is the window in which transactions can be submitted to the network in order to be captured in the next package of proposed transactions. These packages of transactions are then validated in aggregate and then applied to the global ledger. Each package of transactions is called a block, and the ledger is maintained all the way back to time t = 0. The blockchain.
Given there are a large number of participants, the ledger is replicated using some computer engineering and networking to ensure everyone has the same copy of the ledger at the end of the block time. Of course, this means that you need to wait until the end of the block time in order to see your balance update, but any blockchain can tune this time to a value that is appropriate (it could be 3 seconds or 24 hrs, depending on the application).
Remember, the 'balance' in this case could be anything. It could be a digital currency, or it could be a tokenisation of some other asset. It could represent a micro-unit of reputation, time, rewards points, computing power, electricity, company shares, or a commodity, such as gold.
The ability to tokenise and trade assets is central to the power and promise of blockchain and distributed ledger technology. It provides a mechanism for controlling the transfer of value between participants (i.e. the change in the 'state' of an asset), being a previously unsolved problem introduced with the ability to easily and cheaply copy digital information.
Perhaps most exciting is that now this problem has been solved, it opens the door to programming these assets in ways that were previously not possible. Imagine for example a government being able to program its welfare payments to only be spent on certain items, or inheritances only being able to be accessed by verified identities. These topics and more will be explored in future posts.
Thanks for reading!
Samuel Brooks is CTO of Block8: a leading distributed systems venture studio based in Sydney.