Implicações da Proibição do Bitcoin
Esta é uma tradução do texto “Implications of Outlawing Bitcoin”, do Der Gigi, publicado originalmente no dia 01 de maio de 2019.
Este artigo é publicado com a licença CC BY-SA 4.0, ou seja, copiem a vontade! (mas com os devidos créditos. Mais informações neste link https://creativecommons.org/licenses/by-sa/4.0/).
Tradução por Leta.
Com a palavra, o autor:
Bitcoin é complicado e assustador. Assim como o fogo, a eletricidade, computadores e todas as outras invenções revolucionárias anteriores. Ele é complicado e assustador porque a maioria das pessoas não entende como funciona e por que pode ser útil.
Depois de começar a entender como ele funciona, você começará a entender por que ele é tão útil para as pessoas ao redor do mundo. E espero que, uma vez que você realmente entenda seus princípios operacionais básicos, comece a entender por que proibir o Bitcoin é uma proposta tola.
À luz dos comentários recentes de legisladores e políticos, não devemos esquecer o que o Bitcoin faz e como ele faz o que faz. Bitcoin é texto. Bitcoin é fala. Bitcoin é matemática. Bitcoin não tem jurisdição, assim como 2 + 2 = 4 não tem jurisdição. Bitcoin não conhece fronteiras. O Bitcoin está em toda parte e em lugar nenhum e, se usado e protegido de maneira adequada, o Bitcoin é tão confiscável quanto um pensamento. Nenhuma quantidade de linguagem jurídica ou de outra forma complicada mudará esses fatos.
O uso de Bitcoin não requer nenhum equipamento especial. Usamos software e hardware especializado para usar o Bitcoin de maneira mais eficiente e segura, mas, em teoria, o Bitcoin pode ser executado em papel e caneta.
As seguintes afirmações são e sempre serão verdadeiras:
- Você pode criar uma chave privada jogando uma moeda.
- Manter uma chave privada permite que você receba sats e crie transações.
- Criar uma transação é matemática.
- Enviar uma transação é enviar uma mensagem.
- Minerar Bitcoin é adivinhar um número.
- Tudo no Bitcoin é informação.
Essas declarações vão soar estranhas para você se você não souber como o Bitcoin opera, mas permanecem verdadeiras. Felizmente, o Bitcoin é um sistema aberto, o que significa que todos podem aprender os detalhes operacionais da rede. Eu o encorajo a fazer isso e, se possível, educar outras pessoas. Não devemos esquecer o que os políticos estão insinuando quando refletem sobre “banir carteiras” e inventar adjetivos sem sentido e hipócritas, como “auto-hospedado” e “sem custódia”.
Uma carteira não é nada especial; podem ser apenas algumas palavras em sua cabeça (1). Você não precisa de equipamento especializado para gerar uma carteira segura. Uma moeda ou um dado é tudo que você precisa.
Criar uma carteira é lançar uma moeda
Para interagir com a rede Bitcoin, você precisa de uma carteira, ou seja, você precisa de uma chave privada (2). Embora os conceitos convencionais não se apliquem bem ao Bitcoin, pode-se argumentar que criar um par de chaves pública-privada é semelhante a criar uma conta. E como as chaves públicas são derivadas de chaves privadas, só temos que responder a uma pergunta: o que são chaves privadas e como são criadas?
Uma chave privada é um número de 256 bits. É isso. Fim da história (3).
Então, o que é exatamente um número de 256 bits? Bem, como o nome sugere, um número de 256 bits é um número que, quando representado por zeros e uns, tem 256 dígitos binários. Em outras palavras: é um número muito grande.
⚠️ Aviso: As chaves privadas mostradas nesta página são chaves privadas reais. Não envie bitcoins para, nem importe/use nenhuma chave de amostra; você perderá seu dinheiro.
Repito: VOCÊ PERDERÁ SEU DINHEIRO
O seguinte é um número de 256 bits:
0010111011001011101110101011010110001001101111010001011010100110001001110010101110101010101011001011101110101010110101100011100010100100001000001010001011011100000111000111010101010011111010001001110010101110101010101011000000011011000001110000000111000101001000010000010100010110111000001110001110101010100111110100010011100101011101010101010110000000110110000011100000001110001010010000100000101000101101110000011100011101010101001110101000110110000011100000001110001010010000100000101000101101110000011100011101010101001111101000
Esses zeros e uns — ou, mais precisamente, as informações contidas nesses zeros uns — são uma chave privada Bitcoin válida. Você pode usar essas informações para receber e enviar transações na rede Bitcoin (4).
Por que isso é importante? É importante porque posso criar uma carteira Bitcoin sentando-me em meu quarto, jogando uma moeda 256 vezes. Se você quiser banir as “carteiras anônimas”, terá que banir essa atividade, junto com todas as outras técnicas para criar números aleatórios: jogar dados, tirar cartas, medir turbulências ópticas ou atmosféricas e assim por diante.
Além disso, como esses zeros e uns são apenas informações, você pode representá-los de inúmeras maneiras diferentes. A informação não muda; apenas a representação das mudanças de informação. A versão hexadecimal 12e188aeb7c9aeb0eef7fac7c89e3b9b535a30b2ce8d6b74b706fa6f86b061e4 representa a mesma chave privada que os zeros e uns acima. Assim como o seguinte código mnemônico, que pode ser aprendido de cor com alguma prática:
concerto, congelado, puxar, batalha, gastar, fantasia, orientar, interior, teste, enviar, assustar, mecânico, acordado, misericordioso, bloqueio, interior, linguagem, etiqueta, traço, controle, emprestar, quadril, imprimir, absorver
Lembre-se: esta informação, este número de 256 bits, é tudo que você precisa para interagir com a rede Bitcoin. Você não precisa de um documento de identidade, passaporte, conta de luz ou comprovante de residência. Você nem mesmo precisa ser humano. Se você está no controle de uma chave privada Bitcoin, pode enviar e receber transações.
Se você quiser entender o Bitcoin, terá que entender que uma carteira pode ser criada lançando uma moeda 256 vezes.
Manter uma chave privada permite que você ganhe sats
Você jogou uma moeda 256 vezes. O que agora? É hora de ganhar algum dinheiro!
Para receber sats, você precisa de um endereço, que pode ser derivado de sua chave privada. Pegue uma caneta e papel, vá até sua mesa e calcule sua chave pública de acordo com o BIP32. Se você tem pouco tempo ou é ruim em matemática, não se desespere. Existem ferramentas online(5) que farão as contas para você. Mas lembre-se de que essas ferramentas de software não fazem nada estranho ou mágico. É apenas matemática, e você pode fazer isso sozinho usando nada além de caneta e papel.
O resultado de toda essa matemática produzirá um número que, quando codificado como um endereço de bitcoin, será semelhante a este:
bc1qd6yf555vwns0mpgy55epux4tzf8a40nmw2vpgq
Compartilhe seu endereço com outra pessoa e você estará pronto para receber seus primeiros sats. Lembre-se de que você não precisa compartilhar o endereço exatamente neste formato. Você pode codificá-lo como um código QR, como um número, emojis(6), como um arquivo de áudio ou como braille. Você pode colocá-lo em sua fatura, exibi-lo em sua página inicial, em seu perfil, enviá-lo por meio de um aplicativo de mensagens ou tatuá-lo em seu corpo. É apenas informação. Pode ser representado de inúmeras maneiras.
Além disso, lembre-se de que você não precisa estar online para receber sats. Os sats não serão enviados a você diretamente. Alguém vai assinar uma mensagem que vai transferir os sats para o seu nome — desculpem minha linguagem imprecisa. Não é o seu nome, é claro, já que o Bitcoin não conhece nenhum nome. Mas essa seria uma maneira de pensar sobre isso.
Alguém acaba de transmitir uma transação que inclui seu endereço como saída, o que significa que você receberá seus primeiros sats em breve. O que agora? É hora de criar uma transação e passá-los adiante.
Criar uma transação é matemática
Se você tiver uma chave privada, pode criar uma transação. Lembre-se de que uma chave privada é apenas um grande número. O que você pode fazer com números? Você adivinhou: matemática!
Em sua forma mais simples, uma transação de bitcoin é uma mensagem que diz algo como o seguinte:
“Eu, Alice, por meio deste, transfiro 21 sats para Bob. Assinado, Alice.”
As transações reais podem ter vários remetentes e vários destinatários, bem como vários outros ajustes e eficiências, mas a essência permanece a mesma. O que é importante observar é que nada é segredo em uma transação. Todas as transações são transmitidas por toda a rede, visíveis e verificáveis por todos. Todas as transações são em texto simples. Nada é criptografado.
Para escrever “Alice envia 21 sats para Bob” de uma forma que faça sentido para a rede Bitcoin, um formato especial e mais preciso deve ser usado. Não se confunda com o formato da mensagem ou como a mensagem é codificada. Não importa se o idioma é inglês ou algo que seja mais fácil de entender para computadores. O significado da mensagem permanece o mesmo. Eu poderia escrever acima como [A] — 21 → [B] e assiná-lo com a chave privada que corresponde a A, e seria essencialmente a mesma coisa.
Isso nos leva à parte importante: a assinatura. Assinaturas escritas à mão não são muito úteis em um mundo digital, e é por isso que matemáticos e criptógrafos criaram um equivalente moderno: assinaturas digitais.
Não vou entrar em detalhes explicando como eles funcionam, mas a parte importante é esta: é tudo apenas matemática e números. Sua chave privada atua como um grande número secreto que é usado para realizar operações matemáticas. O resultado dessas operações matemáticas é uma assinatura digital (outro número) que pode ser verificada usando sua chave pública, que é, novamente, um número.
A matemática é o que faz a criptografia de chave pública funcionar. A beleza dessa matemática é que você pode verificar se o remetente está no controle de um número secreto sem revelar o número secreto. Isso é o que as assinaturas criptográficas fazem.
Vejamos um exemplo. O seguinte é uma transação válida(7):
01000000017967a5185e907a25225574544c31f7b059c1a191d65b53dcc1554d339c4f9efc010000006a47304402206a2eb16b7b92051d0fa38c133e67684ed064effada1d7f925c842da401d4f22702201f196b10e6e4b4a9fff948e5c5d71ec5da53e90529c8dbd122bff2b1d21dc8a90121039b7bcd0824b9a9164f7ba098408e63e5b7e3cf90835cceb19868f54f8961a825ffffffff014baf2100000000001976a914db4d1141d0048b1ed15839d0b7a4c488cd368b0e88ac00000000
Você pode usar várias ferramentas(8) para decodificá-lo e inspecioná-lo. Essas ferramentas ajudam a nós, humanos, a entender tudo, mas a realidade subjacente permanece: são os números em todos os sentidos.
Para reiterar, o seguinte é tudo que você precisa fazer para interagir com a rede Bitcoin:
- Passo 1: jogue uma moeda algumas vezes.
- Passo 2: faça algumas contas.
- Passo 3: enviar e receber mensagens.
Proibir qualquer uma dessas três etapas é ridículo. É ridículo devido à natureza peculiar da informação. Se você banir certos tipos de informação, implicitamente bane todas as representações dessas informações: texto, fala, imagens, emojis, códigos QR, linguagem de sinais, dança interpretativa e assim por diante. E uma vez que todas as informações podem ser representadas como um número — incluindo a matemática e o próprio código de computador, isso se resume a tornar os números ilegais.
Embora proibir números seja tão ridículo quanto possa parecer, isso já aconteceu no passado. Números ilegais e números primos ilegais existem precisamente porque algumas pessoas tentaram proibir certos tipos de informação.
A sociedade e os legisladores terão que lidar com o fato de que as carteiras e transações do Bitcoin são apenas informações, como tudo o mais no Bitcoin.
Gastar sats é enviar uma mensagem
Como uma transação de Bitcoin é apenas informação, enviar sats para alguém é propagar essa informação, ou, em outras palavras: enviar uma mensagem. Você nem mesmo precisa enviar a mensagem para uma pessoa em particular. As transações da camada base são transações de transmissão. Eles são enviados para todos na rede.
Lembre-se de que qualquer canal de comunicação pode ser usado para enviar e receber informações. A Internet é simplesmente a ferramenta de comunicação mais eficiente que temos atualmente. Mas não há razão para que você não possa usar uma conexão via satélite ou rádio amador, que as pessoas estão e têm usado, seja por diversão ou necessidade.
O fato de que gastar sats está enviando uma mensagem não muda nas camadas superiores. Os nodes (ou nós) na Lightning Network estão fazendo a mesma coisa: eles estão enviando mensagens de um lado para outro. Nada mais nada menos.
Isso esconde duas verdades sobre o Bitcoin à vista de todos:
- Bitcoin é um protocolo de mensagens
- Todas as mensagens são em texto simples
As mensagens podem ser enviadas por meio de um canal de comunicação criptografado, mas as mensagens do protocolo são e sempre serão em texto simples. Eles têm que ser. O ponto principal do Bitcoin é que tudo pode ser facilmente verificado por todos.
Proibir o Bitcoin implica proibir o envio de mensagens. Lembre-se de que estamos lidando com informações puras. As informações podem ser codificadas de maneiras virtualmente infinitas: formatos diferentes, o mesmo significado. E aqui está o ponto crucial: você não pode proibir o significado de uma mensagem. Se você não conhece o protocolo, o significado da mensagem irá escapar de você. Se você não fala a língua, não sabe o que está sendo dito ou por que está sendo dito.
Isso nos leva à última peça do quebra-cabeça do protocolo Bitcoin: mineração.
Minerar bitcoin é adivinhar um número
A maioria das pessoas não entende o que é a mineração de Bitcoin e como funciona. Eles não falam a língua do Bitcoin, falhando em entender tanto o que é falado e porque é falado em primeiro lugar.
Os mineradores de Bitcoin não estão fazendo nada de especial, assim como os computadores não estão fazendo nada de especial. Eles estão analisando números.
Não muito tempo atrás, quando você disse “computador”, estava se referindo a uma pessoa. Era uma descrição de trabalho, não uma coisa. A maneira mais eficiente de calcular os números era pagar a uma pessoa para se sentar e fazer as contas.
Com o tempo, constuímos engenhocas cada vez mais eficientes para fazer as contas para nós. Hoje, quando dizemos “computador”, queremos dizer algo que usa microchips em vez de cérebros para fazer a computação. Mas a realidade subjacente não mudou: os computadores analisam os números. Eles não fazem nada de especial, tortuoso ou mágico. O mesmo é válido para ASICs.
O Bitcoin, como o software da NASA antes dele, também pode ser executado em um substrato humano. Não precisamos de ASICs para minerar bitcoin. Poderíamos fazer isso manualmente. Poderíamos usar nossos cérebros. É lento, complicado e ineficiente. Mas podemos fazer isso com certeza.
Assim como você pode usar pombos em vez de computadores para operar a Internet, você pode usar humanos em vez de chips de silício para executar bitcoin. Seria altamente ineficiente, sim, mas funcionaria da mesma forma.
Como Ken Shirriff mostrou em seu vídeo de 2014, SHA-256 é simples o suficiente para ser calculado com caneta e papel. Ele conseguiu fazer uma rodada de SHA-256 em 16 minutos e 45 segundos, o que resulta em uma taxa de hash de 0,67 hashes por dia.
Estou mostrando tudo isso para tornar explícito quais são os blocos de construção básicos do Bitcoin: números, matemática e troca de mensagens.
Isso é verdade para todos os processos em Bitcoin. Não importa se você cria uma chave privada, obtém uma chave pública, gera um endereço Bitcoin, extrai um bloco, assina uma transação ou abre um canal Lightning. Tudo o que você está fazendo é descobrir ou encontrar grandes números, manipulá-los por meio de equações matemáticas e enviar o resultado dessas equações para seus colegas. É isso.
“A comunicação não perde a proteção constitucional como “discurso” simplesmente porque é expressa na linguagem do código de computador. Fórmulas matemáticas e partituras musicais são escritas em “código”, ou seja, notações simbólicas não compreensíveis para os não iniciados e, ainda assim, ambas são cobertas pela Primeira Emenda. Se alguém escolheu escrever um romance inteiramente em código de objeto de computador usando sequências de 1 e 0 para cada letra de cada palavra, o trabalho resultante não seria diferente para fins constitucionais do que se tivesse sido escrito em inglês.” — Junger v. Daley*, 209 F.3d 481, 484
Depois de entender que Bitcoin é informação — e que os computadores e a internet são apenas os melhores substratos para transformar e transmitir essas informações — as implicações de proibir o Bitcoin devem ficar claras. Você pode colocar Bitcoin em um livro, o que significa que você teria que proibir a publicação de livros. Você pode falar bitcoin proferindo 12 palavras, o que significa que você teria que proibir a fala. Você pode extrair bitcoins com caneta e papel, o que significa que você teria que proibir a matemática, o pensamento ou a escrita. Você pode armazenar bitcoin em sua cabeça, o que significa, é claro, que ter certos pensamentos é ilegal se “guardar bitcoin” for ilegal.
Se ter 12 palavras na sua cabeça é ilegal, algo está terrivelmente errado com a lei. Se a polícia invadir seu prédio porque você está encontrando ou criando um número aleatório na privacidade de sua própria casa, algo está terrivelmente errado com a polícia. Se a troca pacífica de mensagens é vista como perigosa ou imoral pela sociedade, algo está terrivelmente errado com a sociedade. Se falar ou saber números se tornar um ato criminoso, eu não quero ser um cidadão cumpridor da lei em primeiro lugar.
Bitcoin é pura informação. Ele utiliza as propriedades da informação, bem como a transformação da informação — computação — para construir uma construção compartilhada que podemos concordar e verificar independentemente. Não é nada além de matemática e números. Zeros e uns, enviados e recebidos por participantes voluntários que desejam enviar e receber mensagens em paz.
Conclusão
Uma chave privada de Bitcoin é um grande número. Quando representado como palavras, esse número pode ser armazenado em sua cabeça. Uma chave privada é tudo o que é necessário para enviar e receber pagamentos. Você pode assinar e verificar transações com caneta e papel. Você pode minerar bitcoin com caneta e papel. Bitcoin é apenas um protocolo de mensagens que faz essas operações de forma eficiente e automática.
Compreender o Bitcoin a partir dos primeiros princípios tornará óbvio que a ideia de banir “carteiras criptográficas anônimas” não é viável. Você teria que proibir a geração de entropia, o ato de criar números aleatórios. Você teria que vigiar a todos o tempo todo, chutando suas portas e prendendo-os quando eles se sentassem e começassem a jogar uma moeda ou dados. Você teria que aprovar uma legislação que criminalizasse o próprio pensamento, já que criar uma “carteira de bitcoin anônima” nada mais é do que criar 12 palavras aleatórias.
Caros legisladores, pergunto-lhes sinceramente: estão preparados para proibir o pensamento? A matemática deve ser ilegal? Você realmente acredita que proibir o discurso é uma boa ideia?
Espero que todos possamos concordar que o pensamento e a palavra são fundamentais para uma sociedade livre e próspera. E espero que, à medida que mais e mais pessoas entendem como o Bitcoin opera, os cidadãos e legisladores percebam que o Bitcoin é apenas isso: pensamento e palavra.
Leitura Adicional
- Mineração de bitcoin da maneira mais difícil por Ken Shirriff
- Usando o protocolo Bitcoin bruto de Ken Shirriff
- Crie uma transação Bitcoin manualmente por Ádám Ficsór
- Lembrando o caso que estabeleceu o código como discurso pela EFF
- Por que a América não pode regular o Bitcoin por Beautyon
- Lição 6: O poder da liberdade de expressão
Referências
1 — Aviso: Não use carteiras cerebrais, a menos que seja absolutamente necessário. O esquecimento e a perda da função cerebral levarão à perda de fundos. Não crie chaves privadas em sua cabeça. O cérebro humano é péssimo para criar números aleatórios.
2 — Uma carteira Bitcoin é geralmente um pedaço de software ou hardware que guarda suas chaves privadas e assina transações. Chamar essas coisas de “carteiras” não foi a melhor ideia, mas estamos presos a isso. Seria melhor falar sobre (conjuntos de) chaves privadas e signatários. As chaves privadas podem ser frias (nunca tocar na Internet) ou quentes. Os signatários podem ser implementados como software ou hardware.
3 — Bitcoin Wiki, Chave Privada: https://en.bitcoin.it/wiki/Private_key
4 — Não faça isso. Como essa chave privada é uma informação pública, todo o dinheiro que você colocar em endereços gerados por ela desaparecerá em segundos. A sério. Nunca use nenhuma chave privada que encontrar online. (Além disso: não use seu cérebro para inventar um. Use moedas, dados ou carteiras de hardware, ou combine várias fontes de entropia. Se você consegue pensar nisso, outra pessoa também o fará.)
5 — Esta ferramenta permite os coin flips https://bip32jp.github.io/english/
6 — Eu usei “emojicoding” para transformar meu endereço bitcoin em emojis.
7 — Você pode conferir a transação no block explorer por você mesmo entrando este ID: fc9e4f9c334d55c1dc535bd691a1c159b0f7314c54745522257a905e18a56779
8 — Existem diversas ferramentas para decodificar as transações. Aqui está um exemplo: https://live.blockcypher.com/btc/decodetx/