SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
Gustavo Almeida
Blockchain PHP
$whois
Blockchain e Bitcoin
A blockchain é resultado de uma engenhosa combinação de técnicas robustas
provenientes da computação distribuída confiável (tolerância a falhas bizantinas,
sistemas P2P), criptografia (chave assimétrica, funções hash, desafios criptográficos) e
teoria dos jogos (mecanismos de incentivos).
Arquitetura Distribuída
● Imutabilidade
● Consistência
● Não repúdio
● Segurança
● Interoperabilidade
Função Hash
Criptografia assimétrica - public private keys
1 2 3
Bitcoin address
Transação e Assinatura digital - Não Repúdio
A B
mensagem
de A para B
texto adicional
gerado pela
privateKey A
publicKey A
mensagem
de A para B
texto adicional
gerado pela
privateKey A
publicKey A
publicKey B
Transação e Cifra digital - Sigilo
A B
mensagem
de A para B
gsgs dfgs
dfgdsfg sdfg dsf
g dsfg ds fg gh
reth ty t u et ert
yryrteyr ey
gdfgdfg df
mensagem
de A para B
privateKey BpublicKey B
gsgs dfgs
dfgdsfg sdfg dsf
g dsfg ds fg gh
reth ty t u et ert
yryrteyr ey
gdfgdfg df
Segurança
Livro Caixa Distribuído
From To Qty
- Genesis 1000
Genesis A 100
Genesis B 200
A C 50
C Genesis 25
Livro Caixa Distribuído
From To Qty Sign
0000000000 ABD123F44... 1000 123abc4344...
ABD123F44... BB1223456... 100 993abc4341...
ABD123F44... 2233EE557... 200 663abc4333...
BB1223456... 99AAA324... 50 7777bc4341...
99AAA324... ABD123F44... 25 123abc4554...
É necessário um CONSENSO sobre o Livro Caixa Distribuído
A cada rodada vamos dar um jeito de trancar estes
blocos de transações.
Mineração
O consenso PoW, juntamente com o mecanismo de recompensa, são a chave para tolerar ataques de
agentes maliciosos na rede. Não é possível para uma minoria de mineradores manipular as transações,
pois a rede como um todo não aceitaria transferência de ativos (ou pagamentos) que não foram
autorizados pelo proprietário dos ativos (ou bitcoins). Além disso, os nós sempre estendem a corrente
mais longa. Para um ataque cibernético, seria necessário que uma maioria (51%) de nós mineradores
entrasse em conluio. Isso envolveria um custo computacional altíssimo [Nakamoto 2008].
Mineração
Mineração
A mineração consiste em aplicar a função hash H sobre o header do bloco
sucessivas vezes, pela variação do valor do nonce, até que o resultado do hash
seja menor do que a dificuldade alvo imposta (target)
Blockchain é uma “ledger of facts” replicada em computadores que participam de uma
rede peer-to-peer, onde:
— O ledger é um livro de registros digital, no qual uma vez validado um registro, este
nunca mais poderá ser apagado.
— Um fato (fact) pode significar várias coisas, desde uma transação monetária, a um
conteúdo de determinado documento, ou até mesmo um programa de computador.
— Os membros participantes da rede podem, ou não ser anônimos e são chamados
peers ou “nós”.
— Toda operação ou transação dentro da ledger é protegida por tecnologias
criptográficas de assinatura digital, inclusive para identificar os nós emissores e
receptores das transações.
while(conditions){
…
}
if(conditions){
…
} else {
…
}
Na evolução de projeto da blockchain, são destacadas três fases [Bashir 2017]:
● A Blockchain 1.0 envolve o lançamento do Bitcoin em 2008, com as primeiras
implementações das criptomoedas, e um ecossistema de aplicações e
pagamentos com o ativo digital.
● A Blockchain 2.0 inicia-se com a proposta inovadora dos contratos
inteligentes em 2013.
● A Blockchain 3.0 caracteriza a adoção da tecnologia blockchain no benefício
de aplicações em diversas áreas, para além da financeira: governo,
comércio, artes, saúde, cidades digitais, etc...
Públicas (public Blockchain): Bitcoin, Ethereum, Coinbase, entre outras;
Privadas (enterprise Blockchain): Ripple, Chain, Hyperledger, DAH (Digital Asset Holdings), etc.
O(lg(n))
Para termos a segurança da transação K, precisamos dos seguintes hashes: H(L), H(IJ), H(MNOP) e
H(ABCDEFGH). Assim temos a certeza referente a transação K. Tudo isso é feito muito rápido em lg(n)
sendo n o número de nós da árvore
Merkle Tree
Merkle Tree é uma estrutura de dados voltada para permitir a fácil verificação da presença de uma certa
informação em um certo local
Desafio 1 – Identificar qual problema ou processo pode realmente ser beneficiado
com o uso do Blockchain
● O problema que quero resolver envolve múltiplos agentes que devem
compartilhar decisões e/ou informações?
● Deve existir algum tipo de transação entre esses agentes que torna importante o
registro do histórico?
● Essa transação deve ser registrada segundo uma determinada regra de
consenso?
Desafio 2 – Pagar o preço de ser inovador
● Ausência de documentação.
● Potenciais falhas técnicas ainda não conhecidas.
● Ausência de suporte, de produtos vinculados e falta de profissionais.
Problema dos Generais Bizantinos
Os generais devem chegar a um consenso se atacam ou recuam.
● Se todos os generais bizantinos atacarem, a vitória é certa.
● Se nenhum general bizantino atacar, o império sobrevive.
● Se alguns atacarem, então o império ruirá.
www.LGA.com.br
github: lga37
slideshare: lga33
br.linkedin.com/in/lga37
Blockchain PHP: Arquitetura, Segurança e Aplicações da Tecnologia

Mais conteúdo relacionado

Semelhante a Blockchain PHP: Arquitetura, Segurança e Aplicações da Tecnologia

HACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
HACKBCBR - RIPPEX - Rafael Pereira e Jan SchnurleHACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
HACKBCBR - RIPPEX - Rafael Pereira e Jan SchnurleVictor Cunha
 
Blockchain - O Futuro da Economia P2P
Blockchain - O Futuro da Economia P2PBlockchain - O Futuro da Economia P2P
Blockchain - O Futuro da Economia P2PAndré Ferreira
 
Fundamentos da Blockchain - Curso Intensivo de Blockchain
Fundamentos da Blockchain - Curso Intensivo de BlockchainFundamentos da Blockchain - Curso Intensivo de Blockchain
Fundamentos da Blockchain - Curso Intensivo de Blockchain101 Blockchains Brasil
 
HACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
HACKBCBR - RIPPEX - Rafael Pereira e Jan SchnurleHACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
HACKBCBR - RIPPEX - Rafael Pereira e Jan SchnurleVictor Cunha
 
TechLaw Summit 2018 - Blockchain, o futuro da economia P2P
TechLaw Summit 2018 - Blockchain, o futuro da economia P2PTechLaw Summit 2018 - Blockchain, o futuro da economia P2P
TechLaw Summit 2018 - Blockchain, o futuro da economia P2PRafael Capaci Pereira
 
Blockchain: registros eletrônicos distribuídos, imutáveis e seguros
Blockchain: registros eletrônicos distribuídos, imutáveis e segurosBlockchain: registros eletrônicos distribuídos, imutáveis e seguros
Blockchain: registros eletrônicos distribuídos, imutáveis e segurosAugusto Herrmann Batista
 
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - ItaúRTM
 
API PHP para blockchain
API PHP para blockchainAPI PHP para blockchain
API PHP para blockchainFlávio Lisboa
 
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
 
23º ENCONTRO DE LÍDERES DO MERCADO SEGURADOR - FERNANDO STELER
23º ENCONTRO DE LÍDERES DO MERCADO SEGURADOR - FERNANDO STELER23º ENCONTRO DE LÍDERES DO MERCADO SEGURADOR - FERNANDO STELER
23º ENCONTRO DE LÍDERES DO MERCADO SEGURADOR - FERNANDO STELERCNseg
 
Blockchain Smart Contracts
Blockchain Smart ContractsBlockchain Smart Contracts
Blockchain Smart Contractseurosigdoc acm
 
A tecnologia “blockchain” aplicada ao Registro Imobiliário
A tecnologia “blockchain” aplicada ao Registro ImobiliárioA tecnologia “blockchain” aplicada ao Registro Imobiliário
A tecnologia “blockchain” aplicada ao Registro ImobiliárioIRIB
 
5 coisas que aprendemos blockchain
5 coisas que aprendemos blockchain5 coisas que aprendemos blockchain
5 coisas que aprendemos blockchaingutssc
 
Blockchain e Internet das Coisas - O que a Tecnologia por trás do Bitcoin tem...
Blockchain e Internet das Coisas - O que a Tecnologia por trás do Bitcoin tem...Blockchain e Internet das Coisas - O que a Tecnologia por trás do Bitcoin tem...
Blockchain e Internet das Coisas - O que a Tecnologia por trás do Bitcoin tem...João Marcos Vasconcelos Landim
 
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 digitalEdilson Osorio Junior
 

Semelhante a Blockchain PHP: Arquitetura, Segurança e Aplicações da Tecnologia (20)

Tecnologia Blockchain: uma visão Geral (CPqD)
Tecnologia Blockchain: uma visão Geral (CPqD)Tecnologia Blockchain: uma visão Geral (CPqD)
Tecnologia Blockchain: uma visão Geral (CPqD)
 
Fundamentos de Blockchain
Fundamentos de BlockchainFundamentos de Blockchain
Fundamentos de Blockchain
 
HACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
HACKBCBR - RIPPEX - Rafael Pereira e Jan SchnurleHACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
HACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
 
Blockchain - O Futuro da Economia P2P
Blockchain - O Futuro da Economia P2PBlockchain - O Futuro da Economia P2P
Blockchain - O Futuro da Economia P2P
 
Fundamentos da Blockchain - Curso Intensivo de Blockchain
Fundamentos da Blockchain - Curso Intensivo de BlockchainFundamentos da Blockchain - Curso Intensivo de Blockchain
Fundamentos da Blockchain - Curso Intensivo de Blockchain
 
HACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
HACKBCBR - RIPPEX - Rafael Pereira e Jan SchnurleHACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
HACKBCBR - RIPPEX - Rafael Pereira e Jan Schnurle
 
TechLaw Summit 2018 - Blockchain, o futuro da economia P2P
TechLaw Summit 2018 - Blockchain, o futuro da economia P2PTechLaw Summit 2018 - Blockchain, o futuro da economia P2P
TechLaw Summit 2018 - Blockchain, o futuro da economia P2P
 
Blockchain: registros eletrônicos distribuídos, imutáveis e seguros
Blockchain: registros eletrônicos distribuídos, imutáveis e segurosBlockchain: registros eletrônicos distribuídos, imutáveis e seguros
Blockchain: registros eletrônicos distribuídos, imutáveis e seguros
 
Blockchain: muito além das criptomoedas
Blockchain: muito além das criptomoedasBlockchain: muito além das criptomoedas
Blockchain: muito além das criptomoedas
 
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
2ª Conferência Blockchain RTM - Adilson Fernandes da Conceição - Itaú
 
API PHP para blockchain
API PHP para blockchainAPI PHP para blockchain
API PHP para blockchain
 
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.
 
23º ENCONTRO DE LÍDERES DO MERCADO SEGURADOR - FERNANDO STELER
23º ENCONTRO DE LÍDERES DO MERCADO SEGURADOR - FERNANDO STELER23º ENCONTRO DE LÍDERES DO MERCADO SEGURADOR - FERNANDO STELER
23º ENCONTRO DE LÍDERES DO MERCADO SEGURADOR - FERNANDO STELER
 
Blockchain Smart Contracts
Blockchain Smart ContractsBlockchain Smart Contracts
Blockchain Smart Contracts
 
Introducao a Blockchain
Introducao a BlockchainIntroducao a Blockchain
Introducao a Blockchain
 
A tecnologia “blockchain” aplicada ao Registro Imobiliário
A tecnologia “blockchain” aplicada ao Registro ImobiliárioA tecnologia “blockchain” aplicada ao Registro Imobiliário
A tecnologia “blockchain” aplicada ao Registro Imobiliário
 
5 coisas que aprendemos blockchain
5 coisas que aprendemos blockchain5 coisas que aprendemos blockchain
5 coisas que aprendemos blockchain
 
Tecnologia blockchain: uma visão geral
Tecnologia blockchain:  uma visão geralTecnologia blockchain:  uma visão geral
Tecnologia blockchain: uma visão geral
 
Blockchain e Internet das Coisas - O que a Tecnologia por trás do Bitcoin tem...
Blockchain e Internet das Coisas - O que a Tecnologia por trás do Bitcoin tem...Blockchain e Internet das Coisas - O que a Tecnologia por trás do Bitcoin tem...
Blockchain e Internet das Coisas - O que a Tecnologia por trás do Bitcoin tem...
 
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
 

Mais de Luis Gustavo Almeida

Geolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e RoutesGeolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e RoutesLuis Gustavo Almeida
 
Palestra de segurança em PHP - Hacking
Palestra de segurança em PHP - HackingPalestra de segurança em PHP - Hacking
Palestra de segurança em PHP - HackingLuis Gustavo Almeida
 
ReactPHP && programacao assincrona em PHP
ReactPHP && programacao assincrona em PHPReactPHP && programacao assincrona em PHP
ReactPHP && programacao assincrona em PHPLuis Gustavo Almeida
 
Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Luis Gustavo Almeida
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Luis Gustavo Almeida
 

Mais de Luis Gustavo Almeida (9)

Curso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JSCurso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JS
 
Php curl - Coleta de dados na web
Php curl - Coleta de dados na webPhp curl - Coleta de dados na web
Php curl - Coleta de dados na web
 
Geolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e RoutesGeolocalização em PHP - Google Places, Maps e Routes
Geolocalização em PHP - Google Places, Maps e Routes
 
Php criptomoedas e blockchain
Php criptomoedas e blockchainPhp criptomoedas e blockchain
Php criptomoedas e blockchain
 
Palestra de segurança em PHP - Hacking
Palestra de segurança em PHP - HackingPalestra de segurança em PHP - Hacking
Palestra de segurança em PHP - Hacking
 
ReactPHP && programacao assincrona em PHP
ReactPHP && programacao assincrona em PHPReactPHP && programacao assincrona em PHP
ReactPHP && programacao assincrona em PHP
 
Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP Crawling - Coleta de dados na Web com PHP
Crawling - Coleta de dados na Web com PHP
 
Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017 Mini Curso PHP Twig - PHP Conference 2017
Mini Curso PHP Twig - PHP Conference 2017
 
Migrando para PHP7 - Novidades
Migrando para PHP7 - NovidadesMigrando para PHP7 - Novidades
Migrando para PHP7 - Novidades
 

Blockchain PHP: Arquitetura, Segurança e Aplicações da Tecnologia

  • 4. A blockchain é resultado de uma engenhosa combinação de técnicas robustas provenientes da computação distribuída confiável (tolerância a falhas bizantinas, sistemas P2P), criptografia (chave assimétrica, funções hash, desafios criptográficos) e teoria dos jogos (mecanismos de incentivos).
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 13. ● Imutabilidade ● Consistência ● Não repúdio ● Segurança ● Interoperabilidade
  • 15.
  • 16. Criptografia assimétrica - public private keys 1 2 3
  • 18. Transação e Assinatura digital - Não Repúdio A B mensagem de A para B texto adicional gerado pela privateKey A publicKey A mensagem de A para B texto adicional gerado pela privateKey A publicKey A publicKey B
  • 19. Transação e Cifra digital - Sigilo A B mensagem de A para B gsgs dfgs dfgdsfg sdfg dsf g dsfg ds fg gh reth ty t u et ert yryrteyr ey gdfgdfg df mensagem de A para B privateKey BpublicKey B gsgs dfgs dfgdsfg sdfg dsf g dsfg ds fg gh reth ty t u et ert yryrteyr ey gdfgdfg df
  • 21.
  • 22.
  • 23.
  • 24. Livro Caixa Distribuído From To Qty - Genesis 1000 Genesis A 100 Genesis B 200 A C 50 C Genesis 25
  • 25.
  • 26. Livro Caixa Distribuído From To Qty Sign 0000000000 ABD123F44... 1000 123abc4344... ABD123F44... BB1223456... 100 993abc4341... ABD123F44... 2233EE557... 200 663abc4333... BB1223456... 99AAA324... 50 7777bc4341... 99AAA324... ABD123F44... 25 123abc4554...
  • 27.
  • 28. É necessário um CONSENSO sobre o Livro Caixa Distribuído A cada rodada vamos dar um jeito de trancar estes blocos de transações.
  • 29.
  • 30. Mineração O consenso PoW, juntamente com o mecanismo de recompensa, são a chave para tolerar ataques de agentes maliciosos na rede. Não é possível para uma minoria de mineradores manipular as transações, pois a rede como um todo não aceitaria transferência de ativos (ou pagamentos) que não foram autorizados pelo proprietário dos ativos (ou bitcoins). Além disso, os nós sempre estendem a corrente mais longa. Para um ataque cibernético, seria necessário que uma maioria (51%) de nós mineradores entrasse em conluio. Isso envolveria um custo computacional altíssimo [Nakamoto 2008].
  • 32. Mineração A mineração consiste em aplicar a função hash H sobre o header do bloco sucessivas vezes, pela variação do valor do nonce, até que o resultado do hash seja menor do que a dificuldade alvo imposta (target)
  • 33.
  • 34. Blockchain é uma “ledger of facts” replicada em computadores que participam de uma rede peer-to-peer, onde: — O ledger é um livro de registros digital, no qual uma vez validado um registro, este nunca mais poderá ser apagado. — Um fato (fact) pode significar várias coisas, desde uma transação monetária, a um conteúdo de determinado documento, ou até mesmo um programa de computador. — Os membros participantes da rede podem, ou não ser anônimos e são chamados peers ou “nós”. — Toda operação ou transação dentro da ledger é protegida por tecnologias criptográficas de assinatura digital, inclusive para identificar os nós emissores e receptores das transações.
  • 36. Na evolução de projeto da blockchain, são destacadas três fases [Bashir 2017]: ● A Blockchain 1.0 envolve o lançamento do Bitcoin em 2008, com as primeiras implementações das criptomoedas, e um ecossistema de aplicações e pagamentos com o ativo digital. ● A Blockchain 2.0 inicia-se com a proposta inovadora dos contratos inteligentes em 2013. ● A Blockchain 3.0 caracteriza a adoção da tecnologia blockchain no benefício de aplicações em diversas áreas, para além da financeira: governo, comércio, artes, saúde, cidades digitais, etc...
  • 37.
  • 38.
  • 39.
  • 40. Públicas (public Blockchain): Bitcoin, Ethereum, Coinbase, entre outras; Privadas (enterprise Blockchain): Ripple, Chain, Hyperledger, DAH (Digital Asset Holdings), etc.
  • 41. O(lg(n)) Para termos a segurança da transação K, precisamos dos seguintes hashes: H(L), H(IJ), H(MNOP) e H(ABCDEFGH). Assim temos a certeza referente a transação K. Tudo isso é feito muito rápido em lg(n) sendo n o número de nós da árvore Merkle Tree
  • 42. Merkle Tree é uma estrutura de dados voltada para permitir a fácil verificação da presença de uma certa informação em um certo local
  • 43.
  • 44.
  • 45. Desafio 1 – Identificar qual problema ou processo pode realmente ser beneficiado com o uso do Blockchain ● O problema que quero resolver envolve múltiplos agentes que devem compartilhar decisões e/ou informações? ● Deve existir algum tipo de transação entre esses agentes que torna importante o registro do histórico? ● Essa transação deve ser registrada segundo uma determinada regra de consenso? Desafio 2 – Pagar o preço de ser inovador ● Ausência de documentação. ● Potenciais falhas técnicas ainda não conhecidas. ● Ausência de suporte, de produtos vinculados e falta de profissionais.
  • 46.
  • 47. Problema dos Generais Bizantinos Os generais devem chegar a um consenso se atacam ou recuam. ● Se todos os generais bizantinos atacarem, a vitória é certa. ● Se nenhum general bizantino atacar, o império sobrevive. ● Se alguns atacarem, então o império ruirá.
  • 48.
  • 49.
  • 50.