2
votes

Les anciennes données de bloc peuvent-elles être supprimées d'une blockchain?

Juste une question générale, si je construis une blockchain pour une entreprise, je veux stocker 3 ans de transactions mais rien de plus ancien que celui dont je n'aurai pas besoin et que je ne veux pas activement dans la base de données de travail. Existe-t-il un moyen de sauvegarder et de purger une blockchain ou de supprimer des éléments plus anciens que certains délais? Je suis plus intéressé par la logique des événements que par l'aspect de la mémoire éternelle.


0 commentaires

3 Réponses :


2
votes

Je ne connais pas encore de technologie blockchain capable de cela, mais Hyperledger Fabric en particulier prévoit de prendre en charge l'archivage des données (point de contrôle). En termes simples, les participants doivent se mettre d'accord sur une hauteur de bloc, afin que les anciens blocs puissent être jetés. Ce nouveau bloc devient alors la source de confiance, similaire au bloc de genèse original. En outre, un instantané doit être pris et approuvé, ce qui capture l'état actuel.

Du point de vue de la facilité de service, c'est un peu plus compliqué, c'est-à-dire que vous pouvez avoir des nœuds qui sont en panne lors de la capture instantanée, etc.


0 commentaires

1
votes

Si vous souhaitez simplement purger les données après un certain temps, Fabric Private Data a une option qui pourrait satisfaire votre désir.

blockToLive Représente la durée pendant laquelle les données doivent vivre sur la base de données privée dans termes de blocs. Les données vivront pendant ce nombre spécifié de blocs sur la base de données privée et après cela, il sera purgé, rendant ces données obsolètes du réseau afin qu'elles ne puissent pas être interrogé à partir du code de chaîne, et ne peut pas être mis à disposition pour demander pairs

Vous pouvez en savoir plus ici .

Personnellement, je ne pense pas qu'il existe un moyen de supprimer un bloc de la chaîne. Cela pourrait détruire la propriété Immuable de la blockchain.


0 commentaires

1
votes

Il existe 2 concepts qui vous aident à atteindre vos objectifs.

Une chose est déjà mentionnée. Il s'agit de données privées. Les données privées vous donnent la possibilité de «marquer» les données avec une durée de vie. Ensuite, seuls les hachages de données privées sont stockés sur la chaîne (pour pouvoir vérifier cette transaction) mais les données elles-mêmes sont stockées dans ce qu'on appelle les SideDB et sont entièrement élaguées (sauf les hachages sur la chaîne bien sûr). C'est en quelque sorte la base pour utiliser Fabric sans solutions de contournement et atteindre le RGPD.

L'autre chose, qui n'a pas encore été mentionnée et qui est en quelque sorte très utile à cette question

Existe-t-il un moyen de sauvegarder et de purger une blockchain ou de supprimer des éléments plus anciens que certains délais?

Chaque pair ne stocke que «l'état actuel» du grand livre dans sa StateDB. L'état actuel pourrait être décrit comme les données qui sont étiquetées «actives» et qui seront probablement bientôt réutilisées. Vous pouvez penser que StateDB est comme un cache. Chaque donnée entre dans ce cache en créant ou en mettant à jour une nouvelle clé (appelant). Pour supprimer une clé du cache, vous pouvez utiliser «DelState». Il est donc étiqueté «supprimé» et n'est plus dans le cache. MAIS c'est toujours dans le grand livre! et vous pouvez récupérer l'historique et les données de cette clé.

Conclusion: Pour une suppression «réelle» de données, vous devez utiliser le concept de données privées et pour gérer les données dans votre StateDB (pensez à l'analogie du «cache»), vous pouvez simplement utiliser des fonctions intégrées.


0 commentaires