consenso aula consensussendin/cursos/tseg/2s2019/aula...1 veri ca se o bloco e "novo" 2...
TRANSCRIPT
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Topicos em Seguranca da Informacao
Aula Consensus
Ivan Sendin
FACOM - Universidade Federal de [email protected],[email protected]
22 de novembro de 2019
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
What I learned after working for 2 ICOs as aBlockchain Engineer
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Aprecie com moderacao...
Mark Yusko em Digital Asset Summit
”Venda acoes da Amazon e compre Bitcoin”
As criptomoedas farao o primeiro trilionario
https://decrypt.co/11469/morgan-creek-capital-ceo-sell-amazon-stocks-buy-bitcoin
Youtube?
Ano que vem tem halving...
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Gods Unchained
Magic: The Gathering’ Executive Leaves ForBlockchain-Based ’Gods Unchained’
Novo criptokittens
ERC-721
Immutable
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Ripple - XRP
Cripto para prestar atencao!
Ripple investe meio bilhao de dolares em estrategiaousada
Elliptic.co
”Comprar Ripple hoje e como comprar Bitcoin a$10”(Twitter...)
Transcoes entre financeiras
Mecanismo de consenso....
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Consenso
Como que um grupo de pessoas que nao confiamentre si chegam a um consenso
(Aceitam um estado)
Problema dos Generais Bizantinos
Varios generais cercam uma cidade
Precisam estabelecer o momento do ataque
Alguns podem ser traidores
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao Paxos made Simple - Leslie Lamport
Processos que podem propor valores
O algoritmo (distribuido) de consenso assume queum valor sera aceito por todos
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
No Bitcoin...
Mineradores mineram para produzir um novo bloco
(PoW ja esta estabelecido como funciona...certo?)
Ao gerar o novo bloco, o minerador faz a proposta(para os seus vizinhos...)
Ao receber um bloco, o minerador1 Verifica se o bloco e ”novo”2 verifica a validade3 espalha este novo bloco
Quem gera ou recebe um bloco n inicia a mineracaopelo bloco n + 1
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
E se 2 mineradores minerarem um bloco ao ”mesmotempo”??
Dois computadores geram, cada um, o seu bloco(BLnA e BLnB), e espalham pela rede
A rede vai ficar ”dividida”, parte trabalhando sobreBLnA e parte sobre BLnB),
Por exemplo, alguem gera BLn+1A e propaga pela
rede.
Quem estava minerando BLnB , inicia a mineracao emBLn+1
A (maior chain...)
E se ”empatar”de novo??
Sem garantias
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao Transacoes podem ser ”desfeitas”
Um minerador pode ignorar novos blocos?? Sim!Mas e dai?!?
Eclipse attacks
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Mineracao Selfish
O minerador egoista, o minerao bloco n mantem obloco ”em segredo”
O resto da rede vai ficar procurando o bloco n e ominerador vai procurar o n + 1
Uma aposta....
https://eprint.iacr.org/2019/486.pdf
https://www.cs.cornell.edu/∼ie53/publications/btcProcFC.pdf
(IC/TCC: detectar, simular,...)
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Uma CPU, um voto
CPU: 20 MHash/s
GPU: 5 a 2000 MHash
ASIC: 1 a 14 THash/s
(2017)
Global: ≈ 109 HT/s (2019)
Qual e a probabilidade de uma CPU minerar??
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Pool de mineracao
Chama um amigo com um equipamento igual aoseu....
Quando alguem conseguir, dividem o lucro
Probabilidade de encontrar um moeda (com omesmom esforco) e dobrada
Expectativa de ganho: a mesma
Por que isso seria bom??
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Pool de mineracao - PoW
Voce recebe um template
faz a busca no campo nonse
Como garantir que todos trabalharam?
Falhas, ma fe,....
Para uma dificuldade k a prova de trabalho se dapela inversao de k − q bits
Confianca(?)
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Mineracao Na Nuvem
Compra um hashpower
tempo Limitido/ilimitado
Taxa de manutencao
Hashflare, Genesis, ...
Lugares Frios, geotermica, hidroeletrica propria,...
Facilidade de hardware
Ganho na escala
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Problemas...
As mineradoras centralizam o Bitcoin
Uma CPU, um voto....
TTP??
Uma saıda: uso de memoria!!
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Proof of Stake
Prova de posse
Prova de trabalho: consumo inutil(?) de energia
(pegada de carbono...)
Varias implementacoes
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Proof of Stake
O ”minerador”investe um valor de criptomoedas emmineracao
Antigo(?): uma carteira sem depositos recentes
A probabilidade de minerar e proporcional ao valorinvestido (em relacao ao total)
Quem minera tem o valor retido por alguns blocos
Quem nao minera, recebe o valor de volta(tx?)
Faz sentido??
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao Proof of Burn Just Enough Security: ReducingProof-of-Work Ecological Footprint 0.24% doconsumo de energia !
Consenso do Ripple
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Implementacao 1
Implementar um simulador de ”comportamento”demineradores/consenso
Nao e para ficar consumindo CPU com hash
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Implementacao 1
Um minerador
Tem um determinado poder computacionalMantem uma blockchain ”local”Mantem uma lista de paresinformacoes para estatısticas
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
A mineracao
A mineracao (hash) nao ocorrera
A cada passo da simulacao, cada minerador deveraminerar com probabilidade proporcional ao seupoder computacional
Nem sempre a mineracao ocorre
A ”loteria”sera controlada pelo simulador
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Propagacao
A cada passo da simulacao....
o minerador pode enviar um bloco(blockchain)minerado
O minerador pode receber um bloco de outro (edecide aceitar ou nao de acordo com a altura, obloco esta sempre correto)
Propagar um bloco recebido
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Objetivos
Aprender o mecanismo de consenso do BTC
Levantar estatisticas...
Mineracao proporcional ao poder
Quanto ”tempo”demora para a existir o consenso(100%?,90%...)
Mineracoes ”perdidas”
Tamanho/ocorrencias de forks na blockchain
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
Implementacao 2 - Proof of Stake
implementar um contrato do proof of stake
As pessoas enviam dinheiro para um determinadobloco (int)
O contrato sorteia um verificador
Devolve o dinheiro dos perdedores (taxa)
Devolve o dinheiro do ganhador(taxa) apos k blocos
Permite a consulta: quem ficou com o bloco n?
IDE Remix
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
CS 251- Q1H
O Bitcoin usa o SHA2562 com PoW e a dificuldade atualD esta em torno de 270. Suponha que a Alice descubraum amaneira de resolver a PoW com tempo aproximadode D/220, mas somente se D < 280. Para D ≥ 280 omelhor volta a ser a forca bruta. Qual e a melhorestrategia para a Alice maximizar a mineracao??Valor 10
TSEG-Consensus
Ivan Sendin
news
Consenso
Avaliacao
CS 251- Q4 /Sabotagem
https://cs251crypto.stanford.edu/18au-cs251/hw/final2015.pdf
Q4 Letras A a F: 5 pontos cada