Blockchain é uma tecnologia muito popular atualmente e extremamente versátil também, apesar de ser conhecida principalmente por servir como base para criptomoedas, uma blockchain pode oferecer diversas funções como, por exemplo, um sistema para transferências de itens dentro de um jogo.
A tecnologia blockchain em sua essência armazena DADOS e estes dados podem ser virtualmente qualquer coisa!
Se você quer saber mais sobre como uma blockchain funciona no nível do usuário existem diversos vídeos explicando como tudo trabalha, transações são feitas, etc.
Mas, ao pesquisar sobre como criar uma blockchain você encontra assuntos sobre programação DENTRO de uma blockchain (utilizando Solidity dentro da rede Ethereum) ou como copiar e colar código de criptomoedas como Bitcoin e Litecoin, alterar aqui e ali e nada mais do que isso.
Depois de pesquisar e experimentar alguns materiais, encontrei alguns muito bons! Infelizmente, para alguns, os conteúdos são todos em inglês.
O que eu mais gostei foi um curso chamado Python – The Practical Guide este curso ensina a programar em Python3 enquanto você constrói uma blockchain e criptomoeda real do zero! Não só isso o curso ainda ensina a criar uma interface web e utilizar o Flask para manipular requisições HTTP.
Outro curso muito similar é o Build a Blockchain and a Cryptocurrency from Scratch tem uma proposta similar ao do anterior porém utilizando NodeJS!
Tem este post no site HackerNoon que também e digno de dar uma leitura! Ele mostra na prática como criar uma blockchain com Python, note-se que para entender algo aqui é necessário ter um bom conhecimento em Python.
Criar uma blockchain do zero é algo muito legal, você vai aprender diversas técnicas e habilidades que irão te ajudar em outras áreas. O que você aprende desenvolvendo uma blockchain é: Criptografia e Hashing, P2P Networking, Webservices, trabalhar melhor com multithreading e diversas outras coisas.
E vale a pena?
Totalmente! Até bancos hoje em dia estão pensando em migrar seus sistemas para esta tecnologia, o mercado é muito amplo! Você pode criar todo tipo de sistema em cima desta tecnologia.
O que é mais comum é a blockchain sendo implementada em um sistema distribuído, porém é possível fazer uma blockchain mais limitada e centralizada ou até mesmo uma mistura dos dois!
No início realmente é algo que frita sua mente, principalmente a parte de criptografia, mas depois com a prática você percebe a versatilidade desta tecnologia!