Виды кошельков

Создать биткойн-кошелек можно при помощи загруженной на жесткий диск программы и базы — например, взятой с сайта bitcoin.org. Облегченный вариант — использовать вместо полной выгрузки и ручного режима установки специальный софт типа Jaxx или Exodus.

Мобильные приложения

Завести биткоин-кошелек онлайн помогут специальные сервисы и приложения. Например, Bitcoin Wallet, Blue Wallet, Samourai.

Аппаратные

Создать кошелек для криптовалют можно с помощью физического носителя. Среди них выделяются такие модели, как Trezor, Keepkey и семейство Ledger.

Бумажные

Еще один «физический» способ заполучить биткоин-кошелек — воспользоваться бумагой, распечатав сид-фразу и QR-код с приватным ключом.

Какой кошелек для криптовалюты выбрать?

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

Десктопный считается безопасным, но сложным для пользователей. Ваш кошелек будет храниться только у вас, но вам понадобится выкачать базу и провести определенные настройки. Например, необходимый минимум конкретно для биткоина: быстрый SDD-диск, ядро Bitcoin core со списком транзакций, а также ключевой файл wallet.dat.

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

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

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

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

Этапы создания биткоин-кошелька

В случае с десктопным кошельком рассмотрим традиционный и показательный в своей сложности пример с ядром биткоина, которое можно скачать с bitcoin.org. Bitcoin core содержит всю историю транзакций с биткоинами в мире, устанавливается на диск SSD и весит порядка 1000 гигабайт, но если перезаписывать данные при выгрузке, итоговый объем сократится примерно до 5 гигабайт. Сам кошелек и его адрес появляется в файле wallet.dat. Уже этот файл можно перемещать в любое место и на других устройствах, а вместе с ним переместится ваш счет. Конечно, такой файл жизненно важно защитить надежным паролем.

С мобильными приложениями все проще. Скачиваете приложения в Google Play или App Store, проходите регистрацию, получаете ключи, которые далее хранятся у вас на устройстве, переводите средства благодаря QR-кодам. Стоит защитить гаджет пин-кодом и очистить его от сомнительных приложений.

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

Наконец, бумажный кошелек потребует скачать программу-генератор для создания бумаги с QR-кодом, которую затем нужно положить в надежное место. При генерации важно отследить уязвимости: убедиться в полной чистоте устройства от вирусов и невозможности хакеров подключиться к принтеру, с которого вы распечатываете бумагу.

Как перевести средства на биткоин-кошелек?

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

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

Как вывести Bitcoin на кошелек Webmoney, «Яндекс.Деньги» или «Киви»

Конвертировать криптовалюту в обычные деньги можно теми же способами, что и приобретать ее для завода на кошельки. если же вы активно пользуетесь онлайн-кошельками Webmoney, «Яндекс.Деньги», «Киви», вам пригодятся платежные системы типа Capitalist или Payeer, которые поддерживают традиционные фиатные валюты наряду с криптой и позволяют выводить биткоины прямо в рубли. Самостоятельный вопрос — рассчитать комиссию за эти обмены. Для ее отслеживания и выбора оптимальной можно пользоваться специальными сервисами.

Лучшие биткоин-кошельки в 2022 году

Выбирая кошелек для криптовалюты, помните, что их преимущества для вас завязаны на ваших целях.

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

Есть вариант рейтинга от Veriphi, который поделил все существующие кошельки на 4 группы по десяткам параметров, от удобства до безопасности. В топ-группу вошли Bitcoin Core, Green, Wasabi, Blue Wallet, Samourai, BTC Pay, Electrum.

Также напомним про самые известные бренды физических кошельков.

Ledger Nano S, выглядящий как маленькая флэшка, имеет несколько уровней защиты. С ним можно как хранить валюту, так и делать транзакции. Ledger отличают простота, скорость транзакций и уровень безопасности. Сид-фраза защитит активы, а OLED-дисплей устройства отображает их в реальном времени. Однако у этого кошелька нет аккумулятора и его необходимо подключать к компьютеру.

Его конкурент Trezor от создателей первого пула для криптовалют способен поддерживать большое число криптовалют. Эти модели полностью мобильны при использовании через Android, если у вас есть кабель OTG. Такой кошелек прост в применении и поддерживает двухфакторную аутентификацию, но все это обусловлено его высокой стоимостью.

биткоин кошелёк

bitcoin wallet

Кошелек работает только в Вашем браузере. Просто проверьте: загрузите сайт, отключите Интернет, сгенерируйте новую seed-фразу, нажмите кнопку «Создать Кошелек».

Ваш биткоин кошелек будет создан оффлайн, без подключения к Интернету. Интернет нужен только для проверки баланса и отправки транзакций в блокчейн (blockchain).

Этот способ также подходит для создания холодного Биткоин кошелька.

2. Полный контроль над средствами

Ваши Ключи — Ваши Биткоины.

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

Вы — единственный владелец своих биткоинов, и никто, кроме Вас, больше не имеет доступ к криптовалюте.

3. Бесплатный и без комиссий

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

4. Анонимный

В крипто мире важно сохранять анонимность. Это анонимный биткоин кошелек без id верификации, KYC, email, паролей, телефонов и т.д. Мы также не храним файлы куки и IP-адреса. Для большей анонимности рекомендуем использовать VPN или Tor.

5. Простой

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

Как создать Биткоин Кошелек?

Чтобы создать биткоин кошелек на русском языке, следуйте этой пошаговой инструкции:

  1. Сохраните Seed (mnemonic) фразу или сгенерируйте новую и сохраните.
  2. Кликните по кнопке «Создать Кошелек».
  3. Поздравляем! Вы создали Биткоин кошелек.

Узнайте больше о криптовалюте Биткоин на официальном сайте https://bitcoin.org/ru/

Choose your Language:


©
Bitcoin-wallet.org — Открой Биткоин Кошелек Онлайн
E-mail: support@bitcoin-wallet.org
Биткоин адрес для пожертвований: 3MokaUgANx7wRkEUeBYEiE1VvZ8kkZVmUF

Программные кошельки для Bitcoin и безопасность

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

Несмотря на продолжающийся хайп вокруг криптовалют и блокчейн как технологии, на мой взгляд, очень мало кто говорит про безопасность этих решений. Все концентрируются на различных плюсах, которые дает технология блокчейн, обсуждают майнинг и скачки курсов криптовалют, в то время как именно безопасность является критически важной, особенно когда речь идет о деньгах или о распределенных реестрах собственности. Вся информация для статьи взята из открытых источников, таких как https://bitcoin.org, https://en.bitcoin.it/wiki, https://bitcointalk.org, https://github.com и других.

Ниже будет неглубокий обзор кошельков криптовалют и их безопасности. Чем больше я погружался в эту тему при написании статьи, тем больше удивлялся тому, что в мире происходит так мало взломов и увода средств у пользователей того же Bitcoin. Но обо всем по порядку.

Что такое кошелек в криптовалютах

Разберемся немного с терминологией. Под кошельками в криптовалютах понимают одновременно:

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

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

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

Все кошельки подразделяются на “горячие” и “холодные”. «Горячим» называют криптовалютный кошелек, средства с которого можно потратить в любое время. «Холодный» кошелек действует совершенно противоположным образом. Он не предназначен для регулярного отправления криптовалюты, но тем не менее, средства на него можно получить в любое время. Самым простым “холодным” кошельком является лист бумаги, на котором записан закрытый ключ от вашего кошелька.

“Горячий” кошелек Bitcoin — это приложение, веб-сайт или устройство, которое управляет вашими закрытыми ключами. Самые популярные — это, конечно, приложения, как мобильные, так и десктопные, а также веб-сайты. Давайте чуть подробнее остановимся на каждом из этих видов и посмотрим, какие угрозы таит использование того или другого кошелька.

Так как кошельков существует очень много, я решил изучать только те, которые представлены на сайте https://bitcoin.org/. В качестве программных кошельков для персонального компьютера там представлены:

Требования к кошелькам

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

Вот эти требования, а также уровни соответствия этим требованиям.

Контроль за вашими деньгами

  • Полный контроль. Никто не сможет заморозить ваш счет или потерять ваши деньги. Однако вы должны помнить о том, что ответственность за безопасность и резервное копирование вашего закрытого ключа полностью лежит на вас.
  • Совместный контроль. Кошелек требует, чтобы каждая транзакция была авторизована как вами, так и третьей стороной. Обычно, вы можете восстановить полный контроль над вашими средствами, используя первоначальную резервную копию или предварительно подписанную транзакцию, отправленную по электронной почте.
  • Хостинг-контроль. Кошелек дает вам доступ к вашим средствам. Однако он хранит зашифрованную копию вашего закрытого ключа. А значит ваши средства могут быть похищены, если вы не будете использовать надежный пароль или если сервис будет скомпрометирован.
  • Деньги под контролем третьей стороны. Это означает, что вы должны доверять этому сервису, и надеяться, что он не потеряет ваши средства в результате инцидента на своей стороне. На данный момент, большинство онлайн-кошельков не страхуют депозиты подобно банку, и многие сервисы в прошлом имели проблемы с безопасностью.

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

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

Проверка транзакций

  • Полная. Кошелек является полноценном узлом (full node), который проверяет действительность и проводит операции в сети. При проверке платежей доверие к третьему лицу не требуется. Полноценные узлы обеспечивают наивысший уровень безопасности и важны для защиты сети. Однако им требуется больше дискового пространства (свыше 145 ГБ), пропускной способности и больше времени для первоначальной синхронизации.
  • Упрощенная или децентрализованная. Кошелек использует случайный сервер из списка серверов. Это значит, что вы должны доверять этим серверам при проверке платежей. Это не так безопасно, как использование кошелька, который является полноценным узлом.
  • Централизованная. Кошелек по умолчанию полагается на централизованный сервер. А значит, Вы должны на 100% доверять этой третьей стороне в вопросах сокрытия или подделки платежей.

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

А уж про стопроцентное доверие третьей стороне даже говорить не хочется.

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

Прозрачность

  • Полная прозрачность. Исходные коды кошелька открыты, а процедура сборки зафиксирована. Любой разработчик в мире может провести аудит кода и убедиться, что исполняемый код не скрывает никаких секретов.
  • Базовая прозрачность. Разработчики опубликовали исходные коды кошелька. Любой разработчик в мире может провести аудит кода. Однако, вы должны доверять разработчикам, когда устанавливаете или обновляете ПО вашего кошелька.
  • Удаленное приложение. Кошелек загружается с удаленного сервиса. Значит, когда вы используете кошелек, вы должны доверять разработчикам в вопросах кражи или потери ваших средств в результате инцидента. Использование расширения для браузера или мобильного приложения может снизить эти риски.

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

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

Откройте статьи от разработчиков PVS-studio и вспомните о том, какие ошибки порой совершают разработчики. Причем даже те разработчики, которые хорошо разбираются в вопросах безопасности (например, Скучная статья про проверку OpenSSL).

Поэтому полноценный аудит всего кода кошелька может сделать весьма ограниченное количество разработчиков. Большая часть которых и так имеет кучу интересных задач, помимо этого аудита. Даже если кто-то из них и заинтересуется этой задачей, то выполнена она будет только для определенного коммита в git. А значит, оценить безопасность кода в конкретный момент времени весьма непросто.

Что подразумевают ребята с сайта Bitcoin под фиксированной процедурой сборки точно понять не удалось. Со сборкой есть свои проблемы. Например, как понять, что полученная вами сборка или обновление собраны именно из правильных исходных кодов. Давайте будем реалистами – собирать кошелек из исходных кодов будут единицы. Лучшее, что вы можете сделать, это проверить хэш от свежескачанного инсталлятора с хэшем, который указан на официальном сайте. И надеется, что сайт не был скомпрометирован и там лежит именно корректный хэш, а также доверять разработчикам и сборщикам кошелька, а также администраторам сайта.

Чтобы уж совсем добить вопрос про исходные коды, я решил сам заглянуть в исходники Bitcoin Core, который по всем показателям, которые уже были описаны и тем, которые описаны дальше, занимает лидирующие позиции. Примеры кода и выводы, которые я сделал, бегло просмотрев исходники, смотрите ниже.

Бонус про прозрачность

Есть еще один интересный аспект, который я обнаружил совершенно случайно. Допустим, вы решили использовать кошелек Bitcoin Armory, который скромно позиционирует себя как BEST BITCOIN WALLET. В описании вы найдете – “Armory is the most secure and full featured solution available for users and institutions to generate and store Bitcoin private keys”. Забив в Google название кошелька, вы обнаружите, что у кошелька есть 2 сайта. Первый https://www.bitcoinarmory.com — коммерческий с красивыми словами, в топе выдачи. Второй https://btcarmory.com — более технический, на него вас приведет ссылка с https://bitcoin.org/.

Так вот, на техническом сайте, на главной странице в новостях, вы найдете предупреждение:

Коммерческий сайт такие глупости не пишет =) Вам же не надо переживать по таким глупым поводам.

Безопасность среды

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

Давайте тут тоже остановимся чуть подробнее.

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

Ключевое слово тут “надежной”. А еще и правильно реализованной. А с этим не всегда все хорошо получается. Например, blockchain.info предложит вам старые добрые SMS в качестве второго фактора. Никому же не интересны те же рекомендации NIST в Special Publication 800-63B:

  • [Out of band verification] using SMS is deprecated, and will no longer be allowed in future releases of this guidance.

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

Следующие два пункта не связаны напрямую с безопасностью хранения ваших средств. Поэтому подробно останавливаться на них я не буду, но приведу их тут для полноты картины.

Конфиденциальность

  • Улучшенная. Кошелек затрудняет слежку за вашими балансами и платежами при помощи ротации используемых адресов. Вам следует использовать новый биткойн-адрес каждый раз, когда вы запрашиваете оплату. Кошелек при получении или отправке платежей не передает информацию о них другим узлам сети. Кошелек позволяет вам настроить и использовать Tor в качестве прокси для того, чтобы не позволить злоумышленникам или интернет-провайдерам связать ваши платежи с вашим IP-адресом.
  • Базовая. Кошелек затрудняет слежку за вашими балансами и платежами при помощи ротации используемых адресов. Вам следует использовать новый биткойн-адрес каждый раз, когда вы запрашиваете оплату. Кошелек использует центральные серверы, которые способны связать вместе ваши платежи и запомнить ваш IP-адрес. Кошелек позволяет вам настроить и использовать Tor в качестве прокси для того, чтобы не позволить злоумышленникам или интернет-провайдерам связать ваши платежи с вашим IP-адресом.
  • Слабая. Кошелек позволяет кому угодно следить за вашим балансом и платежами, потому что повторно использует те ​​же адреса. Раскрывает ограниченную информацию другим участникам. Другие узлы сети могут запомнить ваш IP-адрес и впоследствии связать все платежи, которые вы получали или отправляли. Tor не поддерживается.

Комиссия

  • Полный контроль над комиссией. Кошелек позволит вам изменить комиссию после отправки средств с использование RBF или CPFP. Этот кошелек также дает рекомендации по комиссии в зависимости от текущего состояния сети для проведения транзакции вовремя и без переплат.
  • Динамические комиссии. Кошелек дает рекомендации по комиссии в зависимости от текущего состояния сети, которые вы можете переопределить. Это значит, что кошелек поможет вам в выборе подходящей комиссии для проведения транзакции вовремя без переплаты, но в то же время дает полный контроль для установки комиссии, если вы захотите.
  • Статические комиссии. Кошелек не дает никаких предложений по комиссии, учитывая текущее состояние сети. Это означает, что ваши транзакции могут занимать большее количество времени, если выбрана слишком низкая комиссия, либо вы можете заплатить слишком высокую комиссию.

Подведем итоги

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

Внимательно изучив все эти требования, вы хотите найти такой кошелек, который удовлетворял бы им по максимум. И вот тут наступает самое интересное. На https://bitcoin.org нет ни одного кошелька, который удовлетворял бы всем требованиям.

В лучшем случае, вы можете выбрать Bitcoin Core или Bitcoin Knots, для которых будет такая картина:

Или будете использовать Electrum, для которого такая картина:

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

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

Работа с закрытыми ключами на примере Bitcoin Core

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

Первым делом посмотрим, как это делает Bitcoin Core. Этот процесс неплохо описан в wiki самого Bitcoin. Как вы видели на скрине выше, этот клиент отмечен как один из самых продвинутых и удовлетворяющих большинству требований.

Закрытые ключи вашего кошелька хранятся вместе с другой информацией, в файле wallet.dat в формате “bitkeys”. Этот файл может быть зашифрован, а может и не быть =) По умолчанию, конечно, ничего не шифруется. Вы же грамотный пользователь и сами найдете нужную кнопку. Шифруется только информация о закрытых ключах с помощью алгоритма AES-256-CBC. При этом в качестве ключа шифрования используется так называемый мастер ключ – случайное число. При это сам мастер ключ шифруется на ключе, полученном из кодовой фразы с помощью SHA-512 и функции OpenSSL — EVP_BytesToKey. Количество раундов шифрования определяется скоростью компьютера, на которой происходит первоначальное шифрование.

После того ваш кошелек используется клиентом в обычном режиме. Это состояние называется “locked”. Если в какой-то момент, вам необходимо получить доступ к закрытым ключам кошелька, то вам необходимо ввести кодовую фразу в GUI клиента или воспользоваться командой walletpassphrase в RPC. В этом случае произойдет расшифрование закрытых ключей, и кошелек перейдет в состояние “unlocked”. В первом случае он будет находится в этом состоянии ровно столько, сколько необходимо для осуществления той или иной операции. Во втором случае, время через которое кошелек вернется в состояние locked определяется вторым параметром в RPC запросе!

Код выглядит так:

Это выглядит очень мило. Обычный пользователь кошелька вряд ли запустит у себя сервер, если только не промахнется файлом. А вот злоумышленник…

С GUI и хранением той же passphrase в памяти тоже все не очень просто. Ребята реализовали специальный класс для хранения подобных данных – SecureString. Реализовали в общем-то неплохо, грабли с использованием memset успешно обошли. Но вот держат его в памяти дольше, чем следовало бы.

Например, так делает наш GUI (слегка подправил для наглядности, любопытным смотреть askpassphrasedialog.cpp:154):

В начале сделаем accept(), а только потом наш oldpass выйдет из области видимости и произойдет очистка. Понятно, что более безопасный код получится не такой красивый, как менее безопасный. Но мы же тут вроде с деньгами работаем?

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

Постараюсь предвидеть первые комментарии и сразу ответить на них:

  • Да, вы можете составить некоторый набор правил пользования криптокошельком, которые позволят значительно повысить уровень безопасности ваших средств. Удобство использования при этом конечно сильно пострадает.
  • Да, есть клиенты, которые значительно безопаснее остальных. Проблема в том, что остальные также существуют и рекомендуются официальным сайтом.

Я ничего не имею против криптовалют или технологии блокчейн. Наоборот, я всеми руками ЗА (это мое личное мнение, которое не в коей мере не является официальной позицией компании, в блоге которой размещена статья). Но раз уж мы начинаем работать с новой технологией, то надо делать это технически грамотно и не забывать об информационной безопасности.

Источник https://rb.ru/story/bitkoin-koshelek/

Источник https://bitcoin-wallet.org/ru/

Источник https://habr.com/ru/company/aktiv-company/blog/341338/