![Page 1: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/1.jpg)
PATACAum sistema para promoção da descentralização
da moeda através de moedas criptográficas
um trabalho de Ricardo Macedo sob a orientação do Prof. Flávio Soares (IME-USP) e Prof. Gilson Schwartz (ECA-USP)
![Page 2: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/2.jpg)
Pataca possibilita você criar sua própria moeda.
![Page 3: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/3.jpg)
Mas, o que isso SIGNIFICA?
![Page 4: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/4.jpg)
A MAIS BREVE HISTÓRIA DA
MOEDA
![Page 5: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/5.jpg)
A MAIS BREVE HISTÓRIA DA
MOEDA
ANTES DA CUNHAGEM !
600 A.C. ATÉ INÍCIO DO SÉC. XX !
SISTEMA DE BRETTON WOODS !
MOEDA FIDUCIÁRIA
![Page 6: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/6.jpg)
DESCENTRALIZAÇÃO
![Page 7: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/7.jpg)
DESCENTRALIZAÇÃOARPANET BITTORRENT WIKIPÉDIA OPEN SOURCE
![Page 8: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/8.jpg)
DESCENTRALIZAÇÃOARPANET BITTORRENT WIKIPÉDIA OPEN SOURCE
SABIR Primavera De Filippi
Samer Hassan !
http://sabir.cc/
![Page 9: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/9.jpg)
![Page 10: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/10.jpg)
SATOSHI NAKAMOTO (PSEUDÔNIMO)
SISTEMA DE TRANSFERÊNCIA DE VALORES
SEM INTERMEDIÁRIOS
DESCENTRALIZADO
BASEADO EM CRIPTOGRAFIA
![Page 11: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/11.jpg)
SATOSHI NAKAMOTO (PSEUDÔNIMO)
SISTEMA DE TRANSFERÊNCIA DE VALORES
SEM INTERMEDIÁRIOS
DESCENTRALIZADO
BASEADO EM CRIPTOGRAFIA
BLOCKCHAIN (proof-of-work)
![Page 12: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/12.jpg)
PROOF-OF-WORK
![Page 13: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/13.jpg)
PROOF-OF-WORKDWORK E NAOR, 1992
CONTRA SPAM
UTILIZA FUNÇÕES DE HASH CRIPTOGRÁFICO
SOLUÇÃO DE UM DESAFIO
![Page 14: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/14.jpg)
PROOF-OF-WORK
BITCOIN UTILIZA SHA-256
DWORK E NAOR, 1992
CONTRA SPAM
UTILIZA FUNÇÕES DE HASH CRIPTOGRÁFICO
SOLUÇÃO DE UM DESAFIO
![Page 15: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/15.jpg)
Vamos supor um sistema que somente aceite mensagens cujo hash SHA-256 do cabeçalho comece com 24 bits zero, ou 6 zeros hexadecimais.
![Page 16: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/16.jpg)
DADO pataca:0
VALOR DE HASH SHA-256 3195ca2e65fb47dd5c66f6ea57e9619e 1ae74a37e634a94686ff1ea230c27909
![Page 17: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/17.jpg)
DADO pataca:0
VALOR DE HASH SHA-256 3195ca2e65fb47dd5c66f6ea57e9619e 1ae74a37e634a94686ff1ea230c27909
DADO pataca:27156202
VALOR DE HASH SHA-256 000000163856a42ed2c6216f14a71395 c542f69dd36c6e37dfee0a1299da1111
![Page 18: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/18.jpg)
BLOCKCHAINcadeia de blocos
Hash do bloco anterior Transações Nonce etc.
CONTEÚDO DO BLOCO BITCOIN
![Page 19: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/19.jpg)
BLOCKCHAINcadeia de blocos
e the reum Blockchain programável !https://ethereum.org/
![Page 20: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/20.jpg)
MOTIVAÇÃO
![Page 21: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/21.jpg)
OBJETIVOCRIAR UM SISTEMA
QUE GERENCIE E INTEGRE ECONOMIAS LOCAIS,
POSSIBILITANDO TRANSACIONAR VALORES ENTRE ELAS UTILIZANDO
UM MEIO DE TROCA COMUM.
![Page 22: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/22.jpg)
PATACAum sistema para promoção da descentralização
da moeda através de moedas criptográficas
um trabalho de Ricardo Macedo sob a orientação do Prof. Flávio Soares (IME-USP) e Prof. Gilson Schwartz (ECA-USP)
![Page 23: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/23.jpg)
Pataca é um sistema que gerencia moedas sociais, cujo valor pode estar
atrelado a um lastro em bitcoin.
![Page 24: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/24.jpg)
Escrito em Python. Completamente modular. !
Twisted Matrix Comunicação com a rede SQLAlchemy Mapeamento objeto-relacional
![Page 25: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/25.jpg)
Uma API extensível que trafega JSON, com: Controle de perfis de usuário
!Criação e manipulação de contas-correntes
!Módulos
!Mapeamento automático de classes em tabelas no banco de dados
!Comunicação entre servidores Pataca
CARACTERÍSTICAS
![Page 26: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/26.jpg)
Authorization: Token 4cc78bab-0ff0-42e9-a70d-4ceaaa0ab023 Content-Type: application/json !{ “op”: “transferFunds”, “orig”: “bob”, “dest”: “alice”, “amount”: 300, “description”: “Payment for kitchen table” } !RESPOSTA: { “success”: 1 }
EXEMPLO DE USO: POST /
![Page 27: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/27.jpg)
SETTINGS.PY !import requests !uri = ‘’ !operations = [ operation(‘transferFunds’, requests.transfer_funds), operation(‘createUser’, requests.create_user), … ]
COMO CRIAR UMA CHAMADA DE API
![Page 28: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/28.jpg)
Possibilita a transferência de valores entre instâncias do Pataca
!
Federação ([email protected]) !
Taxa de câmbio baseada no estoque decriptomoeda ou em um valor informado.
PROTOCOLO PATACA
![Page 29: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/29.jpg)
Vamos supor que Alberto possua uma conta, em botões, nas Organizações Foo e queira transferir 500 botões para Bernardo, que possui uma conta em estalecas no Bar Bar.
![Page 30: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/30.jpg)
1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa [email protected] !
2 Alberto inicia a transferência de 500 botões da sua conta [email protected] para a conta de Bernardo. !
3 O servidor foo.org bloqueia o saldo correspondente e notifica o servidor bar.net sobre a transferência, pedindo um endereço de carteira bitcoin que represente a conta [email protected]
![Page 31: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/31.jpg)
4 O servidor bar.net responde com o endereço e aguarda. !
5 Com o endereço bitcoin de destino, foo.org verifica a taxa de câmbio, no caso, 0,0002 bitcoin por botão, envia a quantia de 0,1 bitcoin para a carteira, ou 500 botões, e notifica bar.net sobre a transação. !
6 Ao receber a transação, após um certo número de confirmações da rede bitcoin, bar.net credita a conta de Bernardo com 125 estalecas, dado que a taxa de câmbio é de 0,0008 bitcoin por estaleca.
![Page 32: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/32.jpg)
Interfaces gráficas (web, Android, iOS, etc.) Implementar um repositório de módulos(como Play Store, App Store) Adicionar Stellar como lastro Intercâmbio de valores sem lastro
PRÓXIMOS PASSOS
![Page 33: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/33.jpg)
Interfaces gráficas (web, Android, iOS, etc.) Implementar um repositório de módulos(como Play Store, App Store) Adicionar Stellar como lastro Intercâmbio de valores sem lastro
PRÓXIMOS PASSOS
STELLAR Não é baseado em proof-of-work, mas em consenso. https://www.stellar.org/
![Page 34: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/34.jpg)
Gerenciador de contas em jogos e aplicações !
Criação de economias temporárias em eventos, cursos, comunidades, etc.
!Realização de micropagamentos locais
!Gerenciamento de dinheiro coletivo (grupos, turmas, famílias, etc.)
USOS
![Page 35: PATACA - USP · 2014-12-18 · 1 Alberto pergunta a Bernardo qual seu endereço Pataca, que informa bernardo@bar.net ! 2 Alberto inicia a transferência de 500 botões da sua conta](https://reader033.vdocuments.pub/reader033/viewer/2022043020/5f3c3bedfaa1d00c4168e381/html5/thumbnails/35.jpg)
Não hesite em perguntar. !
SIGA O PATACA NO TWITTER @gopataca
DÚVIDAS? TRAUMAS?
QUESTIONAMENTOS?
apoio