Blockchain Python - Introdução
No tutorial sobre Blockchain, aprendemos em detalhes sobre a teoria por trás do blockchain. O blockchain é o bloco de construção fundamental por trás da moeda digital Bitcoin mais popular do mundo. O tutorial lidou profundamente com as complexidades do Bitcoin explicando totalmente a arquitetura do blockchain. A próxima etapa é construir nosso próprio blockchain.
Satoshi Nakamoto criou a primeira moeda virtual do mundo chamada Bitcoin. Olhando para o sucesso do Bitcoin, muitos outros criaram suas próprias moedas virtuais. Para citar alguns - Litecoin, Zcash e assim por diante.
Agora, você também pode querer lançar sua própria moeda. Vamos chamar isso de TPCoin (TutorialsPoint Coin). Você escreverá um blockchain para registrar todas as transações que lidam com TPCoin. O TPCoin pode ser usado para comprar Pizzas, Hambúrgueres, Saladas, etc. Pode haver outros provedores de serviço que ingressariam na sua rede e passariam a aceitar o TPCoin como moeda de prestação de seus serviços. As possibilidades são infinitas.
Neste tutorial, vamos entender como construir tal sistema e lançar sua própria moeda digital no mercado.
Componentes envolvidos no desenvolvimento do projeto Blockchain
Todo o desenvolvimento do projeto blockchain consiste em três componentes principais -
- Client
- Miners
- Blockchain
Cliente
O Cliente é quem vai comprar mercadorias de outros vendedores. O próprio cliente pode se tornar um vendedor e aceitar dinheiro de terceiros contra os bens que fornece. Presumimos aqui que o cliente pode ser um fornecedor e um destinatário de TPCoins. Assim, iremos criar uma classe de cliente em nosso código que tem a capacidade de enviar e receber dinheiro.
Mineiro
O Mineiro é aquele que pega as transações de um pool de transações e as monta em um bloco. O minerador deve fornecer uma prova de trabalho válida para receber a recompensa de mineração. Todo o dinheiro que o mineiro receber como taxa ficará para ele ficar com. Ele pode gastar esse dinheiro na compra de bens ou serviços de outros fornecedores registrados na rede, da mesma forma que um Cliente descrito acima faz.
Blockchain
Finalmente, um Blockchain é uma estrutura de dados que encadeia todos os blocos minerados em ordem cronológica. Essa corrente é imutável e, portanto, à prova de temperamento.
Você pode seguir este tutorial digitando o código apresentado em cada etapa em um novo bloco de notas Jupyter. Como alternativa, você pode baixar o bloco de notas Jupyter completo em www.anaconda.com .
No próximo capítulo, desenvolveremos um cliente que usa nosso sistema de blockchain.