Nonce Là Gì?
Nonce là một số, viết tắt của 'number used only once' (số được sử dụng chỉ một lần), mà chương trình đào Bitcoin sử dụng. Nó được bao gồm trong tiêu đề khối, sau đó thông tin này được băm. Nếu số thập lục phân kết quả cộng lại có giá trị nhỏ hơn hoặc bằng mục tiêu độ khó của mạng, khối của người đào sẽ được thêm vào blockchain. Sau đó, một khối khác được mở và quá trình bắt đầu lại.
Những Điểm Chính
- Nonce là một giá trị số được sử dụng trong quá trình thử và sai để thêm một khối vào blockchain.
- Nonce được tăng lên một đơn vị cho mỗi lần thử nghiệm.
- Tìm ra sự kết hợp phù hợp giữa nonce và các giá trị khác trong khối tiêu tốn nhiều năng lượng tính toán.
- Nonce là một trong vài giá trị có thể thay đổi để tạo ra các băm cho quá trình đào cạnh tranh.
Hiểu về Nonce
Nonce Bitcoin là một con số 32-bit (hoặc 4-byte) mà người đào sử dụng để cố gắng tạo ra một băm hợp lệ để tạo ra một khối mới trong blockchain Bitcoin. Nonce là một trong những trường được bao gồm trong tiêu đề khối, bao gồm các thông tin sau:
- Phiên bản phần mềm
- Băm của khối trước đó
- Mốc thời gian
- Mục tiêu độ khó
- Gốc Merkle
Trên mạng lưới Bitcoin, những người tham gia gọi là người đào cạnh tranh để tạo ra một băm nhỏ hơn hoặc bằng với băm mục tiêu của mạng bằng cách thay đổi nonce liên tục sau mỗi lần thử không thành công.
Băm đề cập đến quá trình áp dụng hàm băm mật mã vào thông tin. Hàm băm mật mã là một phép toán toán học lấy dữ liệu khối và mã hóa nó bằng cách biến đổi thành một giá trị duy nhất, một đầu ra cố định của ký tự thập lục phân.
Giá trị băm này hoạt động như một dấu vân tay mật mã của khối, đảm bảo rằng nội dung của khối không bị thay đổi. Nonce là biến duy nhất trong tiêu đề khối mà một người đào có thể thay đổi. Bằng cách thay đổi nonce, một người đào có thể thay đổi băm của khối và tính toán các giải pháp khác nhau có thể có.
Ví dụ, đây là đoạn văn trước đó được đưa qua thuật toán băm SHA-256:
acd691b23cc47b03addf7329b0467c6190e758ee763d7d648af75b5c5ae73e3a
Bằng cách thêm một giá trị là không (nonce) vào cuối đoạn văn, bạn sẽ có một giá trị thập lục phân khác:
f4be24818264fdb8d120f7fe04b8b8f8d4359bc7b1a112412fa968aab7acb782
Nếu bạn thay đổi số không đó thành một, bạn sẽ nhận được điều này:
9e3f30005b29927043ecfcec9edf815493326fe2060015fd56ed3213564c7200
Đây là cách mà nonce được sử dụng bởi chương trình đào Bitcoin. Giá trị nonce được tăng lên một với mỗi lần thử cho đến khi đạt được một giá trị nhất định.
Người đào đầu tiên tìm ra một băm hợp lệ dưới mục tiêu độ khó của mạng sẽ nhận được phần thưởng khối. Khối của họ được phát sóng đến mạng, được thêm vào blockchain, và quá trình lại bắt đầu.
Mục tiêu độ khó là một đơn vị đo độ khó của việc tìm kiếm một giá trị nonce hợp lệ. Nó được điều chỉnh định kỳ để duy trì tỷ lệ sinh khối nhất quán.
Extra Nonce và Dấu Thời Gian
Bạn sẽ thấy trong trình duyệt khối rằng nonce thường chỉ lên đến hàng tỷ. Ví dụ, nonce cho khối 841,948 là 1,614,498,317. Khối 841,949 có nonce là 4,218,083,700. Một thiết bị đào hiện đại có thể tạo ra nhiều hơn thế này trong thời gian ít hơn một giây.
Ngoài ra, nonce được giới hạn trong 32 bit (4 byte), vì vậy nó chỉ có thể lên đến hơn 4,29 tỷ. Nó phải quay vòng lại để có ích vì quá trình băm rất nhanh. Vì vậy, một phương pháp bổ sung đã được tạo ra sau khi các thiết bị đào Bitcoin ASIC bắt đầu xé toạc blockchain. Một số khác, gọi là extra nonce, được tạo ngẫu nhiên và được sử dụng trong trường dữ liệu coinbase. Giá trị này được thêm vào không gian giao dịch coinbase, làm thay đổi gốc Merkle.
Gốc Merkle là một phần của tiêu đề khối, vì vậy băm tiêu đề khối thay đổi. Extra nonce và nonce đều được điều chỉnh để tìm kiếm giải pháp. Nếu không tìm thấy giải pháp bằng cách sử dụng bất kỳ trong số chúng, chương trình đào cho phép người đào điều chỉnh timestamp. Sự kết hợp của ba giá trị này cho phép blockchain duy trì mục tiêu đào một khối khoảng mỗi 10 phút.
Ý nghĩa của cụm từ cho nonce là gì?
'Nonce' kết hợp cụm từ 'number used once.' Nó được sử dụng bởi blockchain Bitcoin để giúp tạo ra một giá trị băm khi đào một khối.
Khái niệm về Nonce là gì?
Một nonce, trong ngữ cảnh blockchain, là một số được sử dụng một lần. Đối với việc sử dụng trên blockchain, đó là một số tăng dần trong mỗi lần thử để tạo ra một băm thỏa mãn tiêu chí độ khó của mạng.
Ví dụ về một Nonce là gì?
Ví dụ điển hình về một nonce là nonce được sử dụng để đào một khối. Nonce được sử dụng trong khối 841,954 là 3,983,795,221. Điều này không có nghĩa là người đào chỉ cần 3.98 nghìn tỷ lần thử—nó có thể lăn qua vài nghìn lần và được sử dụng kết hợp với extra nonce và timestamp. Là một số 32-bit, nonce chỉ có thể tăng lên hơn 4.29 tỷ một chút.
Điểm Quan Trọng
Trong đào Bitcoin, các thợ mỏ cạnh tranh để tìm một nonce thỏa mãn tiêu chí độ khó của mạng. Thông tin trong tiêu đề khối được đi qua thuật toán băm, kết quả là một giá trị phải nhỏ hơn hoặc bằng mục tiêu độ khó của mạng.
Trong mỗi lần thử để đạt được mục tiêu, nonce được tăng lên một. Nếu vượt quá giới hạn 32-bit, nó sẽ quay vòng lại, và extra nonce cùng với timestamp được sử dụng kết hợp với nó cho đến khi một thợ mỏ thành công.
Các nhận xét, ý kiến và phân tích được thể hiện trên Mytour chỉ mang tính chất tham khảo trên mạng. Đọc thông tin miễn trừ bảo hành và trách nhiệm của chúng tôi để biết thêm chi tiết.