Метод Bulletproofs, описанный в публикации «Bulletproofs: Efficient Range Proofs for Confidential Transactions», выпущенной группой ACG, занимающейся прикладной криптографией в Стэнфордском университете, описывает новую систему с доказательствами нулевого разглашения.
В предложении используется масштабирование сети для обеспечения конфиденциальности и предлагается новый, более быстрый и более компактный способ верификации «конфиденциальных транзакций» (КТ). В частности, Bulletproofs может значительно уменьшить размер верификации для этих типов транзакций. Кроме того, авторы статьи уже создали практическую реализацию Bulletproofs.
В настоящее время вся информация о транзакции, в том числе адреса кошельков и отправленное количество биткоинов, отображается в блокчейне Биткоина. Это влияет на конфиденциальность всех пользователей. Например, если кто-то хочет платить зарплату через сеть Биткоина, это означает, что каждая зарплата будет видна в блокчейне. Это, в свою очередь, означает, что кто-то может использовать эту информацию в своих целях. Например, арендодатель может посмотреть, сколько денег зарабатывает конкретный человек, чтобы попытаться увеличить арендную плату за квартиру.
Конфиденциальные транзакции необходимы, чтобы привнести в любой тип блокчейна более высокий уровень конфиденциальности. Конфиденциальные транзакции объединяют и используют несколько криптографических уловок, чтобы только отправитель и получатель транзакции знали о сумме транзакций. Эти криптографические уловки дают возможность пользователям скрывать суммы, которые они передают, в то же время позволяя наблюдателям осуществить расчеты по скрытой сумме. В принципе, каждый может проверить, что сумма отправленных биткоинов больше, чем сумма полученных биткоинов.
Конфиденциальные транзакции реализуются с помощью «доказательств с нулевым знанием». Эти доказательства – способ доказать другой стороне, что конфиденциальная транзакция действительна без передачи какой-либо информации о ней.
Однако, как отмечено в документе Bulletproofs: «Текущие предложения по доказательству нулевого знания КТ либо были чрезмерно большими, либо требовали доверенной установки. Ни один из этих вариантов не желателен».
Прежде всего, если нам нужно подтвердить группу доказательств, что актуально в случае транзакций с мультиподписями, сложность и размер будут масштабироваться линейным образом. Например, если размер одного доказательства равен 2кБ, то двух доказательств - 4кБ, трех доказательств - 6кБ и т.д.
Кроме того, доказательства нулевого знания обычно требуют доверенной настройки: они должны быть инициализированы центром доверия. Однако свойства безопасности системы Биткоина не распространяются на этот центр, поскольку на практике это означает, что центр может создавать поддельные «доказательства». Эти поддельные доказательства могут привести к неконтролируемой и неопределяемой инфляции.
Bulletproofs могут решить эти проблемы. Согласно статье: «В любой распределенной системе, где доказательства передаются по сети или хранятся в течение длительного времени, короткие доказательства снижают общую стоимость».
Bulletproofs способны значительно сократить размер криптографического доказательства: с 8кБ до 734 байтов, хотя это зависит от того, что собой представляет транзакция. Более того, при работе с несколькими доказательствами размер увеличивается всего на несколько процентов вместо линейного масштабирования. Помимо этого, Bulletproofs не требуют доверенной настройки.
Эндрю Поэлстра (Andrew Poelstra), один из авторов работы и сотрудник Blockstream считает, что Bulletproofs очень практичны:
«Мы уже внедрили первую версию в криптобиблиотеку Биткоина libsec256k1, которая может верифицировать доказательства в три с половиной раза быстрее, чем верификатор для классических групп доказательств. Это упрощенная замена для классических групп доказательств, которые не влияют на другие аспекты системы и поэтому очень легко интегрируются».
До сих пор конфиденциальные транзакции были просто теоретической концепцией, потому что их было очень сложно внедрить. С Bulletproofs реализация конфиденциальных транзакций в Биткоине становится более вероятной. Ранее создатель Litecoin Чарли Ли (Charlie Lee) заявлял о намерении внедрить конфиденциальные транзакции в свою сеть сразу после того, как они появятся в Биткоине. Вполне возможно, что конфиденциальные транзакции появятся сразу в нескольких сетях в ближайшей будущем.