Data Availability

Initialement publié en anglais par StarkWare le 3 juin, 2020

The Self-Custody Series, Part IV

Cet article porte sur la solution de StarkEx pour la disponibilité des données (Data Availability), vous pourrez en apprendre plus sur les committee leurs importances et leurs responsabilités.

Motivation

StarkEx est un moteur de scalabilité selft-custody. Il s'agit du quatrième et dernier article de notre série sur les selfs-custody, qui a décrit les différentes facettes d'un système self-custody. Cet article décrit la solution de StarkEx pour la disponibilité des données (DA) : son premier déploiement et le chemin à parcourir pour un futur de plus en plus trustless.

Pour rappel, dans StarkEx, les transactions sont regroupées, puis validées off-chain, et une preuve STARK est générée. Nous appelons ce processus une transition d'état valide. La preuve, ainsi qu'un engagement envers le nouvel état du système, sont ensuite envoyés à la blockchain, où la preuve est vérifiée et l'engagement est stocké. Les données relatives aux transactions par lots peuvent être stockées soit on-chain, soit off-chain. Avec DA on-chain, les transactions sont enregistrées en tant que données d'appel. Avec DA off-chain, les transactions sont enregistrées off-chain. DA off-chain est plus évolutive : elle consomme une quantité essentiellement fixe de ressources de la blockchain, quel que soit le volume d'activité sur StarkEx.

Le premier déploiement de StarkEx - qui alimente l’exchange décentralisé de DeversiFi - sera équipé d’une DA off-chain. DeversiFi a fait ce choix non seulement en raison de l'avantage de la scalabilité, mais aussi parce qu'il offre à ses utilisateurs une meilleure confidentialité en ce qui concerne leurs stratégies de négociation. Par conséquent, les utilisateurs qui souhaitent accéder à leur solde peuvent l'obtenir auprès des opérateurs StarkEx : l'opérateur d'application et l'opérateur de preuve (dans ce premier déploiement : DeversiFi et StarkWare, respectivement). Les utilisateurs peuvent vérifier le solde de leur compte dans un état donné avec un chemin de Merkle de leur compte dans l'arbre de Merkle jusqu'à sa racine. Notez les particularités de leur confiance dans les opérateurs : les utilisateurs n'ont pas besoin de faire confiance aux opérateurs pour savoir si l'état du système est valide, car les preuves STARKs garantissent la validité de l'état. Les utilisateurs doivent simplement faire confiance aux Opérateurs pour rendre les données disponibles.

Le comité de disponibilité des données (DAC)

Afin de permettre aux utilisateurs de ne plus faire confiance aux opérateurs StarkEx, nous avons créé un comité de disponibilité des données (DAC). Les membres du DAC sont chargés de conserver des copies des données off-chain et de les remettre dans le domaine public en cas d'urgence. L'urgence est définie comme un scénario dans lequel les opérateurs StarkEx ne répondent pas aux demandes de retrait des utilisateurs. En cas d'urgence, le Smart Contract d'Application (ASC) n'acceptera plus les mises à jour des nouveaux états et n'autorisera que les retraits directs de fonds par des utilisateurs capables de fournir une preuve Merkle pour le dernier état.

Responsabilités des membres du DAC

Dans le cours normal des affaires

  • Recevoir chaque transition d'état, calculer le nouvel état et signer l'engagement envers le nouvel état.
  • Conserver une copie privée et sécurisée de ces données off-chain.
    L'ASC n'acceptera une preuve STARK que si un quorum de membres du DAC a signé l'engagement sur l'état correspondant.

En cas d'urgence

mettre leur copie des données à la disposition du public. Les utilisateurs peuvent désormais accéder au chemin de Merkle vers leurs comptes et utiliser ce chemin pour récupérer leurs fonds directement auprès de l'ASC, sans avoir besoin de faire confiance aux opérateurs de quelque manière que ce soit.

La voie à suivre

Nous pensons qu'il est important de minimiser la confiance dans le DAC.

Tout d'abord, nous avons l'intention de crypter les données stockées par le DAC. Cela garantira que les membres du DAC ne sont plus au courant des données relatives aux utilisateurs de StarkEx. Un tel cryptage garantit que les membres du comité ne sont pas exposés à des informations sensibles, réduisant ainsi leur responsabilité et la confiance implicite des utilisateurs envers les membres du DAC. Par conséquent, le cryptage permettra à StarkWare d'augmenter considérablement le nombre de membres du comité, et de réduire davantage la dépendance à l'égard de chaque membre individuel pour qu'il se conforme à son rôle en cas d'urgence.

Plus tard, nous mettrons en œuvre une solution entièrement trustless dans laquelle une partie intéressée pourrait totalement éliminer la confiance dans le DAC. Au lieu de cela, elle devrait investir des ressources très limitées : soit en plaçant ses propres données on-chain, soit en surveillant la progression des données off-chain (mais avec beaucoup moins de ressources que l'opérateur). Nous publierons ces idées plus en détail prochainement.

~Tom Brand & Uri Kolodny

Traduction faite par Valentin Negro

Subscribe to Starknet France
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.