Bitcoin Core начинает активную разработку подписей Шнорра

Подписи Шнорра приближаются к внедрению в сеть Биткоина. На прошлой неделе автор технологии — разработчик Bitcoin Core Петер Вюлле (Pieter Wuille) опубликовал описание BIP, в котором излагаются технические подробности внедрения одного из самых ожидаемых в этом году обновлений Биткоина. Номер для BIP еще не присвоен, то есть предложение пока не перешло в стадию официального обсуждения.

Фактически, подписи Шнорра станут следующим крупным изменением сети после Segregated Witness (SegWit) – обновления, которое спровоцировало затяжную битву в сообществе Биткоина в прошлом году, прежде чем в конечном итоге быть принятым, хотя его широкое внедрение задержалось дольше, чем хотелось бы разработчикам.

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

«Это основа для ряда улучшений», — отмечает Вюлле. Он также добавил, что существуют также некоторые дальнейшие улучшения, которые пока не получили большого внимания. И хотя Вюлле надеется, что изменения будут приняты, он добавил, что «в конечном итоге все зависит от пользователей» и их желания внедрить обновление, как это было в случае с SegWit.

Опубликованное описание BIP было создано Вюлле в соавторстве с несколькими ведущими разработчиками Биткоина: Джонсоном Лау (Johnson Lau) и Грегори Максвеллом (Gregory Maxwell). В предложении описана точная схема создания подписи. И хотя до реализации в коде еще далеко, опубликованная спецификация – необходимая составляющая процесса внедрения.

Путь вперед

В разрабатываемом BIP предложен стандарт, который гарантирует, что все разработчики и бизнес в конечном итоге реализуют код подписи Шнорра одинаково. Полное описание предложения можно прочитать в достаточно сложном для технически неподкованного пользователя Mediawiki для BIP. Основная идея заключается в том, что в нем описана математика, необходимая для создания подписей Шнорра и предлагается альтернатива Elliptic Curve Digital Signature Algorithm (ECDSA) — единственному алгоритму, используемому сейчас для создания ключей и проверки транзакций в Биткоине.

Однако у технологии есть одна общая черта со схемой подписей, которую она пытается вытеснить. Если обновление будет внедрено, в нем будет использоваться та же «эллиптическая кривая», которую ECDSA использует для создания ключей под названием «secp256k1».

Релиз вызвал дискуссию
среди разработчиков Биткоина. Однако никаких ключевых разногласий выявлено не было и разработчики настроены достаточно оптимистично. Одним из ключевых преимуществ подписей Шнорра является то, что в отличие от ECDSA безопасность технологии может быть доказана математически.

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

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

Ник отметил, что технология позволит сделать эти транзакции дешевле, что является важным улучшением, поскольку комиссии могут сильно расти в моменты перегруженности сети.

«Из-за большого количества новых открытий в последнее время я считаю, что эти технологии следует разрабатывать поэтапно, и я сосредоточен на первом шаге — на подписях Шнорра и Taproot», — сказал Вюлле, ссылаясь на предложение по улучшению Биткоина «Taproot», выдвинутое ранее в этом году другим влиятельным разработчиком Биткоина Грегом Максвеллом.

Меньше противников?

Подписи Шнорра – масштабный проект с множеством составляющих. В то время как этот BIP предлагает стандарт для разработчиков, над которым можно подискутировать, инженер Blockstream Джонас Ник отметил, что существует также реализация кода, находящаяся в работе уже очень давно и активно использовалась при создании BIP.

«Специфика развертывания технологии в Биткоине по-прежнему активно обсуждается», — сказал Ник.

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

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

В электронном письме, где было представлено предложение, он добавил, что если BIP будет принят более широким сообществом Биткоина, «мы будем работать над более масштабными базовыми реализациями и тестированиями».

Помимо этого, существует еще один возможный камень преткновения. Подписи Шнорра — особенно крупное обновление. Несмотря на то, в самый популярный клиент Биткоина небольшие изменения вносятся достаточно часто, подписи Шнорра — это более редкий тип изменений, поскольку он затрагивает основные правила протокола Биткоина.

SegWit был последним «консенсусным» изменением кода, осуществленным в Биткоине, который вызвал большую дискуссию. Несогласные с обновлением создали
собственную криптовалюту Bitcoin Cash без SegWit. Однако с внедрением подписей Шнорра ожидается меньше проблем, так как их полезность признает практически все сообщество.