Bạn có từng tự hỏi điều gì thực sự giữ cho các giao dịch blockchain an toàn không? Có một khái niệm gọi là nonce mà hầu hết mọi người bỏ qua, nhưng nó thực sự là nền tảng cho cách hoạt động của toàn bộ hệ thống.



Vậy nonce trong các bối cảnh bảo mật, đặc biệt là blockchain, là gì? Câu trả lời ngắn gọn: đó là một số dùng một lần, và nó về cơ bản là câu đố mà các thợ mỏ phải giải quyết. Hãy nghĩ về nó như một biến mà các thợ mỏ liên tục điều chỉnh cho đến khi tìm ra một hàm băm phù hợp với yêu cầu của mạng lưới. Thường thì điều đó có nghĩa là một hàm băm bắt đầu bằng một số lượng số không đứng đầu nhất định. Toàn bộ quá trình khai thác chỉ là thử và sai với các giá trị nonce khác nhau cho đến khi trúng thưởng.

Điều làm cho điều này trở nên thú vị là nó không chỉ là một chi tiết kỹ thuật ngẫu nhiên. Nonce chính là thứ khiến việc sửa đổi blockchain trở nên tính toán là không thể. Nếu ai đó muốn thay đổi một giao dịch từ quá khứ, họ sẽ phải tính lại nonce cho khối đó và tất cả các khối sau đó. Đó là lý do tại sao bảo mật blockchain thực sự hoạt động.

Trong Bitcoin cụ thể, đây là cách nó diễn ra. Các thợ mỏ gom các giao dịch chờ thành một khối, thêm một nonce vào tiêu đề khối, rồi băm tất cả bằng SHA-256. Họ so sánh hàm băm đó với mục tiêu độ khó của mạng. Nếu không phù hợp, họ điều chỉnh nonce và thử lại. Quá trình này cứ lặp lại cho đến khi tìm ra một nonce tạo ra hàm băm hợp lệ. Rồi, boom, khối mới được thêm vào chuỗi.

Độ khó cũng tự điều chỉnh theo cách này. Khi nhiều thợ mỏ tham gia hơn và sức mạnh băm tăng lên, độ khó tăng lên, khiến việc tìm đúng nonce trở nên khó hơn. Khi sức mạnh băm giảm, độ khó cũng giảm theo. Điều này giúp thời gian tạo khối luôn ổn định.

Bây giờ, đây là phần bảo mật trở nên thú vị. Nonces ngăn chặn việc chi tiêu gấp đôi vì mỗi giao dịch cần được xác nhận duy nhất qua công việc tính toán này. Chúng cũng bảo vệ chống lại các cuộc tấn công Sybil bằng cách đặt ra một chi phí thực sự cho kẻ tấn công cố gắng làm quá tải mạng lưới bằng các danh tính giả. Và vì việc thay đổi bất kỳ khối nào đều yêu cầu tính lại nonce của nó và tất cả các khối sau đó, tính bất biến của blockchain về cơ bản được thực thi bằng toán học.

Cũng có các loại nonce khác nhau nữa. Nonces mã hóa xuất hiện trong các giao thức bảo mật để ngăn chặn các cuộc tấn công phát lại. Nonces của hàm băm thay đổi đầu vào để thay đổi đầu ra. Trong lập trình, chúng chỉ tạo ra các giá trị duy nhất để tránh xung đột. Mỗi loại phục vụ mục đích riêng của nó.

Một điều đáng hiểu là sự khác biệt giữa hàm băm và nonce, vì đôi khi mọi người nhầm lẫn chúng. Hàm băm giống như dấu vân tay của dữ liệu, là đầu ra cố định kích thước từ đầu vào. Nonce là biến mà bạn thao tác để tạo ra hàm băm đó. Chúng hoạt động cùng nhau nhưng là các khái niệm khác nhau.

Về mặt bảo mật, có một số cuộc tấn công đã biết cần phải chú ý. Các cuộc tấn công tái sử dụng nonce xảy ra khi ai đó sử dụng cùng một nonce hai lần trong một quá trình mã hóa, có thể làm hỏng toàn bộ hệ thống. Các cuộc tấn công nonce dự đoán khai thác các nonce theo mẫu, cho phép kẻ tấn công thao túng các hoạt động. Cũng có các cuộc tấn công nonce cũ, trong đó các nonce cũ, đã hợp lệ trước đó, bị tái sử dụng để lừa hệ thống.

Để phòng vệ, các giao thức mã hóa cần đảm bảo nonce thực sự duy nhất và không thể dự đoán được. Điều đó có nghĩa là phải có hệ thống tạo số ngẫu nhiên chắc chắn để nonce không lặp lại. Các hệ thống cũng cần phát hiện và từ chối các nonce bị sử dụng lại. Đặc biệt trong mã hóa bất đối xứng, sai sót về nonce có thể làm rò rỉ khóa bí mật hoặc làm lộ các liên lạc được mã hóa.

Tóm lại, an ninh của nonce dựa trên các thực hành tốt nhất: kiểm tra định kỳ các triển khai mã hóa, tuân thủ các thuật toán tiêu chuẩn, cập nhật các bản vá bảo mật và liên tục giám sát các mẫu sử dụng nonce lạ. Nó không hào nhoáng, nhưng chính là thứ giữ cho toàn bộ hệ thống không bị sụp đổ.
BTC2,64%
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