Block Hash là gì? Mã băm định danh khối Blockchain

Trong kiến trúc blockchain, mỗi khối (block) đều có một mã băm (hash) duy nhất đóng vai trò như “chứng minh thư” của khối đó. Block Hash là kết quả của việc áp dụng hàm băm mật mã lên block header, tạo ra một chuỗi ký tự hex cố định (thường là 64 ký tự, tương đương 256 bit). Nó không chỉ định danh khối mà còn là yếu tố then chốt giúp các khối liên kết thành chuỗi, đảm bảo tính bất biến và bảo mật cho toàn bộ sổ cái phân tán.
Block Hash
Block Hash

1. Block Hash là gì? Định nghĩa chi tiết

Block Hash (mã băm khối) là một chuỗi ký tự mật mã duy nhất được tạo ra bằng cách băm phần header của một khối blockchain, không phải toàn bộ dữ liệu khối. Header chứa các metadata quan trọng như:

  • Previous Block Hash: Hash của khối trước đó.

  • Timestamp: Thời gian khối được tạo.

  • Nonce: Số dùng một lần trong quá trình đào (PoW).

  • Merkle Root: Hash gốc của tất cả giao dịch trong khối.

  • Difficulty Target: Độ khó mục tiêu (PoW).

  • Version: Phiên bản giao thức.

  • Gas Limit / Gas Used: (Ethereum)

Khi áp dụng hàm băm (như SHA-256 cho Bitcoin, Keccak-256 cho Ethereum) lên dữ liệu header này, ta thu được Block Hash. Đây là một chuỗi 64 ký tự hex (32 byte) không thể đoán trước, có tính chất nhạy cảm: chỉ cần thay đổi một bit trong header (ví dụ nonce), hash sẽ thay đổi hoàn toàn.

Ví dụ:

  • Bitcoin Block Hash: 00000000000000000005f7c...a3e9 (thường bắt đầu bằng nhiều số 0 do yêu cầu độ khó).

  • Ethereum Block Hash: 0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060 (bắt đầu bằng 0x).

Block Hash đóng vai trò là định danh duy nhất của khối trên toàn mạng lưới. Không có hai khối nào có cùng hash, và mỗi khối (trừ genesis block) đều tham chiếu đến hash của khối trước, tạo thành chuỗi liên tục.

Bạn có thể tìm hiểu thêm về cấu trúc block trong bài Block là gì?


2. Cách Block Hash được tạo ra

Block Hash được tạo ra bằng cách áp dụng hàm băm lên block header. Quy trình khác nhau tùy theo cơ chế đồng thuận.

2.1. Bitcoin (Proof of Work)

  1. Thu thập header: Bao gồm version, previous block hash, merkle root, timestamp, difficulty target, nonce.

  2. Mã hóa header: Header được chuyển thành chuỗi byte 80 byte cố định.

  3. Băm SHA-256 lần 1: Áp dụng SHA-256 lên chuỗi 80 byte, thu được hash 256 bit.

  4. Băm SHA-256 lần 2: Băm tiếp hash vừa thu được để tạo ra Block Hash cuối cùng.

Trong PoW, thợ đào phải thử nhiều giá trị nonce khác nhau cho đến khi Block Hash thỏa mãn độ khó mục tiêu (ví dụ: bắt đầu bằng một số lượng số 0 nhất định). Điều này khiến việc tạo khối trở nên tốn kém và mất thời gian, đảm bảo an ninh mạng lưới. Bạn có thể xem chi tiết tại <a href=”https://developer.bitcoin.org/reference/block_chain.html” rel=”nofollow noopener”>Bitcoin Developer – Block Hash</a>.

2.2. Ethereum (Proof of Stake)

  1. Thu thập header: Bao gồm parent hash (hash của khối cha), state root, transactions root, receipts root, timestamp, gas limit, gas used, base fee per gas, v.v.

  2. Mã hóa header: Header được mã hóa RLP thành chuỗi byte.

  3. Băm Keccak-256: Áp dụng Keccak-256 lên chuỗi byte để thu được Block Hash.

Ethereum không yêu cầu tìm nonce như Bitcoin (vì dùng PoS), nên Block Hash không phải thỏa mãn độ khó hash cụ thể. Thay vào đó, validator được chọn ngẫu nhiên để đề xuất khối, và các validator khác xác nhận. Block Hash vẫn được dùng để định danh và liên kết khối.

Bạn có thể xem thêm về cơ chế đồng thuận trong bài Proof of Stake là gì? và Proof of Work là gì?


3. Vai trò của Block Hash trong liên kết chuỗi

Điểm quan trọng nhất của Block Hash là liên kết các khối thành chuỗi. Mỗi khối (trừ khối genesis) chứa Previous Block Hash – hash của khối ngay trước nó. Khi một khối mới được tạo, hash của nó sẽ được khối tiếp theo tham chiếu. Điều này tạo thành một chuỗi liên kết mật mã:

  • Nếu ai đó cố gắng thay đổi dữ liệu trong một khối cũ, Block Hash của khối đó sẽ thay đổi hoàn toàn.

  • Khối tiếp theo đang tham chiếu đến hash cũ, nên sẽ không còn khớp.

  • Để làm cho chuỗi hợp lệ trở lại, kẻ tấn công phải tính lại hash của tất cả các khối phía sau, điều này đòi hỏi sức mạnh tính toán khổng lồ (trong PoW) hoặc kiểm soát phần lớn stake (trong PoS).

Đây chính là nền tảng của tính bất biến (immutability) của blockchain. Block Hash biến mỗi khối thành một mắt xích không thể tách rời khỏi chuỗi. Bạn có thể tìm hiểu thêm về tính bất biến trong bài <a href=”/blockchain-la-gi-cach-hoat-dong/”>Blockchain là gì?</a>


4. Block Hash và Block Height: Khác nhau thế nào?

Nhiều người nhầm lẫn giữa Block Hash và Block Height. Dưới đây là sự phân biệt:

Tiêu chí Block Hash Block Height
Định nghĩa Mã băm duy nhất của khối, được tạo bằng hàm băm header Số thứ tự của khối trong chuỗi, bắt đầu từ 0
Định dạng Chuỗi 64 ký tự hex Số nguyên
Tính duy nhất Tuyệt đối duy nhất, không bao giờ trùng Có thể trùng trong các nhánh fork (hai khối cùng độ cao)
Vai trò Liên kết mật mã, xác thực toàn vẹn Định vị vị trí khối, tiện tra cứu
Tra cứu Dán hash vào explorer Nhập số height vào explorer

Block Height giúp con người dễ dàng tham chiếu (ví dụ: “khối 700,000”), nhưng Block Hash mới là định danh mật mã thực sự. Trong trường hợp fork, có thể có hai khối cùng height nhưng hash khác nhau; chỉ một khối trở thành chuỗi chính. Bạn có thể xem thêm về fork trong bài Consensus Mechanism là gì?


5. Block Hash và Transaction Hash: Sự khác biệt

Cả Block Hash và Transaction Hash đều là kết quả của hàm băm mật mã, nhưng chúng phục vụ các mục đích khác nhau:

Tiêu chí Block Hash Transaction Hash (TXID)
Băm dữ liệu gì Block header Dữ liệu giao dịch
Định danh Một khối Một giao dịch
Số lượng Một khối có một hash Mỗi giao dịch trong khối có một hash riêng
Liên kết Liên kết khối trước – khối sau Tham chiếu đến UTXO (Bitcoin) hoặc nonce (Ethereum)
Độ dài 64 ký tự hex (32 byte) 64 ký tự hex (32 byte)
Ví dụ 00000000000000000005f7c...a3e9 5c504ed4...b22060

Một khối chứa nhiều giao dịch, mỗi giao dịch có Transaction Hash riêng. Các giao dịch này được tóm tắt thành Merkle Root, và Merkle Root là một phần của block header. Do đó, Block Hash gián tiếp phụ thuộc vào tất cả các giao dịch trong khối. Nếu một giao dịch bị thay đổi, Merkle Root thay đổi, kéo theo Block Hash thay đổi.

Bạn có thể tìm hiểu sâu hơn về Transaction Hash trong bài <a href=”/transaction-hash-la-gi/”>Transaction Hash là gì?</a> và <a href=”/txid-la-gi-cach-tra-cuu-giao-dich-blockchain/”>TXID là gì?</a>


6. Cách tra cứu Block Hash

Tra cứu Block Hash rất đơn giản với các trình khám phá blockchain.

6.1. Lấy Block Hash

Bạn có thể lấy Block Hash từ:

  • Lịch sử giao dịch: Khi bạn tra cứu một giao dịch, trình khám phá thường hiển thị “Block Hash” hoặc “Block” chứa giao dịch đó.

  • Ví tiền điện tử: Một số ví hiển thị thông tin khối.

  • Trang chủ của explorer: Thường có danh sách các khối mới nhất kèm theo hash.

6.2. Sử dụng trình khám phá

a) Bitcoin (Blockchain.com)

  • Truy cập Blockchain Explorer.

  • Dán Block Hash vào ô tìm kiếm, nhấn Enter.

  • Xem chi tiết: Block Height, Timestamp, Transactions, Merkle Root, Nonce, Difficulty, Previous Block Hash, v.v.

b) Ethereum (Etherscan)

  • Truy cập Etherscan.

  • Dán Block Hash (bắt đầu bằng 0x) vào ô tìm kiếm.

  • Xem: Block Height, Timestamp, Transactions, Validator, Gas Used, Parent Hash, State Root, v.v.

c) Các blockchain khác

  • BNB Smart Chain: BscScan.

  • Solana: Solscan.

  • Polygon: PolygonScan.

Bạn có thể tìm hiểu thêm về cách tra cứu giao dịch trong bài TXID là gì?


7. Block Hash và bảo mật mạng lưới

Block Hash đóng vai trò then chốt trong bảo mật blockchain:

  • Chống giả mạo: Như đã phân tích, việc thay đổi bất kỳ dữ liệu nào trong khối đều làm thay đổi hash, phá vỡ liên kết chuỗi.

  • Bằng chứng công việc (PoW): Trong Bitcoin, Block Hash phải thỏa mãn độ khó mục tiêu. Đây là bằng chứng rằng thợ đào đã tiêu tốn năng lượng tính toán thực sự. Kẻ tấn công muốn viết lại lịch sử phải tạo lại tất cả các khối từ điểm bị sửa đổi, đòi hỏi hash rate khổng lồ.

  • Xác minh nhanh chóng: Các node có thể nhanh chóng xác minh tính hợp lệ của khối bằng cách băm header và so sánh với Block Hash được công bố. Điều này giúp duy trì hiệu quả mạng lưới.

  • Chống fork ngẫu nhiên: Vì mỗi khối tham chiếu đến hash của khối trước, các node dễ dàng phát hiện nhánh chuỗi khác nhau và lựa chọn nhánh dài nhất (hoặc có nhiều công việc nhất) theo quy tắc đồng thuận.

Bạn có thể tìm hiểu thêm về cách node xác thực khối trong bài <a href=”/full-node-la-gi/”>Full Node là gì?</a> và <a href=”/light-node-la-gi/”>Light Node là gì?</a>


8. Block Hash trên các blockchain khác nhau

Mỗi blockchain có cách tính Block Hash riêng, nhưng nguyên tắc chung là băm header.

8.1. Bitcoin và các blockchain PoW

Sử dụng double SHA-256. Block Hash phải nhỏ hơn hoặc bằng giá trị difficulty target. Do đó, hash thường bắt đầu bằng nhiều số 0. Ví dụ:
00000000000000000005f7c...a3e9

8.2. Ethereum và các blockchain PoS

Sử dụng Keccak-256. Không yêu cầu điều kiện độ khó như PoW, nhưng header vẫn được băm để tạo hash. Block Hash bắt đầu bằng 0x và có vẻ ngẫu nhiên hơn.

8.3. Các blockchain khác

  • Solana: Dùng SHA-256 kết hợp với Proof of History, hash khối có cấu trúc riêng.

  • Cardano: Dùng Blake2b-256, mỗi khối (slot) có hash khác nhau.

  • Polkadot: Dùng Blake2b, header phức tạp với nhiều trường.

Dù khác nhau về chi tiết, vai trò của Block Hash vẫn giống nhau: định danh khối và liên kết chuỗi. Bạn có thể xem thêm về các blockchain nền tảng trong bài Layer-1 Blockchain là gì?


9. Các câu hỏi thường gặp về Block Hash

  • Block Hash có thể bị thay đổi không?

Một khi khối đã được thêm vào chuỗi và có đủ xác nhận, Block Hash không thể bị thay đổi. Bất kỳ sự thay đổi nào cũng làm hash mới khác và phá vỡ chuỗi.

  • Block Hash có giống với Block Height không?

Không. Block Hash là mã băm mật mã, Block Height là số thứ tự. Cả hai đều có thể dùng để tra cứu khối, nhưng Block Hash là định danh mật mã duy nhất.

  • Làm thế nào để tìm Block Hash của một giao dịch?

Khi bạn tra cứu Transaction Hash trên explorer, nó sẽ hiển thị Block Hash (hoặc Block Height) của khối chứa giao dịch đó. Bạn có thể click vào để xem chi tiết khối.

  • Block Hash có bắt đầu bằng số 0 không?

Trong Bitcoin (PoW), Block Hash thường bắt đầu bằng nhiều số 0 do yêu cầu độ khó. Trong Ethereum (PoS), hash không nhất thiết bắt đầu bằng số 0; nó hoàn toàn ngẫu nhiên.

  • Block Hash có được dùng để khôi phục tài sản không?

Không. Block Hash chỉ là mã định danh khối, không liên quan đến khóa riêng tư hay quyền sở hữu. Để khôi phục tài sản, bạn cần Seed Phrase hoặc private key.


10. Tổng kết

Block Hash là gì? Đó là mã băm mật mã duy nhất của một khối blockchain, được tạo ra bằng cách băm block header. Nó không chỉ định danh khối mà còn là mắt xích liên kết các khối thành chuỗi, đảm bảo tính bất biến và bảo mật cho toàn bộ sổ cái phân tán. Hiểu rõ Block Hash giúp bạn nắm vững kiến trúc nền tảng của blockchain và cách nó chống lại sự giả mạo.

Nguồn tham khảo:
Bitcoin Developer – Block Hash | Ethereum.org – Blocks | Investopedia – Hash | Blockchain.com Explorer

Chia sẻ bài viết:
Từ khóa : ,

Tác giả: Huy Huỳnh

- Huy Huỳnh là Developer đồng thời là biên tập viên tại Coin60s. Tham gia thị trường từ 2017, anh chuyên theo dõi thị trường crypto, blockchain và các xu hướng đầu tư tài sản số. Nội dung nghiên cứu anh tập trung vào tin tức thị trường, kiến thức crypto và đánh giá dự án.
- Từ năm 2024, anh bắt đầu nghiên cứu thêm về cơ sở hạ tầng Blockchain (blockchain hub, infrastructure...)...Xem thêm