同樣是要證明「鏈下付款真的發生了」,Peer 把驗證層從 proxy-TLS / zkTLS 改到 AWS Nitro Enclaves 裡執行的 TEE-TLS。差別不是最後鏈上結果,而是簽名如何產生、你必須信任誰,以及使用者要等多久。
Peer 是非託管的 fiat-to-crypto 協議:賣家先把 USDC 鎖進鏈上 escrow,買家用 Venmo、PayPal、Wise、Revolut、Zelle、Cash App 等法幣支付工具把錢付給賣家。協議真正困難的地方,是在不依賴中心化 oracle 的情況下,證明那筆私密、登入後才能看到的付款平台回應是真的。
鏈上合約最後只需要一個答案:這筆 offchain payment 是否已經發生?如果答案可信,就釋放 escrow 裡的 USDC。zkTLS 與 TEE-TLS 最後都能產生這個 attestation;架構差異在於「誰來看付款平台回應、誰來簽名、外界如何相信這個簽名」。
這次遷移不是把 zkTLS 換成「純信任 AWS」。更精確地說,是把信任錨點從「attestor / notary 的行為」移到「某個可驗證的 enclave measurement 內,確實跑了這份程式」。
proxy 只看到加密流量;買家在自己的裝置上產生 proof,證明解密後的付款平台回應包含正確付款細節,再由 zkTLS attestor / notary 簽署。
PeerAuth extension 從已登入的付款平台分頁讀取 live session token,直接加密給 enclave 公鑰。enclave 自己向付款平台發 authenticated request、檢查回應並簽署 attestation。
0xSachinK 的文章把安全性分成三層:簽名金鑰不離開 enclave memory;KMS 只對 measurement 相符的 enclave 解封;外部可以驗證 Nitro attestation document。這組設計讓營運者本人也不能任意取出金鑰或替換程式碼。
常見對 TEE 的批評會引用 Intel SGX side-channel attack。但原文指出,SGX 是在 host OS 旁邊以 process 形式共享 cache / memory 的 enclave;AWS Nitro Enclaves 則是有自己 kernel 的隔離 VM,host 讀不到 enclave memory。
更重要的是,許多 side-channel 攻擊需要長時間、重複接觸同一個 secret,才能一點一點抽出 key。Peer 的設計中,使用者 credential 只活在單次請求中;持久 secret 則是簽名金鑰,而且每次 rebuild 會重新 provision。這不代表 TEE 沒有風險,但代表它的風險輪廓與「長期放著一大庫使用者資料」不同。
使用者完成付款後,還要等待 proof 產生與 attestor 簽署;對 crypto-native 使用者可接受,但對 mainstream payment flow 容易像壞掉。
extension 把憑證加密給 enclave,enclave 查證並簽出 attestation。文章聲稱等待從約 30 秒降到 1 秒以內。
Peer 計畫開源 attestation service,讓外部能重建 enclave image、驗證完整 chain,未來也讓其他 operator 參與網路。
從半分鐘到一秒內,差別不只是效能,而是使用者是否相信流程有在動。
不再只問「attestor 是否誠實」,而是問「這份程式是否真的在這個 enclave measurement 裡跑」。
Peer 要證明的是私密付款平台上的狀態,最後釋放的是鏈上的 USDC。zkTLS 路線把證明產生留在 client-side,靠 attestor 背書;TEE-TLS 路線把付款平台請求移進 enclave,靠硬體隔離、KMS policy 與 attestation document 讓外部驗證。
這個轉向值得注意,因為它把 crypto payment 的討論從「能不能做 trustless proof」推向另一個更產品化的問題:如果使用者要的是快、私密、可驗證,哪一種最小信任假設才夠用?
如果你想看完整技術脈絡、原始圖與 Peer 後續公告,建議回到 0xSachinK 的 X Article 閱讀全文。