Mainnet Aptos дуже скоро відкриє 🔒 доступ до конфіденційних активів 💸!! тобто зашифровані баланси та суми 🔐 транзакцій, хоча й з публічно 🌍 видимими адресами відправника та отримувача! (Крок за кроком, друзі...) Ось як вони працюють! 🤓👇
Конфіденційні активи Aptos базуються на попередніх роботах. Ми шифруємо баланси на ланцюгу за допомогою Twisted ElGamal, наприклад PGC (). Це добре поєднується з Bulletproofs, щоб довести, що зашифрований баланс був правильно списаний після конфіденційного відправлення/зняття.
Або, як я часто кажу [і з мене зараз сміються]... "Дивись мій блог!"
*Вміння 1:* На відміну від PGC і Solana, наші шифротексти Twisted ElGamal мають _aggressively-chunked_ для забезпечення надшвидкого розшифрування при обробці балансів і обсягів ~256 біт. Ми називаємо це *на шматки та викривлені Ельгамал.* Для довідки, Aptos потребує лише 128-бітних балансів і 64-бітних кільксиків.
Для Aptos фрагментування гарантує, що максимальний дискретний логарифмічний (DL) екземпляр, який потрібно розв'язати під час дешифрування, буде 32-бітним у найгіршому випадку (і значно меншим у середньому). => легко розв'язується у 2^16 еліптичних додаваннях кривих за допомогою простих алгоритмів, таких як маленький крок гігант-крок (BSGS) 👇
*Здібність 2:* Ми прискорюємо BSGS для нашого вибору еліптичної кривої Ristretto255 за допомогою пакетних компресій. Ми також зменшуємо розмір попередньо обчисленої таблиці у 4 рази (=> зменшуємо розмір і затримку SDK конфіденційних dapps) Ми називаємо цей новий алгоритм *усечений BSGS-k (TBSGS-k).*
Я вже експериментував із цим алгоритмом раніше: ... але не підкреслив *чому*: TBSGS-k є детермінованою => простішою для реалізації та тестування. TBSGS-k лише у ~2 рази повільніший (10,6 мс проти 4,8 мс), ніж складніший алгоритм [BL12], і має лише 2 рази більші таблиці.
alin.apt
alin.apt25 лют. 2026 р.
If you're trying to compute discrete logs faster on Ristretto255, which has slow point compression, here's a faster (and smaller-memory footprint) variant of the Baby-Step Giant-Step algorithm I and @claudeai came up with 👇
*Feat 3:* Коли аудит увімкнено, ми підтримуємо доведено коректне шифрування балансу кожного користувача (доступного) під ключем шифрування аудитора (EK). Це забороняє аудиторам сканувати TXN користувачів для відновлення їхнього балансу. Ключ: це дозволяє ротації 👌 аудитора EK
*Feat 4:* В Aptos обертання ключа користувача _signing_ є центральною функцією безпеки. Отже: ми також розробили конфіденційні ресурси для підтримки обертання ключа користувача *дешифрування*! Поки що політики управління ключами залишаються на розсуд додатків/гаманців (відомі останні слова 🤞).
Добра новина: безключові конфіденційні dapps можуть безпечно повторно використовувати 🌶️ їх як ключ для розшифрування! () ==> для таких застосунків не додається додаткового навантаження на управління ключами ==> найпростіший спосіб створити конфіденційний DAPP — це безключовий DAPP; Гаманець [підтримка] не потрібен!
*Feat 5:* Впровадження крипто(*graphy*), що забезпечує реальні кошти користувачів, лякає. Щоб мінімізувати помилки (🤞), ми використовуємо майже недооцінену методологію безпечного проєктування та створення Sigma-протоколів: *Фреймворк гомоморфізму*, який я відкрив у книзі 🙏 @danboneh
*Талант 6:* Перша готова до виробництва реалізація конфіденційних активів у Move. Код наразі залишається приватним під час аудиту, але незабаром буде опублікований. Ось тизер того, наскільки простим може 👇 бути конфіденційний переказ
Також, оскільки я не можу інакше, ось частина нашого фреймворку гомоморфізмів протоколу Sigma, реалізовану в Move 😍
*Feat 7:* Повна криптографічна специфікація з доказами безпеки. (Чорт забирай, може, ми зможемо закодувати це у @leanprover?) Незабаром, з гострими деталями, у eprint поруч із вами 👇
Нарешті, кредит там, де це заслуговує: конфіденційні активи Aptos розвивають ідеї, запропоновані у попередніх роботах 👇 1. Zether (): проблема «фронт-бігу» фіксованої моделі рахунку через очіковані баланси
2. PGC (): запропонували Twisted ElGamal + Bulletproof як простішу альтернативу \Sigma-bullets. Це суттєво знижує складність реалізації: нам потрібно зосередитися лише на правильному проєктуванні наших протоколів Sigma! Безпечний твір наведено нижче 👇
3. Solana (): дозволяла передавати 48-бітні суми, розділяючи очікуваний баланс на «високий» 32-бітний і «низький» 16-бітний блок. Ми дозволяємо більші суми, використовуючи більшу кількість чанків і додатково розділяючи доступний баланс.
І нарешті, хочу подякувати @mstrakastrak та людям з @distributedlab, які допомагали розробляти початкову версію протоколу конфіденційних активів і впроваджувати його в Move і TypeScript 🖖 Слідкуйте за нашою спільною статтею, яка скоро вийде!
86