¿Por qué bitcoind no reconoce la versión sin comprimir de mi dirección?

Tengo una dirección que representa una dirección pública comprimida, que bitcoind reconoce como "ismine":

compressed_address = n2HCyN8GWPuc8CrwbiiBASCS7iWku3Ke8S
compressed_key     = 03c6debc01d8cf1c7eae826b8acb0ba6ff5d37b8d840b2bfc5244cdebab83a6781
> bitcoind  -testnet validateaddress n2HCyN8GWPuc8CrwbiiBASCS7iWku3Ke8S
{
    "isvalid" : true,
    "address" : "n2HCyN8GWPuc8CrwbiiBASCS7iWku3Ke8S",
    "ismine" : true,
    "isscript" : false,
    "pubkey" : "03c6debc01d8cf1c7eae826b8acb0ba6ff5d37b8d840b2bfc5244cdebab83a6781",
    "iscompressed" : true,
    "account" : ""
}

Extraigo el valor y de las claves públicas comprimidas y creo una dirección a partir de eso (con la misma función que escribí para las claves comprimidas):

decompressed_key     = 04c6debc01d8cf1c7eae826b8acb0ba6ff5d37b8d840b2bfc5244cdebab83a6781a8b69757635c64ce32eed71115b68174d7241c716b1f76d317c6440635d8bc01
decompressed_address = mfjsW5m8CL5EazGBvjutZ4dgJwd6AjHM11

La dirección es válida ya que si satisface la ecuación de la curva... los valores de x, y son los siguientes:

x = 89951481645973345162937095289811840492311042685266238084455665220379660150657
y = 76311169247456070080081989221882104208438035444189442719121845261776897752065
y * y         = 107822876231389859288843816887520488062823501023166616425651229464214081607136
x * x * x - 7 = 107822876231389859288843816887520488062823501023166616425651229464214081607136

Sin embargo, bitcoind no reconoce la dirección descomprimida como "ismine".

> bitcoind  -testnet validateaddress mfjsW5m8CL5EazGBvjutZ4dgJwd6AjHM11
{
    "isvalid" : true,
    "address" : "mfjsW5m8CL5EazGBvjutZ4dgJwd6AjHM11",
    "ismine" : false
}

No entiendo... la única diferencia entre los dos es que una clave se comprime para guardar 32 bytes... ¡la clave privada debería ser la misma! ¿No deberían ser intercambiables? ¿Significa esto que no podré gastar para gastar monedas enviadas a la dirección descomprimida?

Respuestas (1)

Las claves comprimidas y sin comprimir se tratan por separado. Los fondos enviados a la dirección del punto comprimido no estarán disponibles para un cliente que tenga la clave sin comprimir en su billetera.

Es decir, aunque mfjsW5m8CL5EazGBvjutZ4dgJwd6AjHM11tengan n2HCyN8GWPuc8CrwbiiBASCS7iWku3Ke8Sla misma clave privada, se tratan como completamente independientes de la red Bitcoin. Idealmente, se tratarían de la misma manera, pero las claves ECDSA comprimidas simplemente no fueron consideradas originalmente por Satoshi, es solo una adición más reciente (probablemente de sipa) al cliente.