DIP2 : New binary Duniter protocol

Oui derrière tout est indexé dans une base SQLite

En fait c’est le cas, j’ai protected la branche mais comme tu est Master du dépôt tu n’a pas de limitations !

J’en profite pour rajouter l’idée de la blockchain limitée dans le temps (ou blockchain glissante) voir à ce sujet : http://www.creationmonetaire.info/2016/05/linfini-dans-une-taille-finie.html

L’idée est la suivante : tous les ans, un block zéro nouveau est généré, (block zéro glissant) qui reprend la blockchain de -10 ans à -5 ans, pour générér une BDD(- 5 ans) reprenant toutes les informations utiles.

Ce block devient la nouvelle référence initiale des blocks suivants.

Il n’y a ainsi plus aucune nécessité de stocker la blockchain antérieure à -5 ans, et notre masse de données sera ainsi parfaitement finie, pour toujours (étant donné que même la masse de nombres est glissante, déjà inscrite comme telle dans le protocole actuel).

A noter que si on prend 5 ans pour générer un tel block, rien ne presse pour implémenter une telle feature, on a encore 4 ans pour le faire, mais y réfléchir permettra peut-être de le réaliser plus facilement que sous la pression d’un problème de masse critique plus tard.

5 Likes

Je pensais à la création d’un tel block “snapshot” tout les 2 ans (ou plus), avec la conservation d’au maximum 2 blocks snapshot. Ces blocks n’a alors même pas besoin de stocker les certifications/“membership” pour lesquelles il faudrait stocker les durées restantes. Il n’aura donc a stocker que les transactions avec des outputs non dépensés.

3 Likes

Oui, 2 blocs snapshot sont nécessaires :

Au bloc 0 + N, Snapshot1. Un nouveau calculateur peut reparcourir toute la chaine pour vérifier la validité de ce snapshot.

A Snapshot1+N, Snapshot2. On commence à oublier les blocs qui précèdent Snapshot1, et pour un nouveau calculateur, c’est une hypothèse de sécurité raisonnable que de penser que si N blocs ont été validés après Snapshot1, c’est que ce Snapshot1 était valide.

2 Likes

Il me semblait qu’il était approuvé/proposé qu’une option dans Duniter pouvait être choisi pour garder les informations de la blockchain depuis le début? A ce jour nous ne pouvons pas présumer des applications/utilisations qui nécessiteraient de ne pas garder les information antérieur à -5ans.

1 Like

Tu peux d’ores et déjà stocker tous les blocs, et rien ne pourra jamais empêcher se stocker tous les blocs, ça n’a rien à voir avec le sujet relevé ici.

1 Like

Désolé pour le hors-sujet

L’idée est de pouvoir élaguer des très vieux blocs pour ne pas finir avec une blockchain de plusieurs centaines de Go. Tu pourras tout à fait garder les anciens blocs si tu en as besoin, mais il sera possible de les supprimer, vu qu’on aura des “résumés” réguliers.

A priori ma remarque est hors sujet…
Dans les “résumés” réguliers y aura-t-il les transactions, etc? Mais c’est sans doute hors sujet.

Un résumé des transactions dont les outputs ne sont pas tous dépensés, ainsi que les identités. Je pense que je vais le rajouter dans ce DUIP.

C’est pas grave si ta remarque est hors sujet si tu as maintenant compris :slight_smile: