Extensions

Non-currency usage of a blockchain

Published September 21, 2019Updated May 7, 2021

Blockchain is the tech. Bitcoin is merely the first mainstream manifestation of its potential.

Marc Kenigsberg

Money is perhaps the most obvious usage of cryptocurrencies but they support other use cases too. With embedded data and scripts cryptocurrencies can truly become “programmable money”, where we use cryptocurrencies as a base and build new functionality on top.

There are many different ways this could be useful and I’ve selected some examples that I think have potential. I’ll show how it’s possible to tag a message with an unforgeable timestamp, create an uncensorable social media platform, and make gambles provably fair. We’ll finish with the usefulness of tracking assets with tokens and how a cryptocurrency based voting system has some surprisingly attractive properties.

Embedding data

The first thing we can observe is that it’s possible to insert data into the ledgers of cryptocurrencies, essentially making the data immutable. It’s not important exactly how, but if you’re curious here are some ways:

  1. Miners can add data to blocks

    For example Satoshi left a message in the first ever Bitcoin block:

    The Times 03/Jan/2009 Chancellor on brink of second bailout for banks
  2. Transactions can hold data

    See the OP_RETURN field in this Bitcoin Cash transaction which says:

    Memo has reached 500,000 on-chain actions!
  3. Addresses are user controlled

    Even if it’s not intended you can always insert arbitrary data as long as you can control your address. For example you could chain transactions, by sending from address to address, and treat the second character of the receiving address as your message:

    ↳ 1HAHRHL…
    ↳ 1egK8Ja…
    ↳ 1lgIRJD…
    ↳ 1lS64Yo…
    ↳ 1ouC4rs…

    To produce the message “Hello”.

Scripts

Bitcoin does more than just transfer coins from one address to another. What it actually does is execute a small scripting language, which is responsible for unlocking funds and transferring them to new addresses. You can for example send funds from several addresses to many addresses or lock funds and require more than one key to spend them (which is commonly called multisig).

The scripting language in Bitcoin is fairly limited but the scripting language in Ethereum is much more powerful and can do more things. You can for example create games where you buy and sell cats on Ethereum.

Now it doesn’t matter if you know what a script is or how it works, just remember this: cryptocurrencies can do more than transfer coins from one address to another. We’ll go into some of the examples in the following chapters.