Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Blockchain Crashcourse
Search
Cheesecake Labs
February 05, 2018
1
54
Blockchain Crashcourse
Cheesecake Labs
February 05, 2018
Tweet
Share
More Decks by Cheesecake Labs
See All by Cheesecake Labs
Cats' wellness & care
cheesecakelabs
0
38
How do we create the first impressions?
cheesecakelabs
0
42
Menstrual cup: suit and freedom
cheesecakelabs
0
43
Life is a cycle, better with a bicycle
cheesecakelabs
0
37
Interview Process: how to get the best of people
cheesecakelabs
1
64
My capsule wardrobe experience
cheesecakelabs
3
48
Stonewall Rebellion and its impact on LGBTQIA+ history
cheesecakelabs
1
27
Pregnancy, childbirth and breastfeeding: What do I have to do with it?
cheesecakelabs
0
38
MBTI - Psychological types described by Jung
cheesecakelabs
0
88
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1356
200k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
From Idea to $5000 a Month in 5 Months
shpigford
377
45k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Faster Mobile Websites
deanohume
299
30k
The Language of Interfaces
destraynor
151
23k
How to Ace a Technical Interview
jacobian
272
22k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Building Flexible Design Systems
yeseniaperezcruz
319
37k
Documentation Writing (for coders)
carmenintech
60
3.9k
Unsuck your backbone
ammeep
663
57k
The Invisible Customer
myddelton
114
12k
Transcript
Blockchain Crash Course Entendendo a Blockchain através do Bitcoin
Guilherme B. Devincenzi 1984 @ Florianópolis Engenharia Elétrica - UFSC
Software Developer @ Cheesecake Labs github.com/gdevincenzi
[email protected]
Apresentação
Bitcoin Sistema de dinheiro digital peer-to-peer
Bitcoin Timestamp server Publicando o hash de um bloco de
itens
Bitcoin
Bitcoin Como o Bitcoin é uma rede distribuída e p2p
Foi usado um Proof of Work para implementar o timestamp
Bitcoin
Blockchain Pegue uma lista encadeada
Blockchain Pegue uma lista encadeada Nó HEAD
Blockchain Pegue uma lista encadeada Nó HEAD Nó Nó Nó
Nó
Blockchain Pegue uma lista encadeada Nó HEAD Nó Nó Nó
Nó
Blockchain Troque seus Nós por Blocos Blocos são conjuntos de
informações Bloco HEAD Bloco Bloco Bloco Bloco
Blockchain O primeiro deles se chama Bloco Gênese Bloco GENESIS
BLOCK Bloco Bloco Bloco Bloco
Blockchain Cada bloco contém um Hash Pointer Bloco GENESIS BLOCK
Bloco Bloco Bloco Bloco
Blockchain Ou seja: cada bloco contém um hash do bloco
anterior Bloco GENESIS BLOCK Bloco Bloco Bloco Bloco H(0) H(1) H(2) H(3)
Blockchain Assim: Dado genérico 1 Dado genérico 2 Dado genérico
3 Dado genérico 4 Dado genérico 5 Dado genérico 6 Dado genérico 7 Dado genérico 8 . . . Dado genérico N 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f Hash do bloco anterior Fonte do próximo Hash
Blockchain Se alguém tenta manipular os dados Bloco GENESIS BLOCK
Bloco Bloco Bloco Bloco H(0) H(1) H(2) H(3)
Blockchain Este Hash já não bate Dado genérico 1 Dado
genérico 2 Dado genérico 3 Dado genérico 4 Dado genérico 5 Dado genérico 6 Dado genérico 7 Dado genérico 8 . . . Dado genérico N 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f Hash do bloco anterior
Blockchain Então o falsificador vai ter que mudar o hash
H(1) também Bloco GENESIS BLOCK Bloco Bloco Bloco Bloco H(0) H(1) H(2) H(3)
Blockchain Então o falsificador vai ter que mudar o hash
H(1) também Bloco GENESIS BLOCK Bloco Bloco Bloco Bloco H(0) H(1) H(2) H(3)
Blockchain O que vai mudar o Hash H(2) Bloco GENESIS
BLOCK Bloco Bloco Bloco Bloco H(0) H(1) H(2) H(3)
Blockchain Um falsificador potencial tem que alterar todos os blocos
A partir do bloco onde a alteração foi feita Bloco GENESIS BLOCK Bloco Bloco Bloco Bloco H(0) H(1) H(2) H(3)
Blockchain Esta estrutura garante uma robustez contra alteração Bloco GENESIS
BLOCK Bloco Bloco Bloco Bloco H(0) H(1) H(2) H(3)
Proof of Work
Proof of Work
Proof of Work
Proof of Work Targe t Saída da função de Hashing
HASH
Proof of Work Targe t Saída da função de Hashing
HASH
Proof of Work Targe t Saída da função de Hashing
HASH DIFICULDADE
Proof of Work Bloco GENESIS BLOCK Bloco Bloco Bloco Bloco
H(0) H(1) H(2) H(3)
Proof of Work
Proof of Work Também resolve outra questão: Consenso
Proof of Work Resolve mais algumas questões Qual é o
próximo bloco
Blockchain Outros mecanismos de incentivo no Bitcoin Outras formas de
consenso de Blockchain
Thank you!