現時 frame transaction 會消耗一個線性 sender nonce;如果前面有一筆 frame transaction 延遲,後面同一 sender 嘅 frame transaction 就會被卡住 。EIP-8250 提議用兩個欄位取代這條單一路線:
nonce_key:選擇防重播所在嘅 domain。nonce_seq:表示該 domain 入面嘅序號。最關鍵嘅兼容設計係:nonce_key == 0NONCE_MANAGER 系統合約嘅 nonce sequence 。
所以,這不是「所有交易都並行」的開關,而係為特定 transaction type 加入多條 replay-protection lane。每條 lane 仍有先後次序,只係不同非零 key 之間唔再互相等對方 。
問題出在 shared sender。ETH Daily 形容,EIP-8250 對私隱協議特別有用,因為這類系統可能會將好多互不相關用戶嘅操作,經同一個 shared sender address 發出 。如果所有操作都共用一條線性 nonce queue,一筆交易慢咗,後面所有交易都有機會一齊塞車
。
keyed nonce 可以減少呢種 head-of-line blocking。協議可以將不同用戶流量或不同流程分配到不同非零 nonce_key,令其中一條 lane 出現延誤時,未必拖慢其他 lane 。不過,安全目的仍然係防重播;EIP-8250 只是令每個 key 有自己嘅序列,並不是取消 replay check
。
keyed nonce 不會自己隱藏餘額、收款人或金額。要做到真正私密轉帳,仍然需要另一套機制。舉例,EIP-8182 另外描述用 system contract、proof-verification precompile、notes、deposit、private transfer 同 withdrawal 等組件,去支援 private ETH 及兼容 ERC-20 轉帳 。
換句話講,EIP-8250 更似係改善私隱系統「行車效率」同「狀態管理」嘅底層配件,而唔係一個完整匿名支付方案。
多篇報道總結 Buterin 嘅說法時,都將 keyed nonces 放入更大嘅 state scaling 脈絡:某些資料不一定要塞入 Ethereum 完全通用、動態嘅 state;可以為特定用途設計專門 storage 。
報道反覆引用嘅規模例子係:如果 on-chain 私隱交易連續八年維持每秒 2,000 筆,會產生大約 500 billion、即約 5,000 億個 nullifier 。這應該理解為壓力測試式示例,不代表 Ethereum 已經承諾會儲存 5,000 億筆相關記錄,亦不代表 EIP-8250 已排期啟用。
state scaling 嘅核心問題係:所有資料是否都需要用同一套完全通用 storage 模型處理?報道指,keyed nonces 可被視為一個可能起點,將來為高容量、用途狹窄嘅工作負載建立專門化儲存結構;私隱 nullifier 正係主要例子 。
有報道提到,專用 nullifier store 可配合 sharding 同 Bloom filters 等技術,令節點更容易管理大型私隱狀態集合,而不是將所有記錄都放入 Ethereum 一般動態 state 。吸引之處在於 nullifier 功能很窄:它需要被查核,但不需要像任意 smart contract storage 一樣靈活。