Contrats intelligents Signum
Qu’est-ce qu’un contrat intelligent?
Un contrat intelligent est un protocole informatique qui facilite, vérifie et applique la négociation et l’exécution d’un accord, un concept proposé pour la première fois par Nick Szabo en 1996.
Cette technologie implique de prérégler les conditions que les deux parties à un contrat doivent respecter. Il élimine de manière procédurale certains rôles qui pourraient autrement nécessiter les services de représentants légaux, de notaires ou d’exécuteurs testamentaires. Pour cette raison, les contrats intelligents sont une technologie de rupture pour la future économie numérique.
Les contrats intelligents prédéfinissent les conditions que les deux parties à un contrat doivent respecter. Ils éliminent procéduralement certains rôles que les représentants légaux, les notaires ou les exécuteurs testamentaires pourraient autrement devoir remplir. Pour cette raison, les contrats intelligents sont une technologie de rupture pour les futures économies numériques.
En 2018, un Sénat américain rapport dit: “. . . le concept est ancré dans le droit des contrats de base. Habituellement, le système judiciaire statue sur les différends contractuels et applique les conditions, mais il est également courant d’avoir une autre méthode d’arbitrage, en particulier pour les transactions internationales. Avec les contrats intelligents, un programme applique les conditions contractuelles intégrées au code.
Projet | Petite | Moyen | Grande | |
Des pages | 2 | 4 | 10 | |
Steps | 20 | 40 | 10,000 | |
Appels API | 5 | 10 | 1,000 | |
Installer | 0.0147 | 0.0294 | 0.0735 | |
Par transaction | 0.05145 | 0.1029 | 14.7 | |
Pour 100 exécutions | 5.145 | 10.29 | 1,470 |
Frais d’inscription
.000735 Signa par contrat
Frais de page
.000735 Signa par page de code conforme (jusqu’à 20 pages par contrat). Chaque page peut contenir jusqu’à 256 octets.
Frais d’étape
.000735 Signa pour chaque opération jusqu’à un maximum de 1 000 000 par contrat par bloc. Pour les étapes en excès, l’état est stocké et l’exécution reprend dans le bloc suivant.
Contrats intelligents Signum :
Signum a ajouté des contrats intelligents complets de Turing à sa blockchain 2014 sous la forme de transactions automatisées (AT) telles que proposées et mises en œuvre par CIYAM. La blockchain de Signum est une base de données distribuée (grand livre public) dont la cohérence et la validité sont sécurisées par les mineurs et vérifiées par la majorité des nœuds du réseau participants. Ces nœuds exécutent le code de contrat et les résultats sont soumis au même processus de vérification que toute autre transaction sur le réseau.
En tant que formalisme complet de Turing, les AT sont à la fois puissants (expressivité) et dangereux (vérifiabilité). En raison de l’expressivité, le potentiel d’applications avancées est illimité. Cependant, ils doivent être conçus avec soin pour éviter des situations comme la débâcle de DAO qui a conduit à la scission entre Ethereum et Ethereum Classic.
Signum a été la première crypto-monnaie à implémenter un système de contrat intelligent basé sur la blockchain Turing dans un environnement en direct. En janvier 2015, il a lancé la première loterie décentralisée au monde, le premier programme à fonctionner sur une blockchain de manière décentralisée et sans confiance. Dans cette mise en œuvre précoce, la création (ou la programmation) de contrats intelligents nécessitait l’écriture (de type assembleur) de bytecode et des tests en chaîne, ce qui rendait le développement fastidieux.
Les contrats intelligents Signum ont les caractéristiques uniques de pouvoir s’exécuter automatiquement et de s’exécuter à des heures définies. La plupart des implémentations de contrats intelligents ne peuvent réagir qu’aux transactions qu’elles reçoivent.
En 2019, BlockTalk a été créé pour rendre les contrats intelligents sur la blockchain Signum plus accessibles aux développeurs. Il a permis d’écrire, de déboguer et de déployer des contrats intelligents à l’aide de Java et d’un simple éditeur de texte ou d’un IDE préféré. Depuis 2019, le développement de cette plate-forme s’est poursuivi, aboutissant à un produit avancé appelé Signum SmartJ. Cette plate-forme de contrats intelligents, et d’autres en cours de développement pour des langages de programmation supplémentaires, sont complétées par le TestNet permanent de Signum.
Principes de base du contrat intelligent Signum :
Les contrats intelligents autonomes de Signum exécutent les termes d’un contrat sur la base d’instructions if-then-else. La programmation est toujours suivie et l’exécution est imparable. Une tâche est exécutée si certaines conditions sont remplies et non exécutée si les conditions ne sont pas remplies. Ils offrent un moyen transparent et sans conflit d’échanger de l’argent, des biens, des actions ou tout autre objet de valeur tout en évitant le recours à des services tiers.
Les contrats intelligents permettent de négocier et d’accepter le code d’un contrat à l’avance et de s’assurer qu’il sera complété comme demandé s’il est sommé sur le réseau. Une fois soumis au réseau, il ne peut pas être modifié. L’exécution du code est publique et vérifiable.
Correctement mis en œuvre, les contrats intelligents Signum peuvent offrir un haut degré d’autonomie individuelle ainsi que d’efficacité. Il n’est pas nécessaire de s’appuyer sur des tiers qui peuvent introduire un risque de manipulation dans le processus. L’exécution des contrats étant gérée automatiquement, il y a également un gain de temps significatif pour la plupart des processus métier.
De nombreux risques sont atténués lors de l’utilisation de contrats intelligents Signum. Par exemple, les documents deviennent immuables lorsqu’ils sont dupliqués plusieurs fois dans un grand livre partagé. Cela a également éliminé le risque de perte de documents.
Plus d’information:
Pour en savoir plus sur les contrats intelligents Signum, consultez la documentation fournie par CIYAM.
Exemple de contrat intelligent Signum :
Il existe de nombreux cas d’utilisation pour les contrats intelligents basés sur la blockchain. Cet exemple définit un prix de départ dans un contrat intelligent programmé pour fonctionner comme une enchère décentralisée.
- Le contrat intelligent accepte les offres sous la forme de transactions entièrement financées.
- Chaque fois que le contrat intelligent reçoit une offre plus importante, la transaction précédente est automatiquement remboursée.
- À la hauteur de bloc spécifiée, le gagnant de l’enchère est finalisé.
- Selon le type de propriété, la distribution de la propriété peut également être automatisée par le contrat intelligent.
Cet exemple illustre plusieurs façons dont une enchère basée sur des contrats intelligents a un avantage sur une enchère traditionnelle. Dans une enchère standard, le plus offrant peut ne pas être en mesure de finaliser l’achat. Cela représente un risque important pour l’opération d’enchères car le deuxième plus offrant peut ne plus être disponible et une autre enchère peut être nécessaire.
Le contrat intelligent élimine ce risque en n’acceptant que des transactions entièrement financées plutôt que des offres qui peuvent ou non être financées une fois qu’une enchère traditionnellement tenue est terminée.
Le soumissionnaire peut être sûr que les offres non gagnantes seront renvoyées car le code du contrat intelligent est accessible au public pour vérification.
D’autres exemples de cas d’utilisation pour les contrats intelligents décentralisés incluent les transactions inter-chaînes atomiques, le financement participatif, les jeux décentralisés et de nombreuses autres applications. De nombreux exemples tournent déjà sur le réseau Signum tels que :
- BTDEX – Une crypto-monnaie décentralisée basée sur les contrats intelligents de Signum.
- Cryptoball – Un jeu amusant développé pour présenter des contrats intelligents autonomes au travail sur le réseau Signum.
- dAPPOSITORY – Une vitrine en ligne pour les applications qui fonctionnent à l’aide des contrats intelligents de Signum.
Signum SmartJ
Signum SmartJ est une plate-forme d’écriture de contrats intelligents basés sur Java pour s’exécuter sur la blockchain Signum. Il se compose des éléments clés suivants:
- Contract.java: une classe abstraite Java définissant l’API de base disponible pour les contrats
- Emulator: une blockchain émulée et une interface utilisateur respective
- Compilateur : un système pour convertir le bytecode Java en bytecode Signum AT pouvant fonctionner sur la blockchain Signum
Exemples de contrats
Des échantillons peuvent être trouvés dans le dossier source des échantillons .
Mise à niveau de sodium
Le hard-fork SODIUM (Signum Node version 2.5 et supérieure) a permis à des contrats intelligents beaucoup plus puissants de s’exécuter sur la blockchain Signum, pour plus d’informations, voir CIP20 .
Compte Escrow
Le compte AT interne (transaction automatisée) et le compte séquestre exécute les transactions automatisées et les paiements séquestres. En tant qu’intermédiaire interne, il ne peut être l’expéditeur ou le destinataire d’une transaction. Le compte a l’ID numérique 0 et une adresse Signum S-2222-2222-2222-22222.
Remarque : Si le solde de ce compte est affiché dans un explorateur de blocs, il ne s’agit que de l’interprétation de l’état intermédiaire par l’explorateur de blocs. Les soldes indiqués n’affectent pas l’offre totale de Signum.