https://bitcointalksearch.org/topic/m.7758020
Однако, данная система все ещё оставляет возможность построить цепочку переводов, хоть и сильно увеличивает энтропию. Причина в том, что получатель транзакции детерминирован. Этот недостаток можно устранить, если создавать при трате инпутов подпись, которую можно проверить несколькими ключами, взятыми случайным образом из блокчейна, а не только своим собственным. Чтобы инпут не был доступен для траты владельцами этих "дополнительных" ключей, добавлять к списку образ своего закрытого ключа, который можно посчитать как EC произведение закрытого ключа на точку-генератор, инициализированную хэшем соответствующего ему публичного ключа.
Такую подпись можно проверить любым из использованных для её создания ключей, однако потратить такой инпут может только владелец закрытого ключа, образ которого будет добавлен к списку. Если криптографическая функция надежна, то восстановить изначальный ключ из образа будет невозможно, а потому нельзя и установить точное соответствие отправителя и ключа. Ну а поскольку нельзя будет с уверенностью сказать, каким ключом из списка была подписана транзакция, анализатору придется строить цепочку наугад либо перебирать все возможные варианты следования монет. Если в каждом из переводов добавлять к списку ключей по 2-3 случайных ключа из блокчейна, то потенциальному анализатору блокчейна попросту не хватит состояний всех частиц во вселенной, чтобы сохранить все возможные варианты графов.
Выглядит немного переусложненно, но это вполне реально и делает zerocoin не самым лучшим вариантом.