Actualités du développement Safe 🇫🇷 5 mai 2022

Ceci est une traduction automatique. L’original en anglais est ici: Update 5 May 2022

Nous nous sommes penchés sur le fonctionnement des certificats de porteur numérique (DBC) assez récemment, en enquêtant sur leur fonctionnement et pourquoi ils conviennent si bien au Safe Network, mais que se passe-t-il réellement lorsque vous payez pour un téléchargement de données ou que vous transférez des SNT à une autre personne ? Les transactions DBC sont le sujet de la mise à jour de cette semaine.

Progrès général

Le transfert est maintenant fait et dépoussiéré et intégré dans sn_network, grâce à un travail solide de l’équipe, en particulier @anselme qui y a travaillé ces dernières semaines. Pour rappel, le transfert régit des processus tels que les scissions et les abandons de nœuds, où nous devons nous assurer que les données sont répliquées aux bons endroits avec suffisamment de copies pour la redondance.

@Chriso a terminé la première version de l’automatisation de la vérification des licences. Ayant récemment rationalisé la licence de notre code, nous voulons nous assurer qu’il en reste ainsi et nous assurer que notre code n’est utilisé que comme nous l’avons prévu. La licence GPL3 est « copyleft », ce qui empêche la « sous-licence », c’est-à-dire que les personnes qui tirent quelque chose de nouveau du code original ne sont pas autorisées à changer le type de licence sur leur fork ; cela garantit que tout code Safe restera open source. Pour les bibliothèques génériques, nous sommes moins restrictifs.

Pourquoi BSD-3-Clause ? Comme avec MIT et Apache, c’est assez libéral, mais la troisième clause supplémentaire, qui empêche l’approbation des auteurs originaux avec des produits dérivés, est utile pour protéger la réputation de MaidSafe. Nous avions l’habitude d’avoir des licences doubles sur de nombreux référentiels, mais il ne semble pas y avoir beaucoup d’avantages à cela, et il est plus facile pour un processus automatisé d’en imposer l’utilisation.

Sur le front de la surveillance et de la visualisation du système, @yogesh a bricolé avec la pile ELK et elle devrait être prête à être testée par la communauté très bientôt. Surveillez cet espace :yeux:

Et @JimCollinson a mis par écrit les objectifs stratégiques de MaidSafe et du Safe Network, en examinant les mesures clés que nous devons prendre pour atteindre nos objectifs ainsi qu’en identifiant les obstacles potentiels, nous donnant le temps de tracer une voie autour d’eux.

Un grand merci également à @stout77 pour avoir fourni l’image de couverture de cette semaine ! :bowing_man:

DBC en action

Que se passe-t-il lorsque vous dépensez un DBC sur le Safe Network ? Quels sont les éléments d’une transaction DBC ? Avant de creuser un peu plus, un très bref récapitulatif…

Un DBC est un fichier numérique qui encode un certain nombre de facteurs, y compris son parent, le montant et une autorité telle qu’une signature ou une clé pour montrer qu’il est valide. Pour dépenser un DBC, vous devez d’abord le faire rééditer par les anciens.

Une transaction est aussi un fichier numérique. Dans ce cas, il encode le ou les DBC d’entrée et le ou les DBC de sortie.

Une version simplifiée d’une transaction sur le Safe Network se déroule comme suit :

Un client (une personne ou une application) crée la transaction souhaitée, par exemple « prenez ces 100 SNT DBC de mon portefeuille et créez deux nouveaux DBC, 90 comme paiement à la boutique et 10 comme monnaie pour moi ». Le client signe la transaction et l’envoie à la section appropriée en fonction de son adresse XOR.

Les anciens de la section valident la transaction, en s’assurant que toutes les entrées sont des DBC valides qui n’ont jamais été dépensés, puis l’écrivent dans le livre des dépenses.

Chaque aîné vérifie que la transaction est dans le livre des dépenses et que la somme des DBC d’entrée et de sortie est nulle (donc l’argent n’est pas créé ou perdu, juste transféré vers de nouveaux DBC), et renvoie la transaction au client avec sa part de signature.

Une fois que le client a recueilli une majorité qualifiée d’actions de signature (5 anciens sur 7), il soumet à nouveau la transaction avec la signature complétée aux anciens, après quoi elle sera rééditée. Les doubles dépenses sont évitées par le fait que la transaction avec ses sorties est déjà enregistrée dans le registre des dépenses. Chaque DBC de sortie ne peut être réédité (utilisé), donc peu importe le nombre de fois qu’il est resoumis.

Vérification et obfuscation

Ce qui précède est très bien. Cela évite les doubles dépenses et supprime le besoin de sections pour synchroniser les livres dépensés entre eux. Cependant, il peut être amélioré.

Tout d’abord, nous utilisons la bibliothèque Rust bulletproofs pour vérifier que la plage du montant DBC est positive - des montants négatifs permettraient de créer de l’argent à partir de rien - une évidence non non.

La deuxième mesure importante est l’obscurcissement. Nous utilisons des transactions confidentielles en anneau (RingCT) pour masquer les clés du propriétaire et du destinataire. Bien que la clé du propriétaire soit cachée, les anciens peuvent toujours dire si la transaction enregistrée dans le registre des dépenses est valide. De même, les pare-balles masquent le montant, mais ils peuvent toujours vérifier que les montants d’entrée équilibrent les montants de sortie.

Les étapes d’obscurcissement se produisent avant que la transaction ne soit écrite dans le livre des dépenses, rompant ainsi le lien entre le DBC parent et ses sorties. Si nous ne le faisions pas, il serait facile de retracer toutes les transactions, puisque all Les DBC renvoient au DBC de genèse, et il n’y aurait pas de confidentialité.

La genèse DBC

Nous terminons au début, en ce sens que les détails précis de la manière dont nous distribuons les DBC aux agriculteurs et aux détenteurs de Maid sont toujours en cours d’élaboration. La pensée actuelle est que tous les SNT seront encodés dans un seul DBC de genèse - un sans entrées.

Ainsi, tous les SNT qui seront jamais créés seront sous cette seule forme, comme l’univers avant le big bang. Une fois le réseau lancé pour de vrai, le genesis DBC sera réédité et subdivisé et répandu à travers le firmament. Le meilleur mécanisme pour cette distribution est ce que nous examinons maintenant.


Liens utiles

N’hésitez pas à répondre ci-dessous avec des liens vers les traductions de cette mise à jour de développement et les modérateurs les ajouteront ici.

En tant que projet open source, nous sommes toujours à la recherche de commentaires, de commentaires et de contributions de la communauté. Ne soyez donc pas timide, rejoignez-nous et créons ensemble le réseau sécurisé!