Рейтинг:0

Проверка правильности корня Меркла без полной реконструкции дерева

флаг cn

Допустим, у Алисы есть список значений, и Боб отправляет Алисе корень Меркла, который, как он утверждает, предназначен для этого списка значений. Алгоритм построения дерева Меркла, конечно, всем известен.

Затем Алиса может выбрать произвольные значения из списка и запросить у Боба их доказательство Меркла.

Допустим, Алиса хочет избежать построения всего дерева для проверки корня Меркла Боба. Насколько она может быть уверена, что корень Меркла Боба верен после того, как Боб предоставил N доказательств Меркла? Другими словами, какова вероятность того, что Боб солгал о корне Меркла после N запросов?

РЕДАКТИРОВАТЬ:

У меня есть ответ, но я не думаю, что он правильный.Допустим, у нас есть дерево с M узлами (считая все слои), и каждое доказательство в этом дереве содержит N хэшей в качестве точек данных в доказательстве. Если Алиса запрашивает K различных доказательств, то она может быть уверена, что корень правильный с достоверностью (N*K)/M.

Кажется наивным, и это будет только нижняя граница, поскольку это еще не все. Дерево состоит из хэшей, устойчивых к прообразам, так что это не просто вопрос подсчета известных точек данных по сравнению с общим количеством точек данных... или нет?

РЕДАКТИРОВАТЬ № 2:

Другая формулировка:

Учитывая известный вектор произвольных значений V и корень Меркла R, построенный путем построения дерева Меркла для V, если у меня есть N доказательств Меркла, насколько я могу быть уверен, что R был построен честно и правильно из V?

Очевидно, я мог бы перестроить дерево, так как у меня есть (или я могу вычислить) все V, но, допустим, я не хочу, потому что это занимает много времени и т. д.

poncho avatar
флаг my
Это домашнее задание?
флаг cn
Нет, просто вопрос, возникший в ходе обсуждения с моим другом доказательства существования космических систем.
kelalaka avatar
флаг in
Этот ответ является [каноническим ответом Merkle-Tree] (https://crypto.stackexchange.com/q/71310/18298)
kelalaka avatar
флаг in
Во втором прочтении в этом вопросе отсутствуют детали. Разрешено ли Бобу добавлять дополнительные значения? Что, если Боб удалит одно значение, а вы никогда об этом не спрашивали? Используйте контраргумент, чтобы получить результат! Интересно, что вы и ваш друг думали?
флаг cn
Нет, Боб не может добавлять значения, потому что это изменило бы корень Меркла. Допустим, я знаю или *могу вычислить* все значения в списке. Как я могу сказать, что Боб поступил так же и честно построил свое дерево? Если я попрошу у него доказательства, насколько я буду уверен после N доказательств? Нам это показалось интересным, потому что это может быть формой доказательства пространства-времени, если список дорого построить.
kelalaka avatar
флаг in
Но Боб вычисляет корень, а не Алиса, поэтому во время настройки Merkle-Tree Боб может добавлять/удалять/изменять значения.
флаг cn
Да. Алиса хочет, чтобы Боб доказал, что все значения были включены, без необходимости вычислять все значения или строить все дерево, поэтому она выбирает значения наугад и запрашивает доказательства. Любое доказательство, содержащее узел, конфликтующий с тем же значением в другом доказательстве, доказывает, что Боб нечестен. Сколько запросов нужно, чтобы достичь, скажем, 99% уверенности в том, что Боб не жульничал?
флаг cn
Еще один момент, который, возможно, был неясен: когда Боб отправляет корень Алисе, он фиксирует его. Он не может изменить корень, поэтому он не может добавлять или удалять значения. Что он мог сделать, так это обмануть, создав неполное дерево или используя несколько неверных значений.
Рейтинг:1
флаг my

Другими словами, какова вероятность того, что Боб солгал о корне Меркла после N запросов?

Что ж, вот один из способов, которым Боб мог сжульничать; он мог взять список $ млн $ ценности $$V_1, V_2, ..., V_M$$ и вместо того, чтобы формировать на его основе дерево Меркла, выберите значение $с$ индекс и значение $V'_c \ne V_c$, а вместо этого сформируйте список $$V_1, V_2, ..., V_{c-1}, V'_c, V_{c+1}, ..., V_M$$ и сформировать дерево Меркла на основе этого списка (и дать Алисе вычисленный корень, который с достаточно высокой вероятностью отличается от корня из исходного списка).

Затем, когда Алиса дает ему $К$ индексы, на основе которых $К$ доказательства, он формирует их на основе модифицированного списка и вычисленного дерева. Он будет обнаружен как мошенник только в том случае, если один из индексов, которые она запросила, окажется индексом $с$; если ни один из индексов, которые она просила, не был для индекса $с$, то все доказательства, которые она получит, действительны и согласуются друг с другом (поскольку они соответствуют самосогласованному дереву Меркла, где раскрытые листья являются ожидаемыми значениями)

Вероятность того, что Боба поймают на мошенничестве, то есть вероятность того, что один из индексов, выбранных Алисой, равен $с$, является $К/М$. Следовательно, вероятность обнаружения против любой стратегии не больше (она может быть меньше, если есть еще лучшая стратегия, которую мог бы использовать Боб).

Итак, чтобы обнаружить обман Боба с вероятностью 0,99, мы имеем $ К > 0,99 млн $; в этот момент для Алисы фактически будет меньше вычислений, если она просто перевычислит дерево сама.

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

Теперь немного интереснее взглянуть на проблему как на доказательство работы (доказательство пространства не работает, так как дерево и пути аутентификации могут быть вычислены без значительного увеличения объема требуемых вычислений); Очевидно, что стратегия обмана, которую я описал выше, не решает эту проблему, поскольку Боб выполняет весь объем работы. Если бы у меня было больше времени, я бы попытался исследовать это подробнее...

Ответить или комментировать

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