Допустим, вы хотите послать кому-то монету, но не хотите, чтобы у него монета, если он не доставляет продукт. С другой стороны, он не хочет, чтобы отправить Вам товар, перед тем, как монеты.
Ответ заключается в использовании Отправитель Сформирован Условные ключи.
Если отправитель может сгенерировать открытый ключ для приемника таким образом, что:
1. Только получатель может генерировать приватную часть для него но только если он получает отдельную часть информации от отправителя.
2. Отправитель не может генерировать приватные части - значит, как только сделка там отправитель не может восстановить монеты - только передать их получателю.
Тогда мы имеем ситуацию, где есть монеты, сидящие там совершаются и могут идти только на приемник, но приемник не может забрать их, пока он как-то не удовлетворяет отправителя.
Два шаг операции могут быть реализованы доверяя третью сторону с монетами, но иногда вы не хотите доверять третью сторону.
-----------------------------------------------------------
Это как Sender Сформирован Условные Ключи работы:
Пусть Алиса опубликовать сертификат с открытым ключом. (Этот сертификат имеет ключ, который не является ключевой сделкой. Она не может быть использован в нормальном режиме других клиентов, чтобы отправить.) Пусть "" быть серт закрытый ключ. Серт открытый ключ "" (А = ао, где Q является основой точка в криптографической кривой). А имеется в Cert созданный Алисой.
Кроме того, пусть Боб есть бумажник и она имеет монеты под открытым ключом "Y" поэтому Bitcoin блок цепь имеет транзакции перенося монеты в Y и Боб имеет секретный ключ, "Y", Что соответствует Y, но никто не знает, что Боб владеет Y.
Боб хочет условно отправить несколько монет Алисе. Он смотрит на сертификат для Алисы и извлекает клиент А. Боба генерирует открытый ключ "Икс" от А, у и "м" (М случайность, полученная из частей сделки, который передает монету). X обладает свойством, что Алиса может определить частный ключ "Икс" только если Боб дает Алисе дополнительную часть информации. Алиса может потратить монеты в X, убедив Боб, чтобы дать ей дополнительную информацию, а затем генерирующую х и использовать его, чтобы подписать сделку тратить монеты в каком-то момент в будущем.
Боб создает X сначала генерирует секрет S, следующим образом:
s = Хеш (м, Y, A)
Х = să
(Примечание să представляет собой криптографический размножаются ECC). Только Боб может генерировать с. Кроме того, Боб не может создать частную часть X, но он может передать монеты X. Боб убеждает Алиса он совершил монеты путем создания открытого ключа из с:
S = Sq
И посылает его Алисе. Алиса не может генерировать с. Но использование общественных S она знает, что монеты совершаются так:
X = As (где ее закрытый ключ)
После того, как она удовлетворяет Боб, он дает ей с и она генерирует й, приватную часть X, следующим образом:
х = са (по модулю большого простого определяемому ECC)
Она может проверить, что X = XQ и выполнено.
«М» выбирается так, чтобы никакие две транзакции не производят один и тот же с. Следовательно, X всегда будет уникальным для этой транзакции. м будет несколько байт из сделки, которые являются уникальными для сделки, но которые не зависит от X, ключа принимающего в сделке. (Это очень важно, чтобы мы не имеем круговое определение X).