Mình vừa nhận ra nhiều người trong lĩnh vực này thực sự không hiểu rõ ý nghĩa của nonce trong an ninh, và thành thật mà nói, nó khá là nền tảng cho cách hoạt động của blockchain. Để mình giải thích vì nó thực sự khá thú vị.



Vì vậy, nonce viết tắt của "số dùng một lần", và nó về cơ bản là số đặc biệt được gán cho mỗi khối trong quá trình khai thác. Hãy nghĩ nó như là phần chìa khóa mà các thợ mỏ liên tục điều chỉnh để giải quyết câu đố tính toán này. Nó không phải ngẫu nhiên - các thợ mỏ cố ý thao tác nó nhiều lần cho đến khi tìm ra một hàm băm phù hợp với yêu cầu cụ thể của mạng, thường là một số lượng số không đứng đầu nhất định. Quá trình thử và sai này chính là hoạt động khai thác.

Đây là lý do tại sao điều này quan trọng đối với khái niệm nonce trong an ninh: nó là thứ khiến việc sửa đổi dữ liệu blockchain gần như không thể thực hiện được. Nếu ai đó cố gắng thay đổi ngay cả một giao dịch trong một khối, toàn bộ hàm băm sẽ thay đổi, và họ sẽ phải tính lại nonce từ đầu. Chi phí tính toán trở nên quá cao đến mức không hợp lý cho kẻ tấn công. Đó chính là mục đích của nó.

Trong Bitcoin cụ thể, quá trình này khá đơn giản. Các thợ mỏ thu thập các giao dịch đang chờ xử lý thành một khối, thêm nonce vào phần tiêu đề, rồi băm tất cả bằng SHA-256. Họ kiểm tra xem hàm băm có đáp ứng mục tiêu độ khó của mạng không. Nếu không, họ thay đổi nonce và thử lại. Hàng nghìn lần. Ai tìm ra nonce phù hợp đầu tiên sẽ được thêm khối và nhận phần thưởng.

Mạng lưới thực sự điều chỉnh độ khó một cách linh hoạt nữa, điều này rất thông minh. Khi nhiều thợ mỏ tham gia và sức mạnh băm tăng lên, độ khó sẽ tăng để các khối vẫn mất khoảng 10 phút để tìm ra. Khi sức mạnh băm giảm, độ khó sẽ giảm xuống. Đây là cơ chế cân bằng tự nhiên giúp mọi thứ ổn định.

Vậy nonce ngoài việc khai thác Bitcoin là gì nữa? Thực ra có nhiều loại khác nhau. Có nonce mật mã dùng trong các giao thức bảo mật để ngăn chặn tấn công lặp lại, nonce hàm băm dùng trong các thuật toán băm khác nhau, và nonce lập trình chung để đảm bảo tính duy nhất của dữ liệu. Nhưng trong blockchain, chúng ta chủ yếu nói về nonce trong PoW.

Các tác động về an ninh khá quan trọng. Nonces ngăn chặn việc chi tiêu gấp đôi vì mỗi giao dịch cần xác nhận duy nhất qua quá trình tính toán tốn kém này. Chúng cũng chống lại các tấn công Sybil bằng cách làm cho việc tràn ngập mạng bằng các danh tính giả trở nên đắt đỏ. Và chúng duy trì tính bất biến - bất kỳ thay đổi nào trong khối đều yêu cầu làm lại toàn bộ công việc tính toán, điều này gần như không thể xảy ra khi mạng đã tiến xa.

Tuy nhiên, cũng có các cuộc tấn công liên quan đến nonce mà bạn cần biết. Tấn công tái sử dụng nonce có thể làm hỏng hệ thống mật mã nếu cùng một nonce được dùng hai lần. Tấn công nonce dự đoán xảy ra khi quá trình tạo nonce không thực sự ngẫu nhiên. Và tấn công nonce cũ cố gắng lừa hệ thống bằng các nonce cũ. Để phòng tránh, cần có việc tạo số ngẫu nhiên đúng cách, các giao thức từ chối nonce đã dùng, và cập nhật tiêu chuẩn mật mã liên tục.

Vì vậy, hiểu rõ nonce trong an ninh thực ra là về việc nó là cổng kiểm soát tính toàn vẹn của blockchain. Nếu thiếu nó, toàn bộ hệ thống PoW sẽ sụp đổ. Đó là lý do tại sao Bitcoin và các mạng tương tự có thể hoạt động mà không cần trung tâm quản lý - chính toán học tự nó thực thi các quy tắc.
BTC-0,08%
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Đăng lại
  • Retweed
Bình luận
Thêm một bình luận
Thêm một bình luận
Không có bình luận
  • Đã ghim