Exemplificando o Funcionamento do Blockchain


#1

Atenção: Há uma versão mais atualizada deste post na seguinte página: https://medium.com/@silvio.carlos/como-funciona-da-blockchain-do-bitcoin-9c7d52f2fa12

Opa, boa tarde amigos.

Para me ajudar a entender o funcionamento da Dinâmica do Blockchain, eu criei esse modelo abaixo, usando uma sala de aula como exemplo.
O que acham? Existe algum ponto equivocado ou que precisa ser melhorado?

Imagine um FICHÁRIO (desses escolares, que você pode adicionar/remover folhas) onde é feito o registro de qualquer tipo de transação.
Exemplo de Transação: Silvio envia 10 unidade (de qualquer coisa) para Arthur.
Quando uma transação acontece, ela fica em uma FILA DE ESPERA, aguardando ser registrada nesse FICHÁRIO.

O ALUNO é o responsável por, pegar as transações dessa FILA DE ESPERA, verificar se o Silvio possui as 10 unidades, escrever que 10 unidades foram retiradas da conta do Silvio e adicionada na conta do Arthur, e escrever essa transação nas linhas da FOLHA do FICHÁRIO.

Quando a FOLHA atinge seu limite, ou seja, acabaram as linhas disponíveis para escrever, o ALUNO adiciona uma nova FOLHA ao FICHÁRIO, para que novas transações sejam registradas.

Para adicionar essa nova FOLHA, o ALUNO precisa resolver um PROBLEMA MATEMÁTICO, que é baseado nas informações das transações registradas (Ex.: Silvio, Arthur, 10 unidades) na FOLHA atual.
O resultado desse PROBLEMA MATEMÁTICO gera um código que será gravado na nova FOLHA adicionada.
Dessa forma todas as FOLHA do FICHÁRIO possuem uma ligação sequencial entre elas, bem parecido como uma corrente.

Em uma sala de aula, todos os ALUNOS tem uma cópia desse FICHÁRIO, e existe uma competição para saber quem é o ALUNO mais rápido, aquele que primeiro realiza a tarefa de:

  • Pegar a transação da FILA DE ESPERA;
  • Confirmar o saldo do Silvio e retirar a quantidade para inserir na conta do Arthur;
  • Escrever essa transação na FOLHA do FICHÁRIO;
  • Resolver o PROBLEMA MATEMÁTICO;
  • Inserir a nova FOLHA no FICHÁRIO.

Para confirmar que o ALUNO vencedor fez todas as tarefas acima, os PROFESSORES irão validar se o resultado do PROBLEMA MATEMÁTICO está correto.
Estando tudo confirmado, esse ALUNO vencedor recebe alguns PRÊMIOS e sua FOLHA é copiada e inserida no FICHÁRIO de todos os outros ALUNOS e PROFESSORES.

Dessa forma, todos da sala possuem sempre a mesma cópia atualizada desse FICHÁRIO.

Assim você consegue garantir que nenhum ALUNO consiga trapacear, inserindo transações falsas, pois o PROBLEMA MATEMÁTICO daria erro, nem que um ALUNO altere transações passadas, pois ele teria que mudar o FICHÁRIO de todos os outros ALUNOS e PROFESSORES.


Traduzindo os termos do exemplo:
FICHÁRIO = BLOCKCHAIN
FILA DE ESPERA = MEMPOOL
FOLHA = BLOCK (BLOCO)
ALUNO = MINERADOR
PROBLEMA MATEMÁTICO = PROOF OF WORK
PROFESSOR = FULL NODE
PRÊMIOS = BITCOINS


#2

Muito bom, Silvio! Ficou extremente didático. Parabéns!


#3

Opa, obrigado Tiago.
Fiz esse modelo pra tentar explicar para amigos não técnicos a dinâmica de funcionamento da rede.
Pretendo expandir esse exemplo, para dar mais detalhes sobre o processo de mineração.


#4

@tiago, é possível editar esse post?
Fiz uma atualização desse texto, com algumas correções e mais informações.


#5

Opa, claro, você não consegue editar seu próprio post? Achei que dava.
Qualquer coisa me manda as alterações que eu edito ele por aqui.


#6

A atualização foi um pouco grande, não sei se é facil deletar esse tópico e criar outro, do que você atualizar todo o texto.
Deixei ele hospedado aqui:


#7

Adicionei o link do seu medium no começo do post. Assim você pode editar o post sem precisar modificar aqui :slight_smile:


#8

Olá Silvio!
Eu já tentei criar algo desse tipo para tentar explicar o funcionamento do bitcoin e achei que o meu modelo não ficou bom. O seu modelo realmente é muito bom e bem didático. Eu tomo a liberdade de sugerir o seguinte:

  1. Para tentar explicar a questão da rede P2P eu diria que o sistema de avaliação periódica (tipo provas, se é que ainda existem!) seria a primeira camada do sistema (digamos que é a camada oficial de avaliação) e que este sistema que você criou seria a segunda camada, com os mesmos participantes atuando sem a necessidade do agente de confiança (a Diretora da Escola);

  2. O ingresso nesse sistema não é obrigatório para os alunos, mas não há restrições entre turmas diferentes que podem participar livremente (para dar ideia de amplitude não limitando o exemplo numa sala de aula específica que pode dar a ideia de centralização) mas quando passam a fazer parte podem ganhar pontos (moedas) que podem ser enviadas para outros integrantes da rede. Os pontos são obtidos conforme seu modelo, realizando as tarefas;

  3. A resolução do problema (no caso uma questão de matemática verdadeiro substitui a decodificação da criptografia) e quem resolver primeiro ganha os pontos de recompensa. Estes pontos obtidos a partir de um trabalho realizado numa “segunda camada” também contam para a avaliação final do aluno já que exige a resolução de problemas matemáticos (mas pode ser expandido para outras áreas como física, química, etc.);

  4. O resto não muda, todos atualizam seus fichários com os pontos atualizados (transparência da pontuação) que pode ser computado no final do ano para fins de acréscimo na nota final (aquela ajudinha/trabalho extra que alguns professores dão para nos ajudar a passar de ano…rsrsrs…), ou mesmo para trocar por brindes, livros, etc. para não perder a ideia de valor, ou seja, a primeira camada que é o sistema de notas oficiais obtidas com as avaliações/provas pode interagir com a segunda camada (trabalhos extras)…


#9

Grande Cecilio, peço enorme desculpas por não ter respondido antes.

Criei o modelo para me ajudar no entendimento de aspectos técnicos da Blockchain e facilitar a abstração da tecnologia por pessoas não técnicas.

Considero seus pontos relevantes para dar mais entendimento sobre conceitos de descentralização, tanto da manutenção quanto definição das regras do jogo.

Já li alguns textos seus aqui no Fórum, sempre bem concisos, elaborados e com boas reflexões, por isso sinta-se livre para atualizar/modificar/adicionar/complementar o texto.

Se quiser/precisar dos arquivos originais das imagens, posso envia-las para você.

Abração e parabéns pelas constantes colaborações aqui no Fórum.


#10

Silvio, agradeço seu retorno e muito obrigado pelas considerações. Eu sei que as pessoas tem suas vidas para tocarem, eu já parei depois de 36 anos…por isso tenho mais disponibilidade de tempo, por isso sempre passo por aqui. Obrigado por disponibilizar os originais, qualquer coisa te aviso, mesmo assim obrigado mesmo. Valeu e abraço.