Après avoir mené des recherches sur la manière dont le protocole décentralisé peut traiter le risque de mises à jour d’exécution en temps réel, j’en suis arrivé à la conclusion que la vulnérabilité la plus critique des contrats intelligents décentralisés est la possibilité pour un tiers d’altérer des règles actives via des clés de gouvernance. Voici comment Newton Protocol répond, par conception, à ce problème précis d’une manière qui ne nécessite pas de réécrire l’ensemble du système backend.
L’un des défis fondamentaux associés à l’automatisation on-chain sans permission est la capacité à mettre à jour les règles du jeu au fil du temps. Si le contrat de gouvernance ou le compte multi-signatures responsable de la prise de ces décisions agit de mauvaise foi et modifie les contraintes d’exécution, il crée un « vecteur de mise à jour de la politique » pour l’attaque.
Par exemple, un attaquant ayant accès à un tel compte pourrait augmenter la limite de dépenses juste avant qu’une transaction ne passe, ou assouplir certains contrôles de conformité. Le protocole Newton atténue cette faille en exigeant que les transitions d’état soient signées avec une preuve cryptographique qui les rattache à une racine d’état historique spécifique.


Pour comprendre pourquoi cette approche est nécessaire, nous devons aborder le problème que Newton cherche à résoudre. Tout système qui exige qu’un opérateur mette à jour des politiques en temps réel se heurte à un défi sérieux de scalabilité, en raison du nombre considérable de transitions d’état possibles. Par exemple, chaque fois qu’un opérateur veut modifier quelque chose, le système doit s’assurer que la validité du nouvel état respecte les contraintes de l’ensemble de tous les états antérieurs. Cela pourrait s’avérer extrêmement contraignant pour le réseau si une proposition contient une série de cas limites complexes. Cette surcharge peut être évitée par Newton en utilisant une racine d’état, où chaque modification de politique est engagée comme une opération atomique unique, vérifiée par le réseau au moyen d’un contrôle de logique temporelle linéaire. L’idée est qu’au lieu de demander au réseau si un nouveau code est valide ou non, vous lui demandez de valider un ensemble particulier de changements comme une extension logique de la racine d’état actuelle.

Lorsqu’une modification de règle ou une proposition de mise à jour de politique est diffusée sur le réseau, les validateurs entament un processus d’agrégation des signatures, ce qui leur permet de déterminer s’il y a un soutien suffisant pour adopter les nouvelles règles. Si la transition est valide, cela signifie que la majorité des validateurs approuve le changement et qu’il sera ajouté à la blockchain comme une nouvelle racine d’état à la prochaine occasion disponible.
D’un autre côté, si les nœuds validateurs ne parviennent pas à exécuter la transition en raison de signatures insuffisantes ou d’incohérences mathématiques avec la racine d’état existante, la mise à jour sera annulée. En pratique, toute modification du contrat système qui ne passe pas un examen cryptographique rigoureux est rejetée purement et simplement, ce qui empêche les attaques de flash-gouvernance de mauvaise foi qui cherchent à assouplir temporairement des restrictions puis à les verrouiller de nouveau en place.
En exigeant que chaque modification du contrat système inclue une transition signée depuis la racine d’état actuelle, Newton empêche les attaques visant à saper l’intégrité des systèmes on-chain permissionless. Dans ce modèle, les développeurs n’ont pas besoin de construire des mesures de sécurité avancées directement dans le contrat central afin d’assurer la fiabilité des propositions de gouvernance. Au lieu de cela, ils peuvent se concentrer sur la conception de contrats intelligents efficaces et déterministes, tandis que des contraintes plus volatiles sont gérées séparément sous la forme de mises à jour de politiques.

