Qu'est ce qu'un smart contract sur une blockchain ?

preview_player
Показать описание
si cette vidéo vous a plu et que vous souhaitez en savoir plus sur les blockchains et les contrats intelligents,

transcription :

slide 1 - introduction

Ce sont des programmes informatiques évoluant dans un univers décentralisé : une blockchain.
Ils exécutent une tâche particulière quand, et si, certaines conditions sont remplies.
Ils permettent de formaliser de facon numérique des accords contractuels sans tierce partie grâce à un ensemble de règles spécifiques, d'ou leur désignation sous le terme "contrat".

slide 2 - qu'est ce qu'un smart contract ?

Un smart contract est un code compilé organisé comme un objet. Le programme contient des variables et des méthodes, qui interagissent entre elles à l'intérieur du contrat, des interactions peuvent aussi etre déclenchées par des évènements extérieurs au contrat (on parle alors d'oracle).
Il faut penser à bien prendre en compte tous les cas de figure pour vos contrats comme la suppression de celui-ci ou bien sa désactivation.
Il faudra également veiller à la securité du contrat pour éviter des problèmes comme l'a connu the D.A.O. avec le vol d'un gros montant d'ethers.
Les smart contracts sont infalsifiables car intégré dans blockchain, et donc partagé et connu par l'ensemble des noeuds de la blockchain.

slide 3 - ethereum & solidity

La blockchain ethereum est la première à avoir démocratisé les smart contracts.
Chaque noeud ethereum embarque une machine virtuelle ethereum (EVM pour Ethereum Virtual Machine), qui permet d'exécuter les contrats.
Le langage le plus connu pour la création de contrat sur la blockchain ethereum est Solidity, mais il en existe d'autres.
Sachez également qu'il existe d'autres blockchains sur lesquelles il est possible de développer des contrats intelligents : NEO, Cardano, EOS, Stellar, Waves, ..

slide 4 - deploiment d'un contrat

Voyons le cycle de vie d'un contrat. Vous avez créée un fichier (extension .sol pour solidity) et codé votre contrat,
Vous devez ensuite le compiler pour obtenir son bytecode, compréhensible par l'EVM,
Le contrat est intégré dans un bloc,
Le bloc est validé et partagé sur la blockchain,
L'EVM est utilisé pour exécuter les fonctions du contrat,
Les fonctions peuvent être activés par des signaux externes avec les oracles

Une fois compilé et déployé, un contrat ne peut pas etre modifié, c'est le principe d'immuabilité

slide 5 - comprendre le Gas

Le gas est l'unité de mesure utilisé pour déployer et faire tourner vos smart contracts, ainsi que pour valider vos transactions.
Il s'agit de la quantité d'ether que vous êtes prêt à fournir en échange de la mise en ligne de vos smart contracts ou de la validation de votre transaction.
Le gas a la même fonction que les frais de transaction, on pourrait alors parler de frais de contrat.

Les deux notions importantes sont :
le gas estimé : il s'agit d'un estimation du cout de la mise en place de votre contrat, en unité de gas
le limite de gas : c'est la quantité maximal que vous êtes prêt à fournir pour votre contrat

Lorsque vous ferez des tests sur la blockchain testnet, vous devrez avoir des ethers test pour tester et vérifier vos contrats.

Une fois sur la blockchain ethereum "réelle" (mainnet), il vous faudra de vrais ethers pour vos contrats et vos transactions.

slide 6 - cas d'usages

Le domaine des smart contracts est infini, vous pouvez imaginer ce que vous voulez.
Voici quelques exemples d'utilisation :

a - Assurances ou produits bancaires (un assureur francais avait mis en ligne un contrat intelligent permettant le remboursement de billet d'avion en cas de retard)
b - Les tokens sont toujours créés avec des smart contracts, on peut alors réaliser des ICO avec ces tokens
c - On peut également certifier une identité
d - Les contrats intelligents peuvent servir de moyen de titre de propriétés ou bien de preuve de création (musiques, oeuvres littéraires,..)
e - Les smart contracts peuvent être utilisé comme outil de supervision dans une chaine de production
f - Enfin ils peuvent être utilisé pour la création d'applications décentralises : les dApps

slide 7 - que sont les dApps ?

Une dApp, application décentralisée, est une application qui ne dépend pas d'un point central. Youtube,Whatsapp ou Uber dépendent de ses serveurs. Des applications décentralisées équivalentes existent déjà (ou bientot). Ainsi il existe peertube, un youtube pair à pair, firechat un whatsapp pair à pair, et peut être un jour un équivalent du uber, qui sait.
L'apport des contrats intelligents dans ce domaine est qu'une application peut être totalement automatisée avec les fonctions nécessaires dans les contrats, permettant une interaction sans avoir d'intervention extérieure.

Рекомендации по теме