Le portefeuille web
Le portefeuille officiel ZooBC est un fichier HTML unique qui s’exécute dans un navigateur web. Il construit et signe chaque transaction sur votre appareil et n’envoie au réseau que les octets signés : aucun serveur, aucune passerelle ni aucun nœud ne reçoit donc jamais votre clé. Il n’y a rien à installer et aucun compte à ouvrir auprès de qui que ce soit. Pour les premiers pas, voir comment obtenir un portefeuille ; cette page-ci explique comment le portefeuille fonctionne.
D’où il vient
Chaque nœud sert le portefeuille à / et à /wallet, et les passerelles publiques servent la même page sur leurs propres domaines. Vous pouvez aussi conserver une copie du fichier et l’ouvrir depuis votre propre disque. Comme un faux portefeuille peut ressembler exactement au vrai, vérifiez une copie téléchargée avant d’y saisir une phrase de récupération (vérifier un fichier téléchargé).
Les clés et le coffre
Un portefeuille part d’une phrase de récupération : des mots BIP-39, de 12 à 24, 24 étant recommandés. Les clés en sont dérivées avec SLIP-0010 Ed25519 selon le chemin m/44'/883'/n', où 883 est le type de monnaie de ZooBC (clés et les types de comptes). La phrase est la seule sauvegarde. Personne n’en garde de copie, pas même la ZooBC Foundation, si bien qu’une phrase perdue ne peut être restaurée par personne.
Sur votre appareil, le portefeuille conserve un coffre chiffré, déverrouillé par un code PIN à 6 chiffres ou par une phrase secrète. Il peut aussi se déverrouiller avec une passkey, comme une empreinte digitale ou la reconnaissance faciale. Après un code PIN erroné, le portefeuille vous fait attendre avant l’essai suivant ; l’effacement du coffre après des tentatives échouées est une option que vous pouvez activer.
Les comptes en lecture seule (« Watch an address ») affichent le solde et l’activité de n’importe quelle adresse sans détenir sa clé.
Signer dans la page
Le portefeuille construit les octets de chaque transaction, signe le condensé lié à la chaîne avec votre clé (signer une transaction) et envoie la transaction signée à un nœud. Une transaction signée ne peut pas être modifiée sans invalider sa signature : une passerelle ou un nœud qui la transporte peut la transmettre ou l’abandonner, mais jamais la modifier ni signer quoi que ce soit en votre nom.
De nombreux formats de comptes
Un même portefeuille détient des comptes dans de nombreux formats : comptes ZooBC natifs (ZBC_…), Ethereum et BNB (le même schéma 0x…), Bitcoin (SegWit bc1q…, legacy 1… et Taproot bc1p…), Solana, Polkadot, Cardano, Ripple, Tron et Tezos. Chacun signe avec le schéma propre à sa chaîne d’origine, et chacun est un compte distinct sur le grand livre de ZooBC (clés et les types de comptes).
Le portefeuille peut aussi demander à MetaMask de signer un consentement qui lie une adresse Ethereum à un groupe de comptes (MetaMask et l’accès de style Ethereum).
Le mode air-gap
Signer et diffuser sont deux étapes distinctes, et le portefeuille peut les garder séparées. En mode air-gap, il s’exécute sur un ordinateur qui ne se connecte jamais. Il y construit et signe chaque transaction, mais au lieu de l’envoyer, il affiche la transaction signée sous forme de texte et de code QR. Vous la transportez vers n’importe quelle copie en ligne du portefeuille et la collez ou la scannez sur la page Submit, qui ne nécessite aucune clé. La clé ne touche jamais une machine connectée.
Soumettez la transaction peu après l’avoir signée. Une transaction porte son propre horodatage, et un bloc ne peut l’inclure que dans une fenêtre qui suit cet instant : une heure par défaut ou, pour une transaction de version 3, une fenêtre qu’elle fixe elle-même, d’un jour au plus (expiration et horodatages).
Rester connecté
Le portefeuille accède à la chaîne par une passerelle. Lorsque sa passerelle tombe en panne, il relit les listes de passerelles, de relais et de services d’archivage inscrites sur la chaîne et passe à une autre passerelle. Les appels entre comptes, la présence en ligne et les coups des jeux à canal passent par un relais. Lorsqu’une nouvelle version du nœud est enregistrée sur la chaîne, le portefeuille affiche un bandeau, et le propriétaire d’un nœud peut régler l’interrupteur de mise à jour du nœud depuis le portefeuille, sans se connecter au serveur (versions et mises à jour).