What is consensus and how is it handled at Data Gumbo?

In a distributed ledger context, reaching consensus across participants means guaranteeing that each participant has the exact same copy of all transactions at all times.

What is Consensus?

In a distributed ledger context, reaching consensus across participants means guaranteeing that each participant has the exact same copy of any given block or transaction. Additionally, since each block is cryptographically linked to the previous set of blocks, once consensus is reached, a given block may not be edited locally in any way without immediately disrupting the function of the ledger.

How Does GumboNet Handle This?

Much has been debated about consensus mechanisms in the world of public, cryptocurrency-driven blockchains. Very little of that is relevant to Data Gumbo, as GumboNet makes no use of cryptocurrencies or tokens.

GumboNet is a platform for the creation of private, permissioned ledgers. All nodes and users are tied to specific, known companies. Companies create ledgers for particular purposes and invite their vendors, customers, and partners onto those ledgers to run smart contracts tied to real-world business activities. As such, there is a) no need or desire for anonymity and b) a strong desire for business privacy around prices, volumes, and terms.

As a result, companies create ledgers for a particular project or operational area in which they wish to be a party to all smart contracts but do not want their vendors or customers to be a party to every smart contract. Think of an oil company drilling a series of wells; they may have 10-20 vendors and want to keep all information accessible from the buyers' standpoint on a single ledger for financial reporting and record-keeping. They also don’t want any of their vendors to see other vendors’ smart contract inputs or outputs. As a result, GumboNet does not enable every node to run the logic of every smart contract in order to reach a consensus.

Technical Peers, Role-based Execution

Each company’s nodes are technical peers. However, based on the role they are playing in the ledger and smart contract, services that run in GumboNet will apply differently. In general, the company that creates the ledger is treated as the host of the ledger and is responsible for the administration of the smart contract. Their corporate node will control the provisioning of the ledger and smart contracts upon that ledger.

In GumboNet, by default, the smart contract services run the smart contract once a contract is in place and publish the block candidates to the other nodes. It then hashes the contents to ensure each received the exact same blocks and reports back that they matched. Then the blocks are committed. There is no need for each node to run the smart contract independently. It is possible upon request to have multiple parties run the smart contract. However, since GumboNet will be executing both runtimes using the same code and same inputs it is computationally wasteful.

In essence, this is a Proof of Authority + 100% consensus model, where whichever company is the host of the ledger serves as the Authority.

In essence, this is a Proof of Authority + 100% consensus model, where whichever company is the host of the ledger serves as the Authority.

 

Blockchain Improvements Consens Article

Because all the nodes are physical peers, the same company that is a host in one digital ledger could be an invited peer in another. In the smart contract context, any given company could be a buyer, seller, partner, or regulator. The role a company plays in any given digital ledger and smart contract parallels its real-world contracting status.