ISAAC+ is a consensus protocol modified from PBFT(Practical Byzantine Fault Tolerance) and guarantees finality of blocks along with Liveness and Safety within the restricted Fault Tolerance.

Features

  • Compensate liveness of PBFT model and maintain decentralized network by automatically withdrawing and entering nodes from Consensus Nodes that meet certain conditions.

  • Increase processing capability by letting Suffrage Group focus only on consensus and model data processing.

  • Introduce Non-Consensus Node Group and energize community.

Phases of Consensus Protocol

ISAAC+ is an improved version of the previous consensus protocol, ISAAC.

The consensus phase of previous consensus protocol, ISAAC is 4 phases: Init - Sign - Accept - All Confirmand is similar to the 4 phases of PBFT. ISAAC was named after the first letter of each phase I-S-A-AC.Currently, ISAAC+ consists of 3 phases: Init - Sign - Accept.

Init Phase

  • All nodes(Suffrage Group) that participate in consensus verify the agreement on the block created from the previous Round and send the result to Suffrage Group in a ballot.
  • If an agreement is not reached, the next Round of Init phase will be started again and the voting will be proceeded once more.
  • If the agreement is successfuly made, the block generated from the previous round will be recorded on the blockchain and a new round will begin. The Suffrage Group records the agreed block on blockchain before entering the Sign phase.

Sign Phase

  • Using Random function, select the Proposer and Acting Suffrage Group member that will propose block creating for this round.
  • Acting Suffrage Group verify Proposer's Proposal and sends the result to the entire Suffrage Group. Even if the agreement in Sign phase among Acting Suffrage Group is not successful, enter the Init phase if the agreement is successful at the Accept phase based on what the Acting Suffrage Group sent to the Suffrage Group.

Accept Phase

  • Enter into the next round of Init phase if the agreement in Accept phase is successful based on the information sent from Acting Suffrage Group to Suffrage Group.

Node Structure

ISAAC+ divides Consensus Nodes into Suffrage and Acting Suffrage Group,and selects new leader for each new block-building process(Round).

Non-Consensus Node Group:
  • A group that is comprised of ordinary people with node operating level of technical knowledge. 
  • Responsible for backing up agreed blocks and providing data when there is an external data lookup request.
Suffrage Group:
  • Node groups with a certain level of processing power and reliable network bandwidth.
  • Participate in consensus at a certain point and contribute to block creation.
Acting Suffrage Group:
  • The group that is selected from Suffrage Group randomly each time the Round changes.
  • One of the members of the group becomes a Proposer and sends a message to the rest of the nodes.