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
55
Blockchain Crashcourse
Cheesecake Labs
February 05, 2018
Tweet
Share
More Decks by Cheesecake Labs
See All by Cheesecake Labs
Cats' wellness & care
cheesecakelabs
0
45
How do we create the first impressions?
cheesecakelabs
0
47
Menstrual cup: suit and freedom
cheesecakelabs
0
48
Life is a cycle, better with a bicycle
cheesecakelabs
0
44
Interview Process: how to get the best of people
cheesecakelabs
1
70
My capsule wardrobe experience
cheesecakelabs
3
49
Stonewall Rebellion and its impact on LGBTQIA+ history
cheesecakelabs
1
32
Pregnancy, childbirth and breastfeeding: What do I have to do with it?
cheesecakelabs
0
41
MBTI - Psychological types described by Jung
cheesecakelabs
0
110
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
A Modern Web Designer's Workflow
chriscoyier
693
190k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Music & Morning Musume
bryan
46
6.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
Typedesign – Prime Four
hannesfritz
40
2.4k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
How to Ace a Technical Interview
jacobian
276
23k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
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!