В запланированном обновлении Schnorr-Taproot наблюдается значительный прогресс ― предложенные идеи для улучшения конфиденциальности и масштабирования биткоина уже превратились в реальный код.
Перевод статьи Алиссы Хертиг для Coindesk.
Вместе в тем эти изменения довольно запутанные, поскольку они объединяют в себе несколько разных технологий, и каждая из них технически и концептуально уникальна.
Изменения включают технологию Merklized Abstract Syntax Trees (MAST), о которой разработчики говорят с 2013 года; подписи Шнорра, которые улучшают масштабируемость биткоина и впервые были предложены ещё в 2015 году разработчиком Питером Вулле; и, наконец, технология Taproot, которая улучшает конфиденциальность биткоина, и была предложена в 2018 году разработчиком Грегом Максвеллом.
«Я думаю, что самой большой проблемой в этом процессе было создание точного набора функций для одновременного развертывания», ― сказал в интервью CoinDesk исследователь компании blockstream Тим Руффинг.
Насколько велико это обновление?
Важно подчеркнуть, что это обновление полезно, но оно не станет волшебной таблеткой, которая мгновенно превратит биткоин в супермасштабируемую и анонимную валюту.
«Это хорошие улучшения, но они не сделают биткоин анонимной валютой», ― сказал Руффинг.
Улучшения предлагают использование более сложных типов транзакций и упрощают использование транзакций с несколькими подписями (мультиподписи). В обычной транзакции один человек «подписывает» транзакцию, доказывая, что он владеет биткоином и может отправить его. Транзакции с мультиподписями требуют многократного подписания транзакции.
«Вполне вероятно, что больше кошельков будут поддерживать мультиподписи, потому что они станут дешевле и более приватными с BIP-taproot», ― сказал в интервью CoinDesk исследователь Blockstream Джонас Ник.
Мультиподпись имеет несколько вариантов использования. Во-первых, они могут ускорить развитие технологии lightning Network, которая полагается на мультиподписи. Улучшение сделает эти транзакции меньшими по размеру и более дешевыми в обработке.
Кроме того, транзакции с мультиподписью с использованием новой технологии будут выглядеть так же, как и обычные транзакции. Таким образом, сторонние наблюдатели не будут знать, что эти транзакции действительно представляют Lightning-каналы. «Открытие Lightning-канала в блокчейне будут неотличимо от обычных платежей», ― сказал Ник.
Наконец, изменение проложит путь к другим улучшениям. Одним из возможных следующих шагов является добавление «агрегации кросс-ввода», еще одного способа масштабирования биткоина на целых 25–30%.
Подписи Шнорра
Понимание этого обновления требует некоторых знаний о том, как работает биткоин. Только с правильным закрытым ключом кто-то может «подписать» транзакцию, тем самым отправив биткоин кому-то еще. Этот процесс создает «подпись», которая прикрепляется к транзакции. Суть в том, что любой человек в мире может проверить, что эта подпись была сделана с помощью правильного ключа.
Выше мы затронули более сложную версию транзакции с несколькими подписями, когда для подписания транзакции требуется более одного человека. Когда такая транзакция подписывается с использованием ECDSA (текущий алгоритм подписи биткоина), она создает отдельную подпись для каждого человека.
Но с помощью подписей Шнорра можно объединить все эти данные в одну подпись путем агрегации ключей.
По оценкам bitcoin Optech (организации, которая помогает биткоин-компаниям внедрять новые технологии масштабирования), реализация Schnorr/Taproot может уменьшить размер транзакций с мультиподписью от 30% до 75%.
С точки зрения масштабирования эта технология важна, потому что для загрузки полного блокчейна биткоина сегодня требуется более 300 гигабайт памяти.
Подписи Шнорра также допускают так называемую «пакетную валидацию», которая проверяет действительность сразу нескольких подписей.
Также разработчики уже давно предлагают использовать «агрегацию подписей между входами» при встраивания подписей Шнорра в биткоин-транзакции. Обычно для каждой транзакции требуется более одной подписи, по одной на каждый «вход», что эквивалентно одному счету из нескольких, переданных кассиру. Но что, если бы мы могли сжать все эти подписи для каждой транзакции?
Подпись Шнорра теоретически допускает это, но разработчики все еще работают над некоторыми проблемами безопасности. «Такая функция может быть реализована в будущем обновлении», ― сказал Руффинг.
MAST
MAST не фигуриуют в названии грядущего обновления биткоина, но это важная функция, о которой разработчики говорят уже давно.
MAST позволяет реализовать смарт-контракты в биткоине, которые дадут возможность устанавливать более сложные условия для выполнения транзакций.
Вспомните вариант с мультиподписями, о котором мы говорили выше. Затем представьте ситуацию, в которой вы хотите создать сценарий (скрипт), согласно которому биткоин не может быть потрачен до определенной даты. Пользователь может захотеть объединить несколько условий сразу.
Сейчас, когда одно их этих условий «погашено», полный сценарий превращается в транзакцию, занимая много места и показывая всему миру, по каким условиям пользователь блокировал биткоины.
MAST организуют эти условия в виде «дерева». Каждая ветвь дерева содержит различные условия, которые пользователь может выполнить, чтобы потратить биткоин. Затем в блокчейн биткоина включается только хеш вершины дерева вместо всех условий скрипта.
Это более приватно, потому что только используемый скрипт попадает в блокчейн. В целом, MAST значительно упрощают и удешевляют блокировку биткоинов при использовании более сложных наборов условий.
Taproot
Технология Taproot опирается на MAST и подписи Шнорра. Она используется для создания смарт-контрактов с лучшей конфиденциальностью.
Транзакции со сложными скриптами, которые будут использовать MAST, будут выделятся в блокчейне. Даже если сам MAST во многом улучшает приватность, формат этих транзакций немного отличается, поэтому легко определить, использует ли кто-то скрипт или нет.
Используя подписи Шнорра, Taproot сделает эти транзакции похожими на обычные транзакции.
Но это не работает для каждого контракта MAST, только для совместного расходования, где используется ветвь дерева Меркла, которая является транзакцией с мультиподписью. Если используются какие-либо другие ветви, это преимущество конфиденциальности исчезает.
Тем не менее, разработчики ожидают, что транзакции с мультиподписью в будущем будут наиболее распространенными.
В данный момент разработчики ведут тестирование этого пакета новых технологий. Пока что не было обнаружено никаких серьезных проблем.
«Совсем недавно мы предложили несколько небольших изменений, чтобы сделать алгоритм подписи Шнорра более устойчивым к ошибкам реализации и физическим атакам», ― сказал Ник.