Недавно клиент Rabbit Swap столкнулся с проблемой при попытке обменять биткоин на другую криптовалюту. Он получил от нашего поставщика ликвидности адрес для перевода биткоина, но по ошибке вместо этого отправил биткоин SV (BSV). Осознав ошибку, клиент запросил возврат BSV. Технически это было возможно, поскольку закрытый ключ для биткоин-адреса также может получить доступ к монетам в форках биткоина, таких как BSV. Однако поставщик ликвидности отказался, сославшись на отсутствие операционной совместимости с блокчейном BSV и отсутствие доступа к его средствам.
Мы объяснили поставщику ликвидности, что для доступа к BSV потребуется просто импортировать закрытый ключ биткоина (или соответствующую ему сид-фразу) в кошелек, поддерживающий BSV. Тем не менее, поставщик колебался. Он считал Крейга Райта, создателя BSV, мошенником и не доверял всем кошелькам, связанным с этим блокчейном. Поэтому он не хотел вводить свою сид-фразу в такие кошельки, поскольку она предоставляла доступ к их биткоин-адресам. Эти адреса активно использовались для свопов, и они не хотели подвергать риску свою безопасность.
Клиент утверждал, что владение криптовалютой сводится к владению закрытым ключом. Если средства были отправлены случайно, владелец ключа не имел законных прав на них и был обязан вернуть активы.
Обе точки зрения имели смысл. Это поднимало фундаментальный вопрос: делает ли наличие закрытого ключа человека владельцем соответствующей криптовалюты? Из этого вытекали более глубокие вопросы:
Взгляд на статью Википедии о "Собственности" показывает, что существует много моделей и типов собственности, которые варьируются в разных обществах и традициях. Собственность полностью зависит от социальных соглашений.
Например, компании продают сертификаты, предоставляющие право собственности на участки на Луне. Означает ли наличие такого сертификата, что вы владеете лунной землей? Можете ли вы запретить астронавтам незаконно проникать на территорию? Только если они принимают правила, установленные эмитентом сертификата.
Для нашего поставщика ликвидности блокчейн Bitcoin SV был сродни такому сертификату — набору символов, не имеющих для них практического значения. Транзакции за пределами блокчейна Биткоина не соответствовали принятым поставщиком правилам. Заставлять их придерживаться другого набора правил казалось необоснованным.
Некоторые правила подчинены другим. Например, если группа друзей играет в баскетбол на улице, и мяч случайно закатывается к прохожему, который не является частью игры, этот прохожий не обязан следовать правилам игры. Однако они также не могут оставить мяч себе - они должны вернуть его игрокам.
Наш клиент утверждал, что криптовалюта случайно оказалась у поставщика ликвидности, и в соответствии с общими правилами владения собственностью ее следует вернуть. Однако общие принципы владения трудно применить к криптовалюте, и вот почему.
В экосистемах блокчейна закрытые ключи предоставляют контроль над криптовалютой. На первый взгляд, это кажется очевидным:
Но в каком смысле закрытый ключ действительно "мой"? Он "мой" в том же смысле, что и мой язык, родной город или друзья — они связаны со мной, но не исключительно. Другие могут предъявить равные права.
Андреас Антонопулос опубликовал в книге Mastering Bitcoin несколько реальных закрытых ключей.
Здесь вы можете увидеть закрытый ключ для адреса 1J7m…oXZy. Можем ли мы сказать, что любые монеты, отправленные на этот адрес, станут вашими? Едва ли. Почти наверняка специализированные боты-опустошители уже отслеживают все такие адреса. Если туда что-то будет отправлено, самый быстрый бот немедленно переведет это на другой адрес.
Современные пользователи редко взаимодействуют напрямую с закрытыми ключами, полагаясь вместо этого на сид-фразы — мнемонические представления ключей, состоящие из 12-24 слов. Однако упрощенные сид-фразы (например, легко угадываемые "мозговые кошельки") уязвимы для кражи. Чей бот действует первым, тот и становится фактическим "владельцем".
15 января 2015 года неизвестный энтузиаст создал головоломную транзакцию в блокчейне Биткоин.
В этой транзакции биткоин был отправлен на 256 адресов:
Закрытый ключ для первого адреса было очень легко угадать (это был известный мозговой кошелек). Закрытый ключ для каждого последующего адреса было в два раза труднее найти, чем предыдущий, а вознаграждение каждый раз увеличивалось на 0,001 BTC.
Первые 20 закрытых ключей были найдены сразу после того, как трансляция головоломной транзакции была объявлена. Биткоины с этих адресов были переведены в том же блоке, что и исходная транзакция.
21-й ключ был найден час спустя. На 22-й ключ ушло три часа, а на 23-й - 25 часов.
Почти десять лет спустя, первые 66 выходов головоломной транзакции были израсходованы, наряду с некоторыми выходами с 70-го по 130-й. Самый последний из них был израсходован 23 сентября 2024 г. Это означает, что кому-то потребовалось 9 лет, 9 месяцев и 8 дней, чтобы найти один из этих ключей. Несмотря на трудности, кто-то выполнил эту задачу и получил вознаграждение в размере 0,13 BTC.
Несомненно, работа продолжается, и кто-то все еще пытается найти оставшиеся ключи из этой транзакции прямо сейчас. Более того, вполне вероятно, что все эти ключи остаются у человека, который первоначально отправил транзакцию. Но действительно ли этот человек владеет монетами? Если да, то те, кто находит ключи и переводит средства, крадут ли у владельца? Трудно сказать. Невозможно определить, используют ли разные лица ключи для различных выводов из последних транзакций, или же это работа одного человека (возможно, даже первоначального отправителя транзакции).
Если два человека знают один и тот же закрытый ключ, узлы сети Биткоин не делают между ними различий. Узлы, проверяющие транзакции, не требуют квитанции или контракта для подтверждения законности владения криптовалютой. Они рассматривают закрытый ключ не как свидетельство о праве собственности, а как инструмент шифрования. Если криптографическая подпись действительна, транзакция считается законной, независимо от того, кто из потенциально многих людей, знающих закрытый ключ, ее подписал.
В широком смысле, понятие "владения" криптовалютой имеет значение только в момент создания транзакции. По мере распространения транзакции по сети криптовалют узлы проверяют, имеет ли отправитель право распоряжаться криптовалютой. Вне транзакции говорить о владении криптовалютой неточно.
Если наш поставщик ликвидности не использовал закрытый ключ в сети Bitcoin SV и не намеревался его использовать, было бы неправильно утверждать, что он завладел криптовалютой в этой сети.
Существуют программы, которые позволяют пользователям генерировать эстетически приятные адреса криптовалют. В сети Bitcoin популярными примерами таких инструментов являются VanityGen, VanitySearch, VanityBTC и другие. Когда вы запускаете эти программы, вы указываете последовательность символов, которые вы хотите видеть в адресе, и программа начинает генерировать закрытые ключи и проверять, соответствует ли случайно созданный закрытый ключ адресу, содержащему желаемую последовательность символов.
Но что происходит с адресами, отбракованными как непригодные? Почему бы не составить базу данных пар "закрытый ключ — публичный адрес" и не позволить боту-опустошителю управлять этой базой данных? Вполне возможно, что кто-то в какой-то момент случайно сгенерирует точно такой же закрытый ключ и начнет использовать соответствующий адрес. Если на этот адрес будут отправлены монеты, вы сможете взять их под свой контроль.
Некоторые могут сказать, что это неэтично, потому что адрес принадлежит кому-то другому. Но так ли это на самом деле? Если вы первым создали его, разве вы не можете претендовать на него как на свой?
Существует пул для "майнинга", называемый Large Bitcoin Collider, который объединяет усилия отдельных лиц, генерирующих закрытые ключи Биткоина в промышленных масштабах. Цель пула - консолидировать все эти ключи в единую базу данных и следить за тем, появляются ли в блокчейне какие-либо непустые адреса, ключи которых находятся в этой базе данных. Если такой адрес будет найден, пул перераспределяет содержащиеся в нем биткоины пропорционально вкладу каждого участника в создание базы данных.
Создатели пула честны в отношении своей деятельности. Они утверждают, что их работа строго соответствует существующим правилам консенсуса Биткоина. Аналогичный дискурс возник в сообществе Ethereum в 2016 году, когда хакер вывел 3,6 миллиона ETH из смарт-контракта и потребовал, чтобы Ethereum Foundation перестала называть их вором, поскольку его действия полностью соответствовали уголовному и гражданскому законодательству Соединенных Штатов, а также условиям The DAO.
С юридической точки зрения, не было никаких возражений против этого утверждения. Единственным способом вернуть утраченные средства было отменить транзакцию в блокчейне, что Ethereum Foundation в конечном итоге и сделала.
В случае с майнингом закрытых ключей также нет никаких законных оснований для запрета этой деятельности. Если люди хотят это делать, они это делают. Вероятность генерации закрытого ключа, который уже был создан кем-то другим, бесконечно мала. Однако чем дольше продолжается этот майнинг, тем выше становится эта вероятность.
Это добавляет еще одно измерение к ситуации с нашим клиентом, где Bitcoin SV был отправлен по ошибке вместо биткоина. Даже если бы закрытый ключ был представлен и монеты переведены на другой адрес, никто не мог бы быть уверен, что перевод был сделан нашим поставщиком ликвидности.
Многие юрисдикции признают криптовалюту собственностью, но противоречия остаются. Несколько несвязанных между собой лиц могут контролировать одни и те же средства, если все они знают один и тот же закрытый ключ. Уникальное решение предлагается в России: право собственности на криптовалюту признается на законных основаниях только в случае предварительного декларирования. Тот, кто первым заявляет свои права, считается владельцем.
Зная это, можно было бы предложить Крейгу Райту, который утверждает, что является Сатоши Накамото, подать декларацию в российские органы власти, заявив, что биткоины в адресах Сатоши принадлежат ему.
Однако настоящий Сатоши, если бы они захотели высмеять Крейга Райта, мог бы отправить небольшую сумму с одного из этих адресов на адрес, помеченный как причастный к терроризму. Тогда Крейгу Райту пришлось бы доказать, что он не стоит за такой деятельностью.
В конечном счете, бесконтрольная природа криптовалюты противоречит традиционным концепциям собственности. Держатели ключей не всегда могут контролировать криптовалюту.
Стоит вернуться к аналогии, которую мы использовали в самом начале: люди играют в баскетбол на улице.
Один из них приносит мяч из дома. Этот мяч принадлежит им, и его владелец вполне может ожидать, что никто не отнимет его против их воли. В конце концов, захват чужой собственности без согласия владельца противоречит установленным социальным правилам.
Но как только владелец использует мяч в игре, правила полностью меняются. Игра позволяет игрокам завладеть мячом другого. Любой может попытаться отобрать мяч у противника, и это считается вполне законным действием.
Когда мы конвертируем свои сбережения в криптовалюту, мы вступаем в игру, где правила позволяют любому, у кого есть закрытый ключ к нашему адресу, контролировать нашу криптовалюту. Никто не может проверить, мы ли предъявляем закрытый ключ или кто-то другой.
Вероятность того, что кто-то случайно или намеренно угадает наш закрытый ключ, ничтожно мала, но она не равна нулю. Чем популярнее становится криптовалюта, тем больше людей захотят присоединиться к таким пулам, как Large Bitcoin Collider.
Эта проблема особенно актуальна для таких блокчейнов, как:
Чтобы снизить этот риск, вы можете использовать адреса с несколькими подписями или хранить средства в смарт-контрактах со сложными условиями вывода средств. Однако самый простой метод — это распределить свои сбережения по нескольким адресам, не связанным с одной и той же сид-фразой.
В Биткоине для этой цели могут служить каналы Lightning. Этот подход также имеет практические преимущества: чем больше каналов в сети, тем выше ее пропускная способность. Делая это, вы не только защищаете себя, но и вносите свой вклад в развитие децентрализованных денег.
—
В случае с клиентом Rabbit Swap, который по ошибке отправил BSV вместо BTC, история закончилась хорошо. Все наши партнеры — профессионалы, и они прекрасно понимают, что их решения напрямую влияют на благополучие клиентов. Как только все остальные свопы с адресами, связанными с сид-фразой нашего поставщика ликвидности, были завершены, и больше не было риска финансовых потерь от потенциальной утечки закрытых ключей, поставщик ввел сид-фразу в кошелек, поддерживающий BSV, и перевел монеты обратно отправителю.