Bạn có từng tự hỏi làm thế nào blockchain thực sự giữ được tính an toàn không? Tôi đã tìm hiểu về điều này và nhận ra phần lớn mọi người thực sự không hiểu rõ nonce thực sự làm gì. Nó giống như anh hùng thầm lặng của toàn bộ quá trình khai thác.



Vì vậy, đây là điều về nonce trong bối cảnh an ninh: nó thực sự là "số dùng một lần," và đây là biến mà các thợ mỏ thao tác trong quá trình chứng minh công việc. Hãy nghĩ nó như một câu đố mật mã mà các thợ mỏ liên tục điều chỉnh số này cho đến khi tìm ra một hàm băm đáp ứng các điều kiện nhất định, thường là một số lượng số không đứng đầu nhất định. Mục đích là làm cho việc xác thực các khối trở nên tốn kém về tính toán, điều này giữ cho mạng lưới an toàn.

Điều thú vị là cách mà khái niệm đơn giản này lại đảm nhận nhiều công việc nặng nề như vậy. Khi các thợ mỏ tìm ra nonce chính xác, họ về cơ bản đang chứng minh rằng họ đã làm công việc để giải câu đố đó. Điều này ngăn chặn các tác nhân xấu chỉ đơn giản là sửa đổi dữ liệu bất cứ khi nào họ muốn, vì việc thay đổi ngay cả một giao dịch cũng đồng nghĩa với việc tính lại tất cả mọi thứ từ đầu. Đó là lý do tại sao tính bất biến của blockchain phụ thuộc rất nhiều vào cách nonce hoạt động.

Trong Bitcoin cụ thể, quá trình này khá đơn giản. Các thợ mỏ thu thập các giao dịch đang chờ xử lý, thêm một nonce duy nhất vào tiêu đề khối, sau đó băm tất cả bằng 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ọ tăng nonce và thử lại. Quá trình này cứ tiếp tục cho đến khi tìm ra một nonce phù hợp. Điều hay là độ khó tự động điều chỉnh dựa trên sức mạnh tính toán trên mạng, giúp các khối được tạo ra với thời gian tương đối đều đặn.

Bây giờ, góc độ an ninh trở nên phức tạp hơn khi bạn xem xét các loại sử dụng nonce khác nhau trong mật mã. Có nonce mật mã cơ bản ngăn chặn các cuộc tấn công phát lại bằng cách tạo ra một giá trị duy nhất cho mỗi phiên. Rồi còn có nonce trong hàm băm dùng trong các thuật toán băm để thay đổi đầu vào và đầu ra. Trong lập trình, nonces đảm bảo tính duy nhất của dữ liệu và ngăn xung đột. Mỗi loại phục vụ mục đích riêng tùy theo ngữ cảnh.

Một điều khiến tôi chú ý là cách mà nonces có thể dễ bị tổn thương nếu không xử lý đúng cách. Có một thứ gọi là tấn công tái sử dụng nonce, trong đó kẻ xấu cố tình tái sử dụng cùng một nonce, điều này có thể hoàn toàn phá vỡ các giao thức an ninh, đặc biệt là chữ ký số và mã hóa. Rồi còn có các tấn công nonce dự đoán được, nơi kẻ tấn công có thể dự đoán mẫu và thao túng mọi thứ. Thật đáng sợ nếu bạn nghĩ về điều đó.

Để phòng chống các lỗ hổng này, các giao thức cần đảm bảo nonce thực sự duy nhất và khó đoán. Điều đó có nghĩa là việc tạo số ngẫu nhiên chắc chắn là cần thiết, và các hệ thống nên từ chối bất kỳ nonce nào bị tái sử dụng. Các cuộc kiểm tra an ninh định kỳ và tuân thủ các thuật toán mật mã tiêu chuẩn là điều không thể thương lượng. Sự khác biệt giữa hàm băm và nonce cũng đáng để hiểu: hàm băm giống như dấu vân tay được tạo ra từ dữ liệu, còn nonce là biến số mà bạn thao tác để tạo ra các hàm băm khác nhau. Chúng phối hợp với nhau, nhưng chắc chắn không giống nhau.

Nếu bạn quan tâm đến cách bảo mật blockchain thực sự hoạt động dưới lớp vỏ, thì hiểu về nonces là nền tảng khá quan trọng. Đó là một trong những khái niệm có vẻ đơn giản ở bề mặt nhưng lại vô cùng tinh tế trong cách giải quyết vấn đề bảo vệ mạng lưới phân tán.
BTC0,1%
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