Trong một blockchain, mỗi khối (block) đều có hai cách để định danh: một là Block Hash – mã băm mật mã duy nhất, hai là Block Height – số thứ tự của khối trong chuỗi. Nếu Block Hash giống như “dấu vân tay” không thể thay đổi, thì Block Height giống như “số trang” trong một cuốn sổ cái, cho phép chúng ta dễ dàng xác định vị trí của một khối.

- 1. Block Height là gì? Định nghĩa theo cơ chế
- 2. Cách Block Height được gán và xác định
- 3. Vai trò của Block Height trong Blockchain
- 4. Block Height và Block Hash: Sự khác biệt
- 5. Block Height trong các blockchain khác nhau
- 6. Mối liên hệ giữa Block Height và Fork
- 7. Cách tra cứu Block Height
- 8. Tầm quan trọng của Block Height trong phát triển ứng dụng
- 9. Câu hỏi thường gặp về Block Height
- 10. Kết luận
Bài viết này sẽ giải thích chi tiết về khái niệm Block Height, cách nó được gán, vai trò của nó trong hoạt động của mạng lưới, sự khác biệt với Block Hash, và mối liên hệ với các sự kiện fork. Trước tiên, nếu bạn chưa nắm nền tảng, hãy đọc bài Blockchain là gì? và Block là gì?.
1. Block Height là gì? Định nghĩa theo cơ chế
Block Height (chiều cao khối) là số thứ tự của một khối trong blockchain, bắt đầu từ 0 cho khối đầu tiên (gọi là <a href=”/genesis-block-la-gi/”>Genesis Block</a>). Mỗi khối tiếp theo được gán một số cao hơn một đơn vị so với khối liền trước. Ví dụ, khối đầu tiên có height 0, khối thứ hai có height 1, khối thứ ba có height 2, và cứ thế tăng dần.
Về mặt kỹ thuật, Block Height không được lưu trực tiếp trong dữ liệu của khối. Thay vào đó, nó được tính toán dựa trên vị trí của khối trong chuỗi: nó chính là số lượng khối đứng trước khối đó. Khi một node nhận được một khối mới, nó có thể xác định Block Height bằng cách đếm số khối từ genesis đến khối đó. Vì mỗi khối (trừ genesis) tham chiếu đến hash của khối trước, nên việc xác định thứ tự và chiều cao là hoàn toàn khách quan và không thể làm giả.
Block Height là một con số nguyên dương (hoặc 0 cho genesis), dễ đọc và dễ sử dụng đối với con người. Trong khi Block Hash là một chuỗi ký tự hex phức tạp, thì Block Height giúp chúng ta dễ dàng nói “khối 700,000” thay vì phải nhớ một hash dài. Bạn có thể tìm hiểu thêm về cách khối liên kết với nhau trong bài Block là gì?.
2. Cách Block Height được gán và xác định
Quy trình gán Block Height diễn ra tự động trong mạng lưới:
-
Genesis Block: Đây là khối đầu tiên, được gán height = 0. Nó không có khối cha, và được mã hóa cứng trong phần mềm node.
-
Các khối tiếp theo: Khi một khối mới được tạo ra, nó tham chiếu đến hash của khối cha (khối liền trước). Node khi nhận khối này sẽ kiểm tra xem khối cha có tồn tại và hợp lệ hay không. Nếu khối cha có height là
n, thì khối mới sẽ có height làn + 1. -
Xác minh: Mỗi node tự tính toán Block Height dựa trên lịch sử chuỗi mà nó lưu trữ. Vì tất cả các node đều tuân theo cùng một quy tắc đồng thuận, nên chúng sẽ có cùng một Block Height cho cùng một khối (trừ trường hợp fork, sẽ nói ở phần sau).
Điều quan trọng: Block Height không phải là một trường trong header khối; nó chỉ là một số đếm vị trí. Điều này có nghĩa là ngay cả khi một kẻ tấn công cố gắng tạo ra một khối giả mạo và gán cho nó một height bất kỳ, các node khác sẽ kiểm tra xem khối đó có tham chiếu đúng đến khối cha hay không, và sẽ loại bỏ nếu không hợp lệ. Do đó, Block Height luôn phản ánh đúng thứ tự thực sự của khối trong chuỗi.
Bạn có thể xem thêm về cách node lưu trữ và xác thực trong bài Full Node là gì? và Light Node là gì?.
3. Vai trò của Block Height trong Blockchain
Block Height có nhiều vai trò quan trọng:

-
Định vị khối: Cho phép người dùng và ứng dụng xác định nhanh vị trí của một khối. Ví dụ, khi tra cứu giao dịch, bạn có thể biết giao dịch đó nằm trong khối có height bao nhiêu, từ đó dễ dàng tìm kiếm và xác minh.
-
Xác định thứ tự giao dịch: Vì các khối được sắp xếp theo height, nên thứ tự các giao dịch cũng được xác định. Giao dịch trong khối có height thấp hơn được coi là xảy ra trước.
-
Theo dõi tiến trình mạng: Số height hiện tại cho biết blockchain đã phát triển đến đâu. Nó là một chỉ số đơn giản để kiểm tra “độ dài” của chuỗi.
-
Đồng thuận và fork: Khi có hai khối cùng height (do fork), các node sẽ chọn khối thuộc chuỗi dài hơn (nhiều height hơn) làm chuỗi chính. Block Height giúp xác định chuỗi nào “dài hơn”.
-
Các mốc thời gian: Một số blockchain sử dụng Block Height để kích hoạt các sự kiện hoặc nâng cấp. Ví dụ, hard fork có thể được lên lịch tại một height cụ thể.
Bạn có thể thấy Block Height xuất hiện trong hầu hết các trình khám phá blockchain. Khi bạn xem thông tin một giao dịch, explorer thường hiển thị cả Block Height và Block Hash của khối chứa giao dịch đó. Xem thêm Block Explorer là gì?.
4. Block Height và Block Hash: Sự khác biệt
Nhiều người nhầm lẫn giữa Block Height và Block Hash. Dưới đây là so sánh chi tiết:
| Tiêu chí | Block Height | Block Hash |
|---|---|---|
| Định nghĩa | Số thứ tự của khối trong chuỗi, bắt đầu từ 0 | Mã băm mật mã duy nhất của header khối |
| Định dạng | Số nguyên | Chuỗi 64 ký tự hex |
| Tính duy nhất | Có thể trùng trong fork (hai khối cùng height) | Tuyệt đối duy nhất, không bao giờ trùng |
| Vai trò | Xác định vị trí, thứ tự | Liên kết mật mã, xác thực toàn vẹn |
| Thay đổi | Không thay đổi (khi chuỗi ổn định) | Không thay đổi (bất biến) |
| Tra cứu | Nhập số height vào explorer | Dán hash vào explorer |
Block Height giúp con người dễ dàng tham chiếu, trong khi Block Hash 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ể tìm hiểu thêm về Block Hash trong bài Block Hash là gì?.
5. Block Height trong các blockchain khác nhau
Mặc dù khái niệm Block Height là tương tự trên mọi blockchain, nhưng tốc độ tăng height phụ thuộc vào thời gian tạo khối:
-
Bitcoin: Thời gian tạo khối trung bình ~10 phút. Vì vậy, mỗi ngày có khoảng 144 khối mới, height tăng dần đều. Hiện tại, Bitcoin có height hơn 800,000.
-
Ethereum: Thời gian tạo khối ~12 giây (sau The Merge). Mỗi ngày có khoảng 7,200 khối, height tăng nhanh hơn nhiều so với Bitcoin.
-
Solana: Thời gian tạo khối rất nhanh (~400ms), height có thể tăng hàng trăm nghìn mỗi ngày.
-
BNB Smart Chain: Khoảng 3 giây/khối.
Dù tốc độ khác nhau, nguyên tắc gán height là giống nhau: mỗi khối mới tăng height lên 1. Bạn có thể xem thêm về các blockchain nền tảng trong bài Layer-1 Blockchain là gì?.
6. Mối liên hệ giữa Block Height và Fork
Fork là hiện tượng chuỗi tách thành hai nhánh. Khi đó, hai khối khác nhau có thể có cùng Block Height. Ví dụ, nếu hai miner cùng giải được bài toán PoW tại cùng một height, họ sẽ tạo ra hai khối cạnh tranh. Các node sẽ tạm thời chấp nhận cả hai, nhưng cuối cùng chuỗi dài hơn (có nhiều height hơn) sẽ thắng, và khối ở nhánh thua sẽ bị loại bỏ (gọi là orphaned block).
Trong trường hợp hard fork, sự phân tách là vĩnh viễn. Cả hai chuỗi đều tiếp tục phát triển với cùng một lịch sử cho đến điểm phân tách, nhưng sau đó chúng có các height tiếp theo độc lập. Ví dụ, sau fork Bitcoin Cash từ Bitcoin, cả hai chuỗi đều có block height 478559 (điểm fork), nhưng từ đó trở đi, height của chúng khác nhau vì các khối mới là khác nhau. Bạn có thể tìm hiểu thêm về fork trong bài Fork trong Blockchain là gì?.
7. Cách tra cứu Block Height
Việc tra cứu Block Height rất đơn giản với các trình khám phá blockchain:
-
Trên Blockchain.com Explorer, bạn có thể nhập số height vào ô tìm kiếm (ví dụ: 800000) để xem thông tin khối đó.
-
Trên Etherscan, bạn cũng có thể tìm kiếm theo height hoặc theo hash.
Khi xem một giao dịch, explorer sẽ hiển thị Block Height của khối chứa giao dịch, giúp bạn xác định vị trí. Bạn cũng có thể dùng các API RPC như eth_getBlockByNumber để lấy thông tin khối theo height. Xem thêm RPC là gì? và Blockchain API là gì?.
8. Tầm quan trọng của Block Height trong phát triển ứng dụng
Đối với nhà phát triển, Block Height rất hữu ích:

-
Đồng bộ dữ liệu: Các indexer và node có thể sử dụng Block Height để theo dõi tiến độ đồng bộ. Họ biết mình đã xử lý đến height bao nhiêu và còn bao nhiêu khối nữa.
-
Truy vấn lịch sử: Nhiều API cho phép truy vấn dữ liệu theo khoảng height, giúp lấy thông tin trong một phạm vi thời gian cụ thể.
-
Kích hoạt sự kiện: Hợp đồng thông minh có thể sử dụng Block Height để thực hiện các hành động theo lịch trình, như mở bán token sau một height nhất định.
-
Xác minh giao dịch: Khi một giao dịch có đủ số confirmations (số khối sau nó), người dùng có thể tính toán dựa trên Block Height hiện tại trừ đi height của khối chứa giao dịch.
Bạn có thể tìm hiểu thêm về cách giao dịch được xác nhận trong bài Transaction là gì?.
9. Câu hỏi thường gặp về Block Height
- Block Height có thể bị thay đổi không?
Trong điều kiện bình thường (không fork), Block Height là cố định và không thay đổi. Tuy nhiên, nếu xảy ra fork và một nhánh bị loại bỏ, các khối trong nhánh đó sẽ không còn được coi là một phần của chuỗi chính, và height của chúng trở nên không còn ý nghĩa trên chuỗi chính.
- Block Height có giống với số block không?
Đúng, Block Height chính là số thứ tự của block. Trong nhiều ngữ cảnh, người ta dùng “block number” thay cho “block height”.
- Làm thế nào để biết Block Height hiện tại của một blockchain?
Bạn có thể xem trên trang chủ của blockchain explorer, nơi thường hiển thị height mới nhất.
- Block Height có cần thiết cho bảo mật không?
Block Height giúp xác định thứ tự và độ dài chuỗi, hỗ trợ cho cơ chế đồng thuận (chọn chuỗi dài nhất), nhưng bảo mật thực sự đến từ Block Hash và cơ chế đồng thuận.
- Genesis Block có Block Height là bao nhiêu?
Genesis Block có Block Height = 0.
10. Kết luận
Block Height là gì? Đó là số thứ tự của một khối trong blockchain, bắt đầu từ 0 cho Genesis Block. Nó cung cấp một cách đơn giản và trực quan để xác định vị trí và thứ tự của các khối, bổ sung cho Block Hash vốn là định danh mật mã phức tạp. Hiểu rõ Block Height giúp bạn dễ dàng theo dõi blockchain, tra cứu giao dịch và nắm bắt cách mạng lưới phát triển.
Nguồn tham khảo:
Bitcoin Developer – Block Height | Ethereum.org – Blocks | Binance Academy – What is Block Height | Blockchain.com Explorer









