multifirma

El siguiente artículo de KB explica cómo crear y utilizar un Cartera CLI multifirma Haven.
Estas instrucciones se basan en una firma múltiple 2/3, lo que significa que de un total de tres firmantes autorizados, se necesitan dos para que una transacción sea válida.

En resumen, estos son los pasos necesarios para crear y enviar una transacción, siempre que ya se haya creado una billetera multifirma:

  • Sincroniza las carteras A y B.
  • Exportar imagen de clave multifirma desde A.
  • Importe la imagen de la clave multifirma a B.
  • Generar TX desde B.
  • Importe TX a A, fírmelo allí y luego envíelo.
Requisitos previos

Este artículo supone que ha utilizado la CLI anteriormente.
Si este no es el caso, se recomienda familiarizarse primero con el uso de la CLI. Busque "cli" y "nodo local" en nuestras páginas de KB para comenzar.

Crear nueva billetera
  1. Descargar el el último Aplicación CLI.
  2. Correr tener y asegúrese de que el demonio esté completamente sincronizado.
  3. Cada parte (3 en este caso) debe crear una nueva billetera usando Haven-wallet-cli (asegúrese de que la minería en segundo plano NO esté habilitada).
  4. Salga de la billetera, haga una copia de seguridad de la semilla y haga una copia de los archivos de la billetera (en caso de que necesite repetir los pasos).
  5. Vuelva a iniciar sesión en la billetera y ejecute los siguientes comandos:
    establecer habilitar-multisig-experimental 1
    establecer actualización automática 0
preparar carteras
  1. Todas las partes deben escribir el siguiente comando:
    preparar_multisig
    .
  2. Enviar la salida a TODO otras partes (use una plataforma segura como Element para compartir). La salida debería verse así:
    MultisigxV2R1TYQNzErUgssPfURuXVvEq1M4QfUgpBLrz2HXGKkyaonPCH8Kv6jQLqEGEXUtuJNjELcqLUNHKfEopDqtsyzz4sEbCWhtRanxGm8amKYDHmfFjRCVsR3Xmot8RGLp6WN5KQNLUEpsFNpePMk W8yomYrCFLpCkJ72fkjBUy1qx6TH8L3wQ
    .
  3. Todas las partes deben escribir el siguiente comando:
    hacer_multifirma 2
    dónde y corresponden a la otro los datos de las partes compartidos en el paso 7.

    El comando debería verse así:
    make_multisig 2 MultisigxV2R1TYQNzErUgssPfURuXVvEq1M4QfUgpBLrz2HXGKkyaonPCH8Kv6jQLqEGEXUtuJNjELcqLUNHKfEopDqtsyzz4sEbCWhtRanxGm8amKYDHmfFjRCVsR3Xmot8RGLp6WN5K QNLUEpsFNpePMkW8yomYrCFLpCkJ72fkjBUy1qx6TH8L3wQ MultisigxV2R1MG7sQpykJTv4RMEuyQV6m1FBX9zVMPXva3dragVUh9F9FjTTmJ4DLvUNP57njearPRbHnFv1NvKMeL1yQTdbcy7nQ1r4rDv JQzHhNvUeCFzAm6TLhwwjAiqfUBtS6ajBFZ8XVsGwLhCc1S3jK7ffsAKaRF9cLyEzJgpaXNShnrsY4hEK
    .
  4. Envíe los datos generados en el Paso 8 a TODO otros partidos. Los datos deberían verse así:
    MultisigxV2Rn1LWRyU32PL2D4MnPtp4w5YFS6KTkanCW18adkxUTdMVJDaqQ9E1gsTRQJTZFADurxZb6w2amhCpHtWHPcykirrk3AE1AS65NxkJG4zRgQJF26m8obGa39AVDYicUsFrL3LRMHF2DUKKckJoYZcR bCUeNP4PBrExea3na2TUm7FEw995ZL5N9n7nVxysH6JdwLfDjXaWDotxZtyPn1ifXvgJHJctsFPP
    .
  5. Todas las partes deben ejecutar el siguiente comando (primer paso):
    claves_multifirma_intercambio
    dónde y corresponde a los datos de otras partes compartidos en el paso 9.

    El comando debería verse así:
    exchange_multisig_keys MultisigxV2Rn1LWRyU32PL2D4MnPtp4w5YFS6KTkanCW18adkxUTdMVJDart7ZPUh6A328nPGtUi3hDQdFr8rNk2aSpMNquYHSbxNhNNpyt2fiGgAxt9woCBXsFtdhKm2dmqqY9q F6ewuBXCDLdJ6rYv1Lm7RyuLN4TQBBccBUesMH6FhGB4FcCncaRh8sEEqcXgR1gbZnEzG6tk81TAthWRqFCZTStSNgD9WJKG7F5 MultisigxV2Rn1LV1jgtbFBZQJTZFADurxZb6w2amhCpHtWHPcykirrk3AE15 GGTSNN6328nPGtUi3hDQdFr8rNk2aSpMNquYHSbxNhNZ7Q48j4TRAauoTVenC5ZmsS8EViFdie eHtzgPFwrg9cgAX93F7g4UHyAd82BeTRZb3cxsLGQ3nTZb6ey2HN8dJa6Y8ssCniTd6Kchn4cW hS9Qqz38whxCDNYd7UJCpGCa3k1
    .
  6. Envíe los datos generados en el Paso 10 a TODO otros partidos. Los datos deberían verse así:
    MultisigxV2Rn1WC6rFTBNJkY4qjHv8UYXGifkHemhyRJmXnNVtQY8dcx4T2fZBnnCy2iMAFVerhacP1UytUMaGyAN5N5XvnXqqY7fyYAaBX639tG4zRgQJF26m8obGa39AVDYicUsFrL3LRMHF3 XFVxmv3XjngbXYY47EXY1BgZk6UYxBAN12Ep2ETqR6rpTvUB8QJmQkrdUpiiu146zoiHieUj2He4KwCgkPj9vK7Y
    .
  7. Todas las partes deben ejecutar el siguiente comando (segundo paso):
    claves_multifirma_intercambio
    dónde y Corresponde a los datos de los demás firmantes compartidos en el paso 11.
    Este paso debería generar la billetera multifirma y solicitarle la dirección de la billetera.
    .
  8. Compare la dirección de la billetera con todas las partes para asegurarse de que sean las mismas.
    Si no son iguales, algo salió mal y necesita comenzar de nuevo usando los archivos de billetera respaldados en el Paso 4.
    .
  9. Tipo semilla y haga una copia de seguridad de la cadena de semillas, que se ve así (la semilla multifirma es diferente de la semilla habitual):
    020000000300000005cd2e5a01ef0830eb666b838d8402795ae8f24f6e3cf2068ff8e48899aed11f500473d4c3a9b9bb9451f19facfff91def79172ed466b808f9fa2173a25d149e4a1c1161be6c029b2c4d0ca5fc806ddc1d46edc7dc3d0727a68ad2f6d24bf6086d269cfd2255f73375939820a71802e25e12abd220271a16505059cb168ce90367c23b78dda9038037406aafa4e6d8ed363f998209ab2a6432c78e5597411a0fb43da66388574bda7edbe6122ee6e8ce987a5eb553ccf3cac170b8031448aa05436d4f88e749ea315b12c6c3b93e5905d63bd6f29df0ba3f4cc888318a1f49c45813af87c6d890797fd36bb2c61ec3f0cd009ec413d1e10d71b19e4f6b893381d6a58526d2f35a1726e847e4bed22ea71f7deb2dc7aff8c7c12505345af8611a
    .
  10. Cierre la billetera y haga una copia de seguridad de los archivos de la billetera.
  11. Una de las partes debe enviar fondos a la dirección compartida.
  12. Vuelva a iniciar sesión y sincronice la billetera para asegurarse de que todas las partes hayan recibido y confirmado los fondos.
Preparación para el envío
  1. Para prepararse para el envío, la Persona 1 escribe el comando:
    export_multisig_info
    <filename>
    es solo un nombre para el archivo que deseas exportar, debería ser algo simple.
    El archivo generado se llama Imagen clave, y es una instantánea de las salidas de la billetera.
    .
  2. Envíe el archivo exportado a la Persona 2. La Persona 3 también puede hacer esto, pero no es obligatorio.
    .
  3. La Persona 2 y/o la Persona 3 descargan el archivo compartido y lo colocan en el mismo directorio que la aplicación CLI.
    .
  4. La Persona 2 o la Persona 3 escribe el comando:
    import_multisig_info
    <filename>
    es el mismo archivo creado en el Paso 18 y compartido en el Paso 19.
    .
  5. Quien importó la imagen clave en el Paso 21 ahora puede crear una Transacción.
Enviando
  1. La Persona 2 o la Persona 3 crea una transacción de la manera habitual escribiendo:
    transferir

    Esto creará un archivo llamado multifirma_haven_tx que se envía de vuelta a la Persona 1.
    .
  2. La persona 1 descarga y coloca el archivo anterior en el mismo directorio que la aplicación CLI y escribe el comando:
    sign_multisig multisig_haven_tx
    .
  3. Una vez firmado con éxito, la Persona 1 escribe el siguiente comando para enviar el TX:
    enviar_multisig multisig_haven_tx
Notas

Si la Persona 1 y la Persona 2 realizaron una o más transmisiones y la Persona 3 no estaba presente, cuando la Persona 3 sincronice la bóveda, no mostrará la cantidad correcta.

Para resolver esto, la Persona 3 tendrá que importar la última imagen clave compartida en el Paso 19 de cualquiera de los participantes usando el comando en el Paso 20. Una vez importada, la Persona 3 puede hacer una "actualización" y se mostrará el saldo correcto de la billetera.

Si pasa demasiado tiempo entre la preparación para el envío (compartir imágenes clave) y la creación de la TX, es posible que el proceso se agote y tengas que volver a realizar esta etapa.

Fuentes

https://resilience365.com/monero-multisig-how-to/

https://taiga.getmonero.org/project/rbrunner7-really-simple-multisig-transactions/wiki/23-multisig-in-cli-wallet

Anterior Billetera de gobernanza: dirección y clave de vista
es_ESEspañol