SlideShare uma empresa Scribd logo
Blockchain e PHP
Criando uma criptomoeda
@gabrielrcouto
Bitcoin
Bitcoin
Criptomoedas
2017 >< 2016
Prêmio de $1000 na AWS
Como vou gastar?
$10 na AWS = $1 em BTC
Vendi antes de 2017
Acho que não sou a melhor pessoa para responder :-P
2017
Todo mundo falou disso
Mas afinal, como é feita uma
criptomoeda?
Bob lendo código-fonte
Implementar
ajuda a
Compreender
PHP Made Cryptocurrency
https://github.com/gabrielrcouto/phplata
Problema
Bob, me empresta R$9,99
para eu comer uma
coxinha e tomar um guaraná?
Te pago depois via depósito.
Claro!
Quando depositar na minha conta, me
manda uma mensagem!
showMe($theCode);
Depositei
R$9,99
O Pokemao
disse:
"Depositei
R$9,99”
O Pokemao
disse:
"Depositei
R$9,99”
O Pokemao
disse:
"Depositei
R$9,99”O Pokemao
disse:
"Depositei
R$9,99”
O Pokemao
disse:
"Depositei
R$9,99”
O Pokemao
disse:
"Depositei
R$9,99”
O Pokemao
disse:
"Depositei
R$9,99”
O Pokemao
disse:
"Depositei
R$9,99”
O Pokemao
disse:
"Depositei
R$9,99”
Será que foi o Pokemao
mesmo?
Chaves Criptográficas
Provando “o dono de algo”
showMe($theCode);
O 492c158d
disse:
"Depositei
R$9,99”O 492c158d
disse:
"Depositei
R$9,99”
O 492c158d
disse:
"Depositei
R$9,99”
O 492c158d
disse:
"Depositei
R$9,99”
O 492c158d
disse:
"Depositei
R$9,99”
O 492c158d
disse:
"Depositei
R$9,99”
O 492c158d
disse:
"Depositei
R$9,99”
Hmm, foi assinada pelo
492c158d, que é o
Pokemao!
O 492c158d
disse:
"Depositei
R$9,99”
Mais R$9,99?
showMe($theCode);
Transaction
8516bd228fe09a2f
Previous Tx
ba1b15e3ee9faaff
From
492c158d8c9707bb
To
afbcd123123123122
Value
5.00
Transaction
ba1b15e3ee9faaff
Previous Tx
16dadf2cbc7e6800
From
492c158d8c9707bb
To
c69a789a9481fdba
Value
10.00
Transaction
41e4fc9060d0ab91
Previous Tx
8516bd228fe09a2f
From
492c158d8c9707bb
To
c69a789a9481fdba
Value
9.99
O Pokemao
tem todo
esse dinheiro?
O 492c158d
disse:
"Depositei
R$1.000.000”
Transaction
Vin
Txin
Previous Tx
16dadf2cbc7e6800
Index
0
Txin
Previous Tx
ba1b15e3ee9faaff
Index
5
Vout
Txout
Value
9.99
To
afbcd123123123122
Txout
Value
10.01
To
492c158d8c9707bb
Transaction 41e4fc…
Vin
Txin
Previous Tx
16dadf2cbc7e6800
Index
0
Txin
Previous Tx
ba1b15e3ee9faaff
Index
5
Vout
Txout #0
Transaction 16dadf…
Vout
Txout #0
Transaction ba1b15…
Txout #5
…
Transaction
Vin - R$16.00
Txin - R$8.00
…
…
…
Txin - R$8.00
…
…
…
Vout - R$16.00
Txout - To Bob
Value
9.99
To
afbcd123123123122
Txout - Change
Value
6.01
To
492c158d8c9707bb
Script
Txout
Script
A pessoa que pode usar esse dinheiro é quem
tem a chave pública = “afbcd123123123122"
Txin
Script
Eu tenho a chave pública “afbcd123123123122”,
veja essa assinatura “3128hfdkvnalk931283901".
Bitcoin Script
• Forth-like
• Not Turing-complete (with no loops)
• Stack-based
pay-to-pubkey-hash
scriptPubKey: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
scriptSig: <sig> <pubKey>
anyone-can-spend
scriptPubKey: (empty)
scriptSig: OP_TRUE
Contratos
• Depósito calção
• Mercado Livre
• Crowdfunding
• Testamento
• Pay-for-proof
• Multi-party decentralised lotteries
showMe($theCode);
Esses R$10
para Bob
Os mesmos
R$10
para João
Ei, você não pode gastar
duas vezes!
Transaction 41e4fc…
Vin
Txin
Vout
Txout #0
Transaction 16dadf…
Vin
Txin
Transaction 12ffab…
Irreversible Transactions
Evitando double-spending e garantindo a integridade do histórico
Block
Transactions
Transaction 12afcd…
Transaction ef5432…
Transaction cde109…
Transaction 0b0be4…
Transaction f0da00…
Block b70c312…
Previous Block Hash
Nonce / Bits / Time / Version…
Transactions
…
…
…
…
…
…
…
…
Block b70c312…
Previous Block Hash
Nonce / Bits / Time / Version…
Transactions
…
…
…
…
…
…
…
…
Block b70c312…
Previous Block Hash
Nonce / Bits / Time / Version…
Transactions
…
…
…
…
…
…
…
…
Blockchain
Blockchain
Um bloco é “trancado” através de
um desafio computacional
(Proof-of-work)
hash($dadosDoBloco)
<
$desafioAlvo
22c2044d57a99cae6429de9002441f1690f4487de082f5679d08f3a
<
404CB000000000000000000000000000000000000000000000000
Block Time
• Cada criptomoeda altera a dificuldade para que um bloco seja
encontrado em X tempo
• Bitcoin: 10 minutos
• Litecoin: 2,5 minutos
• Ethereum: 15 segundos
“A block header with no transactions would be about 80 bytes. If we suppose
blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365 = 4.2MB per year.
With computer systems typically selling with 2GB of RAM as of 2008, and Moore’s
Law predicting current growth of 1.2GB per year, storage should not be a problem
even if the block headers must be kept in memory.”
Block
Previous Block Hash = 1fadbc…
Nonce = 1
Transactions
…
…
…
…
…
…
…
…
}hash($dadosDoBloco)
7845674d57a99cae642
9de9002441f1690f4487
de082f5679d08f3a
Block
Previous Block Hash = 1fadbc…
Nonce = 2
Transactions
…
…
…
…
…
…
…
…
}hash($dadosDoBloco)
99aabb74d57a99cae64
29de9002441f1690f448
7de082f5679d08f3a
Block
Previous Block Hash = 1fadbc…
Nonce = 6467532545466
Transactions
…
…
…
…
…
…
…
…
}hash($dadosDoBloco)
22c2044d57a99cae642
9de9002441f1690f4487
de082f5679d08f3a
Achei um
bloco!
showMe($theCode);
Miner
• Quem “tranca” blocos
• Antes de trancar, verifica se as transações
que serão colocadas são válidas. Precisa
percorrer a block chain
• Faz um trabalho computacional pesado
• Precisa estar sincronizado com a rede para
minerar
• Recebe retribuições pelo seu trabalho
Coinbase
• É uma transação especial, que o minerador coloca como sendo a primeira
do bloco. Nela, o minerador transfere para si mesmo uma quantidade de
moedas.
• É a forma como as moedas são “criadas”.
• No começo do Bitcoin, cada bloco gerava 50 moedas, e a cada 210.000
blocos, o valor de moedas é dividido pela metade. Hoje está em 12,5
moedas por bloco.
Miner Fee
• Quando uma transação é criada, Vout pode ser menor que Vin, o que
dará direito do minerador de pegar a diferença.
• Mineradores dão prioridade para transações com fees altos.
• Na rede Bitcoin, para ter sua transação em um bloco nos próximos 30
minutos, você paga $0.85, e na próxima hora $0.28.
• Essa será a única forma de incentivar os mineradores quando a geração
de moedas acabar.
Achei um
bloco!
Achei um
bloco!
Eita, quem está certo?
Chain Height
Você sempre acredita
na mais alta
Consensus
• São regras, que todos os nós da rede devem concordar
• A geração de X moedas por bloco, por exemplo, é uma regra
• Outra regra é de não existirem transações com valores negativos
• E outra regra, é de não existirem transações com saída > entrada
O básico de uma
criptomoeda é até aqui
Mas existe muito mais
• PoW x PoS
• Protocolo P2P
• Protocolo RPC
• Blockchain x Tangle
• Smart Contracts (Ethereum)
• Mineração CPU x GPU x ASIC
• Lightning network
• Trading
• Cardano x IOTA x Decred
• Cross chain (Waves)
• Quorum x Corda
• DAPPS
Conclusões
Pare de comer coxinha!
Blockchain é uma forma
atômica de guardar dados
–w3techs.com
“PHP is used by 83.2% of all the websites whose server-side
programming language we know.”
Podemos ser a maior rede distribuída
PHP Made Cryptocurrency
https://github.com/gabrielrcouto/phplata
Amanhã
11:30 - 12:30
Está com dúvidas sobre PHP?
Quer fazer gambiarras junto
comigo?
Essa é a hora!
Muito obrigado
@gabrielrcouto
github.com/gabrielrcouto
Venha trabalhar comigo na Memed
e ajudar a mudar a saúde do Brasil!
gabriel.couto@memed.com.br

Mais conteúdo relacionado

Mais procurados

Seminário sobre Criptomoedas - Dashcoin
Seminário sobre Criptomoedas - DashcoinSeminário sobre Criptomoedas - Dashcoin
Seminário sobre Criptomoedas - Dashcoin
LuizHenriqueMok
 
Blockchain 2.0 - O Bitcoin além do dinheiro digital
Blockchain 2.0 - O Bitcoin além do dinheiro digitalBlockchain 2.0 - O Bitcoin além do dinheiro digital
Blockchain 2.0 - O Bitcoin além do dinheiro digital
Edilson Osorio Junior
 
Workshop de desenvolvimento para blockchain Ethereum
Workshop de desenvolvimento para blockchain EthereumWorkshop de desenvolvimento para blockchain Ethereum
Workshop de desenvolvimento para blockchain Ethereum
OriginalMy.com
 
Bitcoin: O Futuro do Dinheiro
Bitcoin: O Futuro do DinheiroBitcoin: O Futuro do Dinheiro
Bitcoin: O Futuro do Dinheiro
Luciano Rocha
 
Ethereum e a Tecnologia Blockchain
Ethereum e a Tecnologia BlockchainEthereum e a Tecnologia Blockchain
Ethereum e a Tecnologia Blockchain
Goldhive
 
Oração do bitcoin
Oração do bitcoinOração do bitcoin
Oração do bitcoin
Adriano Faria
 
CoinSpace Apresentação Português
CoinSpace Apresentação PortuguêsCoinSpace Apresentação Português
CoinSpace Apresentação Português
Bruno Dias
 
Apresentação Sobre Bitcoin na ACIJ
Apresentação Sobre Bitcoin na ACIJApresentação Sobre Bitcoin na ACIJ
Apresentação Sobre Bitcoin na ACIJ
Jaison Carvalho
 

Mais procurados (8)

Seminário sobre Criptomoedas - Dashcoin
Seminário sobre Criptomoedas - DashcoinSeminário sobre Criptomoedas - Dashcoin
Seminário sobre Criptomoedas - Dashcoin
 
Blockchain 2.0 - O Bitcoin além do dinheiro digital
Blockchain 2.0 - O Bitcoin além do dinheiro digitalBlockchain 2.0 - O Bitcoin além do dinheiro digital
Blockchain 2.0 - O Bitcoin além do dinheiro digital
 
Workshop de desenvolvimento para blockchain Ethereum
Workshop de desenvolvimento para blockchain EthereumWorkshop de desenvolvimento para blockchain Ethereum
Workshop de desenvolvimento para blockchain Ethereum
 
Bitcoin: O Futuro do Dinheiro
Bitcoin: O Futuro do DinheiroBitcoin: O Futuro do Dinheiro
Bitcoin: O Futuro do Dinheiro
 
Ethereum e a Tecnologia Blockchain
Ethereum e a Tecnologia BlockchainEthereum e a Tecnologia Blockchain
Ethereum e a Tecnologia Blockchain
 
Oração do bitcoin
Oração do bitcoinOração do bitcoin
Oração do bitcoin
 
CoinSpace Apresentação Português
CoinSpace Apresentação PortuguêsCoinSpace Apresentação Português
CoinSpace Apresentação Português
 
Apresentação Sobre Bitcoin na ACIJ
Apresentação Sobre Bitcoin na ACIJApresentação Sobre Bitcoin na ACIJ
Apresentação Sobre Bitcoin na ACIJ
 

Semelhante a PHP Experience 2018 - Blockchain e PHP

Aula de Bitcoin e Blockchain Pereistroka 2017
Aula de Bitcoin e Blockchain Pereistroka 2017Aula de Bitcoin e Blockchain Pereistroka 2017
Aula de Bitcoin e Blockchain Pereistroka 2017
João Paulo Oliveira
 
Apresentação bitcoin Paymony 2.0- Portal SOS
Apresentação bitcoin Paymony 2.0- Portal SOSApresentação bitcoin Paymony 2.0- Portal SOS
Apresentação bitcoin Paymony 2.0- Portal SOS
Portal SOS Marketing Confiável
 
Blockchain, como esse negócio funciona?
Blockchain, como esse negócio funciona?Blockchain, como esse negócio funciona?
Blockchain, como esse negócio funciona?
Rafael Capaci Pereira
 
Blockchains - Muito Além do Bitcoin
Blockchains - Muito Além do BitcoinBlockchains - Muito Além do Bitcoin
Blockchains - Muito Além do Bitcoin
joselopes1984
 
O que e coinspace?
O que e coinspace?O que e coinspace?
O que e coinspace?
Ana Carter
 
Crypto currency scoin
Crypto currency scoinCrypto currency scoin
Crypto currency scoin
Ana Carter
 
Seminário sobre Bitcoin- Professor Newton Licciardi
Seminário sobre Bitcoin- Professor Newton LicciardiSeminário sobre Bitcoin- Professor Newton Licciardi
Seminário sobre Bitcoin- Professor Newton Licciardi
Newton Licciardi
 
Moedas virtuais Matheus Pavanetti
Moedas virtuais   Matheus PavanettiMoedas virtuais   Matheus Pavanetti
Moedas virtuais Matheus Pavanetti
Matheus Pavanetti
 
Moedas Digitais - O futuro da economia mundial
Moedas Digitais - O futuro da economia mundialMoedas Digitais - O futuro da economia mundial
Moedas Digitais - O futuro da economia mundial
Vagner Oliveira
 
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações TécnicasBitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
Serge Rehem
 
Blockchain - Além do mercado financeiro
Blockchain - Além do mercado financeiroBlockchain - Além do mercado financeiro
Blockchain - Além do mercado financeiro
Anderson Carubelli
 
Zamus - Music Trends Brasil - Blockchain no mercado da música
Zamus - Music Trends Brasil - Blockchain no mercado da músicaZamus - Music Trends Brasil - Blockchain no mercado da música
Zamus - Music Trends Brasil - Blockchain no mercado da música
Guilherme Sampaio
 
Blockchain e Aplicações Descentralizadas - Fev/2017
Blockchain e Aplicações Descentralizadas - Fev/2017Blockchain e Aplicações Descentralizadas - Fev/2017
Blockchain e Aplicações Descentralizadas - Fev/2017
Edilson Osorio Junior
 
Mineracao de bitcoins
Mineracao de bitcoinsMineracao de bitcoins
Mineracao de bitcoins
Adilson Ivan
 
Seminário sobre bitcoin por prof newton licciardi
Seminário sobre bitcoin   por prof newton licciardiSeminário sobre bitcoin   por prof newton licciardi
Seminário sobre bitcoin por prof newton licciardi
Newton Licciardi
 
Blockchain e bitcoin
Blockchain e bitcoinBlockchain e bitcoin
Blockchain e bitcoin
Fabio Seixas
 
Bitcoin
BitcoinBitcoin
Bitcoin
Paulo Geyer
 
CURSO SOBRE BLOCKCHAIN, BITCOIN, ETHEREUM E OUTRAS CRIPTOMOEDAS.
CURSO SOBRE BLOCKCHAIN, BITCOIN, ETHEREUM E OUTRAS CRIPTOMOEDAS.CURSO SOBRE BLOCKCHAIN, BITCOIN, ETHEREUM E OUTRAS CRIPTOMOEDAS.
CURSO SOBRE BLOCKCHAIN, BITCOIN, ETHEREUM E OUTRAS CRIPTOMOEDAS.
Ricardo Rozgrin
 
Tecnologias de blockchain
Tecnologias de blockchainTecnologias de blockchain
Tecnologias de blockchain
IRIB
 
A moeda digtal bitcoin
A moeda digtal bitcoinA moeda digtal bitcoin
A moeda digtal bitcoin
Dw Dicas
 

Semelhante a PHP Experience 2018 - Blockchain e PHP (20)

Aula de Bitcoin e Blockchain Pereistroka 2017
Aula de Bitcoin e Blockchain Pereistroka 2017Aula de Bitcoin e Blockchain Pereistroka 2017
Aula de Bitcoin e Blockchain Pereistroka 2017
 
Apresentação bitcoin Paymony 2.0- Portal SOS
Apresentação bitcoin Paymony 2.0- Portal SOSApresentação bitcoin Paymony 2.0- Portal SOS
Apresentação bitcoin Paymony 2.0- Portal SOS
 
Blockchain, como esse negócio funciona?
Blockchain, como esse negócio funciona?Blockchain, como esse negócio funciona?
Blockchain, como esse negócio funciona?
 
Blockchains - Muito Além do Bitcoin
Blockchains - Muito Além do BitcoinBlockchains - Muito Além do Bitcoin
Blockchains - Muito Além do Bitcoin
 
O que e coinspace?
O que e coinspace?O que e coinspace?
O que e coinspace?
 
Crypto currency scoin
Crypto currency scoinCrypto currency scoin
Crypto currency scoin
 
Seminário sobre Bitcoin- Professor Newton Licciardi
Seminário sobre Bitcoin- Professor Newton LicciardiSeminário sobre Bitcoin- Professor Newton Licciardi
Seminário sobre Bitcoin- Professor Newton Licciardi
 
Moedas virtuais Matheus Pavanetti
Moedas virtuais   Matheus PavanettiMoedas virtuais   Matheus Pavanetti
Moedas virtuais Matheus Pavanetti
 
Moedas Digitais - O futuro da economia mundial
Moedas Digitais - O futuro da economia mundialMoedas Digitais - O futuro da economia mundial
Moedas Digitais - O futuro da economia mundial
 
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações TécnicasBitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
Bitcoin Direto ao Ponto, Na Prática e Sem Complicações Técnicas
 
Blockchain - Além do mercado financeiro
Blockchain - Além do mercado financeiroBlockchain - Além do mercado financeiro
Blockchain - Além do mercado financeiro
 
Zamus - Music Trends Brasil - Blockchain no mercado da música
Zamus - Music Trends Brasil - Blockchain no mercado da músicaZamus - Music Trends Brasil - Blockchain no mercado da música
Zamus - Music Trends Brasil - Blockchain no mercado da música
 
Blockchain e Aplicações Descentralizadas - Fev/2017
Blockchain e Aplicações Descentralizadas - Fev/2017Blockchain e Aplicações Descentralizadas - Fev/2017
Blockchain e Aplicações Descentralizadas - Fev/2017
 
Mineracao de bitcoins
Mineracao de bitcoinsMineracao de bitcoins
Mineracao de bitcoins
 
Seminário sobre bitcoin por prof newton licciardi
Seminário sobre bitcoin   por prof newton licciardiSeminário sobre bitcoin   por prof newton licciardi
Seminário sobre bitcoin por prof newton licciardi
 
Blockchain e bitcoin
Blockchain e bitcoinBlockchain e bitcoin
Blockchain e bitcoin
 
Bitcoin
BitcoinBitcoin
Bitcoin
 
CURSO SOBRE BLOCKCHAIN, BITCOIN, ETHEREUM E OUTRAS CRIPTOMOEDAS.
CURSO SOBRE BLOCKCHAIN, BITCOIN, ETHEREUM E OUTRAS CRIPTOMOEDAS.CURSO SOBRE BLOCKCHAIN, BITCOIN, ETHEREUM E OUTRAS CRIPTOMOEDAS.
CURSO SOBRE BLOCKCHAIN, BITCOIN, ETHEREUM E OUTRAS CRIPTOMOEDAS.
 
Tecnologias de blockchain
Tecnologias de blockchainTecnologias de blockchain
Tecnologias de blockchain
 
A moeda digtal bitcoin
A moeda digtal bitcoinA moeda digtal bitcoin
A moeda digtal bitcoin
 

Mais de Gabriel Rodrigues Couto

Virei CTO, e agora?
Virei CTO, e agora?Virei CTO, e agora?
Virei CTO, e agora?
Gabriel Rodrigues Couto
 
Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019
Gabriel Rodrigues Couto
 
Inteligência artificial e redes neurais em PHP
Inteligência artificial e redes neurais em PHPInteligência artificial e redes neurais em PHP
Inteligência artificial e redes neurais em PHP
Gabriel Rodrigues Couto
 
Como programar melhor jogando game boy
Como programar melhor jogando game boyComo programar melhor jogando game boy
Como programar melhor jogando game boy
Gabriel Rodrigues Couto
 
Do gameboy a zend vm e avante
Do gameboy a zend vm e avanteDo gameboy a zend vm e avante
Do gameboy a zend vm e avante
Gabriel Rodrigues Couto
 
around.me
around.mearound.me

Mais de Gabriel Rodrigues Couto (6)

Virei CTO, e agora?
Virei CTO, e agora?Virei CTO, e agora?
Virei CTO, e agora?
 
Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019Micro Front-end + CQRS/ES - JSSP jul/2019
Micro Front-end + CQRS/ES - JSSP jul/2019
 
Inteligência artificial e redes neurais em PHP
Inteligência artificial e redes neurais em PHPInteligência artificial e redes neurais em PHP
Inteligência artificial e redes neurais em PHP
 
Como programar melhor jogando game boy
Como programar melhor jogando game boyComo programar melhor jogando game boy
Como programar melhor jogando game boy
 
Do gameboy a zend vm e avante
Do gameboy a zend vm e avanteDo gameboy a zend vm e avante
Do gameboy a zend vm e avante
 
around.me
around.mearound.me
around.me
 

PHP Experience 2018 - Blockchain e PHP