Qu'est ce qu'un smart-contract ?
Si Bitcoin a offert le pouvoir de transférer de la valeur dans le temps et l’espace sans aucun organe de contrôle, les possibilités de son réseau sont par essence finies. Si ce point ne représente pas un inconvenient pour ses défenseurs, beaucoup estiment que la véritable révolution qu’a apporté Bitcoin se révèle en réalité être la blockchain, qui permet notamment de déployer des smart-contracts (contrast intelligents) aux possibilités multiples. Mais que sont ces contrats intelligents et à quoi servent-ils donc ? Découvrons tout cela ensemble dans cet article dédié aux smart-contracts.
Origines des smart-contracts
C’est Nick Szabo qui pour la première fois utilise le terme de smart-contracts en 1994 pour présenter des contrats numériques qui peuvent s’exécuter automatiquement.
Il faudra cependant attendre Ethereum pour voir la première implémentation de ces smart-contracts à grande échelle. Les smart-contracts permettent donc des interactions entre différents partis sans nécessiter de tiers de confiance. Leurs utilisations peuvent aller de contrats de paris autonomes au déploiement de systèmes plus complexes comme des plateformes d’échanges décentralisés (DEX).
Un smart-contract se constitue pour l’essentiel d’instructions écrites dans un langage de programmation, déployées sur une blockchain de façon immuable. Il revient ensuite aux utilisateur et applications de l’écosystème d’interagir avec ces contrats. Les smart contracts permettent de se passer de divers tiers de confiances et possèdent désormais en France une valeur juridique couplés à la blockchain. Ils peuvent transférer de la valeur mais également en stocker dans le cadre de la possession de tokens par exemple. Leurs exécution nécessitent généralement la prise en charge de frais par l’utilisateur afin de financer la plateforme sur laquelle ils sont déployés. Par exemple les tokens Ethereum sont des smart-contracts particulier répondant à un standard pour être utilisé partout, il s’agit généralement du standard ERC-20.
Le développement de smart-contracts
Il existe de nombreuses manières différente permettant de développer un ou plusieurs smart-contracts. En effet en fonction des besoins et de l’objectif il est possible de choisir entre différentes plateformes comme Ethereum ou Tezos mais également entre de multiples languages de programmation.
Ces derniers peuvent influencer sur la durée et la difficulté du développement mais également sur sa sécurité, dont nous parlons plus tard dans cette présentation. Les languages de programmations les plus connus sont Solidity (Ethereum), Michelson (Tezos) ou encore Miniscript qui permet de développer des smart-contracts Bitcoin.
Tout le monde peut aujourd’hui développer ses propres smart-contracts et les déployer sur des plateformes. Ethereum semble etre le plus adapté aux débutants en raison de la simplicité de son languages Solidity et l’existence de certains outils très utiles. Vous pouvez vous initier par le biais de Remix ou Ethereum Studio par exemple qui vous permettent de développer et de déployer votre premier smart-contract dans un navigateur web.
Sécurité des smart-contracts
Dans la mesure où les smart-contracts constituent formellement des scripts immuables avec lesquels tout le monde peut interagir, il est possible de le faire de façon malhonnête.
Facteur aggravant : les smart-contracts ont de plus en plus tendance à gérer de grandes quantités de cryptomonnaies et deviennent en conséquence des cibles pour les utilisateurs souhaitant exploiter leurs failles. La sécurité des smart-contracts est donc une variable très importante d’un projet de l’écosystème. Les exploitations de ces failles peuvent avoir de lourdes conséquences comme par exemple l’attaque de la DAO Ethereum en 2016 qui a finalement généré la scission entre Ethereum et Ethereum Classic.
Heureusement, les équipes des projets sont de plus en plus sensibles au sujet et aux différentes méthodes permettant de réduire ces risques, même si ceux-ci ne disparaissent pas pour autant. Quoi qu’il en soit, rendre open source le code, faire réaliser des audit par des entités indépendantes et proposer des récompenses (bounty) aux développeurs en cas de remontée de failles sont des pratiques courantes dans l’écosystème.
Voilà pour cette présentation des smart-contracts et de leurs enjeux. Ces programmes sont donc les supports de la plupart des applications décentralisées de l’écosystème tout autant que leurs plus grands vulnérabilités. Êtes vous intéressé par le développement de smart-contracts ? Envoyez moi un message si vous souhaitez en apprendre plus sur leurs développement. Si vous avez des remarques ou questions à propos de cet article, n’hésitez pas à nous en faire part.
Maximisez votre expérience Cointribune avec notre programme 'Read to Earn' ! Pour chaque article que vous lisez, gagnez des points et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.
Derrière la signature générique « Rédaction CT » se trouvent de jeunes journalistes et des auteurs aux profils particuliers qui souhaitent garder l’anonymat car impliqués dans l’écosystème avec certaines obligations.
Les propos et opinions exprimés dans cet article n'engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d'investissement.