Blockchain 101

Chain image

by Russell Michell

You’ve heard of bitcoin, and you read about Silk Road a while back. Bitcoin is just ‘geek money’ and you can’t possibly do anything useful with it... right?

Wrong.

The bar to an entry-level understanding of bitcoin and cryptocurrencies is high. Having said that, if you ask ten different people, ‘what is money?’ you’ll probably get ten different answers. Few people actually understand how currency systems work, much less cryptocurrencies, or much about the breakthroughs in technology that lead to their development, namely blockchain.

At its core, a blockchain is nothing more than a cryptographically secured linked list. If you’ve ever written any code, you’ll have come across arrays, hashes or structs, where control structures that operate on elements of the former, can reference other elements of the latter. In a blockchain, these elements are known as blocks, and a block comprises individual transactions, and it is the manner in which blocks are appended to the chain that is increasingly of interest to governments, private corporates such as banks, and start-ups. By means of a consensus algorithm among participating nodes, new blocks are appended to the chain.

The other key point of interest with blockchains is that they are inherently distributed. You’ll frequently see the term DLT used interchangeably with blockchain. It’s an an acronym for Distributed Ledger Technology. The use of the term Ledger hints at the technology’s financial origins. Using bitcoin as an example blockchain implementation; thousands of geographically disparate nodes exist that comprise the network itself. Each node communicates with a subset of its peers over the internet. A node is just a computer running a version of the bitcoin reference client, a C software program that provides the algorithm that nodes use to communicate with one another, how blocks are rendered immutable in the chain and how currency liquidity is controlled.

Now, read that again: the network itself carries internal knowledge at the protocol level, that governs how transactions are validated and confirmed within itself. If the ramifications of this haven’t struck you, you’re certainly not alone. As humans we’re very good at holding skeuomorphic viewpoints which make it difficult to translate today’s thinking into tomorrow’s technologies.

If the network itself decides (according to some commonly understood rules), how transactions are to be processed, then it means there’s no need for an intermediary (traditionally employed to stipulate these rules for us) between two parties who wish to transact. The network is peer-to-peer and parties need not be in the same place. In fact, the parties involved need not even be human.

Software systems can now exchange value in fractions of a cent equivalents, known as microtransactions. There is even a specialised blockchain called IOTA, designed and built specifically for the Internet of Things (IoT), where micropayments and nanopayments by physical devices that run over IOTA’s Tangle network are made possible.

But as powerful a feature as payments and remittances are, they’re already no longer the blockchain raison d'être. They merely scratch the surface of what multinationals, banks and governments are now doing with the technology.

Now that networks can, in effect, govern themselves according to consensus, we’re not just in possession of programmable money, but programmable autonomy. Users at the edges of these networks, human or otherwise, don’t need to trust them. The logic that runs the protocol being open source, open to inspection, and the rules of consensus being built into them, means that for the first time, truly decentralised organisations can be built. This is already happening.

The second largest blockchain in existence in terms of market capitalisation is Ethereum. Ethereum went live just over two years ago. It’s blockchain differs from bitcoin’s in that it is capable of running any kind of transaction. It has a Turing complete scripting language built into it, called Solidity.

While bitcoin’s blockchain was designed for the peer-to-peer exchange of value only, Ethereum allows almost anything that can be scripted to run on it, provided these scripts (known as smart contracts) are fed enough of the blockchain’s cryptocurrency (Ether) to satisfy their GAS requirements. GAS is a measure of the effort required to perform computation such as memory addressing and mathematics. This means smart contracts are just long-running programs, and the platform on which they run is known as the Ethereum Virtual Machine, or just EVM.

For example, let’s consider an organisation’s payroll department. The department keeps a spreadsheet of payroll details and transactions - when staff are paid, how much they’re paid and how frequently, how much leave staff take and what kind. In this scenario, the department has codified the rules that govern staff remuneration. These rules could also be encoded into a smart contract and deployed onto the EVM.

But why? OK, so the payroll example is a little contrived, but like it or not, human organisations of any size contain some level of personal bias that contributes to an overall imbalance. Encoding key decision-making processes onto a distributed system like a blockchain, removes bias entirely. Decisions cannot be disputed or altered, blockchains are immutable. Once deployed, you now have a functioning component of a DAO, otherwise known as a Decentralised Autonomous Organisation, the basis for a whole new direction in distributed systems.

There are some amazing projects that orientate themselves around decentralised activities of one sort or another, all with blockchain technology at their core. To paraphrase Andreas Antonopoulos, the blockchain space is currently at about the stage we were all at in the World Wide Web in the early 90s, but perhaps two years before the launch of Netscape Navigator, the graphical web-browser that captured the world’s imagination.

Now if that doesn’t get you excited, I don’t know what will.

Below are some key blockchain projects to get you started, a quick web search will yield many more.

Filecoin (filecoin.io) – Get paid for unused storage

Filecoin is a cryptocurrency that is paid to network members for temporarily leasing fractions of their hard drive capacity. Consider that each member might be a subset of a cloud-provider’s block storage service offering, or just an individual with spare capacity on their NAS at home. The more capacity shared, and the more consistent the availability of that capacity, the more income in the form of Filecoin is paid out, in accordance with rules baked-in at the protocol level.

Steemit (steemit.com) – blockchain social media

Steemit is a new take on blogging with reputation (and a blockchain) at its core. Authors write interesting and engaging articles, and any increase in author’s reputation by means of positive comments from readers, results in automatic payment of the STEEM token into the author’s wallet. The same applies to those who curate and upvote other’s posts.

It may not be obvious at first glance what’s so ground-breaking about this approach. So, let’s bring advertising into the equation. Or rather, we leave it out completely. A lot of websites make money through advertising – they make available their web real estate for large organisations to sell you stuff – and collect your personal data. Steemit proposes an alternative paradigm where value is returned to those that create the content. Authors are paid for the content they write, and for promoting the content they find engaging.

Ethersic (etherisc.com) – Decentralised Insurance

Select from a subset of insurable activities, pay a token fee in Ether to a wallet address, and upon satisfaction of the contract behind the insurance, receive an almost instant payout. Crop failure insurance and flight delay insurance comprise Ethersic’s offerings.

Blockchain at Catalyst

Catalyst is a leader in the development of open source systems. Blockchain is a perfect tool for the development of further open systems. If you’ve got an idea for a blockchain-based project, we’d love to talk about how we can help develop it. Please get in touch.

About Russell

Russell is a Senior Developer on our SilverStripe bespoke development team. He is fascinated by the changes blockchain and its applications can bring about in the disruption and transformation of the world’s sociological and technological landscape.