Bạn có từng tự hỏi điều gì thực sự giữ cho blockchain an toàn không? Gần đây tôi đã tìm hiểu sâu hơn về cơ chế khai thác, và nonce thực sự là một trong những khái niệm nền tảng mà không nhận được đủ sự chú ý.



Vì vậy, vấn đề là: nonce, viết tắt của số dùng một lần, về cơ bản là mảnh ghép câu đố mật mã mà các thợ mỏ đang chạy đua để giải quyết. Trong quá trình khai thác, đây là biến số mà các thợ mỏ liên tục điều chỉnh cho đến khi họ tìm ra một hàm băm đáp ứng yêu cầu độ khó của mạng - thường nghĩa là một số lượng số không đứng đầu nhất định. Nó không phải ngẫu nhiên; đó là thử và sai có hệ thống với quy mô lớn.

Hãy nghĩ theo cách này: nonce trong an ninh hoạt động như người gác cổng. Nếu không có nó, ai đó về lý thuyết có thể thay đổi dữ liệu giao dịch và tính lại hàm băm ngay lập tức. Nhưng vì việc tìm ra nonce chính xác đòi hỏi nỗ lực tính toán khổng lồ, việc sửa đổi trở nên phi lý về mặt kinh tế. Đó chính là mục đích của bằng chứng công việc.

Trong Bitcoin cụ thể, đây là cách quá trình thực sự hoạt động. Các thợ mỏ thu thập các giao dịch đang chờ xử lý thành một khối. Họ thêm một nonce vào tiêu đề khối. Sau đó họ băm tất cả bằng SHA-256. Nếu hàm băm kết quả không đáp ứng mục tiêu độ khó của mạng, họ tăng nonce và thử lại. Và lại nữa. Và nữa nữa. Quá trình này tiếp tục cho đến khi họ tìm ra một hàm băm thỏa mãn tiêu chí. Khi làm được, khối được thêm vào chuỗi.

Điều thông minh là độ khó điều chỉnh theo cách tự động. Nhiều thợ mỏ hơn trên mạng? Độ khó tăng lên, yêu cầu nhiều vòng lặp nonce hơn. Công suất mạng giảm? Độ khó giảm xuống, làm cho việc tạo khối nhanh hơn. Đây là cơ chế cân bằng tự nhiên giúp giữ thời gian khối nhất quán.

Ngoài việc xác thực khai thác, vai trò của nonce trong an ninh còn mở rộng để ngăn chặn các vector tấn công cụ thể. Giao dịch gấp đôi trở nên không thể vì mỗi giao dịch cần xác thực nonce của nó. Các cuộc tấn công Sybil trở nên đắt đỏ vì bạn cần kiểm soát lượng lớn sức mạnh tính toán. Và khía cạnh bất biến là rất lớn - thay đổi bất kỳ khối lịch sử nào sẽ yêu cầu tính lại nonce của nó, điều này về mặt tính toán là không thể thực hiện được.

Nhưng điều thú vị từ góc độ an ninh là: các cuộc tấn công liên quan đến nonce là có thật. Có việc tái sử dụng nonce, nơi kẻ tấn công khai thác cùng một nonce hai lần trong các quá trình mật mã. Có việc tạo nonce dự đoán được, nơi các giá trị yếu trong ngẫu nhiên hóa cho phép kẻ tấn công dự đoán trước. Thậm chí còn có các cuộc tấn công nonce lỗi thời sử dụng nonce cũ để lừa hệ thống.

Các cơ chế phòng thủ khá vững chắc. Các triển khai đúng đắn sử dụng phương pháp tạo số ngẫu nhiên mạnh để đảm bảo tính duy nhất của nonce. Các giao thức từ chối các nonce đã được sử dụng lại. Các thư viện được cập nhật thường xuyên. Và điều quan trọng trong mật mã bất đối xứng là việc tái sử dụng nonce thực sự có thể rò rỉ khóa riêng - đó là vấn đề nghiêm trọng.

Điều làm cho tất cả những điều này trở nên có liên quan là hiểu rằng an ninh blockchain không phải là phép thuật. Đó là toán học. Chính nonce tạo ra chi phí tính toán khiến các cuộc tấn công trở nên không khả thi. Đó là lý do tại sao Bitcoin tồn tại hơn một thập kỷ mà không bị tấn công 51% thành công mặc dù giá trị hàng trăm tỷ đô la. Nonce trong các khung an ninh đang làm chính xác những gì nó được thiết kế để làm: làm cho chi phí tấn công vượt quá lợi ích tiềm năng.

Nếu bạn đang xây dựng trên blockchain hoặc chỉ cố gắng hiểu tại sao nó thực sự hoạt động, việc nắm vững khái niệm nonce là nền tảng. Đó là một trong những điều có vẻ đơn giản ở bề mặt nhưng khi đào sâu hơn, nó tiết lộ cách hệ thống được xây dựng một cách tinh tế như thế nào.
BTC1,57%
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