Đã tìm hiểu về một số nguyên tắc cơ bản của blockchain gần đây, và có một khái niệm ít được đề cập đủ - đó là nonce. Hầu hết mọi người không nhận ra tầm quan trọng của nó khi hiểu về nonce trong an ninh và lý do tại sao nó lại quan trọng đối với toàn bộ hệ sinh thái blockchain.



Vì vậy, đây là vấn đề: nonce về cơ bản là một số dùng một lần, và nó hoàn toàn trung tâm cho cách hoạt động của các hệ thống chứng minh công việc (proof-of-work). Khi các thợ mỏ đang thực hiện nhiệm vụ của mình, họ về cơ bản đang giải một câu đố mật mã, và nonce là biến số mà họ thao tác để giải mã đó. Hãy nghĩ như thế này - các thợ mỏ liên tục điều chỉnh giá trị nonce cho đến khi họ có được một đầu ra băm (hash) phù hợp với yêu cầu cụ thể của mạng, thường là một số lượng số không đứng đầu nhất định. Đó là trò chơi thử và sai, nhưng chính điều này làm cho hệ thống trở nên an toàn.

Điều khiến tôi thích thú về khai thác blockchain là cách cơ chế này thật tinh tế. Nonce đảm bảo rằng mỗi lần tạo khối đều đòi hỏi nỗ lực tính toán thực sự. Đó không chỉ là một quy tắc ngẫu nhiên - đó là cách ngăn chặn các tác nhân xấu chỉ cần viết lại lịch sử bất cứ lúc nào họ muốn. Nếu ai đó muốn sửa đổi một khối cũ, họ sẽ phải tính lại nonce và làm lại toàn bộ công việc, điều này trở nên ngày càng khó khăn theo chiều dài của chuỗi. Đó chính là sự sáng tạo của nó.

Khi chúng ta nói về nonce trong an ninh cụ thể, thực chất chúng ta đang đề cập đến nhiều lớp bảo vệ. Đầu tiên là việc ngăn chặn chi tiêu gấp đôi (double-spending). Bằng cách yêu cầu các thợ mỏ thực hiện quá trình tính toán đòi hỏi nhiều công sức này để tìm ra nonce hợp lệ, mạng đảm bảo rằng mỗi giao dịch đều được xác nhận duy nhất. Bạn không thể sao chép giao dịch vì toàn bộ cấu trúc khối sẽ thay đổi nếu cố gắng can thiệp.

Tiếp theo là phòng thủ chống các cuộc tấn công Sybil. Bằng cách đặt chi phí tính toán lên bất kỳ ai cố gắng làm quá tải mạng với các danh tính giả, nonce về cơ bản nâng cao rào cản cho các kẻ tấn công. Không phải là không thể, nhưng rất tốn kém, đủ để ngăn chặn hầu hết các tác nhân độc hại.

Hãy để tôi phân tích cách hoạt động cụ thể trong Bitcoin. Các thợ mỏ tập hợp một khối mới chứa các giao dịch đang chờ xử lý, sau đó thêm một nonce duy nhất vào tiêu đề khối. Họ sau đó băm toàn bộ khối bằng SHA-256 và kiểm tra xem kết quả 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 nonce tạo ra một hash hợp lệ. Khi đã tìm thấy, khối đó được thêm vào chuỗi khối và thợ mỏ nhận phần thưởng.

Điều thực sự thú vị là độ khó không cố định. Mạng Bitcoin điều chỉnh nó một cách linh hoạt để duy trì tốc độ tạo khối ổn định. Khi nhiều thợ mỏ tham gia và tổng sức mạnh băm của mạng tăng lên, độ khó sẽ tăng, đòi hỏi nhiều công sức tính toán hơn để tìm ra nonce hợp lệ. Ngược lại, nếu sức mạnh băm giảm, độ khó sẽ giảm xuống. Cơ chế thích ứng này giữ cho hệ thống cân bằng.

Bây giờ, đây là phần phức tạp hơn. Khi chúng ta khám phá nonce trong an ninh qua các ứng dụng khác nhau, chúng ta thấy có nhiều loại khác nhau. Có nonce mật mã dùng trong các giao thức bảo mật để ngăn chặn tấn công phát lại (replay attack) 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à kết quả đầu ra. Trong lập trình, nonces có thể là các giá trị được tạo ra để đảm bảo tính duy nhất của dữ liệu hoặc ngăn xung đột. Mỗi loại phục vụ mục đích riêng tùy theo yêu cầu bảo mật.

Tôi cần làm rõ mối quan hệ giữa hash và nonce vì mọi người thường nhầm lẫn. Hash giống như dấu vân tay số của dữ liệu - là đầu ra có kích thước cố định được tạo ra từ dữ liệu đầu vào. Trong khi đó, nonce là biến số mà các thợ mỏ thao tác để tạo ra các đầu ra băm khác nhau. Chúng phối hợp trong câu đố bảo mật, nhưng về bản chất chúng là các khái niệm khác nhau.

Điều khiến các nhà nghiên cứu bảo mật bận rộn là các cuộc tấn công liên quan đến nonce. Nổi tiếng nhất là tái sử dụng nonce, nơi kẻ tấn công có thể tái sử dụng cùng một nonce trong quá trình mật mã, có thể làm hỏng các tính chất bảo mật. Điều này đặc biệt nguy hiểm đối với các hệ thống dựa vào tính duy nhất của nonce, như chữ ký số và mã hóa. Một mối lo khác là các cuộc tấn công nonce dự đoán trước, khi kẻ tấn công có thể dự đoán và thao tác các hoạt động mật mã vì nonce theo một mẫu có thể dự đoán được.

Cũng có các cuộc tấn công nonce lỗi thời (stale nonce), khi hệ thống bị lừa chấp nhận các nonce cũ hoặc đã dùng rồi. Để phòng chống, 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 phải thực hiện sinh số ngẫu nhiên đúng cách với xác suất lặp lại thấp, cùng với các cơ chế phát hiện và từ chối nonce đã dùng.

Nguy cơ thực tế là rất lớn. Trong mật mã bất đối xứng, việc tái sử dụng nonce có thể dẫn đến hậu quả thảm khốc - tiết lộ khóa bí mật hoặc làm lộ thông tin liên lạc đã mã hóa. Đó là lý do tại sao cộng đồng crypto liên tục cập nhật thư viện và giao thức mật mã, theo dõi các mẫu sử dụng nonce bất thường và luôn đi trước các phương thức tấn công mới.

Điều tôi thấy hấp dẫn khi hiểu về nonce trong an ninh là nó liên quan trực tiếp đến mô hình bảo mật cốt lõi của blockchain. Toàn bộ hệ thống proof-of-work dựa trên khái niệm này. Không có nonce, không có câu đố tính toán. Không có câu đố, không có chi phí để tấn công mạng. Đơn giản vậy thôi.

Phòng thủ tốt nhất chống lại các lỗ hổng liên quan đến nonce là các thực hành bảo mật tốt nhất: kiểm tra định kỳ các triển khai mật mã, tuân thủ nghiêm ngặt các thuật toán tiêu chuẩn, và giám sát liên tục. Không hấp dẫn, nhưng hiệu quả. Các mạng blockchain coi trọng các quy trình này là những hệ thống duy trì tính toàn vẹn theo thời gian.

Vì vậy, lần tới ai đó hỏi bạn về các nguyên tắc bảo mật của blockchain, bạn đã có câu trả lời vững chắc về nonce trong an ninh và lý do tại sao các thợ mỏ phải bỏ ra nhiều công sức tính toán để săn lùng chúng. Đó chính là nền tảng làm cho toàn bộ hệ thống trở nên đáng tin cậy.
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