Estudo para iniciante

Bem, há diversas áreas que podem ser exploradas, e para cada uma exige-se uma linguagem de programação diferente.

O importante para entender blockchain é entender o básico de computação (bits, bytes, estrutura de dados, redes de computadores) e posteriormente conceitos de criptografia (hashes criptográficos, assinaturas digitais, encoding, nonce, merkle tree, criptografia simétrica x criptografia assimétrica, chaves). Não é totalmente necessário entender o funcionamento interno dos algoritmos de criptografia em um primeiro momento, mas ao menos a compreensão de como funcionam, para que eles servem e quando utilizá-los.

Sobre as linguagens de programação, não há uma resposta exata:

  1. Desenvolver o blockchain em si:
  • Bitcoin

    • Bitcoin core é escrito em C e C++
    • btcd é escrito em golang
  • Ethereum

    • geth é escrito em golang
    • parity (node ethereum) é escrito em Rust
  1. Programação de smart contracts (programas autônomos que rodam dentro de um blockchain, ou utilizam blockchain como meio):

No meu canal tem uma série com vários vídeos sobre conceitos de criptografia e blockchain: https://www.youtube.com/watch?v=vXPlzLNIObs&list=PLmDINmHIqrRon7iFo3p0bdZDMYoZ3lKUV

Para resumir:

  1. estudar conceitos básicos de computação
  2. estudar redes (principalmente sistemas distribuídos)
  3. estudar criptografia
  4. estudar como funciona um blockchain internamente. (e algoritmos de consenso pow e pos)
  5. estudar smart contracts / e ou protocolos de segunda camada como lightning network.

Espero ter ajudado.

2 curtidas