Introduction sur pourquoi Cardano | Patie 1

(1) Motivation

Cardano est un projet qui a débuté en 2015 dans le but de changer la façon dont les crypto-monnaies sont conçues et développées. L’objectif global au-delà d’un ensemble particulier d’innovations est de fournir un écosystème plus équilibré et durable qui tient mieux compte des besoins de ses utilisateurs ainsi que d’autres systèmes en quête d’intégration.

Dans l’esprit de nombreux projets open source, Cardano n’a pas commencé par une feuille de route complète ou même un livre blanc faisant autorité. Il a plutôt adopté un ensemble de principes de conception, de meilleures pratiques d’ingénierie et de pistes d’exploration. Il s’agit notamment des éléments suivants :

  • Séparation de la comptabilité et du calcul en différentes couches
  • Implémentation des composants de base dans un code fonctionnel hautement modulaire
  • Petits groupes d’universitaires et de développeurs en concurrence avec des recherches évaluées par des pairs
  • Utilisation intensive d’équipes interdisciplinaires, y compris l’utilisation précoce d’experts InfoSec
  • Itération rapide entre les livres blancs, la mise en œuvre et les nouvelles recherches nécessaires pour corriger les problèmes découverts lors de l’examen
  • Intégrer la capacité de mettre à niveau les systèmes post-déployés sans détruire le réseau
  • Développement d’un mécanisme de financement décentralisé pour les travaux futurs
  • Une vision à long terme sur l’amélioration de la conception des crypto-monnaies afin qu’elles puissent fonctionner sur des appareils mobiles avec une expérience utilisateur raisonnable et sécurisée
  • Rapprocher les parties prenantes des opérations et de la maintenance de leur crypto-monnaie
  • Reconnaître la nécessité de comptabiliser plusieurs actifs dans le même grand livre
  • Abstraction des transactions pour inclure des métadonnées facultatives afin de mieux se conformer aux besoins des systèmes hérités
  • Apprendre des près de 1 000 altcoins en adoptant des fonctionnalités qui ont du sens
  • Adoptez un processus basé sur des normes inspiré par l’Internet Engineering Task Force en utilisant une base dédiée pour verrouiller la conception finale du protocole
  • Explorer les éléments sociaux du commerce
  • Trouver un terrain d’entente sain pour que les régulateurs interagissent avec le commerce sans compromettre certains principes fondamentaux hérités de Bitcoin

À partir de cet ensemble d’idées non structurées, les directeurs travaillant sur Cardano ont commencé à la fois à explorer la littérature sur les crypto-monnaies et à créer un ensemble d’outils d’abstractions.

Le résultat de cette recherche est la vaste bibliothèque d’articles de l’IOHK, de nombreux résultats d’enquête tels que cet aperçu récent du langage de script ainsi qu’une ontologie des contrats intelligents et le projet Scorex. Les leçons ont permis d’apprécier la croissance inhabituelle et parfois contre-productive de l’industrie de la crypto-monnaie.

Premièrement, contrairement aux protocoles à succès tels que TCP/IP, il y a peu de couches dans la conception des crypto-monnaies. Il y a eu un désir de préserver une notion unique de consensus autour des faits et des événements enregistrés dans un seul grand livre, que cela ait ou non un sens.

Par exemple, Ethereum a encombré une énorme complexité en tentant de devenir un ordinateur mondial universel, mais souffre de préoccupations insignifiantes qui pourraient détruire la capacité du système à fonctionner comme une réserve de valeur. Le programme de chacun devrait-il être un citoyen de première classe, indépendamment de sa valeur économique, de son coût de maintenance ou de ses conséquences réglementaires ?

Deuxièmement, les résultats antérieurs de la recherche cryptographique traditionnelle sont peu appréciés.

Par exemple, la preuve de participation déléguée de Bitshares aurait pu générer facilement et de manière fiable des nombres aléatoires en utilisant le tirage au sort avec une livraison de sortie garantie, qui est une technique connue depuis les années 1980 (voir l’article fondateur de Rabin et Ben-Or).

Troisièmement, la plupart des altcoins (à quelques exceptions notables telles que Tezos) n’ont fait aucun aménagement pour les futures mises à jour. La capacité de pousser avec succès une fourchette souple ou dure est essentielle au succès à long terme de toute crypto-monnaie.

En corollaire, les utilisateurs d’entreprise ne peuvent pas engager des millions de dollars de ressources dans des protocoles où la feuille de route et les acteurs derrière eux sont éphémères, mesquins ou radicalisés. Il doit y avoir un processus efficace par lequel un consensus social peut se former autour d’une vision pour faire évoluer le protocole sous-jacent. Si ce processus est extrêmement lourd, la fragmentation pourrait briser la communauté.

Enfin, l’argent est finalement un phénomène social. Dans le but d’anonymiser et de désintermédier les acteurs centraux, Bitcoin et ses contemporains ont également écarté le besoin d’identités, de métadonnées et de réputation stables dans les transactions commerciales. L’ajout de ces données via des solutions centralisées supprime l’auditabilité, la disponibilité globale et l’immuabilité - ce qui est tout l’intérêt de l’utilisation d’une blockchain.

Les systèmes financiers hérités tels que ceux composés de SWIFT, FIX et ACH sont riches en métadonnées transactionnelles. Il ne suffit pas de savoir combien de valeur s’est déplacée entre les comptes, la réglementation nécessite souvent l’attribution des acteurs impliqués, des informations de conformité, le signalement d’activités suspectes et d’autres enregistrements et actions. Dans certains cas, les métadonnées sont plus importantes que la transaction.

Par conséquent, il semble raisonnable de déduire que la manipulation des métadonnées pourrait être aussi nuisible que la contrefaçon de monnaie ou la réécriture de l’historique des transactions. Ne pas faire d’accommodement pour les acteurs qui souhaitent inclure volontairement ces domaines semble contre-productif pour l’adoption généralisée et la protection des consommateurs.

(2) La fin du séjour

L’agrégation de notre exploration raisonnée de l’espace de la crypto-monnaie est constituée de deux collections de protocoles. Respectivement, une crypto-monnaie basée sur une preuve de participation prouvée appelée Cardano Settlement Layer (CSL) et un ensemble de protocoles appelé Cardano Computation Layer (CCL).

Notre objectif de conception est de tenir compte des aspects sociaux des crypto-monnaies, de les construire en couches en séparant la comptabilisation de la valeur des calculs complexes et de répondre aux besoins des régulateurs dans le cadre de plusieurs principes immuables. De plus, lorsque cela est judicieux, nous essayons de vérifier les protocoles proposés par le biais d’un examen par les pairs et de vérifier le code par rapport aux spécifications formelles.

(3) Preuve de participation

L’utilisation de la preuve de participation pour une crypto-monnaie est un choix de conception très controversé, mais parce qu’il ajoute un mécanisme pour introduire un vote sécurisé, a plus de capacité à évoluer et permet des programmes d’incitation plus exotiques, nous avons décidé de l’adopter.

Notre protocole de preuve de participation s’appelle Ouroboros et il a été conçu par une équipe extrêmement talentueuse de cryptographes de cinq institutions universitaires dirigée par le professeur Aggelos Kiayias de l’Université d’Édimbourg.

L’innovation de base qu’il apporte au-delà de sa sécurité éprouvée à l’aide d’un modèle cryptographique rigoureux est une conception modulaire et flexible qui permet la composition de nombreux protocoles pour améliorer les fonctionnalités.

Cette modularité permet des fonctionnalités telles que la délégation, les sidechains, les points de contrôle pouvant être souscrits, de meilleures structures de données pour les clients légers, différentes formes de génération de nombres aléatoires et même différentes hypothèses de synchronisation. Au fur et à mesure qu’un réseau passe de milliers à des millions, voire des milliards d’utilisateurs, les exigences de son algorithme de consensus changeront également. Ainsi, il est essentiel d’avoir suffisamment de flexibilité pour s’adapter à ces changements et ainsi pérenniser le cœur d’une crypto-monnaie.

(4) Éléments sociaux de l’argent

Les crypto-monnaies sont un excellent exemple de la composante sociale de l’argent. En restreignant l’analyse uniquement à la technologie, il y a peu de différence entre Bitcoin et Litecoin et encore moins entre Ethereum et Ethereum Classic. Pourtant, Litecoin et Ethereum Classic maintiennent de grandes capitalisations boursières et des communautés robustes et dynamiques ainsi que leurs propres mandats sociaux.

On peut affirmer qu’une grande partie de la valeur d’une crypto-monnaie provient de sa communauté, de la façon dont elle utilise la monnaie et de son niveau d’engagement dans l’évolution de la monnaie. Poursuivant la réflexion, des monnaies telles que Dash ont même intégré des systèmes directement dans le protocole pour engager leur communauté à décider de ce qui devrait être une priorité à développer et à financer.

La grande diversité des crypto-monnaies fournit également des preuves de leurs éléments sociaux. Les désaccords sur la philosophie, la politique monétaire ou même simplement entre les principaux développeurs conduisent à la fragmentation et aux bifurcations. Pourtant, contrairement à leurs homologues de crypto-monnaie, les monnaies fiduciaires des superpuissances ont tendance à survivre aux changements politiques et aux désaccords locaux sans crise monétaire ni exode massif.

Par conséquent, il semble qu’il y ait des éléments des systèmes hérités qui manquent dans l’industrie de la crypto-monnaie. Nous soutenons - et avons inculqué dans la feuille de route de Cardano - que les utilisateurs d’un protocole ont besoin d’incitations pour comprendre le contrat social derrière leur protocole et ont la liberté de proposer des changements de manière productive. Cette liberté s’étend à tous les aspects d’un système d’échange de valeur, depuis le choix de la manière dont les marchés doivent être réglementés jusqu’aux projets à financer. Pourtant, il ne peut pas être négocié par des acteurs centralisés ni exiger des références spéciales qui pourraient être cooptées par une minorité bien financée.

Cardano mettra en œuvre un système de protocoles superposés construit au-dessus de CSL pour répondre aux besoins de ses utilisateurs.

Premièrement, quel que soit le succès d’une vente publique pour amorcer le développement, les fonds finiront par se dissiper. Par conséquent, Cardano inclura une fiducie décentralisée3 financée par une inflation et des frais de transaction en baisse monotone.

Tout utilisateur devrait pouvoir demander des fonds à la fiducie par un système de vote et les parties prenantes de CSL votent pour savoir qui devient bénéficiaire. Le processus crée une boucle de rétroaction productive vue dans d’autres crypto-monnaies avec des systèmes de trésorerie/de confiance, tels que Dash, en entamant une conversation sur qui devrait et ne devrait pas être financé.

Les discussions sur le financement imposent une relation entre les objectifs à long et à court terme, le contrat social de la crypto-monnaie, les priorités et la croyance en la création de valeur avec des propositions particulières. Cette conversation signifie que la communauté évalue et débat constamment de ses convictions par rapport à d’éventuelles feuilles de route.

Deuxièmement, nous espérons que Cardano inclura éventuellement un système formel basé sur la blockchain pour proposer et voter sur les fourches souples et dures. Bitcoin avec son débat sur la taille des blocs, Ethereum avec le fork DAO et de nombreuses autres crypto-monnaies ont enduré de longue date et, dans des cas fréquents, des arguments non résolus sur la direction technique et morale de la base de code.

On peut et devrait soutenir que bon nombre de ces désaccords, et la fracture de la communauté qui en résulte lorsque des mesures sont prises, sont le résultat direct d’un manque de processus formels pour débattre du changement.

Où aller pour convaincre les utilisateurs de Bitcoin d’adopter Segregated Witness ? Comment les principaux développeurs d’Ethereum devraient-ils mesurer le sentiment de la communauté pour renflouer le DAO ? Si la communauté se fracture, la crypto-monnaie est-elle endommagée de manière irréparable ?

Dans le pire des cas, l’autorité morale d’agir pourrait simplement être dévolue à celui qui a les développeurs, les relations infrastructurelles et l’argent, et non les meilleurs vœux de la grande majorité de la communauté. De plus, si une grande partie de la communauté est inaccessible ou désengagée à cause de mauvaises incitations4, alors comment savoir vraiment si ses actes sont légitimes ?

Les crypto-monnaies proposées telles que Tezos fournissent un modèle intéressant pour examiner où un protocole de crypto-monnaie est traité comme une constitution contenant trois sections (Transaction, Consensus et Réseau) avec un ensemble de règles formelles et un processus pour mettre à jour la constitution. Pourtant, il reste beaucoup de travail à faire avec des incitations et sur la façon exacte de modéliser et de changer une crypto-monnaie avec un langage formel.

L’utilisation de méthodes formelles, de spécifications compréhensibles par machine et la fusion d’une trésorerie avec ce processus d’incitations financières sont explorées comme des pistes d’inspiration possibles. En fin de compte, la simple possibilité de proposer un changement de protocole de manière transparente et sans censure avec un vote basé sur la blockchain devrait améliorer le processus, même si des solutions plus élégantes ne peuvent pas être conçues.

(5) Conception en couches - Couche de règlement Cardano

Lors de la conception de grands protocoles et langages, il ne faut pas regarder vers l’avenir, mais plutôt vers le passé. L’histoire fournit une litanie d’exemples de grandes idées qui sont parfaites sur le papier, mais qui n’ont pourtant pas survécu, comme les normes d’interconnexion des systèmes ouverts. L’histoire fournit également des accidents heureux qui ont duré de TCP/IP à JavaScript.

Quelques principes extraits d’une vue historique sont les suivants :

  • Vous ne pouvez pas prédire l’avenir, alors construisez une marge de manœuvre
  • La complexité est agréable sur le papier, mais la simplicité l’emporte généralement
  • Trop de cuisiniers gâtent la sauce
  • Une fois qu’une norme est établie, elle restera probablement, qu’elle soit sous-optimale ou non
  • Les mauvaises idées peuvent en fait évoluer vers de très bonnes idées s’il y a une volonté

Cardano est un système financier qui accepte sa nature sociale. Il y aura un énorme besoin de flexibilité et de capacité à gérer la complexité arbitraire de la transaction d’un utilisateur particulier. En cas de succès, d’énormes ressources de calcul, de stockage et de réseau seront nécessaires pour prendre en charge des millions de transactions simultanées.

Pourtant, nous n’avons pas de Robin Hood numérique et décentralisé à prélever sur les nœuds riches et à donner aux pauvres afin de parvenir à un réseau équitable. Nous n’avons pas non plus le luxe de faire confiance à la bienfaisance humaine pour faire des sacrifices altruistes pour le plus grand bien du réseau. Par conséquent, la conception de Cardano emprunte à TCP/IP le concept de séparation des préoccupations.

Les chaînes de blocs sont en fin de compte des bases de données ordonnant des faits et des événements avec des garanties d’horodatage et d’immuabilité. Dans le contexte de l’argent, ils ordonnent la propriété des actifs. L’ajout de calculs complexes en stockant et en exécutant des programmes est un concept orthogonal. Voulons-nous savoir quelle valeur est passée d’Alice à Bob, ou voulons-nous nous impliquer pour comprendre toute l’histoire derrière la transaction et décider du montant à envoyer ?

Il est incroyablement tentant de choisir ce dernier comme l’a fait Ethereum car il est plus flexible, mais il viole les principes de conception ci-dessus. Comprendre l’histoire signifie qu’un seul protocole doit être capable de comprendre des événements arbitraires, de scénariser des transactions arbitraires, de permettre l’arbitrage en cas de fraude et même potentiellement d’inverser des transactions lorsque de nouvelles informations sont mises à disposition.

Ensuite, il faut prendre des décisions de conception difficiles concernant les métadonnées à stocker pour chaque transaction. Quels éléments de l’histoire derrière la transaction d’Alice et Bob sont pertinents ? Sont-ils pertinents pour toujours ? Quand pouvons-nous jeter certaines données ? Cela viole-t-il la loi dans certains pays ?

De plus, certains calculs sont de nature privée. Par exemple, lors du calcul du salaire moyen des employés d’un bureau, nous ne voudrions pas nécessairement divulguer le salaire de chaque personne. Mais que se passe-t-il si chaque calcul est connu du public ? Et si cette publicité biaisait l’ordre d’exécution pour nuire au résultat ?

Le registre des valeurs est appelé Cardano Settlement Layer (CSL). L’objectif étant de rendre compte de la valeur, la feuille de route a les objectifs suivants :

  • Prend en charge deux ensembles de langages de script, un pour déplacer la valeur et un autre pour améliorer la prise en charge du protocole de superposition
  • Fournir un support pour les sidechains KMZ5 pour établir un lien avec d’autres registres
  • Prend en charge plusieurs types de signature, y compris les signatures résistantes quantiques pour une sécurité accrue
  • Prise en charge de plusieurs actifs émis par l’utilisateur
  • Atteindre une véritable évolutivité, ce qui signifie que plus les utilisateurs se joignent, plus les capacités du système augmentent

(6) Scripting

En commençant par le langage de script, les transactions entre les adresses d’un grand livre nécessitent une certaine forme de script pour s’exécuter et être prouvées valides. Idéalement, on ne voudrait pas qu’Eve accède à l’argent d’Alice, ni qu’un script mal conçu envoie accidentellement de la valeur à une adresse morte rendant les fonds irrécupérables.

Des systèmes tels que Bitcoin fournissent un langage de script extrêmement rigide et draconien dans lequel il est difficile de programmer des transactions sur mesure, de lire et de comprendre. Pourtant, la programmabilité générale de langages tels que Solidity introduit une quantité extraordinaire de complexité dans le système et ne sont utiles qu’à un ensemble beaucoup plus restreint d’acteurs.

Par conséquent, nous avons choisi de concevoir un nouveau langage appelé Simonen l’honneur de son créateur Simon Thompson et du créateur des concepts qui l’ont inspiré, Simon Peyton Jones. Simon est un langage spécifique à un domaine basé sur Composer des contrats : une aventure en ingénierie financière.

L’idée principale est que les transactions financières sont généralement composées d’un ensemble d’éléments fondamentaux. Si l’on assemble un tableau financier périodique d’éléments, on peut fournir un support pour un ensemble arbitrairement grand de transactions composées qui couvrira la plupart, sinon la totalité, des types de transactions courantes sans nécessiter une programmabilité générale.

Le principal avantage est que la sécurité et l’exécution peuvent être extrêmement bien comprises. Des preuves peuvent être écrites pour montrer l’exactitude des modèles et épuiser l’espace d’exécution des événements de transaction problématiques, tels que la création de nouvelle monnaie à partir de rien ou la malléabilité des transactions. Deuxièmement, on peut laisser des extensions pour ajouter plus d’éléments au moyen de soft forks si une nouvelle fonctionnalité est requise.

Cela dit, il sera toujours nécessaire de connecter CSL aux protocoles superposés, aux systèmes financiers hérités et aux serveurs à usage spécifique. Ainsi, nous avons développé Plutus en tant que langage de contrat intelligent à usage général et également en tant que DSL à usage spécial pour l’interopérabilité.

Plutus est un langage fonctionnel typé basé sur les concepts de Haskell, qui peut être utilisé pour écrire des scripts de transaction personnalisés. Pour CSL, il sera utilisé pour les transactions complexes nécessaires pour ajouter la prise en charge d’autres couches que nous devons connecter, telles que notre schéma de sidechains.

(7) Chaînes Latérales

En ce qui concerne les chaînes latérales, Cardano prendra en charge un nouveau protocole développé par Kiayias, Miller et Zindros (chaînes latérales KMZ) basé sur les résultats antérieurs des preuves de preuves de travail. La conception particulière dépasse le cadre de cet article; cependant, le concept permet le mouvement sécurisé et non interactif de fonds de CSL vers n’importe quelle couche de calcul Cardano ou autre blockchain prenant en charge le protocole.

Les sidechains KMZ sont la clé pour encapsuler la complexité. Les grands livres avec des exigences réglementaires, des opérations privées, des langages de script robustes et d’autres préoccupations particulières sont en fait des boîtes noires pour CSL, mais l’utilisateur de CSL obtiendra certaines garanties concernant la comptabilité et la possibilité de rappeler des fonds une fois le calcul terminé.

Source : https://why.cardano.org/en/introduction/motivation/