Trong các giao dịch đa chữ ký của EVM, Nonce là một khái niệm quan trọng, được sử dụng để đảm bảo rằng các giao dịch được thực hiện theo một thứ tự cụ thể. Nó khác với Nonce trong các giao dịch thông thường. Trong giao dịch đa chữ ký, nhiều địa chỉ hợp tác để thực hiện giao dịch và sử dụng một tài khoản đa chữ ký chung để ký và ủy quyền. Mỗi địa chỉ có giá trị Nonce riêng, cho biết số lượng giao dịch đã được gửi đến địa chỉ đó.
Mục đích của Nonce là duy trì trật tự và tính toàn vẹn của các giao dịch để ngăn chặn các cuộc tấn công lặp lại và thứ tự thực hiện giao dịch khó hiểu. Nó là một phần của hợp đồng nhiều chữ ký và được quản lý và duy trì bởi hợp đồng. Do đó, Nonce của giao dịch đa chữ ký có thể vượt quá giá trị Nonce hiện tại của địa chỉ người gửi.
Trong các giao dịch đa chữ ký, thứ tự Nonce chính xác là rất quan trọng để đảm bảo tính nhất quán và chính xác của giao dịch. Các giao dịch đa chữ ký cần được thực hiện theo đúng thứ tự của các giá trị Nonce để đảm bảo các giao dịch được thực hiện theo đúng thứ tự dự kiến.
Cần lưu ý rằng khi tạo giao dịch đa chữ ký, bạn phải đảm bảo rằng Nonce của giao dịch phù hợp với thứ tự mà hợp đồng đa chữ ký mong đợi. Nếu Nonce của giao dịch không khớp với giá trị mong đợi, giao dịch sẽ trực tiếp báo lỗi và thất bại khi thực thi trên chuỗi. Vì vậy, khi phát hành nhiều giao dịch đa chữ ký cùng lúc, giá trị Nonce của giao dịch cần được thực hiện theo thứ tự từ nhỏ đến lớn. Một giao dịch chỉ có thể được thực hiện thành công nếu Nonce của giao dịch được phát hành khớp với giá trị Nonce dự kiến hiện tại.
Trong hàng đợi giao dịch đa chữ ký, chúng tôi chia giao dịch thành "giao dịch hiện tại" và "giao dịch xếp hàng đợi". Nếu không có "giao dịch hiện tại", bạn cần bắt đầu "giao dịch hiện tại" để đảm bảo rằng các giao dịch tiếp theo có thể được phát hành bình thường. Các giao dịch trong hàng đợi phải được thực hiện theo đúng thứ tự và các giao dịch tiếp theo chỉ có thể được thực hiện sau khi giao dịch trước đó đã được xác nhận và thực hiện.
Bằng cách hiểu đúng và sử dụng khái niệm Nonce trong giao dịch đa chữ ký, chúng ta có thể đảm bảo trật tự và tính chính xác của giao dịch. Điều này giúp duy trì độ tin cậy và bảo mật của các giao dịch đa chữ ký.
Tóm lại, Nonce đóng một vai trò quan trọng trong các giao dịch đa chữ ký EVM để đảm bảo thực hiện tuần tự các giao dịch. Bằng cách duy trì trình tự giao dịch chính xác, giao dịch đa chữ ký có thể đảm bảo rằng mỗi giao dịch được thực hiện như mong đợi, tránh vấn đề thực hiện giao dịch lặp lại hoặc không theo trình tự. Điều này giúp đảm bảo tính nhất quán, chính xác của các giao dịch và tăng cường tính bảo mật, độ tin cậy của các giao dịch đa chữ ký.
![](https://public.bnbstatic.com/image/pgc/202406/6ca94e82c14c46ac4a582e8c08cf0b7c.png)
Lấy hình trên làm ví dụ, chuỗi cần một giao dịch có số nonce là 2. Nếu một giao dịch có số nonce là 1 được phát hành vào thời điểm này, nó sẽ thất bại ngay lập tức. Tương tự, nếu một giao dịch có số nonce là 3 hoặc 4. được ban hành, nó cũng sẽ thất bại ngay lập tức. Một giao dịch có số nonce là 2 phải được thực hiện để thành công. Miễn là giao dịch không được gửi đến chuỗi, giao dịch có thể xuất hiện trong hàng đợi giao dịch, chờ thực hiện tiếp theo.