The LTB Network Forum


Что такое Stealth-адрес?

Back to LTB in Russian

Jump to bottom

Comments

ndrey86

Stealth-адреса, будем называть их по-русски «адреса-невидимки» — это еще один вполне стандартный способ сокрытия платежей несмотря на тот факт, что Blockchain является открытой базой адресов. В отличие от CoinJoin и CoinShuffle здесь не происходит запутываний, здесь сокрытие происходит совсем по другому принципу — благодаря протоколу Диффи-Хеллмана (Меркла).

Иллюстрация к протоколу Диффи-Хеллмана Иллюстрация к протоколу Диффи-Хеллмана

Протокол Диффи-Хеллмана позволяет сторонам по публичному каналу обменяться данными для получения, т.н. shared secret, или «общего ключа». Общий ключ таким образом остается секретным при сторонах, а затем может быть использован для установления полноценного секретного соединения на основе классического симметричного шифрования или как-либо еще. Надежность протокола Диффи-Хеллмана основана на том факте, что как обычно, у атакующего не хватит компьютерных мощностей на поиск секретной составляющей, даже подслушав публичные ключи. Хорошую иллюстрацию дает соответствующая страница Википедии: здесь Алиса и Боб путем обмена публичной информацией об одной составляющей случайно выбранного ими цвета, в результате слияния цветов получили один на всех разделяемый секрет («общий ключ») с условием, что атакующий не может произвести обратную операцию.

Именно этот принцип и заложен в основе адресов-невидимок, только протокол Диффи-Хеллмана применили к эллиптическим кривым, на которых построена криптография Биткоин. Работает следующим образом: 1.Желающий принимать платежи (продавец) создает пару ключей: приватный d и публичный Q. Затем Q можно сообщить по публичным каналам желающему осуществить платеж (покупателю) или попросту опубликовать у себя на сайте. В дальнейшем Q никак не будет фигурировать в Blockchain, а посему его следов не останется. 2.Покупатель так же создает свою пару ключей: публичный P и приватный e. Полученный публичный ключ P отправляется продавцу в поле метаданных платежа. 3.Используя публичный ключ продавца Q и свой приватный ключ e, покупатель может получить c — общий ключ. Продавец проделывает похожие манипуляции со своим приватным ключом и публичным ключом покупателя и получает тот же самый c. Из c при помощи преобразований можно получить собственно адрес платежа A (покупатель сделал это в пункте 2). Адрес платежа случаен при условии, что покупатель создавал ключи случайным образом. Адрес известен только двум сторонам. 4.Продавец слушает или сканирует Blockchain на предмет stealth-платежей и к каждому из них применяет преобразования из пункта 3 (либо покупатель сообщает о совершении платежа как-либо еще). Если на основе метаданных какой-либо транзакции и собственного приватного ключа d, продавцу удалось получить адрес и он совпал с адресом транзакции A, то продавец может быть уверен, что платеж совершен. 5.Комбинируя c со своим приватным ключом d, продавец может получить новый приватный ключ, дающий ему доступ к кошельку A.

Известно, что один из простых и надежных способов сохранения приватности платежей является создание новых адресов под каждую новую транзакцию — это должно стать привычкой. Но иногда это не удобно, например, когда хочется оставить адрес для пожертвований неизменным и просто ждать сюрприза. Адреса-невидимки позволяют слегка решить эту проблему. Это просто один из способов создания новых адресов для каждой новой транзакции. В этом случае ответственность за создание новых адресов возложена на желающего осуществить перевод, а для продавца плюс дополнительная приватность.

Описанная математика конечно же должна быть реализована в коде кошельков и доступна простым людям, но адреса-неведимки пока еще не выбрались из лабораторий. Все надежды на грядущий DarkWallet, который на днях добрался до стадии Alpha 6.

2 likes
  • v.gluhov

    А зачем столько сложностей? Это с какими суммами надо работать, что бы такие манипуляции вытворять?

    Permalink
    0 likes
Jump to top

Post Reply

Please Login to post a reply to this thread.

© Copyright 2013–2016 The LTB Network. All rights reserved .