Для любого, кто покупает свой первый Биткоин, термин «кошелек» встречается почти сразу, и это одно из самых вводящих в заблуждение названий в криптоиндустрии: Биткоин-кошелек на самом деле не хранит никакой Биткоин, вопреки тому, что подразумевает название. Понимание того, что он делает на самом деле и как он работает «под капотом», делает использование Биткоина безопасным и понятным.
Биткоин-кошелек — это программное или аппаратное обеспечение, которое управляет парой криптографических ключей: закрытым ключом и открытым ключом. Закрытый ключ — это то, что фактически контролирует доступ к Биткоинам, записанным в блокчейне, в то время как открытый ключ используется для создания адреса кошелька, на который другие могут отправлять средства. Сам кошелек не хранит Биткоины, монеты всегда существуют как записи в блокчейне — публичном реестре, распределенном по всей сети. Кошелек хранит и защищает закрытый ключ, который подтверждает право собственности и позволяет тратить эти монеты.
Связь между этими элементами работает только в одном направлении. Закрытый ключ используется для математического вывода открытого ключа, а открытый ключ используется для создания адреса кошелька, но процесс нельзя обратить вспять: невозможно вычислить закрытый ключ, зная адрес. Эта односторонняя связь является основой модели безопасности Биткоина: любой может увидеть адрес кошелька и историю его транзакций в блокчейне, но только человек, владеющий соответствующим закрытым ключом, может перемещать средства.
Когда кто-то отправляет Биткоин, его кошелек использует закрытый ключ для создания цифровой подписи транзакции, доказывая право на трату этих монет, не раскрывая сам закрытый ключ. Эта подписанная транзакция затем транслируется в сеть Биткоина, где она проверяется другими участниками и в конечном итоге включается в новый блок в блокчейне. Как только поверх него добавляется достаточное количество блоков, транзакция считается подтвержденной и фактически необратимой, что также объясняет, почему транзакции Биткоина нельзя отменить после их завершения.
Не все Биткоин-кошельки работают одинаково, когда речь идет о том, кто контролирует закрытый ключ. Некастодиальный кошелек означает, что пользователь напрямую владеет своим закрытым ключом без участия третьих лиц; к ним относятся большинство программных кошельков, установленных на телефоне или компьютере, а также аппаратные кошельки. Кастодиальный кошелек, напротив, означает, что третья сторона, обычно биржа, хранит закрытый ключ от имени пользователя. Это удобнее для активной торговли, так как не требует управления ключами, но также означает, что пользователь доверяет третьей стороне хранение ключей и возможность вывода средств в любое время — компромисс, часто описываемый фразой «не твои ключи — не твои монеты».
Среди некастодиальных кошельков существует разделение на программные и аппаратные. Программный кошелек, иногда называемый «горячим», работает на устройстве с доступом в интернет, например, на телефоне или компьютере, что удобно для частого использования, но означает, что закрытый ключ находится на устройстве, которое технически доступно в случае компрометации. Аппаратный кошелек хранит закрытый ключ на специальном автономном устройстве, подключаясь лишь на короткое время для подписи транзакций, что делает его значительно более устойчивым к удаленным атакам, но менее удобным для частых мелких транзакций.
WEEX напоминает пользователям, что, поскольку Биткоин-кошелек не хранит монеты, потеря доступа к кошельку — будь то потеря устройства, забытый пароль или утеря seed-фразы — не уничтожает сам Биткоин, но может сделать его навсегда недоступным при отсутствии резервной копии. Именно поэтому фишинговые атаки так часто нацелены на закрытый ключ или seed-фразу, а не на попытки взлома самого блокчейна: безопасность блокчейна крайне сложно нарушить, но ключ, контролирующий доступ к средствам, защищен ровно настолько, насколько тщательно его оберегают.
Биткоин-кошелек — это не столько физический контейнер, сколько набор учетных данных, подтверждающих право собственности на монеты, записанные в публичном реестре. Понимание этого различия — того, что блокчейн хранит Биткоины, а кошелек лишь хранит ключи — является основой для принятия взвешенных решений о том, какой тип кошелька лучше всего подходит для использования Биткоина.