BitcoinBlockchainTecnologia

A tecnologia por trás do Bitcoin – Nós desenhamos para você! Clique e entenda!

Muito se fala, pouco se entende…

As blockchains, Distributed Ledger Technologies, criptomoedas, ou seja lá o nome que você utiliza, são fundamentadas no trabalho de Satoshi Nakamoto. Ou seja, o Bitcoin é o progenitor dessa tecnologia tão comentada. Isso não quer dizer que o Bitcoin esteja destinado a ser a criptomoeda mais aceita de todos os tempos, que ele seja tecnologicamente mais avançado nem que seja a moeda mais valiosa financeiramente. Isso apenas quer dizer que, para entender tudo o que vier depois do Bitcoin, é preciso entender o básico sobre ele.

Caso você não esteja preocupado com o funcionamento interno por trás da tecnologia mas sim interessado em uma visão geral do projeto, leia nosso artigo Bitcoin – Visão Geral do Projeto.

Por vezes as tecnologias emergentes são mistificadas demasiadamente. Nesse artigo, você verá o preto no branco, sem maiores detalhes científicos, para que tenha condições de compreender como os seguintes itens se relacionam para compor o Bitcoin: criptografia avançada, códigos hash, assinaturas digitais, blocos de transações, blockchain, blockchain distribuída, protocolo de consenso, gasto em duplicidade e rastreamento de saldo. Vamos ao que interessa!

 

Par de chaves Público-privadas

As chaves público-privadas são o cerne das assinaturas digitais. Uma chave privada sempre poderá gerar uma chave pública correspondente, derivada pelo sistema:

  • A chave privada deve ser conhecida apenas pelo proprietário da chave.
  • A chave pública associada geralmente é conhecida por todos os participantes da rede.

A partir da chave privada, pode-se encriptar uma mensagem que, posteriormente, poderá ser descriptografada através da chave pública. É impossível criptografar uma mensagem contendo apenas a chave pública. Esse conceito é chamado de criptografia assimétrica.

 

Assinatura

É possível assinar mensagens através de uma chave privada. Ao escrever uma mensagem (conjunto de dados), o remetente pode “carimbar” a mensagem com a sua chave privada, através de algoritmos criptográficos complexos, gerando um código criptografado que será a assinatura daquela mensagem.

Uma mensagem gerará uma assinatura única. Nunca existirão duas assinaturas distintas para uma mesma mensagem assinada por uma mesma chave privada. As pessoas que receberão a mensagem não conhecem a chave privada do remetente e, por isso, não podem assinar a mensagem, se passando pelo remetente. Todavia, os destinatários podem utilizar a chave pública do remetente para verificar se a assinatura gerada por ele é legítima. A técnica da assinatura digital é fundamental para evitar que pessoas não autorizadas realizem transações em nome de alguém.

 

Transação

É possível criar mensagens, enviando, a partir do endereço do remetente (chave pública – carteira do remetente), uma quantia de dinheiro (tokens) até o endereço (chave pública) de qualquer outra pessoa (destinatário).

O remetente deve assinar a transação (mensagem) e publica-la na rede, para que todos tenham certeza de que a mensagem foi devidamente assinada pela pessoa correta, na hora e data registrada. A rede saberá que aquela transação foi enviada por uma pessoa autorizada pois é possível realizar essa verificação a partir da chave pública.

 

Código Hash

Um código hash é como uma impressão digital que pertencente a um bloco de dados. Todo conjunto de dados possui um código hash único associado a ele. Caso um único caractere da mensagem seja alterado, um novo código hash, completamente diferente do anterior, será associado à nova mensagem.

Os códigos hash, como o SHA-256 do Bitcoin, possuem uma propriedade interessante. Existe um algoritmo (software) muito rápido capaz de verificar se um código hash, conhecido previamente, corresponde a um certo bloco de dados. Todavia, caso não se saiba previamente qual é o código hash de um bloco de dados, é praticamente impossível (muitíssimo difícil) descobrir qual é o hash daquele conjunto de dados a partir do zero. É tão difícil descobrir esse código que uma das alternativas “viáveis” é testar, aleatoriamente, uma combinação de caracteres que corresponda ao código hash daquele conjunto de dados.

 

Bloco

Um bloco é uma estrutura que armazena os dados de uma transação. É como se fosse uma folha de um registro contábil. Todo bloco possui os seguintes itens:

  • Dados de transações
  • Código hash do bloco anterior
  • Seu próprio código hash

Dá-se o nome de Prova-de-trabalho à ação de descobrir o código hash de um bloco. Seria um sinônimo para mineração de moedas. Quando uma máquina faz a mineração de um bloco, na verdade, ela está à procura de um código hash que combine com aquele bloco. Para isso, um computador da rede receberá tokens (moedas) como recompensa por blocos minerados com sucesso.

 

Blockchain

Pode-se aglomerar um conjunto de blocos em uma cadeia na qual, sempre que um novo bloco for adicionado, ele deverá armazenar o código hash do bloco anterior como uma forma de fazer referência ao bloco vizinho. Com isso é possível conectar o novo bloco a todos os blocos anteriores, já que todo bloco tem o “endereço” (código hash) do bloco anterior.

Para se descobrir o código hash do novo bloco de transações é preciso que esse novo bloco contenha a informação do bloco anterior, caso contrário, o código hash recém encontrado será invalidado junto à blockchain.

Caso algum indivíduo mal intencionado tente alterar alguma informação de um bloco qualquer, todos os blocos posteriores a ele terão que ser “re-minerados”, ou seja, é preciso trabalhar novamente em cada um deles para se descobrir seus respectivos códigos hash. É uma tarefa altamente trabalhosa do ponto de vista de processamento computacional. Ademais, cada transação registrada em um bloco possui uma assinatura. Dependendo do tipo de ataque, além de refazer a prova de trabalho, o hacker teria de conhecer as chaves privadas das vítimas.

Blockchain distribuída e protocolo de consenso

Todas as máquinas da rede possuem uma cópia idêntica da blockchain, formado a chamada distributed ledger (livro/registro contábil distribuído). Assim, caso um novo bloco seja criado por uma das máquinas, todas elas deverão verificar se o bloco é válido (transações assinadas pelas pessoas corretas, e com saldos corretos).

Caso algum atacante tente alterar a blockchain armazenada em alguma das máquinas da rede, todas as outras máquinas ainda continuarão contendo a blockchain original. Por isso o protocolo de consenso sempre levará em conta a blockchain que está registrada na maioria dos computadores.

Aqui é o protocolo de consenso entra para realizar a checagem a respeito do gasto duplo. Caso um indivíduo tente realizar duas transações simultâneas, gastando em duplicidade haveria duas possibilidades:

1 – Um mesmo minerador recebe as duas transações para gravar em um mesmo bloco. Nesse caso a transação que chegou depois será descartada.

2 – Dois mineradores distintos recebem cada uma das as transações que geraram o gasto duplo e ambos conseguem criar blocos simultaneamente, adicionando-os às suas respectivas blockchains. Após a publicação dos blocos, a rede terá “dois” últimos blocos, ou seja, haverá uma bifurcação na cadeia de blocos.

Sabe-se que os nós da rede sempre continuarão a trabalhar para estender a maior cadeia de blocos. Assim, o desempate só virá quando um terceiro minerador encontrar um novo bloco e escolher, arbitrariamente, um uma das vias da bifurcação para ser estendida. Uma vez que uma das vias foi estendida, essa via será considerada a maior cadeia de blocos, e outros nós trabalharão para estendê-la, abandonando a menor outra via e, consequentemente, resolvendo o gasto em duplicidade.

Rastreando transações

Uma vez que se sabe como evitar o gasto em duplicidade, é preciso que o protocolo de consenso da rede consiga verificar se uma pessoa possui, de fato, saldo suficiente para realizar uma transação. Sabemos que a blockchain armazena várias sequências de transações que podem ser reorganizadas em uma estrutura de dados chamada de árvore. Essa árvore é extraída a partir registros de transações que se relacionam a uma carteira específica. Utilizando essa árvore é possível realizar um backtrack para checar se as transações são válidas a no que diz respeito ao saldo de cada uma das carteiras que realizaram transações. Quando você instala uma carteira, ela baixa uma cópia da blockchain e percorre toda a cadeia de blocos, para verificar se todas as transações estão corretas.

Aqui devemos prestar a atenção a um detalhe: é possível auditar toda a blockchain, pois temos o registro de todas as transações que foram realizadas desde sempre, desde a criação do primeiro bloco do Bitcoin por Satoshi Nakamoto. Desse modo, constata-se que, na realidade, é possível, de alguma maneira, rastrear a cadência de transferências realizadas pelos dos usuários da rede. É especialmente fácil fazer isso, caso as transações sejam feitas a partir de exchanges (casas de câmbio) autorreguladas e de confiança. Existem iniciativas para explorar e auditar a blockchain, como a do site btc.com, que auxiliam em auditorias públicas. Devemos destacar que o trabalho de rastreamento pode ser altamente dificultado quando as transações são feitas sem intermédio de exchanges. Outro fator que aumenta em muito a privacidade, é a possibilidade de um indivíduo criar um número indefinido de carteiras virtuais sem ter que fornecer informações pessoais para isso.

Em suma

Se alguém lhe perguntar o que é o Bitcoin, você terá condições de explicar que, na sua essência ele é um software distribuído que implementa uma moeda digital matematicamente protegida, mantida por uma rede de nós. Assinaturas digitais autorizam transações individuais nas quais a propriedade sobre os tokens é validada através da verificação de uma cadeia de transações. A ordem na qual as transações ocorreram é protegida pela blockchain.

Algumas de suas consequências deixam um enorme potencial disruptivo: não existem autoridades centrais, como governos ou bancos, para imprimir mais dinheiro ou manipular os valores da moeda; possibilidade de alto nível de anonimato, uma vez que é possível criar carteiras sem que seja preciso fornecer informações pessoais; transações a longa distância tornam-se potencialmente mais baratas. De qualquer forma, a promessa de disrupção provavelmente levará tempo até se concretizar, se é que, algum dia as criptomoedas irão, de fato, destruir por completo com o sistema financeiro tradicional. É muito provável que o sistema seja resiliente o suficiente para se adaptar a essa nova forma de trocar ativos.

Alguns dos seus desafios do Bitcoin, atualmente, são: volatilidade; é um refúgio para ações ilegais como sonegação de impostos, lavagem de dinheiro ou terrorismo devido à alta privacidade; alto consumo energético devido ao esforço computacional para computar novas transações.

. . . .

Faça parte do nosso Canal VIP no Telegram
As melhores análises da atualidade.
Acesse → bit.ly/RegistroBitcoinMoveVIP

Uma amostra do Canal VIP? Canal FREE →  t.me/btcmove

Participe de nossa comunidade:
Grupo FREE | FÓRUM → bit.ly/BitcoinMoveFree

Conheça todos os nossos serviços → www.BitcoinMove.com.br/servicos

Teve sucesso com uma de nossas análises? DOE:
BTC: 16Gb1i1x7ioaW2QtGCGKFapoD4CZRezAhz
LTC: LWgzt17pHrinyxU7rnRKshpvMvUFMoKS8c
ETH: 0xa02f8e619b77bb8E77180CC5E44Ab72C538d6cba
BCH: 1FJ2kBVYHmewHHFo4bTvQcJTSS3rgW3Q7R

Dúvidas? Fale conosco:

E-mail: contato@bitcoinmove.com.br
Telegram: @bitcoinmove
Facebook: https://www.facebook.com/bitcoinmove
Site: www.BitcoinMove.com.br

 

Comente e fortaleça a comunidade cripto no Brasil:
%d blogueiros gostam disto: