О криптовалюте просто. Биткоин, эфириум, блокчейн, децентрализация, майнинг, ICO & Co - Джулиан Хосп
Шрифт:
Интервал:
Закладка:
В случае горячего хранения есть прямой доступ к интернету.
• Легкий SPV-кошелек, где реализована упрощенная проверка платежей (мы рассматривали SPV в главе 4 «Майнинг»).
• Программный кошелек как веб-приложение.
• Программный кошелек как мобильное приложение.
• Программный кошелек на компьютере.
Горячие хранилища используются для удобства, однако у них есть определенный риск. Если кто-то получит доступ к вашему устройству путем взлома или фишинга, то у него появится доступ к вашему закрытому ключу. Я использую программный кошелек для хранения небольших сумм, особенно на смартфоне, это дает мне в любое время доступ к этим суммам без использования устройства. Помните, что вы должны относиться к своему закрытому ключу или сиду как к деньгам, потому что это так и есть. Хоть это всего лишь строка букв или слов, но она может стоить миллионы.
Как-то раз я был в путешествии и подключил свой аппаратный кошелек к компьютеру, придавив его для надежности книгой. Книга «ввела» неправильный PIN-код три раза подряд, и устройство оказалось заблокировано. А чтобы снова получить доступ к средствам, мне требовалось ввести закрытый ключ. Но лист бумаги, на котором был записан закрытый ключ, был спрятан в месте, недоступном мне в тот момент, а доступ к средствам мне нужно было получить прямо сейчас. Я позвонил отцу и сказал ему, где лежит мой бумажный кошелек. Но возникла проблема: как он сможет продиктовать мне сид, состоящий из 24 слов, без какой-либо потенциальной угрозы «человек посередине», когда кто-то подслушивает ключ. Мы использовали комбинацию видео, аудио и других каналов, пока я не получил все 24 слова. Я ввел их в аппаратный кошелек и – вуаля! – у меня снова был доступ к моим средствам. Первое, что я сделал, это отправил деньги на новый публичный адрес (с новым закрытым ключом), чтобы в случае, если кто-нибудь все-таки узнал о закрытом ключе, который дал мне мой папа, у них больше не было доступа. Эта история учит нас важности отношения к закрытому ключу как к наличным деньгам. А также показывает, что в блокчейне хранение (а также наследование) закрытых ключей сейчас не такое простое дело.
[ВАЖНО]
Свои монеты вы НЕ ПОТЕРЯЕТЕ НИКОГДА. Монеты НИКОГДА не смогут потеряться. Они всегда остаются в блокчейне. Вы можете потерять закрытый ключ, который дает вам доступ к этим монетам. Если вы записали закрытый ключ на бумаге, то можете просто купить новый аппаратный кошелек и ввести закрытый ключ, и у вас снова будет доступ ко всем вашим средствам.
Важно понимать, что если вы используете сторонние сервисы, в которых не знаете свой закрытый ключ, то фактически вы не контролируете свои деньги. А вот компания, которой вы доверяете свой закрытый ключ, их контролирует. Такие сервисы представляют собой типичный пользовательский интерфейс «логин-пароль», который позволяет людям отправлять криптовалюты другим так, как они привыкли, например, как на PayPal и т. д. Если вы сделаете это из удобства, как на бирже, то это нормально, когда вы знаете, к чему приходите. Вот некоторые примеры:
• Биржи (где вы можете менять криптовалюты между собой или менять их на фидуциарные деньги).
• Кошельки компаний.
• Сторонние провайдеры, которые облегчают доступ к криптовалютам, предлагая «опыт обращения с деньгами, подобный PayPal». Я храню небольшие суммы в таких сервисах. Я делаю это либо потому, что хочу иметь некоторую ликвидность, чтобы купить или продать какие-то криптовалюты, или потому, что мороки с загрузкой и установкой аппаратного кошелька слишком много, а сумма монет, которой я владею, слишком мала. Например, я могу купить небольшое количество монет для проверки, но не хочу иметь дело с новым программным обеспечением. Поэтому я просто использую стороннее программное обеспечение, такое как биржа. Подробнее мы поговорим о биржах в конце книги, когда я расскажу о самых простых способах получить некоторые криптовалюты.
Когда вы начнете пользоваться программными или аппаратными кошельками, то заметите довольно странную особенность: всякий раз, после того как вы получаете деньги на свой адрес, когда вы хотите получить деньги снова, адрес меняется. Это выглядит так, как будто каждый раз, когда на ваш банковский счет приходят деньги, открывается совершенно новый счет, куда приходят новые деньги. Сначала это может сбить вас с толку, ведь с настоящим банковским счетом такое никогда не происходит и ваш адрес электронной почты тоже никогда не меняется после получения электронного письма.
Для начала я назову две причины, почему существуют так называемые детерминированные кошельки, а затем расскажу, как это работает с технической точки зрения.
Эта особенность детерминированных кошельков была реализована в Биткоине в рамках так называемого Проекта развития Биткоина (BIP, Bitcoin Improvement Proposal), который является небольшим улучшением исходного кода Биткоина с целью обеспечения дополнительной безопасности и удобства. В данном случае это был BIP32 (номер 32 из BIP). Было предположено следующее: если когда-либо, в самом маловероятном случае, произойдет столкновение двух одинаковых адресов, когда две стороны получают один и тот же адрес (что почти невозможно, но еще более улучшает безопасность), будет ли у любого человека один адрес со всеми монетами на нем. Однако если средства автоматически распределяются по сотням или тысячам адресов, то есть определенное снижение риска. Кроме того, в случае попытки фишинга злоумышленник получит доступ не ко всем средствам, а только к их части.
Вторая причина заключается в конфиденциальности и защите личности. Подробнее мы обсудим это в главе 9. Кратко скажу, что чем больше адресов вы контролируете, тем труднее постороннему узнать, сколько у вас денег. Поэтому конфиденциальность улучшается.
Чтобы сгенерировать такой детерминированный ключ, нам нужна начальная инструкция, она называется сидом[15] и обычно состоит из 8, 12 или 24 слов. Эти слова становятся инструкциями, как найти первый, а затем все последующие закрытые ключи. Если вы знаете такую инструкцию, то очень легко добраться до ключей, однако вы никогда не сможете (вероятность этого ничтожна) вернуться назад. Например, представьте, что инструкция говорит, что следующий закрытый ключ является текущим закрытым ключом плюс сумма всех его цифр. На деле это работает не так, потому что фактическая последовательность образуется с помощью очень сложной криптографической функции, но принцип примерно такой.
ПРИМЕР