4. Primeiramente
Blockchain, apesar de novo, nada mais é que um
conjunto de diversas tecnologias já estabelecidas
no meio tecnológico. Entre elas:
• Sistemas distribuídos
• P2P
• Funções hash
• Criptografia
5. Dinheiro
Algumas transações financeiras comuns no nosso
dia podem ser relacionadas à transações do tipo
P2P.
• Sem intermediários
• Detecção de Fraude
• Privado / Anônimo
• Distribuído
• Relações de confiança
6. O Intermediador
Atualmente em nossas transações financeiras
temos sempre algo entre quem compra algo e
quem vende algo: O Intermediador
• Requer uma terceira parte envolvida
• Adiciona complexidade
• Detecção de fraudes por terceiros
• Custo em cada etapa
Intermediador
7. O Valor do intermediador
Mas o intermediador também tem seus benefícios:
• Provê infraestrutura
• Gerenciamento das relações comerciais
• Remoção da complexidade*
• Detecção de fraude
• Cesta de serviços
• Compliance, etc..
8. A situação atual
Ainda sobre transações, o que temos hoje:
• Aumento nas transações online
• Compras e comercio online
• Compras dentro de aplicações
• Moedas virtuais de jogos
• Remessas internacionais de dinheiro
• Cartões financeiros (Cartões presente, Visa
Cash, Cartões fidelidade, etc, etc..)
• IOT
• Objetos autônomos
• Automação Financeira
9. E as limitações
Dinheiro é então a melhor opção ... mas apenas
para pequenas quantias....
Transações eletrônicas necessitam de um cartão
(que possuem taxas)
Dificuldades em transações internacionais /
compras internacionais
Alta burocracia
10. Muito legal, mas e a blockchain?
Blockchain é a representação de uma LEDGER!
• Um livro em que as transações monetárias de
uma empresa são publicados na forma de
débitos e créditos.
• Um livro para o qual o registro de contas é
transferido como entrada final de lançamentos
originais.
15. Blockchain é uma moeda
corrente?
Não!
Mas existem diversas características com uma
moeda corrente ....
• Durabilidade
• Portabilidade
• Divisibilidade
• Uniformidade
• Fonte limitada
• Aceitabilidade
16. Os principais desafios
• Policiamento de criminosos (Cyber-criminosos)
• KYC / AML
• Seguros
• Processo de onboarding
• Serviço ao cliente
• Relacionamento comercial
• Complexidade técnica
• Incertezas regulatórias
• Colocar a moeda em primeiro plano
17. Instrumentos financeiros
• Moeda
• Capitais privados
• Capitais públicos
• Títulos
• Derivativos
• Registros de Despesas
• Registro de operações
• Registros de Hipotecas/ Empréstimos
• Registros de serviços
• Crowdfunding
• Microfinanciamento
18. Registros públicos
• Títulos de propriedade
• Registro de veículos
• Fusões e aquisições de empresas
• Registros criminais
• Passaportes
• Certidões de nascimento
• Certidões de óbito
• Registro de voto
• Informações de voto
• Inspeções Sanitárias
• Autorizações de construção / Alvarás
• Registros judiciais
20. Principais termos
• Address – O numero da conta da pessoa para
qual você está enviando uma transação – Pode
ser usado uma ou múltiplas vezes. Você pode
possuir vários “Addresses”
• Transaction – Ação de transferir valores,
moedas de um “address” para outro “address”
• Block – O registro das transações
• Wallet – Software de gerenciamento de
“Addresses”, rastreamento de transações e
saldos.
21. Principais termos
• Input/TxIn – É a referencia do output da
transação anterior.
• Output/TxOut – São as instruções para enviar
“bitcoins, moedas, contratos”.
• UTXO – Outputs de transações que ainda não
foram “consumidos” para gerarem novos inputs.
• Proof of Work – Prova que uma quantidade de
trabalho foi investida na criação de um novo
bloco.
22. Funções Hash
Uma função hash é um algoritmo que mapeia
dados de comprimento variável para dados de
comprimento fixo. Os valores retornados por uma
função hash são chamados valores hash, códigos
hash, somas hash (hash sums), checksums ou
simplesmente hashes.
23. Propriedades da função
• Qualquer tamanho de dados sempre resulta no
mesmo tamanho da hash;
• Leves alterações de dados retorna números de
hash totalmente diferentes
• O mesmo input retorna sempre o mesmo
output
• Hashes são uma via de mão única
24. Uso das funções hash
• Para armazenar um valor enquanto esconde o
valor original.
• Para verificar a integridade de algum dado.
• Para provar que você fez todos cálculos
gerando carga computacional.
25. Arvore de Merkle
• Múltiplos blocos de
dados em uma certa
ordem dentro da
sequencia hash.
• Permite descobrir qual
bloco sofreu alteração.
26. Chaves privadas e públicas
• Duas chaves exclusivamente relacionadas
• Dados criptografados pela chave pública só
podem ser de criptografados pela chave
privada (e vice e versa)
• Uma matemática complexa
• Visa a confidencialidade
27. Assinaturas digitais
• Verifica se as mensagens vem da pessoa certa
• Verifica se as mensagens não foram alteradas
• Podem ser usados para provar que você possui
a chave privada
• Principal objetivo confidencialidade
29. Regras da Blockchain
• Uma vez ocorrido algo, e este está registrado
ele não pode mais sofrer alterações
• Dados escritos na blockchain são registros
históricos e imutáveis
• Blockchains tem que provar que os dados não
foram adulterados
• Todos que rodam a blockchain tem de
concordar com os dados armazenados nela.
30. Princípios de Blockchain
• As transações são colocadas juntas em um
bloco (block).
• Uma cadeia(chain) são blocos interconectados.
0 1 2 3 4 5
31. Princípios de Blockchain
• Os blocos são numerados em ordem crescente sendo 0 (zero) o
primeiro/mais antigo
• O numero é a altura do bloco
• As setas sempre vão em direção aos blocos mais antigos e se liga
direta e unicamente ao bloco anterior.
0 1 2 3 4 5
32. Princípios de Blockchain
• Blocos armazenam dados, na bitcoin são as transações mas pode
ser qualquer tipo de dado.
• Blocos são criados periodicamente
• Blocos representam uma série de eventos que ocorreram em um
especifico espaço de tempo.
0 1 2 3 4 5
33. Princípios de Blockchain
• Blocos não são identificados por seu tamanho, mas por seu ID.
• ID é a hash do dado no bloco
• 0 = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
• 1 = F90e69f97ac6dd5326ff6889b2e9bf83b002b19cc97e55dcf4b393cd8b961812
• 2 = 375d8089619efffd0e8d7026cfd703546cab004ef4fd0a3a6895753d5cfd7591
• O ID é a impressão digital do bloco.
0 1 2 3 4 5
34. O que existe em um bloco?
• Todo bloco possui um “magic number”
• O da Bitcoin é: (0xD9B4BEF9)
• Ele prova que o bloco faz parte da rede principal da Bitcoin
• Um número que identifica quanto de dados estão sendo encaminhados
• Alguns metadados
• O número de versão do bloco
• Um link para o bloco anterior
• A árvore de Merkle de todas transações no bloco
• Data e horário que o bloco foi criado
• Dificuldade da mineração
• Proof-of-Work
• Todas transações que estão registradas nesse bloco
35. O que existe em um bloco?
Bloco 234 Bloco 235 Bloco 236
Proof-of-Work:
0000009857vvv
Previous block:
000000432qrza1
Transação
lk54lfvx
Transação
09345w1d
Transação
vc4232v32
Previous block:
0000009857vvv
Proof-of-Work:
000000cfd7591
Previous block:
000000cfd7591
Proof-of-Work:
000000c3a89e7
Transação
86c8d1b6
Transação
ea318578
Transação
84e3d7ce
Transação
5b8c11ff
Transação
893c6a9d
Transação
e83c754e
36. Inviolabilidade
• Blocos são identificados pelos seus ID´s ( hash
de metadata)
• Que por sua vez contém a árvore de Merkle das
transações.
• Alterar algum metadado e o ID do bloco irá se
alterar – quebrando a cadeia
• Se alterar qualquer detalhe da transação, a
árvore de merkle se altera, que altera o ID do
bloco.
37. Porque não um banco de dados?
• Altamente distribuído
• Sem autoridade central
• Confiança de terceiros
• Baixissima barreira de entrada
• Computador + Internet = o/
• Capacidade transacional global, instantânea
• Sem gastos duplicados
• Custos baixos de transações
39. Transações em Bitcoins
• Ninguém realmente tem bitcoins – não é
possível fazer download ou armazenar no seu
computador
• Blockchain é uma ledger – Ela armazena as
transferências de bitcoins (ou dados, etc ...)
entre pessoas
• Os registros ficam armazenados na blockchain
• Cunha dá 2BTC para Luiz na verdade é
• Cunha transfere o controle de 2 de suas BTC
para o Luiz
• O controle é feito através de criptografia
40. Controle por criptografia
• Quando alguéme envia para você moedas (ou
dados) publicamente este coloca-as sob o
controle de sua chave publica ( na forma de
“address”.
• Se você pode provar que tem a chave pública e
privada correspondente a rede permite que
você controle as moedas.
41. Controle por criptografia
• Por conta das transações na blockchain serem
anônimas, é necessário que haja uma maneira
de reforçar o controle das moedas
• Transações podem ser programáveis
• Cada transação contem um programa que
especifica as condições que precisam ser
cumpridas no intuito de gastar as moedas
42. Vamos pensar
• Você não tem a quantidade de dinheiro que
você alega ter.
• Você tem a quantidade de dinheiro o qual você
consegue convencer a rede que você controla.
• Você convence a rede, provando que você
possui a rede pública e a rede privada que
controla essas moedas.
• Se você não conseguir convencer a rede, você
não possui mais esse dinheiro
43. Proteger suas chaves privadas
• Suas chaves privadas controlam seu dinheiro
• A maioria dos “hacks” ou “roubos” são na
realidade uma cópia da sua chave privada.
• Se você perder sua chave privada, você perdeu
seu dinheiro.
• Manter off-line ou em um dispositivo físico
especializado aumenta a segurança.
• Criptografe se elas precisam estar online.
• Use para pequenos montantes de dinheiro.
• Use diferentes “Wallets” para gerenciar o
risco.
47. “Addresses”
• Esconde sua chave pública (por conta do Hash),
mesmo assim é necessário ter ambas chaves
(pública e privada)
• Esta é a forma que as pessoas podem te
mandar dinheiro/moeda/dados
• Você pode ter muitos endereços
• Sua “Wallet” acompanha e mantém o registro
de todos pagamentos feitos/enviados pelo seu
“Address”
48. transações
• Transações transferem controle de um “input”
para um “output”
• Alguém controla algo e coloca o mesmo dentro
de uma transação. O destinatário recebe o
“output” desta transação
• As saídas de uma transação anterior forma o
input deste último
50. Conta de entrada tripla
ALICE
BOB
BLOCKCHAIN
ALICE transfere 10m para BOB
ALICE BOB
10
-10
BOB transfere 30m para ALICE
-30
30
100M
90M
51. Conta de entrada tripla
ALICE
BOB
BLOCKCHAIN
ALICE BOB
10
-10
-30
30
120M
110M
PAUL
-120
52. Inputs x Outputs
• Quando você cria uma transação você está
transferindo o controle para uma chave pública
“hashed”
• Quem quer que possua uma chave privada que
corresponda com a chave pública (Address)
pode gastar/utilizar estas moedas.
• Estas instruções são incorporadas na transação
em um arquivo chamado “scriptPubKey”
• Tem essa aparência:
• 76A9149260C8E4924720B040F20B00D7F78C0F0FDBA3C288AC
53. UTXO
• Uma vez que os “outputs” das transações são
usadas como “inputs” para uma
• Caso o dono tentar gasta-las novamente é
chamado de “gasto-duplo” (double-spend)
• Um “input” TxIn é uma referencia ao UTXO que
foi utilizado.
• Usando uma UTXO a destrói – Você precisa
gastar todo valor deste output.
• Se você não pretende gastar todo valor do
output, você pode enviar o valor sobressalente
para você mesmo.
56. Recap
• Transações são transmitidas para toda rede
• Blocos armazenam registros de transações
• Blocos são criados por mineradores e então
transmitidas para rede
• Novos blocos são adicionadas na cadeia
• Mineradores competem para construir o
próximo bloco.
57. então ...
• Mineração é o processo de coletar transações e
resolver um bloco.
• Blocos são imutáveis é necessário ter certeza
que ele está certo.
• Para resolvermos um bloco é difícil e lento –
contas matemáticas
• Mas nós precisamos manter a verificação do
bloco fácil
58. então ...
• Por conta da dificuldade de mineração, os
mineradores são recompensados com moedas
(bitcoin, ether, etc, etc, etc...).
• Mineração é o processo de proteger a
blockchain.
59. Proof-of-work
• Todas as transações em um bloco são usadas
para criar uma árvore de Merkle Hash
• É adicionado a outros arquivos de metadados
com um “nonce”
• O pacote todo é “encapsulado” dentro desta
Hash
• Se começar com “0” então o bloco foi resolvido
e você transmite para rede.
• Se não você incrementa o “nonce” e tenta
novamente.
• Esse processo é repetido até encontrar o zero
inicial.
63. Minerando ....
• 11 tentativas pode não parecer muito
• Para isso é necessário deixar o processo um
pouco mais difícil....
• A blockchain introduz o conceito de
“dificuldade”
• Ela define quantos “zeros” a frente são
necessários para resolver um bloco
• Quanto mais zeros forem necessários ser
encontrados mais tentativas serão necessárias
• A força motriz dos mineradores é seu “hashing
power”
64. Aumentando a dificuldade
• É uma forma de controlar quão difícil é resolver
um bloco
• A dificuldade pode ser ajustada para ser mais
fácil ou difícil
• O tempo limite para solução é de 10 minutos
(na rede bitcoin)
• Quanto mais “hashing power” os mineradores
adicionam à rede, é necessário aumentar a
dificuldade para compensar
• A dificuldade é recalculada a cada 2016 blocos
(aproximadamente 2 semanas)
66. É uma corrida
• Os mineradores tentam resolver o bloco mais
alto no topo da cadeia
• O primeiro que conseguir resolver adiciona seu
bloco à cadeia
• Todo trabalho feito pelos demais mineradores é
perdido
• Para criar mais blocos que outros, é necessário
possuir maior “hashing power” do que os
demais
• O “hashing power” da rede Bitcoin é maior que
os 500 maiores supercomputadores
combinados
67. Poder computacional
Então, poderia alguém com MUITO poder
computacional controlar uma rede blockchain?
Em teoria sim ....
Seria necessário controlar 50% + 1 de toda rede
que atualmente está em torno de 340 mil
terahases por segundo ou ....
340,000,000,000,000,000 hashes por segundo
68. Então ...
• Foram criados os
“Mining pools”
• Cada “pool” possui
mineradores que
dividem o problema.
• Todos membros do
pool, tentam resolver o
mesmo bloco em
paralelo
• A recompensa (moedas,
etc ...) são divididas
entre os membros
75. E porque?
Porque você recebe por isso!
Em cada bloco, os mineradores adicionam uma
transação chamada “coinbase”
Ela paga ao minerador pelo trabalho executado
sendo a única forma de criação de novas bitcoins
76. Se na blockchain os mineradores estão
distribuídos, como se validam os
blocos criados ??
77. 0 1
• Digamos que o bloco zero seja o primeiro bloco desta blockchain
• Os mineradores tentam resolver o bloco
• Um grupo resolve e coloca na posição 1
78. 0 1
• Porém, outro grupo de mineradores resolve o bloco e coloca na blockchain também!
• FORK
• O bloco 1a contém transações diferentes do bloco 1b
• Neste ponto não se sabe qual bloco será aceito
• Porém a mineração continua metade trabalhando para criar o bloco 2.a e 2.b
1a
1b
79. 0
• Um grupo de mineradores encontra o 2a
• Os mineradores que estavam trabalhando para resolver a 1B para e começam a
trabalhar no de maior número
• As transações que estavam na 1b agora precisam ser registradas novamente
1
1b
2
80. 0
• Outro grupo de mineradores resolvem o bloco e fazem broadcast para rede
• Os mineradores abandonam seu trabalho e tentam resolver o bloco na posição 4
1 2 3 4
81. 0
• Mas enquanto eles resolvem o bloco 4 outro grupo também encontra a solução
• Temos um novo fork na posição 4
1 2 3 4
4a
4b
82. 0
• Metade tenta resolver o bloco 5.a outra metade o bloco 5.b
• Temos uma condição de corrida nesse ponto
• Se o grupo minerador do bloco 5b resolver em primeiro lugar os mineradores param
de trabalhar no bloco e tentarão resolver o bloco da posição 7
• Os blocos 4.b e 5.b são aceitos como a cadeia mais longa
1 2 3
4a
4b
5a
5b
83. 0
• Metade tenta resolver o bloco 5.a outra metade o bloco 5.b
• Temos uma condição de corrida nesse ponto
• Se o grupo minerador do bloco 5b resolver em primeiro lugar os mineradores param
de trabalhar no bloco e tentarão resolver o bloco da posição 7
• Os blocos 4.b e 5.b são aceitos como a cadeia mais longa
1 2 3
4a
4b
5a
5b
85. Implicações
• Transações levam tempo para serem
confirmadas
• Cada novo bloco também é chamado de
confirmação
• Uma transação que está 5 blocos abaixo do
topo da cadeia é dito que possui 6
confirmações
• O operador pode decidir quantas confirmações
são necessárias esperar.
• O padrão são 6 confirmações para qualquer
valor
86. Forks
• Upgrades de protocolo podem causar
problemas
• Diferenças de protocolo na criação de blocos
(antigos e novos)
• Se o upgrade é retrocompativel pode ser feito
um soft fork
• Se não for retrocompativel é um Hard fork
• Recentemente a Ethereum foi obrigada a
efetuar um hard fork
88. recap
• Transações transferem o controle das moedas
de inputs para outputs
• Controle é reforçado através de criptografia
• Duas chaves – Privada e Pública
• Criptografada por um, descriptografada por
outro e vice versa
• Se você pode criptografar um valor
conhecido, que pode ser descriptografado
pela chave pública, você deve possuir a
chave privada
89. Construindo uma transação
• Você precisa do address da pessoa que você vai
pagar
• Encontre os UTXO´s (Unspent transaction
outputs) que ultrapassam a quantidade que
deseja pagar
• Calcule a taxa de transação (opcional)
• Crie os outputs através da correta ScriptPubKey
• Assine os detalhes da transação
• Broadcast a transação e veja se funciona!
90. ScriptPubKey
• Define quem pode gastar a moeda
especificando um pequeno programa de
verificação que roda para permitir a verificação
• São 40 bytes de instruções
• Os elementos são colocados em pilha, se o final
da pilha for verdadeiro então a transação é
valida
91. ScriptSign
• Para que a rede valide e replique sua transação
é necessário que você prove que possui a chave
privada
• Você faz isso através de um Script de Assinatura
• Chave pública sem Hash
• O parâmetro “secp256k1” de assinatura
• O TXN ID e output index do input
• O TXN ScriptPubKey anterior
• O output da ScriptPubKey
• O valor da Transação
• A transação assinada é então enviada para rede
92. ScriptSign
• Quando decodificada a ScriptPubKey diz o seguinte
OP_DUP OP_HASH160 <PubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
• Você acrescenta na frente o script de assinatura e valida da
esquerda para direita
<Sig> <PubKey> OP_DUP OP_HASH160 <PubKeyHash> OP_EQUALVERIFY
OP_CHECKSIG
93.
94. Complicado né?
• Use uma biblioteca ou conjunto de
ferramentas para efetuar a criptografia
• Se estiver errado você não receberá
mensagens de erro – apenas não irá
funcionar
• E você pode perder suas moedas =D
• Quer se aventurar? Use redes de teste.
98. Contratos inteligentes
• Protocolo de computador feito pra facilitar,
verificar ou reforçar a negociação ou
desempenho de um contrato
• Para ser um contrato:
• Envolve mais que a transferência de uma
moeda virtual entre duas pessoas
• Envolve duas partes interessadas
• Não requer envolvimento humano.
101. Uso Potencial
• Financeiro
• Dinheiro, ações, investimentos,
crowdfunding, títulos e derivativos
• Registros Públicos
• Imóveis, terrenos, registro de veículos,
licença comercial, passaporte, Ids
• Registros Privados
• Contratos, assinaturas, testamentos,
obrigações, garantias
102. Uso Potencial
• Chaves Físicas
• Acesso à casa, hotéis, aluguel de carros,
chave de carros
• Intangíveis
• Patentes, marcas, reservas, nomes de
domínio, apostas
106. Aplicações e Soluções
• Exchanges: Plataformas de comércio de títulos, commodities,
derivativos e outros instrumentos financeiros. Além da
divulgação de informações de mercado em tempo real.
• Brokerage: Plataformas de corretagem que atuam como o meio
entre compradores e vendedores para facilitar transações.
• Soft Wallets: Plataformas de software para armazenamento,
envio e recebimento de dinheiro eletrônico.
• Hard Wallets: Hardware,Tokens, para armazenamento, envio e
recebimento de dinheiro eletrônico.
• Capital Markets: Plataformas de transações para mercados de
Capitais - Compra e venda de instrumentos de capital e divida -
relacionadas à governos, empresas e investidores.
• Investments and Loans: Plataformas de transações de
investimentos de riscos e empréstimos.
• Trade Finance Plataformas de financiamentos empresariais e
comerciais
107. Aplicações e Soluções
• Payroll & Insurance: Plataformas de folhas de pagamento e
Seguros
• Payments: Plataforas de meios de pagamento
• Money Services: Plataformas de Serviços de transferencias de
valores financeiros (entre pessoas)
• Financial data: Plataformas de informações sobre o mercado de
finanças das redes Blockchain (Ethereum, Bitcoin, etc, etc..)
• Financial data: Plataformas de informações sobre o mercado de
finanças das redes Blockchain (Ethereum, Bitcoin, etc, etc..)
• Compliance, ID & Trust: Plataformas de analise de Risco
envolvendo segurança de dados, validação de usuarios e
confiança
• Merchants: Plataformas de processamento de pagamento
• ATMs: Postos físicos para compra e venda de bitcoins
• MicroTransactions: Canais de micropagamento
• Banks: Bancos que iniciaram processos de implementação de
redes Blockchain (Privadas/Hibridas) para colocar à disposição
do mercado
108. MiddleWare & Services
• Services
• Software Development
• General API´s
• Special APIS
• Platforms
• Smart Contracts
Infrastructure
• Public
• Special
• Payment
• Miners
109. RESUMO
• Tagline:
• Bitcoin Made Easy
• Localização:
• São Francisco,CA, US
• Ano de Fundação:
• 2012
• Site:
• www.coinbase.com
• Tamanho:
• .$$$
• Especializãção:
• Carteira (Soft Wallet)
Descrição
Coinbase torna mais fácil para a pessoa média e de negócios para
usar o bitcoin moeda digital. Fornece uma carteira digital e
solução de pagamento para as pessoas a pagar e pagamentos
receibe. Ele oferece a sua solução para bitcoin, que é uma moeda
descentralizada e digital. A empresa também permite aos
usuários pagar usando seus smartphones. Além disso, ele oferece
ferramentas mercantes, sucj como botões de pagamento, cargt de
compras, integração e pagamentos para merchantes para
adicionar bitcoin como opção de pagamento
Relevância
“Coinbase” leads charge in bitcoins consumerization
Techcrunch
110. RESUMO
• Tagline:
• Lead your industry
• Localização:
• Atlanta, GA, USA
• Ano de Fundação:
• 2011
• Site:
• www.bitpay.com
• Tamanho:
• $$$
• Especializãção:
• Currency/Merchans
Descrição
Bitpay. Inc um prestador de serviços de pagamento, fornece
soluções de processamento de pagamentos eletrônicos. a
empresa especializada em comércio eletrônico, B2B e soluções
empresariais para as moedas virtuais. Ele oferece ferramenta para
aceitar bitcoin pagamentos on-line ou pessoalmente com a opção
de receber os fundos como um depósito direto banco. A empresa
também fornece serviços que incluem pagamentos pela Internet,
os pagamentos presenciais, pagamentos móveis, API para
gateway de pagamento em bitcoin, preços e soluções
empresariais.
Relevância
The PayPal of Bitcoin
Techcrunch
111. RESUMO
• Tagline:
• P2P Clous Storage
Network
• Localização:
• Atlanta GA USA
• Ano de Fundação:
• Site:
• https://storj.io/
• Tamanho:
• $$$
• Especializãção:
• Storage
Descrição
STORJ (storage), utiliza da banda e do armazenamento
disponibilizados por você, recompensando em dinheiro a
disponibilização destes recursos.
Ele fragmenta os arquivos e distribui pela rede, utilizando o
sistema da chaves públicas e privadas da blockchain para
identificar os proprietários dos arquivos.
Relevância
Decentralized file storage systems like storj have the potential to eliminate
high mark-up costs and Market inefficiencies and provide a much higher level
of privaty, reliability and quality of service than we see today
Vitalik Buterin - Ethereum
112. RESUMO
• Tagline:
• First Game on
Blockchain
• Localização:
• Geneva SUI
• Ano de Fundação:
• 2010
• Site:
• http://www.spellsofgen
esis.com/
• Tamanho:
• $$$
• Especializãção:
• Games and Apps
Descrição
Primeiro jogo que utiliza o blockchain 2.0 através de sua moeda
interna própria chamada de BitCrystals.
Ele é baseado no counterparty, que compra moedas que são
utilizadas livremente no jogo ou fora dele.
Relevância
Primeiro jogo a se utilizar de uma rede Blockchain para
troca de moedas digitais.
113. RESUMO
• Tagline:
• The Global standard
for blockchain
intelligence
• Localização:
• United Kingdom
• Ano de Fundação:
• 2013
• Site:
• https://www.elliptic.co
/
• Tamanho:
• $$$
• Especializãção:
• Auditoria
Descrição
At Elliptic we are building the leading custodian bank for the
blockchain. All of our internal processes have been accredited by
KPMG to the same standard as a traditional custodian bank and
all of our customers’ blockchain assets are fully insured by a
Fortune 100 underwriter. In keeping with our custodian bank
mission – we have developed the world’s most robust anti-money
laundering (AML) technology for auditing blockchain transactions
as well as deep integration with the largest exchanges globally."
Relevância
115. So far, so good ....
Iniciante
• Comprar Bitcoin
• Comercializar
Altcoins
• Aprender as
BuzzWords
• Imaginar casos de
uso
Intermediário
• Aprender outras
Tecnlogias
• Escrever um
contrato
Inteligente
• Preparar suas
redes privadas
• Montar uma POC
Avançado
• Fazer perguntas
difíceis
• Montar um
laboratório
• Consolidar os
requisitos
• Trabalhar com
lideres do
mercado
• Sair de POC para
Piloto
Master
• Criar Arquiteturas
futuras
• Integrar com
reguladores
• Criar uma
Solução
financeira
• Se aliar a grandes
players do
mercado
116. Principais Referencias
• Adam Giles - Blockchain Advisor@BlockStrap &
Neuroware
• Melanie Swan - Escritora do Livro Blockchain
(OReyle Media) e Criadora do Institudo de
estudos sobre Blockchain
• Shermin Voshmgir - Fundadora do Blockchain
Hub
• Don Tapscott - Escritor e Pesquisador - Livro
Blockchain Revolution
Notas do Editor
Quando efetuamos uma troca de um bem qualquer por dinheiro físico, ou mais explicito ainda, quando compramos algo com dinheiro em papel, físico, podemos dizer que estamos efetuando uma transação do tipo Peer to peer. Ela tem diversas características básicas que correspondem à este tipo de tecnologia, como por exemplo: Não possui intermediário, ou seja, eu pego X Temers aqui e posso te entregar em troca de algo, como por exemplo sua caneta. Existe a detecção automática de fraudes, você já pode verificar se esse dinheiro é verdadeiro ou falso, você ve que o dinheiro existe, que a relação comercial que estamos fazendo é verdadeira, etc, eu posso conferir se essa caneta funciona, se é aquilo que eu esperava, etc tb.... Agente pode fazer isso em segredo sem que ninguém nesta sala saiba exatamente o que estamos “trocando” é distribuído porque poderíamos fazer isso em qualquer tipo de ambiente, uma loja, esta sala, no meio da rua, e existe a confiança pois nos conhecemos e sabemos que essa transação é valida. Além de ser a base das transações financeiras, se pudermos trazer um pouco de história aqui adventas da criação do papel moeda, é a base da blockchain. Mas já vamos chegar lá!
Porém, com o passar do tempo na história, sabemos que não há como andarmos com grandes quantidades de dinheiro no bolso, ou até mesmo guarda-los em casa, debaixo de um colchão certo? Isso fez com que fosse inventada a instituição mais sólida do universo: Os bancos! Mas sem pressa, vamos chama-los apenas de intermediadores nesse caso. Porque é isso que eles fazem a um bom tempo, eles intermediam nossas transações financeiras diariamente. Ou alguém além de raramente faz compras com dinheiro ainda? E esses depósitos que fazemos, onde guardamos nosso dinheiro, ou papel moeda, é a terceira parte envolvida. E o que ele faz em sua essência mais básica de todas? Adiciona complexidade ao modelo. Ele é o responsável por detectar fraude. Aquela sensação horrível de quando vc vai passar seu cartão de débito e crédito e não sabe se vai dar aprovada ou não, pois é!
Isso faz com que algo muito simples e o motivo pelo qual essa tecnologia nos faz estar aqui hoje para estuda-la é adiciona à complexidade custo, e quem paga isso somos geralmente nós!
Porém é de inconcebível nos dias de hoje sobreviver sem que esse intermediador exista e faça parte da nossa vida. Ele faz, ele está ai e até então nada muda isso. Com o passar do tempo, verificamos como esses intermediadores financeiros atuaram e conseguiram gerar um valor enorme para nossa vida.
Ao prover uma infraestrutura gigantesca e sólida nos permite efetuar nossas transações financeiras com uma facilidade extrema. Por trabalharmos dentro de uma instituição financeira, sabemos o quanto é investido em tecnologia e quanto toda essa infraestrutura é utilizada para “facilitar” nossa vida.
Ela gerencia nossas relações comerciais, ela é a responsável por autorizar ou negar um pagamento, ela faz todo meio campo pra nós
Automaticamente ela reduz a complexidade, olhando pela perspectiva do cliente, muitas vezes o que temos de fazer é apenas passar nosso cartão, preencher um cheque, etc, etc... Existe sim, uma alta complexidade por de trás de todas transações financeiras mas ela é minimizada sob à ótica do cliente.
Caso haja algo de errado, ela se torna a responsável por lidar com isso, como por exemplo quando clonam seu cartão de crédito, ela é a responsável por encontrar estas brechas e fazer o possível para minimiza-las, ficando você responsável apenas por efetuar as transações e pagar as devidas taxas.
Os intermediadores, criam uma lista interminável de de soluções que permitem a nós, clientes, efetuar as mais diversas opções de transações financeiras diariamente. Essa cesta serve basicamente para facilitar sua vida e além de tudo é o local onde mais se adquire receitas.
Compliance, etc ... Também relacionada a infraestrutura, garante que seu dinheiro está onde ele deve estar, e onde ele deveria estar, rendendo exatamente aquilo que foi acordado existem diversas organizações que garantem toda essa complexidade da gestão financeira por estes intermediadores.
E toda essa cadeia de pagamentos que é histórica nos traz à um cenário bastante animador. O que temos hoje em dia é visível por cada um de nós:
Cada vez mais efetuamos apenas transações online, é mínima a nossa ida ao banco físico, seja para efetuar alguma transação ou resolver algum problema. Temos diversas iniciativas de bancos inteiramente digitais que nos colocam em posição de eliminar completamente a necessidade de interação com uma agencia bancaria.
O aumento na segurança e na confiança em se efetuar transações online nos coloca como um mercado enorme a ser explorado de comercio online. No brasil de acordo com dados da E.bit mais de 41 bilhões de reais foram gastos em compras online em 2015.
Os aplicativos percebem esse aumento da confiança e do movimento das pessoas para compras online e iniciam um movimento de compras dentro do próprio aplicativo, facebook, instagram, e outros diversos já possuem ou estão desenvolvendo mecanismos para intermediar as transações financeiras entre as pessoas.
Jogos e gamificação nos trazem esse conceito de moedas virtuais, que ao adquiridas nos permitem transacionar dentro do próprio jogo. Cada um de nós, ao menos uma vez já efetuou uma transação dentro de algum jogo, seja Dota, WOW, etc, etc, etc.....
A globalização, a internet, as multinacionais, e todo mercado é dependente de transações internacionais a SWIFT atualmente a maior provedora de transferências internacionais detem praticamente um monopólio que faz com que as transações sejam lentas e morosas e eventualmente possam ser interceptadas e redirecionadas.
Também existe um movimento sobre transações que são feitas através de cartões de presentes, ou visa travel Money ou até mesmo cartões de fidelidade e clube de pontos. São formas mais recentes de aquisição e retenção de clientes mas não deixam de ser formas de se transacionar com estes e também, empresas que atuam com essas opções são intermediadores.
E o que vem pela frente, com quais tipos de transações e tecnologias nós iremos nos deparar nos próximos anos e irão nos atingir em cheio fazendo repensar e criar novas formas de transacionar valores financeiros?
A internet das coisas, que fará sua geladeira entender e iniciar um processo de compra de leite para você assim que você terminar de toma-lo. Seu fogão, sua cafeteira, seu carro, etc, etc, etc...
Objetos autônomos que irão efetuar suas transações necessárias através de
Automações financeiras, onde robôs poderão e farão seus investimentos, sua poupança, suas “trades” etc.... Porém isso demanda de muita legislação que ainda não existe!
A partir desse entendimento
Passada toda essa historia sobre o dinheiro e Economia monetária 01, o real assunto:
O que é blockchain?
Blockchain é a representação eletrônica de uma ledger .... E agora vocês perguntam o que diabos seria uma ledger certo?
Ledger é um livro razão, e em contabilidade é:
Ou seja, são os registros, de todas as transações efetuadas dentro de uma empresa. Estas ficam armazenadas em um livro razão, ou ledger que armazena todas essas transações transferindo valor de uma pessoa para outra. Se uma empresa compra um bem de um fornecedor, a transação é armazenada na ledger, eu transferi valores monetários para este fornecedor, que me forneceu um bem ou serviço (que tem seu valor agregado) ...
As transações na blockchain são cronológicas e após serem efetuadas não pode ser mais passível de alteração.
Dentro da blockchain, como em um livro razão, deve ser possível verificar se a mesma sofreu algum tipo de alteração (novas transações).
Paul Baran certa vez questionado sobre qual seria a melhor solução para que as telecomunicações não fossem afetadas sugeriu que existem apenas 3 tipos de redes .....
Centralizadas – Decentralizadas e Distribuidas. E porque isso é importante?
A blockchain, através do protocolo P2P trabalha exatamente em cima de uma rede distribuída através dos computadores (ou nós, ou mineradores, ou das carteiras,etc, etc) que existem dentro da rede blockchain criada ( que pode ser pública, privada e já em fase de implementação algumas redes chamadas de híbridas. O que torna a rede mais segura e estável, garantindo que todas as transações serão realmente efetuadas no seu devido tempo.
Ainda não é hora de falarmos sobre consenso e etc ... Mas guardem essa imagem que será importante!
https://www.youtube.com/watch?v=-3bnzmykCiM
Quais são as principais características do dinheiro (ou papel moeda, ou moeda corrente) que nos remetem a blockchain em sua essência ?
Durabilidade é a capacidade de armazena-la por muito tempo
Portabilidade é a capacidade de gasta-la onde quiser e poder transporta-la
Divisibilidade, é possível dividir em frações menores e gastar, transacionar apenas essa pequena parte
Uniformidade, cada unidade igual recebe o mesmo valor
Fonte limitada, é o máximo possível de moeda que é fornecido, garantindo a preservação do valor
Aceitabilidade, existir locais onde você pode trocar sua moeda por algum bem e/ou serviço.
A partir desse entendimento
22 de Maio é o pizza day! A primeira transação real de bitcoin.
Laszio Hanyecz ofereceu 10.000 BTC por duas pizzas – Alguém no reino unido pegou o telefone e comprou usando seu próprio cartão de crédito.
As pizzas custaram 24 dólares.
Hoje valem +6 milhões de dólares.
UTXO (Unspent Transaction output)
A sends 100 BTC to C and C generates 50 BTC. C sends 101 BTC to D, and he needs to send himself some change. D sends the 101 BTC to someone else, but they haven't redeemed it yet. Only D's output and C's change are capable of being spent in the current state.
UTXO (Unspent Transaction output)
UTXO (Unspent Transaction output)
UTXO (Unspent Transaction output)
UTXO (Unspent Transaction output)
UTXO (Unspent Transaction output)
UTXO (Unspent Transaction output)
UTXO (Unspent Transaction output)
UTXO (Unspent Transaction output)
UTXO (Unspent Transaction output)
Taxa de Hash
A taxa de hash é a unidade de medida do poder de processamento da rede Bitcoin A rede Bitcoin deve fazer operações matemáticas intensivas para fins de segurança. Quando a rede atinge uma taxa de hash de 10 Th/s, significa que ela pode processar 10 trilhões de cálculos por segundo.
P2PKH Script Validation
Edit | History | Report Issue | Discuss
The validation procedure requires evaluation of the signature script and pubkey script. In a P2PKH output, the pubkey script is:
OP_DUP OP_HASH160 <PubkeyHash> OP_EQUALVERIFY OP_CHECKSIG
The spender’s signature script is evaluated and prefixed to the beginning of the script. In a P2PKH transaction, the signature script contains an secp256k1 signature (sig) and full public key (pubkey), creating the following concatenation:
<Sig> <PubKey> OP_DUP OP_HASH160 <PubkeyHash> OP_EQUALVERIFY OP_CHECKSIG
The script language is a Forth-like stack-based language deliberately designed to be stateless and not Turing complete. Statelessness ensures that once a transaction is added to the block chain, there is no condition which renders it permanently unspendable. Turing-incompleteness (specifically, a lack of loops or gotos) makes the script language less flexible and more predictable, greatly simplifying the security model.
To test whether the transaction is valid, signature script and pubkey script operations are executed one item at a time, starting with Bob’s signature script and continuing to the end of Alice’s pubkey script. The figure below shows the evaluation of a standard P2PKH pubkey script; below the figure is a description of the process.
P2PKH Stack Evaluation
The signature (from Bob’s signature script) is added (pushed) to an empty stack. Because it’s just data, nothing is done except adding it to the stack. The public key (also from the signature script) is pushed on top of the signature.
From Alice’s pubkey script, the OP_DUP operation is executed. OP_DUP pushes onto the stack a copy of the data currently at the top of it—in this case creating a copy of the public key Bob provided.
The operation executed next, OP_HASH160, pushes onto the stack a hash of the data currently on top of it—in this case, Bob’s public key. This creates a hash of Bob’s public key.
Alice’s pubkey script then pushes the pubkey hash that Bob gave her for the first transaction. At this point, there should be two copies of Bob’s pubkey hash at the top of the stack.
Now it gets interesting: Alice’s pubkey script executes OP_EQUALVERIFY. OP_EQUALVERIFY is equivalent to executing OP_EQUAL followed by OP_VERIFY (not shown).
OP_EQUAL (not shown) checks the two values at the top of the stack; in this case, it checks whether the pubkey hash generated from the full public key Bob provided equals the pubkey hash Alice provided when she created transaction #1. OP_EQUAL pops (removes from the top of the stack) the two values it compared, and replaces them with the result of that comparison: zero (false) or one (true).
OP_VERIFY (not shown) checks the value at the top of the stack. If the value is false it immediately terminates evaluation and the transaction validation fails. Otherwise it pops the true value off the stack.
Finally, Alice’s pubkey script executes OP_CHECKSIG, which checks the signature Bob provided against the now-authenticated public key he also provided. If the signature matches the public key and was generated using all of the data required to be signed, OP_CHECKSIG pushes the value true onto the top of the stack.
If false is not at the top of the stack after the pubkey script has been evaluated, the transaction is valid (provided there are no other problems with it).