Digamos que alguien (persona A) comienza a usar Bitcoin y en un período de tiempo publica con entusiasmo algunas de sus direcciones de Bitcoin generadas aleatoriamente (por ejemplo, por el cliente Satoshi) que reciben direcciones de Bitcoin en formus, envía algunas otras direcciones a algunas personas, etc.
Las claves antiguas ahora están asociadas con la persona A, y en un par de años, algunas personas podrían querer enviarle algunos fondos a la persona A; pueden encontrar una de estas direcciones antiguas (en una publicación antigua del foro o en una libreta de direcciones privada de Bitcoin antigua) y usarlas.
Pero ahora, A ha pasado a usar otra billetera en lugar del cliente Satoshi original, y movió todos sus fondos allí.
¿No significa esto que A siempre tendrá que realizar un seguimiento de todas las claves privadas originales (generadas de forma no determinista) de todas las direcciones que podría haber enviado o puesto a disposición de otras personas, y seguir importándolas en nuevas billeteras? cada vez que se cambia a un nuevo sistema de billetera y sigue haciendo copias de seguridad (de forma segura), etc.? Esto parece muy tedioso y propenso a errores.
Sé que se recomienda usar una nueva dirección para cada nueva transacción, pero eso no se aplica de ninguna manera y, lo que es más importante, está fuera del control de la persona A: son todas las demás personas las que podrían querer enviarles dinero.
Este problema será menos importante en el futuro (p. ej., con la generación de claves deterministas que solo requiere que se realice una copia de seguridad de la semilla), pero es posible que alguien que haya usado el cliente Satoshi de forma extensa y libre en el pasado nunca pueda hacer un corte limpio.
Entonces, ¿es esto un problema real o entiendo las cosas incorrectamente? Tal vez haya una solución simple (y segura), o tal vez esto no sea tan engorroso después de todo.
Creo que el núcleo del problema es que llamamos "direcciones" a los hash de clave pública codificados en base58, sin importar si las personas están dispuestas a aceptar pagos.
En mi opinión, son solo identificadores de una clave pública, algo interno en la tecnología de Bitcoin. Los humanos nunca deberían verlos, a menos que estén depurando.
Satoshi originalmente no tenía la intención de usar las direcciones base58 actuales como "destino de pago"; pensó que pagar a IP (donde la clave pública se negoció en el acto) sería la forma común de realizar transacciones. El pay-to-pubkeyhash-via-P2P solo se agregó más tarde para los casos en que el receptor estaba fuera de línea. Pay-to-IP tuvo varios problemas y se volvió obsoleto, pero tenía muchas ventajas en comparación con lo que tenemos ahora. Creo que la solución es volver a algo así, como un pago por URI donde nuevamente las claves se negocian en el momento de la transacción. Significa que siempre está seguro de que la clave utilizada todavía está activa, las claves privadas no necesitan conservarse para siempre, nunca se reutiliza ninguna clave (mejor para el modelo de privacidad de Bitcoin) y obtiene soporte al instante para adjuntar mensajes o reembolsar información a las transacciones. .
Por supuesto, las personas probablemente mantendrán las claves privadas de todos modos, por ejemplo, en una billetera de archivo como se menciona en otras respuestas a estas preguntas. Pero en mi opinión, no debería ser un desastre cuando la gente no lo hace.
Mt. Gox es el primero en ofrecerlo, pero un servicio de barrido de billetera es lo que resolverá esto.
Si desea (o necesita) abandonar una billetera, puede transferir las claves siguiendo un montón de pasos técnicos, o puede cargar el archivo wallet.dat en un servicio que lo vigilará y, si se reciben fondos, barrer esos fondos a una cuenta o dirección de Bitcoin bajo su control.
Hasta que Mt. Gox cree una interfaz de usuario para acomodarlo, esta función de carga de wallet.dat solo es posible mediante la API. Ya puede importar claves privadas individualmente usando la API o el navegador/UI.
En teoría, debe conservar todas las claves que crea que alguien podría usar para enviarle dinero. Puede ser importándolos a una nueva billetera, o simplemente manteniendo la billetera anterior y revisándola ocasionalmente. Si solo usa algunas de las direcciones, es posible que se sienta inclinado a importarlas a su nueva billetera.
Como este problema aún no es tan importante, hay algunas otras soluciones que puede usar. Es posible que en el futuro los clientes tengan una opción de "billetera de archivo", en la que desechará todas sus billeteras antiguas y realizará un seguimiento si obtiene monedas nuevas allí sin saturar su billetera principal, o algunas en línea. funcionamiento del servicio similar a una billetera electrónica.
Stéphane Giménez
mazi
Meni Rosenfeld
pieter wuille