Перевод Масштабирование Bulletproof

Тема в разделе "Статьи", создана пользователем Тим, 23 дек 2017.

  1. Тим

    Тим Piconero

    Регистрация:
    6 ноя 2017
    Сообщения:
    5
    Симпатии:
    0
    Опубликовано: Сарангом Нетером

    7 декабря 2017

    Сегодня речь пойдет о скорой оптимизации Bulletproof и ее роли в криптовалюте Monero. Это прекрасное обновление работает, снижает комиссионные сборы и тестируется разработчиками уже сейчас. Чтобы гарантировать сходство входящих и исходящих данных, которые могут быть проверены кем угодно, разработчики используют доказательства, которые имеют алгебраическое применение. Однако этого недостаточно. Им также необходимо гарантировать, что любая передаваемая сумма на выходе окажется положительным числом, относительно чего необходимо предоставить доказательства. Эти доказательства позволяют проверить, что обязательство представляет собой некую сумму в пределах указанного диапазона, не раскрывая другой информации о транзакции. Текущий диапазон значений доказательств масштабируется линейно по количеству входов и выходов, а также по количеству бит в системе, то есть эти данные составляют основную часть размера транзакции. Это также означает, что транзакция, имеющая несколько входов и выходов, должна иметь несколько отдельных доказательств диапазона, что не есть хорошо.

    Благодаря новой прекрасной разработке от Bunz, Bootle и других, есть более эффективный способ обработки значений диапазона. Размер Bulletproof масштабирования увеличивается логарифмически с увеличением размера диапазона и изменением количества выходов. Это дает нам два схожих типа масштабирования: одиночные и множественные (которые при этом меньше, чем отдельные доказательства).

    Рассмотрим транзакцию с двумя выходами, в которой я отправил какое-то количество XMR, а затем вернул их обратно. С нашим текущим диапазоном значений, транзакция имеет размер в 13,2 килобайта. Если бы я использовал масштабирование Bulletproof с одним выходом, размер транзакции сразу сократился бы до 2,5 килобайт! Это приблизительно 80-процентное сокращение общего размера транзакций, что также позволит на 80% уменьшить комиссионные сборы. Экономия памяти получается большей, нежели при использовании множественных доказательств. Это свидетельствует о значительном уменьшении размера транзакции. В дальнейшем наши первичные испытания показали, что время подтверждения доказательств ниже, чем у существующих доказательств диапазона, что на выходе дает более быстрое подтверждение транзакций.

    Java код для проведения испытаний масштабирования Bulletproof доступен по ссылке (https://github.com/b-g-goodell/rese...StringCT-java/src/how/monero/hodl/bulletproof) для доказательств с одиночными и множественными выходами.

    Тестовый код масштабирования с одиночным выходом может быть подключен к С++ с помощью moneromooo (описание по ссылке: https://github.com/monero-project/monero/pull/2883) и вскоре будет доступен для проведения тестов.

    Доказательства с множественными выходами в свою очередь вызывают некоторые вопросы, которые нуждаются в дальнейшей проработке. Масштабирование Bulletproof имеет линейное количество выходов (в то время как размер транзакции масштабируется логарифмически), злоумышленник в теории имеет возможность получить контроль над транзакцией с несколькими выходами. Эта масштабированная транзакция потребует более низкой комиссии, но может потребовать больших вычислительных затрат при доказательстве транзакции, чтобы сделать невозможными DDOS-атаки. Из-за этого нам придется уменьшить размер транзакции за счет отделения транзакционного сбора и масштабирования верификации. Однако это не означает, что сборы вырастут! Это лишь означает, что транзакционные сборы смасштабируются соответствующим образом безопасным способом.

    Во избежание технических проблем, мы разделим тестирование технологии Bulletproof на две части. Вы сможете увидеть только транзакции с применением одиночного доказательства. Транзакции с двумя выходами будут использовать два отдельных доказательства, которые помогут сильно снизить транзакционные затраты по сравнению с текущими. То есть транзакционные сборы уменьшатся, как и время подтверждения. Мы продолжим обсуждение структуры транзакционных сборов во время тестирования доказательств со множественными выходами, которые будут применены на второй стадии тестирования. Мы также хотим побудить майнеров использовать доказательства с множественными выходами за счет уменьшения комиссии.

    В целом, масштабирование Bulletproof – это шаг вперед в транзакциях Monero. Нам удастся сохранить огромные объемы памяти, снизить время подтверждения транзакций и комиссионные сборы. Если вы хотите поучаствовать в использовании нашей разработки в тестовом режиме, следите за новостями!

    Источник: Monero Compatible Bulletproofs

    Перевод:
    Tim (@Sieterayos)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima )
     
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.