NONCE_MANAGERMô hình giao dịch frame hiện dùng một nonce tuyến tính cho mỗi người gửi. Nếu một giao dịch frame bị trì hoãn, các giao dịch frame phía sau từ cùng người gửi có thể bị chặn theo . EIP-8250 đề xuất tách nonce thành hai trường:
nonce_key: chọn miền chống phát lại.nonce_seq: số thứ tự bên trong miền đã chọn.Chi tiết quan trọng là khả năng tương thích. Khi nonce_key == 0NONCE_MANAGER .
Nói đơn giản, EIP-8250 chuyển từ một hàng đợi chung của tài khoản sang nhiều làn theo khóa. Giao dịch dùng các khóa khác 0 khác nhau độc lập về chống phát lại, nhưng bên trong từng khóa vẫn có thứ tự riêng . Vì vậy, đây là thay đổi về chống phát lại cho một loại giao dịch cụ thể, không phải nút bật song song hóa cho mọi giao dịch Ethereum.
Nút thắt xuất hiện khi nhiều người dùng không liên quan được định tuyến qua một địa chỉ gửi chung. ETH Daily cho biết EIP-8250 đặc biệt có lợi cho các giao thức quyền riêng tư vì các hệ thống này có thể đưa nhiều người dùng độc lập qua một shared sender address, tức một địa chỉ gửi chung . Với một nonce tuyến tính, một giao dịch bị chậm từ địa chỉ đó có thể làm kẹt mọi giao dịch phía sau trong cùng chuỗi
.
Nonce có khóa giúp giảm kiểu nghẽn đầu hàng đợi này. Một giao thức có thể phân các luồng không liên quan sang các khóa nonce khác 0 khác nhau, để một luồng bị trì hoãn không nhất thiết kéo chậm toàn bộ luồng còn lại từ cùng địa chỉ gửi . Mục tiêu bảo mật vẫn là chống phát lại: đề xuất trao cho mỗi khóa một chuỗi riêng, chứ không bỏ kiểm tra replay
.
Nonce có khóa không tự che số dư, người nhận hay số tiền. Một đề xuất Ethereum khác, EIP-8182, mô tả chuyển ETH và ERC-20 riêng tư bằng hợp đồng hệ thống, precompile xác minh proof, note, nạp tiền, chuyển riêng tư và rút tiền . Đó là kiểu hạ tầng bổ sung cần có nếu muốn xây cơ chế chuyển khoản riêng tư.
Mối liên hệ của EIP-8250 với mở rộng quyền riêng tư nằm nhiều hơn ở cách tổ chức trạng thái. Các bản tin tóm lược bình luận của Buterin chỉ ra nullifier trong hệ thống riêng tư là trường hợp gây áp lực: nullifier tăng theo thời gian và không thể bị cắt bỏ sau khi vào hệ thống . Trong các hệ thống quyền riêng tư, những bản ghi này được dùng để ngăn trạng thái riêng tư bị dùng lại, nên chúng phải luôn có thể kiểm tra.
Ví dụ quy mô được nhiều bản tin nhắc lại khá lớn: nếu giao dịch riêng tư on-chain duy trì 2.000 giao dịch mỗi giây trong 8 năm, hệ thống sẽ tạo ra khoảng 500 tỷ nullifier . Con số này nên được hiểu như một ví dụ kiểm tra sức chịu tải, không phải cam kết rằng Ethereum chắc chắn sẽ lưu 500 tỷ bản ghi như vậy hay EIP-8250 đã được lên lịch kích hoạt.
Luận điểm về mở rộng trạng thái là không phải mọi loại dữ liệu trên Ethereum đều cần cùng một mô hình lưu trữ tổng quát. Các bản tin mô tả nonce có khóa như một bước đầu có thể dẫn tới những kiểu lưu trữ chuyên biệt cho từng khối lượng công việc, với nullifier của hệ thống riêng tư là ví dụ chính .
Một số báo cáo nói đến kho nullifier chuyên dụng sử dụng các kỹ thuật như sharding và bộ lọc Bloom để giúp các node quản lý tập dữ liệu quyền riêng tư rất lớn dễ hơn so với việc đặt toàn bộ bản ghi trong trạng thái động tổng quát của Ethereum . Điểm hấp dẫn là nullifier có mục đích hẹp và thiên về ghi thêm: chúng cần được kiểm tra, nhưng không cần độ linh hoạt như lưu trữ hợp đồng tùy ý.
Đây là lý do EIP-8250 thu hút chú ý vượt ra ngoài thay đổi nonce. Bản thân đề xuất nói về chống phát lại theo khóa cho giao dịch frame, nhưng cùng hướng thiết kế đó có thể hỗ trợ những cấu trúc do giao thức quản lý cho các khối lượng công việc lớn và tương đối dễ dự đoán .
Cách hiểu gọn nhất: EIP-8250 là một đề xuất chống phát lại, nhưng có hệ quả đáng chú ý với khả năng mở rộng của các hệ thống quyền riêng tư. Thay đổi trực tiếp khá đơn giản: tách thứ tự nonce của giao dịch frame thành nhiều làn theo khóa. Ý nghĩa lớn hơn nằm ở kiến trúc: nếu Ethereum có thể trao cho các khối lượng công việc hẹp nhưng rất lớn những cấu trúc do giao thức quản lý, hệ thống quyền riêng tư có thể mở rộng mà không phải đẩy mọi bản ghi không thể cắt bỏ vào trạng thái tổng quát .