Best practices for distributed systems baked into Bitcoin's blockchain architecture

Expect to hear more about Bitcoin and its blockchain architecture in 2016, as the manner in which they crypto-currency works is becoming a best practices for developing distributed systems.

What’s the big IT story of 2016 going to be? All fingers seem to be pointing at Bitcoin, along with the blockchain architecture that empowers its distributed nature.

There are two reasons why Bitcoin is going to be a big thing in 2016, the first being the socio-economic realities that are going to make alternate, crypto-currencies a popular option for people wanting to safely bank their money. The second, and most compelling reasons from an IT standpoint, are the lessons software architects can learn from the distributed blockchain architecture that allows for Bitcoin mining and secure but anonymous transaction processing.

Economic theory and the rise of Bitcoin

American’s have been largely shielded from the wealth confiscating effects of monetary exchange and qualitative easing, but 2015 was a devastating year for anyone whose wealth was stored in anything other than Bitcoins or US dollars. Take the Canadian experience for example. In May of 2013, the Canadian and US dollars were at par, meaning one Canadian dollar could purchase one American dollar. However, by the end of 2015, it took $1.40 to purchase one American dollar, with much of the Canadian dollar’s decline happening in the last quarter of the year. In real purchasing terms, the buying power of every single Canadian’s savings have been trimmed significantly, simply owing to the fact that their money was saved in their own country’s currency, a destructive wealth confiscating effect that wouldn’t have happened if citizens used a stable, crypto-currency instead.

With America being the most productive nation in the world, few people have concerns about greenbacks acting as a reserve currency. But there are those who believe that years of qualitative easing have flooded far too much non-asset backed money into the economy. Furthermore, as interest rates rise, so will the cost to service the national debt. And as all of this happens, average wages are not increasing in step. In the IT industry for example, there has been relatively little in terms of salary and wage increases over the past ten years. Stagnant wages, increased debt costs and deflationary pressures caused by qualitative easing have the potential to undermine global confidence in the US, wreaking havoc on the American dollar, and causing investors to scurry into a safer monetary store. Assuming reluctance for people to start carrying gold and silver coins, or for governments to move from fiat to a gold standard, the logical choice in the new digital age is to begin using a digital currency for electronic trade, and the defacto digital currency is Bitcoin. The worse things get economically, the more attention Bitcoin will receive.

Lessons to be learned from Bitcoin’s blockchain architecture

Of course, not everyone is going to buy into a doom and gloom economic scenario that sees hedge fund managers moving their billions into a digital currency. Government regulations could potentially outlaw the use of Bitcoin, essentially killing the currency with a single legislative move, leaving the currency useless in all things except for the trading in illicit goods and for those choosing to live on the margins of society. But regardless of where you stand on the future of the crypto-currency, there is no arguing the fact that software developers have plenty of technical best practices to learn from the manner in which Bitcoins are processed, mined, verified and transactionally validated.

How big is the current Bitcoin ledger? It’s hundreds of gigabytes in size, which doesn’t bode well for an architecture that is supposedly distributed. To address this issue, Bitcoin uses the concept of side-chains, small networks of data that link back to the larger block chain and can be verified through hashing and cryptography techniques. It’s a slice and dice technique that any organization tasked the with problem of processing large chunks of data can leverage.

And what about security? SAML tokens are often used for asserting a given component’s level of authorization and authority. But there’s a great deal of overhead when it comes to processing these tokens, and that doesn’t bode well for the Internet of Things (IoT). Alternatively, Bitcoin implements a trustless model, which seems almost counter-intuitive for a system that is processing millions of dollars in monetary transactions, but the success of the Bitcoin network can attest to its veracity as a venerable design pattern. This type of architecture can provide a number of efficiencies for low power devices that not only lack processing power, but also lack the ability to dissipate the heat that superfluous clock-cycles create.

Rewarding success

And perhaps the most interesting part of the Bitcoin system that forward thinking architects might want to build into their systems is the incentive based processing that ensures transactions are processed quickly and efficiently. After a transaction is processed on the Bitcoin blockchain, the node completing the work is rewarded with financially. This not only recognizes the work performed, but encourages the various nodes to do more work, and to do the work with ever increasing efficiency. Not every system can reward contributors with currency, but any form of recognition can work, even if it is just a matter of boasting rights between different departments. Rewarding positive behavior is a basic, fundamental principle of human psychology, and building some type of positive reinforcement right into a software system can only help to enhance productivity, efficiency and software quality.

There is a great deal to learn from Bitcoin, be it at a micro-economic level, or from the standpoint of developing highly scalable, distributed architectures, which is why software developers and financial analysts will be learning from Bitcoin technology throughout 2016 and through many years beyond.

What do you think the big trend will be for 2016? Let us know.

Dig Deeper on DevOps-driven, cloud-native app development

App Architecture
Software Quality
Cloud Computing