Cơ bản
Giao ngay
Giao dịch tiền điện tử một cách tự do
Giao dịch ký quỹ
Tăng lợi nhuận của bạn với đòn bẩy
Chuyển đổi và Đầu tư định kỳ
0 Fees
Giao dịch bất kể khối lượng không mất phí không trượt giá
ETF
Sản phẩm ETF có thuộc tính đòn bẩy giao dịch giao ngay không cần vay không cháy tải khoản
Giao dịch trước giờ mở cửa
Giao dịch token mới trước niêm yết
Futures
Truy cập hàng trăm hợp đồng vĩnh cửu
TradFi
Vàng
Một nền tảng cho tài sản truyền thống
Quyền chọn
Hot
Giao dịch với các quyền chọn kiểu Châu Âu
Tài khoản hợp nhất
Tối đa hóa hiệu quả sử dụng vốn của bạn
Giao dịch demo
Giới thiệu về Giao dịch hợp đồng tương lai
Nắm vững kỹ năng giao dịch hợp đồng từ đầu
Sự kiện tương lai
Tham gia sự kiện để nhận phần thưởng
Giao dịch demo
Sử dụng tiền ảo để trải nghiệm giao dịch không rủi ro
Launch
CandyDrop
Sưu tập kẹo để kiếm airdrop
Launchpool
Thế chấp nhanh, kiếm token mới tiềm năng
HODLer Airdrop
Nắm giữ GT và nhận được airdrop lớn miễn phí
Launchpad
Đăng ký sớm dự án token lớn tiếp theo
Điểm Alpha
Giao dịch trên chuỗi và nhận airdrop
Điểm Futures
Kiếm điểm futures và nhận phần thưởng airdrop
Đầu tư
Simple Earn
Kiếm lãi từ các token nhàn rỗi
Đầu tư tự động
Đầu tư tự động một cách thường xuyên.
Sản phẩm tiền kép
Kiếm lợi nhuận từ biến động thị trường
Soft Staking
Kiếm phần thưởng với staking linh hoạt
Vay Crypto
0 Fees
Thế chấp một loại tiền điện tử để vay một loại khác
Trung tâm cho vay
Trung tâm cho vay một cửa
Gần đây khi nghiên cứu về blockchain, tôi phát hiện ra một khái niệm cốt lõi mà nhiều người dễ bỏ qua — nonce. Thứ này nghe có vẻ xa lạ, nhưng thực ra nó là linh hồn của cơ chế khai thác PoW.
Nói đơn giản, nonce chính là con số mà thợ mỏ dùng để "giải mã câu đố". Tên đầy đủ của nó là "số dùng một lần", các thợ mỏ liên tục điều chỉnh biến này, tính toán lại hàm băm nhiều lần cho đến khi tìm ra kết quả đáp ứng yêu cầu độ khó của mạng lưới. Quá trình này nghe có vẻ đơn giản, nhưng đằng sau là hàng loạt tính toán khổng lồ, chính nhờ chi phí tính toán này mà blockchain trở nên khó bị sửa đổi.
Điều tôi thích nhất về nonce chính là cơ chế phòng thủ của nó. Bất kỳ ai muốn sửa đổi nội dung của một khối đã xác nhận đều phải tính lại nonce, điều này gần như là không thể thực hiện được. Đồng thời, nó còn giúp ngăn chặn các cuộc tấn công double-spend và tấn công Sybil — kẻ tấn công cần bỏ ra lượng lớn tài nguyên tính toán để chiếm quyền kiểm soát mạng, chi phí cao đến mức không thực tế.
Trong mạng Bitcoin, quy trình khai thác cụ thể như sau: thợ mỏ trước tiên tạo ra một khối mới chứa các giao dịch cần xác nhận, trong phần đầu của khối (block header) họ thêm một giá trị nonce ngẫu nhiên, rồi dùng thuật toán SHA-256 để băm toàn bộ khối. Sau đó, so sánh giá trị băm này với mục tiêu độ khó của mạng. Nếu chưa đạt yêu cầu, họ điều chỉnh nonce và tính lại, lặp đi lặp lại cho đến khi tìm ra "con số ma thuật".
Điều thú vị là độ khó của Bitcoin không cố định. Khi toàn mạng tăng sức mạnh tính toán, độ khó sẽ tự động tăng lên để duy trì tốc độ tạo khối khoảng 10 phút. Cơ chế thích ứng này đảm bảo rằng dù có bao nhiêu thợ mỏ tham gia, cuộc đua vẫn luôn công bằng tương đối.
Về ứng dụng của nonce, thực ra nó có nhiều loại khác nhau. Trong các giao thức mã hóa, nonce được dùng để ngăn chặn tấn công phát lại (replay attack), đảm bảo mỗi phiên giao dịch có giá trị duy nhất. Trong hàm băm, nonce giúp thay đổi đầu vào, từ đó thay đổi đầu ra. Trong lĩnh vực lập trình, nó là công cụ để đảm bảo tính duy nhất của dữ liệu.
Có thể nhiều người thắc mắc nonce và hàm băm khác nhau như thế nào. Nói đơn giản, hàm băm giống như dấu vân tay của dữ liệu — dựa vào đầu vào để tạo ra đầu ra có kích thước cố định, còn nonce là tham số biến để thợ mỏ "tạo ra" dấu vân tay này. Một cái là kết quả, một cái là công cụ.
Tuy nhiên, nonce cũng không hoàn hảo. Trong lĩnh vực mật mã, tồn tại một số hình thức tấn công nhằm vào nonce. Phổ biến nhất là "tái sử dụng nonce" — nếu cùng một nonce bị dùng hai lần, kẻ tấn công có thể phá vỡ tính bảo mật của mã hóa. Ngoài ra còn có tấn công "nonce có thể dự đoán trước", nếu quy luật sinh nonce bị dự đoán, hệ thống sẽ trở nên dễ bị tổn thương.
Chìa khóa để phòng chống các cuộc tấn công này là đảm bảo tính duy nhất và không thể dự đoán của nonce. Các giao thức mã hóa phải có cơ chế kiểm tra và từ chối các nonce trùng lặp, cập nhật thư viện mã hóa định kỳ, tuân thủ nghiêm ngặt các tiêu chuẩn thuật toán. Những biện pháp này có vẻ phức tạp, nhưng cực kỳ quan trọng để duy trì an toàn cho toàn hệ thống.
Tổng thể, dù chỉ là một con số tưởng chừng đơn giản, nhưng vai trò của nonce trong an ninh blockchain là không thể thay thế. Nó tạo ra chi phí tính toán để làm cho việc sửa đổi trở nên kinh tế không khả thi, chính vì vậy PoW vẫn là một trong những cơ chế đồng thuận an toàn nhất cho đến nay. Hiểu cách nonce hoạt động chính là hiểu cốt lõi của logic an ninh blockchain.