Logo
Поделиться этой статьей

Что на самом деле происходит внутри аудита Bitcoin

CoinDesk узнает, как провести аудит Bitcoin биржи, кто может это сделать и что можно доказать.

ONE в марте, ближе к вечеру, Стефан Томас вошел в гладкий, кирпично-балочный офис на верхнем этаже на Маркет-стрит в Сан-Франциско. Офис, типичный для пространств в бурно развивающемся технологическом коридоре города, заполнен сотрудниками Bitcoin -биржи Kraken.

К тому времени, как он вошел, полуденное MON садилось, и большинство сотрудников ушли. Там был только генеральный директор компании Джесси Пауэлл и еще ONE сотрудник.

Продолжение Читайте Ниже
Не пропустите другую историю.Подпишитесь на рассылку Crypto Daybook Americas сегодня. Просмотреть все рассылки

После обязательных приветствий и общей болтовни Томас сел за стол Пауэлла, запустил виртуальную машину Ubuntu на элегантном серебристом компьютере Mac и приступил к работе.

Он был здесь, чтобы доказать это.Кракен завладел биткойнамион утверждал, что имел.

После паники в феврале по поводу Мероприятия на Mt. Gox, когда японский сайт был взорвался Пауэлл хотел заверить своих пользователей, что его биржа T использует частичный резерв, забрав с собой 850 000 биткоинов и оставив пользователей в замешательстве.

Однако он T мог провести аудит собственной компании, поэтому Томас тихо печатал за своим временным столом.

Ценные навыки

Итак, кто такой Стефан Томас и почему именно его назвал Пауэлл?

Томас — главный технический директор в Ripple Labs, компании, которая создала собственный платежный протокол и гордится прозрачным публичным реестром транзакций.

Он был вовлечен в Bitcoin с самого начала, сняв ныне знаменитое видео «Что такое Bitcoin» , и стал пилотом Мы используем монеты– онлайн-руководство по Bitcoin. Он также был движущей силой BitcoinJS, реализация протокола Bitcoin на JavaScript.

Короче говоря, когда дело касается Технологии, лежащей в основе Bitcoin, Томас знает свое дело.

«Стефан местный, он был доступен в кратчайшие сроки, ему доверяет сообщество, и он ONE из немногих людей, достаточно компетентных для проведения аудита», — сказал Пауэлл, добавив:

«Нам нужен был человек, который мог бы критиковать процесс, предлагать улучшения (что он и делал, и мы это принимали) и ловить нас, если мы пытались его ONE ».

Что нужно было Кракену

В ходе аудита использовались два разных набора данных.

Первая — это остаток биткоинов, которые Kraken хранил на своих общедоступных Bitcoin адресах.

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

Kraken стремился доказать, что у него на хранении больше биткоинов, чем на счетах клиентов, для чего потребовалась проверка сумм по каждому из этих наборов адресов.

Итак, как Томас это сделал?

Деревья Меркле, листья и корни

Основой аудита Kraken послужило «дерево Меркла», представляющее собой систему повышения целостности сбора данных.

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

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

Существует дерево Меркла (и соответствующий корень) как для сторон аудита, связанных с обязательствами (балансы клиентов), так и для сторон аудита, связанных с активами (кошелек Kraken).

Доказательство активов

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

Для сбора и хеширования этих данных он использовал инструмент, написанный Михаэлем Грёнагером, главным операционным директором Kraken, под названиемКриптоши, который предназначен для манипулирования различными структурами кошельков.

Криптоши используетlibcoin, библиотека Криптовалюта , основанная на оригинальном клиенте Satoshi, который стал CORE эталонным продуктом Bitcoin . Томас описывает Cryptoshi как «швейцарский армейский нож для Криптовалюта».

Что касается активов, Томас мог предположить, что дерево Меркла для собственного кошелька Kraken включало все адреса, находящиеся под его контролем. Для биржи T имело бы смысла не включать их, если бы она хотела, чтобы он включил весь свой баланс в свой анализ.

Доказательство обязательств

Однако с обязательствами (биткоинами, хранящимися на клиентских адресах Kraken) все обстоит сложнее по двум причинам.

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

Самый простой способ доказать, что он этого T делал, — просто опубликовать все балансы и адреса в дереве вместе с корнем Меркла.

Таким образом, любой мог просто добавить содержимое этих адресов и проверить, что баланс соответствует балансу хэшированного дерева. Затем они могли хэшировать это же дерево и убедиться, что его корень Меркла соответствует ONE в рамках аудита.

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

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

«[Kraken] пытался проявить осторожность и не публиковать эту информацию», — объяснил Томас.

Вместо этого Томас проверил сумму балансов в частном порядке и показал, что активов было больше, чем обязательств. Затем Кракен последовал рекомендацииПервоначально предложено разработчик CORE Bitcoin Грегори Максвелл.

[после цитаты]

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

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

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

Означает ли это, что балансировка надежна? К сожалению, нет.

Слабые стороны процесса

«При любом аудите есть довольно большие дыры, которые T закрыть», — поясняет Томас.

«Если биржа берет Bitcoin в долг для аудита, это трудно понять. Или биржа может сама купить немного биткоинов за свои фиатные активы».

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

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

«Многие из этих вещей трудно проверить или доказать», — сказал Томас, добавив:

«Но что касается аудита, он дает вам некоторую уверенность в том, что биржа работает хорошо, и любые атаки против аудита имеют шанс быть обнаруженными».

По сути, такой аудит «лучше, чем ничего», пояснил Томас, который впоследствии провел еще один аудит по аналогичной схеме для платформы торговли Bitcoin Bitfinex.

Подобный аудит, возможно, не является безупречным, но это наилучшая попытка в быстро меняющейся среде, и такие биржи, как Kraken и Bitfinex, лидируют в деле успокоения клиентов, потрясенных делом Mt. Gox.

Однако насколько глубокими должны быть проверки и что еще можно сделать для обеспечения надлежащей работы бирж?

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

Аудитизображение через Shutterstock

Danny Bradbury

Дэнни Брэдбери — профессиональный писатель с 1989 года, а с 1994 года работает внештатным автором. Он пишет статьи о Технологии для таких изданий, как Guardian.

Picture of CoinDesk author Danny Bradbury