Block Header là gì? Thành phần và chức năng trong blockchain

Blockchain là công nghệ ngày càng phổ biến và đang được áp dụng trong nhiều lĩnh vực khác nhau như tài chính, y tế, và chính trị. Block Header là một trong những thành phần quan trọng của blockchain, có vai trò đảm bảo tính toàn vẹn của hệ thống. Vậy Block Header là gì? Hãy cùng Coin5s tìm hiểu trong bài viết dưới đây nhé!
Block Header là gì?

Trong mạng blockchain, Block Header (tiêu đề khối) được sử dụng để định danh một khối cụ thể trên toàn bộ mạng. Tạo ra bằng chứng công việc (POW) để khai thác và nhận phần thưởng tương ứng. Các khối này chứa thông tin liên quan đến các giao dịch trên mạng. Mỗi khối có một tiêu đề riêng được xác định bằng hàm băm tiêu đề khối.

Tiêu đề khối bao gồm 80 byte và bao gồm số phiên bản Bitcoin, hàm băm khối trước, merkle root, dấu thời gian, mục tiêu khó khăn cho khối và nonce. Với việc thay đổi giá trị nonce, các thợ mỏ liên tục băm block header theo quy trình khai thác. Qua đó, họ tạo ra bằng chứng công việc cho khối đó và nhận được phần thưởng khai thác tương ứng. Quá trình này giúp duy trì tính toàn vẹn của hệ thống blockchain.


Block Header

Block Header 

Block header bao gồm các thành phần sau:

  • Phiên bản Bitcoin: 4 byte để xác định phiên bản của Bitcoin mà khối được tạo ra.
  • Hash khối trước: 32 byte để xác định mã băm của khối trước đó. Liên kết khối hiện tại với khối trước đó trong chuỗi blockchain.
  • Merkle root: 32 byte để xác định Merkle root của các giao dịch được bao gồm trong khối hiện tại.
  • Dấu thời gian: 4 byte để xác định thời gian tạo khối. Nó được biểu diễn dưới dạng Unix timestamp.
  • Mục tiêu khó khăn: 4 byte để xác định mục tiêu khó khăn của khối hiện tại. Đây cũng được gọi là độ khó của khối.
  • Nonce: 4 byte để xác định giá trị nonce được sử dụng để tạo băm của khối hiện tại. Giá trị nonce được thay đổi bởi các thợ đào để tìm ra giá trị băm phù hợp với mục tiêu khó khăn.

Block Header có ý nghĩa quan trọng trong việc đảm bảo tính toàn vẹn của blockchain, bởi vì:

  • Block Header chứa hàm băm của khối trước đó, tạo ra một liên kết mật mã giữa các khối và ngăn chặn việc thay đổi hoặc xóa bỏ dữ liệu trong chuỗi.
  • Block Header chứa gốc Merkle, là hàm băm của tất cả các giao dịch trong khối, đảm bảo tính toàn vẹn và không thể thay đổi của các giao dịch.
  • Block Header chứa nonce. Đây là một số ngẫu nhiên được sử dụng bởi các thợ đào để tạo ra bằng chứng công việc. Cơ chế này xác nhận rằng các thợ đào đã bỏ công sức để tạo ra một khối hợp lệ và ngăn chặn việc tấn công 51%.

Như vậy, Block Header giúp duy trì tính an toàn, liên kết và không thể thay đổi của blockchain.

Một block header tốt trong blockchain là một block header có các đặc điểm sau:

  • Chứa hàm băm của khối trước đó, để tạo ra một liên kết mật mã giữa các khối. Ngăn chặn việc thay đổi hoặc xóa bỏ dữ liệu trong chuỗi.
  • Chứa hàm băm gốc của cây Merkle, để đảm bảo tính toàn vẹn và không thể thay đổi của các giao dịch trong khối.
  • Chứa dấu thời gian, để ghi lại thời điểm khối được tạo ra và xác định thứ tự của các khối.
  • Chứa mục tiêu độ khó, để xác định độ khó của bài toán băm mà các thợ đào phải giải quyết để tạo ra một khối hợp lệ.
  • Chứa nonce, để cho phép các thợ đào thay đổi giá trị của hàm băm của block header, cho đến khi nó nhỏ hơn hoặc bằng mục tiêu độ khó.

Những đặc điểm này giúp block header tạo ra bằng chứng công việc, là một cơ chế xác nhận rằng các thợ đào đã bỏ công sức để tạo ra một khối hợp lệ và ngăn chặn việc tấn công 51%. Bằng chứng công việc là một trong những yếu tố quan trọng để duy trì tính an toàn, liên kết và không thể thay đổi của blockchain.