Биткоин-биржи испытывают растущее давление со стороны пользователей и регулирующих органов, требующих доказательств правильного обращения со средствами пользователей. После огромного количества хакерских атак, имевших место в течение последних лет (многие из которых долгое время оставались незамеченными), доказательство резервов в сети Биткоин стало важной задачей для компаний, стремящихся сохранить доверие клиентов.
К сожалению, те немногие биржи, которые предпринимают шаги, чтобы подтвердить Биткоин-балансы третьим лицам, используют собственные внутренние решения для генерации доказательств. Разнообразие подходов создает трудности для желающих самостоятельно проверить биржевые авуары, поскольку необходимо разобраться в каждой отдельной системе, что обычно требует специальных технических знаний.
В Blockstream мы работаем над решением, которое станет наилучшим стандартным отраслевым подходом к доказательству резервов и обеспечит широкую совместимость со способами хранения средств клиентов большинством Биткоин-бирж. BIP уже отправлен в рассылку bitcoin-dev, и сегодня мы работаем над созданием инструмента с открытым исходным кодом на предмет получения обратной связи от сообщества.
Как это начиналось
Изначально мы собирались создать решение для валидаторов Liquid, позволяющее им доказывать наличие резервов Liquid-биткоин (L-BTC) сторонним аудиторам. Но когда мы начали исследовать проект, нам стало быстро понятно, что существующие подходы бирж к обычным резервам Биткоин есть куда улучшать, а наше программное обеспечение может иметь более широкое применение за пределами сети Liquid.
Традиционный подход
Отсутствие стандартизированной методологии доказательства резервов Биткоин создает две основные проблемы:
- Плохая доступность: как уже упоминалось выше, из-за того, что каждая биржа использует подход «сделай сам», доказательство наличие резервов становится технически сложной задачей. Пользователи должны выяснить, как проверять авуары каждой биржи, с которой они взаимодействуют. Это приводит к необходимости больше доверять и меньше проверять.
- Риски безопасности: для подтверждения резервов требуется, чтобы персонал биржи демонстрировал владение закрытыми ключами, связанными с кошельками биржи. Часто это подразумевает перемещение всех средств по новому набору адресов – и, как побочный эффект, появление новых векторов атаки на хранилище.
Как работает доказательство резервов
Инструмент Proof of Reserves компании Blockstream использует надежные и проверенные методы, уже применяемые в отрасли, вместо того, чтобы пытаться создать новое решение с нуля. Проще говоря, он позволяет бирже доказать, сколько биткоинов она могла бы потратить без необходимости создавать «живые» транзакции или подвергать себя рискам, связанным с перемещением средств.
При применении Proof of Reserves биржа сначала создает одну транзакцию, которая тратит все непотраченные выходы (UTXO) биржи, и добавляет дополнительный невалидный вход. При включении одного невалидного входа вся транзакция становится недействительной и отклоняется сетью при широковещательной передаче. Однако транзакция построена таким образом, что она тем не менее может использоваться в качестве явного доказательства всех Биткоин-UTXO, которые биржа может потратить.
Эти данные транзакции могут быть переданы любому, кто нуждается в проверке резервов. Этой стороне надо просто импортировать данные в свое клиентское ПО для Proof of Reserves, чтобы подтвердить общие авуары биржи и адреса, связанные с этими авуарами. Решение простое в использовании и доступно любому, кто знает, как пользоваться интерфейсом командной строки.
Новейшие технологии в действии
Инструмент Proof of Reserves написан на Rust и в настоящее время поддерживает как кошелек Bitcoin Core, так и Trezor, а в будущем и множество других (поддержка для Ledger выйдет уже очень скоро!). Нам также очень приятно видеть, что использование инструмента доказательства резервирования стало возможным благодаря либеральному применению частично подписанных биткоин-транзакций (PSBT), технологии, также разработанной исследовательской группой Blockstream.
Планы на будущее
В настоящее время доказательства, построенные с использованием этого инструмента, требуют от бирж раскрытия всего списка UTXO, что, в свою очередь, если происходит открытая публикация, может привести к раскрытию слишком большого объема информации о финансовых операциях каждой биржи. Однако с помощью Liquid сумма значений может быть доказана и обнародована без раскрытия значения отдельных UTXO благодаря поддержке конфиденциальных транзакций (Confidential Transactions) в Liquid.
На данный момент предполагается, что наш инструмент Proof of Reserves будет использоваться биржами для подтверждения резервов, и эти подтверждения будут предоставляться аудиторам для проведения их проверок; кроме того, у нас уже есть несколько рабочих идей1 по улучшению конфиденциальности инструмента, чтобы в будущем его могли использовать и клиенты бирж.
Присоединяйтесь
Proof of Reserves станет частью стандартного функционала Liquid для проверки авуаров L-BTC. Мы также будем предоставлять техническую поддержку всем участникам Liquid Network для развертывания этого инструмента в своих обычных операциях с биткоинами. Пишите нам, чтобы узнать как стать членом Liquid.
Источники
- Проект на Github: https://github.com/ElementsProject/reserves
- Ссылка на BIP: https://github.com/bitcoin/bips/pull/756
- Первоначальное предложение на bitcoindev: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-January/016633.html
- Making Bitcoin Exchanges Transparent - Christian Decker, James Guthrie, Jochen Seidel and Roger Wattenhofer. 20th European Symposium on Research in Computer Security (ESORICS), Vienna, Austria, September 2015. ↩