Inheriting a system from another software company
Posted by Mark Oswin - 25 May 2016
A blockchain is a distributed database that maintains a continuously-growing list of data records hardened against tampering and revision. The blockchain is seen as the main technical innovation of bitcoin, where it serves as the public ledger of all bitcoin transactions. Bitcoin is peer-to-peer and every user is allowed to connect to the network, send new transactions to it, verify transactions, and create new blocks.
The blockchain transactions contain their own proof of validity and their own proof of authorisation, instead of requiring some centralized logic and administrator to enforce those constraints. Transactions can therefore be verified and processed independently by multiple “nodes”, with the blockchain acting as a consensus mechanism to ensure those nodes stay in sync. This original design has been the inspiration for other cryptocurrencies and distributed databases.
There are many organisations around the world which have earned our trust as capable stewards of data and transactions – governments, banks, educational and knowledge institutions, and even private companies like Google and Facebook. In most cases, especially in the developed world, these work extremely well.
However, if an organisation controls an important database, it also needs people and processes in place to prevent that database being tampered with. All this takes a great deal of time and money, as well as being a barrier to change.
The power of blockchain is in enabling a database to be directly shared across boundaries of trust, without requiring a central administrator. Blockchains offer a way to replace many of the administration and control functions in these trusted organisations with a distributed database, locked down by clever cryptography. They leverage the ever-increasing capacity of computer systems to process and store data at unprecedented levels. And once they’ve been developed and matured these systems tend to be an awful lot cheaper and more robust.
The challenge for blockchain is that there will likely be a good deal of discomfort within these organisations and their customer base around trust, data security, and the broader acceptance of block chain technology within the public arena.
Imagine an international blockchain database of all registered air and shipping containers. Many different parties would derive huge benefits from knowing the current contents, location and status of a container, from customers with freight on board the container, through to customs and security organisations in multiple countries.
All of these parties would only need to know the container number to then reference the blockchain database for the location and status of the container at any given time, present or past. The location and status would be a natural byproduct of the various parties interacting with and updating the blockchain database when appropriate if they are involved in moving or working with the container.
One of the key challenges of this approach would be to safeguard elements of information about the container where this is not public information. For example, it could be argued that only parties with an interest in the contents of a container should have the right to enquire about the container, and then only pertaining to their goods and for the dates those goods were in the container. Securing in part or in full the contents of a blockchain database to appropriate parties is a key challenge that the blockchain technology industry is currently working to address.