Estudo para iniciante

Eu sou estudante de Análise e desenvolvimento de sistemas e estou pesquisando sobre o blockchain e gostaria de dicas sobre o que estudar para trabalhar nesta área, quais linguagens de programação aprender e quais cursos fazer. Se alguém souber de algum curso acessível financeiramente tbm me ajudaria muito.
Agradeço a quem puder ajudar.

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.

1 Curtida

Olá Anna, seja bem vinda ao fórum.
Seria muita pretensão minha oferecer mais conteúdo do que já foi feito pelo Tiago que é especialista na área, coisa que eu não sou. O Tiago não mencionou mas me parece básico dominar o inglês, não sei se é redundante falar isso, se for me perdoe. Com relação a mercado de trabalho, após dominar os fundamentos que o Tiago indicou me parece que será uma boa ideia tomar uma decisão sobre o tipo de carreira que se quer seguir. Trabalhar em grandes empresas como IBM ou SAP que já abraçaram Blockchain como parte dos serviços oferecidos ou trabalhar como prestador de serviços como PJ. No primeiro caso me parece que será necessário se especializar numa determinada linguagem e no segundo caso será necessário ser versátil em termos de domínio de linguagens de programação.
Para começar, se for o seu caso, além dos videos do Tiago que são muito bons existe uma série de videos da Princeton University (em inglês): https://www.youtube.com/channel/UCNcSSleedtfyDuhBvOQzFzQ

É possível baixar em PDF um material do ITS-Rio sobre básico de programação:

Outro mais teórico e conceitual sobre Blockchain sem abordar programação em PDF é um capítulo específico de um livro:
http://www.sbrc2018.ufscar.br/wp-content/uploads/2018/04/Capitulo5.pdf

Em São Paulo a Blockchain Academy oferece cursos bem básicos mas não sei qual é o custo

Só para ter uma ideia de mercado talvez seja interessante olhar o site da IBM e SAP sendo que é possível encontrar projetos no GitHub para dar uma olhada.


No mundo dos negócios uma solução que tem crescido bastante é o da Hyperledger que é baseado em Linux:

1 Curtida

Nem de longe sou especialista. Só curioso mesmo. :slight_smile:
Sou generalista em open source, mas gosto bastante de crypto.

Concordo que inglês é o primeiro passo. Foi o que mais me ajudou na carreira e a maioria do material realmente está em inglês.

Em inglês tem um canal excelente com várias palestras dos desenvolvedores do Bitcoin core:
https://www.youtube.com/channel/UCREs0ConyCR2sEFf-DrLRMw/videos

Em português eu recomendo o canal do Edimar:

Ele explica de forma técnica alguns conceitos de criptografia e protocolos. No meu canal eu abordo de forma mais simplificada (pois eu também não sei como funcionam os algoritmos internamente, só o básico mesmo).

1 Curtida

Obrigada Cecilio, eu já tenho inglês avançado, vou acessar os links e videos que você recomendou, serão de grande ajuda. Meu foco é trabalhar pra alguma empresa como a IBM.

1 Curtida

Obrigada Tiago, me ajudaram bastante suas dicas, vou acessar seu canal e procurar estudar mais phyton, java e c+, e pesquisar nos tópicos que você indicou.

2 Curtidas

Ok. Sucesso na carreira, eu acho que você escolheu um segmento que vai evoluir muito nos próximos anos. Caso ainda não conheça, dia 11/02 é o dia internacional das mulheres na ciência e por coincidência vc esteve por aqui justamente nesta semana. Parabéns a todas as mulheres envolvidas com a ciência.
https://www.womeninscienceday.org