RICM5 2018 2019 - UGAChain - Smart Contract

= 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 ladite 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



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