Краткий обзор

  • Две ориентированные на конфиденциальность валюты на основе протокола MimbleWimble вытесняют запуски января 2018 года.
  • Оба принимают ряд компромиссов в проектных решениях, при этом Grin концентрируется на восходящем «честном запуске», а BEAM выбирает маршрут Cash и другие проекты в своей формальной структуре фундамента.

Исторический обзор MimbleWimble, Grin & BEAM

MimbleWimble, протокол цепочки блоков, ориентированный на функциональность, конфиденциальность и масштабируемость, был выпущен в свободном доступе в июле 2016 года на канале IRC. # Bitcoin-мастера под псевдонимом Том Элвис Джедусор. В документе предложен новый способ объединения транзакций для улучшения функций конфиденциальности в общедоступной цепочке блоков.

Бумага Джедусора была построена на работе другого анонимно опубликованная статья с 2013 года с использованием односторонних агрегированных подписей (OWAS), для чего требовался новый криптографический примитив, спаривание крипто, которому не очень доверяли в академии. Это также черпало вдохновение в «Конфиденциальных сделках» и CoinJoin, двух предложениях по конфиденциальности от разработчика Bitcoin Core. Грегори Максвелл,

В оригинальной статье MimbleWimble использовалась та же криптография с эллиптической кривой, которую использует биткойн, что привлекло внимание многих исследователей биткойна, включая Эндрю Поэлстраматематик и прикладной криптограф в Blockstream, который в дальнейшем улучшил MimbleWimble white paper, выпуская «Точную» версия в октябре 2016 года. Работа Poelstra была сосредоточена на конфиденциальности, работая над конфиденциальными транзакциями и скриптами без скриптов в биткойнов.

Первоначально предполагалось, что MimbleWimble может быть либо интегрирован в качестве обновления до биткойна, либо существовать в качестве боковой цепи, но Питер Уилль соучредитель Blockstream и разработчик Bitcoin Core разъяснил некоторые проблемы, связанные с его интеграцией в качестве обратно-совместимого изменения в Подкаст 2016:

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

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

Первая реализация, усмешка, который стал синонимом MimbleWimble, был выпущен всего через несколько дней после позиционного доклада Poelsta. под псевдонимом Игнотус Певерелл, первоначальный владелец плаща-невидимки Гарри, создал проект Github ignopeverell / Гринь, где он предоставил частичную реализацию протокола, написанного на Rust, в дополнение к публикации его видения для духа проекта.

В марте 2017 года Певерелл разместил техническое введение Grin и MimbleWimble (поскольку имя теперь стилизовано), которое служит основной ссылкой на спецификацию протокола сегодня. На сегодняшний день проект по-прежнему поддерживается группой в основном анонимных разработчиков, некоторые из которых взяли псевдонимы «Гарри Поттер» в соответствии с оригинальным духом проекта (включая Луну Лавгуд, Симуса Финнигана и Перси Уизли). Первый тестовый набор Grin был запущен в ноябре 2017 года, и в настоящее время проект находится на testnet 4, который считается последний перед запуском основного проекта.

Вторая реализация, ЛУЧ, это проект, начатый в марте 2018 года и был официально объявлен в годовщину оригинальной Mimblewimble white paper. ЛУЧ был представлен в отдельный white paper (вместе с полнофункциональным майнинг-узлом и клиентом кошелька) и приобрели более формальную структуру похож на Zcash в резком контрасте с анархическим, открытым исходным кодом Грина. Команда BEAM возглавляется генеральным директором Александр Зайдельсон зраильский предприниматель).

С определенной управленческой / инженерной командой, предварительной продажей, формальным фондом и налогом учредителя, BEAM использовал совершенно другой подход, чтобы представить конкурентоспособную альтернативу Grin на рынке. В дополнение к созданию формальной структуры вокруг проекта команда BEAM сделала различные технические решения для Grin, включая решения, связанные с денежно-кредитной политикой и алгоритмом хеширования (которые рассматриваются ниже).

BEAM запущен в начале января 2019 года с значительное преимущество на хэш-скорости.

Понимание UTXO-модели Биткойна и криптовалютных примитивов

Примечание. Это ни в коем случае не является исчерпывающим введением в биткойн или криптографию, но предоставляет достаточно контекста, чтобы неосведомленный читатель мог следить за ним.

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

И Grin, и BEAM используют ту же модель вывода неизрасходованных транзакций (UTXO), которую использует биткойн, в отличие от других криптовалют, основанных на аккаунте, таких как Ethereum.

Визуализация модели UTXO Биткойна из документации Bitcoin.org.

Когда через новые транзакции TX1 и TX2 отправляются 90 тыс. Сатоши, генерируются два выходных сигнала (40 тыс. И 50 тыс. Сатоши соответственно) по адресу, сумма которого определяется отправителем.

Биткойн, Grin и BEAM позволяют это сделать с помощью криптографического хеширования, на очень высоком уровне хеш-функция позволяет вам принимать входные данные, применять криптографическую хеш-функцию или CHF (что является стандартным преобразованием) и получить вывод фиксированного размера (называемый дайджест). Это показано ниже.

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

Диаграмма криптографической хеш-функции. Источник: Википедия.

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

Тем не менее, эти свойства идут с компромиссами: транзакции Биткойн не являются очень частными, так как вся эта информация появляется незашифрованная во внешнем мире (хотя они хешируются). Пока сообщество имеет передовые лучшие практики такие, как недопущение повторного использования адресов и поощрение использования «микшеров» (где биткойны разбросаны с возвращенными вам «свежими» UTXO), такие меры по обеспечению конфиденциальности, как CoinJoin а также Конфиденциальные транзакции были расширены для включения более надежных функций конфиденциальности для пользователей.

Как MimbleWimble улучшает конфиденциальность

MimbleWimble вносит несколько изменений в модель UTXO Биткойна, чтобы разрешить частные транзакции на основе конфиденциальных транзакций и CoinJoin. От документация:

  1. Там нет адресов.
  2. Там нет никаких сумм.
  3. 2 транзакции, одна из которых тратит другую, могут быть объединены в блок, образуя только одну, удаляя всю промежуточную информацию.

Первые два компонента объясняются использованием Конфиденциальные транзакции предложение бывшего технического директора Blockstream (и в настоящее время Blockstream Liquid(Биткойн побочная цепь в производстве), которая использует криптографический примитив, называемый Схема обязательств Педерсона улучшить модель биткойна UTXO. С конфиденциальными транзакциями, только участники сделки можно увидеть сумму транзакции. Теоретически, это звучит замечательно, но с одной ключевой проблемой: вам нужно, чтобы неучастники в системе могли определить, когда транзакция является фиктивной, — чтобы никто из пользователей не тратил больше денег, чем он.

Как это сделать? Криптографические обязательства звучиат странно, но это означает: «Я доказываю, что знал что-то, прежде чем хэшировать это, потому что я не могу перевернуть хэш, чтобы раскрыть то, что я знал». Даже за пределами криптовалют, люди используют (например) обязательства для доказательства публичные прогнозы, например Ник Картер публичный прогноз 1 января около 2018 года разработка проекта. В 2019 году Ник сможет раскрыть свой список (на простом английском языке), и люди смогут легко проверить, соответствует ли его список (характеру) тому, что было хешировано в предыдущем году.

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

Но что может помешать кому-то взять два входа (например, -100BTC, 100BTC), использовать 100BTC в качестве входа в конфиденциальной транзакции и игнорировать -100BTC? Решение в конфиденциальных транзакциях заключается в использовании другого криптографического примитива, называемого дальность действия, Это доказательство гарантирует неприкосновенность общего предложения денег, гарантируя, что входные данные в системе находятся в определенном диапазоне (в данном случае, положительном).

Все реализации MimbleWimble используют конфиденциальные транзакции, чтобы гарантировать отсутствие адресов или сумм, видимых в системе.

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

Пример визуализации биткойн-транзакции любезно предоставлен Бенедиктом Келером.

Это не беспрецедентно — такие стартапы, как эллиптический а также Chainalysis используйте эти формы криминалистической экспертизы для обнаружения мошенничества и «незаконных транзакций» (например, отмывание денег, деятельность на черном рынке) и хорошо финансируются пользователями, начиная от криптовалютных бирж (которые используют их для соблюдения требований) до государственных организаций. Из-за легкого отслеживания сетевого графика Биткойна, он остается плохим выбором для обязательно частных транзакций.

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

В CoinJoin входы от нескольких пользователей объединяются в так называемую набор анонимности и упал, чтобы гарантировать, что граф транзакций сложнее отследить. Это показано ниже, где входы 10BTC и 20BTC Алисы и Боба объединяются в транзакцию CoinJoin.

Диаграмма CoinJoin любезно предоставлена ​​Artncase.

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

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

Теперь вы, вероятно, думаете: мои входы, выходы и суммы транзакций скрыты, а график транзакций достаточно запутан… Есть ли другие способы для мотивированных актеров выяснить, что я делаю? Последней потенциальной точкой отказа является возможность для отдельных узлов деанонимизировать транзакции, используя исходный IP-адрес.

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

Решение этой проблемы, предложенное MimbleWimble, основано на другом предложении по улучшению, изначально разработанном для Биткойна — «Одуванчик», предусмотреный командой исследователей из Университета Иллинойса в Урбана-Шампейн. Обсуждается с 2017 года как публичное предложение по улучшению биткойна.

Цель Одуванчика — скрыть IP-адрес транзакции Биткойна. Лепестки цветка одуванчика имеют один стебель до полного цветения. Аналогично, с Одуванчиком транзакция Биткойн транслируется в сеть в два этапа: фаза «ствол» (там, где она скрыта) и фраза «пух», где она транслируется.

Сначала транзакция транслируется на один узел, который затем ретранслируется на другой одноранговый узел, пока не будет достаточно «прыжков» от исходного однорангового узла — в этот момент транзакция транслируется на остальную часть сети сплетен. Визуализация этого может быть замечена ниже, где транзакция (на Фазе 1) передается одному узлу перед распространением на оставшуюся часть сети (Фаза 2).

Изображение предоставлено презентацией Джулии Фанти «Представление одуванчика» в Лиссабоне.

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

Различия между BEAM и Grin

Хотя и Grin, и BEAM реализуют протокол MimbleWimble с нуля, оба имеют небольшие отличия:

  • Основная реализация Grin написано в Rust в то время как Основная реализация BEAM написано на C ++.
  • Хотя обе команды сосредоточены на сопротивлении ASIC, они используют разные подходы в выборе алгоритма хеширования и первоначального подхода (рассматривается ниже).
  • Команда Grin OS, которая написала обширный анализ компромиссов решил придерживаться управление с открытым исходным кодом вместо формального основания. Один из компромиссов заключается в финансировании, где Грин живет за счет пожертвований. Команда BEAM привлекла частное финансирование в дополнение к введению вознаграждения за блок в 20%, аналогичного Zcash.
  • В Grin денежно-кредитная политика, «Новая улыбка испускается каждую секунду», сохраняя постоянную инфляцию предложения (хотя асимптотически приближаясь к 0%). Это обусловлено идеологическими различиями с другими криптовалютами, такими как Биткойн (которые сильно дефляционны в будущем равновесии). В частности, команда Grin стремится отговорить откладывание усмешки. Напротив, BEAM имеет фиксированный запас (~ 263 млн. Монет).
  • Grin обеспечивает режим частичной синхронизации с несколькими стратегиями смягчения в случае ошибки. Это позволяет узлам синхронизироваться с сетью с небольшой долей данных, необходимых для полной синхронизации узлов (что требуется для BEAM).
  • Beam предлагает традиционные конфиденциальные транзакции (подписанные с помощью Bulletproofs), а также неконфиденциальные UTXO. Кроме того, BEAM предложил дизайн для проверяемого кошелька, Опция «Возможность выбора аудиосигнала» позволяет компаниям или другим пользователям создавать уникальную пару открытый-закрытый ключ, которая позволяет внешней третьей стороне проверять средства или любые метаданные, хранящиеся в транзакции (например, для документа или другого цифрового актива). Команда Grin явно решила не расширять реализацию за пределы основных функций.

Горный пейзаж

Ландшафт майнинга для Grin и BEAM остается неясным, поскольку обе сети настолько новы (с предварительным запуском Grin).

Команда BEAM выбрала модифицированный Equihash PoW (Equihash 150,5 с дополнительным изменением пути передачи данных, предназначенным для сдерживания ASIC). Это, в дополнение к запланированному полугодовому хард-форку, предназначено для сдерживания ASIC в сети.

Грин использует роман Цикл кукушки (для начала), альтернативная система доказательств работы, разработанная Джон Тромп в 2015 году. Хотя алгоритм должен быть устойчивым к ASIC, команда давно верил ASIC являются потенциально неизбежными. Решение возник в сентябре 2018 года: использование двух алгоритмов, один из которых оптимизирован для ASIC-совместимости (Cuckatoo31 +), а другой — для конкуренции между графическими процессорами (Cuckaroo29), где PoW балансирует награды за майнинг между двумя в течение каждого 24-часового периода.

Выбор графического процессора среди ранних майнеров как Grin, так и Beam является Nvidia GTX 1080 TI (это оборудование общего назначения, также используемое для майнинга многих других блокчейнов).

Ранний луч статистика запуска похоже, указывают на доминирование двух основных пулов: sparkpool.com (пул майнинг нескольких активов с ~ 69% от скорости хэширования) и bepool.org (с ~ 30% от скорости хэширования) в общей сложности ~ 1,5 м решений / сек, Конкретное количество решений / сек, возможных для аппаратного обеспечения, зависит от используемого майнера (и его оптимизаций), но с тактированием OpenCL майнера ~ 10 соль / сек и тактированием майнера на основе CUDA ~ 15-20 соля это, вероятно, 100 000+ графических процессоров в настоящее время защищаем сеть.

Рынок майнинга Grin более институционализирован: более дюжины частных майнинговых операций предоставляют широкий спектр крипто-фондов, семейных офисов и HNW. У отдельных майнеров есть выбор присоединения к пулам при запуске. grinmint пул (запущенный BlockCypher) и MWGrinPool.com Это два варианта, представленные сообществом.

На ранних этапах майнинга все еще возникают трудности: майнеры для других графических процессоров (например, наборов микросхем AMD) менее доступны, программное обеспечение для пула не надежно и не надежно, инфраструктуры для кошельков с несколькими сигнатурами еще не существует, а оптимизаций пока нет. известный на рынке. Это обеспечивает существенную информационную асимметрию для ранних майнеров, которые могут использовать техническую сложность. Некоторые компании стремятся создать такую ​​инфраструктуру, как 713 Гринбокс.

Заключение

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

Там, где даже использование метода конфиденциальности (например, микшера биткойнов) могло бы в противном случае «испортить» пользователя в глазах правоохранительных органов, полностью частные валюты позволяют пользователям иметь правдоподобное отрицание своих намерений. Хотя им нечего скрывать, это важное различие.

Grin и BEAM принесли на рынок два разных подхода. Несмотря на сходство на уровне поверхности, они различаются практически на каждом уровне, кроме того, что основаны на MimbleWimble. Для появления «победителя» потребуется несколько месяцев, если не больше. Хотя неясно, какая валюта «выиграет», эти два запуска предлагают испытание ряда вещей, которые энтузиасты всегда считали чрезвычайно важными:

  • Может ли запуск безупречной концепции конкурировать с более формально финансируемыми (и, возможно, более устойчивыми) проектами, при прочих равных условиях (в основном)?
  • Какое значение имеет UX (где, как представляется, BEAM лидирует) на раннем этапе по сравнению с другими факторами (например, бренд, где Grin имеет преимущество)?
  • Возможно ли, чтобы маргинальная криптовалюта, ориентированная на конфиденциальность, набрала обороты, даже если она была нова, в многолюдном поле (включая Zcash, Monero, собственные улучшения конфиденциальности Bitcoin)?

Это будет захватывающий год вперед для приватности.


Раскрытие информации: Арджун Баладжи — аналитик, инженер и технический советник The Block. Он основал Shomei Capital и не имеет должности в BEAM или Grin (не в майнинге).