Aptos 主網將很快啟用 🔒 機密資產 💸 !! 即,加密的餘額和交易金額 🔐,雖然發送者和接收者地址是公開可見的 🌍 ! (一步一步來,大家...) 這就是它們的運作方式! 🤓👇
Aptos 機密資產建立在先前工作的基礎上並進行擴展。 我們使用 Twisted ElGamal 對鏈上餘額進行加密,類似於 PGC ()。 這與 Bulletproofs 組合良好,以證明在機密發送/提取後,加密餘額已正確扣除。
或者,正如我常常說的[而且這一點常常被取笑]... "看看我的部落格!"
*特點 1:* 與 PGC 和 Solana 不同,我們的 Twisted ElGamal 密文是 _積極分塊_ 的,以確保在處理約 256 位的餘額和金額時能實現超快的解密。 我們稱之為 *chunked'n'twisted ElGamal.* 順便提一下,Aptos 只需要 128 位的餘額和 64 位的金額。
對於 Aptos,分塊保證在解密過程中需要解決的最大離散對數(DL)實例在最壞情況下為 32 位(平均情況下則小得多)。 => 使用像是嬰兒步驟巨人步驟(BSGS)這樣的簡單算法,輕鬆地在 2^16 橢圓曲線加法中解決👇
*特徵 2:* 我們通過批量壓縮加速我們選擇的 Ristretto255 橢圓曲線的 BSGS。 我們還將其預計算表的大小減少了 4 倍 (=> 減少保密 dapps 的 SDK 大小和延遲) 我們稱這個新算法為 *截斷 BSGS-k (TBSGS-k).*
我之前對這個算法進行過即興發揮: ……但未能強調 *為什麼*: TBSGS-k 是確定性的 => 實現和測試更簡單。 TBSGS-k 只比更複雜的 [BL12] 算法慢 ~2 倍(10.6 毫秒對 4.8 毫秒),並且只有 2 倍更大的表。
alin.apt
alin.apt2026年2月25日
如果你想在 Ristretto255 上更快地計算離散對數,而它的點壓縮速度較慢,這裡有一個我和 @claudeai 想出來的更快(且佔用更少內存)的 Baby-Step Giant-Step 算法變體 👇
*功能 3:* 當啟用審計時,我們在審計者的加密金鑰 (EK) 下維護每位用戶(可用)餘額的可證明正確的加密。 這防止了審計者掃描用戶的交易以重建他們的餘額。 關鍵:這使得審計者的 EK 旋轉成為可能 👌
*功能 4:* 在 Aptos 中,使用者 _簽名_ 金鑰輪換是一項核心安全功能。 所以:我們也設計了機密資產以支持使用者 *解密* 金鑰輪換! 目前,金鑰管理政策由應用程式/錢包負責(著名的最後一句話 🤞)。
好消息:無鑰的保密 dapps 可以安全地重用它們的 🌶️ 作為解密密鑰! ==> 這類應用不會引入額外的密鑰管理負擔 ==> 建立保密 dapp 的最簡單方法是作為無鑰 dapp;不需要錢包 [支援]!
*特徵 5:* 實施加密(*圖形學*)以保護真實用戶資金是令人恐懼的。 為了最小化錯誤 (🤞),我們使用一種被大多數人忽視的方法論來安全設計和組合 Sigma 協議: *同態框架*,我在 @danboneh 的書中發現的 🙏
*功能 6:* 首個準備投入生產的機密資產實現於 Move。 該代碼目前是私有的,正在進行審計,但將很快發布。 這裡有一個預告,展示機密轉移是多麼簡單 👇
此外,因為我無法自已,這裡是我們的 Sigma-protocol 同態框架在 Move 中實現的部分 😍
*特徵 7:* 完整的加密規範及安全證明。(嘿,也許我們可以在 @leanprover 中編碼?) 即將推出,附上辣味細節,在你旁邊的 eprint 👇
最後,應該給予應有的讚譽:Aptos 機密資產建立在之前工作的想法之上並加以擴展 👇 1. Zether (): 通過待處理餘額解決固定帳戶模型的「前置交易」問題
2. PGC (): 提議將 Twisted ElGamal + Bulletproofs 作為 \Sigma-bullets 的更簡單替代方案。 這大大降低了實現的複雜性:我們只需專注於正確設計我們的 Sigma 協議! 安全組合在下面進行了論證 👇
3. Solana (): 透過將待處理餘額分割成 "高" 32 位元區塊和 "低" 16 位元區塊,允許轉移 48 位元的金額。 我們通過使用更多的區塊以及額外分割可用餘額來允許更大的金額。
最後但同樣重要的是,我想感謝@mstrakastrak和@distributedlab的朋友們,他們幫助設計了保密資產協議的初始版本並在Move和TypeScript中實現了它 🖖 請留意我們即將發佈的聯合論文!
144