Multisignature

L'article suivant de la base de connaissances explique comment créer et utiliser un Portefeuille CLI multisig Haven.
Ces instructions sont basées sur un multisig 2/3, ce qui signifie que sur un total de trois signataires autorisés, deux sont nécessaires pour qu'une transaction soit valide.

En bref, voici les étapes nécessaires pour créer et soumettre une transaction, à condition qu'un portefeuille multisig ait déjà été créé :

  • Synchronisez les portefeuilles A et B.
  • Exportez l’image de clé multisig depuis A.
  • Importez l’image clé multisig dans B.
  • Générer TX à partir de B.
  • Importez TX dans A, signez-le là, puis soumettez-le.
Conditions préalables

Cet article suppose que vous avez déjà utilisé la CLI.
Si ce n'est pas le cas, il est conseillé de vous familiariser d'abord avec l'utilisation de la CLI. Veuillez rechercher « cli » et « nœud local » dans nos pages de la base de connaissances pour commencer.

Créer un nouveau portefeuille
  1. Téléchargez le dernier Application CLI.
  2. Courir havend et assurez-vous que le démon est entièrement synchronisé.
  3. Chaque partie (3 dans ce cas) doit créer un nouveau portefeuille en utilisant Haven-Wallet-cli (assurez-vous que l'exploration en arrière-plan n'est PAS activée).
  4. Quittez le portefeuille, sauvegardez la graine et faites une copie des fichiers du portefeuille (au cas où vous auriez besoin de répéter les étapes).
  5. Reconnectez-vous au portefeuille et exécutez les commandes suivantes :
    définir activer-multisig-experimental 1
    définir l'actualisation automatique 0
Préparez les portefeuilles
  1. Toutes les parties doivent taper la commande suivante :
    préparer_multisig
    .
  2. Envoyer la sortie à TOUS d'autres parties (utilisez une plateforme sécurisée comme Element pour le partage). Le résultat devrait ressembler à ceci :
    MultisigxV2R1TYQNzErUgssPfURuXVvEq1M4QfUgpBLrz2HXGKkyaonPCH8Kv6jQLqEGEXUtuJNjELcqLUNHKfEopDqtsyzz4sEbCWhtRanxGm8amKYDHmfFjRCVsR3Xmot8RGLp6WN5KQNLUEpsFNpePMkW8 yomYrCFLpCkJ72fkjBUy1qx6TH8L3wQ
    .
  3. Toutes les parties doivent taper la commande suivante :
    make_multisig 2
    où et correspondent à la autre données des parties partagées à l'étape 7.

    La commande devrait ressembler à ceci :
    make_multisig 2 MultisigxV2R1TYQNzErUgssPfURuXVvEq1M4QfUgpBLrz2HXGKkyaonPCH8Kv6jQLqEGEXUtuJNjELcqLUNHKfEopDqtsyzz4sEbCWhtRanxGm8amKYDHmfFjRCVsR3Xmot8RGLp6WN5KQNL UEpsFNpePMkW8yomYrCFLpCkJ72fkjBUy1qx6TH8L3wQ MultisigxV2R1MG7sQpykJTv4RMEuyQV6m1FBX9zVMPXva3dragVUh9F9FjTTmJ4DLvUNP57njearPRbHnFv1NvKMeL1yQTdbcy7nQ1r4rDvJQ zHhNvUeCFzAm6TLhwwjAiqfUBtS6ajBFZ8XVsGwLhCc1S3jK7ffsAKARF9cLyEzJgpaXNShnrsY4hEK
    .
  4. Envoyez les données générées à l'étape 8 à TOUS autres parties. Les données devraient ressembler à ceci :
    MultisigxV2Rn1LWRyU32PL2D4MnPtp4w5YFS6KTkanCW18adkxUTdMVJDaqQ9E1gsTRQJTZFADurxZb6w2amhCpHtWHPcykirrk3AE1AS65NxkJG4zRgQJF26m8obGa39AVDYicUsFrL3LRMHF2DUKKckJoYZc RbCUeNP4PBrExea3na2TUm7FEw995ZL5N9n7nVxysH6JdwLfDjXaWDotxZtyPn1ifXvgJHJctsFPP
    .
  5. Toutes les parties doivent exécuter la commande suivante (1ère passe) :
    change_multisig_keys
    où et correspond aux données des autres parties partagées à l'étape 9.

    La commande devrait ressembler à ceci :
    change_multisig_keys MultisigxV2Rn1LWRyU32PL2D4MnPtp4w5YFS6KTkanCW18adkxUTdMVJDart7ZPUh6A328nPGtUi3hDQdFr8rNk2aSpMNquYHSbxNhNNpyt2fiGgAxt9woCBXsFtdhKm2dmqqY9qF6e wuBXCDLdJ6rYv1Lm7RyuLN4TQBBccBUesMH6FhGB4FcCncaRh8sEEqcXgR1gbZnEzG6tk81TAthWRqFCZTStSNgD9WJKG7F5 MultisigxV2Rn1LV1jgtbFBZQJTZFADurxZb6w2amhCpHtWHPcykirrk3AE15GGTS NN6328nPGtUi3hDQdFr8rNk2aSpMNquYHSbxNhNZ7Q48j4TRAauoTVenC5ZmsS8EViFdieeHtzgPF wrg9cgAX93F7g4UHyAd82BeTRZb3cxsLGQ3nTZb6ey2HN8dJa6Y8ssCniTd6Kchn4cWhS9Qqz38wh xCDNYd7UJCpGCa3k1
    .
  6. Envoyez les données générées à l'étape 10 à TOUS autres parties. Les données devraient ressembler à ceci :
    MultisigxV2Rn1WC6rFTBNJkY4qjHv8UYXGifkHemhyRJmXnNVtQY8dcx4T2fZBnnCy2iMAFVerhacP1UytUMaGyAN5N5XvnXqqY7fyYAaBX639tG4zRgQJF26m8obGa39AVDYicUsFrL3LRMHF3X FVxmv3XjngbXYY47EXY1BgZk6UYxBAN12Ep2ETqR6rpTvUB8QJmQkrdUpiiu146zoiHieUj2He4KwCgkPj9vK7Y
    .
  7. Toutes les parties doivent exécuter la commande suivante (2ème passe) :
    change_multisig_keys
    où et correspond aux données des autres signataires partagées à l’étape 11.
    Cette étape devrait générer le portefeuille multisig et vous demander l'adresse du portefeuille.
    .
  8. Comparez l'adresse du portefeuille avec toutes les parties pour vous assurer qu'elles sont identiques.
    S'ils ne sont pas identiques, quelque chose s'est mal passé et vous devez recommencer en utilisant les fichiers du portefeuille sauvegardés à l'étape 4.
    .
  9. Taper la graine et sauvegardez la chaîne de départ, qui ressemble à ceci (la graine multisig est différente de la graine habituelle) :
    020000000300000005cd2e5a01ef0830eb666b838d8402795ae8f24f6e3cf2068ff8e48899aed11f500473d4c3a9b9bb9451f19facfff91def79172ed466b808f9fa2173a25d149e4a1c1161be6c029b2c4d0ca5fc806ddc1d46edc7dc3d0727a68ad2f6d24bf6086d269cfd2255f73375939820a71802e25e12abd220271a16505059cb168ce90367c23b78dda9038037406aafa4e6d8ed363f998209ab2a6432c78e5597411a0fb43da66388574bda7edbe6122ee6e8ce987a5eb553ccf3cac170b8031448aa05436d4f88e749ea315b12c6c3b93e5905d63bd6f29df0ba3f4cc888318a1f49c45813af87c6d890797fd36bb2c61ec3f0cd009ec413d1e10d71b19e4f6b893381d6a58526d2f35a1726e847e4bed22ea71f7deb2dc7aff8c7c12505345af8611a
    .
  10. Fermez le portefeuille et sauvegardez les fichiers du portefeuille.
  11. L'une des parties doit envoyer des fonds à l'adresse partagée.
  12. Reconnectez-vous et synchronisez le portefeuille pour vous assurer que les fonds ont été reçus et confirmés par toutes les parties.
Préparation à l'envoi
  1. Pour préparer l'envoi, la Personne 1 tape la commande :
    export_multisig_info
    <filename>
    est juste le nom du fichier que vous souhaitez exporter, cela devrait être quelque chose de simple.
    Le fichier généré est appelé un Image clé, et est un instantané des sorties du portefeuille.
    .
  2. Envoyez le fichier exporté à la Personne 2. La Personne 3 peut également le faire, mais ce n'est pas obligatoire.
    .
  3. La personne 2 et/ou la personne 3 télécharge le fichier partagé et le place dans le même répertoire que l'application CLI.
    .
  4. La personne 2 ou la personne 3 tape la commande :
    import_multisig_info
    <filename>
    est le même fichier que celui créé à l’étape 18 et partagé à l’étape 19.
    .
  5. Celui qui a importé l'image clé à l'étape 21 peut désormais créer une transaction.
Envoi en cours
  1. La Personne 2 ou la Personne 3 crée une transaction de la manière habituelle en tapant :
    transfert

    Cela créera un fichier appelé multisig_haven_tx qui est renvoyé à la personne 1.
    .
  2. La personne 1 télécharge et place le fichier ci-dessus dans le même répertoire que l'application CLI et tape la commande :
    sign_multisig multisig_haven_tx
    .
  3. Une fois la signature réussie, la personne 1 tape la commande suivante pour soumettre le TX :
    submit_multisig multisig_haven_tx
Remarques

Si la Personne 1 et la Personne 2 ont effectué une ou plusieurs émissions et que la Personne 3 n'était pas là, lorsque la Personne 3 synchronise le coffre-fort, celui-ci n'affichera pas le montant correct.

Pour résoudre ce problème, la personne 3 devra importer la dernière image clé partagée à l'étape 19 par l'un des participants à l'aide de la commande de l'étape 20. Une fois importée, la personne 3 pourra effectuer une « actualisation » et le solde correct du portefeuille sera affiché.

Si le délai entre la préparation de l'envoi (partage des images clés) et la création de l'envoi est trop long, le processus peut expirer et vous devrez refaire cette étape.

Sources

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

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

précédent Amorçage de la blockchain
Prochain Transfer Burn
fr_FRFrançais