К сожалению, по своему дизайну система Bitcoin не обеспечивает настоящей анонимности транзакций, а только «псевдонимность», где вместо ФИО пользователя указываются адреса, сгенерированные на основе его публичного ключа. При этом все транзакции подробно протоколируются и привязываются к ключам и кошелькам. Записи транзакций в сети Bitcoin хранятся вечно, так что каждую монету можно отследить по открытым ключам от кошельков. Сохранить иллюзию анонимности можно, если очень осторожно работать с кошельками: создавать новый кошелёк для каждой транзакции, не переводить «сдачу» с одного кошелька на другой и так далее. Но даже в этом случае полная открытость и прозрачность системы Bitcoin предполагает хранение всего архива транзакций до окончания времён. Опытные криптологи уже начали работу по деанонимизации некоторых пользователей путём анализа архива транзакций.

Цепочки транзакций Bitcoin можно представить в виде такой схемы, где путь каждой монеты отслеживается.

Известный криптолог и преподаватель криптографии в университете Джона Хопкинса Мэтью Грин (Matthew Green) разработал концептуальное расширение Bitcoin, которое будет обеспечивать анонимность на криптографическом уровне. Это расширение он назвал Zerocoin.

Идея Zerocoin заключается в том, что пользователь может «эмитировать» монеты Zerocoin, используя имеющиеся у него Bitcoin и секретное простое число, то есть используя криптографическую схему обязательства. Эмитированные монеты Zerocoin помещаются в цепочки транзакций Bitcoin, вместе с другими такими же монетами. В любой момент времени пользователь может рассекретить простое число и опубликовать криптографическое доказательство с нулевым разглашением. Это будет означать трату монет Zerocoin и даст команду на перевод биткоинов адресату.

Ключевой момент заключается в том, что внешний наблюдатель не имеет никакой возможности определить, какая конкретно из эмитированных монет Zerocoin была потрачена. Но в то же время он может проверить, что простое число уникально и не было «потрачено» раньше. Таким образом, обеспечивается защита против двойной траты Zerocoin и проверка транзакций. Фактически, Zerocoin перемешивает монеты между кошельками точно так же, как это делают нынешние сервисы по отмыву биткоинов, но только на уровне протокола Bitcoin, без центра доверия, в распределённой P2P-системе.

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

Пока что автор сделал только PoC-демонстрацию на базе клиента bitcoind. Он надеется, что через несколько лет народ «созреет», чтобы принять Zerocoin как стандартное расширение протокола. Это расширение будет эффективным только в том случае, если люди будут массово его использовать. Только при большом количестве монет Zerocoin можно их эффективно «перемешивать» в цепочке.



Оставить мнение