Bạn có từng tự hỏi điều gì thực sự ngăn cản ai đó chỉ cần viết lại lịch sử chuỗi khối không? Có một thứ nhỏ gọi là nonce đang làm nhiều công việc nặng hơn những gì hầu hết mọi người nhận ra. Nếu bạn đang cố hiểu nonce trong an ninh, bạn đang nhìn vào một trong những thành phần nền tảng làm cho blockchain trở nên khả thi.



Vì vậy, đây là điều - nonce thực sự là một số dùng một lần, và đó là câu đố mật mã mà các thợ mỏ liên tục điều chỉnh trong quá trình khai thác. Hãy nghĩ nó như biến số mà các thợ mỏ giữ điều chỉnh cho đến khi họ tìm ra một đầu ra băm đáp ứng các yêu cầu cụ thể của mạng, thường nghĩa là một số lượng số không đứng đầu nhất định. Điều này không chỉ là công việc vặt. Mục đích chính là việc tìm ra nonce chính xác đòi hỏi nỗ lực tính toán nghiêm trọng, và nỗ lực đó là thứ bảo vệ toàn bộ mạng.

Trong Bitcoin đặc biệt, các thợ mỏ lấy các giao dịch đang chờ, đóng gói chúng thành một khối, thêm một nonce duy nhất vào tiêu đề khối, rồi bắt đầu băm mọi thứ bằng SHA-256. Họ liên tục thay đổi nonce đó cho đến khi kết quả băm đáp ứng mục tiêu độ khó của mạng. Khi họ tìm ra, boom - khối được xác nhận và thêm vào chuỗi. Phần đẹp là độ khó này tự động điều chỉnh. Khi nhiều thợ mỏ tham gia hơn và mạng trở nên mạnh mẽ hơn, độ khó tăng lên để giữ thời gian tạo khối ổn định. Khi năng lượng giảm, nó trở nên dễ hơn. Cơ chế thích ứng này đảm bảo hệ thống duy trì cân bằng.

Bây giờ, đây là lý do tại sao điều này quan trọng đối với an ninh blockchain. Một nonce ngăn chặn việc chi tiêu gấp đôi bằng cách làm cho việc sửa đổi dữ liệu trở nên cực kỳ tốn kém về mặt tính toán. Nếu ai đó cố gắng thay đổi thậm chí một giao dịch trong một khối, họ sẽ phải tính lại toàn bộ nonce, điều này gần như không thể thực hiện quy mô lớn. Tính bất biến này là cốt lõi để các chuỗi khối duy trì tính toàn vẹn. Ngoài ra, nonce còn thêm một lớp nữa bằng cách làm cho các cuộc tấn công Sybil trở nên quá đắt đỏ - làm tràn mạng lưới với các danh tính giả đột nhiên tốn tài nguyên tính toán thực sự.

Có nhiều loại nonce tùy theo ngữ cảnh. Trong các giao thức mật mã, chúng được dùng để 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 có một giá trị duy nhất. Trong hàm băm, chúng thay đổi đầu vào để thay đổi đầu ra. Trong lập trình nói chung, chúng chỉ đảm bảo tính duy nhất của dữ liệu và tránh xung đột. Nhưng nguyên tắc vẫn giữ nguyên - nonces là để làm cho thứ gì đó trở nên duy nhất và khó sao chép.

Tất nhiên, như bất cứ thứ gì trong an ninh, nonces cũng có các lỗ hổng tấn công riêng. Việc tái sử dụng nonce là một vấn đề lớn - nếu ai đó có thể tái sử dụng nonce trong một quá trình mật mã, họ có thể làm hỏng toàn bộ hệ thống. Nonces dễ đoán là một lỗ hổng khác vì nếu kẻ tấn công có thể đoán được mẫu, họ có thể thao túng các hoạt động. Cũng có các cuộc tấn công nonce cũ, trong đó các nonce cũ, đã hợp lệ trước đó, bị khai thác.

Phòng thủ? Các giao thức cần đảm bảo nonces thực sự duy nhất và khó đoán. Điều đó có nghĩa là tạo số ngẫu nhiên vững chắc với xác suất lặp lại thấp, cộng với các cơ chế tích hợp để phát hiện và từ chối các nonce đã được sử dụng lại. Các cuộc kiểm tra an ninh định kỳ về các triển khai mật mã, cập nhật các giao thức mới nhất, và theo dõi các mẫu sử dụng nonce bất thường đều giúp ích. Nó không hấp dẫn, nhưng rất cần thiết - đặc biệt vì việc tái sử dụng nonce trong mật mã bất đối xứng có thể lộ khóa bí mật hoặc làm hỏng toàn bộ liên lạc mã hóa.

Tóm lại, hiểu về nonce và an ninh trong blockchain có nghĩa là hiểu tại sao hệ thống thực sự chống lại sự sửa đổi. Đó không phải là phép thuật - đó là toán học cực kỳ thông minh kết hợp với chi phí tính toán khiến việc tấn công mạng trở nên phi lý về mặt kinh tế.
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