Binance добавляет в open-source библиотеку TSS реализацию алгоритма цифровой подписи Edwards-Curve Digital Signature Algorithm (EdDSA)

2020-03-19

Три месяца назад Binance объявила о внедрении open-source библиотеки с пороговой схемой подписи (TSS). Это важный шаг, который мы предприняли, чтобы внести свой вклад в разработку блокчейна с открытым исходным кодом. Библиотека совместима с блокчейнами на основе ECDSA, включая сети Binance Chain, Bitcoin и Ethereum. Она уже использовалась для реализации мостов свопа токенов и других функций.

Команда разработчиков Binance Chain продолжает разрабатывать перспективную технологию. Мы рады объявить о реализации open-source библиотеки TSS для EdDSA, которая будет расширяться для поддержки большего количества блокчейнов, включая Cardano, NANO, Stellar Lumens, WAVES и даже Libra!

Почему EdDSA

Эллиптические кривые являются одним из самых эффективных типов криптографии, широко используемых сегодня. В свою очередь, кривые Эдвардса являются последней разработкой среди эллиптических кривых. Алгоритмы цифровой подписи на основе эллиптических кривых могут подписывать сообщения быстрее, чем существующие алгоритмы, такие как RSA, DSA или ElGamal. В сочетании с кривыми Эдвардса алгоритм цифровой подписи кривой Эдвардса (или EdDSA) использует вариант подписей Шнорра на основе кривых Эдвардса.

Некоторые блокчейны, такие как Tezos, Libra и Cardano, решили использовать алгоритм EdDSA с кривой Ed25519 вместо ECDSA с кривой secp256k1. Но почему?

Ключевые особенности алгоритма EdDSA:

  • Быстрая валидация: алгоритм EdDSA проще, чем ECDSA, его легче понять и реализовать. Из-за простоты алгоритм EdDSA часто работает немного лучше, чем ECDSA.

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

  • Линейность [1]: мы можем добавить несколько подписей Шнорра и иметь все еще валидную подпись. Это может сэкономить вычислительные мощности и заложить основу для более высокоуровневых решений, направленных на эффективность и конфиденциальность, например, транзакций с несколькими подписями и др.

Безопасность прежде всего

Безопасность всегда была главным приоритетом для команды разработчиков Binance. Для проведения аудита безопасности первой версии была приглашена tss-lib компания Kudelski Security. Новая реализация EdDSA реализована большей частью на существующей кодовой базе, ее тестирование уже завершено. Вы можете следить за обновлениями багтрекера GitHub здесь.

Tss-lib является частью программы багбаунти от Binance, в рамках которой разраотчики могут сообщать об уязвимостях и получать за это вознаграждение. Поскольку принципы TSS и их реализация все еще довольно новы, криптографы активно исследуют наш код. За это время мы выпустили два обновления безопасности:

  1. https://github.com/binance-chain/tss-lib/releases/tag/v1.1.0

  2. https://github.com/binance-chain/tss-lib/releases/tag/v1.2.0

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

Планы на будущее

В версии v1.3.0 open-source библиотеки tss-lib мы добавляем алгоритм EdDSA. Мы рассчитываем, что участники экосистемы и сообщества Binance используют эту TSS библиотеку в приложениях кошельков, а также помогут в развитии данной технологии.

Это лишь начало нашей работы с TSS. Вместе с сообществом Binance Chain мы продолжим исследования и внедрение лучших решений для управления активами. Создание здорового open-source сообщества принесет пользу как пользователям Binance Chain, так и глобальному сообществу мира криптовалют.

Примечание:

[1] https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr.mediawiki#Motivation