Avez-vous déjà entendu l'expression "le code est une loi" où la technologie est utilisée pour faire respecter des règles ? Dans ce cas, avons-nous même besoin d'avocats ? Ou peut-être pouvons-nous vivre dans un monde entièrement automatisé où le code dicte ce que nous pouvons et ne pouvons pas faire. Avec le développement actuel des smart contracts, ce scénario futuriste pourrait être plus proche que nous le pensons.
Un smart contract est un morceau de code qui peut être exécuté automatiquement et de manière déterministe. Le code du smart contract est généralement stocké et exécuté sur la blockchain pour le rendre sans confiance et sécurisé. Les smart contracts ont également la capacité de recevoir, stocker et envoyer des fonds et même d'appeler d'autres smart contracts. Ils suivent une sémantique si-alors, ce qui les rend assez faciles à programmer.
Les smart contracts visent à éliminer le facteur humain de la prise de décision. Le facteur humain s'avère souvent être l'élément le plus sujet aux erreurs et le moins fiable des contrats standards et traditionnels.
Ethereum est un bon exemple de blockchain qui prend en charge les smart contracts et permet à un programmeur de mettre en œuvre ses propres smart contracts. Un smart contract peut être écrit dans un langage de programmation appelé Solidity, qui a été créé spécifiquement à cet effet. Sur Ethereum, tous les smart contracts déployés sont immuables. Cela signifie qu'une fois déployés, ils ne peuvent pas être modifiés, ce qui crée certains risques que nous allons discuter plus tard. Les smart contracts sur Ethereum sont également décentralisés, ce qui signifie qu'il n'y a pas de machine unique contrôlant le contrat. En fait, tous les nœuds du réseau Ethereum stockent le même contrat avec exactement le même état.