• bitcoinBitcoin (BTC) $ 77,228.00
  • bitcoinBitcoin (BTC) $ 77,228.00
  • ethereumEthereum (ETH) $ 2,111.65
  • ethereumEthereum (ETH) $ 2,111.65
  • tetherTether (USDT) $ 0.999064
  • tetherTether (USDT) $ 0.999064
  • usd-coinUSDC (USDC) $ 0.999712
  • usd-coinUSDC (USDC) $ 0.999712
  • tronTRON (TRX) $ 0.371205
  • tronTRON (TRX) $ 0.371205
  • dogecoinDogecoin (DOGE) $ 0.102353
  • dogecoinDogecoin (DOGE) $ 0.102353
  • zcashZcash (ZEC) $ 647.45
  • zcashZcash (ZEC) $ 647.45
  • leo-tokenLEO Token (LEO) $ 9.98
  • leo-tokenLEO Token (LEO) $ 9.98
  • cardanoCardano (ADA) $ 0.244258
  • cardanoCardano (ADA) $ 0.244258
  • moneroMonero (XMR) $ 383.32
  • moneroMonero (XMR) $ 383.32
  • bitcoin-cashBitcoin Cash (BCH) $ 350.54
  • bitcoin-cashBitcoin Cash (BCH) $ 350.54
  • chainlinkChainlink (LINK) $ 9.50
  • chainlinkChainlink (LINK) $ 9.50
  • stellarStellar (XLM) $ 0.149920
  • stellarStellar (XLM) $ 0.149920
  • daiDai (DAI) $ 0.999610
  • daiDai (DAI) $ 0.999610
  • litecoinLitecoin (LTC) $ 52.68
  • litecoinLitecoin (LTC) $ 52.68
  • hedera-hashgraphHedera (HBAR) $ 0.088619
  • hedera-hashgraphHedera (HBAR) $ 0.088619
  • crypto-com-chainCronos (CRO) $ 0.068980
  • crypto-com-chainCronos (CRO) $ 0.068980
  • okbOKB (OKB) $ 83.23
  • okbOKB (OKB) $ 83.23
  • ethereum-classicEthereum Classic (ETC) $ 8.98
  • ethereum-classicEthereum Classic (ETC) $ 8.98
  • cosmosCosmos Hub (ATOM) $ 2.14
  • cosmosCosmos Hub (ATOM) $ 2.14
  • kucoin-sharesKuCoin (KCS) $ 8.04
  • kucoin-sharesKuCoin (KCS) $ 8.04
  • algorandAlgorand (ALGO) $ 0.113039
  • algorandAlgorand (ALGO) $ 0.113039
  • dashDash (DASH) $ 45.20
  • dashDash (DASH) $ 45.20
  • vechainVeChain (VET) $ 0.006663
  • vechainVeChain (VET) $ 0.006663
  • true-usdTrueUSD (TUSD) $ 0.999023
  • true-usdTrueUSD (TUSD) $ 0.999023
  • tezosTezos (XTZ) $ 0.335997
  • tezosTezos (XTZ) $ 0.335997
  • decredDecred (DCR) $ 16.66
  • decredDecred (DCR) $ 16.66
  • iotaIOTA (IOTA) $ 0.057932
  • iotaIOTA (IOTA) $ 0.057932
  • neoNEO (NEO) $ 2.84
  • neoNEO (NEO) $ 2.84
  • basic-attention-tokenBasic Attention (BAT) $ 0.100042
  • basic-attention-tokenBasic Attention (BAT) $ 0.100042
  • qtumQtum (QTUM) $ 0.909981
  • qtumQtum (QTUM) $ 0.909981
  • 0x0x Protocol (ZRX) $ 0.105239
  • 0x0x Protocol (ZRX) $ 0.105239
  • ravencoinRavencoin (RVN) $ 0.005347
  • ravencoinRavencoin (RVN) $ 0.005347
  • ontologyOntology (ONT) $ 0.056350
  • ontologyOntology (ONT) $ 0.056350
  • iconICON (ICX) $ 0.037265
  • iconICON (ICX) $ 0.037265
  • paxos-standardPax Dollar (USDP) $ 0.999420
  • paxos-standardPax Dollar (USDP) $ 0.999420
  • wavesWaves (WAVES) $ 0.397829
  • wavesWaves (WAVES) $ 0.397829
  • liskLisk (LSK) $ 0.119730
  • liskLisk (LSK) $ 0.119730
  • huobi-tokenHuobi (HT) $ 0.143842
  • huobi-tokenHuobi (HT) $ 0.143842
  • bitcoin-diamondBitcoin Diamond (BCD) $ 0.061182
  • bitcoin-diamondBitcoin Diamond (BCD) $ 0.061182
  • augurAugur (REP) $ 0.961429
  • augurAugur (REP) $ 0.961429
Эфириум

Ethereum-исследователь представил ZK-протокол «Тайный Санта» с полной приватностью участников

  • Distributed Lab представила ZKSS — криптографического «Тайного Санту» на Ethereum без раскрытия адресов.
  • Протокол гарантирует анонимное распределение подарков на блокчейне.
  • Основные этапы игры включают в себя настройку, фиксацию подписей, а также определение отправителя и получателя подарка.

Руководитель отдела Solidity в Distributed Lab и автор проекта Circom Witchcraft Артем Чистяков представил новый криптографический протокол ZK Secret Santa (ZKSS), который позволяет проводить игру «Тайный Санта» на Ethereum с полной приватностью и корректностью процесса.

На форуме Ethereum Research он сообщил о публикации научной работы на arXiv, посвященной реализации «настоящего Тайного Санту» на блокчейне:

«Ранее в этом году мы написали научную статью о том, как реализовать (настоящего) “Тайного Санту” на Ethereum, сохраняя конфиденциальность игроков и правильность игры. Интересно, что вы думаете о протоколе ZKSS!».

Как работает протокол ZKSS

ZK Secret Santa состоит из трех шагов и использует доказательства с нулевым разглашением (ZKP), чтобы обеспечить анонимность участников и гарантировать, что никто не сможет выбрать себя в качестве получателя подарка. Протокол устраняет необходимость в централизованном администраторе и сохраняет деранжирование перестановки (когда ни один участник не получает себя).

Основные вызовы игры на блокчейне Ethereum авторы связывают с отсутствием приватности, недостатком достоверной случайности и риском «двойного участия». Для их решения протокол применяет:

  • транзакционный ретранслятор для сокрытия адресов участников;
  • ZKP, чтобы подтверждать правильность взаимодействий без раскрытия данных;
  • нулификаторы (блайндеры) — механизм, который предотвращает повторную отправку случайности в игре;
  • разреженные деревья Меркла (SMT) для проверки принадлежности участников к исходному набору.

Основные этапы ZKSS

  1. Регистрация участников (setup): все участники один раз публично регистрируют свои Ethereum-адреса в смарт-контракте. Данные попадают в SMT и могут использоваться во многих играх.
  2. Фиксация подписей (signature commitment): этот шаг необходим из-за недетерминизма ECDSA. Каждый участник подписывает сообщение, хеш подписи публикуется в смарт-контракте, что гарантирует невозможность манипулировать подписями и обходить нулификаторы.
  3. Определение отправителя подарка (gift sender determination): участники анонимно добавляют случайное значение r к массиву рандомизированных отправителей через ZKP и ретранслятора. Используется RSA-ключ (2048 бит), который в финальном этапе позволяет получателю передать зашифрованный адрес доставки подарка конкретному «Санте».
  4. Раскрытие получателя подарка (gift receiver disclosure): на этом этапе участник раскрывает себя как получателя. Смарт-контракт через ZKP убеждается, что нулификатор правильный и что участник не выбрал сам себя. При необходимости получатель отправляет зашифрованный адрес доставки подарка RSA-ключом своего «Тайного Санты».

Безопасность и корректность

Авторы объясняют, что без шага с фиксацией подписей протокол может подвергнуться атаке из-за недетерминизма ECDSA [Elliptic Curve Digital Signature Algorithm, алгоритма с открытым ключом для создания цифровой подписи] — злоумышленник может обойти защиту nullifiers и «занять» все позиции дарителей.

Также описан потенциальный незначительный риск фронтраннинга получателя, когда недобросовестный даритель может попытаться «перехватить» выбор получателя в мемпуле. Но атака возможна только один раз и не влияет на дальнейшую корректность процесса.

Раздел Correctness подчеркивает ключевые гарантии:

  • участники не могут раскрыть себя до завершения второго этапа;
  • подпись ECDSA должна соответствовать RFC 6979;
  • eventId должен быть уникальным;
  • звукность протокола базируется на корректности ZK-системы.

В конце авторы предлагают аналогию со шляпой, в которую каждый участник бросает «рандомное число», а затем вытаскивает чужую запись. ZKP гарантирует, что никто не сможет вытащить собственную.

Напомним, что в мае сооснователь Ethereum Виталик Бутерин опубликовал предложение о развитии сети с новым типом узлов для сохранения приватности.

Позже соучредитель и президент Etherealize Дэнни Райан отметил, что приватность экосистемы Ethereum будет зависеть от спроса институтов и участия Уолл-стрит на крипторынке.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»