SlideShare uma empresa Scribd logo
Blockchain para
Desenvolvedores
1991
Criar timestamps de arquivos
digitais de forma a não serem
adulterados
2009
“Satoshi Nakamoto”
Bitcoin
Ledger distribuido
Dados
Dados
Hash
Dados
Hash
Hash do bloco anterior
Dados
Valor:
De: Para:
Hash
9EDDF1C1CCCDA8A158301FC992FD47283C8C783
835ACBA8294B2733F351543FC
Hash
91A3F0B143C4EF55082B211680AF25D03E7F5D03
05F2EBB914227713BAF74E0A
Hash bloco anterior
Isso que cria a corrente de blocos
Hash: 17SR
Hash Ant. 0000
Hash: XA9U
Hash Ant. 17SR
Hash: 2EF4
Hash Ant. XA9U
Hash: 17SR
Hash Ant. 0000
Hash: XA9U
Hash Ant. 17SR
Hash: 2EF4
Hash Ant. XA9U
Hash: 17SR
Hash Ant. 0000
Hash: XA9U
Hash Ant. 17SR
Hash: 2EF4
Hash Ant. XA9U
Hash: 17SR
Hash Ant. 0000
Hash: XA9U
Hash Ant. 17SR
Hash: 2EF4
Hash Ant. XA9U
Bloco
Genesis
Hash: 17SR
Hash Ant. 0000
Hash: XA9U
Hash Ant. 17SR
Hash: 2EF4
Hash Ant. XA9U
Y8H6
Hash: 17SR
Hash Ant. 0000
Hash: XA9U
Hash Ant. 17SR
Hash: 2EF4
Hash Ant. XA9U
Y8H6
Hash: 17SR
Hash Ant. 0000
Hash: XA9U
Hash Ant. 17SR
Hash: 2EF4
Hash Ant. XA9U
Y8H6 Ué?
Proof of work
10 minutos 10 minutos
10 minutos 10 minutos
P2P
Novo bloco
Consenso
Criptografia
Maria João
Maria João
Maria João
Maria João
Maria João
Maria João
Maria João
Como
compartilhar
a chave de
forma segura?
Maria João
Como
compartilhar
a chave de
forma segura?
Maria JoãoObrigado
pela chave
Maria João
Maria João
Esse é o problema da
criptografia simétrica
Endereço
Publico!
Dono da caixa
Algoritmo
RSA
Criptografia
assimétrica
HTTS
(SSL)
HTTS
(SSL)
Bitcoin
PGP
ou GPG
1HtiWXPcmwAvPvMW
mwvrfS7d5UT1KwuxHW
Carteira
Sua chave
publica
1HtiWXPcmwAvPvMW
mwvrfS7d5UT1KwuxHW
1HtiWXPcmwAvPvMWmwvrfS7d5UT1KwuxHW
10 minutos
Como implementar?
Vamos testar?
Proof of work
Minerar
Transações
Assinando transações
https://www.youtube.com/channel/UCnxrdFPXJMeHru_b4Q_vTPQ
Simply Explained - Savjee
https://anders.com/blockchain/
Demo blockchain
https://github.com/lucasteles/TelesCoin
Exemplo código em C#
https://github.com/Savjee/SavjeeCoin
Exemplo código em JS
Duvidas?
@lucasteles42 @lucasteles
Obrigado

Mais conteúdo relacionado

Mais de Lucas Teles

Simplificando componentes com react hooks
Simplificando componentes com react hooksSimplificando componentes com react hooks
Simplificando componentes com react hooks
Lucas Teles
 
Um melhor frontend com elm
Um melhor frontend com elmUm melhor frontend com elm
Um melhor frontend com elm
Lucas Teles
 
C# 8 e além
C# 8 e alémC# 8 e além
C# 8 e além
Lucas Teles
 
F# para devs c# tdc
F# para devs c#   tdcF# para devs c#   tdc
F# para devs c# tdc
Lucas Teles
 
Introducao a azure functions
Introducao a azure functionsIntroducao a azure functions
Introducao a azure functions
Lucas Teles
 
F# para devs c#
F# para devs c#F# para devs c#
F# para devs c#
Lucas Teles
 
Generalização prematura e complexidade acidental, a raiz do mal de todo software
Generalização prematura e complexidade acidental, a raiz do mal de todo softwareGeneralização prematura e complexidade acidental, a raiz do mal de todo software
Generalização prematura e complexidade acidental, a raiz do mal de todo software
Lucas Teles
 
Elmish com xamarin.forms
Elmish com xamarin.formsElmish com xamarin.forms
Elmish com xamarin.forms
Lucas Teles
 
Net - Threads
Net - ThreadsNet - Threads
Net - Threads
Lucas Teles
 

Mais de Lucas Teles (9)

Simplificando componentes com react hooks
Simplificando componentes com react hooksSimplificando componentes com react hooks
Simplificando componentes com react hooks
 
Um melhor frontend com elm
Um melhor frontend com elmUm melhor frontend com elm
Um melhor frontend com elm
 
C# 8 e além
C# 8 e alémC# 8 e além
C# 8 e além
 
F# para devs c# tdc
F# para devs c#   tdcF# para devs c#   tdc
F# para devs c# tdc
 
Introducao a azure functions
Introducao a azure functionsIntroducao a azure functions
Introducao a azure functions
 
F# para devs c#
F# para devs c#F# para devs c#
F# para devs c#
 
Generalização prematura e complexidade acidental, a raiz do mal de todo software
Generalização prematura e complexidade acidental, a raiz do mal de todo softwareGeneralização prematura e complexidade acidental, a raiz do mal de todo software
Generalização prematura e complexidade acidental, a raiz do mal de todo software
 
Elmish com xamarin.forms
Elmish com xamarin.formsElmish com xamarin.forms
Elmish com xamarin.forms
 
Net - Threads
Net - ThreadsNet - Threads
Net - Threads
 

Block chain para desenvolvedores