Les smart contracts sont des programmes informatiques destinés à exécuter un contrat automatiquement lorsque toutes les conditions fixées par les parties autorisées sont réunies.
Un smart contract peut, par exemple, autoriser automatiquement un paiement lorsqu’une condition a été remplie. De cette façon, deux partenaires qui ne se connaissent pas et ne se font pas confiance peuvent passer un accord tout en étant sûr qu’il sera respecté par les deux parties. Ainsi, l’honnêteté d’une transaction, sa sécurité et sa ponctualité sont garanties par le concept même de smart contract. Comment fonctionnent ces contrats ?
Fonctionnement des smart contracts
Les smart contracts nécessitent que les deux parties formules clairement leurs attentes l’une de l’autre. Ils impliquent également une écriture en langage informatique sans défauts afin que le contrat puisse s’exécuter automatiquement et sans erreurs. Plus un contrat est complexe, plus le risque de défaut existe.
La mise en œuvre des contrats intelligents peut être faite par simple réplication de registres d’actifs ou de la Blockchain. Une fois fixés, ils seront exécutés à l’aide des chaînes de hachage cryptographique du réseau. Le changement d’une donnée informatique correspondant au respect de la condition requise déclenche l’exécution du contrat. Lors de l’exécution du contrat, un nœud du réseau exécute le changement de propriété sur le contrat selon les règles qui ont été définies lors de son écriture. Ce changement de propriété du contrat sera ensuite transmis à d’autres nœuds pour être vérifié et validé. L’exécution du contrat entraîne également l’intégration des données générées et des transactions engendrées dans la chaîne de blocs. L’exécution et les termes du smart contract seront donc consultables par tous les utilisateurs du réseau.
Applications des smart contracts
La nature informatique du smartcontract et le fait qu’il ne soit pas exécuté par une personne physique rendent l’invalidation de son exécution impossible. Si l’invalidation d’un smart contract est théoriquement possible par une validation consensuelle par la majorité des mineurs du réseau, un soft fork pourrait aussi permettre de geler les fonds concernés. Les premiers smart contracts créés ont été utilisés par les réseaux P2P.
Bitcoin les utilisent depuis longtemps pour définir la propriété de la crypto-monnaie. En effet, le principe du wallet de Bitcoin implique la création de smart contracts qui peuvent exécuter le transfert de Bitcoins seulement si c’est le code associé à son propriétaire qui est à l’origine de ce transfert. L’application des smart contracts dans d’autres réseaux en peer to peer, par la technologie DRM, par différents services financiers ou dans le domaine des assurances et des crédits est envisagée et en cours de développement. Les smart contracts peuvent donc être utilisés à la manière des comptes « multi-signatures », ne déclenchant le versement des fonds que lorsqu’une majorité de personne a validé le respect des conditions. Ils permettent également de gérer certains accords d’achats entre inconnus de manière plus fiable. Ces contrats intelligents peuvent aussi être responsable du déclenchement de stockage d’informations sur une application : enregistrement de domaine, d’achat, téléchargement de fichier, etc.
Dans la plupart des cas, l’exécution d’un smart contract déclenche à son tour l’exécution d’un autre smart contract (pour stocker l’information, pour envoyer un message de validation, etc.).