Есть 2 концепции, которые помогут вам достичь ваших целей.
Одна вещь уже упоминалась. Это о личных данных. Личные данные дают вам возможность «помечать» данные временем жизни. Тогда в цепочке хранятся только хэши личных данных (чтобы можно было проверить эту транзакцию), но сами данные хранятся в так называемых SideDB и полностью удаляются (конечно, за исключением хэшей в цепочке). Это своего рода основа для использования Fabric без обходных путей и достижения GDPR.
Другая вещь, которая еще не упоминалась и вроде бы очень помогает в этом вопросе
Есть ли способ сделать резервную копию и очистить блокчейн или удалить элементы старше определенного периода времени?
Каждый узел хранит только «текущее состояние» регистра в своей StateDB. Текущее состояние может быть описано как данные, которые помечены как «активные» и, вероятно, вскоре будут использованы снова Вы можете думать о StateDB как о кеше. Все данные поступают в этот кэш, создавая или обновляя новый ключ (вызывая). Чтобы удалить ключ из кэша, вы можете использовать DelState. Поэтому он помечен как «удаленный» и больше не находится в кеше НО это все еще на главной книге! и вы можете извлечь историю и данные для этого ключа.
Вывод: для «реального» удаления данных вы должны использовать концепцию Private Data, а для управления данными в вашей StateDB (подумайте о аналогии с «Cache») вы можете просто использовать встроенные функции.