Embora a ideia de Blockchain tenha ganhado relevância e fama após o lançamento do Bitcoin em 2008, a ideia foi concebida em 1991, quando Stuart Haber e W. Scott Stornetta com seu trabalho sobre cadeia de blocos de dados criptograficamente segura (à prova de adulteração) e carimbos de data/hora associados, ganhou proeminência e trouxe ao mundo esse conceito. Mas há uma sutil diferença entre Digital Ledgers Technologies (DLT's) e blockchains. Apesar de ser um debate ainda sem conclusão, uma das diferenças mais relevantês está nos tipos de consenso de ambas as tecnologias. 

Do ponto de vista teórico, DLT é um termo mais amplo usado para abranger a tecnologia de banco de dados digital que possui diferentes implementações, sendo Blockchain a mais popular. A tecnologia DLT consiste em nós na rede subjacente que empregam diferentes processos para chegar a uma conclusão comum, segundo Stornetta. Assim, a tecnologia DLT não apenas digitalizou todo um banco de dados, mas forneceu as funcionalidades de dinamismo, imutabilidade, segurança e descentralização a estes.

Do ponto de vista prático, DLTs são nada mais que bancos de dados distribuídos e descentralizados no qual a informação inserida neles é auditável sem ajuda de terceiros e imutáveis. Uma vez que os dados sejam inseridos, é impossível deletá-los sem o consenso da rede.

A Blockchain é um tipo de DLT em que os registros de transações são mantidos como uma cadeia de blocos. Pense nisso como uma longa lista de registros. Mas não blocos literais, aqui, quando falamos em cadeia de blocos, queremos dizer qualquer tipo de informação digital armazenada no banco de dados cuja informaçao atual está vinculada a informação anterior. 

 

Blockchains e seu funcionamento

Basicamente, blockchains são mecanismos de consenso, onde todos os participantes dos nós verificam se uma transação ocorreu ou não, antes de armazenar o valor da transação e as assinaturas digitais do remetente e do destinatário. Uma última etapa antes de armazenar a informação no bloco é atribuir o código de dados que também contém a informação do bloco predecessor, mantendo assim a cadeia de blocos. Dependendo dos tipos de blockchain, as outras pessoas podem ou não ver as transações.

As blockchains mais populares estão relacionadas com as criptomoedas, tipo Bitcoin e Ethereum. Esse tipo de blockchain tem a desvantagem das limitações de transações por segundo (TPS) ou a falta de escalabilidade, que confere aos mineradores o poder de adiar ou cancelar a transação completamente. Para isso há os mecanismos de consenso que limitam tanto poder aos mineradores.

São exatamente os tipos de consenso que regulam toda a economia em torno das redes de diversos projetos de criptomoedas.

 

O mecanismo de consenso, está relacionado à validação de transações que estão sendo adicionadas ao livro-razão (DLT/blockchain), sendo necessário chegar a um consenso antes que o livro-razão seja atualizado para garantir que apenas transações legítimas sejam registradas na cadeia. Os mecanismos de consenso são descentralizados, o que significa que nenhuma autoridade é responsável por alterar o estado da rede.

 

Tipos de mecanismos de consenso

  • Proof-of-Work - Bitcoin e Litecoin

  • Proof-of-Stake - Ethereum

  • Delegated Proof of Stake (DPoS) - Utilizado nos projetos Bitshares, Steemit, EOS e Lisk

  • Leased Proof-of-Stake

  • Transactions as Proof-of-Stake 

  • Proof-of-Importance 

  • Proof-of-Capacity 

  • Proof-of-Weight

  • Proof-of-Authority

  • Proof-of-Elapsed-Time

  • Byzantine Fault Tolerance

  • Federated Byzantine Agreements - Utilizado na Stellar e Ripple

  • Practical Byzantine Fault Tolerance

  • dBFT (Delegated Byzantine Fault Tolerance) - Utilizado no projeto NEO

  • Hashgraph (asynchronous Byzantine Fault Tolerance, Gossip Protocol, Virtual Voting)

 

DAG

Além destes citados acima, existe uma série de protocolos que usam Directed Acyclic Graphs (DAGs), como “IoT Chain”, Byteball, Block Lattice (Nano) e IOTA (Tangle). O mecanismo de consenso de DAGs é fundamentalmente diferente de blockchains. Em vez de agrupar os dados em blocos que são confirmados um após o outro, os gráficos acíclicos direcionados exigem dados recém-adicionados para referenciar e validar os dados anteriores. 

Normalmente, cada nova transação teria que fazer referência e validar duas transações anteriores. Ao fazer isso, a rede passa a formar um gráfico de transações convergentes e confirmadas. Se alguém validasse incorretamente uma transação passada, a própria transação deixaria de ser confirmada por outros participantes. 

 

 

LEIA MAIS