Обновления в области конфиденциальности и масштабирования Taproot и подписи Шнорра достигли значительного прогресса в последнее время, перейдя от теоретической идеи к реальному коду. Эти обновления объединяют в себе несколько разных технологий, которые предлагались на протяжении многих лет, и каждая из них технически и концептуально уникальна.
Во первых, в эти обновления входят Мерклизованные абстрактные синтаксические деревья (Merklized Abstract Syntax Trees - MAST), которые разработчики технологий смарт-контрактов обсуждают с 2013 года. В обновление также включены технология подписей Шнорра, предложенная в 2015 году разработчиком Питером Вюлле (Pieter Wuille), и Taproot - технология конфиденциальности, предложенная в 2018 году Грегом Максвеллом (Greg Maxwell).
Конфиденциальность и масштабирование – то, чего по-прежнему не хватает Биткоину. Несмотря на необходимость этих изменений, массовые обновления сложно внедрять в Биткоине из-за большого числа независимых друг от друга пользователей, майнеров и сервисов, разбросанных по всему миру. Один из острых вопросов заключается в необходимости достичь соглашения о том, что именно войдет в обновление.
«Я думаю, что самая большая проблема в этом процессе - создание точного набора функций для одновременного развертывания», - сказал исследователь Blockstream Тим Раффинг (Tim Ruffing).
Масштабы обновления
Во-первых, стоит помнить, что это обновление не волшебная таблетка, которая мгновенно превратит Биткоин в супермасштабируемую и конфиденциальную криптовалюту.
Однако обновление улучшит сеть сразу в нескольких аспектах. Во-первых, более сложные типы транзакций станут проще в использовании. В типичной транзакции один человек подписывает ее, таким образом доказывая, что он владеет BTC и имеет право отправить их. С другой стороны, транзакции с несколькими подписями требуют многократного подписания. Это обновление упростит осуществление таких транзакций.
«Вполне вероятно, что все больше кошельков будут поддерживать мультиподписи, потому что это станет дешевле и более конфиденциально с Taproot», - сказал исследователь из Blockstream Йонас Ник (Jonas Nick).
Технология мультиподписей имеет много важных вариантов использования. Во-первых, сеть Lightning Network, зависящая от мультиподписей, потенциально может ускорить и масштабировать платежи для Биткоина. Если Lightning и правда окажется будущим Биткоина, как предполагают некоторые энтузиасты, это улучшение может оказать большое влияние, значительно удешевив транзакции.
Кроме того, транзакции с мультиподписями с использованием новой технологии будут выглядеть так же, как и обычные транзакции. Таким образом, даже несмотря на открытость блокчейна Биткоина, где любой может легко найти конкретную транзакцию, с этой технологией наблюдатели не будут знать, какие именно транзакции осуществляются с использование каналов Lightning.
«Открытие и закрытие каналов Lightning будет неотличимо от обычных платежей. Это также означает, что открытие канала Lightning будет стоить столько же, сколько и обычная транзакция», - сказал Ник.
Подписи Шнорра – повышение эффективности
Чтобы разобраться в сути этих обновлений требуется некоторое понимание того, как работает Биткоин. Только с правильным закрытым ключом можно подписать транзакцию, тем самым отправив биткоины. Этот процесс создает подпись, которая прикрепляется к транзакции.
Иногда для подписания транзакции требуется более одного человека. Когда такая мультиподписная транзакция подписывается с использованием ECDSA (текущий метод подписи в Биткоине), она создает отдельную подпись для каждого кошелька. Однако этого можно избежать - с помощью подписей Шнорра можно объединить все эти данные в одну подпись через агрегацию ключей.
Как отмечает Bitcoin Optech, объединение поможет уменьшить размер этого типа транзакций с BTC на 30% – 75%. Подобные технологии масштабирования важны, потому что загрузка полного блокчейна - это самый безопасный и минимизирующий доверие способ использования Биткоина. Однако сейчас для этого необходимо иметь более 300 гигабайт свободного места и запастись терпением - скачивание и обработка всей базы данных требует от нескольких часов до нескольких дней.
Подписи Шнорра также сделают возможной так называемую «пакетную проверку», которая позволяет разом проверить действительность нескольких подписей.
Разработчики уже давно предлагают использовать «перекрестную агрегацию входов подписей» для встраивания подписей Шнорра в транзакции биткоина. Обычно для каждой транзакции требуется более одной подписи - по одной на каждый «вход». При этом подписи Шнорра теоретически могут сжать вместе все эти подписи для каждой транзакции.
Но с внедрением этой функции придется подождать, так как разработчики все еще работают над некоторыми проблемами безопасности, которые пока не позволяют добавить эту функцию в Биткоин. Однако с добавлением подписей Шнорра, этот функционал станет на шаг ближе к внедрению.
«Это может быть реализовано в будущем обновлении», - сказал Раффинг.
MAST: улучшенные смарт-контракты
Хотя Мерклизованные абстрактные синтаксические деревья (MAST) и не попали в название обновления, это интересная технология, которую разработчики уже давно обсуждают.
Чтобы понять, как работают MAST, можно представить ситуацию, когда пользователь хочет одновременно реализовать два условия при отправке транзакции: добавить мультиподписи, а также назначить передачу BTC на определенную дату и время. Сейчас, когда один из этих сценариев исполняется, в транзакцию добавляется полный скрипт, занимая много места и показывая всему миру, какие условия применил пользователь.
MAST реализует эти условия по новому принципу, который выглядит как дерево. Каждая ветвь дерева содержит различные условия, которые пользователь должен выполнить, чтобы потратить биткоин. Затем в блокчейн Биткоина включается только хэш верхушки дерева вместо всех условий сценария.
Taproot – повышение конфиденциальности
Taproot опирается на MAST и подписи Шнорра, чтобы создавать конфиденциальные смарт-контракты. Как правило, сейчас транзакции со сложными сценариями, использующими MAST, сильно выделяются в блокчейне. Даже если сами MAST в большей степени сохраняют конфиденциальность, формат этих транзакций немного отличается, поэтому легко определить, используется сценарий или нет.
С помощью агрегации подписей, которую предоставляют подписи Шнорра, Taproot делает эти транзакции похожими на обычные. Однако это не работает для каждого контракта MAST, только для совместных расходов, где одна ветвь дерева Меркла представляет собой транзакцию с мультиподписями, которая успешно используется. Если используются какие-либо другие ветви, преимущество конфиденциальности исчезает. Тем не менее, разработчики ожидают, что вариант совместных трат будет наиболее распространенным.
Кроме того, есть Tapscript, который поможет облегчить дальнейшее улучшение сценариев.
«Хотя изменения в BIP Tapscript не сразу приносят пользу среднестатистическому пользователю биткоина, они призваны упростить обновление системы сценариев в будущем», - сказал Ник.
Сейчас разработчики ведут активное тестирование этого пакета новых технологий. Пока никаких серьезных проблем обнаружено не было, но разработчики продолжают тестировать обновление, прежде чем добавить его в Биткоин через софтфорк.
«Совсем недавно мы предложили несколько небольших изменений, чтобы сделать механизм подписей Шнорра более устойчивым к ошибкам реализации и физическим атакам», - сказал Ник.
По мере того, как разработчики создают и расширяют технологии Биткоина, именно изменения, подобные Taproot и подписям Шнорра, могут сделать платформу более полноценной для разработчиков и финансовых специалистов.