SlideShare uma empresa Scribd logo
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).
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Arquitetura Distribuída
● Imutabilidade
● Consistência
● Não repúdio
● Segurança
● Interoperabilidade
Função Hash
Criando uma blockchain com PHP
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
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Livro Caixa Distribuído
From To Qty
- Genesis 1000
Genesis A 100
Genesis B 200
A C 50
C Genesis 25
Criando uma blockchain com PHP
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...
Criando uma blockchain com PHP
É necessário um CONSENSO sobre o Livro Caixa Distribuído
A cada rodada vamos dar um jeito de trancar estes
blocos de transações.
Criando uma blockchain com PHP
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)
Criando uma blockchain com PHP
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...
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Criando uma blockchain com PHP
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
Criando uma blockchain com PHP
Criando uma blockchain com PHP
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.
Criando uma blockchain com PHP
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á.
Criando uma blockchain com PHP
Criando uma blockchain com PHP
Criando uma blockchain com PHP
www.LGA.com.br
github: lga37
slideshare: lga33
br.linkedin.com/in/lga37
Criando uma blockchain com PHP

Mais conteúdo relacionado

Mais procurados

Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)
Samip jain
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
Naveen Kumar
 
Frequency Domain Image Enhancement Techniques
Frequency Domain Image Enhancement TechniquesFrequency Domain Image Enhancement Techniques
Frequency Domain Image Enhancement Techniques
Diwaker Pant
 
Hdtv technology
Hdtv technologyHdtv technology
Hdtv technology
Naveen Sihag
 
Image Compression
Image CompressionImage Compression
Image Compression
Paramjeet Singh Jamwal
 
Image restoration and reconstruction
Image restoration and reconstructionImage restoration and reconstruction
Digital Signature Standard
Digital Signature StandardDigital Signature Standard
Digital Signature Standard
Sou Jana
 
Edge linking in image processing
Edge linking in image processingEdge linking in image processing
Edge linking in image processing
VARUN KUMAR
 
Histogram Processing
Histogram ProcessingHistogram Processing
Histogram Processing
Amnaakhaan
 
Video Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video CodecsVideo Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video Codecs
Dr. Mohieddin Moradi
 
Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3
SIMONTHOMAS S
 
Analog Transmission
Analog TransmissionAnalog Transmission
Analog Transmission
Shiraz316
 
High Dynamic Range: An Introduction
High Dynamic Range: An IntroductionHigh Dynamic Range: An Introduction
High Dynamic Range: An Introduction
Thuong Nguyen Canh
 
Image Enhancement using Frequency Domain Filters
Image Enhancement using Frequency Domain FiltersImage Enhancement using Frequency Domain Filters
Image Enhancement using Frequency Domain Filters
Karthika Ramachandran
 
Smoothing Filters in Spatial Domain
Smoothing Filters in Spatial DomainSmoothing Filters in Spatial Domain
Smoothing Filters in Spatial Domain
Madhu Bala
 
Introduction To Video Compression
Introduction To Video CompressionIntroduction To Video Compression
Introduction To Video Compression
guestdd7ccca
 
Subnetting
SubnettingSubnetting
MD5
MD5MD5
A short history of video coding
A short history of video codingA short history of video coding
A short history of video coding
Iain Richardson
 
An introduction to X.509 certificates
An introduction to X.509 certificatesAn introduction to X.509 certificates
An introduction to X.509 certificates
Stephane Potier
 

Mais procurados (20)

Secure Socket Layer (SSL)
Secure Socket Layer (SSL)Secure Socket Layer (SSL)
Secure Socket Layer (SSL)
 
Secure Socket Layer
Secure Socket LayerSecure Socket Layer
Secure Socket Layer
 
Frequency Domain Image Enhancement Techniques
Frequency Domain Image Enhancement TechniquesFrequency Domain Image Enhancement Techniques
Frequency Domain Image Enhancement Techniques
 
Hdtv technology
Hdtv technologyHdtv technology
Hdtv technology
 
Image Compression
Image CompressionImage Compression
Image Compression
 
Image restoration and reconstruction
Image restoration and reconstructionImage restoration and reconstruction
Image restoration and reconstruction
 
Digital Signature Standard
Digital Signature StandardDigital Signature Standard
Digital Signature Standard
 
Edge linking in image processing
Edge linking in image processingEdge linking in image processing
Edge linking in image processing
 
Histogram Processing
Histogram ProcessingHistogram Processing
Histogram Processing
 
Video Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video CodecsVideo Compression, Part 3-Section 1, Some Standard Video Codecs
Video Compression, Part 3-Section 1, Some Standard Video Codecs
 
Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3Cs8092 computer graphics and multimedia unit 3
Cs8092 computer graphics and multimedia unit 3
 
Analog Transmission
Analog TransmissionAnalog Transmission
Analog Transmission
 
High Dynamic Range: An Introduction
High Dynamic Range: An IntroductionHigh Dynamic Range: An Introduction
High Dynamic Range: An Introduction
 
Image Enhancement using Frequency Domain Filters
Image Enhancement using Frequency Domain FiltersImage Enhancement using Frequency Domain Filters
Image Enhancement using Frequency Domain Filters
 
Smoothing Filters in Spatial Domain
Smoothing Filters in Spatial DomainSmoothing Filters in Spatial Domain
Smoothing Filters in Spatial Domain
 
Introduction To Video Compression
Introduction To Video CompressionIntroduction To Video Compression
Introduction To Video Compression
 
Subnetting
SubnettingSubnetting
Subnetting
 
MD5
MD5MD5
MD5
 
A short history of video coding
A short history of video codingA short history of video coding
A short history of video coding
 
An introduction to X.509 certificates
An introduction to X.509 certificatesAn introduction to X.509 certificates
An introduction to X.509 certificates
 

Semelhante a Criando uma blockchain com PHP

Blockchain - Introdução e Aplicações PROF. GLADSTONE ARANTES JR, D
Blockchain - Introdução e Aplicações PROF. GLADSTONE ARANTES JR, DBlockchain - Introdução e Aplicações PROF. GLADSTONE ARANTES JR, D
Blockchain - Introdução e Aplicações PROF. GLADSTONE ARANTES JR, D
ShmaraStfanyGuimares
 
Blockchains - Muito Além do Bitcoin
Blockchains - Muito Além do BitcoinBlockchains - Muito Além do Bitcoin
Blockchains - Muito Além do Bitcoin
joselopes1984
 
Blockchain e tokenização das cidades
Blockchain e tokenização das cidadesBlockchain e tokenização das cidades
Blockchain e tokenização das cidades
renascidade
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
ArrayOf.io
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
Mario Guedes
 
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)
José Reynaldo Formigoni Filho, MSc
 
Fundamentos de Blockchain
Fundamentos de BlockchainFundamentos de Blockchain
Fundamentos de Blockchain
Marcelo Laranjeira Melo
 
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
Victor Cunha
 
Blockchain - O Futuro da Economia P2P
Blockchain - O Futuro da Economia P2PBlockchain - O Futuro da Economia P2P
Blockchain - O Futuro da Economia P2P
André 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 Blockchain
101 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 Schnurle
Victor 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 P2P
Rafael 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 seguros
Augusto Herrmann Batista
 
Blockchain: muito além das criptomoedas
Blockchain: muito além das criptomoedasBlockchain: muito além das criptomoedas
Blockchain: muito além das criptomoedas
MJV Technology & Innovation Brasil
 
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 blockchain
Flá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 STELER
CNseg
 
Blockchain Smart Contracts
Blockchain Smart ContractsBlockchain Smart Contracts
Blockchain Smart Contracts
eurosigdoc acm
 
Introducao a Blockchain
Introducao a BlockchainIntroducao a Blockchain
Introducao a Blockchain
Vicente Sulzbach
 

Semelhante a Criando uma blockchain com PHP (20)

Blockchain - Introdução e Aplicações PROF. GLADSTONE ARANTES JR, D
Blockchain - Introdução e Aplicações PROF. GLADSTONE ARANTES JR, DBlockchain - Introdução e Aplicações PROF. GLADSTONE ARANTES JR, D
Blockchain - Introdução e Aplicações PROF. GLADSTONE ARANTES JR, D
 
Blockchains - Muito Além do Bitcoin
Blockchains - Muito Além do BitcoinBlockchains - Muito Além do Bitcoin
Blockchains - Muito Além do Bitcoin
 
Blockchain e tokenização das cidades
Blockchain e tokenização das cidadesBlockchain e tokenização das cidades
Blockchain e tokenização das cidades
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
 
Integrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da EthereumIntegrando-se à Blockchain da Ethereum
Integrando-se à Blockchain da Ethereum
 
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
 

Mais de Luis Gustavo Almeida

Curso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JSCurso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JS
Luis Gustavo Almeida
 
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
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 Routes
Luis Gustavo Almeida
 
Php criptomoedas e blockchain
Php criptomoedas e blockchainPhp criptomoedas e blockchain
Php criptomoedas e blockchain
Luis 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 - Hacking
Luis Gustavo Almeida
 
ReactPHP && programacao assincrona em PHP
ReactPHP && programacao assincrona em PHPReactPHP && programacao assincrona em PHP
ReactPHP && programacao assincrona em PHP
Luis 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
 
Migrando para PHP7 - Novidades
Migrando para PHP7 - NovidadesMigrando para PHP7 - Novidades
Migrando para PHP7 - Novidades
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
 

Criando uma blockchain com PHP

  • 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).
  • 13. ● Imutabilidade ● Consistência ● Não repúdio ● Segurança ● Interoperabilidade
  • 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
  • 24. Livro Caixa Distribuído From To Qty - Genesis 1000 Genesis A 100 Genesis B 200 A C 50 C Genesis 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...
  • 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.
  • 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)
  • 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...
  • 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
  • 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.
  • 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á.