Avançado Aula 6 4 min de leitura

Divisão de intervalo e trabalho compartilhado

Muita gente procurando no mesmo intervalo desperdiça quase tudo. Dividir o espaço e provar o que foi varrido é o que faz um esforço coletivo valer.

Dois mil computadores procurando a mesma chave, cada um começando de onde bem entende, valem por bem menos que dois mil. Valem por algo próximo de um. É o problema mais caro e mais evitável desta área inteira, e resolvê-lo não exige matemática nova — exige combinar antes de começar.

A causa é aritmética simples. Se cada máquina sorteia por onde começar dentro de um intervalo de setenta bits, a chance de duas delas cobrirem trechos diferentes é alta no começo e despenca conforme o trabalho avança. O esforço total cresce, o esforço distinto quase não cresce, e o resultado é uma multidão exausta que varreu a mesma coisa muitas vezes.

Cinquenta homens cavando o mesmo buraco não cavam cinquenta buracos.

A solução é dividir o espaço antes. O intervalo é cortado em pedaços — digamos um milhão deles —, e cada participante recebe um pedaço que ninguém mais recebeu. Quando termina, pede outro. É a mesma lógica de um mutirão de busca por uma pessoa desaparecida: o campo é quadriculado no mapa, e cada equipe fica com um quadrado.

Um servidor central que distribui pedaços resolve a coordenação e cria um problema novo: quem distribui sabe tudo. Ele sabe quem procurou onde, sabe o que já foi varrido, e está numa posição privilegiada se a chave aparecer. Isso nos leva à parte difícil.

Como um participante prova que realmente varreu o pedaço que recebeu? Ele não pode simplesmente dizer que varreu, porque mentir é grátis e rende: quem mente recebe pedaços novos sem gastar energia, e o esforço coletivo fica com buracos que ninguém sabe que existem.

Quem diz ter varrido o quadrado e não varreu deixa um buraco que ninguém vê.

Existem respostas parciais, e vale conhecê-las. A mais usada é a prova por amostragem: além do alvo verdadeiro, o servidor insere no pedaço alguns alvos falsos, cujas respostas ele já conhece. Quem varreu de verdade encontra esses alvos plantados e os devolve; quem não varreu não tem como adivinhá-los. Não é uma prova completa — é um teste que fica caro de burlar.

A segunda resposta vem do próprio método dos cangurus. Ali, cada participante devolve os pontos distinguidos que encontrou, e esses pontos são resultado genuíno de trabalho: não há como fabricá-los sem saltar. Um esforço coletivo baseado em cangurus é naturalmente mais fácil de auditar que um baseado em varredura sequencial.

E há a pergunta que precede todas as outras: e se a chave aparecer? Quem a encontra tem, sozinho e naquele instante, o poder de ficar com tudo. Nenhum acordo, nenhum contrato e nenhuma reputação impedem isso, porque a chave é o dinheiro. Grupos sérios resolvem isso com criptografia em vez de confiança — dividindo antecipadamente a autorização de gasto entre várias partes, com o multisig que a trilha intermediária explicou, de modo que encontrar sozinho não seja o mesmo que levar sozinho.

Encontrar sozinho não pode ser o mesmo que levar sozinho.

Vale uma nota sobre legalidade e sobre limites, porque ela pertence a este assunto. Procurar a chave de um endereço que alguém publicou como desafio é um exercício consentido: quem financiou aqueles endereços os pôs lá para serem procurados. Varrer a blockchain atrás de carteiras alheias mal geradas é outra coisa inteiramente, e em praticamente todo lugar do mundo é crime. A técnica é a mesma; a diferença está inteira no consentimento de quem pôs o dinheiro ali.

Repare que o problema todo é de desenho, não de código. Dividir o intervalo é fácil. Provar varredura é difícil. Distribuir o achado sem confiar em ninguém é um problema de custódia, e é exatamente o mesmo problema que este curso vem tratando desde a primeira trilha, agora do outro lado do balcão.

Você chegou ao fim das ferramentas. Sabe o que é um intervalo, quanto custa varrê-lo, dois algoritmos que cortam o expoente pela metade, que hardware executa cada coisa e como um grupo se organiza sem se sabotar. Falta o objeto de estudo: os desafios que existem de verdade na blockchain, quem os criou, quais já caíram, como caíram — e como esta plataforma monta os seus. É o último módulo do curso.