14 января состоялся релиз версии 0.21.0 Bitcoin Core, наиболее популярного клиента сети биткоина. Помимо различных нововведений и улучшений, в него вошла окончательная версия кода Schnorr/Taproot, обновления, призванного повысить конфиденциальность и масштабируемость сети, а также взаимозаменяемость монет.
Непосредственные сроки активации решения пока не определены и необходимая для запуска активационная логика отсутствует. В ближайшие месяцы разработчики могут включить ее в один из предстоящих промежуточных релизов Bitcoin Core.
Прежде чем Taproot включили в Bitcoin Core, его код на протяжении нескольких лет изучали более 150 разработчиков, а по состоянию на конец декабря в пользу обновления сигнализировали практически все крупнейшие майнинговые пулы или более 90% хешрейта.
Для биткоина, история которого знала немало расхождений во взглядах на технические вопросы, это достаточно редкое явление. Единство во взглядах разработчики продемонстрировали и после недавних заявлений создателя сервиса Blockchair Никиты Жаворонкова, предположившего, что Taproot не только не повышает приватность транзакций, а скорее наоборот — снижает ее.
Ключевое
Аргументы против Taproot
Жаворонков перечислил причины, по которым Taproot угрожает приватности биткоина, в документе, опубликованном в конце ноября 2020 года. Он призвал разработчиков отказаться от активации этого решения.
My report on the negative impact of Taproot on Bitcoin’s privacy. PDF: https://t.co/5LK1QZSUzO
tl;dr: Introducing one more common address format (P2TR) will lead to disastrous privacy leaks.
Please help to spread the message to miners. My DM’s are open for questions. (1/35) pic.twitter.com/zJV3PRZGUJ
— Nikita Zhavoronkov (@nikzh) November 27, 2020
Как известно, развернутые в сети биткоина ноды отслеживают выходы, через которые можно отправлять средства при выполнении транзакций. Они известны как неизрасходованные выходы транзакций (UTXO). Например, у Алисы есть два биткоина, один из которых она хочет отправить Бобу. При осуществлении транзакции происходит разделение UTXO, в котором находятся принадлежащие ей монеты: 1 BTC уходит Бобу, еще 1 BTC отправляется обратно Алисе на так называемый адрес сдачи (change address).
(6/35) pic.twitter.com/bEQZ0Da0Wl
— Nikita Zhavoronkov (@nikzh) November 27, 2020
Taproot активирует новые правила (скрипты), которые внешне отличаются от уже существующих скриптов вроде механизма подписи транзакций при помощи приватных ключей или скриптов UTXO.
По мнению Жаворонкова, монеты, запертые в таких скриптах, будут выделяться среди остальных, что облегчит аналитическим компаниям задачу по определению получателей средств.
В качестве примера он приводит bech32, нативный формат SegWit-адресов (начинаются с «bc1»). В случае, если получатель обновился до SegWit и использует этот формат, кошелек отправителя продолжает создавать адреса сдачи того же типа, что и изначально (начиная с «1»).
Это будет выглядеть так:
(8/35) pic.twitter.com/QfCRtgkXDI
— Nikita Zhavoronkov (@nikzh) November 27, 2020
Теперь можно установить, что 1BitcoinAddress11111 и 1BitcoinAddress3333333 принадлежат одному и тому же лицу (отправителю). Это позволяет сделать кластеризации адресов и несет потенциальный риск как для отправителя, так и для получателя.
Также Жаворонков указывает на общее «ухудшение приватности» биткоина с добавлением каждого нового типа скриптов – начиная от P2SH и заканчивая P2WPKH и P2WSH, которые появились вместе с SegWit. Taproot добавит P2TR, и технология будет эффективной только в случае 100-процентного принятия пользователями и биржами.
«Те, кто выступает за Taproot и отрицает его негативное влияние на приватность, подразумевают, что все будут использовать Taproot, поэтому все в мгновение ока сводится к сценарию «каждый пользователь использует P2TR, и каждая биржа использует P2TR». К сожалению, это утопия. С момента активации SegWit прошло более трех лет, и он до сих пор используется менее чем в 50% всех транзакций. Этого просто недостаточно», — пишет Жаворонков.
Что говорят в Bitcoin Core
Аргументы Жаворонкова практически моментально встретили яростную критику со стороны разработчиков Bitcoin Core, в первую очередь со стороны автора технологии Грегори Максвелла.
В развернутом комментарии на Reddit бывший CTO Blockstream назвал Жаворонкова «интеллектуально нечестным трусом» и, напомнив о тесных связях разработчика Blockchair с Bitcoin Cash, призвал его не прятаться за оскорбительными постами в Twitter, а дать прямые ответы на некоторые вопросы.
«Где твоя кампания «Остановите подписи Шнорра» для BCash? Они позволяют различать кошельки как и любой другой новый скрипт, но ты об этом молчишь. Где твой крестовый поход против мультиподписи 4-из-5? Против P2SH? Их нет», — спрашивает Максвелл.
Также он задается вопросом, почему Жаворонкова не беспокоят вопросы приватности в случаях с хардфорками «скам-монет» или почему он видит угрозу приватности биткоина там, где другой тип скриптов используется всего в 10% транзакций, но не видит ее у альткоинов, число транзакций у которых существенно меньше (как, например, в случае с Bitcoin Cash).
Максвелл отметил, что негативное влияние на приватность пользователей оказывает каждое новое использование скриптов и каждая новая политика в отношении технологии мультиподписи. Более того, по его словам, пользователи могут сами поставить свою приватность под угрозу, например, вбив свой адрес в обозреватель блоков.
«Taproot эту ситуацию значительно улучшает, но поскольку он сам по себе является новой функцией, уровень приватности пользователей будет небольшим до тех пор, пока ее использование не станет повсеместным. Это то, что всегда обсуждалось в процессе работы над Taproot и привело к ряду решений в отношении его дизайна», — добавил он.
Максвелл также считает исключительно ироничным тот факт, что Жаворонков обрушился с критикой именно в связи с вопросами приватности, в то время как его собственный сайт является централизованным и может хранить приватные данные пользователей без их ведома.
Ответ разработчика Blockchair не заставил себя ждать:
«Я не хочу ничего обсуждать на подвергающемся цензуре сабреддите, какой в этом смысл? Twitter в этом отношении нейтрален (если только ты не Трамп), поэтому я предпочитаю его», — ответил Жаворонков, отметив что несколько месяцев назад в Blockchair появился инструмент оценки уровня конфиденциальности транзакций в сети биткоина, в то время как для Bitcoin Cash такой опции пока нет.
В дальнейшем Жаворонков все же вступил в более глубокую дискуссию с Максвеллом, заявив о своем стремлении защитить интересы обычных пользователей, осуществляющих простые транзакции, а не гиков, зацикленных на сложных и недоступных широкому кругу технологиях вроде Lightning Network.
Но, как считает Максвелл, обстоятельных ответов на свои вопросы он так и не получил, а сама презентация состоит из ничем не подкрепленных и ложных заявлений и является примером коммерческого конфликта интересов.
Долгосрочная перспектива
Отметим, что согласно официальной документации, Taproot в сочетании с подписями Шнорра расширяет возможности технологии мультиподписи, увеличивая группу типов транзакций, которым можно придавать видимость стандартных. В их число, помимо схем P2PKH и P2WPKH, т.е. одиночных трат, также входят закрытия каналов в сети Lightning Network и атомарные свопы.
Питер Велле, который в октябре 2020 года объединил в одно предложение подписи Шнорра, технологии Taproot и Tapscript, от обширных дискуссий касательно критики Жаворонкова воздержался, ограничившись ретвитом треда немецкого разработчика Lightning Network @sebx2a. В нем говорится, что утверждения о негативном влиянии Taproot на приватность – это попытка посеять семена сомнений в отношении технологии.
«Краткосрочные негативные последствия хорошо известны, но улучшения в долгосрочной перспективе их перешивают», — прокомментировал @sebx2a документ Жаворонкова.
For some reason people have begun spreading FUD around Taproot's privacy implications. While a very small short term negative effect is well known, the improvements down the road more than outweigh it.
So what's their argument and why is it so weak? (1/9) https://t.co/GTcyCYgmwj
— @sebx2a@bitcoinhackers.org (@sebx2a) November 28, 2020
Согласен с ним и независимый разработчик Bitcoin Core Глеб Науменко.
«Если говорить коротко, Taproot действительно может привести к потере приватности, но в незначительных масштабах и только при определенных условиях и специфических атаках. В большинстве случаев и как следствие в целом, Taproot — однозначно плюс, и про приватности, и по гибкости смарт-контрактов», — сказал он.
Истеричность противников Taproot и конспирологические версии, которые, по его словам, можно увидеть на слайдах в презентации Жаворонкова, не только опоздали на дискуссию, но и не располагают к конструктиву.
«Противников, впрочем, немного, из публичных фигур — это только Никита», — добавил Глеб Науменко.
По его словам, если у пользователей по-прежнему есть сомнения, лучше самостоятельно вникнуть в детали и сделать собственные выводы. А если такой возможности нет – обратиться за советом к экспертам.