De nombreuses personnes qui utilisent la crypto depuis un certain temps ont subi une sorte de perte lors d'un échange, y compris vos pertes lors des piratages Gox et Bitfinex. Jamais dans l’histoire des voleurs n’ont emporté une telle récompense aussi facilement !
Les jetons cryptographiques sont uniques dans le sens où ils n'existent que dans le cyberespace et ne peuvent pas être facilement récupérés une fois volés (bien que le système nerveux blockchain à venir sur la chaîne DFINITY puisse faire quelque chose à ce sujet), ce qui les rend extrêmement vulnérables aux autres pirates informatiques et au vol interne. .
Autrement dit, à moins que nous puissions créer des échanges véritablement décentralisés dans lesquels nous n’avons pas besoin de transférer des jetons et de l’argent à des intermédiaires.
Un tel échange entièrement décentralisé et inviolable devrait également réduire considérablement les frais de transaction, une étape clé dans la maturation continue de notre industrie, mais jusqu'à présent, cet objectif a été insaisissable.
Cependant, dans cet article, j’expliquerai comment certaines des dernières innovations en matière de cryptographie ont rendu les idées d’aujourd’hui possibles.
Cet article expliquera comment créer un échange de jetons décentralisé (pour un package prêt à l'emploi sous forme d'image Docker) à partir d'un contrat intelligent écrit en Solidity et d'une interface utilisateur Dapp écrite en HTML/Js (du genre que vous pouvez créer en utilisant Truffle ) Environnement de développement, y compris Cloud9 IDE ainsi que Truffle et d'autres outils, consultez instant-dapp-ide).
Bien que certains logiciels clients spéciaux devront également être créés pour appliquer la cryptographie, nous n'aurons pas besoin de chaînes latérales, de canaux d'État, de centres de consensus spéciaux ou de tout autre élément qui n'existe pas déjà ou qui présente de sérieux défauts.
Rien n'est nécessaire sauf ce qui est déjà disponible aujourd'hui !
Par conséquent, nous expliquerons comment créer un échange crypto-crypto sur Ethereum (ou éventuellement DFINITY) qui permettra d’échanger BTC/ETH et d’autres paires de devises en toute sécurité et à moindre coût.
Étape 1 : logique de contrat intelligent
Les contrats intelligents Ethereum nous donnent déjà les moyens d'exécuter la logique de deux transactions d'enchères consécutives (telles que GDAX, Bitfinex, Kraken ou Poloniex) sur l'ordinateur blockchain.
La vitesse des réseaux actuels présente des défis pratiques en termes d'expérience utilisateur, car le marché peut être réorganisé quelques minutes après la soumission d'un nouvel ordre et l'exécution d'une transaction, mais les solutions commencent déjà.
Le relais de seuil ramènera la finalité à quelques secondes (plus de 50 fois plus rapide aujourd'hui par rapport à Ethereum), et l'équipe Casper travaille également sur une solution, nous aurons donc probablement un peu de temps.
Le véritable défi est que les jetons que nous créons dans les contrats intelligents ne peuvent pas être connectés en toute confiance à de précieux jetons natifs sur d'autres chaînes. Par exemple, nous ne pouvons pas créer de jetons XBT dans un contrat intelligent Ethereum connecté à Bitcoin de manière sans confiance, que nous pouvons ensuite échanger contre de l'Ethereum natif.
Note technique de haut niveau : voici un exemple de deux codes d'échange de style enchères consécutives dans Solidity pour les personnes intéressées (il s'agissait en fait de mon premier contrat Solidity, rédigé lorsque le langage a été disponible pour la première fois).
Il y a plusieurs considérations de conception que vous devez prendre en compte, telles que la nécessité de résoudre le problème du « sniping » du HFT par les arbitragistes observant les changements de prix dans les transactions rapidement concentrées. Il existe également de bonnes raisons d’envisager d’utiliser d’autres modèles d’échange, tels que les enchères par lots à prix unitaire. Ces considérations méritent d’être republiées si le temps le permet.
Étape 2 : Fissure de la signature du seuil
Par souci de simplicité, nous aborderons ci-après uniquement la question de l’hébergement de Bitcoin sur les échanges hébergés par Ethereum, bien qu’en réalité la technologie soit également applicable à l’hébergement de tout jeton crypto natif issu d’une chaîne de transactions autorisées utilisant les signatures ECDSA.
Notre exigence est qu'un grand nombre de parties indépendantes contrôlent collectivement une adresse Bitcoin standard afin que les utilisateurs puissent y envoyer du Bitcoin, mais Bitcoin ne peut être transféré qu'après un accord entre un certain ratio seuil de ces parties.
Par exemple, disons que notre bourse comptera 50 « tuteurs » issus d’individus et d’entreprises bien connus et indépendants du secteur de la cryptographie.
Ils doivent contrôler une adresse Bitcoin où les utilisateurs peuvent envoyer du Bitcoin en échange de jetons XBT hébergés sur un échange Ethereum, et ils doivent être en mesure de distribuer du Bitcoin à partir de cette adresse à ceux qui échangent les jetons XBT.
Traditionnellement, en cryptographie, une telle fonctionnalité est créée à l'aide de « signatures à seuil ».
Note technique de haut niveau : le réseau Bitcoin ne relaie que les transactions "multisig" locales pour un maximum de 3 participants, le paiement par hachage de script allège une partie de la charge mais limite toujours les participants à 15.
Désormais, nous pouvons tracer une ligne pour les impatients : bien que les transactions Bitcoin et Ethereum soient signées à l'aide de signatures ECDSA standard et qu'aucune des deux ne prenne en charge nativement les signatures à seuil, certains chercheurs innovants ont récemment démontré un moyen d'exploiter les signatures ECDSA standard utilisées par Bitcoin et Ethereum. peut produire des signatures de seuil rétrocompatibles.
Autrement dit, nos gardiens peuvent créer des signatures de seuil pour les adresses qui seront acceptées par le réseau Bitcoin comme signatures ECDSA standard pour débloquer les UTXO !
Vous pouvez trouver le document décrivant comment procéder ici :
• https : //eprint.iacr.org/2016/013.pdf
• https://www.cs.princeton.edu/~stevenag/threshold_sigs.pdf
Pour être clair, ces schémas de signature de seuil ne sont pas les mêmes que le système BLS optimisé que nous utilisons dans DFINITY Threshold Relay, qui peut combiner la sortie de centaines de signataires pour créer une signature de seuil déterministe unique en millisecondes.
En fait, ce système est si inefficace que la combinaison de la sortie de signature de notre tuteur prend beaucoup de temps et son processeur chauffe, mais ce n'est pas un problème.
Il est parfaitement acceptable de facturer des frais de retrait modestes pour couvrir les coûts de calcul et d'exiger que les retraits de notre plateforme d'échange financière basée sur Ethereum prennent un certain temps à être traités. Après tout, de nombreuses personnes seraient heureuses que leurs fonds soient échangés en toute sécurité pour des raisons de commodité !
L'application de cette technologie nous permettra de décentraliser la confiance entre un certain nombre de tuteurs, leur permettant à la fois de recevoir des Bitcoins en échange de distributions XBT et de distribuer des Bitcoins lors de l'échange de jetons XBT, agissant ainsi de manière sans confiance et sécurisée pour rattacher Bitcoin à Jeton XBT.
Bien sûr, nous devons tenir compte du fait que certains tuteurs peuvent perdre leurs clés de signature ou se faire renverser par le bus métaphorique, mais la signature par seuil nous permet de résoudre ce problème. Nous pouvons simplement exiger la sortie de seulement 35 des 50 gardiens pour créer une nouvelle signature.
Étape 3 : Récompenses du gardien
Nous avons besoin d’un programme d’incitation pour les tuteurs parce que nous voulons impliquer et promouvoir des individus et des entreprises dignes de confiance qui ne disparaîtront pas ou ne s’entendront pas.
Le moyen le plus simple est de leur verser une petite commission de négociation sur tous les retraits effectués par la bourse.
Étape 4 : Gouvernance
Les transactions financières décentralisées nécessitent leur propre système de gestion car les tuteurs doivent être élus, les mises à jour logicielles des contrats intelligents adoptés, etc. Par conséquent, nous concevrons le commutateur comme une DAO (Decentralized Autonomous Organization).
Si ces systèmes deviennent disponibles à temps, nous pourrions même obtenir des systèmes nerveux de gouvernance plus avancés grâce à la technologie du système nerveux blockchain de DFINITY (l'équipe DFINITY espère vivement que BNS sera réutilisé de cette manière).
Au sein du système de gouvernance, il y aura des détenteurs de jetons dotés de « droits de vote » qui partageront proportionnellement les maigres frais facturés pour les transactions. Le contrat intelligent organise régulièrement des « concours de beauté » où les tuteurs potentiels peuvent postuler à des postes, qui sont finalement attribués par les électeurs.
Note technique de haut niveau : un attaquant peut tenter d'acheter tous les jetons de vote, puis remplacer les gardiens par leurs propres marionnettes (généralement une attaque DAO à 51 %) et voler les fonds déposés.
Pour cette raison, après le vote, le contrat ne doit quitter le tuteur qu’après un certain délai, ce qui peut donner aux détenteurs de cryptomonnaie suffisamment de temps pour retirer leurs fonds en toute sécurité si une telle attaque se produit. Cela s'applique également à l'adoption des mises à jour logicielles.
Étape 5 : Paramètres de cryptage de seuil
Une fois l’ensemble des tuteurs mis en place, ils doivent mettre en place leur système de signature de seuil. Cela signifie qu'une sorte de processus ou de protocole doit être exécuté pour garantir qu'une fois terminé, chacun de nos 50 tuteurs dispose d'un « partage de clé » privé pour produire conjointement une signature de seuil qui peut être utilisée comme une signature ECDSA simple autorisant unique. Le réseau distribue des Bitcoins à partir d'adresses de dépôt.
Comme mentionné précédemment, les schémas de signature à seuil cités sont en fait des hacks qui créent des signatures rétrocompatibles avec les signatures ECDSA classiques actuellement utilisées par les réseaux Bitcoin et Ethereum. Cela signifie que la configuration est plus complexe que le schéma de signature de seuil BLS utilisé par DFINITY Threshold Relay.
L'approche la plus simple serait d'effectuer une configuration de confiance lors d'une cérémonie sécurisée, comme l'a récemment fait le réseau Z-Cash, et de demander à chaque gardien de signaler au contrat intelligent de l'échange qu'il est satisfait du résultat.
Bien que le processus de configuration fiable soit beaucoup plus simple à mettre en œuvre que celui utilisé par Z-Cash, de nombreuses personnes souhaitent mettre en œuvre une configuration distribuée sans confiance, notamment parce qu'elle est plus facile à répéter lorsque le tuteur doit être remplacé. Celui-ci comprendra deux parties.
La première consiste à distribuer des clés ordinaires entre les tuteurs et peut être réalisée très simplement en appliquant, par exemple, IPFS comme journal qui regroupe et partage les messages impliqués dans un protocole de génération de clés distribuées.
La deuxième partie (rendue nécessaire par les techniques de chiffrement homomorphe utilisées en piratage) concerne la distribution des partages de clés Paillier. Si vous souhaitez que votre switch soit opérationnel rapidement, cette dernière partie nécessite une analyse minutieuse du coût de mise en œuvre !
Étape 6 : Logiciel client Guardian
Nous avons dû créer un « logiciel client gardien » spécial qui surveille les contrats intelligents de la bourse et coopère régulièrement pour signer des transactions Bitcoin lorsqu'un utilisateur souhaite échanger du XBT.
Étape 7 : Financement participatif
Le financement participatif devrait être mis en place pour collecter des fonds pour la R&D, et il peut y avoir des incitations pour être le premier à y déplacer les fonds (peut-être exclusivement bloqués là pendant un certain temps) pour aider à orienter les liquidités.
Notez que nous pourrions simplement commencer par un système de gouvernance, puis lui permettre d'allouer des fonds aux développeurs pour finaliser les transactions.
Une fois les échanges commencés, nous devrions nous attendre à ce que le volume augmente rapidement ! Les coûts de base impliqués dans le trading décentralisé sont d'un ordre de grandeur inférieur à ceux du trading centralisé géré par les entreprises, et cela se reflétera dans les frais de transaction.
De plus, le système décentralisé décrit est également plus résistant aux pirates informatiques et aux attaques, et vous pouvez vous attendre à déposer et à échanger en toute sécurité de grandes quantités de crypto-monnaies sur un tel échange.
Je croise les doigts pour que quelqu'un construise ça !
Remarque finale : à première vue, les échanges financiers décentralisés semblent rendre possible le trading crypto-crypto. À court terme, cela pourrait être vrai. Mais les personnes intéressées devraient consulter le système PHI actuellement développé par des chercheurs associés à String Labs à Palo Alto.
Cela imite le fonctionnement du système bancaire commercial et crée une « crypto-monnaie » décentralisée garantie par une garantie de prêt.
Une fois que nous aurons le jeton sur Ethereum et la chaîne DFINITY (et, espérons-le, d'ici deux ans), il sera possible de stocker le jeton sur un échange décentralisé où la valeur du jeton est égale à la valeur d'une monnaie fiduciaire similaire.

Contenu IC qui vous intéresse
Progrès technologique | Informations sur le projet |

Collectez et suivez IC Binance Channel
Restez à jour avec les dernières informations
