Обновление протокола анонимной криптовалюты Monero запланировано на 18 октября. В рамках него разработчики планируют внедрить поддержку Bulletproofs и ряд других важных изменений.
Bulletproofs — технология подтверждений диапазона. При совершении транзакций Monero скрываются передаваемые суммы. Чтобы гарантировать правильную верификацию входных и выходных значений, Monero использует доказательства с алгебраическими свойствами. Кроме того, протокол должен гарантировать, что передаваемые суммы положительны и не выходят за установленные пределы.
Подтверждения позволяют удостоверится, что значение находится в установленных пределах, не имея никакой другой информации, в том числе о сумме транзакции. Сейчас криптовалюта использует протокол с доказательством, которое масштабируется линейно вместе с числом выходов и битов в диапазоне (64 бита в текущих настройках). Такое решение предполагает, что доказательство занимает значительную часть в общем объеме данных о транзакции. К тому же для транзакций с множеством выходов требуется несколько отдельных подтверждений диапазона.
Bulletproofs решает эту проблему. В новом протоколе размер подтверждений изменяется логарифмически в соответствии с размером диапазона и числом выходов. Это позволяет использовать разные подтверждения для транзакций с одним или несколькими выходами. За счет этого размер транзакций может уменьшится на 80%, а время их проведения серьёзно сократится.
Кроме того, в рамках обновления минимальный размер кольцевой подписи увеличат до 11 и зафиксируют. В результате операторы пулов должны будут проверять, что они используют подписи правильного размера, иначе блокчейн не примет блоки. Сейчас для 97% транзакций использовалось 3−9 подписей, и это негативно отражалось на их приватности.
Также перенастроят механизм консенсуса. Это позволит ликвидировать любую потенциальную угрозу со стороны ASIC-майнеров.
Обновление пройдёт на блоке 1 685 555. Технически разработчики проведут два хардфорка — 18 и 19 октября. Это обеспечит отсрочку, в течение которой сеть продолжит принимать старые транзакции. Операторам пулов, мерчантам, биржам, поставщикам услуг и прочим участникам экосистемы нужно будет обновить своё ПО до версий CLI v0.13.0.2 или GUI v0.13.0.0.