Kiến trúc tổng quan
Mục đích
HieraChain dùng kiến trúc phân cấp. Main Chain là gốc và chỉ giữ proof từ Sub-Chain. Sub-Chain xử lý dữ liệu nghiệp vụ (event) theo từng domain. Phần này mô tả từng thành phần làm gì và các luồng chính vận hành thế nào.
Kiến trúc & khái niệm
graph BT
Main[Main Chain - Giám sát viên]
subgraph SubChains [Các Sub-Chain Domain]
SC_A[Sub-Chain A - Domain A]
SC_B[Sub-Chain B - Domain B]
SC_C[Sub-Chain C - Domain C]
end
SC_A -->|Gửi Proof| Main
SC_B -->|Gửi Proof| Main
SC_C -->|Gửi Proof| Main
- Sub-Chain ghi nhận event theo domain, sắp xếp thành block và giữ world state riêng.
- Main Chain không giữ dữ liệu domain chi tiết. Nó chỉ giữ proof mật mã để bảo đảm tính toàn vẹn toàn hệ thống.
- HierarchyManager lo việc tạo và đăng ký Sub-Chain, gửi proof và các tác vụ đa chuỗi khác.
Thành phần chính
hierachain/hierarchical/main_chain/base.pylà Main Chain. Nó lưu và xác minh proof từ Sub-Chain và tổng hợp báo cáo toàn vẹn.hierachain/hierarchical/sub_chain/base.pylà Sub-Chain. Nó ghi nhận event theo domain, sắp xếp thành block, tạo proof và gửi lên Main Chain.hierachain/hierarchical/hierarchy_manager/base.pylà HierarchyManager. Nó điều phối hệ thống đa chuỗi, quản lý vòng đời Sub-Chain, gửi proof tự động và kiểm tra tính nhất quán liên chuỗi.hierachain/api/storage/ipfs_client.pylà lưu trữ IPFS off-chain. Nó giữ dữ liệu nghiệp vụ lớn hoặc nhạy cảm ngoài chuỗi và chỉ neo CID trên blockchain.hierachain/consensus/ordering/service.pylà Ordering Service. Nó sắp xếp event trước khi tạo block và được Sub-Chain khởi tạo.
Luồng tiêu biểu
sequenceDiagram
participant Event as Event Source
participant Sub as Sub-Chain
participant Order as Ordering Service
participant Main as Main Chain
Event->>Sub: Ghi nhận sự kiện (add_event)
Sub->>Order: Sắp xếp sự kiện
Order-->>Sub: Sự kiện đã sắp xếp
Sub->>Sub: Đóng gói Block (finalize_block)
Sub->>Main: Gửi Proof (submit_proof_to_main)
Main->>Main: Xác minh & Lưu Proof
Main-->>Sub: Acknowledge
- Ghi event và tạo block trên Sub-Chain.
SubChain.add_event()nhận event và đưa qua khâu sắp xếp nội bộ. Event được gom thành block vàfinalize_block()chạy khi đủ điều kiện. - Gửi proof lên Main Chain.
SubChain.submit_proof_to_main()tạo proof từ Merkle root hoặc block hash và gọiMainChain.add_proof()để neo lại. - Báo cáo toàn cục. Main Chain tổng hợp kết quả từ
get_main_chain_stats()và thống kê theo từng Sub-Chain. - Điều phối hệ thống.
HierarchyManagerxử lý gửi proof định kỳ bằngconfigure_auto_proof_submission, đồng bộ và kiểm tra tính nhất quán liên chuỗi.
Liên quan
- Bắt đầu nhanh: Bắt đầu nhanh
- Thuật ngữ: Thuật ngữ
- Mô-đun cốt lõi: Core