Bạn có từng tự hỏi điều gì thực sự giữ cho tiền điện tử của bạn an toàn khi các thợ mỏ cạnh tranh để xác nhận các khối không? Tôi đã tìm hiểu về cách hoạt động thực sự của bảo mật blockchain, và khái niệm nonce cứ liên tục xuất hiện. Hóa ra nó còn quan trọng hơn nhiều so với phần lớn mọi người nhận thức.



Vì vậy, vấn đề ở đây là: nonce về cơ bản là một số dùng một lần, và nó là cơ chế cốt lõi giúp các hệ thống bằng chứng công việc hoạt động. Khi các thợ mỏ cố gắng tạo ra một khối mới, họ về cơ bản đang giải một câu đố mật mã bằng cách thao tác giá trị nonce này. Họ liên tục thay đổi nó cho đến khi tìm ra một hàm băm đáp ứng yêu cầu độ khó của mạng lưới. Nghe có vẻ đơn giản, nhưng quá trình thử và sai này thực sự là điều đảm bảo an toàn cho toàn bộ chuỗi khối.

Lý do tôi đề cập đến điều này là vì hiểu nonce trong bảo mật giúp bạn có cái nhìn thực sự về lý do tại sao việc sửa đổi dữ liệu blockchain gần như là không thể. Mỗi lần ai đó cố gắng thay đổi ngay cả một giao dịch trong một khối, họ sẽ phải tính lại toàn bộ nonce và làm lại tất cả công việc tính toán. Đó chính là mục đích của thiết kế này.

Trong Bitcoin đặc biệt, các thợ mỏ lấy các giao dịch đang chờ xử lý, thêm một nonce vào tiêu đề khối, rồi băm tất cả bằng SHA-256. Họ liên tục điều chỉnh nonce đó cho đến khi hàm băm thu được có số lượng số không đứng đầu phù hợp với mục tiêu độ khó hiện tại của mạng lưới. Khi tìm ra, boom, khối được xác nhận và thêm vào chuỗi. Mạng lưới tự động điều chỉnh độ khó này dựa trên lượng sức mạnh tính toán đang được sử dụng, giúp giữ thời gian tạo khối tương đối ổn định.

Bây giờ, nonce trong bối cảnh bảo mật còn trở nên thú vị hơn khi bạn xem xét phòng chống tấn công. Cơ chế nonce chống lại việc chi tiêu gấp đôi bằng cách làm cho việc thao túng gian lận trở nên tốn kém về mặt tính toán. Nó cũng bảo vệ chống lại các cuộc tấn công Sybil bằng cách buộc kẻ tấn công phải làm thật sự công việc cho mỗi danh tính giả mà họ cố tạo ra. Và vì việc thay đổi bất kỳ khối lịch sử nào đều yêu cầu tính lại nonce của nó, tính bất biến của blockchain gần như được đảm bảo.

Thực tế có nhiều loại nonce khác nhau ngoài việc khai thác blockchain. Nonces mật mã được sử dụng trong các giao thức bảo mật để ngăn chặn các cuộc tấn công phát lại, nơi ai đó cố gắng tái sử dụng các tin nhắn mã hóa cũ. Nonces trong hàm băm được dùng để thay đổi đầu vào và làm thay đổi kết quả trong các thuật toán băm. Ngay cả trong lập trình thông thường, nonces cũng phục vụ mục đích như đảm bảo tính duy nhất của dữ liệu.

Điều đáng chú ý là các cuộc tấn công liên quan đến nonce có tồn tại. Có nonce tái sử dụng, nơi ai đó cố ý lặp lại giá trị nonce và làm giảm tính bảo mật của chữ ký số hoặc mã hóa. Có các cuộc tấn công nonce dự đoán trước, nơi kẻ tấn công có thể dự đoán các mẫu nonce và thao túng các hoạt động mật mã. Và còn có các cuộc tấn công nonce lỗi thời sử dụng các giá trị nonce cũ để lừa hệ thống.

Để thực sự ngăn chặn các lỗ hổng này, các giao thức mật mã cần đảm bảo nonce vừa duy nhất vừa khó đoán. Điều này đòi hỏi việc tạo số ngẫu nhiên phù hợp với xác suất lặp lại thấp. Các hệ thống cần có cơ chế phát hiện và từ chối các nonce đã được sử dụng lại. Việc cập nhật thường xuyên các thư viện mật mã giúp phòng chống các vector tấn công ngày càng tinh vi. Và việc tuân thủ nghiêm ngặt các thuật toán tiêu chuẩn gần như là điều bắt buộc.

Sự khác biệt giữa hàm băm và nonce cũng đáng làm rõ. Hàm băm giống như dấu vân tay của dữ liệu, là đầu ra cố định kích thước được tạo ra từ đầu vào. Nonce là biến số mà các thợ mỏ thao tác để tạo ra các hàm băm đáp ứng các yêu cầu cụ thể. Chúng phối hợp với nhau trong câu đố bảo mật, nhưng chúng phục vụ các chức năng hoàn toàn khác nhau.

Khi bạn thực sự suy nghĩ về nonce trong bảo mật, nó về cơ bản là bằng chứng tính toán cho thấy ai đó đã làm việc để xác nhận một giao dịch. Đó là lý do hệ thống hoạt động. Nếu không có nonce, blockchain chỉ là một cơ sở dữ liệu mà ai cũng có thể giả mạo. Yêu cầu về nonce khiến việc làm giả trở nên cực kỳ tốn kém, chính vì vậy toàn bộ hệ thống mới hoạt động như dự định.
BTC0,22%
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