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 nhiều người thực sự không hiểu rõ ý nghĩa của nonce trong bảo mật, mặc dù nó là yếu tố nền tảng của cách hoạt động của tiền điện tử.



Vì vậy, hãy để tôi giải thích rõ hơn. Nonce về cơ bản là một số dùng một lần, và nó cực kỳ quan trọng đối với hệ thống bằng chứng công việc (proof-of-work) bảo vệ các blockchain như Bitcoin. Hãy nghĩ nó như một mảnh ghép của câu đố mà các thợ mỏ liên tục cố gắng ghép vào. Trong quá trình khai thác, các thợ mỏ lấy các giao dịch đang chờ xử lý, đóng gói chúng thành một khối, rồi bắt đầu chơi với biến nonce này. Họ liên tục điều chỉnh nó, chạy qua hàm băm SHA-256, cố gắng tìm ra số ma thuật đó tạo ra một hàm băm đáp ứng yêu cầu độ khó của mạng lưới. Thường thì điều đó có nghĩa là tìm ra một hàm băm có một số chữ số không ở đầu nhất định.

Điều tinh tế ở đây là nó khiến việc gian lận gần như không thể thực hiện. Nếu ai đó cố gắng thay đổi một giao dịch trong một khối, toàn bộ hàm băm sẽ thay đổi, và họ sẽ phải tính lại nonce từ đầu. Với hàng tỷ hàm băm mỗi giây cần thiết, chi phí tính toán trở nên quá đắt đỏ. Đây chính là lý do tại sao hiểu nonce trong bảo mật lại quan trọng để nắm bắt tính bất biến của blockchain.

Trong Bitcoin cụ thể, quá trình hoạt động như sau. Các thợ mỏ tập hợp một khối mới với các giao dịch đang chờ, thêm một nonce vào tiêu đề khối, băm tất cả bằng SHA-256, rồi kiểm tra xem hàm băm đó có đáp ứng mục tiêu độ khó của mạng không. Nếu không, họ tăng nonce và thử lại. Quá trình thử và sai này tiếp tục cho đến khi tìm ra nonce chiến thắng. Sau đó, mạng lưới tự động điều chỉnh độ khó để duy trì thời gian khối nhất quán. Nhiều sức mạnh khai thác hơn? Độ khó tăng lên. Ít sức mạnh hơn? Nó giảm xuống.

Ngoài khai thác, nonce trong các ứng dụng bảo mật còn mở rộng để ngăn chặn các cuộc tấn công trùng lặp (double-spending) và chống lại các cuộc tấn công Sybil, nơi kẻ xấu cố gắng làm tràn mạng lưới bằng các danh tính giả. Chi phí tính toán để tìm ra nonce hợp lệ về cơ bản đặt ra một mức giá cho việc tấn công mạng. Bất kỳ kẻ xấu nào cố gắng chiếm lĩnh phần lớn mạng lưới sẽ cần sức mạnh tính toán khổng lồ.

Nonces còn xuất hiện trong các bối cảnh khác nữa. Nonces mật mã ngăn chặn các cuộc tấn công phát lại (replay attacks) bằng cách tạo ra các giá trị duy nhất cho mỗi phiên. Nonces của hàm băm thay đổi dữ liệu đầu vào để thay đổi đầu ra của hàm băm. Trong lập trình, chúng đảm bảo tính duy nhất của dữ liệu. Nhưng ứng dụng blockchain có lẽ là rõ ràng nhất hiện nay.

Có một sự phân biệt quan trọng cần lưu ý giữa hàm băm và nonce. Hàm băm giống như dấu vân tay của dữ liệu, là một đầu ra cố định kích thước được tạo ra từ dữ liệu đầu vào. Nonce là biến mà các thợ mỏ thao tác để tạo ra các hàm băm khác nhau. Chúng hoạt động cùng nhau nhưng phục vụ các mục đích khác nhau.

Về mặt bảo mật, có những cuộc tấn công liên quan đến nonce mà bạn cần biết. Việc tái sử dụng nonce là nguy hiểm vì nếu ai đó dùng lại cùng một nonce trong các hoạt động mật mã, họ có thể làm suy yếu các thuộc tính bảo mật và có thể tiết lộ khóa bí mật. Các cuộc tấn công nonce dự đoán xảy ra khi các nonce theo một mẫu mà kẻ tấn công có thể dự đoán trước. Các cuộc tấn công nonce cũ (stale nonce) liên quan đến việc sử dụng các nonce đã lỗi thời để lừa hệ thống.

Phòng thủ về lý thuyết khá đơn giản nhưng đòi hỏi thực thi vững chắc. Nonces cần phải thực sự ngẫu nhiên và duy nhất. Các hệ thống phải từ chối các nonce đã được sử dụng lại. Thư viện mật mã cần được cập nhật thường xuyên. Việc giám sát liên tục các mẫu sử dụng nonce bất thường giúp phát hiện các lỗ hổng tấn công mới. Điều cốt yếu là nonce trong bảo mật cuối cùng là tạo ra một rào cản tính toán khiến các cuộc tấn công trở nên kinh tế không khả thi.

Đây chính là lý do tại sao thiết kế của Bitcoin đã tồn tại hơn một thập kỷ. Cơ chế nonce, kết hợp với cơ chế đồng thuận PoW, tạo ra một hệ thống mà chi phí tấn công mạng vượt xa bất kỳ lợi ích tiềm năng nào. Đó là sự bảo vệ tinh vi dựa trên kinh tế học.
BTC0,01%
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