Как реализация схемы CLSAG повысит эффективность Monero

TheFuzzStone
XMR.RU
Published in
4 min readSep 21, 2020

Предлагаем вашему вниманию одно из последних нововведений протокола Monero: замену схемы связываемой кольцевой подписи MLSAG на CLSAG.

Как протокол Monero в настоящее время сохраняет за собой статус инновации. Проводя исследования как самого блокчейна, так и вне его, сообщество Monero ищет способы улучшения Monero с целью повышения уровня приватности монеты, её масштабируемости и доступности для всех без исключения пользователей. Одним из самых последних нововведений является замена схемы связываемой кольцевой подписи MLSAG на схему CLSAG, сокращение которой расшифровывается как «Краткая подпись связанной спонтанной анонимной группы» (Concise Linkable Spontaneous Anonymous Group).

Если не углубляться в подробности, CLSAG уменьшит размер обычных транзакций с 2 входами и 2 выходами на 25%. Также на 10% сократится время верификации.

Но что именно представляет собой схема CLSAG? Как она работает и чем отличается от старой версии MLSAG? Давайте уделим минутку и вспомним, почему и зачем используются кольцевые подписи. Это позволит лучше понять концепцию в целом. Кольцевые подписи обеспечивают возможность неинтерактивного использования подтверждающих транзакцию входов без раскрытия их принадлежности. При этом подписант использует выбираемый им же анонимный набор предыдущих выходов. Простыми словами, это позволяет пользователю скрыть свои выходы, используемые в транзакции, среди других не связанных с ним выходов, и это делается без привлечения каких-либо третьих сторон. И для этого требуется лишь наличие копии блокчейна. Каждый из этих выходов в одинаковой степени, вероятно, будет являться фактически отправляемым выходом. Таким образом и скрываются метаданные отправителя.

Тем не менее это порождает одну небольшую проблему. Что, если пользователь создаст кольцевую подпись, в которой все выходы будут ложными? Как узнать, что неизвестный отправитель не имеет права отправлять какой-либо из них? Как узнать, что этот пользователь не тратит фальшивые деньги? Ответ — НИКАК. Кольцевая подпись подразумевает использование метода доказательства того, что, по крайней мере, один из выходов принадлежит неизвестному отправителю без указания того, какой из этих выходов таковым является. Фактически и схема CLSAG, и схема MLSAG (далее именуемые SAG) являются частью кольцевой подписи, подтверждающей это. Что интересно, в то же самое время схема доказывает, что сумма транзакции, скрытая благодаря протоколу обеспечения конфиденциальности транзакций (RingCT), соответствует балансу. Таким образом, SAG доказывают две вещи: что один выход принадлежит кому-то из участников кольца и что транзакция соответствует балансу, что важно, и благодаря этому и происходит экономия размера и времени верификации. Если это сбивает с толку, не волнуйтесь, мы приближаемся к забавной и простой для понимания аналогии.

Старая схема подписи, MLSAG, многоуровневая связываемая подпись спонтанной анонимной группы (Multilayered Linkable Spontaneous Anonymous Group), доказывает вышеупомянутые две вещи в рамках кольцевой подписи, но это делается по отдельности. Использование отдельных процессов вычисления при подписании и для ключей обязательства означает более медленное выполнение операций. Современные компьютеры позволяют производить эти вычисления за считанные миллисекунды, что не так уж и много, и, действительно, для отдельно взятой транзакции это так. Но если речь идёт об огромном количестве транзакций в блокчейне Monero и синхронизации узла буквально с нуля, когда каждая транзакция должны быть загружена и проверена, количество байт и миллисекунд резко увеличивается.

CLSAG объединяет математические вычисления, необходимые для того, чтобы доказать и то и другое одновременно, и делается это абсолютно безопасным способом. Но что значит «безопасным способом»? Ну, простым языком, чтобы, я надеюсь, было понятно всем без исключения, давайте рассмотрим обещанную забавную аналогию.

Допустим, вам нужно пойти и в продуктовый магазин, и в магазин бытовой техники, чтобы купить две разные вещи: что-нибудь из еды и токсичные химические чистящие средства. Вы не хотите, чтобы они перемешались, во избежание несчастного случая: химикаты могут пролиться на еду и сделают её несъедобной. Вы решаете максимально обезопасить себя и едете в продуктовый магазин, покупаете еду, а затем возвращаетесь домой. И только после того, как вы выгрузите еду, вы вернётесь в машину, поедете в хозяйственный магазин, купите и привезёте домой химикаты. Таким образом, вы совершите две отдельные поездки, чтобы обеспечить безопасность всех ваших покупок. И хотя это действительно безопасно, в то же самое время это неэффективно. Так работает схема MLSAG, когда два разных математических вычисления происходят «в два захода».

Вы решаете, что можно было бы сделать всё быстрее. Просто тратится слишком много времени. Безусловно, если делать так один или два раза, это не особо сократит время вашей жизни, но, если это будет повторяться снова и снова, часы определённо начнут накапливаться. И вы начнёте задаваться вопросом, а нельзя ли всё сделать за один раз. Выехать из вашего дома, проследовать в продуктовый магазин, затем в хозяйственный магазин и обратно домой. Но вы не можете просто взять и бросить всё одной кучей в свою машину. Это небезопасно. Вместо этого вы разложите эти вещи в разные места в своей машине и проследите за тем, чтобы они там и оставались. Таким образом, вы сможете безопасно совершить все покупки за одну поездку, посетив оба магазина и отделив вещи друг от друга. Так и работает CLSAG. Теперь в рамках одной транзакции есть только один набор математических вычислений, позволяющий доказать эти две вещи, и это сделано так, что они не мешают друг другу. Поездку всё же придётся совершить, но вы значительно сократите затрачиваемое вами время.

Звучит просто замечательно, не так ли? Возможно ли найти другие обходные пути и способы сэкономить время и пространство? Ответ и «да» и «нет». Исследователи из MRL утверждают, что, вероятно, уже не удастся каким-либо обрезом изменить схемы типа SAG с целью улучшения размера или скорости. Однако существуют и другие схемы, такие как Arcturus, Omniring, RCT3 или Triptych, которые обеспечивают преимущества с точки зрения масштабирования и верификации и используют другие математические методы. Однако каждый из этих подходов «следующего поколения» к протоколам сокрытия подписантов имеет свои компромиссы, связанные с реализацией, и в настоящее время активно исследуется и анализируется.

В конечном счёте Monero всегда является объектом инноваций.

Источник

--

--

TheFuzzStone
XMR.RU

Privacy, crypto, Linux and FOSS enthusiast. Co-founder of: XMR.RU