Bạn có từng tự hỏi điều gì thực sự giữ an toàn cho tiền điện tử của bạn khi các thợ mỏ đang cạnh tranh để xác nhận các khối không? Tất cả đều dựa vào một thứ gọi là nonce, và thành thật mà nói, hiểu rõ khái niệm này sẽ thay đổi cách bạn nghĩ về bảo mật blockchain.



Vậy nonce trong bảo mật là gì? Nó về cơ bản là một số dùng một lần mà các thợ mỏ thao tác trong quá trình khai thác để giải một câu đố mật mã. Hãy nghĩ nó như chìa khóa mở khóa tính hợp lệ của một khối. Nonce không phải là ngẫu nhiên—các thợ mỏ thay đổi nó một cách có hệ thống cho đến khi hàm băm thu được đáp ứng yêu cầu độ khó của mạng, thường là một số lượng số không đứng đầu nhất định. Quá trình thử và sai này là điều khiến việc khai thác tốn nhiều tính toán và, quan trọng hơn, giữ cho hệ thống an toàn.

Trong Bitcoin cụ thể, đây là cách hoạt động thực sự. Các thợ mỏ gom các giao dịch chờ thành một khối, thêm một nonce duy nhất vào tiêu đề khối, rồi chạy qua hàm băm SHA-256. Họ 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ọ điều chỉnh nonce và thử lại. Quá trình này lặp đi lặp lại cho đến khi tìm ra tổ hợp chiến thắng. Mạng tự động điều chỉnh độ khó dựa trên lượng sức mạnh tính toán đang cạnh tranh, để việc tạo khối luôn ổn định dù mạng phát triển hay thu hẹp.

Điều làm cho bảo mật dựa trên nonce trở nên tinh tế là nó tạo ra một chi phí thực sự để tấn công mạng. Nếu ai đó muốn sửa đổi một giao dịch trong quá khứ, họ sẽ phải tính lại nonce cho khối đó cộng với tất cả các khối sau đó. Điều này là không khả thi về mặt tính toán, chính vì vậy tính bất biến của blockchain là rất vững chắc. Nguyên tắc này cũng ngăn chặn các cuộc tấn công gấp đôi chi tiêu và tấn công Sybil—những kẻ xấu không thể chỉ đơn giản tràn vào mạng với các danh tính giả vì mỗi danh tính đều yêu cầu giải câu đố.

Nhưng điều thú vị từ góc độ bảo mật là, trong khi việc triển khai nonce trong blockchain khá vững chắc, khái niệm này còn mở rộng ra ngoài crypto vào lĩnh vực mật mã chung. Các loại nonce khác nhau phục vụ các mục đích khác nhau—nonce trong mật mã ngăn chặn các cuộc tấn công phát lại trong các giao thức bảo mật, nonce trong hàm băm thay đổi đầu ra, và nonce trong lập trình đảm bảo tính duy nhất của dữ liệu. Mỗi loại đều có những cân nhắc về bảo mật riêng.

Các lỗ hổng thực sự xuất hiện khi nonce bị xử lý sai. Các cuộc tấn công tái sử dụng nonce xảy ra khi ai đó dùng lại cùng một nonce trong các hoạt động mật mã, có thể tiết lộ khóa bí mật. Các mẫu nonce dự đoán được có thể cho phép kẻ tấn công dự đoán và thao túng các hoạt động. Các cuộc tấn công nonce cũ làm lừa hệ thống chấp nhận các giá trị lỗi thời. Những điều này không chỉ là lý thuyết—chúng đã gây thiệt hại thực tế trong các triển khai mật mã bất đối xứng.

Ngăn chặn các cuộc tấn công này đòi hỏi nền tảng vững chắc: tạo số ngẫu nhiên thực sự ngẫu nhiên, các giao thức từ chối nonce đã dùng lại, các cuộc kiểm tra bảo mật định kỳ đối với các triển khai mật mã, và cập nhật các thực hành tốt nhất. Các thư viện và giao thức mật mã cần liên tục cập nhật để đối phó với các phương thức tấn công ngày càng tinh vi.

Kết luận? Nonce là một trong những khái niệm nền tảng giúp phân biệt các hệ thống blockchain an toàn với các hệ thống dễ bị tổn thương. Nó không hào nhoáng, nhưng cực kỳ quan trọng đối với cách hoạt động của sự đồng thuận và lý do tại sao việc sửa đổi các giao dịch gần như là không thể. Nếu bạn nghiêm túc muốn hiểu về bảo mật blockchain, việc hiểu cơ chế nonce là điều không thể bỏ qua.
BTC1,59%
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