Một hàm băm khối Bitcoin được tạo ra bằng cách chạy thuật toán SHA-256 trên 6 trường dữ liệu sau:

  1. Số phiên bản Bitcoin – Bitcoin version number
  2. Hàm băm khối trước đó – Previous block hash
  3. Merkle Root của tất cả các giao dịch được chọn trong khối
  4. Dấu thời gian – Timestamp
  5. Chỉ tiêu độ khó – Difficulty target
  6. Tham số Nonce

Hàm băm khối – Block hash

Số phiên bản Bitcoin chỉ đơn giản là con số theo dõi việc nâng cấp phần mềm và protocol.
Hàm băm khối trước đó là hàm băm của khối mẹ trong blockchain. Tức là nếu đây là khối 24 thì nó là hàm băm của khối 23.
Merkle Root, về cơ bản là một hàm băm nhị phân của tất cả các giao dịch trong khối.
Dấu thời gian là thời điểm mà hàm băm được bung ra.
Chỉ tiêu độ khó là mạng lưới Bitcoin nhắm mục tiêu vào các số zero.
Tham số Nonce hay còn được hiểu là tham số 32 Bit mà các thợ mỏ biến đổi từ số zero để cố gắng tìm ra giải pháp hàm băm.

Khi mạng lưới khai thác Bitcoin đã phát triển không ngừng từ Mega hashes, Giga Hashes cho đến Peta hashes – tham số nonce; cộng thêm số lượng khai thác của thợ mỏ biến đổi có thể được thực hiện chưa đầy một giây, với hơn 4 tỷ nỗ lực như thế, do đó việc khai thác trở nên hết sức dễ dàng, dẫn đến việc các thợ mỏ phải sử dụng thêm số nonce phụ.

Họ đã thành công bằng cách thêm dữ liệu vào các giao dịch coinbase (generation transaction) – và điều đó có nghĩa là, sau khi tính toán lại, số nonce bình thường có thể được thực hiện lại, và nếu thực hiện trong vòng một giây trước khi thay đổi dấu thời gian, Merkle gốc được tính lại và thực hiện lại một lần nữa.

 

Facebook Comments