Se você passar bastante tempo no ecossistema criptográfico, sem dúvida encontrará argumentos de que alguns projetos têm distribuições injustas de tokens porque foram “premiados” / “instaminados” / “minerados rapidamente” pelos fundadores do projeto, enriquecendo-se efetivamente com o lançamento inicial do projeto.
As partes prejudicadas que desejam resistir às críticas à distribuição de tokens apontarão inevitavelmente que Satoshi parece possuir cerca de 1.100.000 bitcoins – quase 5% de todo o fornecimento que existirá.
Preâmbulo do Padrão Patoshi
AVISO LEGAL : Para os fins do artigo a seguir, operarei sob a suposição de que o chamado “Padrão Patoshi ” é, na verdade, uma única entidade mineradora e que essa entidade era Satoshi. Como tal, usarei “Satoshi” e “Patoshi” alternadamente. Embora não seja possível provar esta afirmação além de qualquer dúvida razoável, os comportamentos exibidos por este mineiro sugerem alguém com um conhecimento extremamente profundo do Bitcoin desde o início da sua existência – uma compreensão ao nível de Satoshi. Mas isso é assunto para outro post.
Qual é o padrão Patoshi? Se você está familiarizado com os fundamentos da mineração de Bitcoin, então sabe que os mineradores incrementam nonces na tentativa de criar um bloco válido com um valor de hash que atenda a uma determinada meta de dificuldade. O campo ExtraNonce, localizado na transação coinbase, aumenta toda vez que o campo nonce transborda, significando que o espaço de busca se esgota. Como o campo nonce tem 32 bits de comprimento e o alvo de dificuldade inicial do bitcoin exigia a varredura de 32 bits em média, o nonce às vezes, mas nem sempre, transbordava.
- O ExtraNonce funciona como um “contador de execução livre”, sem zerar entre os blocos minerados.
- A taxa que um determinado minerador incrementa no ExtraNonce é muito mais rápida do que seu hashrate real indicaria, com base no código-fonte original do Bitcoin.
- A cada poucos segundos durante a mineração, o melhor bloco é verificado. Se o melhor bloco for alterado, o ExtraNonce também será incrementado. Normalmente todo bloco externo recebido incrementará o ExtraNonce, exceto o excepcional minerador Patoshi, que parece não seguir esta regra.
Quando representados graficamente, esses ExtraNonces permitiram a visualização do Padrão Patoshi para o qual podemos observar inclinações contíguas de ExtraNonces.
Além disso, o minerador Patoshi exibe uma restrição estranha nos valores nonce encontrados para os blocos. Existem várias teorias sobre por que isso pode ser o caso, mas acredito que a mais plausível é que Patoshi desenvolveu um software de mineração multithread e esses intervalos foram alocados para diferentes núcleos de CPU, de modo que cada núcleo escaneasse um espaço nonce reduzido em paralelo.
Nota : as técnicas usadas para identificar blocos Patoshi envolvem alguma incerteza e há colisões com blocos não-Patoshi onde os padrões ExtraNonce de outros mineradores se cruzam. No entanto, os blocos atribuídos incorretamente estão provavelmente limitados a uma taxa de erro bem inferior a 1%.
Pecularidades de Patoshi
Se lermos mais de uma dúzia de artigos técnicos que analisam os blocos que parecem ter sido minados por Satoshi, podemos tirar várias conclusões sobre este minerador:
- Eles usaram um cliente Bitcoin multithread com código personalizado para minerar que não seguia o mesmo comportamento do cliente Bitcoin disponível publicamente. Em termos gerais, as CPUs modernas têm vários núcleos – vários processadores dentro de uma unidade física. Mas, a menos que você escreva seu software de forma que ele possa distribuir seus cálculos em paralelo por vários núcleos, ele só poderá usar um núcleo. O primeiro cliente público Bitcoin não foi escrito com capacidade multithreading; ele extraiu apenas um núcleo da CPU.
- Seu hashrate permaneceu constante durante meses e depois sofreu reduções sistemáticas.
- Menos de 20 dos mais de 22.000 blocos (0,09%) foram gastos.
- Satoshi parece ter ligado e desligado seu minerador programaticamente.
Dormindo Satoshi
Há um aspecto estranho na distribuição temporal dos blocos minerados por Satoshi: eles não seguem a distribuição que esperaríamos de um minerador que gasta 100% do seu tempo minerando. Na verdade, eles praticamente NUNCA mineraram blocos consecutivos com menos de 5 minutos de intervalo! Uma explicação simples é que eles pausaram o minerador por 5 minutos após minerar um bloco.
Como é explicado na pesquisa, é possível que o minerador de Patoshi tenha continuado a minerar logo após encontrar um bloco, mas que seu software de mineração personalizado aumentasse artificialmente o carimbo de data/hora do bloco seguinte em pelo menos 300 segundos.
Em qualquer caso, este é um fenómeno interessante que é claramente uma decisão deliberada do mineiro. Podemos cavar mais fundo? Analisei a distribuição dos blocos de Patoshi de diversas maneiras. Primeiro, se observarmos as diferenças de carimbo de data/hora apenas entre os blocos extraídos de Patoshi e Patoshi, podemos ver que é bastante claro que eles raramente extraíam blocos com menos de 5 minutos de intervalo. A linha de tendência de distribuição delta do timestamp esperado para um minerador com 4,35 megahashes por segundo (Mhps) na meta de dificuldade 1 é mostrada em azul. Para os fins deste gráfico, estou usando apenas dados do bloco Patoshi durante o período em que eles pareciam estar minerando a 4,35 Mhps.
Portanto, podemos ver que há uma lacuna obviamente enorme de blocos “rápidos” ausentes. E se olharmos para TODOS os deltas dos blocos Patoshi, incluindo blocos que foram minerados após blocos não-Patoshi?
Isso parece um pouco melhor – está claro que Patoshi não desligou seu minerador (ou ajustou os carimbos de data e hora do modelo de bloco) por 5 minutos (300 segundos) após receber um bloco minerado por outra pessoa . Mas também podemos ver que o número de blocos minerados que demoraram mais de 10 minutos é muito maior do que o esperado! Embora isso se deva parcialmente ao fato de Satoshi diminuir seu hashrate ao longo do tempo, pode ser exacerbado devido à ocorrência de um desses tipos de manipulação de mineração.
Em seguida peguei o conjunto de dados do gráfico anterior e sempre que havia um bloco que foi minerado mais de 5 minutos após o bloco anterior, subtraí 5 minutos do delta de tempo. Podemos ver que isso nos dá um conjunto de dados resultante que se ajusta muito melhor à distribuição esperada.
Portanto, a questão permanece: esse fenômeno único se deve ao fato de Satoshi ter desligado seu minerador por 5 minutos ou é devido a eles terem manipulado seus carimbos de data e hora em 5 minutos? Acredito fortemente que a máquina de Satoshi dormiu . Por que?
Um experimento mental: se Patoshi simplesmente definir o carimbo de data e hora do bloco 5 minutos no futuro após encontrar um bloco, esperaríamos que uma porcentagem anormalmente alta dos blocos filhos não-Patoshi tivessem carimbos de data e hora anteriores ao segundo bloco Patoshi, porque os mineradores definiram carimbos de data e hora com base no relógio da máquina local. Vamos procurar:
- Uma sequência de bloco Patoshi -> bloco Patoshi -> bloco não Patoshi
- O segundo bloco Patoshi deve ser minerado menos de 10 minutos após o primeiro
- Encontre o delta do carimbo de data/hora entre o segundo bloco Patoshi e o bloco não Patoshi
Então escrevi este script para procurar blocos com essas características. O script encontrou 1.881 blocos correspondentes. Desses blocos:
- Apenas 1 tinha um delta de carimbo de data/hora negativo de um bloco Patoshi pai
- Apenas 5 (0,3%) foram cunhados menos de 5 minutos após um bloco pai Patoshi
Além disso, se Patoshi tivesse apenas manipulado os carimbos de data e hora dos blocos que minerou, eles NÃO teriam sido capazes de ocultar a distribuição total dos blocos que mineraram durante um longo período de tempo e, portanto, NÃO seriam capazes de ocultar seu hashrate efetivo. Mantenha os seguintes números em mente durante o restante deste artigo: 4,35 Mbps e 6 Mbps .
Domínio da taxa de hash de Satoshi
Podemos observar que o minerador de Satoshi teve 4 épocas de hash distintas. Eles inicialmente seguiram um plano de reduzir seu hashrate em 1,7 Mbps a cada cinco meses, mas um mês após a segunda queda, eles abandonaram esse método em favor de um hashrate continuamente decrescente.
Quando comparamos o hashrate de Satoshi com o resto da rede, podemos observar mais claramente que a inicialização do poder de hash por outros mineradores começou a decolar em outubro de 2009, quando Satoshi recuou ainda mais.
Na verdade, Satoshi estava em uma posição perigosamente dominante, com mais da metade do hashrate da rede até outubro de 2009.
Ainda mais interessante, Satoshi só se tornou um minerador de hashrate minoritário depois de diminuir voluntariamente seu hashrate várias vezes .
Isso sugere várias coisas:
- Satoshi planejou diminuir seu hashrate o tempo todo.
- Satoshi inicialmente tinha um controle aproximado de seu hashrate.
- Mais tarde, Satoshi desenvolveu um controle muito refinado de seu hashrate.
A Dupla Hélice
Você deve ter notado que o primeiro gráfico de distribuição de carimbo de data/hora na seção “Sleeping Satoshi” excluiu os blocos 1400-1916 de seu conjunto de dados. Por que? Porque ocorreu um fenômeno único durante esse período que atrapalha os cálculos delta do carimbo de data/hora do bloco Patoshi. Existem 2 mineiros Patoshi funcionando simultaneamente!
Você pode explorar esse padrão no site SatoshiBlocks. O padrão de dupla hélice foi provavelmente causado por duas instâncias do software Patoshi rodando em paralelo. Não sabemos se isso foi um erro cometido por Patoshi ou se eles estavam testando alguma coisa. O que podemos inferir deste fenômeno?
Durante este período de 4 dias e 3 horas, Satoshi extraiu 458 blocos. A partir disso, podemos estimar que o hashrate total agregado durante esse período foi de cerca de 5,5 Mhps . Isto é digno de nota porque o hashrate de Satoshi durante os primeiros 5 meses de 2009 foi em média de 4,3 Mhps . Isso também explica a discrepância destacada no gráfico de hashrate anterior.
Por que isso é interessante? Se Satoshi tivesse configurado uma máquina separada para mineração semelhante à primeira, esperaríamos que seu hashrate geral estivesse mais próximo de 8,6 Mbps durante o período de dupla hélice. No entanto, o hashrate deles era apenas 28% maior , em vez de 100% maior. Podemos ver que o desempenho de cada instância de mineração é reduzido, resultando em uma inclinação uniformemente diminuída de ExtraNonces para ambas as instâncias quando comparada a todas as outras inclinações de Patoshi . Por que? A explicação mais simples é porque os threads em ambas as instâncias de mineração estão competindo pelos mesmos núcleos de CPU!
Sergio Lerner acredita que podemos inferir disso que o computador de Satoshi era provavelmente quad-core. Acho que isso está de acordo com as expectativas porque parece que o minerador single-thread médio daquela época estava atingindo um hashrate de pouco mais de 1 Mhps. De qualquer forma, acho que é uma aposta segura adivinhar que o padrão de dupla hélice de Satoshi era de 2 instâncias de seu software personalizado rodando no mesmo hardware.
Vários anos atrás, compilei todos os registros de data e hora das atividades públicas de Satoshi a partir de e-mails, postagens em fóruns e commits de código para gerar o gráfico a seguir. Minha conclusão é que Satoshi manteve um horário de sono consistente com alguém que permanece no fuso horário do Pacífico.
Por que eu menciono isso? Para apoiar minha teoria para explicar o fenômeno da dupla hélice! Aqui está o que acredito que aconteceu:
- Satoshi extraiu o bloco 1386 às 16h do Pacífico em 22 de janeiro de 2009
- O hardware/software de mineração de Satoshi travou logo depois
- Satoshi acordou e verificou seu minerador pouco antes das 8h do Pacífico do dia seguinte, apenas para descobrir que ele estava com defeito.
- Eles ligaram o minerador e encontraram um bloco às 8h do Pacífico
- Sem o conhecimento de Satoshi, eles iniciaram acidentalmente 2 instâncias de mineração
- O mineiro correu pelos próximos 3 dias, durante um fim de semana, sem que Satoshi percebesse
- Pouco depois do bloco de mineração 1916, às 22h30, horário do Pacífico, em 25 de janeiro, o mineiro caiu novamente
- Satoshi acordou e verificou seu minerador pouco antes das 7h do Pacífico de 26 de janeiro, descobriu que ele havia travado e retomou normalmente
A sequência de Satoshi
Sabemos que Satoshi teve a maior parte do hashrate nos primeiros 9 meses de 2009; podemos aprender alguma coisa com o período mais longo de bloqueios consecutivos? Eu escrevi um script de localização de sequências e determinei que Satoshi tinha uma sequência de 47 blocos da altura 80 a 127.
Isso certamente deve ser considerado com cautela, visto que é uma janela de aproximadamente 8 horas e as estimativas de hashrate se tornam menos precisas à medida que o intervalo de tempo que você está observando diminui, mas podemos ver que o tempo médio de bloqueio foi de 720 segundos, o que nos leva a estimar seu hashrate foi de 5,97 Mbps durante este período.
Satoshi minerou mais devagar para manter a dificuldade baixa?
Lembre-se de que temos vários pontos de dados que sugerem que a máquina de Satoshi, embora geralmente observada hashing a uma taxa de 4,35 Mhps , provavelmente só era capaz de atingir um hashrate potencial máximo de 6 Mhps . Com um hashrate de 6 Mhps, isso resulta em um tempo médio de bloqueio esperado de 708 segundos. Lembre-se de que a meta de dificuldade não se ajusta até que os últimos blocos de 2016 tenham sido minerados a uma taxa média inferior a 600 segundos. Assim, o hashrate da rede global para cada unidade de dificuldade pode ser expresso como:
hashes por segundo = 2 ^ 32/600 = 7.158.278 hashes por segundo
Assim, para que o tempo médio de cunhagem de blocos seja rápido o suficiente para que o Bitcoin ajuste a meta de dificuldade de 1 para 2 , seria necessário haver mais de 7.158.278 * 1,5 = 10737417 hashes por segundo = 10,7 Mbps na rede.
Isso significa que seria necessário haver mais de 4,7 Mbps de outros mineradores na rede para atingir a meta de dificuldade se Satoshi estivesse minerando o mais rápido possível. É difícil dizer exatamente quantas máquinas seriam iguais, embora com base em alguns dos benchmarks de CPU disponíveis, eu acho que o processador de desktop comum médio usando o primeiro minerador Bitcoin de thread único e não otimizado provavelmente produziu um pouco mais de 1 Mhps. Há também evidências anedóticas de que os primeiros mineradores postaram seus hashrates no BitcoinTalk. Também podemos observar isso e mostrar que é provável comparando as encostas ExtraNonce de mineradores não-Patoshi com as encostas ExtraNonce extraídas de Patoshi – a de Patoshi é 3 vezes mais íngremedo que outros mineiros. Assim, precisaríamos apenas de 4 ou 5 outros mineradores na rede para superar a dificuldade.
Aqui está um gráfico do hashrate total da rede durante o período em questão:
Para entender como a dificuldade dos redirecionamentos teria mudado, devemos perguntar em que ponto o hashrate da rede global teria excedido 10,7 Mbps se Satoshi estivesse minerando no máximo 6 Mbps.
Olhando para o gráfico e adicionando o hashrate extra potencial ausente de Satoshi, parece que a rede teria excedido 10,7 Mbps em meados de dezembro de 2009 e que a dificuldade teria se ajustado para 2 no bloco 32256, cerca de 2,5 meses antes.
Portanto, não, a afirmação de que Satoshi extraiu mais lentamente para manter a dificuldade baixa é ridícula. Eles poderiam ter minerado MUITO MAIS blocos e, assim, ganhar MUITO MAIS BTC operando em seu hashrate máximo potencial sem aumentar a dificuldade. Quando a dificuldade realmente aumentou, Satoshi já havia diminuído significativamente seu hashrate.
O que um Satoshi ganancioso teria feito de diferente?
A análise do Padrão Patoshi de Sergio identificou cerca de 22.000 blocos como candidatos a Patoshi. Alguns deles são certamente falsos positivos, mas há boas razões para acreditar (devido às múltiplas impressões digitais usadas para identificar os blocos) que a taxa de falsos positivos é inferior a 1%. Como tal, isso estimaria o valor total extraído de Satoshi em aproximadamente 1.100.000 BTC .
Se Satoshi NÃO tivesse decidido diminuir seu hashrate várias vezes no final de 2009, quanto mais BTC eles teriam ganho? Isso é fácil de calcular se assumirmos uma meta de dificuldade constante de 1. Sabemos, pela observação da taxa de cunhagem de blocos de Satoshi e da meta de dificuldade de 1, que seu hashrate inicial foi de aproximadamente 4.350.000 hashes por segundo (4,35 Mhps ) . foi 54.316; exatamente 14 meses após a mineração do bloco gênese. Quantos blocos Satoshi poderia ter minerado se gastasse 4,35 Mbps por 14 meses com uma meta de dificuldade de 1?
segundos esperados para encontrar um bloco = dificuldade * 2 ^ 32 / hashes por segundo
1 * 2 ^ 32/4.350.000 = 987,35 segundos por bloco para Satoshi
36817200 segundos (14 meses) / 987,35 blocos = 37302 blocos = 1.865.100 BTC
Infelizmente é um pouco mais complicado, pois a dificuldade de mineração começou a aumentar no bloco 40320 em 14 de fevereiro de 2010 e Satoshi continuou minerando até pelo menos 3 de maio de 2010. As complicações aumentam ainda mais se considerarmos que a mineração de Satoshi em seu potencial máximo de hashpower seria resultaram no avanço da primeira mudança na meta de dificuldade em cerca de 2,5 meses.
Como tal, podemos usar a tabela histórica de alteração de dificuldade publicada anteriormente e avançar os prazos nessa medida. Se presumirmos que Satoshi ainda explorou por 479 dias, mas a uma velocidade sustentada de 4,35 Mhps, isso resultaria aproximadamente no seguinte:
O que resulta em 31.783 blocos ou um total de 1.589.150 BTC .
No entanto, devemos também lembrar que Satoshi desligava regularmente seu minerador quando encontrava blocos com menos de 5 minutos de intervalo. Isso é efetivamente uma limitação adicional deliberada de seu hashrate . Então, quanto hashrate Satoshi estava realmente deixando na mesa? Podemos obter uma estimativa muito boa com base em nosso conhecimento da distribuição de blocos de Poisson. Nota lateral : se você quiser entrar na toca do coelho, você pode conferir meu artigo anterior sobre variação de tempo de bloco.
Qual a porcentagem de blocos que se espera que sejam minerados menos de 5 minutos após o bloco anterior? 1 – exp(-5/10) = 39,35%. Como tal, o hashrate potencial máximo de Satoshi era na verdade mais próximo de 6,06 Mhps. Este é um resultado interessante porque também está bastante próximo do hashrate observado de 5,5 Mbps durante a era da dupla hélice e extremamente próximo do hashrate observado de 5,97 Mbps durante sua sequência inicial de 47 blocos.
Como tal, vamos refazer o cálculo anterior, mas com Satoshi executando seu hardware em seu hashrate teórico máximo de 6 Mhps.
Para um total de 43.829 blocos ou 2.191.450 BTC .
Por que Satoshi não queimou seu Bitcoin?
A primeira transação que fez um depósito em um endereço provavelmente não gastável foi para 1111111111111111111114oLvT2 em 10 de agosto de 2010 e a primeira postagem que encontrei com referência a isso foi 1 mês depois, observando que era o ” menor endereço bitcoin possível “, enquanto outras postagens o chamaram ” o endereço zero ” porque é criado a partir de um hash de todos os zeros. Essas discussões tendem a se concentrar em casos extremos de validade de endereços de bitcoin e não em casos de uso para queimar moedas propositalmente.
Pelo que posso dizer, o primeiro uso consciente de um endereço gravado foi em 20 de junho de 2011, com esta transação para 1BitcoinEaterAddressDontSendf59kuE. A discussão mais antiga sobre endereços de gravação que posso encontrar ocorreu em 23 de junho de 2011 neste tópico do BitcoinTalk sobre “O Buraco Negro do Bitcoin”.
A última atividade de Satoshi no BitcoinTalk foi em 13 de dezembro de 2010. A última vez que alguém ouviu falar deles foi em 26 de abril de 2011 . É bastante plausível que Satoshi nunca tenha considerado queimar suas moedas como uma opção.
Conclusões
Satoshi parou de minerar com o mineiro Patoshi após o bloco 54.316? É impossível saber se o software de mineração foi alterado e se tornou indetectável como resultado ou se Satoshi continuou a minerar usando o software de mineração disponível publicamente.
Do que tenho certeza em relação ao Satoshi?
- Seu objetivo era manter viva a “pulsação” da rede enquanto ela estava sendo inicializada.
- Eles mineraram em uma única máquina com hashrate máximo de 6 Mhps.
- Eles poderiam facilmente ter ganho mais do que o dobro de BTC se tivessem minerado com potência total.
- Eles não queriam estar em posição de dominar o hashrate da rede, mas podem ter sentido que isso era necessário durante os primeiros dias, quando a rede era muito mais frágil devido a ter menos de cinco mineradores.
- Eles se importavam muito com os ajustes de dificuldade. O algoritmo de ajuste foi uma das maiores inovações de Satoshi e eles opinaram sobre o assunto mais do que qualquer outro.
- Eles queriam que o maior número possível de pessoas pudesse minerar em PCs domésticos ( Satoshi condenou a corrida de mineração FGPA/GPU ).
Deveríamos ter um acordo de cavalheiros para adiar a corrida armamentista da GPU o máximo que pudermos para o bem da rede. É muito mais fácil atualizar novos usuários se eles não precisarem se preocupar com drivers e compatibilidade de GPU. É bom como qualquer pessoa com apenas uma CPU pode competir de forma bastante igualitária agora.
Qualquer um que afirme que Satoshi era ganancioso simplesmente não fez as contas.
Isenção de responsabilidade: As opiniões, bem como todas as informações compartilhadas nesta análise de preços ou artigos mensionando projetos, são publicadas de boa fé. Os leitores devem fazer sua própria pesquisa e devida diligência. Qualquer ação tomada pelo leitor é estritamente por sua conta e risco. O Bitcoin Block não será responsabilizado por qualquer perda ou dano direto ou indireto.
Grupo LSE adota blockchain para iniciativa de ativos digitais
O Reino Unido divulga as principais ambições para a cúpula global de IA
Blockchain Rio Festival: CoinEx Apoia maior evento da América Latina sobre Web3