Understanding the fundamentals

Monitor how blockchain technology progresses

Focus on building a great decentralized apps

It’s difficult to overemphasize how important blockchain technology will be to the world of app development over the next decade. While it’s clearly still an emerging technology, the fundamental shift that it will bring about in the foundations on which applications are built will be profound.Many developers have foreseen this change and are investigating how it might affect them. Even if their research hasn’t gone much further than owning a small amount of cryptocurrencies, attending a blockchain meetup or digging into smart contracts online, this effort will be invaluable in future proofing their careers in the medium to long term.Solutions that make it easier to build and deploy decentralized apps are emerging but any upskilling now will pay dividend in the future. Blockchain still has some obstacles to negotiate before it becomes the dominate foundation of the internet. Whichever blockchain or blockchains emerge as the winner(s) though, the point is that it will be the infrastructure on which applications are built.App developers would be well advised to understand the fundamentals of the technology and monitor how the scene progresses. Most importantly though, they should be thinking about how they can use it to build apps that businesses and individuals really want.Currently, Blockchain is at the point where you can’t easily pick a winner. This is a stage that all emerging technologies go through and one that will be familiar to web and mobile developers. In fact, a single winner might not emerge and we could end up in a situation where multiple different blockchains exist, with slightly different benefits but a set of core characteristics that are consistent between them.It’s important to think of blockchain as a future foundation technology and keep in mind some analogies of how other areas of IT have progressed over time. The browser wars began roughly 25 years ago, when Mosaic and Internet Explorer fought it out. Now, Chrome is the global market leader but a whole host of smaller players still exist in different locations and markets.The same can be said for operating systems, where Microsoft used to dominate but, with the re-emergence of Apple and the rise of the smartphone, iOS and Android now play a huge part.Developers are used to these changes and how a mixed technology landscape affects individual projects. As a result, they usually have a deep specialism in a particular field while also trying to retain a working knowledge of the areas that surround it. This is exactly how app developers focused on building services that solve problems should see the blockchain - understand its core benefits and how it can be used to answer customer needs.The benefits of blockchain are there for everyone to see.It removes the need for a centralized authority in any market. It empowers a network of individuals to exchange value without having to rely on a central organisation to validate these exchanges or hold information to itself. It allows participants to access all of the records of ownership and transaction that have taken place over time through a so called shared ledger, which every participant holds a copy of. Finally, it is highly secure and difficult to hack because of its decentralized structure and the cryptography used to record transactions.However, as the blockchain (particularly the Bitcoin blockchain) has increased in size and usage, some issues of scale have emerged. At present, a key issue revolves around the ‘proof of work’ process. This is to do with how transactions are cryptographically stored on the blockchain and how the most up to date and correct version of the ledger is agreed. It takes a lot of computation effort to validate transactions, making this process expensive. As a result, transaction times are slowing and/or prices for validating them are going up.It’s clear that, if this continues, blockchains have a problem of scale that needs to be sorted. One alternative to ‘proof of work’ is ‘proof of stake’. However, it’s not yet clear if this approach will be employed or by which blockchains. The point is that the dust hasn’t yet settled on what the future of blockchain will look like and developers would be well advised to keep their options open.Instead of focusing on which blockchain will eventually win, app developers should focus on the problem they’re trying to solve for the market they are targeting. Considering that the Ethereum blockchain was specifically developed for application development that the Bitcoin blockchain did not support, it’s worth getting your head around. However, it’s not the only blockchain with that intention at its heart and has its own problems to fix.Ethereum also suffers from the scaling problem that Bitcoin faces and it’s possibly even worse when you consider that it was designed as a framework from decentralized apps, rather than to handle a single specific task. Vitalik Buterin, Ethereum’s co-founder, has acknowledged this by saying scaling issues could take as long as five years to fix.Just as with other areas of application development, there are solutions and services emerging to make aspects of the decentralized application process easier. When it comes to choosing which blockchain to deploy an application on, it’s no longer necessary to nail your colors to the mast.App developers that embrace blockchain technology and the emerging decentralized internet as a whole will be well placed as more and more decentralized apps need to be built. Over time, and as more decentralized app development solutions come available, it will be easier for businesses to develop these apps themselves.For now though, app developers should remain blockchain agnostic. They should combine a good understanding of the key characteristics and benefits of blockchain with their ability to design customer-centric apps that solve real problems. This will ensure they’re able to take advantage of this transformational technology in the long run.