Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Construção de Blockchain em Golang

NearX Educational Platform

Módulo 0 — Apresentação do Curso

Conheça a estrutura do curso, a metodologia de aprendizagem e o roteiro dos 8 módulos. Prepare-se para construir uma blockchain em Golang, explorando conceitos, implementação prática e evolução do projeto.

Módulo I — Fundamentos e Construção da Blockchain em Golang

Estudo prático da arquitetura básica de uma blockchain utilizando a linguagem Go (Golang), com introdução à modelagem de sistemas distribuídos. Implementação de estruturas fundamentais, mecanismos de hash, prova de trabalho e persistência.

• Setup inicial do ambiente em Golang
• Estrutura de blocos (struct Block)
• Funções de hash e criação de blocos
• Bloco gênesis e encadeamento de blocos
• Introdução a sistemas distribuídos
• Implementação da Prova de Trabalho (Proof of Work)
• Nonce, validação e execução do algoritmo PoW
• Serialização e deserialização de dados
• Persistência e atualização do banco de dados
• Iteradores de blockchain
• Interface de linha de comando (CLI)

Módulo II — Transações, UTXO e Mempool

Implementação do modelo de transações inspirado em UTXO, incluindo fluxo real de processamento de transações em uma blockchain.

• Estrutura e criação de transações
• Implementação da transação Coinbase
• Identificação e hash de transações
• Modelo UTXO (Unspent Transaction Outputs)
• Busca e validação de saídas não gastas
• Criação de novas transações
• Introdução à Mempool
• Fluxo de transações: mempool → mineração → bloco
• Integração das transações ao bloco

Módulo III — Carteiras e Criptografia

Desenvolvimento de carteiras digitais com foco em segurança criptográfica e autenticação de transações.

• Geração de pares de chaves criptográficas
• Hash de chave pública
• Checksum e codificação Base58
• Criação e validação de endereços
• Assinatura digital de transações (ECDSA)
• Verificação de assinaturas
• Integração com modelo UTXO
• Prevenção de double spending
• Persistência e gerenciamento de carteiras

Módulo IV — Rede P2P e Comunicação entre Nós

Construção da camada distribuída da blockchain, permitindo comunicação entre múltiplos nós.

• Arquitetura peer-to-peer (P2P)
• Comunicação entre nós (TCP/HTTP)
• Descoberta de peers
• Propagação de transações
• Propagação de blocos
• Sincronização da blockchain
• Download e validação de blocos remotos

Módulo V — Concorrência em Go aplicada à Blockchain

Aplicação de concorrência para simular comportamento real de redes distribuídas.

• Goroutines e execução concorrente
• Comunicação com channels
• Controle de concorrência (sync.Mutex, WaitGroup)
• Prevenção de race conditions
• Mineração concorrente
• Processamento paralelo de transações

Módulo VI — Validação, Consenso e Forks

Implementação das regras que garantem consistência e segurança da rede blockchain.

• Regras de validação de blocos e transações
• Validação completa da cadeia
• Longest chain rule
• Forks (temporários e permanentes)
• Resolução de conflitos
• Consistência eventual

Módulo VII — Execução Distribuída e Simulação de Rede

Execução prática de múltiplos nós simulando um ambiente real de blockchain.

• Execução de múltiplos nós locais
• Sincronização entre nós
• Testes de propagação de blocos
• Testes de propagação de transações
• Simulação de falhas de rede
• Simulação de forks

Módulo VIII — Testes, Falhas e Simulação de Rede

Validação prática do comportamento da blockchain sob diferentes cenários.

• Simulação de falhas de rede
• Latência e atrasos na propagação
• Criação de forks intencionais
• Análise de consistência
• Testes de robustez do sistema

Módulo Bônus — GoChain: Da Construção à Demonstração

Entenda por que construir sua própria blockchain, conheça casos de uso reais, faça um tour pelo código final do projeto GoChain e acompanhe uma demonstração End-to-End da rede.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors