Bienvenue ! Vous découvrez Zcash ?
The Zcash network is young, but evolving quickly! Sign up and we'll be in touch with monthly highlights on ecosystem growth, network development and how to get started with Zcash!

Langue

ZSL: zk-SNARK pour l'entreprise

Jack Gavigan | Mar 23, 2017

L'objectif principal de la société Zerocoin Electric Coin Company est, et sera toujours, le développement et le soutien de Zcash.

Toutefois, en tant que startup ayant besoin de générer des revenus pour survivre, il serait impardonnable de notre part d'ignorer le flux de revenus potentiel que représente le marché des entreprises pour la technologie de comptabilité distribuée (DLT), laquelle a suscité un intérêt considérable dans différents secteurs industriels, notamment les services financiers, les soins de santé et les secteurs qui cherchent à exploiter pleinement le potentiel des dispositifs connectés et compatibles IdO.

Il existe une multitude de cas d'utilisation potentielle pour la technologie de blockchain dans lesquels la confidentialité et le secret sont indispensables pour différentes raisons, allant de la confidentialité commerciale standard aux exigences légales et réglementaires. Aux États-Unis, le Gramm-Leach-Bailey Act exige la confidentialité vis-à-vis des informations financières des consommateurs. D'autre part, la règle de sécurité de l'HIPAA établit une norme pour la protection des informations de santé personnelles des individus. La directive de l'UE sur la protection des données (laquelle sera prochainement remplacée par le Règlement général sur la protection des données) impose que les données personnelles soient protégées contre toute divulgation non autorisée ; et les exigences de confidentialité commerciales transcendent à la fois les frontières et les secteurs d'activité.

Nous pensons que la technologie Zcash de protection de la vie privée peut répondre à de nombreuses exigences en termes de confidentialité et de respect de la vie privée pour la comptabilité distribuée des entreprises.

Pour comprendre comment la technologie sous-jacente de Zcash peut répondre à ce type d'exigences, il est utile de se familiariser avec l'architecture de Zcash.

L'architecture stratifiée de Zcash

Dans le blockchain Bitcoin, la création d'une transaction valide nécessite la vérification de trois éléments : 1. que les pièces n'ont pas été dépensées au préalable, 2. que l'expéditeur est autorisé à transférer la « propriété » des pièces en question, et 3. que les entrées de la transaction sont équivalentes à ses sorties.

La preuve que les pièces n'ont pas été dépensées au préalable est obtenue auprès du service de comptabilité proprement dit et ne nécessite aucune action de la part de l'expéditeur.

L'expéditeur prouve la propriété des pièces qu'il souhaite transférer en signant de manière numérique la transaction à l'aide de la clé secrète qui correspond à l'adresse où se trouvent actuellement les pièces. Afin de vérifier cette signature, l'adresse de l'expéditeur doit être divulguée. De son côté, le destinataire pourra seulement dépenser les pièces, si son adresse est également divulguée.

Avec Bitcoin, la vérification que les entrées d'une transaction sont équivalentes à ses sorties devient inutile, dans la mesure où le montant du transfert est divulgué.

Un schéma détaillé de haut niveau d'une transaction Bitcoin

Zcash utilise des épreuves de connaissance nulle (plus précisément, des zk-SNARKs) pour prouver les trois mêmes faits, sans révéler d'éventuelles informations à propos de l'expéditeur, du destinataire ou des actifs en cours de transfert. Chaque transaction valide est accompagnée d'un zk-SNARK qui prouve que : les actifs d'entrée existent et n'ont pas été dépensés antérieurement, le créateur de la transaction possède l'autorité requise pour dépenser les actifs d'entrée, et la quantité et le type des entrées sont égaux à la quantité et au type des sorties.

Les informations requises pour dépenser les sorties (en créant un nouveau zk-SNARK) sont jointes à la transaction, cryptées à l'aide de la clé publique du destinataire et ne peuvent être utilisées que par le destinataire.

Un schéma détaillé de haut niveau représentant une transaction d'épreuve à connaissance nulle

Le résultat est effectivement un nouveau type de comptabilité distribuée, que nous appelons la couche de sécurité de connaissance zéro, ou ZSL.

Zcash est une implémentation de ZSL, utilisant une fourche du code base de Bitcoin pour activer des transactions transparentes.

Un schéma détaillé de haut niveau d'une transaction Zcash

En construisant Zcash, nous aurions pu mettre en œuvre ZSL seul (c'est-à-dire, sans la prise en charge des transactions transparentes), mais nous avons pensé que les utilisateurs se sentiraient probablement plus à l'aise avec une crypto-monnaie qui prendrait également en charge le type de transactions transparentes avec lesquelles ils sont déjà familiarisés. L'activation des transactions transparentes de type Bitcoin simplifie également l'intégration à Zcash à l'aide des outils et de l'infrastructure existants qui ont été créés pour prendre en charge Bitcoin.

ZSL peut être superposé à n'importe quelle solution de comptabilité distribuée, en ajoutant la prise en charge des transactions protégées à l'ensemble de fonctions de comptabilité sous-jacentes. Cela n'implique pas automatiquement que toutes les fonctionnalités comptables sous-jacentes bénéficieront des caractéristiques de confidentialité supplémentaires. Par exemple, l'intégration de ZSL au code base Ethereum permettrait d'utiliser des transactions protégées pour préserver la confidentialité des utilisateurs, mais les contrats intelligents devraient toujours être exécutés de manière transparente. Nous en sommes encore au tout début des recherches visant à trouver comment la programmabilité pourrait être implémentée au sein de ZSL de manière efficace.

ZSL peut également être intégré à n'importe quel mécanisme consensuel ; au lieu de la preuve de travail, la comptabilité d'une entreprise pourrait utiliser la méthode round-robin, la preuve d'enjeu ou de nouveaux mécanismes consensuels tels que Tendermint. Il pourrait même être intégré à une base de données MySQL, où un plug-in de schéma requiert des preuves valides pour les insertions dans les tableaux, mais où l'administrateur de base de données ne voir pas les soldes des comptes.

Cette approche nous apporte une grande souplesse en termes de cas d'utilisation de l'entreprise. Cela signifie que la confidentialité et la discrétion peuvent être obtenues tout en préservant le caractère fongible des actifs numériques concernés par les transactions, sans compromettre la nature entièrement décentralisée de la comptabilité distribuée. Cela représente un avantage majeur par rapport aux techniques de confidentialité qui utilisent le cryptage classique pour protéger les détails des transactions - le caractère fongible des actifs transférés lors de telles transactions ne peut être obtenu que si les détails des transactions antérieures sont révélés au destinataire suivant (ce qui compromet la confidentialité et la discrétion), ou si un tiers de confiance est utilisé pour vérifier la validité des transactions (ce qui compromet la nature entièrement décentralisée d'une comptabilité distribuée).

Un autre avantage de l'architecture stratifiée tient au fait qu'elle nous permet de nous concentrer sur nos points forts. Notre entreprise est petite et nous prévoyons de rester fortement concentrés sur le développement de technologies de cryptographie innovantes (par opposition à la construction d'une solution de comptabilité distribuée pour l'ensemble d'une grande entreprise). En proposant ces technologies en tant que couche « supplémentaire », nous pourrons établir des partenariats avec les fournisseurs de solutions pour proposer aux utilisateurs finaux une confidentialité et une discrétion basée sur des zk-SNARK sur la plateforme DLT de leur choix.

Au risque de sembler énoncer des clichés, nous souhaitons faire grandir le gâteau par la collaboration plutôt que par la concurrence en cherchant à obtenir la plus grosse part possible.

Amélioration des fonctionnalités de Zcash (et de ZSL)

Zcash a déjà défini le critère d'excellence en termes de confidentialité, mais nous ne nous reposons pas sur nos lauriers. Nous avons récemment annoncé nos priorités de développement pour 2017, y compris la prise en charge des jetons émis par les utilisateurs (qui permettront à n'importe qui d'émettre et d'échanger des actifs numériques sur la plateforme Zcash en bénéficiant de la même confidentialité et de la même discrétion qui protègent les transactions ZEC) et l'interopérabilité inter-chaînes avec Bitcoin et Ethereum, qui permettra aux utilisateurs d'échanger des ZEC contre des Bitcoins et de l'éther sans avoir à passer par une centrale d'échange.

Notre objectif principal dans le développement de ces fonctionnalités est de renforcer l'utilitaire de Zcash pour ses premiers utilisateurs et d'attirer de nouveaux utilisateurs. Il existe cependant un intérêt secondaire majeur : ces fonctions sont également utiles pour les utilisateurs d'entreprise potentiels.

La fonction de divulgation de paiement sur laquelle nous travaillons est la première étape en vue de permettre aux utilisateurs de divulguer les détails de leurs transactions protégées à un tiers, tout en les tenant secrètes pour toutes les autres personnes. Pour Zcash, cela peut permettre de créer l'équivalent d'un reçu de paiement, contribuer à résoudre les litiges et à dépanner les problèmes. Pour les cas d'utilisation en entreprise, ce dispositif peut également être utilisé pour permettre aux utilisateurs de fournir à un tiers tel qu'un auditeur, un régulateur ou un arbitre, la possibilité de visualiser les détails de transactions spécifiques (ou de pouvoir surveiller l'ensemble de leurs transactions en temps réel), tout en les tenant confidentielles pour les autres utilisateurs de la blockchain.

L'ajout de la prise en charge des jetons émis par les utilisateurs à ZSL permettra l'émission et l'échange dynamiques de différents actifs numériques sur la même blockchain. Cela présente des applications évidentes dans le secteur financier, lequel explore déjà l'utilisation de la technologie de blockchain pour les échanges de titres. En utilisant ZSL, les détails de tels échanges peuvent rester confidentiels et l'identité des contreparties peut être tenue privée, sans compromettre le caractère fongible des actifs échangés.

En outre, le fait de fournir aux participants de la blockchain la possibilité d'émettre leurs propres actifs numériques de manière dynamique ouvre un large éventail de cas d'utilisation, tels que l'émission de blockchain et l'échange de billets de trésorerie, de factures escomptées, de prêts syndiqués, d'obligations d'entreprise et d'un certain nombre de dérivés (que nous appelons les « dérivés échangés sur la blockchain » afin de les différencier des dérivés plus traditionnels échangés sur les marchés).

Dans l'espace d'interopérabilité, nous travaillons à la mise en œuvre de la prise en charge des transactions atomiques inter-chaînes (XCAT), ce qui permettra d'échanger des actifs entre différentes blockchains, et activera l'interopérabilité entre différents types de blockchain, optimisés pour les transactions portant sur différents types d'actifs et fonctionnant en vertu de différents modèles de gouvernances et régimes réglementaires. Par exemple, un dérivé échangé sur une blockchain opérant en vertu de la supervision des CFTC serait réglé par la livraison d'actions dans un registre réglementé par la SEC. Un échange de titres sur une blockchain gérée par le NYSE ou le DTCC pourrait être réglé dans le style DvP en utilisant du CBDC ou de l'argent de banques commerciales (ou « b-money ») dans un registre géré par la Federal Reserve.

L'efficacité, la performance et l'évolutivité sont des domaines clés pour nous. Actuellement, la génération du zk-SNARK pour une transaction Zcash protégée ne demande qu'un peu plus de 40 secondes sur le processeur d'un ordinateur typique. Tout en apportant des améliorations incrémentielles de la performance au fil du temps, nous menons également des recherches afin de découvrir comment améliorer le circuit cryptographique central, ce qui pourrait apporter des améliorations significatives en termes d'efficacité, en déverrouillant l'utilisation de ZSL pour les cas d'utilisation qui requièrent une faible latence et un débit élevé.

En attendant, le déchargement des paiements permettra aux clients utilisant des appareils peu puissants de décharger les éléments les plus intenses en calcul de la génération d'épreuves de zk-SNARK sur un serveur plus puissant.

Tournons-nous vers l'avenir

Les blockchains et les comptabilités distribuées sont des technologies émergentes. Je pense que leur niveau actuel de maturité est équivalent à ce qu'était celui d'Internet et du « World Wide Web » en 1996. À cette époque, il était manifeste qu'Internet avait le potentiel de transformer le monde, mais il a fallu du temps pour que la technologie arrive à maturité et soit largement adoptée, et pour que nous comprenions son potentiel de développement jusqu'au niveau où qui nous a permis de commencer à l'exploiter pleinement.

La comptabilité distribuée - et notre compréhension de cette technologie - doit également se développer, évoluer et mûrir pour que bon nombre de ses cas d'utilisation potentiels soient compris, en particulier ceux qui nécessitent un déploiement et une adoption à grande échelle et étendus.

Nous nous attendons à ce que l'exploration des utilisations de zk-SNARKs par les entreprises nous aide à améliorer le réseau Zcash destiné au grand public, en nous exposant à des idées et des cas d'utilisation qui développeront nos connaissances des applications potentielles, et via la création d'outils et de fonctionnalités qui pourront être intégrés à Zcash.

Nous sommes conscients du fait qu'il existe un conflit d'intérêts potentiel entre notre rôle en tant que pilotes principaux derrière la crypto-monnaie Zcash et notre désir de générer des revenus en vendant aux entreprises des solutions compatibles ZSL. Pour garantir l'indépendance et l'objectivité, nous avons établi une Fondation Zcash indépendante et à but non lucratif, qui représente les intérêts de la communauté Zcash et du grand public en tant qu'utilisateurs du protocole et de la blockchain Zcash.

Selon nous, l'adoption et l'utilisation générales des technologies sur lesquelles repose Zcash bénéficieront sur le long terme à l'ensemble de ses utilisateurs. En effet, de façon analogue, les utilisateurs personnels et les amateurs de Linux ont profité de l'adoption du système d'exploitation par les utilisateurs métier.

Notre objectif final consiste à façonner un avenir où chaque utilisateur métier ou particulier de technologie de comptabilité distribuée pourra exploiter pleinement les technologies de protection des renseignements privés les plus avancées.