Patent WO-2022075046-A1 (WO)
Inventor: KIMURA JUN
IPC: G06Q20/06
Filed: 2021-09-17
Abstract: Le problème décrit par la présente invention est de permettre le développement d'un système pouvant garantir la cohérence de données dans une transaction distribuée d'un contrat intelligent lié à une transaction sur une pluralité de chaînes de blocs. La solution proposée par la présente invention porte sur un système de transaction permettant d'exécuter de manière atomique un contrat intelligent lié à une transaction entre une première chaîne de blocs et une seconde chaîne de bloc, ledit système de transaction étant caractérisé en ce qu'il présente une unité coordinatrice et une première unité d'utilisateur côté première chaîne de blocs, et une seconde unité d'utilisateur côté seconde chaîne de blocs. L'unité coordinatrice transmet, à la première et à la seconde unité d'utilisateur, un premier paquet créé sur la base d'une transaction prescrite spécifiée par une fonction de contrat; la première unité d'utilisateur sauvegarde une opération de changement sur sa propre mémoire d'état, acquiert un verrou destiné au sujet de changement et transmet, à l'unité coordinatrice, un deuxième paquet dans lequel le statut a été défini comme étant exécutable, si l'exécution de la fonction de contrat dans le premier paquet reçu en provenance de l'unité coordinatrice a abouti, et supprime l'opération de changement dans sa propre mémoire d'état et transmet, à l'unité coordinatrice, un troisième paquet dans lequel le statut a été défini comme n'étant pas exécutable, si l'exécution de la fonction de contrat a échoué; la seconde unité d'utilisateur sauvegarde une opération de changement dans sa propre mémoire d'état, acquiert un verrou destiné au sujet de changement et transmet, à l'unité coordinatrice, un quatrième paquet dans lequel le statut a été défini comme étant exécutable, si l'exécution de la fonction de contrat dans le premier paquet reçu en provenance de l'unité coordinatrice a abouti, et supprime l'opération de changement dans sa propre mémoire d'état et transmet, à l'unité coordinatrice, un cinquième paquet dans lequel le statut a été défini comme n'étant pas exécutable, si l'exécution de la fonction de contrat a échoué; sur la base du résultat de vérification de possibilité d'exécution correspondant aux paquets reçus en provenance des première et seconde unités d'utilisateur, l'unité coordinatrice transmet, aux première et seconde unités d'utilisateur, un sixième paquet pour effectuer une demande de validation, si le statut de tous les paquets est exécutable, et transmet, aux première et seconde unités d'utilisateur, un septième paquet pour effectuer une demande d'abandon, si le statut d'au moins l'un des paquets n'est pas exécutable; et les première et seconde unités d'utilisateur appliquent l'opération de changement précédemment sauvegardée à la mémoire d'état, suppriment le verrou, et transmettent un huitième paquet à l'unité coordinatrice, si le sixième paquet est reçu en provenance de l'unité coordinatrice, et suppriment l'opération de changement précédemment sauvegardée et le verrou et transmettent un neuvième paquet à l'unité coordinatrice, si le septième paquet est reçu en provenance de l'unité coordinatrice.