Допустим, вы хотите внести свой вклад, но вы смущены. Использование Bitcoin сегодня все равно оставит вас воздействию выявляются путем анализа блочной цепи. Проверка веб-транзакций, мы видим:
k1 (MtGox) -> k2 (Joe Smith) -> k3 -> k4 -> k5 (Демократическая партия пожертвование адрес)
Где в K (I)»s ключи транзакций и некоторые из них могут быть связаны с реальными людьми и организациями. Демократическая партия одна очевидна. Было бы ключ пожертвования на их веб-сайте. k2 связан с Джо Смитом, потому что он купил монеты на бирже (владеет k1), и они имеют свое имя на файл.
В настоящее время блок цепь представляет собой веб-транзакций с анонимными узлами и хорошо известных узлов. Определить, кто послал, что кто является хитом и пропустить предложение заполнения отверстий. Система не будет, в целом, обеспечить анонимность. Вот почему мы говорим, Bitcoin не по-настоящему анонимные.
Ответ заключается в использовании Отправитель сгенерированных ключей.
Если отправитель может сгенерировать открытый ключ для приемника таким образом, что:
1. Только получатель может генерировать приватную часть для него
2. Никакая третья сторона не может определить, что ключ фактически принадлежит к этому приемнику
Затем мы изменяем сеть карты сделки в нечто вроде этого:
k1 -> k2 -> k3 -> k4 -> k5
где каждая клавиша не связана с основной (с точки третьей стороны зрения). Отдельно каждый руководитель имеет сертификат, который используется отправителем для создания новых и действительно анонимные ключей транзакций для каждой транзакции.
Cert (MtGox) Cert (Joe Smith) Cert (Демократическая партия)
Сертификат имеет открытый ключ и любая другая информация, которую владелец хочет добавить (или нет).
В современной практике приемник может генерировать анонимные ключи по желанию. Проблема заключается в том, что организация приемник должен был бы _publish_ их. Следовательно, не существует отображение между организациями и этими ключами, и они больше не являются анонимными. В качестве альтернативы Джо может договориться частный трансфер ключа, но это оставляет след, как хорошо. (Электронная почта и т.д.). В существующей системе вы не можете уйти от того факта, что личность смешиваются с некоторыми из ключей транзакций понижающих анонимности всех ключей.
Использование основных сертификатов и ключей отправителя генерироваться дает Джо Смит гораздо лучше, чем анонимность нынешней системы.
-----------------------------------------------------------
Это как работают Sender сгенерированных ключей:
Пусть Алиса опубликовать сертификат с открытым ключом. (Этот сертификат имеет ключ, который не является ключевой сделкой. Она не может быть использован в нормальном режиме других клиентов, чтобы отправить.) Пусть "" быть серт закрытый ключ. Серт открытый ключ "" (А = ао, где Q является основой точка в криптографической кривой). А имеется в Cert созданный Алисой.
Кроме того, пусть Боб есть бумажник и она имеет монеты под открытым ключом "Y" поэтому Bitcoin блок цепь имеет транзакции перенося монеты в Y и Боб имеет секретный ключ, "Y", Что соответствует Y, но никто не знает, что Боб владеет Y.
Боб хочет анонимно отправить несколько монет Алисе. Он смотрит на сертификат для Алисы и извлекает клиент А. Боба генерирует открытый ключ "Икс" от А, у и "м" (М случайность, полученная из частей сделки, который передает монету). X обладает свойством, что только Алиса может определить частный ключ "Икс" и только Боб знает, что Алиса владеет X. Алиса может потратить монеты в X, генерируя й и использовать его, чтобы подписать сделку тратить монеты в каком-то момент в будущем.
Боб создает X сначала генерирует общий секрет, с, следующим образом:
s = Хеш (м, Ya)
Х = să
(Примечание уА и ЗН являются криптографические размножается в ECC). Только Алиса и Боб могут генерировать с. Кроме того, Боб не может создать частную часть X, но он может передать монеты X.
Алиса генерирует й, частную часть X, следующим образом:
• Она получает м и Y от сделки
• Она вычисляет общие секретные S = Hash (м, AY). Обратите внимание, ау = уА и только Алиса и Боб могут вычислить их.
• Тогда х = са (по модулю больших простых определяемый ECC)
Она может проверить, что X = XQ. Кроме того, X является производным от А, но не один, но Боб может доказать, Алиса является владельцем X, так как только Алиса и Боб знают, с.
«М» выбирается так, чтобы никакие две транзакции не производят один и тот же с. Следовательно, X всегда будет уникальным для этой транзакции. м будет несколько байт из сделки, которые являются уникальными для сделки, но которые не зависит от X, ключа принимающего в сделке. (Это очень важно, чтобы мы не имеем круговое определение X).
У Алисы есть клиент, который должен был бы проверить каждую новую сделку по недвижимости, что S = Hash (м, AY) и X = SÁ знать, чтобы добавить монеты на баланс в кошельке. Она может сказать, что она получила монеты.
(Обратите внимание, это проверка дорого. Мы могли бы сэкономить время, оставив несколько байт из Hash (ов) в доступной области сделки. Это позволит сэкономить один из двух необходимых ECC размножается. Клиент все равно пришлось бы вычислить с для каждая сделка, но после того, что Hash (s) является относительно дешевым.)