surprisedog (surprisedog) wrote,
surprisedog
surprisedog

Мозговые кошельки. Как это работает



Уникальность системы Биткойна по сравнению со всеми формализованными денежными системами, которые когда-либо использовались человечеством, заключается в том, что она всецело состоит из чистой информации. Блокчейн, база данных об операциях Биткойна, позволяющая системе определить, кто и какой частью средств владеет, хранится одновременно на десятках тысяч компьютеров и серверов по всему миру. Эквиваленты счетов, которыми управляет Биткойн, в реальности также не более чем 160-битовые числа, а секретные ключи, дающие доступ к снятию средств, сами представляют собой 256-битовые числа. В результате такой лаконичности, мы можем хранить деньги буквально любым способом, каким пожелаем, и люди этим пользуются: у нас есть QR-кодовые кошельки, бумажные кошельки, монеты с закрытыми ключами, зашифрованными в голограмме, и т.д. Однако, наиболее интересная из всех альтернатив хранения – место, где людьми сохранялась основная масса информации в течение последних 100.000 лет: наш мозг.

«Кошелек» представляет собой набор из двух видов чисел. Первое число – адрес, как правило, отображаемый в виде 33 или 34-символьной строки, например, ” 13ignD31FysQbaBBVJUzffcQoFxxEuEcbE “, – он даёт вкладу доступ к счёту, ассоциируемому с данным адресом. Второе число, чуть более длинное, – закрытый ключ, дающий доступ к снятию денег. Технически, вам не нужно запоминать адреса, вы всегда можете вывести его из ключа, но запомнить – лучше, если вы не хотите повсюду распечатывать свой закрытый ключ. Таким образом, простейший для запоминания кошелек состоит из единственного адреса и единственного закрытого ключа.

Основной момент, помогающий нам различными способами запоминать адрес и закрытый ключ, – это осознание, что адреса и закрытые ключи, в конечном счете, являются не наборами цифр и букв, а собственно числами. Число есть математический объект, который можно по желанию представить в традиционной десятеричной системе (называемой так, потому что все возможные числа в ней представлены десятью символами: 0123456789), как, например, “3022885″; в системе с подобным основанием из 16 символов (“2E2025″); в двоичной, или бинарной, системе («1011100010000000100101»); как продукт действий с простыми числами (5 * 89 * 6793); в системе с основанием 58 (“GVbi») или любым другим способом, который нам удобен. Биткойн использует основание 58, потому что это разумный компромисс между краткостью и читаемостью. Числа в системах с меньшим основанием выглядят длиннее, так как в один символ упаковывается меньше удельной информации. Переход же на более высокое основание, например 60, требует ввода различий между буквой O и числом 0, а также большой I и строчной i, что потенциально чревато ошибками. Вы можете запомнить адрес или секретный ключ в любой системе счисления по своему усмотрению, при условии, что у вас есть конвертер оснований, чтобы вернуть число в 58-ричную систему, когда придет время ввести свой адрес или использовать закрытый ключ.

58-ричная версия является самой простой. Она потребует от вас запоминания достаточно умеренного ряда из 51 символа для ключа и еще 34 для адреса. Если же вам не хочется запоминать адрес целиком, вы можете альтернативно просто запомнить несколько первых символов и воспользоваться службой firstbits.com, где для вас восстановят остаток числа (введите полный адрес в firstbits, чтобы узнать, сколько знаков вам необходимо запомнить, обычно около 6 знаков). Обратите внимание на то, что firstbits восстанавливает адрес, находя хронологически первый соответствующий адрес в блокчейне, поэтому на вашем адресе к этому времени уже должна быть хотя бы одна транзакция. Но вдохновляющим фактором является то, что ваше сокращение для алгоритма firstbits будет уже навсегда действительно. В терминах же поверхностного информационного содержания (или энтропии, как называют его теоретики информации), простейшая задача равносильна запоминанию четырнадцати 7-значных телефонных номеров. Это те из нас, кто еще не вовлечён в соблазны хранения всего на смартфонах, скорее всего и так на деле практикуют.

Задача запоминания полного комплекта (51+34) доращивает количество заучиваемой информации до эквивалента 21 телефонного номера. Тем не менее, особенности 58-ричной системы значительно облегчают эту работу. Сочетание букв и цифр одновременно стимулирует слуховую и зрительную памяти, а лёгкие для произношения комбинации букв, небольшие слова и сокращения, которые иногда проскакивают, вызывают психическое явление, известное как кластеризация – запоминание нескольких символов как единого целого. Подумайте о том, в каком виде вы держите в памяти фамилию Смит: не вспоминая по одному символу – «С… М… потом И или всё-таки Ы… Т».

Системы счисления с меньшими основаниями сложнее в использовании из-за большого количества символов для запоминания, но если вы предпочитаете сочетание большего количества чисел с меньшим количеством букв, 16-ричная система является приемлемым для вас вариантом. Она обладает тем преимуществом, что закрытые ключи могут быть так же легко автоматически импортированы из этого формата, как из 58-ричного. Интересную возможность представляет собой система с основанием 1751, использующая в качестве символов не буквы, а слова. Grondilu в Bitcoin Bash Tools совершат для вас прямое и обратное автоматическое преобразование, дающее строку такого образца:

THE BLOT SET TWIT BARE LEER WAGE LILT LIND CORK GOAL OFT REAR VOTE FLEW WAD KEYS GAVE SEES WAGE EAR YOGA VAST POT BIRD FAKE BEE

Вам решать, настолько ли удобнее эта форма счисления 58-ричной, чтобы подключать к делу дополнительный нестандартный пакет программного обеспечения.

Существует, однако, другое решение, еще более легкое для запоминания. В криптографической системе ECDSA , на которую опирается Биткойн, почти любое 256-битное число может быть закрытым ключом. В силу этого, вы можете придать своему ключу любую степень легкозапоминаемости – вплоть до придания ему вида ” 0101010101010101 …. “и генерировать Биткойновский адрес из ключа, и все будет прекрасно работать, единственное – вы не сможете проконтролировать внешний вид адреса, так что вам придется запомнить по крайней мере 6 произвольных символов из 58-ричной версии, чтобы запустить ими в ход firstbits. В целях безопасности, тем не менее, лучше не делать сам закрытый ключ запоминаемым, а генерировать закрытый ключ с помощью стандартной функции, используя в ней как исходное «семя» фразу или пароль. Для этих целей, как правило, предпочитается криптографическая хэш-функция SHA256, поскольку она производит объём псевдопроизвольной информации точно необходимого размера от любого ввода данных и поскольку онлайн-коммунальные услуги для расчета SHA256 любой строки легко найти (имейте в виду, однако, что если вы пользуетесь командной строкой Linux для передачи данных в sha256sum следует использовать команду echo -n, а не echo; в противном случае, в дальнейшем от других онлайн-утилитов вы получите отличающийся результат, так как echo добавляет символ новой строки по умолчанию). После перемешивания, семя “correct horse battery staple” (“правильная скоба лошадиной батареи”), например, будет выглядеть так:

” c4bbcb1fbec99d65bf59d85c8cb62ee2db963f0fe106f483d9afa73bd4e39a8a “.

Затем перейдите к bitaddress.org в частный режим просмотра, отключите интернет и введите секретный ключ, который вы только что сгенерировали, в нужное поле под закладкой «Сведения о кошельке”. Вы получите адрес такого вида:

1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T . Обратите внимание, как немного вам нужно в действительности запомнить, чтобы «приобрести» мозговой кошелёк таким методом: если следовать той же процедуре с гораздо меньшим исходным семенем и воспользоваться адресным сократителем, всё содержимое мозгового кошелька может уложиться, например, в строки (“123″, “1Bfvq2ap”).

Следующий на подходе – вопрос о том, какими путями можно пользоваться мозговым кошельком, после того, как он создан. Проверить свой баланс с его помощью достаточно просто: зайдите в любой наблюдательный сайт блокчейна, например, blockchain.info или blockexplorer.com, и используйте функцию поиска.. Вы сможете увидеть полный текущий баланс своего адреса-счёта и все входящие и исходящие из него транзакции. Если вы заучили только первые шесть символов, обе службы включат поиск и найдут ваш полный адрес автоматически.

Потратить свои биткойны можно двумя путями. Первая, более лёгкая, опция – импортировать свой закрытый ключ в кошелёк или программу-клиент, когда вы хотите его использовать, и затем продолжить посылать перевод как обычно. Существует три основных клиента, позволяющих вам это сделать: Armory, blockchain.info и Electrum. Armory – полноценный клиент Биткойна с большим количеством функций. Его недостатком является то, что он требует для запуска мощный компьютер, так как в настоящее время хранит в памяти полный блокчейн (необходимо по крайней мере, 4 Гб оперативной памяти).

И всё готово. Теперь вы можете отправить переводы, пользуясь кошельком Еlectrum, а для большей безопасности по окончании можно удалить файл electrum.dat (расположенный в
~ /.electrum / electrum.dat на Linux).

Тем не менее, если кошелек хранится у вас в голове, потому что вы параноик, вы можете предпочесть вторую опцию: сообщение сделок. Такой подход является более безопасным, так как позволяет посылать переводы, не позволяя своему секретному ключу даже прикоснуться к компьютеру, который подключен к Интернету; так что даже если оба задействованных компьютера поражены вирусами, ваши биткойны по-прежнему в безопасности. Для этого, с использованием blockchain.info, следует предпринять следующие шаги:

Создайте аккаунт на blockchain.info и войдите в него

Импортируйте лишь свой адрес в свой кошелёк

Войдите с защищенного компьютера в автономном режиме, убедившись, что пользуетесь режимом частного просмотра (режимом инкогнито в Chrome). Когда система попросит вас отключить Интернет, сделать это.

Импортируйте секретный ключ. Ваш адрес автоматически появится в вашем кошельке вместе с ключом.
Нажмите кнопку «отправить деньги» и следуйте инструкциям на экране, пока не получите 16-ричное число в несколько сотен символов. Спишите эту строку на бумагу или с помощью USB-ключа и закройте окно браузера.

Перекопируйте строку в инструмент на bitsend.rowit.co.uk и отправьте перевод.

С использованием Electrum процедура несколько сложнее:

Импортируйте адрес на компьютер в состоянии оффлайн:

Найдите файл electrum.dat на форуме компьютера. На Windows Vista и 7 этот файл должен находиться в C:Users\YourUserName\AppData\Local\Electrum\; на Linux – в ~/.electrum (к сожалению, версий на Mac не существует на момент написания этой статьи). Обратите внимание, что для действительности следующего шага файл должен быть в незашифрованном виде. Если он зашифрован (т.е. является простым нагромождением случайных данных, без какой-либо структуры), удалите его и создайте новый кошелек без пароля (с помощью ./electrum create или графического интерфейса).

Сделайте копию файла. В этой копии найдите закрытый ключ, который вы импортировали, и удалите его.

Перекопируйте такой оскоплённый кошелёк на ваш компьютер онлайн, и подождите, пока клиент обнаруживает и собирает ссылки на сделку стоимостью в те 5 биткойнов, которые вам нужно потратить.

Скопируйте бумажник обратно на компьютер в автономном режиме и верните его туда, где находился исходный файл electrum.dat.

Поместите обратно закрытый ключ.

Создайте транзакцию в режиме оффлайн:

./electrum mktx -c1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T 13ignD31FysQbaBBVJUzffcQoFxxEuEcbE 5.00

С этого момента продолжайте как раньше. Это один из самых высоких уровней паранойи, достижимых с валютой Bitcoin, но дело того стоит, если вы имеете дело с большими суммами денег. У Electrum есть три преимущества перед blockchain.info, которые окупают добавленное усилие. Во-первых, вам не придется платить 0,01 BTC за транзакцию. Во-вторых, поскольку Electrum – это программа, устанавливаемая на десктопе, можно держать у себя компьютер, который обрабатывает закрытые ключи вне Интернета 24/7, в пропорции времени. В то же время с blockchain.info это гораздо труднее, так как это веб-приложение. Вместе с кошельком blockchain.info вы собственно загружаете программу, которая запускается в вашем браузере каждый раз при использовании кошелька. Третья проблема является еще одним следствием этого факта. Если blockchain.info будет взломан, операции, которые он генерирует, могут быть скомпрометированы. Мало того, вы об этом узнаете не раньше, чем когда, предполагаемый получатель сообщит вам, что так и не поучил перевода, и вас озарит понимание, что ваши драгоценные электронные деньги ушли к какому-то украинскому тинейджеру. Используя Electrum, вы загружаете его лишь раз, при желании один раз проверяете, и у вас нет нужды беспокоиться о подобных вопросах безопасности.

Замечу, что Electrum также обладает собственной функциональностью «мозгового кошелька», предлагающей компромисс между запоминанием созданного загодя ключа и созданием ключа из некой информации, которую вы запомнили: «семени кошелька» из 12 слов в системе счисления с основой 1600, из которых Electrum генерирует пять адресов и частных ключи. Вы можете использовать примерно такой же процесс, как последний вышеприведённый, для отправки транзакций с помощью такого кошелька, но удалять семя вместо закрытого ключа при копировании кошелька в подключённый к Интернету компьютер.

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

Пер. на рус. язык Богданы Некрасовой, bitcoininfo.ru, со ссылкой на bitcoinmagazine.com


Также рекомендую:

Как добываются биткоины или что такое майнинг
Устанавливаем и используем “легкий” кошелек Electrum

Tags: заработок в сети
Subscribe
  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments