8
Min Read

Understanding Block Signer vs Non-Signer Nodes

Understanding Block Signer vs Non-Signer Nodes
Update
Since this post was written, Hyperledger FireFly has reached 1.0. Learn more here!

Permissioned blockchains in ethereum use consensus algorithms that involve a decentralized set of Block Signer nodes to form a chain and propose blocks. The proposed blocks are finalized after a certain majority of the Block Signer nodes accept the proposer’s block (the number of votes needed to finalize a block proposal depends on the consensus algorithm).

Ethereum blockchains are initialized with a Genesis Block that has an initial list of authorized nodes called Signers in Clique/POA consensus and Validators in IBFT consensus. In the Kaleido console, we use the term Signer to refer to either of these types for consistency. We’ve got an excellent overview of the different consensus algorithms here.

From that point on, the list of Signer nodes can be modified by the current set of Signers. Adding a new node to the Signers group or removing an existing node from the group can be accomplished by Signers casting  votes in newer blocks (the number of votes needed to carry out the addition/removal depends on the consensus algorithm). Each block is signed by the node producing the block so that every other node in the chain which receives the block is able to validate that the block is produced from an authorized participant. Hence the list of Signers can change over time and nodes maintain a dynamic list of Signers.

Nodes in a Kaleido environment with certain consensus algorithms (Geth/POA, Quorum/IBFT, Besu/POA, Besu/IBFT) can be created as a Signer or Non-Signer. Kaleido environments also contain a System Monitor node that is a participant in the chain and is created as a Signer. The System monitor is the blockchain access point for platform features such as the Data explorer.

In release 1.0.28, we introduced the ability for customers to change the status of a node from a Signer to Non-Signer (and vice-versa). To change a node from one to the other, click on the node you want to modify and click on the following in the left navigation bar:

Node -> Settings -> Change To Non-Signer (or Signer)
Click Apply on the dialog box.

Changing blockchain Ethereum nodes instruction

Customers also have the ability to change the status of the System Monitor node to a Non-Signer. To change a System Monitor from Signer to Non-Signer, or vice versa, click on the following in the left navigation bar:

Manage Resources -> Blockchain -> Dashboard

Click Change next to the System Monitor node’s Consensus Role and click Apply on the dialog box.

Changing blockchain Ethereum nodes instruction


On the dialog box, Click on the Apply button. Kaleido orchestrates actions on all existing Signer nodes in the environment to cast a Vote to Add/Remove the node as a Signer. Note that any proposer can include one vote per block (the rest of the votes are captured in a pending list which is then processed in subsequent blocks). Hence Adding/Removing multiple nodes as Signers can take some time to propagate and resolve.

Governance

The decentralization model in Kaleido allows creation of a Network (Consortia) as Centralized or Decentralized. The ability to change a node’s Signer status is governed by the following rules:

  • In a Decentralized Consortia, a member (organization) must have been granted the Manage Environments permission in order for a user in the membership to change the Signer status of System Monitor node.
  • In a Decentralized Consortia, a member (organization) must have been granted the Create Signers permission in order for a node in the membership to be changed to a Signer. This restriction does not apply if all nodes excluding System Monitor in the environment belong to the same membership.
  • Billing plans may contain an upper limit on the number of Signer nodes in an environment and the total number of Signer nodes in the environment cannot exceed the limit.
  • Each consensus algorithm has a minimum number of Signer nodes that are required to ensure reliable operation and smooth functioning of the environment during an Upgrade, Pause/Resume of the environment etc. Changing nodes to Non-Signers that results in the number of Signer nodes falling below the threshold is not allowed.

References

  1. IBFT Consensus Algorithm
  2. Clique POA Consensus Algorithm
  3. Consensus Algorithms
  4. Decentralization and Governance
  5. Minimum number of Signer nodes

Interested in Blockchain?

Start learning blockchain and creating enterprise solutions today with a free Kaleido account!

Create Free Account
Don't forget to share this article!
Interested in Blockchain?

Start learning blockchain and creating enterprise solutions today with a free Kaleido account!

Create Free Account

Related Posts

Comparing Hyperledger Fabric and Hyperledger Besu: A Deep Dive

Powerhouse Enterprise Protocols: A Comparison of Hyperledger Fabric vs Hyperledger Besu

How to Manage Digital Asset with Our Next-Gen Asset Manager Service

Asset Manager Service: A Next-Gen Engine for Managing Digital Asset & Tokenization Projects

Marc Lewis
Managing Editor
Kaleido Q1 Product Update: Next-Gen Tooling for the Reality of Complex Real World Assets

Kaleido Q1 Product Update: Next-Gen Tooling for the Reality of Complex Real World Assets

Steve Cerveny
Founder & CEO

Blockchain made radically simple for the enterprise

No Credit Card Required
ISO27K & SOC2 Type 2 Compliant
Free Training & Support