Доступ к средствам на устаревшем адресе, связанном с адресом segwit, от которого у меня есть закрытый ключ

Ситуация

Привет. Наша компания управляет пулом BTC. Мы некоторое время занимались майнингом BTC и использовали адрес segwit 32Z3eXSPgxcHj2fnQy8d6dg66eVtZfxrBMв качестве адреса пула.

Но когда мы, наконец, нашли первый блок (на самом деле - два блока), по какой-то причине награда за блок была отправлена ​​на другой адрес:1s2iywx94HudryMHsU2g1K9x8DB1cahGc

Вот ссылки на обе транзакции генерации с вознаграждениями: первую и вторую

Проблема

Мы не можем получить доступ к средствам 1s2iywx94HudryMHsU2g1K9x8DB1cahGc— мы просто не можем видеть этот баланс на кошельке.

Вопрос

Как мы можем получить доступ к этим средствам на 1s2iywx94HudryMHsU2g1K9x8DB1cahGc?

Больше информации

Используя команду клиента Bitcoin Core,validateaddress мы можем проверить оба адреса:

Выход 32Z3eXSPgxcHj2fnQy8d6dg66eVtZfxrBMдля

{
  "isvalid": true,
  "address": "32Z3eXSPgxcHj2fnQy8d6dg66eVtZfxrBM",
  "scriptPubKey": "a91409763cb05dcea0f98f53b0f08651f92c5d2d2f3887",
  "ismine": true,
  "iswatchonly": false,
  "isscript": true,
  "iswitness": false,
  "script": "witness_v0_keyhash",
  "hex": "00142ee67d879ccf17daec87b4ed4a6cecdd9b3f64a0",
  "pubkey": "02835613e6e22843ce7dafc5d22a2763a8428b81f3d44dced0fd860f08be7a29df",
  "embedded": {
    "isscript": false,
    "iswitness": true,
    "witness_version": 0,
    "witness_program": "2ee67d879ccf17daec87b4ed4a6cecdd9b3f64a0",
    "pubkey": "02835613e6e22843ce7dafc5d22a2763a8428b81f3d44dced0fd860f08be7a29df",
    "address": "bc1q9mn8mpuueuta4my8knk55m8vmkdn7e9qmezkgv",
    "scriptPubKey": "00142ee67d879ccf17daec87b4ed4a6cecdd9b3f64a0"
  },
  "addresses": [
    "bc1q9mn8mpuueuta4my8knk55m8vmkdn7e9qmezkgv"
  ],
  "account": "",
  "timestamp": 1533473707,
  "hdkeypath": "m/0'/0'/0'",
  "hdmasterkeyid": "35e9670da1b28efe5621eb9cee2cf3e88b929968"
}

Выход 1s2iywx94HudryMHsU2g1K9x8DB1cahGcдля

{
"isvalid": true,
"address": "1s2iywx94HudryMHsU2g1K9x8DB1cahGc",
"scriptPubKey": "76a91409763cb05dcea0f98f53b0f08651f92c5d2d2f3888ac",
"ismine": false,
"iswatchonly": false,
"isscript": false,
"iswitness": false
}

Здесь я вижу три интересных момента:

  1. scriptPubKeyдля обоих адресов содержит 09763cb05dcea0f98f53b0f08651f92c5d2d2f38часть, которая фактически является открытым ключом. Первый байт отличается, что имеет смысл, так как это префикс, 00 для устаревшего и 05 для segwit соответственно.

относительно вывода для 1s2iywx94HudryMHsU2g1K9x8DB1cahGc:

  1. pubkeyсвойство отсутствует, что странно, потому что обычно оно включается для устаревших адресов

  2. isMineсвойство равно false, что означает, что кошелек не распознает отношение этого адреса к PK кошелька.

Итак, может ли кто-нибудь дать некоторое представление и сказать нам, можем ли мы (и как?) получить доступ к этим средствам, или мы потеряли их навсегда?

PS

Когда я использую декодирование base58 на обоих, 32Z3eXSPgxcHj2fnQy8d6dg66eVtZfxrBMи 1s2iywx94HudryMHsU2g1K9x8DB1cahGcя получаю

0509763CB05DCEA0F98F53B0F08651F92C5D2D2F385CCEC0F4и

0009763CB05DCEA0F98F53B0F08651F92C5D2D2F3861372301соответственно.

Опять же, вы можете четко видеть одни и те же байты, поэтому адреса определенно связаны.

Ответы (1)

Боюсь, у вас ошибка в программном обеспечении для майнинга, и ваши монеты пропали.

Вместо отправки на адрес P2SH был создан блок с выходным скриптом P2PKH, который переинтерпретировал хэш скрипта из адреса P2SH как хэш открытого ключа. Это происходит где-то в сломанном программном обеспечении, которое не поддерживает P2SH и, кроме того, также не может проверить байт версии адреса.

Если это так, это невозвратно, и эти монеты потеряны навсегда. Вы не можете найти открытый ключ, хэш которого соответствует этому сценарию.