Pour les équipes qui détiennent des actifs sur Gnosis Safe

Une deuxième signature résistante au quantique pour votre Safe

Installez un Safe Guard. Vos propriétaires, votre seuil et votre historique restent exactement les mêmes, mais chaque transfert exige en plus une approbation post-quantique, vérifiée sur la chaîne.

Aucune migration Open source (MIT / LGPL-3.0) Signatures NIST SP 800-208
La Safe App FermionGuard : une file de transactions où chaque transfert en attente affiche son état d'autorisation quantique
Basé sur Safe Guard XMSS · RFC 8391 NIST SP 800-208 Clés sur Ledger Primitives OpenZeppelin Open source · MIT / LGPL-3.0
Démonstration

Un transfert de 250 000 dUSD,
entièrement signé et pourtant bloqué

Un propriétaire signe le transfert dans le vrai Safe{Wallet}. Il ne s'exécute pas. L'Administrateur quantique lit le paiement sur l'appareil (jeton, montant, destinataire, fenêtre de validité, Safe et chaîne) et l'approuve avec une signature post-quantique à usage unique. Alors seulement, les fonds bougent.

Un transfert de 250 000 dUSD est entièrement signé dans Safe{Wallet} et échoue pourtant ; l'Administrateur quantique l'approuve sur un Ledger simulé avec une signature XMSS à usage unique ; le même transfert s'exécute ensuite

Enregistré de bout en bout sur l'environnement de démonstration local : un vrai Safe, le vrai Safe{Wallet} et le Guard qui applique les règles sur la chaîne. L'appareil est le Ledger simulé, pas du matériel ; voir État pour l'avancement de l'application Ledger.
Voir en taille réelle · L'essayer vous-même →

Pourquoi maintenant

Plus de signataires ne rendent pas
un multisig résistant au quantique

Chaque propriétaire de Safe signe avec ECDSA. Un ordinateur quantique assez puissant casse ECDSA, pour tous vos signataires à la fois. Des actifs conservés dix ans ont besoin d'une signature qui survive à ce jour-là.

Le multisig, c'est de la gouvernance

Il décide qui peut signer. Il ne peut rien si le schéma de signature lui-même tombe.

Les clés matérielles empêchent le vol

Elles n'empêchent pas une signature falsifiée sur la même courbe : la clé n'a jamais besoin de quitter l'appareil.

Une politique hors chaîne n'est qu'un conseil

Un moteur de règles que la chaîne ne consulte pas peut être contourné. Le dernier mot doit se trouver sur la chaîne.

Fonctionnement

Deux signatures indépendantes.
Un seul chemin d'exécution.

FermionGuard est un Safe Guard, le point d'accroche officiel de Safe avant chaque exécution. Les propriétaires continuent de signer comme aujourd'hui. Le Guard ne laisse passer la transaction que si elle porte aussi une approbation post-quantique correspondante.

Signature 1 : inchangée

Les propriétaires de votre Safe

Les mêmes propriétaires, le même seuil, les mêmes portefeuilles matériels. Protège contre les opérateurs malveillants, les appareils perdus et les défaillances internes.

Signature 2 : ajoutée

Une approbation post-quantique

Un Administrateur quantique désigné approuve chaque transfert sur un Ledger avec une clé XMSS. Protège contre les signataires compromis, les approbations rejouées, le siphonnage d'autorisations et les futures attaques quantiques.

File d'attente

Un opérateur met un transfert en file d'attente dans Safe{Wallet}. Les propriétaires signent comme d'habitude.

Signalement

La Safe App FermionGuard le marque 🟡 autorisation quantique requise.

Vérification

L'Administrateur vérifie le contenu, décodé à partir de deux sources indépendantes.

Approbation

Le Ledger affiche chaque champ appliqué. Maintenez appuyé pour approuver.

Exécution

La ligne passe au 🟢. N'importe qui peut l'exécuter ; le Guard vérifie et consomme l'approbation.

Écran de vérification affichant le jeton, le montant, le destinataire, le nonce et la fenêtre de validité décodés avant la signature

L'Administrateur voit exactement ce qu'il approuve

Les approbations correspondent à des transactions précises, pas à des intentions

Une approbation désigne le Safe, la chaîne, le jeton, le destinataire, le montant et une fenêtre de validité. Si quelqu'un modifie ensuite la transaction en attente, l'approbation ne correspond plus et le Guard la refuse.

  • Limitées dans le temps : chaque approbation est valable pendant la fenêtre que vous choisissez.
  • À usage unique : consommées au moment où la transaction s'exécute.
  • Vérifiées deux fois : le contenu doit concorder sur deux sources de données indépendantes avant que la signature ne soit débloquée.
  • Refus visibles : les refus sont signés et journalisés comme les approbations.
Écrans de l'appareil Ledger affichant l'en-tête de l'approbation, le montant, l'adresse complète du destinataire et la décision d'approuver ou de refuser

Pas de signature à l'aveugle : l'appareil affiche chaque champ que le Guard applique

Fonctionne dans les outils que votre équipe utilise déjà

FermionGuard est livré sous forme de Safe App dans Safe{Wallet} et d'application Ledger pour l'Administrateur. Des alertes de risque signalent les nouveaux destinataires, les montants inhabituels et les transactions que le Guard refuserait de toute façon, avant que quiconque ne signe.

Une paie à verser ? Un lot entier de jusqu'à 100 transferts ne demande qu'une seule approbation.

Mise en place

Ajoutez-le au Safe que vous avez déjà

Pas de nouveau portefeuille, pas de nouvelle chaîne, pas de migration d'actifs. Quatre étapes, menées par vos propriétaires actuels au moyen de transactions Safe ordinaires.

Ouvrez la Safe App

Ajoutez FermionGuard dans Safe{Wallet}. Il vérifie la version et les modules de votre Safe avant toute modification.

Organisez la cérémonie des clés

La clé de l'Administrateur est générée dans le Ledger. Les propriétaires la confirment et cosignent son enregistrement.

Activez le Guard

Les propriétaires signent une transaction setGuard, comme toute autre transaction Safe.

Envoyez un transfert de test

Un transfert d'un montant infime parcourt tout le processus. Une fois confirmé, votre tableau de bord affiche Protégé ✓.

⏱ Environ 30 minutes si vos propriétaires sont disponibles
Pour qui

Conçu pour des actifs qui doivent rester sûrs pendant dix ans

🏦 Dépositaires et banques

Ajoutez un contrôle cryptographique indépendant et fondé sur des normes à la conservation des actifs de vos clients.

  • Schéma de signature approuvé par le NIST
  • Journal d'audit exportable pour la conformité
  • Procès-verbaux imprimables de la cérémonie des clés

🏢 Trésoreries d'entreprise

Gardez votre circuit d'approbation, et faites qu'un signataire compromis ne suffise plus à déplacer des fonds.

  • Les propriétaires signent comme aujourd'hui
  • Une approbation par lot de paie
  • Alertes de risque sur les transferts inhabituels

🏛️ Fondations et DAO

Placez un contrôle public et temporisé sur les opérations qui comptent le plus : les changements de gouvernance.

  • Délai public de 48 heures pour les actions d'administration
  • Les propriétaires peuvent l'annuler sans approbation quantique
  • Open source, vérifiable sur la chaîne
Sécurité

Difficile à contourner.
Impossible à bloquer.

Le Guard est le dernier veto sur la chaîne, et il est conçu pour qu'une clé perdue ou un bogue ne puisse jamais geler vos fonds.

Toujours une issue

Ledger perdu ? Les propriétaires seuls peuvent retirer le Guard après un compte à rebours public de 14 jours. Un appareil hors service ne bloque jamais le Safe.

Changements de gouvernance visibles

Retirer le Guard ou changer de propriétaires exige une approbation et un compte à rebours public de 48 heures dont chaque propriétaire est averti.

Sécurité par défaut

Un Guard non modifiable, avec une pause rapide qui bloque tout en cas d'incident. Aucune porte dérobée d'administration.

Pas de porte dérobée

Les modules Safe contournent les guards : l'inscription exige donc qu'aucun module ne soit activé, ou un module guard associé sur Safe 1.5+.

Pas de siphonnage d'autorisations

approve, permit et transferFrom sont refusés d'emblée, et les lots sont vérifiés opération par opération sur la chaîne.

Des clés impossibles à substituer

Les propriétaires cosignent la racine publique complète de la clé sur leurs propres appareils, si bien qu'un site web compromis ne peut pas y substituer une autre clé.

Écran d'action administrative avec un compte à rebours de 48 heures et un bouton de révocation

Les changements de gouvernance sont lents et visibles ; les annuler est rapide

Même une clé quantique volée ne permet pas de prendre le contrôle en silence

Un attaquant en possession du Ledger de l'Administrateur ne peut toujours pas déplacer de fonds sans les signatures de vos propriétaires, ni retirer le Guard sans un compte à rebours public de 48 heures que vos propriétaires peuvent annuler.

Lire le modèle de menaces →

Pour vos ingénieurs

Des signatures post-quantiques,
vérifiées dans l'EVM

XMSS ne repose que sur des fonctions de hachage : la chaîne le vérifie donc directement, sans oracle ni serveur de confiance. Le vérificateur est une implémentation indépendante de la RFC 8391, et nous disons exactement jusqu'où va sa preuve : chaque primitive de la RFC, ainsi que les contrôles qui rejettent les entrées mal formées, sont vérifiés par machine pour toutes les entrées, face à une transcription ligne à ligne de la RFC. Leur composition dans la comparaison de la racine, qui accepte ou refuse finalement une signature bien formée, est justifiée à la main, vérifiée symboliquement pour une hauteur d'arbre de 2 et fixée par les vecteurs de la RFC pour h = 4, 10 et 20.

745,003
gas par vérification, mesuré à h = 20
~1M
approbations par clé (220 feuilles)
11
lemmes Halmos qui vérifient le vérificateur face à la RFC 8391, dont dix pour toutes les entrées
MIT
Vérificateur XMSS écrit à partir de la RFC, sans code emprunté

La réutilisation d'une feuille est impossible par construction

XMSS est à états : réutiliser une feuille à usage unique permettrait à un attaquant de falsifier des signatures. Le Ledger enregistre son compteur avant de délivrer une signature, et le contrat tient une table des feuilles utilisées qui annule toute réutilisation.

Parcourir les contrats → · Spécification du Guard → · Preuve formelle →

contracts/src/QuantumKeyRegistry.sol (simplifié)
function _verifyAndConsumeXmss(
    bytes32 keyId,
    bytes32 digest,
    bytes calldata xmssSignature
) internal {
    XMSS.Signature memory sig = abi.decode(xmssSignature, (XMSS.Signature));
    BitMaps.BitMap storage used = _usedLeaves[xmssRoot(keyId)];  // per KEY, not per registration
    if (used.get(sig.leafIdx)) revert LeafAlreadyUsed(keyId, sig.leafIdx);

    if (!XMSS.verify(digest, sig, publicKey(keyId), treeHeight(keyId)))
        revert InvalidXmssSignature();  // whole tx rolls back

    used.set(sig.leafIdx);                // burn the one-time leaf
    emit LeafConsumed(keyId, sig.leafIdx, digest);
}
Où nous en sommes

Développé en public

La conception et le vérificateur post-quantique sont déjà publics. Les équipes en accès anticipé contribuent à façonner le reste.

Vérificateur XMSS (Solidity)
Vérificateur RFC 8391 avec consommation des feuilles sur la chaîne (une table des feuilles utilisées dans le registre des clés), tests Foundry et mesures de gas
Implémenté
Spécification et modèle de menaces
Guard, registre des clés, moteur de pré-approbations, service, politique matérielle
Publié
Safe App et écrans Ledger
Parcours file d'attente, approbation, lots, cérémonie des clés, refus, urgence et appareil
Conçu
Vérificateur XMSS, vérifié par machine
Primitives et contrôles de validation des entrées prouvés équivalents à la RFC 8391 par exécution symbolique ; la comparaison de la racine qui tranche pour une signature bien formée est justifiée à la main et fixée par des vecteurs, sans vérification par machine pour un h quelconque ; PROOF.md précise ce qui est prouvé et ce qui est supposé. Publié sous le nom xmss-solidity
Prouvé en partie
Contrats du Guard, du registre des clés et des pré-approbations
Construits sur les bibliothèques auditées de Safe et d'OpenZeppelin ; les suites Foundry comprennent un test d'intégration avec un vrai Safe. L'automate du registre des clés et dix-huit propriétés du Guard et du moteur de pré-approbations sont prouvés face à des spécifications exécutables avec Halmos ; le décodeur de lots n'en fait pas partie
Implémenté
Application Ledger et Safe App
Une première application Rust pour l'appareil compile, génère sa clé sur l'appareil et signe dans l'émulateur Ledger, mais elle ne couvre qu'une partie de l'application spécifiée et ne doit pas détenir de fonds réels ; l'intégration à Safe{Wallet} est en ligne sous forme d'aperçu de préparation en lecture seule
En développement
Audit de sécurité externe
Obligatoire avant tout déploiement sur le mainnet
Prévu
Qui le construit

Conçu par quelqu'un qui a
travaillé des deux côtés de la menace

Stan (Konstantin) Kladko : de la physique qui crée la menace quantique à la cryptographie qui doit y survivre.

⚛️ Physicien quantique

Docteur de l'Institut Max Planck. A travaillé avec le prix Nobel Robert B. Laughlin sur les systèmes quantiques à Stanford. Director's Fellow au Laboratoire national de Los Alamos.

🔐 Évaluateur de modules cryptographiques

A dirigé un laboratoire accrédité par le NIST pour les tests de modules cryptographiques (CMVP), délivrant des certifications FIPS 140-2 et de sécurité face aux canaux auxiliaires.

⛓️ La blockchain à grande échelle

Cofondateur et CTO de SKALE, qui a fait passer la cryptographie à seuil BLS du papier à un mainnet aligné sur Ethereum.

FAQ

Les premières questions des équipes

Faut-il déplacer nos actifs ou modifier notre Safe ?

Non. Vous installez un Guard sur le Safe que vous avez déjà. Propriétaires, seuil, historique et adresses restent exactement les mêmes.

Que se passe-t-il si le Ledger de l'Administrateur est perdu ?

Vos propriétaires peuvent retirer le Guard eux-mêmes, sans clé quantique, après un compte à rebours public de 14 jours. Si la demande n'est pas légitime, ils peuvent l'annuler à tout moment pendant ce délai par une transaction Safe ordinaire. Un appareil perdu ne peut jamais bloquer définitivement votre Safe.

Est-ce que cela ralentit nos transferts ?

Chaque transfert demande une approbation supplémentaire de l'Administrateur sur un Ledger. Les lots, comme une paie de jusqu'à 100 transferts, ne demandent qu'une seule approbation pour l'ensemble.

Combien cela coûte-t-il en gas ?

Vérifier la signature post-quantique coûte environ 745 000 gas, payés une fois à la création de l'approbation (745 003 gas mesurés à h = 20). Le contrôle au moment de l'exécution n'est qu'une simple lecture.

Quels Safe sont pris en charge ?

Safe v1.3.0 et ultérieures. Le Safe ne doit avoir aucun module activé, car les modules contournent les guards, ou bien être sur Safe 1.5+ avec le module guard de FermionGuard installé lui aussi. Il ne doit pas non plus avoir de fallback handler : les jetons ERC-20 et l'ETH fonctionnent normalement, mais les fonctions de messages signés (Permit, ordres CowSwap, connexion) et la réception de NFT via safeTransferFrom ne sont pas encore prises en charge.

Pourquoi XMSS et pas ML-DSA ou Falcon ?

XMSS est une signature fondée sur le hachage et approuvée par le NIST (SP 800-208) : l'EVM peut donc la vérifier pour environ 1M de gas. Les schémas à base de réseaux comme ML-DSA et Falcon coûteraient aujourd'hui des dizaines de millions de gas à vérifier sur la chaîne.

Peut-on l'utiliser en production aujourd'hui ?

Pas encore. Le vérificateur post-quantique est vérifié par machine face à la RFC 8391 dans la mesure décrite plus haut, et les contrats du Guard sont implémentés et testés, mais rien n'est encore audité ; l'application Ledger et la Safe App sont en développement, et un audit externe est requis avant tout déploiement sur le mainnet. Demandez un accès anticipé pour faire partie des premières équipes accompagnées.

Accès anticipé

Protégez votre Safe
avant d'en avoir besoin

Nous accueillons un premier groupe d'équipes qui détiennent des actifs sur Safe. Décrivez-nous votre configuration et nous vous recontacterons à l'ouverture des pilotes.

Ouvre un court formulaire GitHub public : n'y mettez rien de confidentiel.

1 · Parlez-nous de votre Safe

Chaîne, version de Safe, nombre de propriétaires, volume approximatif de transferts.

2 · Nous revenons vers vous

Nous vous contacterons à l'ouverture des pilotes en accès anticipé.

3 · Mise en route ensemble

Organisez la cérémonie des clés et activez le Guard avec vos propriétaires.