Введение
Конфиденциальность этой структуры далеко не идеальна. В такой системе, как биткоин, каждая транзакция связана с предыдущей. Монеты технически не взаимозаменяемы, то есть каждая отдельно взятая монета может иметь привязку к конкретным транзакциям. Никто не может запретить вам отправлять биткоины, но сеть может отказаться от транзакции, если получит информацию о том, что ранее ваши монеты использовал адрес из черного списка.
В худшем сценарии отсутствие взаимозаменяемости может оказать сильное воздействие на основу всей системы. Чистые монеты могут приносить премию, в то время как старые будут менее ценными, учитывая их историю.
Конфиденциальность биткоина зачастую преувеличивают. Отслеживаются не только монеты, но и пользователи. Механизм этой монеты предполагает псевдонимность (публичные адреса видны вместо имен), но это не лишено недостатков. Сложные методы анализа могут с повышенной точностью объединять адреса в виде кластеров, в попытке деанонимизировать сетевые объекты.
Одним из предложенных улучшений было сделать транзакции действительно приватными, и им стали конфиденциальные транзакции.
Что такое конфиденциальные транзакции?
Конфиденциальные транзакции (CT) впервые стал рассматривать генеральный директор Blockstream Адам Бэк в 2013 году, а затем его идеи были дополнены биткоин-разработчиком Грегори Максвеллом. Максвелл указал на проблемы взаимозаменяемости и слабой псевдонимности и выдвинул свое решение. Он предложил скрыть обзор суммы переводов от участников сети, чтобы только два участника транзакции знали, сколько монет было отправлено.
Обзор используемой криптографии
Ответ заключается именно в гомоморфическом шифровании, в схеме, под названием обязательство Педерсена. Такой тип шифрования позволяет посторонним лицам проводить различные операции с зашифрованными данными (с которыми они не могут ознакомиться) для ряда целей.
Обычный хеш может использоваться для фиксации данных, которые вы хотите раскрыть позже. Предположим, вы хотите объявить конкурс в социальных сетях, где тот, кто угадает вашу любимую биржу, получит приз в 0.01 BTC. Участники могут быть скептичными, поскольку предполагают, что вы можете просто посмотреть ответы после окончания конкурса и выбрать биржу, которая не была упомянута.
f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191
Однако такой процесс не очень надежен. Хотя у ваших подписчиков вряд ли получится перевернуть алгоритм, они могут составить список с наименованиями бирж и хешировать каждое из них до тех пор, пока не получат соответствующее совпадение. Чтобы уменьшить вероятность такого исхода, необходимо добавить к информации для хеширования случайные данные — они называются ослепляющим фактором.
Обязательство Педерсена позволяет нам добавлять входные данные, избегая различных обязательств. Как это иллюстрирует Максвелл:
C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)
Здесь также есть еще несколько шагов, включающих криптографию на эллиптических кривых и проверку диапазона, но основная идея заключается в том, что перед каждым адресом пользователя стоит обязательство Педерсена. При отправке средств создаются два дополнительных обязательства (одно для изменения адреса, который должен быть возвращен пользователю, и одно для адреса назначения).
Никто не знает, сколько монет было отправлено, но можно проверить, что обязательства по изменению и назначению (левая часть уравнения Максвелла) складываются с исходным адресом (правая часть уравнения). Если все правильно складывается, то транзакция пользователя действительна, поскольку можно доказать, что входные данные совпадают с данными на выходе.
На что способны конфиденциальные транзакции?
Если бы в биткоине были реализованы конфиденциальные транзакции, мы бы пользовались гораздо более приватной системой. Как входные, так и выходящие данные были бы замаскированы от всеобщего обозрения, в то время, как записи в регистре обфусцированы, но узлы все еще могут подтверждать подлинность операций. С таким значительным повышением конфиденциальности, биткоины могут стать взаимозаменяемыми, поскольку анализ цепочки больше не раскрывает историю каждой отдельной единицы монеты.
Относительно того, будут ли конфиденциальные транзакции интегрированы в протокол, в настоящее время, очень маловероятно, что это произойдет. С такой дополнительной функциональностью, транзакции намного больше стандартных, учитывая ограниченное пространство блоков это только увеличит нагрузку на сеть. Для этого также потребуется, чтобы большинство участников согласилось внести изменения в код, что является крайне трудоемкой и сложной задачей.
Резюме
Конфиденциальные транзакции обладают множеством преимуществ, но это слабый компромисс, учитывая все технические нюансы. Криптовалюты регулярно борются со слабой масштабируемостью и пропускной способностью на базовом уровне, а большие объемы таких транзакций категорически не подходят для этого. Тем не менее, приверженцы конфиденциальности считают, что скрывать суммы транзакций и адреса участников является необходимостью, чтобы позволить криптовалюте выступать в качестве взаимозаменяемых денег.