Comment fonctionnent les Smart Contracts ?

fonctionnement smart contract

Comme beaucoup d’idées dans l’industrie de la chaîne de blocs, une confusion générale entoure ce que l’on appelle les « contrats intelligents ».

Une nouvelle technologie rendue possible par les chaînes de blocs publics, les contrats intelligents sont difficiles à comprendre parce que le terme confond en partie l’interaction de base décrite.

Qu’est-ce qu’un contrat intelligent ?

Alors qu’un contrat standard décrit les termes d’une relation (généralement exécutoire en vertu de la loi), un contrat intelligent applique une relation au code cryptographique.

En d’autres termes, les contrats intelligents sont des programmes qui s’exécutent exactement tels que configurés par leurs créateurs.

Conçue pour la première fois en 1993, l’idée a été décrite à l’origine par l’informaticien et cryptographe Nick Szabo comme une sorte de distributeur automatique numérique. Dans son célèbre exemple, il a décrit comment les utilisateurs pouvaient entrer des données ou de la valeur, et recevoir un objet fini d’une machine, dans ce cas une collation du monde réel ou une boisson gazeuse.

Dans un exemple simple, les utilisateurs d’éthéréum peuvent envoyer 10 éther à un ami à une certaine date en utilisant un contrat intelligent (voir notre guide « Qu’est-ce que l’éther ? »).

Dans ce cas, l’utilisateur crée un contrat et envoie les données à ce contrat afin qu’il puisse exécuter la commande souhaitée.

Ethereum est une plateforme spécialement conçue pour créer des contrats intelligents.

Mais ces nouveaux outils ne sont pas destinés à être utilisés isolément. On pense qu’ils peuvent aussi constituer les éléments constitutifs des « applications décentralisées » (voir « Qu’est-ce qu’une Dapp ? ») et même des entreprises autonomes décentralisées (voir « Qu’est-ce qu’une CAO ? « ).

Comment fonctionnent les contrats intelligents ?

Il convient de noter que bitcoin a été le premier à prendre en charge les contrats intelligents de base dans la mesure où le réseau peut transférer de la valeur d’une personne à une autre. Le réseau de nœuds ne validera les transactions que si certaines conditions sont remplies.

Mais, bitcoin est limité à l’utilisation de l’argent.

En revanche, ethereum remplace le langage plus restrictif de bitcoin (un langage de scripting d’une centaine de scripts) par un langage permettant aux développeurs d’écrire leurs propres programmes.

Ethereum permet aux développeurs de programmer leurs propres contrats intelligents, ou « agents autonomes », comme les appelle le livre blanc d’Ethereum. Le langage est « Turing-complet », ce qui signifie qu’il supporte un ensemble plus large d’instructions de calcul.

Que peuvent faire les contrats intelligents ?

– Fonctionner comme des comptes « multi-signature », de sorte que les fonds ne sont dépensés que lorsqu’un pourcentage requis de personnes sont d’accord.
– Gérer les accords entre utilisateurs, par exemple, si nous souscrivons des assurances les uns des autres.
– Fournir une utilité à d’autres contrats (semblable à l’exploitation d’une bibliothèque de logiciels).
– Stockez des informations sur une application, telles que les informations d’enregistrement de domaine ou les dossiers d’adhésion.

La force du nombre

En extrapolant ce dernier point, les contrats intelligents auront probablement besoin de l’aide d’autres contrats intelligents.

Quand quelqu’un place un simple pari sur la température lors d’une chaude journée d’été, il peut déclencher une série de contrats sous le capot.

Un contrat utilise des données externes pour déterminer le temps qu’il fait, et un autre contrat peut régler le pari en fonction de l’information qu’il a reçue du premier contrat lorsque les conditions sont remplies.

L’exécution de chaque contrat nécessite des frais de transaction qui dépendent de la puissance de calcul requise.

Comme expliqué dans notre guide « Comment fonctionne Ethereum », ethereum exécute un code de contrat intelligent lorsqu’un utilisateur ou un autre contrat envoie un message avec des coûts de transaction suffisants.

La machine virtuelle Ethereum exécute ensuite des contrats intelligents dans un bytecode, ou une série de uns et de zéros qui peuvent être lus et interprétés par le réseau.