Что такое Bulletproofs?
Bulletproofs это короткие доказательства, которые позволяют показать, что сумма корректна, не раскрывая саму сумму. Представьте, что вы подтверждаете свой возраст у вышибалы с магическим штампом «21 или старше», при этом закрыв дату рождения. Эффективно, конфиденциально и полезно для скрытых балансов.
«Bulletproofs скрывают всё.» Это не совсем так. Они скрывают суммы, но не адреса или время, и при этом позволяют любому проверить корректность.
Как работают Bulletproofs
Представьте отправку криптовалюты со скрытой суммой, но при этом доказуемо корректной. Вот простой порядок действий.
- Шаг 1: Вы создаёте транзакцию, в которой суммы заперты в криптографических коммитментах, подобно запечатанным коробкам.
- Шаг 2: Вы генерируете Bulletproof, который утверждает «каждая запечатанная сумма находится в допустимом диапазоне и не отрицательна». Это доказательство с нулевым разглашением, поэтому вы не раскрываете ничего, кроме корректности.
- Шаг 3: Если есть несколько выходов, их сворачивают в одно компактное доказательство. Меньше данных в цепочке, меньше комиссий.
- Шаг 4: Валидаторы проверяют доказательство быстро. Никакого подсматривания сумм, только математика, которая проходит или не проходит.
- Шаг 5: После верификации сеть принимает перевод и продолжает работу. Тихо и аккуратно.
Вот и всё.
Почему Bulletproofs важны
Это важно, потому что сохраняет детали денежных операций приватными при возможности их проверки.
- Преимущество: Доказательства значительно меньшего размера по сравнению со старыми диапазонными доказательствами, что обычно означает меньшие комиссии и меньше загромождения.
- Перспектива: Сильная конфиденциальность становится обязательной для серьёзных финансов в цепочке, и Bulletproofs в этом помогают.
- Актуальность: Вы увидите их в конфиденциальных переводах, сайдчейнах, некоторых кошельках и исследовательских роллапах.
Сравниваете системы? Проверьте, используют ли они Bulletproofs или zk SNARKs. Bulletproofs не требуют доверенной настройки, тогда как SNARKs очень компактны, но могут её требовать.
Ключевые характеристики Bulletproofs
Что их отличает:
- Компактность: Размер доказательства растёт примерно логарифмически от диапазона, а не линейно.
- Отсутствие настройки: Нет доверенной церемонии для генерации системных ключей.
- Агрегация: Несколько выходов могут использовать одно доказательство, ещё больше сокращая объём данных.
- Быстрая проверка: Проверки быстрые и могут выполняться пакетно валидаторами.
- Общее применение: Основано на аргументе внутреннего произведения, поэтому применяется не только для проверок диапазона.
Варианты
Разные варианты, которые вы можете встретить:
- Диапазон: Классическое доказательство того, что суммы находятся в допустимом пределах.
- Агрегация: Объединяет несколько диапазонных доказательств в один компактный объект.
- Пакетная проверка: Проверяющие проверяют много доказательств вместе, чтобы сэкономить время.
- Обобщённые: Схемы, которые повторно используют приём внутреннего произведения Bulletproofs для других утверждений.
Bulletproofs скрывают суммы, но не то, кто отправил или когда. Проекты комбинируют их с маскировкой адресов или сетевыми приёмами, если хотят более глубокого скрытия.
Пример
Monero внедрила Bulletproofs в 2018 году для конфиденциальных сумм, что существенно уменьшило типичные размеры комиссий и ускорило верификацию.
Интересный факт
Название Bulletproofs появилось потому, что авторы хотели что-то короткое и прочное. Статья Бенедикта Бунца и соавторов вышла в 2018 году и быстро стала популярной в криптосообществе.
Итог
Коротко: Bulletproofs позволяют доказать корректность чисел, не раскрывая сами числа. Rolex встречает Reddit threads.
