Gần đây tôi đã tìm hiểu về các nguyên tắc cơ bản của blockchain, và nhận ra rằng hầu hết mọi người thực sự không hiểu rõ nonce trong bảo mật thực sự làm gì. Để tôi giải thích rõ vì nó khá nền tảng cho cách hoạt động của quá trình khai thác.



Vì vậy, về cơ bản, nonce là một số đặc biệt mà các thợ mỏ giữ chỉnh sửa trong quá trình khai thác. Nó không phải là thứ ngẫu nhiên—đó là một phần quan trọng của câu đố chứng minh công việc. Hãy nghĩ nó như một khóa mã cryptographic cần đúng tổ hợp. Các thợ mỏ về cơ bản đoán các giá trị nonce khác nhau, băm chúng cùng dữ liệu khối, cố gắng tìm ra một giá trị tạo ra hàm băm phù hợp với mục tiêu độ khó của mạng. Khi họ cuối cùng tìm ra nonce đúng, boom—khối được xác nhận và thêm vào chuỗi.

Điều làm cho nonce trong bảo mật trở nên quan trọng là nó tạo ra một rào cản tính toán lớn. Nếu ai đó muốn sửa đổi một khối, họ sẽ phải tính lại nonce từ đầu, điều này gần như không thể do sức mạnh băm cần thiết. Đây là lý do tại sao các cuộc tấn công chi tiêu gấp đôi trở nên không khả thi về mặt kinh tế. Mỗi giao dịch được xác nhận một cách duy nhất qua quá trình này, và đó là cách giữ vững tính toàn vẹn của blockchain.

Trong Bitcoin cụ thể, quá trình này diễn ra như sau: các thợ mỏ thu thập các giao dịch đang chờ xử lý thành một khối, thêm một nonce vào tiêu đề, rồi băm tất cả bằng SHA-256. Nếu hàm băm không đáp ứng ngưỡng độ khó, họ tăng nonce và thử lại. Vòng thử và sai này tiếp tục cho đến khi họ tìm ra một hàm băm hợp lệ. Mạng tự động điều chỉnh độ khó dựa trên tổng sức mạnh băm—khi nhiều thợ mỏ tham gia hơn, độ khó tăng lên; khi họ rút lui, nó giảm xuống. Điều này giữ cho thời gian khối nhất quán.

Phần bảo mật còn thú vị hơn nữa. Ngoài việc ngăn chặn chi tiêu gấp đôi, nonce còn chống lại các cuộc tấn công Sybil bằng cách đặt một chi phí tính toán lên những kẻ tấn công cố gắng làm tràn mạng bằng các danh tính giả. Bạn không thể chỉ spam hệ thống—bạn cần sức mạnh băm thực sự. Thêm vào đó, góc độ bất biến: bất kỳ thay đổi nào đối với một khối đều yêu cầu tính lại nonce của nó, điều này làm giảm khả năng sửa đổi vì nỗ lực quá lớn.

Nhưng đây là phần phức tạp hơn. Các ứng dụng khác nhau sử dụng nonce theo các cách khác nhau. Trong các giao thức cryptographic, nonce 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 phiên hoặc giao dịch có một giá trị duy nhất. Trong các thuật toán băm, chúng được dùng để thay đổi đầu ra. Trong lập trình chung, chúng đảm bảo tính duy nhất của dữ liệu. Mỗi loại đều phục vụ một chức năng bảo mật cụ thể.

Một điều cần lưu ý: nonce về cơ bản khác với hàm băm. 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 số mà các thợ mỏ thao tác để tạo ra các hàm băm khác nhau. Bạn cần hiểu cả hai để thực sự nắm được cách hoạt động của khai thác.

Về mặt tấn công, có một số lỗ hổng đã biết. Tấn công tái sử dụng nonce xảy ra khi ai đó có thể dùng lại cùng một nonce trong các hoạt động cryptographic, có thể làm tổn hại đến bảo mật. Các mẫu nonce dự đoán được là vấn đề khác—nếu kẻ tấn công có thể dự đoán chuỗi nonce, họ có thể thao tác các hoạt động cryptographic. Các cuộc tấn công nonce lỗi thời liên quan đến việc lừa hệ thống bằng các nonce cũ.

Để phòng vệ, các giao thức cần đảm bảo tính duy nhất và khó dự đoán của nonce. Điều này đòi hỏi việc tạo số ngẫu nhiên chắc chắn với xác suất lặp lại thấp, cùng các cơ chế để phát hiện và từ chối các nonce đã dùng. Trong cryptography bất đối xứng, việc tái sử dụng nonce có thể làm rò rỉ khóa bí mật hoặc làm lộ thông tin liên lạc mã hóa. Việc cập nhật thường xuyên các thư viện cryptographic và giám sát các mẫu nonce bất thường là điều cần thiết.

Tóm lại: hiểu rõ nonce trong bảo mật là gì—và tại sao nó quan trọng—là chìa khóa để nắm bắt cách hoạt động của sự đồng thuận blockchain. Nó không chỉ là một số ngẫu nhiên; đó là nền tảng của mô hình bảo mật của toàn bộ hệ thống chứng minh công việc.
BTC-1,43%
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