Post
Topic
Board Português (Portuguese)
Merits 7 from 2 users
Re: Hacker ganha R$ 2 milhões em Bitcoin após resolver enigma e perde tudo
by
CY4NiDE
on 19/02/2025, 23:56:51 UTC
⭐ Merited by TryNinja (6) ,joker_josue (1)
Na verdade quando o Satoshi criou o Bitcoin existia um esquema de pagamento chamado P2PK (Pay-to-Public-Key) implementado no client que era a opção default no pagamento pela mineração.
Ou seja, as recompensas de bloco eram pagas diretamente para chaves publicas. Até hoje muitas moedas dessa época ainda estão nessas chaves publicas, pois nunca foram movidas.
O que acontece é que a maioria dos exploradores de bloco conectam erroneamente esses outputs P2PK ao endereço P2PKH derivado da chave publica.

Vamo usar como exemplo o endereço do bloco Genesis. Os primeiros 50 Bitcoins minerados por Satoshi não estão no famoso endereço P2PKH 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa e sim na chave publica dele:
Code:
04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f

Mais alguns exemplos desse fenômeno:
Code:
Address: 12c6DSiU4Rq3P4ZxziKxzrL5LmMBrzjrJX Public key: 0496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858ee
Address: 1DsX397veL4cmmjEHzw3Kk28S5pULroeJF Public Key: 04002a795983771b49c0a6e8338e0e1aa299e6fce1071345ab8a310379f3807dd32f48ed6a4df57f0e653d5ff8e5b39a1c1f5e7c4ba2e24926b224cff9b1695931
Address: 1DSXoMQeV4REBL9a9U6pGnSQGwgPh9CM13 Public key: 0405f818748aecbc8c67a4e61a03cee506888f49480cf343363b04908ed51e25b9615f244c38311983fb0f5b99e3fd52f255c5cc47a03ee2d85e78eaf6fa76bb9d
Address: 1DSbWaN2SKFPpHF9pK2bQzNh1vSgaYhdyg Public key: 0431edd848f7d028f147f1764dce6b1932856f566943ca2327768128da53375fbc57ec55c47e76e007811df18d72b6346b50e28848b16a67367150bf35a7b55b43
Address: 1DSbufiriX9LsMHaGnYVAgawk7gx6AdaGD Public key: 04d781601b0b599c8d2a0a1b9cd2c0ccccc7cef100b4c24a82ae8a35d35f0c99fa5f5e178946db623faa432007d32d4b850878f8949cbe5d755006a99b415a1f13
Address: 1DScsihbffMvZsGQ43T1Jd1m4ZTotyCkTs Public key: 04b088481dd943b44ce3107f723e281a109429040faf0060f4a6a0ccaf6108dca6fd82f81022ce2e8ca8bad88e700e5e2d1bbd534adc2fe4e9bb8039b3806e187d
Address: 1DSf5bscaKSLMtmYNhpXCVHQ2CTxtktEfT Public key: 046373cd51e0421f45cb9b48e2079d0baa22aefb2bef39507ef3d83c1b1f5cc164b95d6764d924d14474f1de9f9daf2c396ea5c28d06773a9d372dd66c5b1177f3
Address: 1DSwfBpR1np8ecuDzFX4MfmFWo1Lcwdowo Public key: 04feec1a956c82c23a3402a3904cd0e69ddb696d185e57c710449ad73c21f9410e0548dda0b64d3aa8c2e91d2316d4b8eeaf00d968057e21a7629c1378868a5235
Address: 1v363NX8SzLNcBVht41NJSoRdDfQtwYv9  Public key: 04db06667236c43f0e99d5920b583e2c9c244aac21d7545cf55cd1d92deffc7db7bc8e785f7770069848520c7d87b750fa29fd496c05bf75067299460d31c6fc55

Apesar desses endereços nunca terem gasto moedas, as chaves publicas deles são literalmente publicas pois foram elas que receberam as moedas. Fazendo um parsing na blockchain é possível obtê-las.
Existia também uma função chamada Pay-to-IP nos primeiros clients e o default dessa função também era transacionar através do P2PK. Mais tarde ela foi descontinuada.
Várias dessas chaves publicas da era P2PK provavelmente estão associados ao proprio Satoshi.

O interessante é que apesar das chaves privadas de 256 bits, o esquema P2PK fornece uma segurança de 128 bits por causa dos algoritmos como Pollard Kangaroo e BSGS que trabalham diretamente com a chave publica.
Esses algoritmos exploram algumas propriedades da curva elíptica pra resolver o ECDLP em sqrt(O) steps (raiz quadrada do tamanho do problema).
Pra uma chave privada de 256 bits temos sqrt(2^256) = 2^128. O algoritmo precisaria então computar "apenas" 2^128 operações pra derivar uma chave privada de 256 bits através da chave publica.
Vale lembrar que 2^128 operações ainda é um numero astronômico e algo praticamente impossível de alcançar.

imagino um cenário catastrófico em que satoshi tenha feito uso desse tipo de chave privada em alguma wallet abandonada com uma pequena fortuna de bitcoins

A hipótese pode ser testada fazendo um parsing na blockchain pra resgatar todas as chaves publicas usadas nessa época.
Carrega essas chaves publicas num BSGS e aí solta os cachorros. Coloca o algoritmo pra procurar as chaves privadas no espaço 1:FFFFFFFFFFFFFFFFF por exemplo.
Se alguma chave privada desse range foi utilizada o algoritmo vai encontrar.
Mas é claro que o Satoshi não iria cometer esse tipo de gafe.  Cheesy