Перевод Анонимность криптовалют. Подходы, основанные на смешивании

Тема в разделе "Статьи", создана пользователем Mr. Pickles, 19 ноя 2019.

  1. Mr. Pickles

    Команда форума Модератор Редактор

    Регистрация:
    11 сен 2017
    Сообщения:
    556
    Симпатии:
    205
    В этом продолжении к нашему предыдущему посту мы обсудим смешивание, самый ранний подход к обеспечению анонимности криптовалют. Смешивание позволяет скрыть связь между входами и выходами отдельных транзакций, объединяя (или смешивая) их с входами и выходами других транзакций. Чтобы это сработало, необходимо, чтобы различные входы и выходы были взаимозаменяемы, то есть, чтобы транзакции представляли собой передачу монеты или токена, каждая часть которого выглядела бы одинаково. В этом посте нами рассматриваются протоколы и транзакции исключительно такого характера.

    Простой пример: предположим, что Элис хочет отправить 10 гипотетических MixCoin Бобу. В случае со стандартным протоколом, подобным Bitcoin, она бы просто провела одну транзакцию, передав 10 MixCoin со своего адреса на адрес Боба. Технологии на базе смешивания изменяют этот порядок проведения транзакций, позволяя Элис сделать что-либо из нижеследующего:
    • (CoinJoin) найти пользователя Синди, которой также хотелось бы оправить 10 MixCoin пользователю по имени Дэвид, и объединить все транзакции в одну транзакцию, посредством которой Элис и Синди отправили бы свои выходы достоинством 10 монет Бобу и Дэвиду;
    • (Mimblewimble) позволяет майнерам накапливать все транзакции, добытые в блоке, включая только сгруппированные входы и выходы и пропуская входы и выходы, являющиеся частью одной и той же транзакции;
    • (Monero) группирует 10 MixCoin Элис с несколькими случайно выбранными монетами, принадлежащими другим пользователям, и отправляет их способом, раскрывающим, что тратится только одна из этих монет (при этом не указывается, какая именно).
    Эти методы требуют разных усилий со стороны Элис и обеспечивают различные преимущества с точки зрения анонимности личных данных, данных транзакции и состояния блокчейна, о которых говорилось в нашем предыдущем посте. В этом посте нами рассматривается развитие концепции смешивания, начиная с истоков, тумблеров и CoinJoin и заканчивая её последними инкарнациями в Mimblewimble и Monero. Также мы оцениваем, как обеспечивается анонимность по всем этим направлениям. В частности, нас очень интересует, каков будет размер окончательной анонимной группы, которая, как мы помним, является самым малым объединением адресов отправителя транзакции, которое может быть сужено и которое определяет эффективность протокола при сокрытии связи между адресами. А теперь мы подробнее рассмотрим каждый из этих протоколов.

    Тумблеры

    Изначально смешивание появилось как метод противодействия анализу блокчейна Bitcoin. Самым простым способом скрыть происхождение монет — это воспользоваться услугами третьей стороны, называемой миксером или тумблером (например, bitmixer.io). Если Элис захочет перекинуть 10 BTC, то она (и большая группа других пользователей) может отправить 10 BTC на тумблер Тима. Затем Тим может отправить 10 BTC (минус небольшая комиссия), которые были получены от другого пользователя, Боба, на другой адрес, которым владеет Элис. Таким образом, когда Элис позднее будет использовать полученные ею 10 BTC, в блокчейне не будет ничего, что могло бы связать их с 10 BTC, изначально отправленными Тиму. Несмотря на то, что при использовании этого метода все суммы в выходах и транзакции остаются публичными, он позволяет разорвать связь между реальными личностями и адресами.

    1.jpeg
    Не миксер для криптовалют

    Данный тип смешивания имеет ряд недостатков. Во-первых, Элис и другим пользователям тумблера приходится доверять Тиму, то есть они должны быть уверены в том, что он отправит монеты им обратно. Несмотря на то, что тут может сыграть свою роль репутация, у них нет никакой криптографической защиты от того, что Тим может просто оставить монеты у себя или взломать их, и подобный тип происшествий был довольно частым делом на заре Bitcoin. Такие протоколы, как TumbleBit, которые запускались поверх Bitcoin, разрабатывались именно с целью решения этой проблемы, но они не получили широкого распространения. Кроме того, у Тима была возможность отследить все монеты, которые проходили через его миксер, а это означало, что он мог связать депозиты пользователей с выводом монет с его тумблера, если бы захотел. Во-вторых, что уже не так страшно, централизованный оператор тумблера мог столкнуться с различными подзаконными актами, связанными с борьбой против отмывания денег и регулирующими передачу денежных средств. В-третьих, если Элис пожелала бы смешать свои 8,29387541 BTC, а не 10 BTC, то появилась бы возможность связать две транзакции между Элис и Тимом, так как сумма 8,29387541 BTC является довольно редкой. Наконец, анонимная группа, обеспечиваемая тумблером, зависит от количества пользователей такого определённого миксера на момент смешивания, и Элис будет трудно спрогнозировать или даже измерить её.

    CoinJoin

    Для того чтобы устранить необходимость в доверенной третьей стороне, Грегом Максвеллом (Greg Maxwell), одним из ведущих разработчиков Bitcoin, был придуман метод CoinJoin. Его можно считать попыткой реализации тумблера, использующего криптографию во избежание привлечения третьей доверенной стороны. В частности, если у Элис, Боба и Кэрол - у каждого будет по входу достоинством 10 BTC и они захотят воспользоваться CoinJoin, чтобы смешать их, они могут воспользоваться службой CoinJoin Тима, чтобы построить (неподписанную) транзакцию, отправив эти три входа достоинством 10 BTC для получения трёх новых выходов достоинством 10 BTC. А Тим смог бы отправить окончательную транзакцию всем троим, Элис, Бобу и Кэрол, для подписания. Как только транзакция будет подписана каждым из них, Тим смог бы передать транзакцию в сеть Bitcoin. Из-за свойств криптографических подписей это процесс не потребовал бы от Элис, Боба и Кэрол доверия к Тиму или друг к другу. Тим просто свёл бы их вместе.

    Таким образом, такая транзакция скрыла бы происхождение выходов; в частности, внешний наблюдатель не смог бы связать какой-либо отдельно взятый выход с определённым входом, а размер анонимной группы был бы равен 3. Это свойство опирается на тот факт, что в трёх входах достоинством 10 BTC заложена одинаковая сумма. Если бы вместо этого у Элис был вход достоинством 20 BTC, то для участия в той же группе CoinJoin ей бы понадобилось сначала разбить его на два входа достоинством 10 BTC, в результате чего транзакция CoinJoin бы изменилась и в ней было бы уже четыре входа достоинством 10 BTC и четыре выхода достоинством 10 BTC.

    Как и в случае с тумблерами, сумы в выходах и адреса здесь являются публичными, но путём объединения нескольких транзакций CoinJoin не даёт внешним наблюдателям связать адреса входов и выходов. При участии большего количества пользователей и повторном использовании метод CoinJoin позволяет создавать всё большую анонимную группу. В отличие от тумблера CoinJoin обеспечивает криптографическую безопасность монет пользователей. То есть этот метод использует специфический формат транзакций Bitcoin, позволяющий каждому пользователю независимо подписывать свой вход, при этом транзакция согласовывается вне блокчейна и передаётся в сеть только после того, как все пользователи подпишут её. Следовательно, пользователям не приходится полагаться на третью доверенную сторону, на то, что она честно реализует процесс смешивания транзакций.

    Тем не менее и тут остаётся ряд недочётов. Во-первых, так как CoinJoin предполагает координирование действий вне блокчейна, пользователям самим приходится находить других пользователей онлайн, которые бы хотели совместно воспользоваться CoinJoin. В случае с такими криптовалютами, как Dash, эта проблема решается стимулированием специальных узлов, называемых мастер-узлами. Такие узлы получают вознаграждение за то, что остаются онлайн и проводят транзакции CoinJoin. Во-вторых, размер выходов должен быть идентичным, кто усугубляет проблему координирования. Наконец, пользователи, непосредственно участвующие в CoinJoin, смогут сопоставить входы и выходы, даже несмотря на то, что эта проблема решается при помощи более сложных вариантов, таких как CoinShuffle.

    Mimblewimble

    Протокол был предложен в августе 2016 года через канал IRC анонимным пользователем под псевдонимом Tom Elvis Jedusor (реальное имя Волан-де-Морта в переводе книг о Гарри Поттере на французский язык). Mimblewimble (протокол был назван так же, как и связывающее язык проклятие) предлагает использовать новую структуру блокчейна, в которой все сумы транзакций и балансы были бы скрыты, а адреса входов и выходов неясны. По состоянию на декабрь 2018 протокол Mimblewimble был реализован двумя криптовалютами:
    • Grin, блокчейн проект, использующий алгоритм доказательства работы, созданный в марте 2017 группой анонимных разработчиков под псевдонимами из книг о Гарри Поттере;
    Обе криптовалюты прошли тестирование перед запуском. Но чтобы понять технические подробности, сначала нам необходимо кратко рассмотреть схемы обязательств, используемые в криптографии.

    Схема обязательства является криптографическим примитивом, позволяющим пользователю создать обязательство по ценности данных (которое уже нельзя будет изменить в последствии), при этом не раскрывая самих данных. Например, если Элис и Боб играют в «камень-ножницы-бумага», но не доверяют друг другу, предполагая, что соперник переиграет свой выбор позднее, они могут записать свои обязательства по выбору, а затем определить результат игры, раскрыв свой выбор. Протокол Mimblewimble использует схему обязательства с ослеплением, состоящую из функции, которая берёт некоторые данные X и ослепляющий коэффициент B (дополнительное число, которое, как правило, выбирается случайным образом). Функция C = Commit(X, B) тщательно выбирается таким образом, что если Элис сообщит Бобу значение C (называемое обязательством), Боб не сможет восстановить какую-либо информацию по X. Позднее Элис может решить раскрыть значение данных X и ослепляющий коэффициент B. У Боба должна быть возможность легко проверить, что Элис были известны эти значения раньше, когда она предоставила ему обязательство C. Для этого он проверяет, чтобы C = Commit(X, B). Тут всё сильно опирается на тот факт, что Элис не сможет позднее создать иные значения X' и B' так, чтобы C = Commit(X', B'), и это обеспечивает уверенность Боба в том, что значения X и B, которые Элис сообщила ему, являются действительными.

    Mimblewimble представляет данные, ослепляющие коэффициенты и обязательства в качестве точек на эллиптической кривой, которые можно считать алгебраическими объектами и которые можно складывать (как числа в модульной арифметике). Следовательно, протокол может использовать гомоморфные обязательства, что означает, что схема обязательства соответствует Commit(X1, B1) + Commit(X2, B2) = Commit(X1 + X2, B1 + B2).

    Существует определённая схема обязательства под названием обязательство Педерсена, в основе которой лежит криптография на эллиптических кривых. Несмотря на то, что совсем не обязательно описывать все подробности в оставшейся части этого поста, мы всё же упомянем ключевое свойство, благодаря которому пользователь, которому известен ослепляющий коэффициент B для Commit(0, B), сможет доказать это знание, не раскрывая B, но используя криптографическую подпись.

    В основе протокола Mimblewimble лежит идея Грега Максвелла, касающаяся реализации конфиденциальных транзакций (CT) в Bitcoin. Но вместо того, чтобы использовать непотраченные выходы транзакций (UTXO), как в случае с Bitcoin, монеты в Mimblewimble сохраняются в блокчейне в виде гомоморфных обязательств по суммам выходов. Затем приватные ключи реализуются в виде ослепляющих коэффициентов. Например, если у Элис есть 10 монет с приватным ключом 1337, они будут представлены в блокчейне только числом Commit(10, 1337), которое выглядит как случайное число для всех, кроме Элис.

    Если затем Элис захочет отправить 6 монет Бобу, она сгенерирует новый приватный ключ, допустим, 201, для сдачи и создаст выход Commit(3.9, 201). Затем она может сообщить Бобу сумму (6 монет) и разницу между своими старым и новым ключами (1337–201 = 1136). Боб сгенерирует собственный новый приватный ключ, допустим, 1000, свой выход Commit(6, 1000) и небольшую комиссию за проведение транзакции, а также создаст саму транзакцию:
    • входы: [Commit(10, 1337)]
    • выходы: [Commit(3.9, 201), Commit(6, 1000)]
    • комиссия за проведение транзакции: 0,1
    Чтобы гарантировать, что транзакция будет действительной, Элис и Боб также должны включить:
    • подпись, использующую избыточный ослепляющий коэффициент (1136–1000 = 136, где, как мы помним, 1136 является разницей между старым и новым приватными ключами Элис) в качестве приватного ключа, и Commit(0, 136) в качестве публичного ключа, доказывающего, что Бобу известен этот приватный ключ. Способность Боба создавать эту подпись является особым свойством обязательств Педерсена, используемым данным протоколом;
    • доказательства того, что количество монет в Commit(3.9, 201) и Commit(6, 1000) является положительным (так как отрицательное значение позволило бы Элис создавать монеты из воздуха). Такие доказательства называются доказательствами диапазона (Grin использует доказательства Bulletproofs), и они могут быть созданы без раскрытия количества монет в обязательстве.
    Чтобы проверить транзакцию, валидаторы проверяют действительность доказательств диапазона и подписи для разницы Commit(3.9, 201) + Commit(6, 1000) + Commit(0.1, 0) - Commit(10, 1337) = Commit(0, 136). Это гарантирует, что общее количество монет, находящихся в обращении, не изменится (это задаётся данными суммы по всем обязательствам), а также, что Элис на самом деле известен приватный ключ для входа, который она тратит. После проведения транзакции только Элис и Бобу будут известны приватные ключи и суммы для их соответствующих выходов; тем не менее то, что вход Commit(10, 1337) был потрачен в двух входах Commit(6, 1000) и Commit(3.9, 201), будет публичной информацией.

    2.jpeg
    Накопление транзакций в Mimblewimble

    Чтобы ещё в большей степени скрыть информацию транзакций, Mimblewimble объединяет все транзакции в одном блоке. Предположим, Кэрол отправляет монеты Дэвиду в отдельной транзакции от Элис и Боба. Если эти транзакции будут включены в один блок, то в целях верификации транзакций единственными имеющими значение данными будут:

    • список входов и выходов;

    • сумма всех избыточных ослепляющих коэффициентов;

    • доказательства диапазона для каждого выхода.
    В частности, эти данные не зависят от группировки входов и выходов в транзакциях, поэтому Mimblewimble просто забывает их после включения транзакций в блоки, по сути, выполняя процедуру, подобную CoinJoin, для всех транзакций, оказывающихся в блоке, скрывая связи между адресами входов и выходов. Такое накопление может осуществляться группами пользователей при помощи процедуры, подобной CoinJoin, или по мере прохождения транзакций на сетевом уровне при помощи протокола Dandelion++, который усложняет процесс определения входов и выходов, принадлежащих одной и той же транзакции, наблюдателем.

    Mimblewimble использует ещё одну хитрость. При валидации транзакций следует помнить о том, что состояние блокчейна задаётся только рядом непотраченных выходов, поэтому потраченные выходы могут быть исключены при помощи процедуры, называемой сокращением. Кроме того, из-за ограничения, связанного с тем, что сумма всех обязательств должна соответствовать общему количеству монет, этот набор выходов нелегко будет подделать так, чтобы состояние блокчейна при этом осталось действительным. В результате мы можем относиться к комбинации набора непотраченных выходов и набора последних блоков, как к состоянию общего консенсуса, то есть как к модели, которая заметно отличается от традиционного, подобного Bitcoin блокчейна. В частности, новые пользователи могут проверить, является ли состояние действительным, не зная полной истории транзакций, а её размер пропорционален количеству непотраченных выходов. Это означает, что пользователи могут без какого-либо доверия синхронизировать Mimblewimble при гораздо меньшей пропускной способности и используя гораздо меньше места для хранения. Также частично скрываются суммы транзакций и частично скрываются адреса входов и выходов.

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

    Monero

    Протокол Monero (XMR) изначально был основан на протоколе CryptoNote, предложенном в белой книге, опубликованной в октябре 2013 автором под псевдонимом Nicolas van Saberhagen, но с тех пор сильно изменился, впитав в себя идеи Грега Максвелла и Адама Бэка (Adam Back). Проект был запущен в 2014 году командой анонимных разработчиков как Bitmonero и позже после форка стал называться Monero. Причиной форка стали некоторые разногласия относительно пути развития проекта. Протокол объединяет две ключевые криптографические идеи:
    • кольцевые подписи позволяют пользователям скрывать набор входов, которые появляются в транзакции. В случае с Monero используется расширение под названием RingCT, которое дополнительно скрывает и суммы транзакций, сходно с тем, как это делает Mimblewimble;
    • одноразовые адреса позволяют пользователям получать каждый платёж на уникальный адрес, используемый только для этого платежа, не взаимодействуя с тем, кто отправил такой платёж.
    И теперь мы объясним, как эти ключевые идеи связаны с Monero.

    Как и в случае с Mimblewimble, монеты в Monero представлены гомоморфными обязательствами Педерсена Commit(X, B) для некоторого количества монет X и ослепляющего коэффициента B. Предположим, у Элис есть выход достоинством 10 XMR, и она желает отправить 7 XMR Бобу. С Mimblewimble она бы использовала только свой выход, добавив его в транзакцию в качестве входа. Однако в Monero Элис должна указать ложные входы, называемые миксинами, чтобы наблюдатель не смог угадать, какие входы на самом деле используются в транзакции. Для этого она создаёт то, что называется кольцевой подписью.

    Кольцевая подпись — это криптографическая процедура, в результате которой на основе пары, состоящей из приватного и публичного ключей, а также набора несвязанных публичных ключей, создаётся одна подпись. Кольцо является набором публичных ключей, входящих в подпись, и кольцевая подпись обладает свойством, благодаря которому верификатор подписи не сможет точно сказать, кто из участников кольца создал подпись. Monero использует связываемую кольцевую подпись, а это означает возможность определения того, использовался или нет один и тот же приватный ключ для подписания двух различных сообщений; это критически важно с точки зрения возможности обнаружения попыток двойной траты. В основе схемы подписи, используемой Monero, лежит та, что была изобретена Адамом Бэком, и она адаптирована под обязательства Педерсена. Мы не станем подробно описывать её в этом посте.

    3.jpeg
    Пример транзакции Monero с 2 реальными входами и 6 миксинами

    Для того чтобы отправить Бобу 7 из своих 10 XMR, Элис сначала должна выбрать по крайней мере 6 других выходов (возможно, не принадлежащих ей), известных как миксины. Затем она должна сгенерировать случайное число и объединить его с публичным адресом Боба и своим публичным адресом, чтобы сгенерировать два уникальных одноразовых адреса, на которые будут отправлены средства: один для 7 XMR, предназначенных для Боба, и другой для получения сдачи в размере 3 XMR. В результате этой процедуры будут получены:
    • два одноразовых адреса: один для Элис и один для Боба;
    • публичный ключ транзакции, выведенный на основе случайного числа.
    В случае с любой транзакцией Боб может объединить этот приватный ключ и публичный ключ транзакции, чтобы проверить, является ли он получателем каких-либо выходов такой транзакции. Если он является получателем, он также увидит полученную им сумму в XMR.

    После создания одноразовых адресов Элис создаёт обязательства по выходам Output_Bob и Output_Change, предназначенных для каждого одноразового адреса. Затем она создаст кольцевую подпись с выходом, который хочет потратить, и выбранными ею миксинами. Особенность RingCT состоит в том, что подпись также содержит доказательство того, что Amount(Input_Alice) = Amount(Output_Bob) + Amount(Output_Change), и внешний наблюдатель при этом не видит, какой из входов в кольце является действительным Input_Alice или какой сумме он принадлежит: Amount(Input_Alice), Amount(Output_Bob) или Amount(Output_Change).

    Теперь, чтобы сформировать действительную транзакцию, Элис понадобится сгенерировать доказательства диапазона (недавно был реализован хардфорк Monero, и проект перешёл на Bulletproofs) для каждого выхода. Таким образом, Элис сможет продемонстрировать, что число монет в каждом выходе является положительным, то есть Amount(Output_Bob) > 0 и Amount(Output_Change) > 0. Эти доказательства не позволят Элис подделать монеты, создав обязательство по выходу Output_Bob с -5 монет и обязательство по выходу Output_Change с 15 монетами.

    Объединив всё это, Элис сможет опубликовать транзакцию, состоящую из:
    • списка обязательств по входам, состоящим из входов и миксинов Элис;
    • списка обязательств по выходам;
    • кольцевой подписи для входа и миксинов Элис (содержащей доказательство, что суммы во входах и выходах в совокупности равны);
    • списка адресов выходов, включающего в себя одноразовый адрес Боба и одноразовый адрес Элис для получения сдачи;
    • списка доказательств диапазона по одному для каждого выхода, доказывающих, что сумма в выходе имеет положительное значение;
    • комиссии за проведение транзакции, написанной обычным текстом.
    Блокчейн Monero является стандартным блокчейном, использующим доказательство работы, состоящим из таких транзакций. В случае с Monero размер кольца в каждой транзакции обязательно должен быть равен 11, что означает, что размер анонимной группы в каждой транзакции будет равен по крайней мере 11. Если транзакции пройдут несколько итераций, конечный размер анонимной группы будет гораздо больше. Кроме того, в отличие от CoinJoin, этот размер анонимной группы может быть достигнут неинтерактивным способом, то есть пользователю, проводящему транзакцию, необязательно координировать свои действия с кем-либо ещё. Поэтому кольцевые подписи Monero часто относят к одной из форм децентрализованного смешивания, даже несмотря на то, что лежащий в их основе криптографический механизм совсем иной.

    Такие особенности Monero в совокупности создают блокчейн, в котором скрываются суммы транзакций и частично скрываются адреса входов и выходов. Несмотря на то, что это немного затрудняет связывание транзакций, если сравнивать с Bitcoin, всё равно возможны попытки анализа блокчейна Monero. Злоумышленник Дэвид может узнать, какой из нескольких возможных адресов отправителя в кольцевой подписи является реальным, если:
    • сам будет являться их владельцем;
    • угадает, какие входы являются миксинами, используя эвристический подход по времени их создания или их использованию в других транзакциях;
    • изучит, как использовались эти входы в хардфорках Monero (как это было сделано в этом случае).
    Используя эти методы для определения того, были ли они потрачены или нет, Дэвид может попытаться итеративно расширить свой список известных входов в различных транзакциях и таким образом выявить принадлежность различных выходов одному и тому же лицу. Такие методы применялись в случае с первыми версиями протокола Monero, что описано в этой работе, и тогда успешность их применения зависела, в первую очередь, от минимального размера кольца каждой транзакции. Как было отмечено в этом отзыве, в анализируемой версии протокола минимальный размер кольца был равен 1, а в используемой сегодня версии Monero он уже составляет 7, что делает подобный анализ довольно затруднительным.

    Заключение

    Технологии на основе смешивания значительно поднимают уровень взаимозаменяемости криптовалют, что улучшает различные аспекты их анонимности. С другой стороны, сама взаимозаменяемость опирается на равное отношение ко всем монетам в криптовалюте. В частности, это требует возможности отделения монеты от её истории, так как в противном случае появится возможность отличить монету в зависимости от её прошлых владельцев или типов транзакций. Такое отделение является целью самой анонимности, так как создаёт симбиотические отношения между взаимозаменяемостью и анонимностью, основанной на смешивании.

    Первые версии технологий смешивания, тумблеры и CoinBase использовали взаимозаменяемость, чтобы скрыть связь между отправителями и получателями транзакций. Эти технологии позволяют пользователям сделать неопределённой связь между их реальной личностью и адресом их монет в блокчейне, даже несмотря на ограниченность анонимной группы из-за необходимости в доверии третьей стороне в случае с тумблерами и необходимостью в поиске желающих в случае с CoinBase. Более продвинутые итерации Mimblewimble и Monero обеспечивают возможность асинхронного смешивания майнерами, при котором транзакции упаковываются в блоки (Mimblewimble) или используются кольцевые подписи, в результате чего и происходит неинтерактивное смешивание (Monero). В случае с этими двумя протоколами взаимозаменяемость также позволяет использовать гомоморфные обязательства Педерсена, полностью скрывающие суммы транзакций. Мы кратко описали влияние применения этих протоколов на различные аспекты анонимности в таблице ниже.

    4.png

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

    Источник: Privacy in Cryptocurrencies: Mixing-based Approaches

    Перевод:
    Mr. Pickles (@v1docq47)
    Редактирование:
    Agent LvM (@LvMi4)
    Коррекция:
    Kukima (@Kukima)
     
  • О нас

    Наш сайт является одним из уникальных мест, где русскоязычное сообщество Monero может свободно общаться на темы, связанные с этой криптовалютой. Мы стараемся публиковать полезные мануалы и статьи (как собственные, так и переводы с английского) о криптовалюте Monero. Если вы хорошо владеете английским (или можете писать собственные статьи/мануалы) и хотите помочь в переводах и общем развитии Monero для русскоязычной аудитории - свяжитесь с одним из администраторов.