How Blockchain Works201002

De GEATI - Grupo de Estudos Avançados em TI
Ir para: navegação, pesquisa

Blockchain is a piece of software made to create decentralized databases.

The device is entirely "open source", which means that anyone has the capacity to view, edit and propose changes to the underlying code base.

Whilst it has become ever more popular thanks to Bitcoin's growth - it really is been around since 2008, making it around ten years old (ancient in computing terms).


The most important point about NETWORKING is it was designed to create applications that do not require a central data processing service. Which means that if you're employing a system build on top of it (namely Bitcoin) - your data will be stored on 1,000's of "independent" servers all over the world (not of any central service).

The way the service works is simply by creating a "ledger". This ledger allows users to make "transactions" with each other - having the contents of those transactions stored in new "blocks" of every "blockchain" database.

With respect to the application creating the transactions, they must be encrypted with different algorithms. Because this encryption uses cryptography to "scramble" the info stored in each new "block", the term "crypto" describes the process of cryptographically securing any new blockchain data an application may create.

To completely understand how it works, you have to appreciate that "blockchain" just isn't new technology - it really uses technology in a slightly different way. The main of it can be a data graph known as "merkle trees". Merkle trees are essentially methods of computer systems to hold chronologically ordered "versions" of the data-set, allowing them to manage continual upgrades to that particular data.

The reason this is important is because current "data" systems are what could be described as "2D" - meaning they don't have any approach to track updates towards the core dataset. The info is basically kept entirely since it is - with any updates applied right to it. Whilst you'll find nothing wrong with this, it does pose a problem in that it indicates that data either needs to be updated manually, or his very difficult to update.

The solution that "blockchain" provides is actually the creation of "versions" of the data. Each "block" included with a "chain" (a "chain" being a database) gives a list of new transactions for your data. Which means if you're able to tie this functionality into a system which facilitates the transaction of data between several users (messaging etc), you'll be able to create a totally independent system.

This is what we've seen using the likes of Bitcoin. Contrary to popular belief, Bitcoin isn't a "currency" by itself; it's a public ledger of economic transactions.

This public ledger is encrypted so that only the participants in the transactions have the ability to see/edit the data (hence the name "crypto")... but more so, the fact that the information 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, issues with Bitcoin's underlying idea etc aside, the underpin with the service is that it is basically a method that works across a network of processing machines (called "miners"). They are all running the "blockchain" software - and attempt to "compile" new transactions into "blocks" that keeps the Bitcoin database as updated as possible.