Ошибка в кошельке Bitcoin SV Multisig угрожает вашим BSV

617

Когда Bitcoin SV (BSV) разветвился от Bitcoin Cash, его мандат на создание более быстрой и ориентированной на платежи блокчейна требовал устранения некоторых ключевых технических характеристик Биткойна.

Одна из этих функций, так называемая хеш-функция pay-to-script (P2SH), позволяет пользователю отправлять транзакцию, подписывая ее «скриптом», а не адресом открытого ключа. Эти скрипты создают особые условия, которые должны быть соблюдены для доступа к отправленным им биткойнам и они чаще всего используются в транзакциях с несколькими подписями — или транзакциях, требующих утверждения более чем одной стороной.

До того, как транзакции P2SH пришли в Биткойн в 2012 году, единственный тип транзакции Биткойн отправлял платежи на адрес с открытым ключом с помощью функции хеширования открытого ключа (P2PKH).

Домашние кошельки с мультиподписью BSV были взломаны

Разработчик Bitcoin Core и бывший технический директор Blockstream Грегори Максвелл ( Gregory Maxwell) опубликовал на Reddit, что разработчики BSV некоторое время назад удалили функцию P2SH из кода цепочки блоков BSV. В кошельке ElectrumSV («и, вероятно, в другом месте», — пишет Максвелл в своем сообщении) разработчики заменили эту функцию поддельной, специфической для BSV версией, называемой «аккумулятор с несколькими подписями», которая вместо этого использовала транзакции P2PKH.

Есть причина, по которой Биткойн использует P2SH для мультиподписи, а не P2PKH, потому что последний не идеален для транзакций с мультиподписью.

На самом деле это настолько небезопасно, что держатели BSV теряют средства, — говорится в сообщении Максвелл.

«Эти скрипты вообще не имели защиты», — объясняет он.

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

В своем тестировании Максвелл обнаружил две существенные проблемы: во-первых, многопользовательские траты терпят неудачу, если транзакцию подписывают больше, чем минимальное количество ключей. Во-вторых, любой может использовать фонды с несколькими подписями, «имея слишком мало подписей (например, совсем без подписей)».

Один пользователь BSV, Аарон Чжоу, потерял 600 BSV в результате атаки, использовавшей эту уязвимость своего кошелька с мультиподписью. Отвечая на вопрос о проигрыше разработчика в чате BSV, Чжоу сказал, что он доверяет, что «это было достаточно безопасно», потому что «это было представлено CoinGeek», СМИ, поддерживающим BSV, финансируемым Кэлвином Эйром (Calvin Ayre), близким другом создателя BSV, Крейга Райта (Craig Wright). В ответ разработчик в чате отчитал Чжоу, сказав, что он должен был вносить в кошелек только «небольшие суммы».

Если он не сломан, не чините его

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

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

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

Неудивительно, что как разработчик Bitcoin Core Максвелл предпочитает этот методичный подход поверхностному.

«Этой ситуации можно было бы полностью избежать, если бы BSV не отказалась от компетентных, проверенных временем и хорошо проверенных коллегами механизмов мультиподписи Биткойна в пользу гораздо менее эффективных самодельных криптографических средств», — сказал Максвелл.
«Это заставляет задуматься, какие удивительные ошибки скрываются в их узловом программном обеспечении или кошельках. Я могу сказать точно: я не собираюсь ничего из этого запускать и рисковать.”».
Предыдущая статьяХард-форк Bitcoin Cash: что нужно знать
Следующая статьяКонференция отмечает пилотный запуск CBDC в Китае