Возможно ли, что злоумышленники, предоставляющие биткойн-кошельки, предоставляют пользователям предварительно сгенерированные закрытые ключи?

Мы доверяем таким кошелькам, как Ledger, Trezor и т. д. Мы считаем, что случайно сгенерированные закрытые ключи безопасны. Но возможно ли, что закрытые ключи, которые вы считали «сгенерированными», на самом деле предоставлены и уже сохранены в базе данных?

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

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

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

Спасибо.

Ответы (3)

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

Веб-страница https://coldcardwallet.com/docs/verifying-dice-roll-math содержит подробную информацию о том, как вы можете проверить, что Coldcard честно сгенерировал ваши исходные слова и ключ из ваших бросков костей.

Я должен упомянуть, что я на самом деле не проводил проверку, но это выглядит выполнимым. (Только убедитесь, что вы никогда не вводите броски костей, исходные слова, закрытые ключи и т. д. на любом устройстве, подключенном к Интернету, и никогда не подключайте саму карту Coldcard к Интернету или к любому устройству, подключенному к Интернету.)

В некоторых случаях вы можете сгенерировать собственную seed-фразу из 12 или 24 слов с помощью программного обеспечения с открытым исходным кодом на изолированном компьютере и использовать эту фразу в режиме восстановления аппаратных устройств.

Например

Фраза восстановления, из которой восстанавливаются закрытые ключи. Поддерживаются фразы восстановления BIP39/BIP44.

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

Я бы не назвал это легким, но мне это кажется выполнимым.

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

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