Tôi đã đi sâu hơn vào cách hoạt động thực sự của blockchain, và có một khái niệm nền tảng mà hầu hết mọi người bỏ qua hoặc không hiểu rõ: đó là nonce. Hãy để tôi giải thích những gì thực sự diễn ra bên trong.



Vì vậy, nonce viết tắt của "số dùng một lần" (number used once), và nó về cơ bản là mảnh ghép quan trọng trong khai thác bằng chứng công việc (proof-of-work). Khi các thợ mỏ cố gắng xác thực một khối, họ không chỉ đoán ngẫu nhiên—họ thay đổi giá trị nonce này một cách có hệ thống cho đến khi tìm ra một hàm băm (hash) phù hợp với yêu cầu cụ thể của mạng lưới. Thường thì điều đó có nghĩa là tìm một hàm băm bắt đầu bằng một số lượng số 0 nhất định ở đầu. Nó giống như một câu đố mật mã mà độ khó sẽ tự điều chỉnh dựa trên lượng sức mạnh tính toán đang được đưa vào mạng.

Điều tôi thấy thú vị là cơ chế này rất tinh tế trong việc đảm bảo an ninh cho blockchain. Nonce làm cho việc sửa đổi dữ liệu trở nên tốn kém về mặt tính toán cho các tác nhân xấu. Nếu ai đó muốn thay đổi một giao dịch, họ sẽ phải tính lại toàn bộ nonce, điều này trở nên gần như không thể thực hiện được khi nhiều khối được thêm vào. Đây là yếu tố cốt lõi giúp nonce trong bảo mật trở nên cực kỳ quan trọng để duy trì tính toàn vẹn của toàn bộ hệ thống.

Nhìn vào Bitcoin cụ thể, quá trình này diễn ra như sau. Các thợ mỏ gom các giao dịch chờ xử lý thành một khối mới, thêm một nonce duy nhất vào phần tiêu đề của khối, rồi băm tất cả bằng SHA-256. Họ so sánh hàm băm đó với mục tiêu độ khó của mạng lưới. Nếu không phù hợp, họ tăng giá trị nonce và thử lại. Vòng lặp thử và sai này tiếp tục cho đến khi tìm ra đúng tổ hợp. Điều hay là mạng lưới tự động điều chỉnh độ khó mỗi vài tuần. Khi nhiều thợ mỏ tham gia và sức mạnh băm tăng lên, độ khó sẽ tăng. Khi sức mạnh băm giảm, độ khó sẽ giảm xuống. Điều này giúp thời gian tạo khối luôn ổn định.

Ngoài ra, nonce còn đóng vai trò quan trọng trong việc chống lại các dạng tấn công khác nhau. Giao dịch gấp đôi (double-spending) gần như không thể xảy ra vì mỗi giao dịch đều yêu cầu xác thực tính toán tốn kém này. Các cuộc tấn công Sybil bị ngăn chặn vì việc tràn mạng lưới bằng các danh tính giả trở nên quá đắt đỏ. Và về mặt bất biến (immutability), bất kỳ thay đổi nào đối với nội dung của một khối đều yêu cầu bắt đầu lại toàn bộ quá trình khai thác, chính vì vậy chúng ta tin tưởng vào blockchain.

Hiện tại, còn có các loại nonce khác nhau tùy theo ngữ cảnh. Trong các giao thức mật mã, nonce được dùng để ngăn chặn các cuộc tấn công phát lại (replay attacks)—đảm bảo mỗi phiên làm việc có một giá trị duy nhất. Trong hàm băm, nonce thay đổi đầu vào để tạo ra đầu ra khác nhau. Trong lập trình nói chung, chúng là các giá trị được tạo ra để đảm bảo tính duy nhất và tránh xung đột.

Sự khác biệt giữa hàm băm (hash) và nonce đôi khi gây nhầm lẫn. Hàm băm giống như dấu vân tay của dữ liệu—là đầu ra có kích thước cố định từ bất kỳ đầu vào nà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 tiêu chí nhất định. Chúng phối hợp với nhau, nhưng đảm nhiệm các vai trò khác nhau.

Về mặt bảo mật, có một số lỗ hổng liên quan đến nonce mà bạn cần biết. Các cuộc tấn công tái sử dụng nonce (nonce reuse attacks) xảy ra khi ai đó tái sử dụng cùng một nonce trong quá trình mật mã, có thể làm giảm tính bảo mật. Các mẫu nonce dự đoán trước được giúp kẻ tấn công dự đoán các hoạt động. Các cuộc tấn công nonce cũ (stale nonce attacks) liên quan đến việc sử dụng các nonce lỗi thời để lừa hệ thống. Giải pháp đơn giản là các giao thức cần đảm bảo tính duy nhất và tính ngẫu nhiên của nonce thông qua việc tạo số ngẫu nhiên mạnh mẽ, từ chối các nonce đã sử dụng, và cập nhật các triển khai mật mã. Các cuộc kiểm tra định kỳ và tuân thủ nghiêm ngặt các thuật toán tiêu chuẩn là điều bắt buộc.

Lý do tôi giải thích tất cả điều này là vì hiểu cách nonce hoạt động trong bảo mật là nền tảng để hiểu tại sao blockchain thực sự chống làm giả. Nó không phải là phép màu—chỉ là toán học cực kỳ thông minh khiến các cuộc tấn công trở nên phi lý về mặt kinh tế. Khi bạn thấy cách các phần này phối hợp, toàn bộ hệ thống sẽ trở nên rõ ràng hơn rất nhiều.
BTC-0,97%
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