Я построил простой блокчейн. Я хочу построить контроль версий массива чисел. Я хочу записывать добавления новых номеров, удаления и обмена номерами. Каким может быть эффективный способ хранения этих изменений? Я рассмотрел создание дерева меркле всех элементов массива и сохранение корня меркла, чтобы проверить, совпадает ли версия или нет, но сохраняя одни и те же данные в несколько блоков являются избыточными и неэффективными. Пожалуйста, направьте меня!
STATE 1: [3,4,5,6]
STATE 2: [3,4,5,6,4]
STATE 3: [4,3,5,6,4]
Block1 HeaderHash: h(h(34)+h(56))
Block2 HeaderHash: h(h(34)+h(56)+h(44))
Block3 HeaderHash: h(h(43)+h(56)+h(44))
P.S. Я изучаю концепции блокчейна и строю это с нуля. Пожалуйста, не судите проект сам по себе.