Binarisation vs Format text du protocole blockchain

Rah mais t’es pas vrai toi :wink: Dire que la solution la plus compliquée c’est celle dont le format n’est pas lisible par un humain, c’est franchement dire des assertions sans nuance ni subtilité…

Par exemple, j’aime bien ce qui est expliqué sur ce site

Le choix de base est entre format binaire et format texte :

  • les fichiers binaires sont généralement plus compacts, le code pour parser ce type de données est plus simple à mettre au point, la lecture et l’écriture sont moins exigeantes en ressources processeurs ;
  • les fichiers textes sont plus simples à vérifier ou à modifier manuellement, ils posent moins de problèmes de portabilité, ils sont plus simple à maintenir et à faire évoluer en fonction des besoins

Ce qui va dans le sens de la discussion qu’on a eu ci-dessus : Notre problème est avant tout celui de la maintenance (accueil des nouveaux développeurs, maintient en fonctionnement du réseau) et l’évolutivité (le protocole est loin d’être terminé).

Donc oui, les deux solutions sont de natures différentes, et notre choix n’est pas purement un choix technique. C’est avant tout un choix relatif aux humains qui vont devoir faire évoluer et maintenir Duniter.

3 Likes

Je croyais que PEG était un format ou un truc du genre, mais si c’est une grammaire qui s’applique aussi bien au binaire qu’au texte, bah j’ai rien dit ^^.
Et si les fonctions de conversion sont déjà presque toutes écrites ma proposition n’est plus nécessaire.

C’est une grammaire qui s’applique au texte seulement :slight_smile:

Il me semble que oui, a l’exception du format binaire qui n’est pas encore géré par Duniter (mais il ne sera utilisé que dans WS2Pv2 et je compte implémenter le nécessaire dan Duniter pour ça).

Hello :slight_smile:
je relance un peu le sujet ici
mais c’est le seule qui est popé en parlant de matrix
et jviens de voir une video super impressionnante de Matrix et CoAP proxy
ils ont reussi à reduire le bandwidth de ouf
ce qui pourrai etre une chouette idée d’utilisé le protocol matrix
pour les performances et la securité accrue

je vous laisse voir la video
https://matrix.org/blog/2019/03/12/breaking-the-100-bps-barrier-with-matrix-meshsim-coap-proxy

https://youtu.be/1TPICntbC5w?t=1898 la dernière question est pertinente je trouve :wink:

swaps our baseline HTTPS+JSON transport for a custom one built on CoAP+CBOR+Noise+Flate+UDP.

Pour la partie “CBOR+Noise+Flate” j’ai déjà développé il y a un an une couche de transport sécurisée qui fait l’équivalent : GitHub - librelois/pkstl: Public Key Secure Transport Layer

J’avais justement choisi CBOR et flate, ainsi que ChaChaPoly pour l’encryption. Les choix de matrix me conforte donc sur mes choix techniques :blush:

Par contre pour la partie réseau je pensais plus à du rsocket,mais j’avoue ne pas connaître CoAP, je vais étudier ce dernier surtout qu’il y a une implémentation en Rust :slight_smile:

À voir donc, mais peut-être bien que du «CoAP + PKSTL + UDP» pourrait être envisageable pour une future version de DUNP. De toute façon on a encore le temps pour y réfléchir, car je ne me pencherai pas sur cette partie avant 9 à 12 mois, j’ai d’autres gros dossiers plus prioritaires (Base de donnée, indexation et GVA notamment).

3 Likes

Nice :slight_smile: , çà envisage du bon tout çà ! en RUST en plus … hmmm :slight_smile: