Difference between revisions of "RICM5 2018 2019 - UGAChain - Smart Contract"

From air
Jump to navigation Jump to search
Line 41: Line 41:
 
* Éventuel ajout de la transaction à la blockchain
 
* Éventuel ajout de la transaction à la blockchain
   
[[File:smart_contract_hyperledger.jpg]]
+
[[File:smart_contract_hyperledger.png]]
   
 
Références : https://hackernoon.com/how-are-smart-contracts-executed-in-hyperledger-57efebf03f12
 
Références : https://hackernoon.com/how-are-smart-contracts-executed-in-hyperledger-57efebf03f12

Revision as of 11:53, 29 January 2019

Smart Contract

Définition

Les « Smart Contracts » sont des contrats qui s’appuient sur la technologie Blockchain pour rendre infalsifiables leurs termes et les conditions de leurs exécutions.

Qu’est-ce qui rend un « Smart Contract » intelligent ? Alors qu’un contrat légal traditionnel définit les règles d’un accord entre plusieurs parties, un Smart Contract va plus loin et fige ces règles dans une Blockchain tout en assurant le transfert d’un actif – quel qu’il soit – lorsque les conditions contractuelles se vérifient.

Références : https://www.lemagit.fr/conseil/Blockchain-quest-ce-quun-Smart-Contract-et-a-quoi-ca-sert

Catégories de Smart Contract

Les Smart Contracts sont la "business logic" des Blockchain. Ils sont classés dans deux catégories suivant le cas d'usage :

  • On-chain Smart Contracts
  • Installed Smart Contracts

On-chain Smart Contracts

Ils sont exécutés quand une transaction survient dans la blockchain et ils sont stockés au coeur même de cette dernière.

Installed Smart Contracts

Ils sont exécutés avant que les commit arrivent au "ledger" ou avant le lancement du réseau.

Références : https://hackernoon.com/how-are-smart-contracts-executed-in-hyperledger-57efebf03f12

Smart Contract et Hyperledger

Les Smart Contract sont au coeur de l'implémentation des Blockchain. La plateforme open source Hyperledger facilite l'implémentation des Smart Contract, et donc la "business logic" qui régit le fonctionnement des Blockchain.

Exécution d'un Smart Contract au sein d'Hyperledger

Tout commence avec un input block et le contract interpreter où l'ID du contrat est envoyé pour une requête de transaction. Si la requête est jugée valide par le Smart Contract, celle-ci est envoyée au service de concensus où le Smart Contract va déterminer la validité de la transaction et ajouter cette dernière à la blockchain sous la condition de validité. La vérification de la transaction comprend une vérification syntaxique (triviale) et logique (qui peut s'avérer plus compliquée).

En résumé :

  • Vérification de la requête
  • Vérification de la transaction
  • Éventuel ajout de la transaction à la blockchain

Smart contract hyperledger.png

Références : https://hackernoon.com/how-are-smart-contracts-executed-in-hyperledger-57efebf03f12