Archive Node là gì? Node lưu trữ lịch sử Blockchain

Trong mạng lưới blockchain, các node đóng vai trò lưu trữ và xác minh dữ liệu. Tùy theo mức độ lưu trữ và chức năng, node được chia thành nhiều loại: Light Node, Full Node và Archive Node. Mỗi loại phục vụ một mục đích khác nhau, và Archive Node là loại đầy đủ nhất, lưu giữ toàn bộ lịch sử trạng thái của blockchain từ khối genesis đến hiện tại.

Archive Node
Archive Node

Vậy Archive Node là gì? Nó khác gì so với Full Node thông thường? Tại sao một số ứng dụng cần đến Archive Node, và những thách thức khi vận hành chúng là gì? Bài viết này sẽ giải đáp chi tiết về cơ chế hoạt động, đặc điểm, ứng dụng và yêu cầu của Archive Node. 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à Blockchain Node là gì?.


1. Archive Node là gì? Định nghĩa theo cơ chế

Archive Node (node lưu trữ) là một loại node blockchain đặc biệt, lưu trữ toàn bộ lịch sử của blockchain, bao gồm không chỉ dữ liệu giao dịch và khối như Full Node, mà còn tất cả các trạng thái trung gian (intermediate states) của từng khối. Điều này có nghĩa là Archive Node không chỉ biết trạng thái hiện tại của blockchain, mà còn có thể truy vấn trạng thái của blockchain tại bất kỳ thời điểm nào trong quá khứ.

Ví dụ, với một Full Node thông thường, bạn có thể biết số dư hiện tại của một địa chỉ. Nhưng với Archive Node, bạn có thể biết số dư của địa chỉ đó tại khối 5.000.000 hoặc tại ngày 1 tháng 1 năm 2021. Điều này cực kỳ hữu ích cho các ứng dụng phân tích, kiểm toán và truy vết lịch sử.

Về mặt kỹ thuật, trong khi Full Node chỉ lưu trữ trạng thái mới nhất (state trie hiện tại) và có thể prune (cắt tỉa) các dữ liệu trung gian để tiết kiệm dung lượng, thì Archive Node lưu giữ toàn bộ các phiên bản trạng thái qua từng khối. Do đó, Archive Node có dung lượng lưu trữ lớn hơn rất nhiều so với Full Node.

Bạn có thể tìm hiểu thêm về các loại node khác trong bài Full Node là gì? và Light Node là gì?.


2. Sự khác biệt giữa Archive Node và Full Node

Nhiều người nhầm lẫn giữa Archive Node và Full Node. Dưới đây là so sánh chi tiết:

Tiêu chí Full Node Archive Node
Lưu trữ khối Toàn bộ lịch sử khối (block history) Toàn bộ lịch sử khối
Lưu trữ giao dịch Toàn bộ giao dịch Toàn bộ giao dịch
Lưu trữ trạng thái Chỉ trạng thái hiện tại (current state) Tất cả trạng thái trung gian của từng khối
Khả năng truy vấn quá khứ Không thể truy vấn trạng thái tại thời điểm quá khứ Có thể truy vấn trạng thái tại bất kỳ block nào
Dung lượng lưu trữ Lớn (vài trăm GB đến hơn 1 TB) Rất lớn (nhiều TB, tùy blockchain)
Mục đích sử dụng Xác thực giao dịch, chạy node, ví Phân tích dữ liệu, truy vết lịch sử, phục vụ RPC
Ví dụ Bitcoin Core (pruned), Geth (default) Geth (–syncmode=archive), Erigon (archive)

Full Node vẫn lưu trữ toàn bộ các khối và giao dịch, nhưng nó không lưu trữ tất cả các phiên bản trạng thái. Ví dụ, nếu một địa chỉ có số dư thay đổi qua 100 giao dịch, Full Node chỉ lưu số dư cuối cùng, còn Archive Node lưu số dư sau mỗi giao dịch. Điều này cho phép Archive Node tái tạo bất kỳ thời điểm nào.


3. Cách hoạt động của Archive Node

Archive Node hoạt động dựa trên việc không prune dữ liệu trạng thái. Hãy xem quy trình cụ thể trên Ethereum (sử dụng Geth hoặc Erigon):

Hoạt động của Archive Node
Hoạt động của Archive Node
  • Khi một khối mới được xử lý, Full Node sẽ cập nhật state trie (cây trạng thái) lên phiên bản mới và có thể xóa bỏ các node cũ trong cây để tiết kiệm dung lượng (quá trình pruning).

  • Archive Node không thực hiện pruning. Thay vào đó, nó lưu giữ mọi phiên bản của state trie cho từng khối. Điều này có nghĩa là nó lưu trữ một “bản chụp” (snapshot) trạng thái sau mỗi khối.

  • Khi có một yêu cầu truy vấn như “số dư của địa chỉ X tại khối N”, Archive Node sẽ tìm đến state trie tương ứng với khối N và trả về kết quả.

Nhờ vậy, Archive Node có thể phục vụ các truy vấn lịch sử mà Full Node không thể làm được. Điều này rất quan trọng cho các ứng dụng như:

  • Block Explorer: Để hiển thị lịch sử giao dịch chi tiết và trạng thái tại các thời điểm.

  • Indexer: Để lập chỉ mục dữ liệu từ quá khứ một cách chính xác.

  • Công cụ phân tích on-chain: Để truy vết dòng tiền, tính toán số dư lịch sử.

Bạn có thể tìm hiểu thêm về cách dữ liệu được lưu trữ trong bài Blockchain Data là gì?.


4. Ứng dụng của Archive Node

Archive Node có nhiều ứng dụng quan trọng:

  • Block Explorer: Các trình khám phá như Etherscan, Blockchain.com cần Archive Node để cung cấp dữ liệu lịch sử đầy đủ cho người dùng. Ví dụ, khi bạn xem số dư của một địa chỉ tại một thời điểm cụ thể, explorer phải dùng Archive Node.

  • Phân tích on-chain chuyên sâu: Các công ty phân tích như Chainalysis, Glassnode sử dụng Archive Node để truy vết dòng tiền, phát hiện rửa tiền, và nghiên cứu hành vi người dùng.

  • Kiểm toán và tuân thủ: Để kiểm tra xem một giao dịch có thực sự xảy ra tại một thời điểm nào đó, hoặc số dư của một tổ chức tại một ngày cụ thể, cần có Archive Node.

  • Phục vụ RPC endpoint: Một số dịch vụ RPC (như Alchemy Archive) cung cấp truy cập vào Archive Node để nhà phát triển có thể truy vấn dữ liệu lịch sử qua API.

  • Debug và phát triển: Nhà phát triển hợp đồng thông minh có thể dùng Archive Node để kiểm tra trạng thái của hợp đồng tại các thời điểm trước khi xảy ra lỗi.

Nhìn chung, Archive Node là cơ sở hạ tầng thiết yếu cho các ứng dụng cần dữ liệu lịch sử đầy đủ và chính xác. Bạn có thể xem thêm về cách dữ liệu được truy vấn trong bài Blockchain Indexer là gì? và RPC là gì?.


5. Yêu cầu phần cứng để chạy Archive Node

Do lưu trữ toàn bộ trạng thái lịch sử, Archive Node đòi hỏi phần cứng rất mạnh mẽ và dung lượng lưu trữ khổng lồ. Dưới đây là ví dụ cho Ethereum và Bitcoin:

Ethereum Archive Node

Theo thời gian, yêu cầu lưu trữ của Ethereum Archive Node đã tăng lên rất nhiều. Hiện tại (2024), một Ethereum Archive Node cần:

  • CPU: 4-8 cores (tùy client)

  • RAM: 32-64 GB

  • Ổ cứng: NVMe SSD từ 6 TB đến hơn 12 TB (tùy client và mức độ tăng trưởng). Đây là con số khổng lồ so với Full Node chỉ cần khoảng 1-2 TB.

  • Kết nối Internet: Băng thông ổn định, upload ≥ 25 Mbps.

Client phổ biến cho Archive Node Ethereum là Geth (với flag --syncmode=archive) hoặc Erigon (nhẹ hơn, có thể archive với dung lượng thấp hơn Geth). Bạn có thể xem chi tiết tại Ethereum.org – Nodes and Clients.

Bitcoin Archive Node

Bitcoin không có khái niệm “trạng thái” phức tạp như Ethereum; dữ liệu chính là UTXO Set và blockchain. Một Bitcoin Full Node lưu toàn bộ blockchain (khoảng 600 GB) và UTXO Set (vài GB). Để trở thành “archive node” theo nghĩa lưu toàn bộ lịch sử mà không prune, bạn chỉ cần chạy Bitcoin Core với cấu hình mặc định (không bật pruning). Yêu cầu:

  • CPU: 2-4 cores

  • RAM: 8-16 GB

  • Ổ cứng: SSD từ 1 TB trở lên (blockchain Bitcoin tăng trưởng ~60 GB/năm)

Như vậy, Archive Node cho Bitcoin đơn giản hơn nhiều so với Ethereum vì mô hình UTXO không có “state trie” phức tạp. Bạn có thể xem thêm trong bài UTXO là gì?.


6. Lợi ích của Archive Node

  • Truy cập dữ liệu lịch sử đầy đủ: Có thể truy vấn bất kỳ trạng thái nào tại bất kỳ thời điểm nào, phục vụ phân tích và kiểm toán.

  • Độ chính xác cao: Không có dữ liệu bị prune, đảm bảo thông tin lịch sử đầy đủ.

  • Hỗ trợ các ứng dụng phức tạp: Là nền tảng cho block explorer, indexer, công cụ phân tích.

  • Khả năng phục vụ RPC mạnh mẽ: Cung cấp API cho nhiều nhà phát triển truy cập dữ liệu lịch sử.

  • Tính minh bạch: Giúp bất kỳ ai cũng có thể xác minh toàn bộ lịch sử của blockchain.


7. Thách thức khi vận hành Archive Node

  • Chi phí lưu trữ rất cao: Dung lượng lưu trữ lên đến hàng chục TB, chi phí ổ cứng và bảo trì lớn.

  • Yêu cầu phần cứng mạnh: CPU, RAM và băng thông đều phải đáp ứng.

  • Thời gian đồng bộ lâu: Việc tải về và xử lý toàn bộ lịch sử có thể mất nhiều ngày hoặc thậm chí nhiều tuần.

  • Khó duy trì: Dữ liệu tăng trưởng liên tục, cần nâng cấp ổ cứng thường xuyên.

  • Tập trung hóa: Do chi phí cao, ít người có thể vận hành Archive Node, dẫn đến sự phụ thuộc vào một số ít nhà cung cấp dịch vụ (như Alchemy, Infura).

Đây là lý do tại sao hầu hết người dùng cá nhân không chạy Archive Node, mà thay vào đó sử dụng các dịch vụ Archive Node từ bên thứ ba.


8. So sánh Archive Node với Light Node và Full Node

Tiêu chí Light Node Full Node Archive Node
Lưu trữ khối Chỉ header Toàn bộ khối Toàn bộ khối
Lưu trữ trạng thái Không Chỉ trạng thái hiện tại Toàn bộ trạng thái lịch sử
Khả năng truy vấn quá khứ Không Không (chỉ hiện tại) Có
Dung lượng Nhỏ (vài trăm MB) Lớn (vài trăm GB đến 1-2 TB) Rất lớn (nhiều TB)
Yêu cầu phần cứng Rất thấp Trung bình Rất cao
Ứng dụng Ví di động Xác thực, chạy dApp Phân tích, explorer, indexer

Bạn có thể tìm hiểu thêm về Light Node trong bài Light Node là gì? và Full Node trong Full Node là gì?.


9. Câu hỏi thường gặp về Archive Node

  • Archive Node có cần thiết cho mọi blockchain không?

Không. Một số blockchain có mô hình dữ liệu đơn giản (như Bitcoin) có thể chạy full node mà không cần archive vì không có trạng thái phức tạp. Với các blockchain có smart contract và state trie (như Ethereum), archive node mới thực sự quan trọng cho các truy vấn lịch sử.

  • Tôi có thể tự chạy Archive Node không?

Có thể, nhưng bạn cần đầu tư phần cứng rất lớn, đặc biệt là ổ cứng NVMe dung lượng cao. Nếu chỉ để sử dụng cá nhân, không nên tự chạy vì chi phí quá cao.

  • Archive Node có nhận được phần thưởng không?

Thông thường, Archive Node không trực tiếp nhận phần thưởng như validator hay miner. Nó chỉ là cơ sở hạ tầng để phục vụ dữ liệu. Tuy nhiên, các dịch vụ cung cấp Archive Node có thể thu phí từ người dùng.

  • Làm thế nào để truy cập Archive Node mà không cần tự chạy?

Bạn có thể sử dụng các dịch vụ như Alchemy, Infura, QuickNode, họ có các endpoint Archive Node mà bạn có thể gọi qua RPC.

  • Archive Node có khác gì so với Full Node trong việc xác thực giao dịch?

Về cơ bản, cả hai đều có thể xác thực giao dịch. Archive Node lưu thêm dữ liệu lịch sử, còn Full Node chỉ lưu trạng thái hiện tại. Do đó, Archive Node cũng có thể làm mọi việc mà Full Node làm, cộng thêm khả năng truy vấn quá khứ.


10. Kết luận

Archive Node là gì? Đó là loại node lưu trữ toàn bộ lịch sử trạng thái của blockchain, cho phép truy vấn dữ liệu tại bất kỳ thời điểm nào trong quá khứ. Nó khác biệt với Full Node ở chỗ Full Node chỉ giữ trạng thái hiện tại. Archive Node là nền tảng quan trọng cho các ứng dụng phân tích, block explorer và dịch vụ RPC lịch sử. Tuy nhiên, do yêu cầu phần cứng và chi phí lưu trữ rất cao, Archive Node thường được vận hành bởi các tổ chức chuyên nghiệp thay vì cá nhân.


Nguồn tham khảo:
Ethereum.org – Nodes and Clients | Bitcoin.org – Full Node

Chia sẻ bài viết:

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