Chỉ vừa nhận ra một điều mà nhiều người chưa hiểu rõ về bảo mật blockchain - nonce thực sự đảm nhận nhiều công việc hơn những gì mọi người nghĩ. Để tôi giải thích nonce trong bối cảnh bảo mật vì nó thực sự là nền tảng để hiểu tại sao khai thác Bitcoin hoạt động theo cách đó.



Vậy vấn đề là: nonce (số dùng một lần) không chỉ là một số ngẫu nhiên mà thợ đào đưa vào khối. Nó là chìa khóa cho toàn bộ câu đố proof-of-work. Thợ đào về cơ bản là thử các giá trị nonce khác nhau, băm mỗi cái bằng SHA-256, cố gắng tìm ra tổ hợp kỳ diệu tạo ra một hàm băm có số lượng số không đứng đầu phù hợp. Quá trình thử và sai này chính là cách bảo vệ toàn bộ mạng lưới - nó tốn kém về mặt 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ì ngay khi ai đó cố gắng sửa đổi một giao dịch trong khối cũ, nonce trở nên không hợp lệ. Họ sẽ phải tính lại từ đầu, nghĩa là làm lại toàn bộ công việc tính toán đó. Và nếu mạng đã tiến xa hơn và thêm nhiều khối phía trên? Quên đi. Đó là lý do tại sao blockchain trở nên gần như bất biến. Nonce buộc các kẻ tấn công phải thực hiện công việc đắt đỏ không thể chấp nhận được.

Trong trường hợp của Bitcoin, quá trình này khá đơn giản. Thợ đào gom các giao dịch chờ vào một khối, thêm nonce vào phần tiêu đề, rồi lặp đi lặp lại việc băm. Họ cứ tăng nonce cho đến khi đạt được mục tiêu độ khó - mục tiêu này tự điều chỉnh dựa trên sức mạnh băm của mạng. Khi mạng có nhiều thợ đào hơn (nhiều sức mạnh băm), độ khó tăng lên. Khi thợ đào giảm, độ khó giảm xuống. Điều này giữ cho thời gian tạo khối ổn định khoảng 10 phút.

Điều thú vị là, nonce trong bảo mật còn vượt ra ngoài khai thác. Có nhiều loại nonce khác nhau - nonce mật mã ngăn chặn các cuộc tấn công phát lại bằng cách đảm bảo mỗi giao dịch có giá trị duy nhất, nonce của hàm băm thay đổi đầu vào để thay đổi đầu ra, và nonce lập trình chỉ đơn giản là đảm bảo tính duy nhất của dữ liệu. Mỗi loại phục vụ một mục đích bảo mật riêng.

Tuy nhiên, các lỗ hổng là có thật. Các cuộc tấn công tái sử dụng nonce xảy ra khi ai đó cố gắng dùng lại cùng một nonce trong một phép toán mật mã - điều này rất nguy hiểm vì có thể tiết lộ khóa bí mật. Nonce dự đoán được là vấn đề khác; nếu kẻ tấn công đoán được mẫu, họ có thể thao túng các hoạt động. Rồi còn có tấn công nonce cũ, khi các nonce cũ, đã hợp lệ trước đó, bị khai thác.

Giải pháp? Các giao thức cần có hệ thống tạo số ngẫu nhiên đúng cách để nonce thực sự khó đoán và không thể lặp lại. Các hệ thống nên từ chối các nonce đã dùng rồi. Và thành thật mà nói, việc theo dõi liên tục các triển khai mật mã cùng với cập nhật thư viện định kỳ giúp phát hiện các lỗ hổng mới khi chúng xuất hiện. Bảo mật quanh nonce không phải là chuyện "cài đặt rồi quên", mà đòi hỏi sự chú ý liên tục.

Điều quan trọng nhất là, nonce trong bảo mật không chỉ là thuật ngữ kỹ thuật. Nó là cơ chế khiến các cuộc tấn công blockchain trở nên đắt đỏ đến mức không thể thực hiện được. Chi phí tính toán đó chính là thứ giữ cho hệ thống trung thực. Thật là một thiết kế tinh tế khi bạn nghĩ về nó.
BTC0,5%
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
  • Gate Fun hot

    Xem thêm
  • Vốn hóa:$0.1Người nắm giữ:1
    0.00%
  • Vốn hóa:$2.23KNgười nắm giữ:1
    0.00%
  • Vốn hóa:$2.23KNgười nắm giữ:1
    0.00%
  • Vốn hóa:$2.23KNgười nắm giữ:1
    0.00%
  • Vốn hóa:$2.22KNgười nắm giữ:1
    0.00%
  • Ghim