Avançado Aula 5 4 min de leitura

Os desafios do Bitcoin Puzzles: como esta plataforma monta os seus

Como um desafio daqui é construído, o que ele garante ao participante e como a solução é verificada.

Um desafio desta plataforma tem duas peças, e nenhuma delas exige confiar em quem o criou. A primeira é um endereço de bitcoin. A segunda é um prêmio que sai do saldo de quem publicou o desafio e fica bloqueado ali até alguém resolver.

Repare no que essa segunda peça resolve. Um enigma publicado num fórum vale o quanto a palavra de quem o publicou valer: quem garante que existe prêmio, e que ele será pago? Aqui o valor deixa de ser promessa no instante em que o desafio nasce. Ele sai do bolso de quem cria, é bloqueado pelo sistema, e nem essa pessoa consegue tocá-lo enquanto o desafio estiver de pé.

O prêmio fica à vista e fora do alcance, inclusive de quem o pôs ali.

A verificação da resposta é a parte que fecha o curso, porque ela é exatamente a receita da Aula 3 do Módulo 4, executada por um programa em vez de à mão. Quem acha que resolveu envia uma chave privada. A plataforma multiplica essa chave pelo gerador da secp256k1, obtém a chave pública, aplica SHA-256 e depois RIPEMD-160, monta o endereço e compara com o endereço do desafio. Se os dois forem iguais, o prêmio é pago na hora. Se não forem, cobra-se uma taxa mínima pela tentativa e nada mais acontece.

Vale insistir num ponto que muita gente demora a acreditar: a plataforma não guarda a resposta em lugar nenhum. Não existe um campo com a chave certa contra o qual comparar, e ninguém aqui a conhece. O que existe é a receita, refeita a cada tentativa. É a diferença entre um sistema que sabe a resposta e um que apenas sabe reconhecê-la — e é a mesma diferença que a Aula 1 do Módulo 4 explicou sobre funções de hash.

Não há juiz. Ou a chave gira, ou não gira.

A taxa por tentativa errada existe por um motivo aritmético. Sem custo nenhum, a forma ótima de jogar seria disparar milhões de palpites automáticos contra o formulário — o que transformaria o servidor no hardware de busca de outra pessoa. Com um custo pequeno por tentativa, o palpite às cegas deixa de valer a pena e a busca volta para onde ela pertence: a máquina de quem procura.

As dicas funcionam como um mercado, e o desenho é deliberado. Qualquer dica se compra, e cada compra encarece a seguinte em dez por cento — quanto mais gente considera a dica valiosa, mais caro fica o atalho. Do que se paga, uma parte vai para quem escreveu a dica e outra parte engorda o prêmio do próprio desafio. Quem ajuda a resolver aumenta o que se ganha ao resolver.

Cada dica comprada devolve uma parte ao prêmio.

Há ainda as alianças, que são a resposta desta plataforma ao problema da Aula 6 do módulo anterior: gente que procura junta, com um canal próprio para combinar quem varre o quê, em vez de mil pessoas cavando o mesmo buraco.

E há a solução publicada. Depois que um desafio cai, duas pessoas — e só elas — podem escrever como aquilo foi feito: quem criou e quem resolveu. Antes disso ninguém pode, porque uma explicação publicada com o desafio ainda aberto entregaria a resposta a quem ainda está procurando. Depois, ela vira o que este curso inteiro é: material de estudo com o método exposto.

Você começou perguntando o que é dinheiro e por que o que usamos falha. Passou pela proposta de Satoshi, pelo livro-caixa, pela mineração e pelos 21 milhões. Aprendeu a usar sem se machucar, a guardar uma semente e a herdá-la. Entendeu o hash, a curva, a assinatura e o endereço byte a byte. Viu a rede por dentro, do UTXO ao ajuste de dificuldade, e o que existe acima dela. E terminou com as contas na mesa: corpos finitos, ECDSA, cangurus e o custo real de procurar uma chave.

Falta só a parte que não se aprende lendo. Os desafios estão em /pt/puzzles, o prêmio de cada um é real e está bloqueado à espera, e a verificação é a mesma receita que você agora sabe refazer à mão.