Chargement
keyboard_arrow_up
BitcoinTechnique

Voici la cinquième partie de la synthèse de l’événement annuel Scaling Bitcoin, organisé en novembre 2017 à l’Université de Stanford. Le bitcoinaute doit prendre son mal en patience malgré les problèmes actuels : la sécurité de Bitcoin reste la priorité. Les difficultés dues à la montée en charge ne découragent pas la communauté des développeurs, qui redoublent d’ingéniosité pour mettre en pratique les techniques avancées par les nombreux chercheurs consacrant leur intelligence à développer l’invention révolutionnaire de Satoshi Nakamoto.

La deuxième journée de conférences était consacrée à la couche secondaire du protocole, aux évolutions possibles des mécanismes internes à Bitcoin, aux frais de transaction et à la résistance à la censure.

Sommaire :

Layer 2 – La couche secondaire du protocole Bitcoin

Complex Self-Adaptive Systems

Par Joi Ito – Director of the MIT Media Lab

Jōichi Itō, célèbre investisseur en capital-risque japonais, pionnier dans les monnaies numériques et Directeur du MIT Media Lab, a ouvert la seconde journée de conférences en prenant beaucoup de recul par rapport à l’avènement de la crypto-économie.

Joi ItoSon analyse repose sur la notion de système auto-adaptatif complexe : de tels systèmes ont une forte résilience grâce à leur capacité d’adaptation au changement. Par exemple, le corps humain est capable de réguler sa température interne pour rester en bonne santé. Quant à l’évolution de la Terre, il y eut un moment dans son histoire où la photosynthèse fit son apparition, la rencontre entre le dioxyde de carbone et les photons créant du glucose et de l’oxygène. Ensuite, d’autres processus combinèrent le glucose et l’eau pour créer de nouvelles molécules.

Un système auto-adaptatif complexe est donc composé de réseaux interconnectés. Dans le cas de notre corps, le système s’auto-régule pour garder notre température constante et nous protéger des invasions pathologiques : les années d’évolution nous ont dotés d’un système immunitaire robuste, qui est constamment attaqué de par sa croissance exponentielle.

Dans le cas des systèmes financiers, n’avoir qu’un seul moyen d’échange ou devise monétaire rend ces systèmes fragiles. On raisonne souvent en termes de valeur financière; mais ce qui est excitant, nous dit Joi Ito, c’est lorsque les monnaies ne sont pas utilisées comme moyen d’échange. Il a pris son exemple personnel pour illustrer ce point : joueur invétéré du jeu vidéo World of Warcraft, il valorisait les objets obtenus au-dessus de tout, car leur valeur dans le jeu vidéo, corrélée aux innombrables heures dépensées à les chercher, à récolter les différentes pièces pour les construire ou à miner l’or numérique du jeu pour les acheter, n’est pas transposable dans le monde matériel. La valeur de l’or de World of Warcraft provient de sa non-fongibilité avec les monnaies du monde réel.

Selon Joi Ito, les acteurs du monde des crypto-monnaies raisonnent d’abord en termes de technologie financière et de liquidité; ces derniers voient le monde en économistes plutôt que de le considérer comme un système auto-adaptatif complexe, ce qui pose des problèmes de design. Un autre point qu’il faut considérer avec attention concerne les machines et l’intelligence artificielle.

Pour l’illustrer, l’orateur a fait référence au mathématicien disparu Norbert Weiner, qui considérait les machines comme des sociétés faites de chair et d’os. Si l’on voit les règles de gouvernance comme une forme d’automatisation, alors les bureaucraties sont semblables à des machines. Les sociétés fonctionnent comme les intelligences artificielles que nous ne connaissons pas encore.

Si l’on réfléchit à l’intégration des machines, il s’agit d’intelligence étendue plutôt que d’intelligence artificielle : nous allons commencer à voir le niveau d’automatisation global s’amplifier et les dynamiques de ces entités ressembleront beaucoup à celles des corporations.

Considérons maintenant Bitcoin. Le substrat de l’écosystème est le marché : le capital en provient. Des produits y sont vendus et les travailleurs sont rémunérés. La plupart des échanges entre les différents processus se font en monnaie fiat. Tout comme dans le cas du machine learning et de l’intelligence artificielle, de nombreux outils développés aujourd’hui permettront à ces processus d’interagir de façon nouvelle.

Il faut créer des écosystèmes florissants, mais dont le but n’est pas l’accumulation de ressources. Un moyen approprié pour transférer de la valeur ne peut pas simplement reposer sur une courbe exponentielle et le culte de la singularité et du progrès.

Joi Ito a ensuite fait un parallèle classique entre l’apparition d’Internet et celle de la crypto-économie. Internet est un système permettant de connecter différentes fonctionnalités. Différentes couches se sont additionnées au cours du temps : Ethernet, TCP/IP, HTTP/HTML, SSL 3.0… Quant à Ethereum, qui possède plus de couches fonctionnelles que Bitcoin, son succès viendra de la simplicité des protocoles et des formats utilisés, et de son architecture ouverte. Ce sont les équipes de développement qui donnent sa légitimité à l’écosystème : des esprits ouverts, qui débattent longuement jusqu’à trouver un consensus. Joi Ito précise qu’Internet n’est pas le meilleur environnement pour trouver un consensus : nombreux sont ceux dont le comportement online est horrible car ils ne sont pas capables de s’exprimer en live. Il faut s’inspirer de l’ICANN[1], une institution qui s’est construite sur un modèle collaboratif et à but non-lucratif.

Joi Ito a étendu le parallèle en comparant le consortium bancaire R3CEV au Minitel, ou encore Coinbase à AOL. Les compagnies qui survivent sont celles qui tentent de cannibaliser les couches fonctionnelles des protocoles. Bitcoin sera la prochaine couche fonctionnelle d’Internet, le nouveau layer. Selon Ito, les gouvernements ne devraient pas réguler l’écosystème : il faut être prêt à effectuer des sacrifices pour s’améliorer.

Quant aux Initial Coin Offerings, il s’agit de prétendre délivrer des tokens pour améliorer les marchés. Le problème, c’est que les détenteurs de tokens n’ont pas de droits sur la compagnie qui les délivre. Les schémas de pump and dump[2] attirent les spéculateurs et les incompétents, tout en repoussant les personnes bien intentionnées. Le créateur de token doit se poser la question suivante : cela rend-il vraiment la société meilleure ou est-ce un système me permettant d’attirer du capital ? Il faut essayer d’utiliser la technologie afin d’empêcher les mauvais comportements humains, qu’il s’agisse du créateur ou des participants au marché : c’est la base du token design.

Joi Ito a évoqué la bulle Internet : à l’époque, il était possible de récolter de l’argent sans rien produire. Post-bulle, seules les personnes réellement passionnées par la technologie ont pu subsister et produire de la valeur. Selon lui, la période la plus excitante a commencé juste après l’éclatement de la bulle.

Il n’y a rien de pire pour une entreprise que d’avoir ses actions complètement surévaluées : il faut toujours lutter pour laisser ne pas laisser le prix baisser. Au long terme, la surévaluation est une mauvaise idée, même si au court terme cela peut paraître très attirant et lucratif.

Les buts et les objectifs sont plus importants que les règles. Partant du Landlord’s Game, l’ancêtre du Monopoly, inventé pour apprendre aux enfants combien l’accumulation de ressources par une petite partie de la population ruine le reste, Joi Ito a ensuite cité Donella Meadows (connue pour son ouvrage “Limits to Growth“) qui a établi les fameux douze leviers d’intervention dans un système complexe.

La première question à se poser est “Qu’essaie-t-on de construire ?” Pour y répondre, il faut définir les objectifs du système, l’état d’esprit ou le paradigme d’où surgit le système (buts, structure, règles, paramètres…), et il faut être capable de transcender ce paradigme. La “mission” du créateur est supérieurement importante, bien plus que la simple accumulation de capital : il s’agit de créer des systèmes monétaires alternatifs au paradigme actuel, figé, gaspilleur, incapable de créer le consensus humain et néfaste au bien-être de la majorité des habitants de la planète.

Joi Ito a insisté sur l’importance de réunir, à l’instar de Scaling Bitcoin, des personnes qui sont capables de se disputer et de se remettre en question, mais tout en restant en accord sur les bases d’un protocole de consensus commun, défendant un intérêt supérieur.

Les slides de la conférence.

How to Charge Lightning

Par Aviv Zohar (The Hebrew University)

Les canaux de paiement – payment channels – permettent à deux parties d’effectuer des transactions sans toutefois en inscrire la totalité dans la blockchain. Ces deux parties ne se font pas forcément confiance et l’ouverture d’un canal nécessite donc de programmer un contrat qui va automatiquement créditer les parties de leurs coins au prorata du dernier état du canal ayant été approuvé par les deux participants à l’échange. Il faut donc mettre sous séquestre les coins utilisés, grâce à des contrats autonomes.

Voir les explications en vidéo de Fabrice Drouin, CTO d’Acinq, sur Bitcoin.fr.

Le but de l’intervention d’Aviv Zohar est de comprendre comment gérer des réseaux de canaux de paiement – comment les financer, quand les réinitialiser – ainsi que d’étudier leurs effets sur l’économie de Bitcoin, au niveau de la répartition des volumes de transaction et des frais on-chain[3] et off-chain[4].

Le problème est que nous manquons pour l’instant de données pour analyser tout ceci de façon précise. Aviv Zohar s’est donc focalisé sur l’exemple d’un canal de paiement simple entre Alice et Bob (où les deux participants sont honnêtes).

SingleChannel
Schéma simplifié des états d’un canal de paiement financé à hauteur de 10 coins.

À chaque fois qu’Alice envoie un coin à Bob (ou l’inverse), la liquidité du canal change. On peut visualiser cela comme un espace constitué d’une série de dix états : si les transactions sont toutes d’une unité comptable, on se déplace dans cet espace.

PC Lifetime
Durée de vie du canal de paiement en fonction du paramètre λ

Le chercheur a calculé la durée de vie d’un canal de paiement en simplifiant certains paramètres. Il en a déduit plusieurs observations :

  • Si la quantité de liquidité présente dans le canal double, la quantité de transferts possibles augmente de façon quadratique.
  • Le chercheur s’est intéressé aux volumes de transactions que les utilisateurs génèrent : les petits paiements sont fréquents, et les gros paiements plus rares.

Les canaux de paiement ont deux coûts principaux : leur coût sur la blockchain (mise en place et règlement), et les intérêts à verser pour financer le canal lui-même[5]. Les frais sont fixes sur la blockchain, mais sur Lightning, plus les transactions sont élevées, plus la durée de vie du canal diminue. Il semble donc logique pour le chercheur que les frais de transaction sur Lightning soient proportionnels à la quantité de coins déplacés. La première étape de son approche a consisté à modéliser les flux de paiements et la distribution des quantités déplacées. Il s’est intéressé ensuite à la gestion d’un canal – sa topologie, son financement et sa politique de remise à zéro – afin d’en déduire, quant aux fees, l’équilibre de marché.

La distribution des transactions suit la loi de puissance : les paiements importants sont effectués préférentiellement sur la blockchain ; et les petits paiements sur Lightning. Les utilisateurs sont en concurrence pour inscrire leurs transactions dans le registre.

Avec une telle distribution, le moment propice pour remettre à zéro le canal de paiement se situe près des “frontières”, c’est-à-dire qu’il ne faut pas attendre que les fonds du canal soient complètement épuisés pour le reset (au cas où une requête de transaction d’un montant élevé surgirait).

ChannelReset

  • Il faut noter que la capacité d’un canal croît proportionnellement à la racine carrée des frais de transaction, tout comme les intérêts à verser;
  • Sans Lightning Network, la demande pour écrire dans le registre évolue à l’inverse du coût des frais de transactions ;
  • Avec Lightning Network, cette demande varie inversement à la racine carrée des frais.

Pour étudier la scalabilité, le chercheur a également cherché à identifier le point où les frais de transaction (à l’équilibre) collectés sur le réseau Lightning deviennent plus importants que les frais on-chain : c’est le cas au-delà de 20 millions d’utilisateurs. Il est à noter que doubler la taille des blocs diminue plus que de moitié les frais (donc le revenu des mineurs, donc la sécurité). Un autre point intéressant est qu’avec une centaine de millions d’utilisateurs, la quasi totalité des transactions a lieu sur le Lightning Network, mais qu’en termes de montants, c’est on-chain que le plus de volume est déplacé.

Fees 1
Frais de transactions à l’équilibre avec et sans Lightning network.
Fees 2
Frais de transaction (Lightning Network) avec la taille des blocs doublée.
Fees 3
Blockchain vs Lightning Network : quantité de transactions et volumes d’échange.

Les slides de la conférence.

Using the Chain for what Chains are Good For

Par Andrew Poelstra (Blockstream)

AndrewPoelstraLe cryptographe de Blockstream a abordé l’utilisation d’une blockchain comme système “d’ancrage de la confiance”, permettant d’exécuter des contrats intelligents sans pour autant que le contenu de ces contrats soit visible sur la blockchain.
Les smart contracts sont actuellement déployés on-chain :
  • Les scripts doivent être analysés et validés par tous les nœuds complets du réseau ; il n’est pas possible de les compresser ou de les agréger.
  • Leur exécution ne peut avoir lieu qu’une fois les transactions confirmées, ce qui rend le processus imprévisible et donne lieu à de longs délais.
  • Les règles de vérification des scripts doivent être agréées par tous les participants.
  • Les détails du script sont visibles indéfiniment, ce qui pose des problèmes de respect de la vie privée et de fongibilité.
  • Les mineurs peuvent voir les contrats avant de les inclure, et pourraient donc ne pas vouloir le faire.

Dans la pratique, la blockchain apporte une chose unique au smart contract : l’horodatage immuable d’une série d’engagements afin de prévenir la double dépense. Les validateurs doivent s’assurer que les scripts s’exécutent correctement; les scripts sont bien sûr plus faciles à vérifier qu’a exécuter. En cryptographie, il est possible d’utiliser des preuves à divulgation nulle de connaissance[6] pour effectuer ces vérifications.

Les vérificateurs de la blockchain doivent s’assurer que les coins ne sont dépensés qu’avec la bonne autorisation et une seule fois. Il n’ont pas besoin de connaître les règles qui définissent l’autorisation, seulement d’être d’accord dessus.

Scriptless scripts

Andrew Poelstra a alors présenté le concept de scriptless scripts, en se basant sur le cas pratique suivant : un portefeuille multi-signatures[7] géré par différentes parties ne se faisant pas confiance et souhaitant vérifier certaines conditions extérieures avant de signer les transactions. Ces derniers vont passer par un smart contract pour mettre en application leurs obligations les uns envers les autres.

Dans le paradigme actuel, il doivent témoigner des conditions des contrats sur la blockchain publique, assorties de leur signature. Vient alors l’idée suivante : faire en sorte que seules les signatures servent de témoins, sans divulguer le contenu des contrats. La blockchain doit alors juste vérifier une transaction multi-signatures.

Il faut concevoir les signatures numériques de façon à ce qu’elles ne puissent être créées que par l’agrément des parties aux règles du contrat et à son exécution correcte. C’est le principe des scriptless scripts. Les possibilités sont limitées, mais il y en a : par exemple, MimbleWimble est une blockchain conçue exclusivement à l’usage des scriptless scripts et ses propriétés (anonymat et scalabilité) dérivent de ce choix.

Les signatures de Schnorr[8] sont des scriptless scripts :

En ajoutant les clefs privées des signatures de Schnorr, on obtient une nouvelle clef qui ne peut signer qu’avec la coopération des parties. Ces dernières doivent interagir pour signer : elle se mettent d’accord sur le message et les nonces[9], puis contribuent aux signatures.

Les adaptor signatures :

Après la génération des clefs de chiffrement nécessaires à la signature s et la définition du nonce R, la technique consiste à utiliser une paire de clefs éphémère (t, T) où T est un hash de t. Lors de la création de la multi-signature, le nonce R est remplacé par (R + T) : la signature doit alors être remplacée par (s + t) pour être valide.

Désormais, le s original est une adaptor signature : n’importe qui possédant s peut forger une signature depuis t, ou vice-versa. On peut vérifier, sans faire appel à un tiers de confiance, que s est bien une adaptor signature pour T.

Exemple : atomic cross-chain swap
  • Alice et Bob envoient leurs coins vers un portefeuille multi-signature 2 sur 2.
  • Bob génère une paire (t, T) et donne T à Alice.
  • Avant qu’Alice ne signe pour donner ses coins à Bob, elle demande des adaptor signatures pour deux transactions : celle qui envoie ses coins à Bob et celle qui reçoit les coins de Bob.
  • Donc, lorsque Bob signe la transaction envoyant ses coins, Alice apprend t : elle peut l’ajouter à l’autre adaptor signature pour récupérer à son tour ses coins.

Réseau lightning basique

  • Supposons qu’Alice souhaite payer à David via Bob et Carole selon le chemin : Alice -> Bob -> Carol -> David. Elle demande alors à Bob, Carol et David leur clef publique.
  • Elle envoie les coins vers un portefeuille multi-signatures 2 sur 2 entre elle et Bob. Elle demande à Bob une adaptor signature avec (B + C + D) avant de signer la transaction lui envoyant les coins.
  • Bob demande alors une adaptor signature (C + D) à Carol avant de lui envoyer les coins à son tour. Puis Carole envoie à David, en demandant une adaptor signature avec D.

Avantages des adaptor signatures

  • Elles fonctionnent à travers différentes blockchains, même si c’est compliqué à implémenter.
  • Lorsqu’une signature a atteint la chaîne, n’importe qui peut créer une adaptor signature, mais cela ne relie pas les deux signatures. Les adaptor signatures sont invisibles.
  • Il y a donc de nombreuses applications dans le domaine de l’anonymat et de la fongibilité. Il est possible de créer des chaînes de transactions automatiques qu’il est impossible d’identifier sans la collusion totale des participants. Appliqué au réseau lightning, cela permet de faire plusieurs “sauts” sans qu’il soit possible de corréler les différents paiements le long du chemin.

Pour simplifier, les adaptor signatures permettent à plusieurs parties de générer des transactions de façon conditionnelle, sans que lesdites conditions soient connues par d’autres personnes que les signataires. Lorsqu’une partie signe, les autres parties peuvent signer à leur tour car les différentes signatures sont liées; cependant, cette relation reste inconnue des observateurs.

Lire cet article d’Aaron van Wirdum sur Bitcoin Magazine pour compléter cette tentative d’explication.

Les slides de la conférence.

À suivre.

Commentaires

Indice des prix

Sécurisez vos cryptos

Ledger Nano S
Ledger Blue
Trezor Hardware wallet

Flux Twitter

Achetez des bitcoins/ethers

Acheter bitcoins et ethers sur Coinhouse
Acheter des bitcoins sur ZeBitcoin
Achat / Vente de crypto-monnaies sur coinbase
BitIt, achat de crypto-monnaies facile et rapide
SpectroCoin, le multi-services
Cex.io, Achat / Vente et échange de crypto-monnaies
Coinmama, l’achat bitcoin ethereum facile