A não ser que você esteja se escondendo embaixo da rocha, tenho certeza que você já ouviu falar de Bitcoins e Blockchain. Afinal, eles são as tendências e os temas favoritos da mídia no ultimo ano.
Mas mesmo tendo escutado muito sobre, muitos ainda não sabem o que significa Blockchain, e esse é o propósito deste post, lhe explicar de uma vez por todas o que é essa tecnologia.
Ao contrário de qualquer outro post na internet, em vez de definir primeiro o Blockchain, vamos entender o problema que ele resolve.
Imagine que seu melhor amigo está viajando para o exterior, e no quinto dia de suas férias, ele liga para você e diz:
“Ei, eu preciso de dinheiro. Eu fiquei sem na viagem e não sei o que fazer”.
Então, como você é um bom amigo você vai e fala para ele que vai ajuda-lo. Em seguida, você liga para o gerente da conta do banco e peça a ele: “Transfira R$ 1000,00 da minha conta para a conta de tal pessoa”.
O gerente então abre o registro, verifica o saldo da sua conta para ver se você tem saldo suficiente para transferir R$ 1000,00 para seu amigo. Então, ele faz um registro de transação, como no exemplo abaixo, onde Joe é o nome do seu amigo (fictício):
Você liga para seu amigo e diz a ele: “Eu transferi o dinheiro. Da próxima vez que você for ao seu banco, poderá sacar os mil que acabei de transferir ”.
O que acabou de acontecer? Você e seu amigo confiaram no banco para administrar seu dinheiro. Não houve movimento real de contas físicas para transferir o dinheiro. Tudo o que era necessário era um registro. Ou, mais precisamente, uma entrada no registro que nem você nem Joe controla ou possui.
E esse é o problema dos sistemas atuais. Para estabelecer confiança entre nós, dependemos de terceiros individuais. Durante anos, dependemos desses intermediários para confiar uns nos outros. Você pode perguntar: “qual é o problema dependendo deles?”
O problema é que eles são singulares em número. Se um caos precisa ser injetado na sociedade, tudo o que é necessário é que uma pessoa/organização seja corrupta, intencional ou não.
- E se o registro em que a transação foi registrada for queimado em um incêndio?
- E se, por engano, seu gerente de contas tivesse escrito R$ 1.500 em vez de R$ 1.000?
- E se ele fez isso de propósito?
Poderia haver um sistema em que ainda podemos transferir dinheiro sem precisar do banco?
Para responder a essa pergunta, precisaremos nos aprofundar mais e nos fazer uma pergunta melhor (afinal, apenas perguntas melhores levam a melhores respostas).
Pense nisso por um segundo, o que significa transferir dinheiro? Apenas uma entrada no registro. A melhor pergunta seria então:
Existe uma maneira de manter o registro entre nós, em vez de alguém fazer isso por nós?
Agora, essa é uma questão que vale a pena explorar. E a resposta é o que você já deve ter adivinhado, o BLOCKCHAIN.
É um método para manter esse registro entre nós, em vez de depender de alguém para fazer isso.
Você ainda está comigo? Boa. Porque agora, quando várias questões começaram a surgir em sua mente, vamos aprender como funciona esse registro distribuído.
Ops, mas só um recadinho antes de você continuar: em breve teremos novidades no Youtube, então não deixe de seguir a gente lá!! Basta acessar este link 😉
Mas, como isso realmente funciona?
O requisito deste método é que deve haver pessoas suficientes que gostariam de não depender de um terceiro. Só então esse grupo pode manter o registro por conta própria.
Quantos pessoas são suficientes? Pelo menos três. Para o nosso exemplo, vamos assumir que dez pessoas querem desistir de bancos ou de terceiros. Por mútuo acordo, eles têm detalhes das contas uns dos outros o tempo todo – sem conhecer a identidade do outro.
1. Uma Pasta Vazia
Todos contém uma pasta vazia para começar. Conforme progrediremos, todos esses dez indivíduos continuarão adicionando páginas às suas pastas vazias no momento. E essa coleção de páginas formará o registro que rastreia as transações.
2. Quando uma transação acontece
Em seguida, todos na rede estão com uma página em branco e uma caneta nas mãos. Todos estão prontos para escrever qualquer transação que ocorra no sistema.
Agora, se #2 quiser enviar 10 reais para #9.
Para fazer a transação, o nº 2 grita e diz a todos: “Quero transferir 10 reais para o nº 9. Então, todos, por favor, anote em suas páginas.”
Então todos vão fazer o mesmo que o gerente fez no exemplo do inicio deste post. Eles vão verificar se #2 tem saldo suficiente para transferir R$ 10,00 para #9. Se ela tiver saldo suficiente, todos anotam a transação nas páginas em branco.
A transação é então considerada completa.
3. Transações continuam acontecendo
À medida que o tempo passa, mais pessoas na rede sentem a necessidade de transferir dinheiro para outras pessoas. Sempre que eles querem fazer uma transação, eles anunciam para todos os outros. Assim que uma pessoa ouve o anúncio, ele a escreve em sua página.
Este exercício continua até que todo mundo fique sem espaço na página atual. Supondo que uma página tenha espaço para registrar dez transações, assim que a décima transação é feita, todo mundo fica sem espaço.
É hora de colocar a página na pasta e trazer uma nova página e repetir o processo a partir da etapa 2 acima.
4. Colocando fora a página
Antes de guardarmos a página em nossas pastas, precisamos selá- la com uma chave única que todos na rede concordem. Ao selá-lo, certificaremos de que ninguém possa fazer alterações, uma vez que suas cópias tenham sido guardadas na pasta de todos – não hoje, nem amanhã e nem mesmo depois de um ano. Uma vez na pasta, ficará sempre na pasta – selada. Além disso, se todos confiarem no selo, todos confiam no conteúdo da página. E esse selamento da página é o ponto crucial desse método.
Como selamos a página então?
Antes de aprendermos como podemos selar a página, saberemos como o selo funciona, em geral. E como um pré-requisito para isso é aprender sobre algo que eu gosto de chamar de: “A máquina mágica”. Imagine uma máquina, e se você enviar uma caixa com algo dentro da esquerda desta máquina, ela vai então “cuspir” uma caixa contendo outra coisa.
Esta máquina é chamada de ‘Função Hash’, mas não vou ser muito técnica. Então, por hoje, essas são ‘As máquinas mágicas’.
Suponha que você envie o número 4 para dentro da caixa mais a esquerda, descobrimos que ele cuspiu a seguinte palavra à direita: ‘dcbea’.
Como ele converteu o número 4 para essa palavra? Ninguém sabe. Além disso, é um processo irreversível. Dada a palavra “dcbea”, é impossível dizer o que a máquina foi alimentada à esquerda. Mas toda vez que você alimenta o número 4 na máquina, ele sempre cuspirá a mesma palavra, ‘dcbea’.
Dada a palavra “dcbea”, é impossível dizer o que a máquina foi alimentada à esquerda. Mas toda vez que você alimenta o número 4 na máquina, ele sempre cuspirá a mesma palavra, ‘dcbea’.
A propriedade mais importante de tais máquinas é que – “Dada uma saída, é extremamente difícil calcular a entrada, mas dada a entrada e a saída, é muito fácil verificar se a entrada leva à saída.”
Como usar essas máquinas para selar uma página?
Nós usaremos essa máquina mágica para gerar um selo para nossa página. Como sempre, vamos começar com uma situação imaginária.
Imagine eu te dar duas caixas. A primeira caixa contém o número 20893. Eu, então, pergunto: “Você consegue descobrir um número que, quando adicionado ao número na primeira caixa e fornecido à máquina, nos dará uma palavra que começa com três zeros iniciais?”
Depois de vários milhares de tentativas, vamos nos deparar com um número, digamos 21191, que, quando adicionado a 20893 (ou seja, 21191 + 20893 = 42084) e alimentado à máquina, produzirá uma palavra que satisfaz nossos requisitos.
Nesse caso, esse número, 21191, torna-se o selo para o número 20893. Suponha que haja uma página que contenha o número 20893 escrito nele. Para selar essa página (ou seja, ninguém pode alterar o conteúdo dela), colocaremos um crachá rotulado ‘21191’ em cima dela. Assim que o número de selagem (ou seja, 21191) está preso na página, a página então é selada.
O número de selagem é chamado de ‘Prova de Trabalho’, o que significa que esse número é a prova de que foram feitos esforços para calculá-lo. Somos bons em chamá-lo de “número selador” para nossos propósitos.
Se alguém quiser verificar se a página foi alterada, tudo o que ele precisa fazer é adicionar o conteúdo da página com o número de lacre e alimentar a máquina mágica. Se a máquina der uma palavra com três zeros à esquerda, o conteúdo não foi tocado. Se a palavra que sai não atender aos nossos requisitos, podemos jogar fora a página porque o seu conteúdo foi comprometido e não tem uso.
Finalmente, selando nossa página …
Para selar nossa página que contém as transações da rede, precisaremos descobrir um número que, quando anexado à lista de transações e alimentado na máquina, recebe uma palavra que começa com três zeros à direita.
Nota: os três zeros iniciais são apenas um exemplo. Ele ilustra como funcionam as funções de hashing. Os desafios reais são muito mais complicados do que isso.
Uma vez que esse número é calculado após gastar tempo e eletricidade na máquina, a página é selada com esse número. Se alguma vez, alguém tentar alterar o conteúdo da página, o número de selagem permitirá que qualquer pessoa verifique a integridade da página.
Agora que sabemos sobre a selagem da página, voltaremos ao tempo em que terminamos de escrever a décima transação na página, e ficamos sem espaço para escrever mais.
Assim que todos saem da página para escrever outras transações, eles se permitem calcular o número de lacre da página para que ela possa ser guardada na pasta. Todos na rede fazem o cálculo. O primeiro na rede a descobrir o número de vedação anuncia isso para todos os outros.
Imediatamente após ouvir o número de lacre, todos verificam se produzem ou não a saída necessária. Se isso acontecer, todos etiquetam suas páginas com esse número e as guardam em suas pastas.
Então, por que todos gastam recursos fazendo o cálculo quando sabem que alguém vai calcular e anunciar isso a eles? Por que não ficar parado e esperar pelo anúncio?
É aí que os incentivos aparecem na foto. Todos que fazem parte do Blockchain são elegíveis para recompensas. O primeiro a calcular o número de selamento é recompensado com dinheiro livre por seus esforços (ou seja, poder de CPU e eletricidade).
Simplesmente imagine, se #5 calcula o número de selamento de uma página, ele é recompensado com algum dinheiro livre, digamos $ 1, que é cunhado do nada. Em outras palavras, o saldo da conta # 5 é incrementado com $ 1 sem diminuir o saldo da conta de outra pessoa.
É assim que o Bitcoin começou a existir. Foi a primeira moeda a ser transacionada em um Blockchain (ou seja, registros distribuídos). E, em troca, para manter os esforços em andamento na rede, as pessoas foram premiadas com Bitcoins.
Quando pessoas suficientes possuem Bitcoins, elas crescem em valor, fazendo com que outras pessoas queiram Bitcoins; fazendo Bitcoins crescer em valor ainda mais; fazendo ainda mais pessoas querendo Bitcoins; fazendo-os crescer ainda mais em valor; e assim por diante.
E uma vez que todos colocam a página em suas pastas, eles trazem uma nova página em branco e repetem todo o processo – fazendo isso para sempre.
Conhece mais alguém agora que deveria ler isso? Então não deixe de compartilhar esse artigo 😀