Đang suy nghĩ về điều này gần đây - nonce thực ra là một trong những khái niệm nghe có vẻ phức tạp nhưng khi phân tích rõ ràng thì hoàn toàn hợp lý. Vậy nonce trong bảo mật là gì? Cơ bản, nó là một số dùng một lần, và trong blockchain giống như mảnh ghép câu đố mà thợ mỏ cần tìm để xác nhận giao dịch.



Điều này có nghĩa là gì: khi các thợ mỏ làm việc trên một khối, họ về cơ bản đang chơi trò thử và sai. Họ lấy tất cả các giao dịch đang chờ xử lý, chèn vào một nonce, chạy qua SHA-256, và kiểm tra xem hash kết quả có phù hợp với yêu cầu của mạng hay không. Nếu không, họ điều chỉnh nonce và thử lại. Toàn bộ quá trình này gọi là khai thác, và nó cực kỳ tốn công tính toán theo thiết kế.

Tại sao điều này lại quan trọng đối với bảo mật? Bởi vì nó tạo ra một rào cản lớn chống lại các kẻ tấn công. Nếu ai đó muốn làm rối một khối đã được thêm vào chuỗi, họ sẽ phải tính lại nonce cho khối đó VÀ tất cả các khối sau đó. Điều này gần như là không thể. Chính chi phí tính toán này giữ cho mạng an toàn và ngăn chặn việc chi tiêu gấp đôi. Thêm vào đó, nonce làm cho các hành vi tấn công như tấn công Sybil trở nên kinh tế vô nghĩa - việc làm quá tải mạng với các danh tính giả trở nên không khả thi khi mỗi lần thử đều đòi hỏi sức mạnh xử lý lớn.

Trong Bitcoin cụ thể, mạng tự động điều chỉnh độ khó để tìm đúng nonce. Khi nhiều thợ mỏ tham gia hơn và mạng mạnh hơn, độ khó tăng lên. Khi thợ mỏ rút lui, độ khó giảm xuống. Điều này giữ cho tốc độ tạo khối ổn định khoảng 10 phút mỗi khối. Thật sự khá tinh tế.

Bây giờ, nonce cũng xuất hiện ở những nơi khác - các giao thức mã hóa sử dụng chúng để ngăn chặn các cuộc tấn công phát lại, các thuật toán băm dùng chúng để thay đổi đầu ra, lập trình dùng chúng để đảm bảo tính duy nhất của dữ liệu. Nhưng ý tưởng cốt lõi luôn là như nhau: đảm bảo một thứ xảy ra chính xác một lần và không thể lặp lại hoặc dự đoán trước.

Điểm khác biệt chính giữa hash và nonce là hash là đầu ra - dấu vân tay của dữ liệu của bạn. Nonce là biến đầu vào mà bạn thao tác để có được dấu vân tay cụ thể mà bạn cần. Hash là kết quả, nonce là công cụ bạn dùng để đạt được điều đó.

Tuy nhiên, cũng có một số lỗ hổng tấn công đáng biết. Tấn công tái sử dụng nonce xảy ra khi ai đó cố tình dùng lại cùng một nonce trong quá trình mã hóa, có thể làm lộ khóa bí mật của bạn. Tấn công nonce dự đoán xảy ra khi nonce theo một mẫu mà kẻ tấn công có thể dự đoán được. Phòng thủ đơn giản: đảm bảo rằng việc tạo số ngẫu nhiên của bạn là vững chắc, nonce thực sự không thể dự đoán, và hệ thống của bạn từ chối bất kỳ nonce nào bị dùng lại. Cập nhật thường xuyên các thư viện mã hóa của bạn và giám sát các mẫu nonce đáng ngờ cũng giúp phát hiện các mối đe dọa đang tiến triển.

Kết luận: hiểu nonce trong bối cảnh bảo mật là điều khá nền tảng nếu bạn muốn nắm rõ cách blockchain tự bảo vệ chính nó. Nó không phải là phép thuật - chỉ đơn giản là làm cho phép tính trở nên đắt đỏ đến mức tấn công mạng trở nên phi lý về mặt kinh tế. Đó chính là toàn bộ trò chơi.
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