На Scaling Bitcoin представлено предложение по масштабированию сети биткоина «Mimblewimble»
В первый день международной конференции Scaling Bitcoin в Милане разработчик Blockstream Эндрю Поелстра представил новое предложение по масштабированию сети биткоина под названием Mimblewimble.
Оригинальный White paper предложения был впервые выложен в каналах разработчиков в начале августа автором, выступившим под псевдонимом Tom Elvis Jedusor (имя Волан-де-Морта во французских изданиях романов о Гарри Поттере). Само же название предложения ссылается на одно из волшебных заклинаний Гарри Поттера.
Mimblewimble предлагает радикальное сокращение протокола биткоина, которое не только позволит существенно повысить конфиденциальность и решит вопрос пластичности транзакций, но и дает значительно больше возможностей для масштабирования сети, нежели существующая архитектура.
«Сейчас я хочу представить Mimblewimble, — сказал в своей речи Эндрю Поелстра. – Это не моя идея, это идея Лорда Тьмы. Mimblewimble – это решение для блокчейна биткоина, которое может быть имплементировано как софтфорк или сайдчейн. Также, в принципе, поверх него может быть наложен протокол Lightning Network».
Представители сообщества разработчиков ранее предположили, что имплементация Mimblewimble поможет решить сразу несколько крупных проблемы биткоина.
Конфиденциальные транзакции
Mimblewimble основан на уже знакомых свойствах конфиденциальности биткоина, включая Confidential Transactions – функцию, основная часть который была создана разработчиком Bitcoin Core и Blockstream Грегори Максвеллом. В настоящий момент она также используется в Elements Alpha — разработанном Blockstream сайдчейне.
При помощи функции Confidential Transactions отправитель может зашифровать количество пересылаемых биткоинов при помощи строки случайных цифр (blinding factors), а транзакции включают информацию, при помощи которой эту сумму может расшифровать только получатель. Используя криптографический прием под названием Pedersen Commitment (обязательство Педерсена), биткоин-ноды могут вычесть зашифрованную сумму на стороне отправителя (входы) из зашифрованной суммы на стороне получателя (выходы), и если в результате операции получается ноль, это означает, что нет неизвестно откуда взявшихся монет.
Можно сказать, что Mimblewimble переворачивает этот прием с ног на голову, поскольку строку случайных цифр генерирует получатель, а приватные ключи или адреса в процессе не задействуются.
Комбинированные транзакции
Еще одной функцией, которая вдохновила автора Mimblewimble, является CoinJoin – также разработанный Грегори Максвеллом способ микширования транзакций с целью усложнить их отслеживание.
Mimblewimble идет немного дальше и полностью избавляется от транзакций по мере создания нового блока. В результате вместо транзакций блок состоит из трех списков: список новых входов, список новых выходов и список криптографических подписей. Используя схему Педерсена, все ноды могут использовать списки входов и выходов и подтвердить, что биткоины не появились ниоткуда. При этом, поскольку в процессе не раскрывается, ни какие именно выходы расходовали бикоины и в пользу каких именно выходов, ни количество расходованных монет, отследить движение средств не представляется возможным.
Масштабирование
Предлагаемое решение также может решить целый ряд вопросов масштабирования сети биткоина. В настоящий момент многие транзакции в сети связаны между собой: для расходов биткоинов используется выход предыдущей транзакции, который превращается во вход новой транзакции. Это означает, что в случае, если предыдущая транзакция оказывается недействительной, опирающаяся на нее новая транзакция также будет недействительной. По этой причине, чтобы валидировать все транзакции в сети, ноды должны знать транзакции всего блокчейна, а на сегодня это более 80Гб данных.
Mimblewimble устраняет необходимость знать все это, поскольку отсутствует само понятие истории транзакций. Монета не имеет какого-либо конкретного блока, в котором она была впервые создана. В дальнейшем монета становится частью комбинированного набора выходов неизрасходованных транзакций (UTXO) – в него входят все выходы, которые хранят монеты и в потенциале могут быть в любой момент израсходованы.
@SDLerner @Technom4ge Is it possible that #MimbleWimble is the work of Satoshi, who has returned to save #Bitcoin?
— Robert Kuhne (@rbtkhn) October 8, 2016
Таким образом, для верификации транзакций нодам более не нужно знать историю всех предыдущих транзакций – для этого им достаточно знать, что конкретные выходы являются подлинными.
Боле того, ноды могут установить подлинность выходов относительно легко: для этого им нужны лишь заголовки блоков и формальные подписи выходов. И то, и другое оказывается достаточно компактным с точки зрения размера данных, а все остальные данные о транзакциях – по сути, весь блокчейн – может быть отброшен.
Преимущество в сравнении с другими техниками анонимизации очевидно. Если бы Confidential Transactions и CoinJoin использовались в сети биткоин с первого же дня, на сегодняшний день нодам для полноценной работы требовалось бы более терабайта данных, в то время как при использовании Mimblewimble это было около 120Гб. Еще более интересным оказывается тот момент, что, если со временем блокчейн будет неизбежно разрастаться, при использовании Mimblewimble требуемый массив данных может уменьшиться – для этого необходимо, чтобы большее количество биткоинов хранилось в меньшем числе выходов.
Совместимость
В своем нынешнем виде Mimblewimble, возможно, не очень совместим с протоколом биткоина, поскольку требует удаления скрипта из транзакции. В результате не остается пространства для других функций биткоина, например, для time-locked transactions (которые, среди прочего, используются в Lightning Network) и др.
Это, однако, не делает его бесполезным. Mimblewimble может оказаться идеальным решением для сайдчейнов с повышенным вниманием к вопросу конфиденциальности. Также, по мнению Эндрю Поелстра, решение может быть имплементировано в виде альткоина, и нельзя исключать того, что свои предложения внесут другие разработчики.
С обновленным White Paper Mimblewimble можно ознакомиться здесь.
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!