mirror of
https://github.com/monero-project/monero-site.git
synced 2024-12-26 13:39:44 +00:00
47 lines
7.1 KiB
Markdown
47 lines
7.1 KiB
Markdown
---
|
||
summary: 'новый вид доказательства диапазона, заменяющий RingCT в транзакциях, для запутывания отправляемых сумм'
|
||
terms: ["bulletproofs", "bulletproof"]
|
||
---
|
||
|
||
{% include disclaimer.html translated="yes" translationOutdated="no" %}
|
||
|
||
### Основы
|
||
|
||
Целью введения протокола @RingCT было сокрытие сумм, переводимых при совершении транзакций. Одной из задач @RingCT также было доказательство суммы выходов — выходы @транзакции были равны 0, а все выходы были представлены положительными числами.
|
||
Чтобы решить эту задачу, было построено два типа кольцевых подписей: одна кольцевая подпись для всей транзакции (чтоб доказать, что сумма является нулевой) и набор кольцевых подписей для поднаборов битов транзакций (позднее были заменены кольцевой подписью Борромео).
|
||
Несмотря на то, что протокол работал и решал свою задачу, у него был один
|
||
серьёзный недостаток: огромный размер таких RingCT транзакций.
|
||
|
||
### Как появились Bulletproofs
|
||
|
||
В 2017 году [группой исследователей](https://crypto.stanford.edu/bulletproofs/), работающих в области прикладной криптографии, из Стэнфорда была написана [работа](https://eprint.iacr.org/2017/1066.pdf), в которой предлагался новый вид доказательств диапазона под названием Bulletproofs.
|
||
|
||
> Bulletproofs являются короткими неинтерактивными доказательствами с нулевым раскрытием конфиденциальной информации, не требующими доверенных настроек.
|
||
|
||
Bulletproofs, в отличие от подписей Борромео и Шнорра, являются довольно эффективным доказательством диапазона. При доказательстве большого объёма данных генерируется небольшое доказательство, а размер подобных доказательств растёт логарифмически по мере роста объёма доказываемых данных.
|
||
Это означает, что увеличение количества выходов в транзакции при использовании Bulletproofs лишь незначительно увеличит размер доказательства. Другим преимуществом также является то, что они позволяют одновременно доказать, что множество подтверждённых сумм находится в пределах желаемого диапазона.
|
||
Необходимость в доказательстве каждого выхода, передаваемого в любом
|
||
направлении, отдельным доказательством отсутствует; все суммы транзакций
|
||
могут быть доказаны одним большим (но всё же небольшим) доказательством
|
||
Bulletproof.
|
||
|
||
### ### Процесс глубокого аудита и реализации
|
||
|
||
Так как доказательства Bulletproofs были абсолютно новой технологией, начальная реализация, выполненная группой, даже несмотря на то, что она была тщательно проработана, требовала редакции с учётом определённых вариантов использования, так что реализация Bulletproofs в рамках Monero стала довольно непростым делом.
|
||
Код писался и переписывался в соответствии с новой версией Bulletproofs, которая всё ещё находилась в разработке. Но как только реализация доказательств для Monero была завершена, стало ясно, что ввод технологии в эксплуатацию требует предельной осторожности.
|
||
Поэтому сообществом был запущен процесс аудита. Исследователи связались с Бенедиктом Бюнцем (Benedikt Bünz), главным автором работы по Bulletproofs, и с [OSTIF](https://ostif.org/), организацией, которая помогает улучшать и обеспечивать безопасность открытых технологий.
|
||
OSTIF была направлена группа специалистов из нескольких организаций, обладающих необходимыми для проведения аудита навыками. Несмотря на то, что один из специалистов пожелал сохранить анонимность и был отстранён от процесса, так как процесс в данном случае требовал публичности, двое других (QuarksLab & Kudelski Security) были выбраны для проведения аудита.
|
||
Работа трёх аудиторов финансировалась сообществом и была направлена на то,
|
||
чтобы гарантировать отсутствие в реализации критических багов, а также
|
||
эксплоитов. Окончательные отчёты были выпущены летом 2018 года. При этом
|
||
было предложено внести несколько полезных исправлений. Окончательный вариант
|
||
реализации Bulletproofs сначала был добавлен в стендовую сеть Monero, а
|
||
затем, в октябре 2018, в основную сеть в рамках её обновления.
|
||
|
||
После введения Bulletproofs в эксплуатацию средний размер транзакций
|
||
сократился, по крайней мере, на 80%, равно как и размер комиссий за
|
||
проведение транзакций.
|
||
|
||
Более подробную информацию по реализации Bulletproofs Monero можно найти на
|
||
YouTube канале fondajo [в интервью с Сарангом Ноезером (Sarang
|
||
Noether)](https://www.youtube.com/watch?v=6lEWqIMLzUU).
|