Une transaction de Dusk peut disparaître du mempool de mon nœud sans jamais atteindre une expiration on-chain.
C’est le délai que je ne voudrais pas coder en dur dans un portefeuille. @Dusk transactions ne portent aucun champ d’expiration. L’expiration relève de la politique locale de Rusk. La valeur par défaut intégrée est de trois jours, tandis que les nœuds installés avec node-installer v0.5.22 utilisent une durée de vie de mempool de 30 minutes avec des vérifications toutes les cinq minutes.
Ainsi, deux nœuds Dusk en bonne santé peuvent me donner des réponses très différentes sur la durée pendant laquelle la même transaction en attente est autorisée à rester.
La partie la plus vicieuse est l’événement “removed”. Il ne m’indique que que la transaction a quitté le mempool local de ce nœud. L’inclusion, le remplacement, l’expiration, l’éviction pour capacité, ou un conflit de dépense peuvent tous provoquer cette sortie. Si je traduis “removed” directement par “failed”, ma logique de récupération se trompe.
Pour un service de retrait, cette supposition peut toucher l’utilisateur. Je peux marquer un paiement comme mort parce que mon nœud l’a expiré localement pendant qu’un autre nœud l’avait déjà propagé plus loin.
Je traiterais le timeout du mempool comme une configuration du nœud, puis je consulterais l’état du ledger avant de décider qu’une transaction DUSK est suffisamment sûre pour être reconstruite.
Sur Dusk, “absente de mon mempool” n’est pas la même chose que “disparue”.
Un portefeuille W3sper peut dériver un vrai profil Dusk, me montrer une adresse, et pourtant rester incapable de construire le premier transfert.
Le travail caché est l’état de Bookkeeper. W3sper me fournit des constructeurs de transactions, mais il ne transforme pas un profil fraîchement créé en portefeuille headless complet. Si je génère des clés et passe directement à l’envoi, ce profil n’a aucune entrée Bookkeeper synchronisée ; le constructeur ne peut donc pas récupérer les informations de solde et de nonce dont il a besoin.
Phoenix rend cette tromperie plus difficile. Un service de signature doit aussi maintenir des notes shielded synchronisées, pas seulement la clé secrète. Ainsi, la conservation des clés peut être correcte tandis que l’état dépensable est périmé.
Le mauvais côté, c’est que le portefeuille peut sembler terminé. Je peux créer le compte, le financer, protéger la clé, puis appuyer sur Envoyer et découvrir que mon backend n’a jamais reconstruit l’état qui rend cet envoi de DUSK possible.
Si je gérais une trésorerie headless Dusk, je testerais la reprise en restaurant les clés dans une base de données vide et en faisant resynchroniser le portefeuille avant qu’il ne signe quoi que ce soit.
Sur Dusk, sauvegarder la clé n’est pas la même chose que sauvegarder le déroulé (workflow) du portefeuille.
Un nœud d’archive Dusk peut être remis à jour jusqu’à la pointe de la chaîne et pourtant manquer l’historique dont j’ai besoin pour créditer un ancien dépôt.
Le piège, c’est le chemin d’amorçage (bootstrap). Archive Rusk conserve les index finalisés utilisés par moonlightHistory, fullMoonlightHistory et finalizedEvents. Mais si je fais démarrer le nœud à partir de l’instantané download_state du programme d’installation, je restaure l’état d’exécution, pas les index d’archive pour les blocs antérieurs à cet instantané.
Donc « synchronisé » n’est pas le critère de préparation qui m’intéresse.
Pour un service de dépôt Moonlight, je peux interroger l’historique finalisé, obtenir des réponses propres, et néanmoins avoir une plage aveugle derrière la frontière de l’instantané. L’état de la chaîne est à jour. Mon ingestion historique ne l’est pas. Un rattrapage (backfill) via ce nœud peut, en toute discrétion, sauter un dépôt plus ancien tandis que chaque contrôle de santé près de la pointe semble normal.
Si j’ai besoin d’un historique complet, l’archive doit se synchroniser depuis le genesis ou provenir d’une sauvegarde de confiance qui contient déjà les bases de données d’archive. Ensuite, il faut que je teste la plage de blocs la plus ancienne que mon service promet de couvrir avant de le déclarer prêt.
Je préfère échouer bruyamment le test de préparation plutôt que découvrir l’étendue manquante quand un utilisateur demande pourquoi un dépôt finalisé DUSK n’a jamais atteint son solde.
Le 91 a du sens. Le principal frein, c’est la séquence. Votre meilleure conséquence apparaît trop tard.
Je l’affinerais comme ceci :
J’ai trouvé un détail de staking sur Dusk qui rend les top-ups répétés plus difficiles que ce qu’ils laissent penser.
Si mon prestataire est déjà actif et que j’ajoute 4 000 DUSK, seulement 3 600 vont directement dans le stake actif. Les 400 restants sont verrouillés.
Ces 400 m’appartiennent toujours, mais la partie peu agréable, c’est de récupérer le solde final verrouillé. Il se peut qu’à terme j’aie besoin de complètement dénouer la position restante rien que pour le récupérer.
Donc le nombre que j’ajoute et le nombre qui travaille réellement dans le consensus ne sont pas identiques.
Cela devient encore plus visible si je continue à capitaliser. Un autre top-up crée un nouveau split 90/10. Je peux continuer à développer la partie active tout en constituant un solde verrouillé qui reste en dehors du consensus et me suit jusqu’à la sortie éventuelle.
Avant, j’observais la capitalisation surtout comme une décision de récompense.
Sur Dusk, je regarderais aussi la quantité de nettoyage que je crée discrètement à chaque fois que je fais un top-up.
J’ai remarqué que la partie maladroite de Dusk n’envoie pas de transfert privé. C’est ce qui se produit lorsque ce transfert doit devenir un crédit d’échange sans que l’opérateur devine qui en est le propriétaire.
Pour les dépôts, Dusk ne fait pas semblant que Phoenix et Moonlight sont interchangeables. Phoenix utilise des notes chiffrées et des nullificateurs, tandis que les intégrations d’échange sont orientées vers Moonlight, car le modèle de garde et d’analyse est différent. Ainsi, l’opérateur doit encore choisir comment fonctionne l’attribution : un compte Moonlight par client, ou un compte partagé où le mémo devient des données d’acheminement.
Puis vient le cas d’échec peu reluisant. Un transfert valide peut arriver avec des métadonnées manquantes, mal formées, inconnues ou réutilisées. La chaîne peut se régler correctement et le crédit doit néanmoins être mis en quarantaine au lieu d’être publié au mauvais utilisateur.
Le détail auquel je reviens sans cesse, c’est le point de contrôle. Dusk s’attend à ce que les crédits et le point de contrôle du bloc scanné soient écrits de manière atomique, avec l’ID de transaction utilisé pour l’idempotence. Avancer le point de contrôle avant que le crédit ne soit durable, et un crash peut laisser ce dépôt en dehors du chemin d’ingestion de l’opérateur.
Pour Dusk, le vrai test de garde consiste à savoir si un dépôt Moonlight finalisé peut jamais disparaître entre le point de contrôle et le crédit.
Le prix du XRP risque de chuter sous 1 $ alors que la loi CLARITY échoue : Polymarket
Le XRP de Ripple navigue dans des eaux plus incertaines, les traders estimant que la loi CLARITY n’a pas été adoptée avant la pause d’août. Les données de Polymarket indiquent que le prix du XRP est principalement négocié autour du seuil de 1 $, avec un contrat attribuant au niveau de prix de 1 $ une probabilité de 71 % pour que la crypto atteigne ce prix le 10 août.
Les données des marchés de prédiction indiquent également qu’il n’y a pas de grands espoirs d’un rallye significatif à court terme. Le taux de probabilité de 12 % pour que XRP atteigne 1,20 $ le 10 août provient d’un contrat distinct de Polymarket.
Perspectives de prix de Pi Network alors que le Bitcoin se redresse au-dessus de 65 000 $
Le Bitcoin continue de progresser au-dessus de la barre des 65 000 dollars, avec, en parallèle, l’amélioration du sentiment général, tandis que le prix de Pi Network a également enregistré une hausse correspondante. Le jeton PI est en hausse de 2,80 % sur la dernière journée pour atteindre 0,0910 $ tandis que le Bitcoin a réussi à afficher une légère progression. L’évolution fait suite au protocole 26 et à de nouveaux développements d’utilité, ainsi qu’à son inscription sur les principales bourses de cryptomonnaies à l’avenir. La force du Bitcoin soutient la reprise du prix de Pi Network. Le prix du Bitcoin a brièvement dépassé les 65 400 dollars avant de fluctuer autour du niveau clé des 65 000 dollars samedi. Cette amélioration est intervenue après la publication de données américaines sur l’emploi plus faibles, lesquelles ont contribué à renforcer l’appétit pour les actifs à risque.
Strategy s’associe à Coinbase et Morgan Stanley pour financer les comptes de Trump
Dans une nouvelle annonce d’avantages aux employés, Strategy contribuera aux comptes de Trump, qu’elle affirme être remis à ses employés américains pour leurs enfants. La société de trésorerie Bitcoin a déclaré qu’elle sera lancée une fois que le Trésor américain publiera des orientations finales et que des programmes de contribution des employeurs seront proposés. Les comptes de Trump étendent les avantages des joueurs. Les avantages des joueurs augmentent avec les comptes de Trump. Les comptes de Trump seront à 250 $ par an pour chaque enfant de moins de 18 ans qui est éligible au programme pour tous les employés américains de l’entreprise. L’entreprise a également l’intention d’offrir une contribution de 1 000 $ qui correspond à la contribution du gouvernement américain pour financer, une seule fois, les enfants éligibles.
J’ai vérifié si le portefeuille du trésor pouvait réellement récupérer la mise de Babylon.
Il pouvait signer les UTXO qui financent le dépôt.
Ensuite, j’ai effectué la vérification de propriété à l’encontre du StakerPk commis à l’intérieur de la sortie de staking.
« Clé introuvable. »
Le portefeuille du trésor était censé contrôler cette clé. Le système de récupération n’a toujours pas pu la produire lorsqu’on le lui a demandé.
Rien dans le flux de dépôt ne l’exposerait.
La transaction de financement signe. La mise se confirme. La délégation devient active.
La rupture n’apparaît que lorsque le BTC doit à nouveau être déplacé.
La voie de retrait normale comme le désengagement anticipé dépendent encore de la clé du staker. L’approbation de la clause de conformité ne la remplace pas.
Donc, le BTC n’a jamais été prouvé récupérable lorsqu’il est entré dans Babylon. Il a seulement été prouvé finançable.
« Clé introuvable » semble inoffensif jusqu’à ce qu’elle soit attachée à la seule clé qui peut ramener le BTC à la maison.
Ma procédure de récupération a réussi le contrôle de clé, mais n’a toujours produit aucun vote de finalité.
Une signature de finalité Babylon nécessite plus que la clé EOTS. Elle doit contenir la preuve de Merkle montrant que son caractère aléatoire public a été engagé pour cette hauteur exacte. Ces preuves, ainsi que la dernière hauteur votée du fournisseur, résident dans finality-provider.db.
Restaurer le trousseau de clés sur une machine propre ne constitue pas une restauration fonctionnelle. Le daemon peut reconnaître mon fournisseur, joindre eotsd, et disposer de suffisamment de gaz pendant que chaque soumission de vote échoue, car la preuve du caractère aléatoire est absente. Le fournisseur semble récupéré dans le trousseau de clés et reste silencieux à la prochaine hauteur Babylon.
La réparation est spécifique. Je dois arrêter fpd et exécuter recover-rand-proof à partir d’une hauteur de départ choisie. Si j’oublie cette hauteur, l’outil reconstruit les preuves à partir du premier engagement de caractère aléatoire, transformant toute l’historique de fonctionnement du fournisseur en travail de récupération.
Je testerais une sauvegarde en soumettant un vrai vote de finalité, pas en vérifiant seulement si le processus démarre. Restaurer une identité sans restaurer les éléments probants de signature n’est qu’une moitié de la récupération.
La machine peut se souvenir de qui elle est et pourtant oublier comment prouver son prochain vote.
J’ai détecté l’échec lorsque le signataire a renvoyé la pré-stake Babylon comme étant entièrement signée.
Babylon affichait encore la délégation comme PENDING.
C’était le problème.
La sélection des pièces avait fait entrer un UTXO legacy dans une mise avec plusieurs entrées. Comme cette entrée avait besoin de sa signature à l’intérieur du scriptSig, mon signataire a terminé la transaction avant que Babylon n’ait fini la vérification de la convention.
L’hexadécimal de la transaction n’était plus seulement un paquet d’enregistrement. Un nœud Bitcoin pouvait l’accepter et la relayer.
J’ai mis de côté la transaction signée, j’ai reconstruit la sélection des pièces uniquement avec des entrées SegWit, et j’ai relancé le flux d’enregistrement.
J’avais BABY en place dans une demande acceptée pendant qu’une autre position glissait vers la liquidation à 0,01188 $.
Je pensais que « acceptée » signifiait que la période d’attente avait commencé. Alors j’ai compté à partir du clic et j’avais prévu le déplacement du collatéral en fonction de cela.
Ce n’était pas commencé.
La demande devait encore passer l’epoch et atteindre un checkpoint Bitcoin avant même que les 300 confirmations ne commencent. Quand je m’en suis rendu compte, le BABY était toujours verrouillé et la position avait moins d’espace que ce que j’avais prévu.
Le détail à l’écran qui comptait n’était pas la demande acceptée. C’était le fait que le compteur des confirmations Bitcoin n’avait pas encore démarré.
J’avais besoin de ce BABY comme collatéral avant 0,01188 $.
Au lieu de cela, il était bloqué dans une file de sortie pendant que le risque de liquidation se rapprochait.
J’ai trouvé un dépôt en BTC que l’on peut confirmer sur Bitcoin, tout en aboutissant encore inutilisable dans Babylon. Le piège, c’est le timing des paramètres. Babylon versionne ses règles de staking BTC via btc_activation_height. Dans le flux de pré-staking, je dois construire en fonction de l’ensemble de paramètres vu par le propre client Bitcoin léger de Babylon au moment où je m’enregistre, et non de ce qui semble actuel quand Bitcoin minera plus tard la transaction. Cette version sélectionnée fixe les clés du covenant et le quorum, ainsi que les conditions de désengagement que Babylon vérifiera. Si on manque cette recherche, la transaction peut faire exactement ce pour quoi je l’ai signée. Bitcoin accepte la sortie. Le mineur est payé. Les confirmations s’accumulent. Ensuite, Babylon ne peut pas vérifier le paquet de staking parce que le script a été construit pour le mauvais ensemble de règles. Pour un développeur de wallet, cela crée un succès faux et brutal. Le BTC de l’utilisateur a quitté le solde disponible pour être bloqué dans une sortie de staking à durée limitée, mais la position n’a aucun pouvoir de vote et ne rapporte rien. Une simple nouvelle tentative ne peut pas réparer un script déjà engagé dans Bitcoin. Je mettrais la version des paramètres et la hauteur d’activation à l’écran de signature, puis je bloquerais la diffusion chaque fois que la vue de mon client light Babylon est périmée. Cacher cette recherche derrière une confirmation verte, c’est transformer du Bitcoin valide en capital de staking immobilisé via une intégration. #baby $BABY @BabylonLabs_io
J’ai trouvé qu’un fournisseur de finalité Babylon peut réussir sa vérification de santé alors que, pour chaque demande de signature qui compte, tout est déjà mort. La lacune se situe entre fpd et eotsd. Babylon laisse passer Ping sans HMAC, de sorte qu’un moniteur peut continuer à afficher le gestionnaire EOTS comme joignable. Mais SignEOTS, SignSchnorrSig et CreateRandomnessPairList exigent toutes la clé partagée. Une seule divergence entre fpd.conf et eotsd.conf, même un espace blanc parasite, laisse l’appel inoffensif passer au vert, tandis que les appels de production sont rejetés. Cela signifie que je peux avoir deux démons en cours d’exécution, un nœud Genesis Babylon synchronisé, une connectivité RPC ouverte, et aucun résultat de finalité exploitable. Le fournisseur ne signale pas d’échec bruyant au démarrage. Il échoue lorsque fpd demande à eotsd la signature ou l’aléa nécessaires pour la hauteur suivante. Je n’alerterais pas sur Ping seul. Je testerais un chemin de signature authentifié et je suivrais la dernière demande EOTS ayant abouti. Sinon, le tableau de bord prouve uniquement que la porte existe, pas que la clé l’ouvre encore. Pour un opérateur Babylon, une connectivité au vert peut masquer un fournisseur qui a déjà cessé de voter. #baby $BABY @BabylonLabs_io
Perspectives sur le prix du Bitcoin après que la Fed a maintenu ses taux à 3,5 %–3,75 % alors que les craintes liées aux rendements américains augmentent
Les traders de Bitcoin attendaient de voir comment la Réserve fédérale déciderait de gérer les taux d’intérêt, alors que le prix de la cryptomonnaie évoluait entre 63 000 et 64 000 $. Les craintes d’inflation liées aux droits de douane, la hausse des rendements des bons du Trésor et la hausse des prix du pétrole pèsent toutes sur les actifs à risque. L’ensemble du marché des cryptomonnaies a reculé de 0,68 % et a atteint une valeur de 2,18 billions de dollars sur 24 heures. Les actifs à risque ont été contenus par la faiblesse des actions américaines et par le manque de demande pour les cryptomonnaies à grande capitalisation au cours de la semaine. Le prix de l’Ethereum a continué de fluctuer autour de la zone des 1 900 $, tandis que XRP et Dogecoin ont également affiché une certaine inertie.
Peut soumettre une délégation BABY, confirmer la transaction en temps réel et ne pas avoir de participation dans la transaction.
Pour déléguer, annuler la délégation et la re-déléguer via les messages dans x/epoching, utilisez les files d’attente Babylon. L’accord est enregistré ici, mais la puissance du validateur ne sera mise à jour qu’à la fin de l’epoch de 360 blocs, environ une heure plus tard. Ce mur de BABY I que j’aurais soi-disant planté reste fluide, jusqu’à cette limite.
Cela entraîne un problème de portefeuille vraiment affreux. Quand je déplace mes jetons après avoir vu « succès », la délégation mise en file atteindra le traitement de l’epoch sans le solde qu’elle attendait et échouera. Ce n’était pas un mensonge que la chaîne a raconté. L’interface a créé la mauvaise scène comme étant achevée.
L’utilité du statut n’est pas vérifiée. Il attend la fin de l’epoch, moment où il sera verrouillé et générera. Un portefeuille devrait afficher la file, l’heure d’epoch restante, et le résultat final du stake qui a été exécuté avec succès, afin que si je signe un stake valide et l’annule par erreur avec un transfert ultérieur, je puisse voir le stake dans la file.
Je n’arrive tout simplement pas à me débarrasser de cette heure de temps qui me manque. Dans Babylon, le succès d’une transaction et le succès du staking sont deux événements. Toute interface qui les réduit à une seule coche verte provoquera le mouvement normal du jeton comme une délégation échouée.
Cette hausse semblerait être une reprise à court terme. D’après ce que je vois, elle va finalement créer un autre plus bas clôturant avant que le marché ne démarre la prochaine grande impulsion haussière.
Ma zone de vente préférée reste $0.01900–$0.02170. À partir de là, je chercherai une cassure vers la zone d’accumulation $0.0050-$0.0055.
Une fois que ce niveau est atteint, je clôturerai mes positions short et commencerai à ouvrir des positions longues plutôt que cette reprise, que je pense être la grande hausse à venir.
Enregistrez le coffre. Vérifiez le verrouillage du Bitcoin. Suivez l’état de la garantie. Construisez le parcours de rachat. Puis répétez le même travail spécifique au Bitcoin avant que le produit financier lui-même n’ait fait quoi que ce soit d’utile.
Babylon a levé ce goulot d’étranglement.
Son testnet Trustless BTCVault offre aux développeurs une surface de travail opérationnelle pour une garantie native en BTC, tandis que le contrat du gestionnaire TBV gère l’enregistrement du coffre, la vérification et le rachat sécurisé via une seule interface standard.
La logique du produit peut enfin rester en première ligne.
Un développeur peut définir ce qui doit être fait de la garantie, puis confier l’exécution très orientée Bitcoin au contrat du gestionnaire. Une application existante peut aussi se connecter via un proxy au lieu d’être refondue autour d’un tout nouveau système de garantie.
C’est un déblocage concret.
La partie difficile d’un produit de prêt ou de garantie doit être ses règles de risque et le résultat pour l’utilisateur. Il ne devrait pas obliger chaque équipe à enseigner séparément comment faire reconnaître à Bitcoin le même état externe.
Babylon a créé une première version plus compacte. Le premier flux opérationnel peut désormais se concentrer sur l’action financière, et non sur un moteur de rachat Bitcoin construit à la main.
Cela signifie que les tout nouveaux paramètres de mise en jeu de Babylon peuvent être les mauvais pour vérifier une mise.
Un vérificateur ne peut pas récupérer la configuration d’aujourd’hui et l’appliquer à toutes les transactions de mise en jeu BTC jamais créées. Babylon versionne ses règles de mise en jeu par hauteur d’activation de Bitcoin. L’instant du snapshot correct dépend du moment et de la manière dont la mise est entrée dans le système.
Pour l’enregistrement post-mise, le vérificateur utilise les paramètres actifs au bloc Bitcoin où la transaction a été incluse. Pour la pré-mise, la transaction est rattachée aux paramètres observés par le client léger Bitcoin de Babylon au moment de l’enregistrement, même si Bitcoin l’inclut après une mise à jour ultérieure.
Cette différence protège un engagement antérieur contre une réécriture par des règles plus récentes.
Elle modifie aussi les preuves dont un vérificateur a besoin. La transaction seule ne suffit pas. Le chemin d’enregistrement et la hauteur qui ont sélectionné la version de ses paramètres doivent l’accompagner.
En ignorant ce contexte, une mise historique valide peut sembler mal formée par rapport à l’ensemble d’engagements (covenant) d’aujourd’hui, aux limites, ou aux règles de calendrier. Les octets n’ont pas changé. Le vérificateur a ouvert le mauvais manuel de règles.
La plupart des contrôles de configuration demandent si un objet correspond au système actuel. Babylon demande si la mise correspondait au système au moment où ses conditions ont été fixées.
Ici, la vérification ne consiste pas à faire correspondre l’état le plus récent. Il s’agit de reconstruire l’ensemble exact de règles que le BTC a validé.