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:
- 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
- Programação de smart contracts (programas autônomos que rodam dentro de um blockchain, ou utilizam blockchain como meio):
- Ethereum (https://github.com/ethereum/wiki/wiki/Programming-languages-intro)
- Solidity (de longe a mais usada e com sintaxe similar a javascript)
- Serpent (parecido com python)
- Bitcoin
- RSK (rsk.co)
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:
- estudar conceitos básicos de computação
- estudar redes (principalmente sistemas distribuídos)
- estudar criptografia
- estudar como funciona um blockchain internamente. (e algoritmos de consenso pow e pos)
- estudar smart contracts / e ou protocolos de segunda camada como lightning network.
Espero ter ajudado.
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:
Nem de longe sou especialista. Só curioso mesmo.
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).
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.
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.
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
Aproveitando o tópico, se eventualmente alguém estiver interessado em estudar no exterior. A Stanford University (EUA) tem uma ligação antiga com o mundo do Bitcoin & Blockchain. A história da Máfia do Bitcoin de Stanford (The Stanford Bitcoin Mafia) é apenas um pequeno adendo nesse percurso e mostra como eles estão levando o estudo do Blockchain a sério.
Fonte: https://www.forbes.com/sites/rahulsingireddy/2018/03/06/the-stanford-bitcoin-mafia/#2f376ee74c23
Voltando ao tema, até 14/outubro/2020 estão abertas inscrições para 90 bolsas para estudantes de qualquer país. Segue abaixo o link para quem eventualmente estiver interessado.
Site