Block Chain
Blockchain nasceu em 2008 como parte da criação do BitCoin, seu criador liberou o código fonte em 2009, quando começou a minerar BitCoins. Um blockchain é composto de duas partes, uma rede ponto a ponto (peer to peer) e um banco de dados distribuído.
Cada operação realizada no blockchain adiciona um bloco novo, contendo uma ou mais operações, e este bloco irá apontar para o bloco anterior.
Rede ponto a ponto
No blockchain a rede ponto a ponto funciona da mesma forma que uma rede ponto a ponto normal, cada máquina, ou servidor, desta rede é um ponto dela, e a cada nova transação, as informações contidas nesta transação são propagadas para todos os pontos da rede. Por se tratar de uma transação criptografada e privada, o que torna impossível dizer quem criou tal transação, podemos apenas verificar a sua autenticidade.
Banco de dados distribuído
As informações das transações válidas são armazenadas em um banco de dados distribuído e descentralizado, fazendo com que, caso um nó deixe o sistema, as informações contidas naquele nó, já estarão disponíveis em outros nós, portanto não há um ponto único de falha.
Quando um nó for adicionado ao sistema ele recebe, as informações contidas nos outros nós, o que torna este sistema de armazenamento seguro.
Bloco Genese
Este sistema começou com a programação de um bloco genese, ou bloco inicial, e a partir dele novos blocos foram sendo adicionados. Este bloco pode conter informações referentes as regras ou instruções do banco de dados. A partir do bloco genese, outros blocos são adicionados, e com isso, formam uma cadeia de blocos (BlockChain). Cada um destes blocos da cadeia, contém informações e ou transações. Estas transações são empilhadas para formar este bloco e suas informações são gravadas no bloco, de acordo com o momento que ela foi processada. Com esta informação de tempo e valor da transação, é possível contabilizar os valores transacionados.
Além das transações, os blocos também contém uma assinatura, em forma de um hash, o qual contém informações como o número do bloco atual, e o número do bloco anterior, com isto é possível navegar no sistema até chegarmos ao bloco genese. Informações como a data de geração e a quantidade de informações também são armazenadas neste hash, tudo isso hasheado para garantir a sua autenticidade.
Esta tecnologia permite que dois usuários façam uma transação, de maneira confiável, sem a necessidade de um supervisionamento.
Os blocos de dados são completos, consistentes, datados e precisos.
Devido a sua estrutura, é possível criar um sistema transacional distribuído e confiável, sem um agente central.