FlexChain An Elastic Disaggregated Blockchain

Posted on December 26, 2022   2 minute read ∼ Filed in  : 

Questions

Introduction

Background & Motivation

Blockchain as a service (BaaS) requires compute-intensive or memory-intensive smart contracts at different times. Autoscaling can increase the throughput but cannot improve the resource utilization of each component, E,g.

  • Compute-intensive: AI-driven blockchains, Blockchain safeguards the integrity of the data.

Resource disaggregation is the recent trend where resources are reorganized from servers to physically distinct pools that are dedicated to processing, memory, or storage; those are connected to a fast network such as RDMA.

It has benefits:

  • Independent scalability. (Upgrade and expand each resource independently.)
  • Efficient resource utilization.

Challenge

Achieving memory and compute elasticity.

  • Memory: read/write and buffer eviction need careful design.
  • Sequential conflict checks and world state updates in the validation stage require concurrency control.

Gap

Existing BaaS need to achieve high resource efficiency.

Goal

This paper proposes a disaggregated permissioned blockchain service.

Key Insights:

  • XOV (simulation and validation) in Hyperledger Fabric is naturally disaggregation and can be parallelizable.
  • Blockchain state resides in the KV store and thus can be stored in a remote memory pool.

Contributions:

  • Redesign Blockchain in disaggregated architecture.
  • Designed a tiered KV stored
  • Designed dependency-graph-based concurrency control.

Measure:

  • Resource utilization with minimal performance overhead.

Technique details

image-20221227134822469

Comparison

Traditional XOV blockchain:

  • Each peer updates the local copy without synchronization with others.
  • Store local data (intermediate results) in the main memory, while user data is stored in the KV store.
  • Ordering service nodes (OSN) are used to establish consensus.

FlexChain:

  • Pear disaggregation:
    • Each pear runs in multiple nodes with disaggregated compute, memory, and storage nodes.
  • Uses 3-tier storage instead of simple one KV storage.
  • Tmp data => local memory,

Architecture

LoadBalancer

Compute Pool: perform smart contract(X), endorsement policy evaluation (v1), conflict check (v2), and world state update (v3)

Memory Pool: storing each peer’s own copy of the world state.

Storage Pool: store blockchain ledger and world state evicted from the Memory pool

Order service nodes: dependency graph for each block.

Process

Disaggregated Word State

image-20230126161426697





END OF POST




Tags Cloud


Categories Cloud




It's the niceties that make the difference fate gives us the hand, and we play the cards.