Изнанка MimbleWimble (часть 2)

1_pmyq27olnvkvaf_jsoexyq

Мало какой криптовалютный проект привлекает к себе столько же внимания, сколько MimbleWimble. Своим названием он обязан заклятию косноязычия из вселенной Гарри Поттера, которое не давало героям говорить на определенные темы. MimbleWimble – инновационный протокол, задача которого заключается в обеспечении для пользователей большей степени приватности и масштабируемости сети.

(Продолжение. Первую часть статьи читайте здесь.)

CoinJoin

CoinJoin – еще одна техника, изобретенная Грегом Максвеллом. Благодаря ей, пользователи могут объединять свои транзакции, что делает их граф несколько более запутанным. Граф транзакций показывает, кто является участниками сделки, и может раскрыть информацию о связях между различными пользователями и об истории коина. Иногда используется допущение о том, что расходование в одной транзакции нескольких входов свидетельствует об их принадлежности одному и тому же кошельку. При использовании CoinJoin достаточным количеством людей, это допущение теряет смысл, что является неоспоримым преимуществом с точки зрения конфиденциальности. CoinJoin – хорошая техника, но и у нее есть свои недочеты: она требует взаимодействия между участниками транзакции, поскольку владелец каждого входа должен подписать объединенную транзакцию, чтобы ее подтвердить. Объединить транзакции офлайн или в асинхронном режиме невозможно.

С целью устранения этого недостатка проводились серьезные исследования, призванные обеспечить неинтерактивную работу CoinJoin. Одна из техник подразумевает использование схемы односторонних совокупных подписей (OWAS) и выглядит довольно многообещающе, однако она требует более сложных криптографических допущений, особенно в области сопряженной криптографии. Основатель Ethereum Виталик Бутерин опубликовал пост с объяснением этой темы, в котором отметил, что в сопряженной криптографии используются операции, требующие взаимно однозначного отображения между точками на двух эллиптических кривых. Своими идеями касательно неинтерактивного CoinJoin Максвелл поделился на форуме BitcoinTalk в 2016 году.

MimbleWimble избегает потребности в более сложных допущениях, связанных с безопасностью, полагаясь вместо этого на эллиптические кривые, как Биткойн. Кроме того, система позволяет использовать неинтерактивные комбинации транзакций, и это одно из главных преимуществ проекта. По сути, протокол автоматически объединяет все транзакции на уровне блоков.

Сквозная функция

02.-cut-through.jpg

Упрощенная схема сквозной функции (серые стрелки использованы исключительно в иллюстративных целях: структура индивидуальных транзакций в MimbleWimble упразднена)

Как мы уже упоминали, MimbleWimble объединяет все транзакции в блоке в одну, при этом связанные с ней структуры и связи упраздняются. Если в транзакции используется свежий (неподтвержденный) вход, то все промежуточные выходы могут быть исключены, и это не повлияет на валидность цепочки.

Стоит отметить, что сквозная функция не полностью устраняет следы промежуточных транзакций: от каждой из них остается так называемое ядро, которое необходимо сохранить, чтобы должным образом валидировать цепочку. Именно эти ядра транзакций позволяют подтвердить право собственности на те или иные входы и обеспечить выполнение вычислений, подтверждающих валидность транзакций и всей цепочки в целом.

Резюме

Благодаря всем вышеперечисленным характеристикам, протокол MimbleWimble обеспечивает работу блокчейна, подходящего для простых платежей. Он использует видоизмененный вариант конфиденциальных транзакций (CT), о которых мы говорили в первой части статьи, позволяющий хранить балансы в виде криптографических обязательств, а не публичных записей с суммами. Структура транзакций удаляется внутри каждого блока, и они подтверждаются как единое целое.

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

Недостатки MimbleWimble

Протокол MimbleWimble лишен каких бы то ни было дополнительных функций и пригоден только для простых платежей. Из-за упразднения адресов, отправители и получатели должны взаимодействовать в безопасных и конфиденциальных средств, чтобы размещать транзакции в сети. Подобная схема резко отличается от принципов работы систем, основанных на использовании адресов, где деньги можно легко получить в автономном режиме и без использования конфиденциального канала коммуникаций.

Конфиденциальность

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

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

В обоих релизах MimbleWimble используется протокол Dandelion, изначально созданный для Биткойна и позволяющий обеспечить правдоподобное отрицание причастности участников процесса к сделкам. Он отправляет транзакции на несколько узлов, а затем случайным образом объединяет их перед тем, как отправить майнерам для включения в блок. Эта схема мешает шпионским программам отслеживать происходящее.

С точки зрения конфиденциальности, MimbleWimble может уступать Monero и ZCash. Технология конфиденциальных транзакций (CT) позволяет надежно скрыть суммы переводов, однако граф транзакций останется скрытым, только если пользователь может найти осуществляемые параллельно транзакции, с которыми сможет объединить свои. В этом смысле Monero и ZCash обеспечивают более надежную криптографическую защиту графа транзакций на базовом уровне и не требуют одновременного осуществления переводов.

Масштабируемость

С точки зрения количества осуществляемых в секунду транзакций, MimbleWimble не предлагает значительных улучшений по сравнению с другими криптовалютами. CT обеспечивают определенные преимущества с точки зрения конфиденциальности, но вместе с тем эта технология требует и серьезных ресурсов. При этом объединение индивидуальных транзакций на уровне блока позволяет устранить часть нагрузки, влияющей на пропускную способность.

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

Идея обобщенной кросс-валидации с использованием меньшего количества данных не является уникальной. Да, используемая в MimbleWimble для решения этой задачи схема довольно элегантна, но Биткойн тоже вполне мог бы адаптировать под себя решения вроде UTXO-обязательств и предложить схожую модель отсечения лишнего.

Сравнение Grin и Beam 

Grin Beam
Интервал между блоками 1 минута 1 минута
Инфляция 60 гринов / «вечная» инфляция Ограничена 263 миллионами
Казна / Вознаграждение для фаундеров Нет 20% коинов, добытых в первые 5 лет
Консенсус Proof-of-Work («цикл кукушки») Proof-of-Work (Equinash)
Язык реализации Rust C++
Тестовая сеть 4-я итерация 2-я итерация
Основная сеть 15 января 2019 года Декабрь 2018?

Grin и Beam – две независимых реализации протокола MimbleWimble, запуск которых намечен на конец 2018 года – начало первого квартала 2019-го. Они значительно отличаются друг от друга с точки зрения используемых подходов: Beam имеет структуру продукта или компании, тогда как Grin представляет собой открытый проект, развиваемый силами сообщества. Время записи блока в обеих инициативах аналогично.

Еще одно серьезное различие между проектами заключается в их денежной политике. Некоторые сторонники Grin считают, что его истинное назначение – стать тестнетом для Биткойна. Линейная денежная политика без снижения инфляции может свидетельствовать о том, что команда проекта, вероятно, не преследует цели сделать свой токен дефицитным средством хранения ценности и не возражала бы против более активного его оборота. В программном коде Beam, в свою очередь, прописано жесткое ограничение эмиссии, а токены служат в том числе средством мотивации для команды, и этот выбор в значительно большей мере способствует росту стоимости токенов.

 

Источник



Рубрики:Анализ, Теория

Метки: , ,

1 reply

Trackbacks

  1. SlowMist, утверждает, что может найти злоумышленников, атаковавших Ethereum Classic — EthereumClassic - Stuff Aggregator

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s