Como Funciona a Blockchain?
P√°gina Inicial
Artigos
Como Funciona a Blockchain?

Como Funciona a Blockchain?

Intermedi√°rio
Publicado em Dec 9, 2018Atualizado em Dec 12, 2022
5m

O que é blockchain?

Basicamente, uma blockchain é uma lista de registros de dados que funciona como um livro digital descentralizado. Os dados são armazenados em blocos, que são organizados cronologicamente e protegidos por criptografia. 
O primeiro modelo de blockchain foi criado no início dos anos 1990, quando o cientista da computação Stuart Haber e o físico W. Scott Stornetta empregaram técnicas criptográficas em uma cadeia de blocos como forma de proteger documentos digitais contra a adulteração de dados. 
O trabalho de Haber e Stornetta certamente inspirou o trabalho de muitos outros cientistas da computa√ß√£o e entusiastas da criptografia - o que acabou ocasionando √† cria√ß√£o do Bitcoin como o primeiro sistema de dinheiro eletr√īnico descentralizado (ou em outras palavras, a primeira criptomoeda).

Embora a tecnologia blockchain seja mais antiga que as criptomoedas, foi somente após a criação do Bitcoin em 2008 que seu potencial começou a ser reconhecido. Desde então, o interesse pela tecnologia blockchain cresce gradualmente e as criptomoedas são reconhecidas e adotadas em uma escala maior.

A tecnologia Blockchain √© usada principalmente para registro de transa√ß√Ķes de criptomoedas, mas se adapta a muitos outros tipos de dados digitais e pode ser aplicada a uma ampla variedade de casos de uso. A maior, mais antiga e mais segura rede blockchain √© a do Bitcoin, que foi projetada com uma combina√ß√£o cuidadosa e equilibrada de criptografia e teoria dos jogos.


Como funciona a blockchain?

No contexto das criptomoedas, uma blockchain consiste em uma cadeia est√°vel de blocos, cada um armazenando uma lista de transa√ß√Ķes previamente confirmadas. ¬†Como a rede blockchain √© mantida por uma infinidade de computadores espalhados pelo mundo, ela funciona como um banco de dados descentralizado (conhecido tamb√©m como ledger ou livro-raz√£o). Isso significa que cada participante (node) mant√©m uma c√≥pia dos dados da blockchain e eles se comunicam entre si para garantir que estejam todos na "mesma p√°gina" (ou mesmo bloco).
Portanto, as transa√ß√Ķes da blockchain ocorrem dentro de uma rede peer-to-peer global e √© isso que torna o Bitcoin uma moeda digital descentralizada, sem fronteiras e resistente √† censura. Al√©m disso, a maioria dos sistemas blockchain s√£o considerados trustless pois n√£o h√° necessidade de confian√ßa entre os participantes. N√£o existe uma autoridade √ļnica no controle do Bitcoin.
Um aspecto central de quase todas as blockchains é o processo de mineração, que depende de algoritmos de hashing. O Bitcoin usa o algoritmo SHA-256 (Secure Hash Algorithm 256 bits). Ele recebe uma entrada (input) de qualquer comprimento e gera uma saída (output) que sempre terá o mesmo comprimento. O output produzido é chamado de "hash" e, neste caso, é sempre composto por 64 caracteres (256 bits).

Portanto, um determinado input sempre resultar√° no mesmo output, n√£o importa quantas vezes o processo se repita. Mas se uma pequena mudan√ßa for feita nos dados de entrada, o output mudar√° completamente. Sendo assim, as fun√ß√Ķes de hash s√£o determin√≠sticas e, no mundo das criptomoedas, a maioria delas √© projetada como uma fun√ß√£o de hash unidirecional.

Ser uma fun√ß√£o unidirecional significa que √© quase imposs√≠vel descobrir qual foi o input conhecendo somente o output. Existe sim a possibilidade de adivinhar o input, mas as chances de fazer isso corretamente s√£o extremamente baixas. Esta √© uma das raz√Ķes pelas quais a blockchain do Bitcoin √© segura.

Agora que sabemos o que o algoritmo faz, vamos demonstrar como uma blockchain funciona, com um exemplo simples de uma transação.

Para o exemplo, vamos considerar os saldos em Bitcoin de Alice e Bob. Digamos que Alice deve 2 Bitcoins a Bob.

Para enviar a Bob esses 2 Bitcoins, Alice transmite uma mensagem para todos os mineradores da rede, contendo a transação que ela deseja fazer.
Nessa transa√ß√£o, Alice fornece aos mineradores o endere√ßo de Bob e informa a quantidade de Bitcoins que ela deseja enviar, juntamente com uma assinatura digital e a sua chave p√ļblica. Essa assinatura digital √© feita com a chave privada de Alice. Com ela, os mineradores podem confirmar que Alice √©, de fato, a propriet√°ria das respectivas moedas.

Assim que os mineradores confirmam que a transa√ß√£o √© v√°lida, eles podem coloc√°-la em um bloco junto com muitas outras transa√ß√Ķes e tentar minerar o bloco. Para isso, eles submetem o bloco ao algoritmo SHA-256. O output precisa come√ßar com uma certa quantidade de zeros para ser considerado v√°lido. A quantidade de zeros necess√°ria depende da chamada "dificuldade", que muda dependendo da quantidade de poder computacional existente na rede.

Para produzir um hash de saída (output hash) com a quantidade desejada de zeros no início, antes de processar o bloco através do algoritmo, os mineradores adicionam um "nonce" ao bloco. Como uma pequena alteração no input altera completamente o output, os mineradores tentam utilizar nonces aleatórios até encontrar um hash de saída válido.

Quando o bloco é minerado com sucesso, o minerador transmite esse novo bloco para todos os outros mineradores da rede. Eles então confirmam se o bloco é válido e o adicionam à sua cópia da blockchain, concluindo a transação. No entanto, os mineradores também precisam incluir nesse bloco o hash de saída do bloco anterior, para que todos os blocos sejam conectados, daí o nome blockchain (do inglês, "cadeia de blocos"). Esta é uma parte importante devido à forma como a confiança funciona no sistema.

Cada minerador tem sua própria cópia da blockchain em seu computador e todos confiam nas cópias da blockchain com mais trabalho computacional. Ou seja, a blockchain com mais blocos será a versão válida e mais atualizada. Caso um minerador altere uma transação contida em um bloco anterior, o hash de saída desse bloco será alterado, o que também altera todos os hashes posteriores, já que os blocos são vinculados com hashes. O minerador teria que refazer todo o trabalho para tentar convencer os outros participantes da rede de que a blockchain dele é a correta. Portanto, se um minerador quisesse trapacear, ele precisaria ter mais de 50% de todo o poder computacional da rede, o que é muito improvável. Ataques de rede como esse são conhecidos como ataques de 51%.
O modelo que utiliza poder computacional para a produção de blocos é chamado de Proof of Work (PoW). Também existem outros modelos como o Proof of Stake (PoS), que não requer tanto poder computacional, geralmente exige menos eletricidade e apresenta um grau maior de escalabilidade, comportando mais usuários.
Compartilhar publica√ß√Ķes
Registre uma conta
Coloque seus conhecimentos em pr√°tica. Abra uma conta na Binance hoje mesmo.