Основная сеть Aptos вскоре позволит 🔒 конфиденциальные активы 💸!! т.е. зашифрованные балансы и суммы транзакций 🔐, хотя адреса отправителей и получателей будут видны публично 🌍! (Шаг за шагом, друзья...) Вот как это работает! 🤓👇
Конфиденциальные активы Aptos основываются на предыдущих разработках и расширяют их. Мы шифруем балансы в блокчейне, используя Twisted ElGamal, как в PGC (). Это хорошо сочетается с Bulletproofs, чтобы доказать, что зашифрованный баланс был правильно списан после конфиденциальной отправки/вывода.
Или, как я часто говорю [и меня за это высмеивают на этом этапе]... "Смотрите мой блог!"
*Особенность 1:* В отличие от PGC и Solana, наши зашифрованные сообщения Twisted ElGamal _агрессивно разбиты на части_, чтобы обеспечить супербыструю расшифровку при обработке балансов и сумм около 256 бит. Мы называем это *разбитым и закрученным ElGamal.* Для справки, Aptos требует только 128-битные балансы и 64-битные суммы.
Для Aptos разбиение гарантирует, что максимальная дискретная логарифмическая (DL) задача, которую необходимо решить во время расшифровки, составляет 32 бита в худшем случае (и значительно меньше в среднем). => легко решается с помощью 2^16 операций сложения на эллиптической кривой, используя простые алгоритмы, такие как baby-step giant-step (BSGS)👇
*Особенность 2:* Мы ускоряем BSGS для нашего выбора эллиптической кривой Ristretto255 с помощью пакетного сжатия. Мы также уменьшаем размер его предвычисленной таблицы в 4 раза (=> уменьшаем размер и задержку SDK конфиденциальных dapps) Мы называем этот новый алгоритм *усеченный BSGS-k (TBSGS-k).*
Я уже упоминал этот алгоритм раньше: ...но не акцентировал внимание на *почему*: TBSGS-k детерминирован => проще в реализации и тестировании. TBSGS-k всего лишь ~2x медленнее (10.6 мс против 4.8 мс) чем более сложный алгоритм [BL12], и имеет только в 2 раза большие таблицы.
alin.apt
alin.apt25 февр. 2026 г.
Если вы пытаетесь быстрее вычислять дискретные логарифмы на Ristretto255, который имеет медленное сжатие точек, вот более быстрый (и с меньшим объемом памяти) вариант алгоритма Baby-Step Giant-Step, который я и @claudeai придумали 👇
*Особенность 3:* Когда аудит включен, мы поддерживаем доказуемо корректное шифрование доступного баланса каждого пользователя под ключом шифрования аудитора (EK). Это исключает возможность аудиторов сканировать транзакции пользователей для восстановления их баланса. Ключ: это позволяет проводить ротацию ключей аудитора EK 👌
*Особенность 4:* В Aptos ротация ключа _подписания_ пользователя является центральной функцией безопасности. Итак: мы также разработали конфиденциальные активы для поддержки ротации ключа *расшифровки* пользователя! На данный момент политики управления ключами оставлены на усмотрение приложений/кошельков (знаменитые последние слова 🤞).
Хорошая новость: Безключевые конфиденциальные dapps могут безопасно повторно использовать свои 🌶️ в качестве ключа для расшифровки! () ==> для таких приложений не вводится дополнительная нагрузка по управлению ключами ==> самый простой способ создать конфиденциальный dapp — это сделать его безключевым dapp; поддержка кошелька [необходима]!
*Особенность 5:* Реализация крипто(*графии*), которая защищает реальные средства пользователей, пугает. Чтобы минимизировать ошибки (🤞), мы используем в значительной степени игнорируемую методологию для безопасного проектирования и составления протоколов Сигма: *Гомоморфная структура,* которую я обнаружил в книге @danboneh 🙏
*Особенность 6:* Первая готовая к производству реализация конфиденциальных активов на Move. Код в настоящее время является закрытым, пока проходит аудит, но будет выпущен скоро. Вот небольшой тизер о том, насколько простым может быть конфиденциальный перевод 👇
Также, потому что я не могу с этим ничего поделать, вот часть нашей реализации гомоморфного фреймворка Sigma-протокола на Move 😍
*Особенность 7:* Полная криптографическая спецификация с доказательствами безопасности. (Черт, возможно, мы сможем закодировать это в @leanprover?) Скоро, с острыми деталями, в eprint рядом с вами 👇
Наконец, отдадим должное: конфиденциальные активы Aptos основываются на и развивают идеи, представленные в предыдущих работах 👇 1. Zether (): решает проблему "предварительного запуска" фиксированной модели счета через ожидающие балансы
2. PGC (): предложен Twisted ElGamal + Bulletproofs как более простая альтернатива \Sigma-bullets. Это значительно снижает сложность реализации: нам нужно сосредоточиться только на правильном проектировании наших Sigma-протоколов! Безопасная композиция обсуждается ниже 👇
3. Solana (): разрешает передавать суммы в 48 бит, разделяя ожидаемый баланс на "высокую" 32-битную часть и "низкую" 16-битную часть. Мы допускаем более крупные суммы, используя большее количество частей и дополнительно разбивая доступный баланс.
В заключение, я хочу поблагодарить @mstrakastrak и ребят из @distributedlab, которые помогли с разработкой первоначальной версии протокола конфиденциальных активов и его реализацией на Move и TypeScript 🖖 Следите за нашей совместной статьей, которая скоро выйдет!
66