Block chain is a piece of software designed to create decentralized databases.
The system is entirely “open source”, meaning that anyone is able to view, edit and propose changes to its underlying code base.
Whilst it has become increasingly popular thanks to Bit coin’s growth – it’s actually been around since 2008, making it around a decade old (ancient in computing terms).
The most important point about “block chain” is that it was designed to create applications that don’t require a central data processing service. This means that if you’re using a system build on top of it (namely Bit coin) – your data will be stored on 1,000’s of “independent” servers around the world (not owned by any central service).
The way the service works is by creating a “ledger”. This ledger allows users to create “transactions” with each other – having the contents of those transactions stored in new “blocks” of each “block chain” database.
Depending on the application creating the transactions, they should be encrypted with different algorithms. Because this encryption uses cryptography to “scramble” the data stored in each new “block”, the term “crypt o” describes the process of crypt o graphically securing any new block chain data that an application may create.
To fully understand how it works, you must appreciate that “block chain” is not new technology – it just uses technology in a slightly different way. The core of it is a data graph known as “merkle trees”. Merkle trees are essentially ways for computer systems to store chronologically ordered “versions” of a data-set, allowing them to manage continual upgrades to that data.
The reason this is important is because current “data” systems are what could be described as “2D” – meaning they don’t have any way to track updates to the core data set. The data is basically kept entirely as it is – with any updates applied directly to it. Whilst there’s nothing wrong with this, it does pose a problem in that it means that data either has to be updated manually, or his very difficult to update.
The solution that “block chain” provides is essentially the creation of “versions” of the data. Each “block” added to a “chain” (a “chain” being a database) gives a list of new transactions for that data. This means that if you’re able to tie this functionality into a system which facilitates the transaction of data between two or more users (messaging etc), you’ll be able to create an entirely independent system.
This is what we’ve seen with the likes of Bit coin. Contrary to popular belief, Bit coin isn’t a “currency” in itself; it’s a public ledger of financial transactions.
This public ledger is encrypted so that only the participants in the transactions are able to see/edit the data (hence the name “crypt o”)… but more so, the fact that the data is stored-on, and processed-by 1,000’s of servers around the world means the service can operate independently of any banks (its main draw).
Obviously, problems with Bit coin’s underlying idea etc. aside, the underpin of the service is that it’s basically a system that works across a network of processing machines (called “miners”). These are all running the “block chain” software – and work to “compile” new transactions into “blocks” that keeps the Bit coin database as up to date as possible.
Whilst many people have blindly pledged support for block chain, it’s actually got a number of vulnerabilities – most notably which it relies almost entirely on the encryption algorithms employed by its various applications. If one of these algorithms fails, or users are compromised in any way, the entire “block chain” infrastructure could suffer as a result.