Доказательство резервов WOO X с деревом Меркла: найдите свой баланс среди активов криптобиржи

Доказательство резервов WOO X с деревом Меркла: найдите свой баланс среди активов криптобиржи

WOO Network продолжает завоёвывать доверие пользователей криптовалютной биржи WOO X. Теперь компания представила собственное доказательство резервов и обязательств с применением дерева Меркла. Новая система станет дополнением к платформе прозрачности, благодаря чему криптовалютные биржи в целом станут более надёжными, чем представители сферы традиционных финансов.

Доказательства с использованием дерева Меркла или так называемого хеш-дерева — это криптографическое решение, которое позволяет пользователю подтвердить наличие собственного баланса в общих сбережениях WOO X без раскрытия конфиденциальной информации о других учётных записях. Однако на возможности получения данных на сайте WOO X дело не закончилось. Представители WOO Network также открыли исходный код и методологию расчёта с применением дерева Меркла для всех желающих.

Как подтвердить аккаунт на WOO X с помощью дерева Меркла

Использовать дерево Меркла на криптобирже WOO X очень просто. Для этого достаточно выбрать время снепшота аудита и вставить уникальный хеш Меркла. Чтобы получить его, необходимо авторизоваться на WOO X и нажать кнопку “Get your Merkle hash URL” (Получить URL хеша Меркла) на платформе прозрачности.

При этом уникальный хеш Меркла находится на странице “Аудит” в профиле пользователя WOO X.

Убедитесь, что время снепшота аудита совпадает с соответствующим хешем Меркла. Затем нажмите “Verify” (Подтвердить).

В случае успешной проверки страница отобразит список активов и список хешей Меркла, к которым относятся ваши криптоактивы. Это значит, что последние включены в соответствующее дерево Меркла в указанное время снепшота.

Пользователи также могут загрузить полное дерево Меркла для проверки его данных. Для дополнительной прозрачности соответствующий исходный код является открытым и доступным на GitHub. Для проверки происходящего достаточно нажать кнопку “Download Merkle Tree” (Скачать дерево Меркла).

В случае неудачного подтверждения отобразится соответствующее сообщение. Обратите внимание, что учётные записи с нулевым балансом или без прохождения процедуры подтверждения личности KYC не учитываются в дереве Меркла. То же самое касается отрицательных активов.

Как работает дерево Меркла на WOO X

Пример кода на GitHub показывает проверку дерева Меркла, причём сам он написан на языке Java и состоит из одного файла.

MerkleCheck.java.

Точка входа здесь — функция main() в MerkleCheck.java. Всего нужно предоставить и заменить лишь две переменные:

  • Путь к бинарному файлу дерева Меркла — его нужно скачать на WOO X.
  • Хеш пользователя для вашего счёта в определённом аудите. Получить его удастся после авторизации на WOO X.

Две названные переменные позволят коду запустить процесс проверки дерева Меркла и получить баланс вашей учётной записи для аудита. При желании можно проверить подход к проверке посредством изучения кода — в этом нет никакой проблемы.

Двоичный формат дерева Меркла

Структура дерева

Узлы в виде листов представляют собой балансы пользователей, разделённые на N частей, причём данный показатель определяется для каждого аудита случайным образом. В то же время дерево Меркла является двоичным деревом. С учётом этого каждый лист дерева отображает часть баланса каждого пользователя на момент создания контрольного снепшота, ну а корневой узел представляет все балансы пользователей в тот же момент.

В дереве Меркла не учитываются аккаунты без балансов или же те учётные записи, владельцы которых не прошли процедуру подтверждения личности KYC. Также система не учитывает отрицательные активы, что исключает возможность добавления в дерево неверных отрицательных балансов ради занижения общей суммы балансов пользователей. Ещё в дереве каждый субаккаунт отделён от основного аккаунта.

Чтобы все листовые или конечные узлы находились на том же уровне, у некоторых родительских листов будет лишь один дочерний лист. Вдобавок представители WOO Network гарантируют, что у каждого узла второго уровня есть как минимум одна дочка. Поэтому в итоге для каждого узла второго уровня будет назначен как минимум один листовой узел, а оставшиеся листы будут распределены слева-направо.

Формат дерева Меркла

Для дерева Меркла используется формат сериализации ProtoBuffer. Файлы Proto следующие:

Двоичный файл дерева начинается со списка названий токенов по типу BTC, ETH и так далее, ну а индекс токена используется для его репрезентации в соответствующем представлении [1].

Второй файл является списком сообщений узла Меркла и представляет собой один узел в дереве Меркла. Формат здесь следующий:

Атрибуты left/right — это хеши левой/правой дочки нынешнего узла. После загрузки дерева можно построить структуру двоичного дерева с использованием левого, правого и родительского атрибутов.

Атрибут hash представляет собой хеш узла. Хеш промежуточного неконечного узла MerkleNode генерируется следующим образом:

При этом хеш конечного узла MerkleNode создаётся так:

Для частей leaf_balance_vector и leaf_position_index используются Proto-сообщение MerkleBalanceVector в качестве входного массива байтов. Формат показан ниже:

Атрибут index — это список токенов, причём отображение токенов доступно в [1]. Ну а атрибут balance показывает количество каждого токена.

Расчёт хеша листового узла выглядит так:

Наконец, userHash использует сообщение ProtoBuffer по такому примеру:

Алгоритм валидации

Алгоритм валидации стремится отыскать все листовые узлы с соответствием UserHash, рассчитывая хеш листовых узлов на основе входных данных UserHash и сравнивая его с хешем конечных узлов. Для обеспечения уникальности совпадения используется leafIndex, то есть уникальный идентификатор листа в дереве.

После нахождения всех подходящих конечных узлов алгоритм суммирует их балансы, которые в свою очередь должны быть равны общему балансу учётных записей во время снепшота. Он также указан на странице аудите на криптобирже WOO X после авторизации в каждый аккаунт и субаккаунт.с


Будьте в курсе всего, что происходит с WOO Network!

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

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

We use cookies to improve your experience. To find out more, please read our Privacy Policy. By clicking "Accept", you consent to our cookie and Privacy Policy. Or you may click "Decline" to refuse to consent.