Closed agievich closed 4 years ago
"По поводу хранение деревьев подписывающей стороной. Можно ли хранить только часть дерева?"
Если, учитывая корень Меркля R
, мы хотим доказать, что блок данных 𝐷1
(в нашем случае подпись) принадлежит множеству D
∈ {𝐷1
, ... ,𝐷𝑁
} представленный корнем 𝑅
, мы можем выполнить доказательство Меркла следующим образом:
𝑅
из надежного источника(в нашем случае блокчейн).A
из блокчейна. В этом случае A
- это набор хэшей.
A
= {𝑁(2,2), 𝑁(3,4), 𝑁(5,8)}D1
и путь A
, следующим способом:
3.1. Хэшируем блок данных для получения: 𝑁(1,1) = 𝐻(𝐷1).
3.2. Конкатенируем с 𝑁(2,2) и хэшируем снова: 𝑁(1,2) = 𝐻(𝑁(1,1) ∥ 𝑁(2,2)).
3.3. Конкатенируем с 𝑁(3,4) и хэшируем снова: 𝑁(1,4) = 𝐻(𝑁(1,2) ∥ 𝑁(3,4)).
3.4. Конкатенируем с 𝑁(5,8) и хэшируем для получения корня:
𝑁(1,8) = 𝐻(𝑁(1,4) ∥ 𝑁(5,8));
𝑅′ = 𝑁(1,8);
3.5. Сравниваем полученный корень и корень из условия:
Если, они равны, существование 𝐷1
в дереве и, следовательно, набор данных D
подтверждается.
В ином случае, доказательство не удалось, и 𝐷1
не подтвержден, чтобы быть в составе D
.
Продолжить реализацию Sphincs и реализовать Sphincs+, Gravity-Sphincs.
Провести в ДР сравнительный анализ реализаций.
Продумать вопросы хранения деревьев подписывающей стороной. Можно ли хранить только часть дерева?