Die Situation
Hallo. Unser Unternehmen betreibt den BTC-Pool. Wir schürfen BTC schon seit einiger Zeit und haben die Segwit-Adresse 32Z3eXSPgxcHj2fnQy8d6dg66eVtZfxrBM
als Pooladresse verwendet.
Aber als wir endlich einen ersten Block fanden (eigentlich zwei Blöcke), wurde die Blockbelohnung aus irgendeinem Grund an eine andere Adresse gesendet:1s2iywx94HudryMHsU2g1K9x8DB1cahGc
Hier sind Links für Transaktionen beider Generationen mit Belohnungen: die erste und die zweite
Das Problem
Wir können nicht auf Geld zugreifen 1s2iywx94HudryMHsU2g1K9x8DB1cahGc
- wir können dieses Guthaben auf der Brieftasche einfach nicht sehen.
Die Frage
Wie können wir auf diese Gelder zugreifen 1s2iywx94HudryMHsU2g1K9x8DB1cahGc
?
Mehr Info
Mit dem Bitcoin Core- Client-Befehl validateaddress
können wir beide Adressen überprüfen:
Ausgabe für 32Z3eXSPgxcHj2fnQy8d6dg66eVtZfxrBM
ist
{
"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"
}
Ausgabe für 1s2iywx94HudryMHsU2g1K9x8DB1cahGc
ist
{
"isvalid": true,
"address": "1s2iywx94HudryMHsU2g1K9x8DB1cahGc",
"scriptPubKey": "76a91409763cb05dcea0f98f53b0f08651f92c5d2d2f3888ac",
"ismine": false,
"iswatchonly": false,
"isscript": false,
"iswitness": false
}
Ich sehe hier drei interessante Punkte:
scriptPubKey
denn beide Adressen enthalten 09763cb05dcea0f98f53b0f08651f92c5d2d2f38
einen Teil, der tatsächlich ein öffentlicher Schlüssel ist. Das erste Byte unterscheidet sich, was sinnvoll ist, da es sich um ein Präfix handelt, 00 für Legacy bzw. 05 für Segwit.bezüglich Ausgabe für 1s2iywx94HudryMHsU2g1K9x8DB1cahGc
:
pubkey
Eigenschaft fehlt, was seltsam ist, da sie normalerweise für Legacy-Adressen enthalten ist
isMine
Property gleich false ist, was bedeutet, dass Wallet diese Adressbeziehung zu Wallet PK nicht erkennt.
Kann also bitte jemand einen Einblick geben und uns sagen, ob (und wie?) wir auf diese Gelder zugreifen können oder wir sie für immer verloren haben?
PS
Wenn ich base58 decode auf beiden verwende 32Z3eXSPgxcHj2fnQy8d6dg66eVtZfxrBM
und 1s2iywx94HudryMHsU2g1K9x8DB1cahGc
ich bekomme
0509763CB05DCEA0F98F53B0F08651F92C5D2D2F385CCEC0F4
Und
0009763CB05DCEA0F98F53B0F08651F92C5D2D2F3861372301
bzw.
Auch hier können Sie deutlich dieselben Bytes sehen, sodass Adressen definitiv verwandt sind.
Ich fürchte, Sie haben einen Fehler in Ihrer Mining-Software und Ihre Coins sind weg.
Anstatt an die P2SH-Adresse zu senden, wurde ein Block mit einem P2PKH-Ausgabeskript erstellt, das den Skript-Hash von der P2SH-Adresse als Public-Key-Hash neu interpretiert. Dies passiert irgendwo in defekter Software, die P2SH nicht unterstützt und außerdem das Adressversionsbyte nicht überprüft.
Wenn dies der Fall ist, ist es nicht wiederherstellbar und diese Coins sind für immer verloren. Sie können keinen öffentlichen Schlüssel finden, dessen Hash mit diesem Skript übereinstimmt.