Мне кажется, вы могли бы сделать общественные деривации unlinkable, например, путем создания случайного секрета "код цепи" и шифрование для получателя. Таким образом, с '= случайное, Qi = c'G + Q, E (Q, с'). Там, где Е представляет открытый ключ шифрования с открытым ключом Q, такие как EC Elgamal E (Q, C ') = (А, В), где к = случайная, точка С = [с', F (с ')], где определен ЕС с помощью функции F, A = C + KQ, B = кГс. Дешифрирование выполняется с '= [А-хВ] .x. Теперь, чтобы получить операции нужно полный клиент и попытаться расшифровать гр" значения и если с проверкой"* Q =? Qi.
Видимо пользователь форума байткод предложил что-то связанное с этим в прошлом.
Некоторые обновления на этом. Я обсуждал на IRC идею использования «цветения-приманки», чтобы сделать это немного более SPV дружественным, например, в том числе последних байт открытого ключа, но это не подорвет анонимность набора, хотя.
В качестве альтернативы можно было бы сделать отдельное сообщение спаривание без каких-либо входов (другой тогда анонимный unlinkable плата за анти-DoS), чтобы отправить E. Таким образом, сообщение спаривание посылает E (Q, C «) (фактически детерминированный с» для идемпотентности восстановления / аварии причины). И с»становится общим chaincode для нормального BIP 32 HD суб-кошелек для конкретной пары отправитель-получатель и секретном им. Существует некоторый риск временной корреляции спаривания и первого платежа производится немедленно, и некоторый риск отказа из-за отсутствия связи сообщения спаривания, то есть получатель не знает, с». Эта часть не является идеальной, посылая один Комбинированное сообщением является предпочтительным, но берет на триал-дешифрование и полный узел, или делегацию на полный узел, который познает цепной код и делает пробную расшифровку. Вероятно, можно было бы делегировать пробный дешифрование для полного узла, а полезная нагрузка представляет собой супер-зашифрованы цепного кода.
Я не уверен, если его аналогом идеи ByteCode или нет (не нашли оригинал), но Retep также предложил по идее другой вариант этой же идеи: использовать статический DH для кодирования вместо EC Elgamal (ака ECIES), который в основном сосредоточено на артефакте, что спаренные пользователи не заботятся, чтобы выбрать chaincode, случайный, переговоры можно было бы сделать. Для этого, например, отправитель имеет открытый ключ от входа сказать P = Eg, и получатель имеет открытый ключ Q = дО, то они используют ECDH, чтобы прийти к общему коду с '= H (ео) = H (Dp). Retep назвал это стелс-адрес, так что использование BIP 32 он создает последовательность HD addesses как Si = M (с», I), а получатель сжатый адрес S'i = Н (Si), так что получатель с полным узел может сканировать для них. Или делегировать сканирование на полный узел.
Снова явный цветение приманка тег может быть использован для уменьшения сканирования при стоимости набора анонимности. Для того, чтобы сделать его обратно совместимый Retep предложили растереть адрес, чтобы придать ему префикс с дополнительным бонусом, что многие инструменты уже держать индексы префикса адреса. (Адрес помол может изменить BIP32 добавить шлифовальный счетчик: Si = M (с», я, CTR)). Это действительно подразумевает некоторую шлифовальную стоимость, которая замедляет вещи вниз, но его несколько обратной совместимость и, возможно, indistinguishble до некоторой степени. Наземные префиксы адресов или явные теги цветения-приманка, могут оказать неблагоприятное воздействие на CoinJoin как метка / метка виден и Анонимность набор уменьшается.
На мой образ мышления, следовательно, все еще существуют пробелы в жизнеспособности такого подхода. Несмотря на то, что является весьма привлекательным иметь безопасный способ иметь статические базовые адреса отправителя с полученными адресами или кодами цепи, это не так далеко масштабируемым зажигать узлы. Но если путь может быть найден, чтобы сделать эту шкалу для легких узлов без введения Анонимность поставленной задачи, это может быть большим шагом вперед, как, казалось бы, пользователи повторяющееся и на постоянной основе, не понимают и не любят адреса одноразовыми на приемном конце , Ясно, что одиночные адреса использования являются проблематичными.
Такой подход выше, может работать для повторяющейся бизнес-вещи, как обмены, процессоры оплаты и т.д., как эти объекты, как правило, работают полные узлы в любом случае. Можно сказать, что эти объекты в любом случае
имеют инфраструктуры и связи шаблон для поддержки HD суб-кошелек адреса.
Существует один дополнительное преимущество отправителя полученных адреса: получатель имеет глобальный общий статический адрес, поэтому он может выступать в качестве якоря доверия к отогнать отвлечение атаку в простом и эффективном способе пространства без подписей. Он может действовать как SSH Тофу (доверительном при первом использовании) отпечатков пальцев. Пользователи могут сравнить отпечатки пальцев, вызвать компанию, ожидают отпечатки пальцев, рекламируемые на все официальные письма, SSL статического контент веб-сайте, визитные карточки, целевые каталоги, PGP, подписанные ключевыми сотрудниками и т.д. (Diversion атака означает, где кто-то взламывает сервер и заменяет адреса с их собственным). Кроме того, люди могут проверить, что отпечатки пальцев в их автономном бумажнике для сумм уровня инвестиций.
Адам
[Править: NB для этого общей схемы работы, получатель должен Advertis несжатого адреса, то есть х коорды из Q, а не H (Q). Это может даже быть совместимо со старым несжатым BTC адреса, я не уверен]