¿Cuántos bitcoins se han enviado a direcciones no válidas en Base58?

Algunos bitcoins se han perdido permanentemente cuando se envían a las siguientes direcciones. La explicación que encontré es que contienen caracteres que no son válidos en Base58

Específicamente, base58 solo permite los siguientes caracteres (excluyendo 0oiL)

static const char* pszBase58 = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"; 

¿Cuál es el total actual de bitcoins "perdidos" o, en su defecto, cuál es el proceso general necesario para resolverlo?

(¿Qué métodos de API llamaría para obtener los datos para determinar esto?)

Respuestas (2)

Los caracteres excluidos en Base58 son 0OIl. oiL están permitidos, haciendo que estas dos direcciones sean válidas.

Es imposible enviar a una dirección no válida, ya que los scripts de transacciones de Bitcoin en realidad incluyen hashes de 160 bits sin procesar (que por definición tienen una correspondencia uno a uno con direcciones válidas), no direcciones. Los clientes de Bitcoin simplemente se negarán a hacer cualquier cosa si se proporciona una dirección no válida.

Probablemente no haya ningún problema con 1Boxo846yTDLHgKM94aYseHBnCjJ4eYbzb. El problema con 1BitcoinEaterAddressDontSendf59kuE es que, dado un diccionario de inglés, tiene una complejidad de Kolmogorov muy baja , por lo que es muy poco probable que alguien tenga una clave privada (o incluso una clave pública) para él.

Del mismo modo, se sabe que 1111111111111111111114oLvT2 corresponde al hash de clave pública 0, que es tan simple que es muy poco probable que alguien tenga las claves para ello.

¿Por qué es menos probable que su dirección simple "1BitcoinEater" se genere aleatoriamente que una dirección "compleja de Kolmogorov"? Después de todo, es simple porque usted (o Kolmogorov) lo dijo, pero el generador no hace la diferencia. ¿No podría haber tomado una dirección "compleja" para su propósito y lograr el mismo "extremadamente improbable que alguien tenga una clave privada para ello"?
@Totor: No estamos comparando la generación aleatoria de la dirección simple con la generación aleatoria de la dirección compleja. Estamos comparando la generación aleatoria de la dirección simple con la generación "no aleatoria" de la dirección simple. Si elige letras al azar, tiene 2 ^ (-160) de posibilidades de obtener la dirección del comedor, mientras que si elige frases al azar, es más como 2 ^ (-40). Esa es una razón de probabilidades de 2^120:1 a favor de la hipótesis de la "frase aleatoria", por lo que al observar la dirección simple, la deducción bayesiana será que la dirección se generó como una frase aleatoria (o algún otro método que no sea letras aleatorias) .
@Totor: Mientras que, para la dirección compleja, no existe una hipótesis en competencia que tenga una mayor probabilidad de encontrar la dirección particular. Eso es lo que significa ser complejo.

Ninguna. Es imposible enviar bitcoins a una dirección no válida. Esas direcciones son válidas, aunque es posible que no sean propiedad de nadie. Mire pszBase58 con más cuidado: se permiten 'o', 'i' y 'L'. Las primeras publicaciones en ese hilo del foro están mal.

La red no sabe nada sobre las direcciones de Bitcoin. A nivel de red, nunca envías bitcoins a una dirección. Los bitcoins se envían a "scripts". Su cliente convierte direcciones en scripts apropiados. Si una dirección no es válida, no se puede convertir en un script. Entonces, la idea de enviar BTC a una dirección no válida no tiene sentido.

Si realiza un manejo de transacciones de bajo nivel, es posible enviar una transacción con un script que nunca se puede satisfacer. Técnicamente, el script sigue siendo válido (y, por lo tanto, se agregó a la cadena de bloques) pero, de hecho, las monedas se perderán. Creo que aquellos menos inclinados a la tecnología considerarían que se trata de una dirección 'inválida'.
@ktorn Incluso puede enviar BTC a scripts no válidos que no se pueden analizar correctamente. Los scripts no se evalúan hasta que se usan. Pero los scripts no estándar de cualquier tipo no se pueden convertir a direcciones de Bitcoin versión 0. Una dirección P2SH podría representar un script incorrecto, aunque la dirección en sí misma no sería inválida.