Aujourd’hui, j’ai lu de bout en bout la documentation destinée aux développeurs de Kite, et ce qui m’a marqué, ce n’est ni la vitesse ni les frais. C’est la façon dont l’autorité est répartie en trois niveaux. L’utilisateur détient l’autorité racine, chaque agent possède sa propre adresse dérivée du portefeuille de l’utilisateur via BIP-32, et chaque session repose sur une clé aléatoire qui expire après utilisation. Si une session est compromise, vous perdez une délégation. Si un agent est compromis, les dégâts restent dans les limites fixées par l’utilisateur. Seule la clé racine peut entraîner des pertes illimitées, d’où la consigne de la conserver dans un enclave local.
La conception des paiements suit la même logique. Au lieu de régler chaque requête sur la chaîne, deux parties ouvrent un canal, échangent hors chaîne des milliers de mises à jour signées, puis le ferment au moyen d’une seconde transaction.
La documentation indique une latence inférieure à 100 ms et un coût d’environ 1 $ par million de requêtes. Voici ce qui tempère mon enthousiasme. La documentation décrit aussi des règles conditionnelles, comme la réduction de la limite d’un agent en cas de pic de volatilité. Une telle règle nécessite une donnée externe, mais je n’ai pas trouvé qui la fournit ni ce qui se passe si cette source est erronée. De plus, les chiffres élevés du testnet (des centaines de millions de transactions) proviennent d’un environnement de test. Ils en disent donc peu sur la demande récurrente sur le mainnet, lancé le 30 avril 2026.
Voici ce que je vais suivre : le nombre d’Agent Passports actifs sur KiteScan, la proportion des transactions d’agents correspondant à de véritables paiements de services plutôt qu’à du trafic de test, et la mention, dans la documentation, de la source de données qui détermine les limites de dépenses conditionnelles.
Une économie d’agents ne fonctionne que si une personne peut confier son portefeuille et dormir sur ses deux oreilles. Cela dépend moins de la vitesse de paiement des agents que du comportement des règles lorsque leurs données d’entrée ne sont plus fiables.
#dusk $DUSK @Dusk Many people who look at Dusk's consensus layer ask one question first - how fast is it? I kept thinking that speed is the wrong place to start. The more interesting question is what the design is actually protecting against.
Succinct Attestation runs every block through three steps - Proposal, Validation, Ratification. A provisioner creates a candidate block. A randomly selected committee checks its validity. A second, separately selected committee confirms the validation outcome and finalizes it. Two independent committees, same block, same round.
What slowed me down reading this was the word "independently." Most PoS systems use one committee to propose and approve. Dusk uses two separate committees for validation and ratification, meaning a block needs agreement from two groups who were selected randomly and separately before it is ever considered final. A single compromised committee cannot push through an invalid block alone.
The randomness matters more than it first appears. Provisioners are selected through sortition - weighted by stake, but non-deterministic. Nobody knows in advance which specific nodes will form the next validation or ratification committee. That uncertainty is the security mechanism. An attacker cannot bribe or target a committee that does not yet exist.
The minimum stake to participate is 1,000 DUSK. That number is not arbitrary - it sets the economic floor for what it costs to become a provisioner and potentially influence committee selection. The higher the total staked, the more expensive it becomes to accumulate enough weight to matter.
What I find genuinely unresolved is the relationship between stake concentration and sortition outcomes over time. If a small number of large provisioners dominate the stake weight, the "random" selection starts producing predictable patterns. The cryptography holds, but the economic assumptions underneath it require watching.
#dusk $DUSK @Dusk Many people who look at Dusk for the first time reduce Phoenix and Moonlight to a simple toggle - private mode and public mode. I kept thinking that framing misses what is actually interesting about how these two models sit inside the same protocol.
Phoenix is not just "private." It is a completely different transaction architecture. Funds do not live in balances - they live as encrypted notes. When you spend, you consume existing notes and create new ones, proving with zero-knowledge proofs that no double spend happened and that the amounts add up, without revealing who sent what to whom or how much moved. The receiver sees the note. Nobody else does, unless you share a viewing key.
Moonlight works the opposite way - account-based, fully transparent, sender and recipient and amount all visible on-chain. The kind of model most people already understand from Ethereum.
What caught my attention is that both models settle through the same Transfer Contract on DuskDS. They are not separate chains or separate ledgers. A Phoenix transaction and a Moonlight transaction can both exist inside the same block, finalized by the same consensus round, without either model needing to know about the other's internal logic.
The part worth sitting with is what this means for regulated assets. A securities transaction might need full transparency for the regulator and full privacy from the counterparty. Phoenix viewing keys make selective disclosure possible - you reveal exactly what you must, to exactly who requires it, nothing more. Moonlight handles flows where transparency is the requirement by default.
What I find harder to answer is whether regulators will accept viewing-key-based disclosure as equivalent to traditional audit trails. The cryptography works. Whether the legal frameworks catch up is a different question entirely.