#nil $NIL @Nillion

Une instruction de trading peut rester chiffrée et malgré tout être mal exécutée.

Cette distinction m’a amené à examiner de plus près les Covenants de Nillion.

Avec Dusk, la première version des Covenants de Nillion sur le réseau principal Ethereum, une instruction peut rester scellée jusqu’à ce que sa condition de divulgation soit remplie.

Le mécanisme est important : l’auteur choisit un comité de m nœuds et un seuil k. Le contenu est réparti à l’aide du partage de secret de Shamir, chaque part étant chiffrée pour son destinataire. k parts suffisent à le reconstituer ; moins de k n’y suffisent pas.

Par exemple, un comité de 3 nœuds sur 5 peut tolérer l’indisponibilité de deux nœuds. Mais si un opérateur contrôle trois parts, il peut reconstituer le contenu prématurément. Je vérifierais l’indépendance des opérateurs avant de considérer le nombre de nœuds comme un signe de décentralisation.

Lorsque les nœuds publient suffisamment de parts, n’importe qui peut reconstituer le contenu. Un engagement sur la chaîne vérifie que l’instruction révélée correspond à l’originale. Un mécanisme de règlement peut ensuite la transmettre à une application.

Voici ce qui me semble le plus important : révéler une instruction ne garantit pas la réussite d’une transaction.

Le contrat destinataire doit toujours prévoir une autorisation, une protection contre les rejeux et des limites d’exécution, comme un montant minimum de sortie. Le financement du gas compte aussi : les nœuds peuvent retarder la publication des parts si les frais de base dépassent le plafond de remboursement fixé par l’auteur.

NIL est lié à cette infrastructure par le staking des nœuds et les frais du protocole. Ce que je veux observer ensuite, c’est l’utilisation répétée par les applications, la diversité des comités et la réussite des règlements.

À mes yeux, la thèse la plus solide des Covenants consiste à protéger une instruction avant sa divulgation, tout en rendant son exécution vérifiable par la suite. L’adoption de Dusk dépendra de la capacité des développeurs à bien gérer ces deux aspects.