[[alloc] init] выпускает предложение Shielded Bitcoin для приватных транзакций биткоина
Bitcoin Magazine [[alloc] init] выпускает предложение Shielded Bitcoin для приватных транзакций биткоина. Shielded Bitcoin — предложение от [[alloc] init]
![[[alloc] init] выпускает предложение Shielded Bitcoin для приватных транзакций биткоина - BTC](https://d2rhr659moudr1.cloudfront.net/cms/public/uploads/news-alloc-init-releases-shielded-bitcoin-proposal-for-private-bitcoin-transactions-cover-841360-130.jpg)
Детали
Shielded Bitcoin — предложение от [[alloc] init], которое позволит проводить биткоин-транзакции с высокой степенью конфиденциальности.
Shielded Bitcoin — это предложение, выдвинутое исследователями [[alloc] init] Кларой Шихельман, Мишей Комаровым и Алексеем Москвиным, о новом метапротоколе конфиденциальности на базовом уровне биткоина, который позволит проводить экранированные биткоин-транзакции без необходимости в операторах, софт-форках или иных изменениях консенсуса биткоина. С техническим документом можно ознакомиться здесь, а с анонсом в блоге — здесь.
Протокол определяет транзакционную структуру и протокол индексирования для транзакций с надёжной защитой конфиденциальности, полагаясь при этом на Bitcoin PIPEs для привязки средств к системе и вывода из неё. Подробнее о механизме PIPEs — в конце статьи.
Его конструкция во многом повторяет устройство биткоина: здесь есть эквивалент UTXO (нота), транзакции потребляют ноты в качестве входов, как обычная биткоин-транзакция, свидетельство доказывает, что потребляемые входы должным образом авторизованы, узлы (в случае метапротокола — индексаторы) разбирают историю транзакций и формируют текущее состояние того, какие монеты потрачены, а какие нет, и так далее.
Однако все детали при этом совершенно иные.
Транзакция Shielded Bitcoin — это просто блок данных с префиксом (например, «shbtc:»), включённый в биткоин-транзакцию с помощью OP_RETURN, поля свидетеля или какого-либо иного способа переноса данных. Для биткоина она не имеет никакого значения: сеть биткоина никак её не проверяет и не применяет к ней никаких правил. Вполне возможно, что недействительные транзакции Shielded Bitcoin окажутся в блокчейне, и задача индексатора Shielded Bitcoin, который пассивно наблюдает за блокчейном (читай: узла), — игнорировать такие транзакции, если они не проходят проверку, и не применять их при обновлении состояния балансов сети.
Индексатор не удаляет ноты из набора непотраченных нот так, как биткоин поступает с UTXO. Вместо этого используется набор нуллификаторов. Это способ для пользователя публично разместить зашифрованное доказательство и нуллификатор того, что нота была потрачена, не раскрывая, какая именно нота потрачена. Идея в том, что вместо проверки наличия ноты в «наборе непотраченных нот» вы проверяете, не был ли уже использован нуллификатор. Индексаторы строят дерево Меркла, которое растёт бесконечно и может только пополняться, из каждого созданного выхода-ноты, а затем — набор нуллификаторов.
Для использования этого протокола нужны лишь узел биткоина и индексатор Shielded Bitcoin. Не требуется ни поставщик услуг, ни координатор, ни какое-либо внецепочечное состояние для восстановления средств. Всё работает так же, как и в ончейн-биткоине: нужны только ваш узел/индексатор и ваши ключи.
Каждый пользовательский кошелёк выводит главный секретный ключ, из которого создаются все остальные наборы задействованных ключей.
Воспринимайте это примерно так же, как HD-кошелёк в биткоине. С помощью этой взаимосвязи можно генерировать множество наборов адресов. Skspend — это ваш приватный ключ, sknf используется для обнуления выходов-нот, vkin — для расшифровки и просмотра входящих нот, vkout — для просмотра ваших исходящих транзакций, а sk_view — для генерации адреса получения.
Когда пользователь хочет дать кому-то адрес для отправки ему средств, он генерирует значение диверсификатора d, похожее на значение деривации, а затем умножает это значение на свой ключ skview. Получившийся открытый ключ pkd и d и есть адрес пользователя.
Затем отправитель генерирует случайное значение rseed, необходимое для шифрования выхода-ноты, а также для обнуления (к этому мы вернёмся через секунду). Выходы транзакции содержат только три зашифрованных элемента: сумму выхода, значение d, которое получатель передал отправителю, и значение rseed отправителя. Отправитель использует секретную эфемерную пару ключей и открытый ключ получателя для создания общего секрета. Обе стороны могут получить один и тот же секрет, умножив свой приватный ключ на открытый ключ другой стороны. Выход-нота шифруется с помощью этого общего секрета, а эфемерный sk_eph включается в незашифрованном виде, чтобы получатель мог сгенерировать общий секрет.
Что касается входов, для действительной транзакции необходимы две вещи: открытый нуллификатор для потребляемых выходов-нот и доказательство с нулевым разглашением, подтверждающее, что 1) выход-нота включён в дерево Меркла нот, 2) транзакция авторизована соответствующим ключом sk_spend, 3) нуллификатор выведен корректно и 4) инфляция не произошла.
Если вы заметили на изображении выше, нуллификатор использует ключ sknf, значение ρ, полученное из rseed, и позицию заметки в дереве Меркла выходов заметок. Доказательство с нулевым разглашением гарантирует всё это, поэтому вы можете просто подсчитывать нуллификаторы на предмет повторов вместо удаления потраченных заметок. Даже если вы никогда не узнаете, какому выходу заметки соответствует нуллификатор, доказательства с нулевым разглашением в каждой транзакции гарантируют, что каждый добавленный в набор нуллификатор произошёл от действительного выхода заметки. Пока повторов нет, это обеспечивает ту же гарантию защиты от двойной траты.
Итак, протокол позволяет вам, по сути, встраивать зашифрованные транзакции метапротокола в блокчейн Биткоина, но при этом гарантировать, что ничего не тратится дважды и что монеты не создаются из воздуха.
На самом деле это очень хорошо продуманная система с точки зрения свойств приватности, и она находится на одном уровне с чем-то вроде защищённых пулов Zcash. Существуют соображения приватности, которые нужно учитывать при входе в метапротокол и выходе из него, и они будут подробно описаны в готовящейся к выпуску статье. Нет никаких проблем с измерением приватности или периодическим ремикшированием, как в случае с coinjoin.
Итак, привязка. Намерение состоит в том, чтобы построить привязку с использованием PIPEs v2 — схемы шифрования со свидетелем. PIPEs позволяют зашифровать приватный ключ с помощью программы/механизма, который не раскроет ключ, пока вы не предоставите ZK-доказательство того, что определённое условие было выполнено (например, состояние какого-либо UTXO, подтверждение транзакции и т. д.). Это позволило бы привязке функционировать без оператора, федерации или какого-либо третьего лица, хранящего средства.
Для этого не требуются софтфорки или изменения протокола Биткоина, и всё происходит полностью вне цепочки.
План Shielded Bitcoin, и следующая часть их работы, — это механизм привязки, позволяющий пользователям вносить средства в Shielded Bitcoin с использованием криптографически контролируемых ключей PIPEs, которые затем будут «разблокированы» путём генерации ZK-доказательства легитимных транзакций вывода из привязки, подтверждённых в цепочке.
В настоящее время продолжается работа над статьёй, определяющей этот аспект системы, и она должна быть выпущена в ближайшем будущем.
Квантовая проблема: ты никогда по-настоящему не знаешь будущее
Бывший комиссар CFTC Джанкарло: почему повышение ставок может пойти на пользу биткоину
Джеймс Сейффарт из Bloomberg: почему триллионы долларов из капитала консультантов могут перетечь в биткоин
Брент Джонсон: BTC — лучший актив «чистой игры» на фоне роста глобальной ликвидности
Цена биткоина снижается, пока доходность казначейских облигаций США растёт, а цены на нефть поднимаются
Смотрите в прямом эфире, навёрстывайте пропущенные эпизоды и получайте эксклюзивный контент на ходу.
Bitcoin Magazine издаётся BTC Inc., дочерней компанией Nakamoto Inc. (NASDAQ: NAKA).
Связанные монеты
BTC
Источник
Bitcoin Magazine RSS
Источник: Bitcoin Magazine RSS


