mar 22

O que é blockchain e como está sendo utilizado?

Registros contábeis em papel se tornaram obsoletos com a chegada dos CRMs em computadores. Da mesma forma, na era do big data, talvez estejamos testemunhando uma mudança na forma como os dados são armazenados, migrando para blockchain.

Blockchain significa em inglês “cadeia de blocos”. O conceito foi inventado por Satoshi Nakamoto na criação do Bitcoin, apesar do próprio Satoshi nunca ter utilizado o termo “blockchain” no paper cujo título é “Bitcoin – a peer to peer eletronic cash system“. Originalmente, a estrutura blockchain foi criada com o objetivo de servir como registro para transações financeiras de bitcoins. Cada bloco contém uma quantidade específica de informações sobre transações (no caso do bitcoin, o limite é de 1 MB por bloco). Cada bloco também contém um hash do bloco anterior, formando uma cadeia de blocos, por isso o nome “blockchain”. Tecnicamente, é construída uma árvore de dados pareados, também chamada de merkle tree, onde os dados são as folhas (leaves) da árvore. Os resultados individuais passam por hashing sucessivos até que fique restando um único hash, chamado de merkle root, conforme a figura abaixo:

merkle tree bitcoin

Merkle tree

Além de um hash prévio, um nonce e uma transação raiz, cada bloco possui também um timestamp, importantíssimo para a organização da cadeia de blocos. A forma como a blockchain cresce é cíclica, ou seja, depende uma referência temporal (de onde parte a utilidade do timestamp). O nonce é um número que apenas pode ser utilizado uma vez (a terminologia vem do inglês n once – uma vez). O cliente faz uma requisição getNonce() para o servidor, que por sua vez retorna o nonce para o cliente. A criação e concatenação dos blocos de forma cíclica e imutável depende de agentes do sistema chamados mineradores, responsáveis pela criação dos blocos.

utxo bitcoin

A figura acima mostra a evolução no número de UTXO da rede blockchain do bitcoin desde 2011 até 2017. UTXO é um acrônimo para “saída de transação não gasta” ou “unspend transaction output”. Cada UTXO serve como entrada para uma nova transação, pois é dessa forma que o sistema contabiliza os fundos dos usuários em um ledger distribuído (DLT).

mineradora RIG

Mineradora RIG

O processo de mineração de Bitcoin consiste na solução matemática de procura de um hash inferior a um número alvo (que – por sua vez – é calculado com base na dificuldade da rede). A evolução do algoritmo de dificuldade do bitcoin ao longo do tempo pode ser visualizado nesse gráfico. A ação de mineração é também denominada Proof of Work (PoW), ou prova de trabalho.  O algoritmo de Proof of Work recebe portanto uma entrada que contém uma merkle root, um timestamp, um hash de bloco anterior e um nonce (número aleatório exclusivo). Se a saída do hash resultar em um número menor que o target, o minerador recebe o direito de criar o bloco. Essa forma de obter consenso depende de recursos computacionais extensos. A obtenção do número dentro do critério alvo apenas pode ser concluída a partir de força bruta em cada nonce possível. Evidentemente, o POW não é o único protocolo de consenso que existe. Cada vez mais propostas de arquiteturas defendem a utilização de protocolos menos dependentes de dispêndio computacional. Alguns exemplos são:

  • Proof of Stake: a quantidade de tokens (stake) é o ponto de referência para a construção de cada bloco;
  • Delegated proof of stake: os agentes do sistema detentores de tokens podem delegar sua participação para os construtores de blocos;
  • Proof of Authority: determinação hierárquica de nodes autorizados para geração de blocos;
  • Proof of Importance: elege os nodes mais importantes para o sistema e os qualifica como elegíveis para o harvesting;
  • Delegated Byzantine Fault Tolerance: utiliza recursos mínimos para evitar agentes desonestos ao mesmo tempo em que se baseia no conceito de stake.

A partir do protocolo de consenso e da ação dos agentes de nodes e mineração, a segurança da blockchain é considerada superior à segurança de sistemas corporativos tradicionais. Um dos motivos está no acúmulo de trabalho adicionado a cada bloco, uma vez que quanto mais antigo o bloco, mais difícil é dele ser adulterado. A tendência atual é que métodos tradicionais de armazenamento de arquivos, geração de processos dinâmicos (como as próprias licitações) aos poucos irão migrar para a tecnologia blockchain. A profissionalização nesse ramo passa a ser uma necessidade para quem pretende continuar atuando nos processos mencionados.

Deixe uma resposta

Your email address will not be published.