avatar of 发明者量化-小小梦 发明者量化-小小梦
focar em Mensagem privada
4
focar em
1271
Seguidores

Como funciona o protocolo Bitcoin (parte 2)

Criado em: 2017-01-19 18:30:04, atualizado em:
comments   0
hits   1831

Como funciona o protocolo Bitcoin (parte 2)

  • #### Bitcoin

Agora, vamos deixar o Infocoin e passar para o verdadeiro protocolo do Bitcoin. O Bitcoin não tem muita diferença do Infocoin que acabamos de criar, exceto por uma mudança óbvia.

Para usar o Bitcoin, primeiro você tem que instalar uma carteira no seu computador. Para que você entenda melhor, a imagem abaixo é uma tela de uma carteira chamada Multibit. Na parte superior esquerda você pode ver o saldo do Bitcoin em 0.06555555 bitcoins, o que equivale a quase US $ 70 de acordo com o preço de transação do momento da tela.

Como funciona o protocolo Bitcoin (parte 2)

Suponha que você é um comerciante, você tem uma loja on-line pronta, e você decide permitir que os clientes paguem em bitcoins. Tudo o que você precisa fazer é gerar um novo endereço bitcoin com o seu aplicativo de carteira. Ele gerará automaticamente um par de chaves públicas e privadas, e depois hash sua chave pública para formar seu endereço bitcoin.

Como funciona o protocolo Bitcoin (parte 2)

Então você envia o seu endereço de Bitcoin para quem quer pagar você. Você pode usar o e-mail, ou colocá-lo diretamente em sua página web. Isso é seguro, porque o seu endereço é apenas uma chave pública que é hashed, e você pode divulgá-lo com segurança para qualquer um (e ninguém pode usar isso para obter a sua chave privada). Eu vou explicar mais tarde por que o endereço de Bitcoin usa o hash da chave pública e não a chave pública em si.

Agora, quem está disposto a pagar precisa criar uma nova transação. Vejamos um dado de transação de uma transferência real de 0,319 bitcoins. Aqui abaixo, este é quase o original, com três mudanças: 1) os dados não são seqüenciados; 2) os números de linha são adicionados para melhor compreensão; 3) uma longa sequência de números de dados de hash é omitida, mantendo apenas os primeiros 6 dígitos.

  1.  {"hash":"7c4025...",
  2.  "ver":1,
  3.  "vin_sz":1,
  4.  "vout_sz":1,
  5.  "lock_time":0,
  6.  "size":224,
  7.  "in":[
  8.    {"prev_out":
  9.      {"hash":"2007ae...",
  10.      "n":0},
  11.    "scriptSig":"304502... 042b2d..."}],
  12. "out":[
  13.   {"value":"0.31900000",
  14.    "scriptPubKey":"OP_DUP OP_HASH160 a7db6f OP_EQUALVERIFY OP_CHECKSIG"}]}

Na parte anterior, falamos de um dado de transação que tem apenas uma entrada e uma saída. Na verdade, a maioria das transações de Bitcoin tem várias entradas ou saídas.

  1. {"hash":"993830...",
  2. "ver":1,
  3. "vin_sz":3,
  4.  "vout_sz":2,
  5.  "lock_time":0,
  6.  "size":552,
  7.  "in":[
  8.    {"prev_out":{
  9.      "hash":"3beabc...",
  10.        "n":0},
  11.     "scriptSig":"304402... 04c7d2..."},
  12.    {"prev_out":{
  13.        "hash":"fdae9b...",
  14.        "n":0},
  15.      "scriptSig":"304502... 026e15..."},
  16.    {"prev_out":{
  17.        "hash":"20c86b...",
  18.        "n":1},
  19.      "scriptSig":"304402... 038a52..."}],
  20.  "out":[
  21.    {"value":"0.01068000",
  22.      "scriptPubKey":"OP_DUP OP_HASH160 e8c306... OP_EQUALVERIFY OP_CHECKSIG"},
  23.    {"value":"4.00000000",
  24.      "scriptPubKey":"OP_DUP OP_HASH160 d644e3... OP_EQUALVERIFY OP_CHECKSIG"}]}
  • Como já foi dito anteriormente, a maior parte das explicações são as mesmas.

    A linha 1, o hash da transação, é usada como o único indicador dessa transação.

    Linha 2, versão do protocolo Bitcoin, 1a edição.

    As linhas 3 e 4 dizem que há três entradas e duas saídas nesta transação.

    Linha 5, tempo de bloqueio ((e como antes) )

    Linha 6, o tamanho do byte da transação.

    As linhas 7 a 19 definem todas as entradas, cada uma correspondendo à saída da transação anterior. A primeira entrada é a linha 8 a 11. O conteúdo é o mesmo que o anterior. A segunda entrada é a linha 12 a 15, a terceira é a linha 16 a 19.

    As linhas 20 a 24 definem todas as saídas. A primeira saída é a linha 21 e 22, e, como antes, a linha 21 diz que há 0,01068 bitcoins dentro. A linha 22 é uma linguagem de script para bitcoins.

    Parece um pouco estranho que, embora cada saída tenha o número de bitcoins registrado, a entrada não. Claro, quantos bitcoins cada entrada pode obter de sua transação anterior. Em uma transação normal de bitcoin, a soma de todos os valores de entrada é maior do que a soma de todas as saídas (exceto as transações do bloco Genesis e da base de moeda mencionadas acima), e se a soma da entrada for maior do que a da saída, os bitcoins excedentes serão fornecidos aos mineiros do bloco onde a transação foi feita.

    A função de múltiplas entradas e saídas é encontrar zero. Suponha que eu quero te dar 0.15 bitcoins. Eu posso gastar os 0.2 bitcoins que eu recebi antes. Claro, eu não quero te dar todos os 0.2, então a solução é, eu te mando 0.15 bitcoins e depois eu mando para outro endereço de bitcoins meu outro 0.05 bitcoins. Assim, esse 0.05 é encontrar zero para mim.

  • Conclusão

O conceito básico por trás do Bitcoin já foi descrito. Claro, eu também omitiu muitos detalhes, pois não é um manual oficial. Mas eu quero descrever o conceito por trás do Bitcoin que é usado comumente.

Embora as regras por trás do Bitcoin sejam simples e fáceis de entender, isso não significa que todos os possíveis resultados que essas regras produzirão também sejam fáceis de entender. Há muito mais a ser dito sobre o Bitcoin, e eu vou falar sobre isso em um artigo posterior. Mas agora, eu vou fazer um resumo em pedaços.

Muitas pessoas dizem que o Bitcoin pode ser usado de forma anônima. Esta afirmação foi criada em um mercado negro semelhante ao Silk Road. No entanto, esta afirmação é fictícia. A Blockchain é pública, o que significa que qualquer pessoa pode ver todas as transações de Bitcoin. Embora o endereço do Bitcoin não corresponda diretamente à identidade de pessoas no mundo real, os cientistas de computadores já fizeram muito trabalho para decifrar a rede social anônima.

Você pode enriquecer com Bitcoin? Talvez sim, Tim O’Reilly disse que ganhar dinheiro é como um tanque de gasolina dentro de um carro, você precisa estar atento para não ficar preso na estrada, mas a vida não gira em torno de um posto de gasolina! Oh, a maioria do interesse em Bitcoin parece ter vindo de pessoas cujo único objetivo na vida é encontrar um grande posto de gasolina. Devo admitir que isso é confuso.

Detalhes que eu omiti: Embora este artigo descreva o conceito principal por trás do Bitcoin, há muitos detalhes que eu não mencionei. Um deles é uma ótima técnica de economia de espaço no protocolo, baseada em uma estrutura de dados chamada Merkle tree. É detalhista, mas é um detalhe incrivelmente bom, e vale a pena ver se você gosta de estrutura de dados.

Bitcoin Script: Neste artigo, eu explico o Bitcoin como uma moeda eletrônica on-line. Mas isso é apenas uma pequena parte de uma história maior e mais interessante. Como vimos, há uma linguagem de script do Bitcoin em cada transação de Bitcoin.

Se achar útil, recomendo que você dê uma dica para o autor deste artigo, Michael Nielsen, em 17ukkKt1bNLAqdJ1QQv8v9Askr6vy3MzTZ, ou siga-o no Twitter. Ou fique atento ao primeiro capítulo de seu novo livro sobre redes neurais e aprendizagem profunda que será publicado em breve.

O blogue do tradutor também é bem-vindo: 1015

O artigo foi adaptado de um artigo publicado em The New York Times.