Problem

In general blockchain, every single node is required to replicate, validate, store and maintain the states of all users in entire network.

Solution

This paper present a idea to divide the blockchain into different asynchronous consensus zones (multi-instanitiation of independent blockchain systems). Partitioning workloads of the entire network, distribute to zones. Parallelize blovk creation and transaction handling since we have multi-independent blockchain. To achieve linear scalability as the entire network is divided into more zones.

Background

The system presented by this paper use Account/Balance transaction models and PoW. This paper uses the account/balance model due to its simplicity since a transaction with an arbitrary amount can be performed with one sending account and one receiving account. Another important benefit offered by the account/ballance model is allowing transactions to carry incremental updates of states, as oppose to the UTXO transactions that can only carry full states.

System Design

Handling a payment that involves two users from different zones example:

The withdraw operation ρ that only involves the state in zone A is handledby a miner in zone A. If the account balance satisfiesthe cost of this withdraw operation, the corresponding block t + 1 carrying the transaction (initiative transaction) will be created by the miner and only be appendedto the chain of zone A. After that, a relay transactioncarrying the deposit operation φ is composed in zone Aand forwarded to zone B. The deposit operation φ thatonly involves the state in zone B can always be executed,regardless of the balance of the target account in zone B.Once the relay transaction is picked up by another minerin zone B, operation φ will be executed, concluding thecomplete of the payment transaction.

Partitioning and Naming

The account of user is represented by its address(a fix-sized hash value of its public key). Uniformly partitioning the space of user address into 2 power to k zones: a zone is identified by its sharding scale k and zone index s.

The zone index of an initiative transaction is determined by the payer’s address, and the zone index of a relay transaction is determinated by the payee’s address.

In the system of paper, full nodes join swarms to broadcast new transactions and receive blocks from other full nodes. A swarm is a group of nodes that participate in the replication of the same data set. For example, in Bitcoin or Ethereum, there is only one swarm and every full node replicates the same dataset, including all blocks and transactions. In the system of paper, there is a global swarm which joined by all full nodes for replicating the minimum common information of all zones. the most communication occurs in zone-specific swarm with full nodes belonging to specific zones only. In each swarm, the participating full nodes are sparsely connected, and use the gossip protocol to broadcast message.

Isolated Intra-Zone Workload

A full node, or a miner, will have a persistent identifier that is initialized randomly. With address space partitioning, a blockchain is established within each zone independently. Only care about their own zone! They should ignore any blocks or transactions received that do not belong to their zone(although those are unlikely to be received).

Minimized Cross-Zone Overhead

In a blockchain system, most communication is for replicating unconfirmed transactions and for broadcasting new blocks carring confirmed ones. But since now we have isolated zones, so the most communication is performed only among nodes within the zone. Each node maintain a DHT to help them find the specific zone for their peers. After getting the zone index s of an unconfirmed transaction or a forwarding block, system selects out nodes having the same zone index as s based on the lcoal DHT routing table, and it sends the transaction and block to these nodes following the gossip protocol. This way help to minimized data for chain forming excluding actual confirmed transactions are replicated across all zones (what is the actual confirmed transactions?)

Contribustion

Contribution

Efficient Cross-Zone Atomicity

Chaining-block

  • a pointer to the precursor block

  • a PoW nonce

  • a Merkle tree root of the list of confirmed transactions

  • a Merkle tree root of the list of all relay transactions originated from initiative transactions in this block, which is used for the validation of relay transactions in other zones.

Dual-stage transaction handling mechanism

By deriving and forwarding a relay transaction that carries the deposit operation to its destination zone.

  • Transaction Validation and Forwarding at Zone A

    1. A miner pick up a unconfirmed transaction when they are constructing a new block.

    2. The initiative transaction is validated if the balance of a is less than the transfer amount, this transactin wil be marked as invalid, and be concluded and embedded in the block.

    3. Otherwise, a chaining-block and a transaction-block are constructed. Transaction-block has a list of validated transactions including the one from a to b.

    4. The miner work on the PoW puzzle specific to the list of all confirmed transactions.

    5. After the PoW puzzle is solved, the chaining-block is broadcast in the global swarm and the transaction-block is broadcast in a’s zone-specific swarm.

    6. When the other nodes wihtin this zone received the transaction-block, the intra-zone transactions are executed and concluded. The withdraw operation in all cross-zone transactions are then executed(on the other zones).

    7. Each cross-zone transaction derives an outbound relay transaction, which will be sent to the destination zone.

  • Relay Transaction Handling at Zone B

    1. An inbound relay transaction is picked up by a miner in payee b’s zone when constructing a new block.

    2. The miner verifies the inbound relay transaction against its originate block. Skip this if invalid.

    3. The miner constructed a new chaining-block and a new transaction-block including the inbound relay transaction.

    4. As same as before the chaining-block will be broadcast in global swarm and the transaction-block will be broadcast in b’s zone after the PoW puzzle is solved.

    5. The deposit operation is executed, concluding the transaction.

Verification

Let’s skip this part and regard it as a black box to use!!!

Eventual Atomicity

A payment transaction involving withdraw and deposit operations, should be atomic to ensure corrrectness of the global ledger!!!

RSCoin and OmniLedger use two-phase commit mechanism to ensure the atomicity, with the known lock/unlock overhead.

In this system, for a cross-zone trnsaction, allow the withdraw operation to execute first, then the the corresponding deposit operation to be settlled later. They call such an atomicity, eventual atomicity.

Their design ensures is that relay transactions will not be discriminated by sufficiently incentivizing with a fee split.

fee split: incentivize both miners working on initial step and relayed step of transaction handling

A rational miner prioritizes unconfirmed transactions based on the transaction fee. This paper introduce fee splitting for cross-zone transactions. The author recommend cross-zone transaction issuer set double or even triple the amount of transaction fees to make sure the relayed transactions can be prioritized with transaction fee after fee split.

We introduce fee splitting for cross-zone transactions,which incentivize both miners working on initial step andrelayed step of transaction handling so that relayed transactions will be equally prioritized with transaction feesat similar levels 最后一句陈述的意思是处于similar level(worklaod 类似)的initial step of transactions和relayed step of transactions能够平等地根据transaction fee来区分优先级。

In the existing blockchain system, a payment transaction will be visible to its payee once it is packed in ablock on the chain (first confirm). It will be secured aftern − 1 successive blocks appended (n-th confirm, n = 6in Bitcoin and 12 in Ethereum). In contrast, a crosszone payment transaction in our system will be visible to the payee, once its relay transaction is forwarded to thepayee’s zone, and its originate block becomes available.With the eventual atomicity, the transaction is consideredas eventually secured, once its initiative transaction gets n-confirmed, and the relay transaction gets a first confirm. (这一段是关于可见性的)

Fork Resolution

Let’s skip this part!!!

Mining Power Diluted with Multiple Zones

Skip this part now!

[1] nsdi19-wang-jiaping.pdf (usenix.org)

[2] Monoxide: Scale out Blockchains with Asynchronous Consensus Zones | USENIX