Создание контроля версий для простого массива с использованием блокчейна

Я построил простой блокчейн. Я хочу построить контроль версий массива чисел. Я хочу записывать добавления новых номеров, удаления и обмена номерами. Какой может быть экономичный способ хранения этих изменений? Я рассмотрел создание дерева меркле всех элементов массива и сохранение корня меркла для проверки соответствия версии или нет, но хранение одних и тех же данных в нескольких блоках является избыточным и неэффективным. Пожалуйста, направьте меня!

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))

PS Я изучаю концепции блокчейна и строю это с нуля. Пожалуйста, не судите проект сам по себе.

1 ответ

Для отслеживания изменений вы можете просто сохранить отдельные изменения для каждого элемента в массиве. В вашем примере это будет выглядеть так:

STATE 1: [1:3,2:4,3:5,4:6]
STATE 2: [5:4]
STATE 3: [1:1,2:-1]

Это не будет занимать мало места, если с каждым обновлением состояния будет много изменений. Но если больше чем половина массива останется той же самой, вы выиграете.

Дерево Меркле используется для проверки отдельных блоков данных (транзакций), полученных из неизвестных или малоизвестных источников. Это используется в кошельках блокчейна или торрент-клиентах. Он не используется для хранения массивов.

Другие вопросы по тегам