¿Está bien este esquema para la auditoría multisig de Trezor + Coldcard?

Mi plan es hacer un multisig entre coldcard y trezor. Quiero auditar y verificar que efectivamente poseo las 2 claves de estas billeteras, usando una raspberry pi zero (sin wifi/bluetooth por definición) en un televisor HDMI muy antiguo sin internet tampoco, y usando un teclado virtual y simplemente un mouse en el pi cero.

Estos son los posibles riesgos que quiero mitigar:

  • Las billeteras pueden tener un generador de números aleatorios malicioso.

  • Las billeteras pueden generar direcciones para claves que no son mías

Para eliminar el riesgo de que Trezor genere una clave privada que no me pertenece, pondré su clave en la Raspberry Pi Zero y veré que genere la misma clave pública maestra que se muestra en Trezor. Esto prueba que soy dueño de esta clave, pero podría ser una clave que alguien ya posee. No hay problema, por eso estoy haciendo multisig.

En la tarjeta fría, generaré una semilla usando dados y luego verificaré en la frambuesa pi que esas tiradas de dados realmente generen la clave privada que muestra la tarjeta fría. Esto prueba que poseo una clave privada que nadie posee, porque se generó usando dados.

Ahora que tengo 2 claves privadas de mi propiedad, y al menos una de ellas soy el único propietario, puedo crear una billetera multisig en Electrum o tal vez BlueWallet. Anotaré las primeras 10 direcciones generadas por la billetera de software y verificaré si coinciden en la tarjeta fría y en el trezor. Si los 3 muestran el mismo conjunto de 10 direcciones, puedo considerar que estas direcciones son seguras para recibir Bitcoin.

Luego recibiré algo de Bitcoin en una dirección, borraré ambas billeteras, las restauraré con las claves privadas y luego intentaré gastar este Bitcoin, solo para asegurarme de que realmente poseo las monedas.

¿Cuáles son los posibles problemas que puedo encontrar? ¿Me estoy olvidando de algo importante?

PD: Sé que si Trezor tiene un generador de números aleatorios malicioso y crea una clave privada que no solo yo poseo, esto es una fuga de privacidad, pero no un problema. Y es una fuga de privacidad solo cuando gasto desde esta dirección, revelando la clave pública en la cadena de bloques.

También planeo usar solo transacciones con espacio de aire PBST en Coldcard y una computadora confiable para transmitir.

He editado una cosa en base a mi suposición. Puede retroceder si es incorrecto.

Respuestas (1)

Las billeteras pueden tener un generador de números aleatorios malicioso.

Hay varias formas de ser malicioso. Por lo general, los generadores de números aleatorios se consideran maliciosos cuando son de alguna manera predecibles, por lo que si los usa, alguien más puede adivinar su "número aleatorio".

Pero eso no parece ser de lo que su plan lo protege.

Lo que verifica con su procedimiento es que su billetera de hardware no le proporcione una semilla diferente (cuando realiza la configuración inicial o solicita exportarla) de la que usó para generar las claves privadas y las direcciones relacionadas, que usa cuando usted recibir o enviar fondos con él. En este sentido, la semilla (de la que se derivan las claves públicas y privadas en las billeteras HD) no sería suya sino que pertenecería solo a su billetera de hardware: puede recibir y enviar usando el dispositivo, pero si importa la semilla en otro lugar, no hay fondos asociados, porque es diferente al que usa Trezor.
Sin embargo, nunca he oído hablar de tal problema en ninguna billetera de hardware.

Las billeteras pueden generar direcciones para claves que no son mías

Esto no tiene sentido para mí, las direcciones públicas se derivan de claves privadas, por lo que la billetera debe tener las claves privadas para generar direcciones... no estoy seguro de lo que quieres decir.

Además, no puedes verificar que eres el único propietario de una semilla o una clave privada, lo máximo que puedes hacer es asegurarte de que esto no se filtre, pero si de alguna manera alguien logra copiarlo, predecirlo o generarlo aleatoriamente, no puedes darte cuenta hasta que el dinero desaparece.

Entonces, considerando todas las cosas, creo que puedes evitar tener que verificar las semillas que te dan tus billeteras, porque esto no agrega prácticamente nada a la seguridad que ya tienes usando direcciones multisig con 2 billeteras de hardware evaluadas como Trezor y Coldwallet, que ya son pesadamente examinados, como se puede ver aquí , por ejemplo.


PD: Sé que si Trezor tiene un generador de números aleatorios malicioso y crea una clave privada que no solo yo poseo, esto es una fuga de privacidad, pero no un problema. Y es una fuga de privacidad solo cuando gasto desde esta dirección, revelando la clave pública en la cadena de bloques.

No estoy al tanto de problemas con Trezor rng (¿tiene alguna referencia para esto?), Pero si se filtran sus claves privadas, perderá sus fondos casi instantáneamente, no hay necesidad de esperar a gastar, como se dijo antes, clave pública y las direcciones se derivan de la clave privada, por lo que si tiene esto, no necesita nada más

Sí, pero en la tarjeta fría generaré mi semilla usando dados, así puedo estar seguro de que es mía. Verificaré en una frambuesa que efectivamente los dados generan esa semilla
¿Cómo las claves privadas no pueden ser tuyas? si una billetera puede generar una dirección, debe tener su clave privada ... me parece que tiene algunos conceptos erróneos, ¿puede proporcionar algún enlace a la amenaza que intenta prevenir?
Creo que la pregunta asume que el firmware que se ejecuta en Hardware Wallet puede intentar activamente mostrar una dirección diferente a la asociada con la clave privada.
Entonces, si tiene 2 billeteras que generan diferentes direcciones para la misma semilla, ¿cómo sabe cuál es la correcta? no hay una manera fácil de llegar a un consenso sobre qué dirección es la correcta si no confía en su billetera y no puede leer el código.
La razón por la cual la billetera de hardware muestra la dirección en su propia pantalla es exactamente para evitar la manipulación de la dirección en un software externo, pero debe confiar al menos en su firmware HW y para hacerlo, se le proporciona el código fuente y su firma.
La diferencia es que son 2 carteras que generan la misma dirección multisig. Uno en el que no puedo confiar para haber generado una clave privada verdaderamente aleatoria, el que puedo.
Si no confía en el software Trezor, ¿por qué lo usa? use 2 Coldcard en su lugar ... la prueba rpi es bastante inútil, si no puede confiar en el software de la billetera de hardware, no debe confiar también en el software raspberry pi. además, hay más riesgo al usar la billetera que al generar claves y direcciones en ella, como puede ver aquí: thecharlatan.ch/List-Of-Hardware-Wallet-Hacks , por lo que también debe abordar estos riesgos, pero la billetera multisig son un buen comienzo :)