При всей шумихе вокруг возможного использования биткоина в незаконных целях, он гораздо менее анонимен, чем экономика наличных денег, и это создает некоторые проблемы. Весь блокчейн и каждая транзакция в нем открыты, а это значит, что если знать принадлежащий кому-то биткоин-адрес (открытый ключ), можно вычислить и адреса тех, кто хоть раз отправлял или принимал биткоины с этого адреса, позволяя распутать всю цепочку транзакций.
Для примера, если вы и ваши коллеги решили получать зарплату в биткоинах, то получив выплату, вы сможете посмотреть на адрес отправителя, найти другие связанные с ним транзакции и узнать, сколько денег получают ваши коллеги, что на самом деле должно быть конфиденциальной информацией. Если знать открытые ключи магазинов, которые принимают биткоины, и адрес любого клиента такого магазина, то можно будет вычислить его покупательские привычки, что также является большим нарушением неприкосновенности частной жизни. Это является одной из основных, часто не исследованных, проблем с биткоином. Конечно, всё это довольно условно, и многие используют «одноразовые» адреса, но, тем не менее, проблема существует.
Как же это исправить? Как же дать биткоину настоящую анонимность вместо «псевдонимности»? Есть несколько подходов. Один из них – это так называемые «миксеры», сервисы, которые просто объединяют транзакции многих пользователей в один кошелек, а затем распределяют их, обеспечивая определенный уровень конфиденциальности, хотя статистические атаки по-прежнему возможны. Кроме того, получается, что пользователи полагаются на централизованную или полу-централизованный сервис.
Другой подход подобен тому, что предлагает проект «ZeroCoin», включает в себя использование математических структур, известных как нулевые доказательства знания, чтобы позволить пользователям разрывать связь между отправителем и получателем транзакции, позволяя им доказать, что транзакция получена, не раскрывая при этом источник транзакции. Проект пока находится в подвешенном состоянии, и не ясно, когда технология достигнет широкого рынка.
Новое решение предлагает BitGo, компания, которая выпускает безопасные кошельки с мультиподписью (BitGo хранит один из трех ключей для дополнительной безопасности), и ее технология должна решить, по крайней мере, часть проблем приватности.
Технология называется «Иерархические детерминированные кошельки», и это работает следующим образом: пользователи имеют единый кошелек с единым приватным ключом. Программное обеспечение кошелька способно генерировать непрерывный поток новых приватно-публичных ключей из оригинала, и генерирует новый кошелек для каждой новой транзакции. Все они могут быть восстановлены из приватного ключа (если, например, файлы будут утеряны), но кошельки не могут быть связаны друг с другом. Это обеспечивает существенно более высокую степень конфиденциальности, так как весьма трудно выяснить, какой кошелек ассоциируется с конкретным пользователем, и соответственно активность различных кошельков не может быть сопоставлена друг с другом. Это, конечно, не тот же уровень безопасности, который предлагается жестким криптографическим решением от ZeroCoin, но это уже шаг вперед. Как дополнительное улучшение, это решение по использованию одноразовых кошельков также защищает вас от злоумышленников, которые пытаются вычислить ваш приватный ключ. Риски взлома стоит воспринимать все серьезнее и серьезнее с течением времени.
Очевидным вопросом для многих пользователей является, насколько такие кошельки будут просты в использовании? Как говорят сами BitGo:
Технология, лежащая в основе HD кошелька очень сложная и трудная в реализации, но в нашем случае все сложности находятся на стороне BitGo. Для потребителя использование BitGo HD кошелька будет крайне простым. Приставка HD не прибавляет сложностей.
Будут ли HD кошельки популярными? Пока об этом рано говорить. Технология, безусловно, полезная, но ее могут превзойти другие, более мощные подходы к проблемам конфиденциальности. Тем не менее, прогресс налицо, и те, кто пытается латать дыры в технологии биткоина, делают хорошее дело для нас всех.