DFINITY — Scalability through Randomness & Governance through AI

Renjith Nattuvally
5 min readJul 14, 2018

--

Third generation blockchain networks will be the ones that address two basic issues — Scalability and Governance.

Ever since its inception, blockchain has been perceived as a revolutionary technology, sparking massive commercial interest worldwide from the likes of financial markets, cloud storage, IOT and many other applications. Yet, there are major headwinds to the commercial adoption of blockchain networks. One of them is privacy and my previous article was about a novel solution to preserve privacy on the Ethereum network. Evidently, the more serious problem is scalability. The issue of scalability with all popular public blockchains can be attributed to their respective consensus algorithms, all of whom, currently have a common requirement — that every node participant in the network should process every transaction. Hence most experts agree, the key to scaling a blockchain is to reduce the number of confirmations required to a small constant without compromising the security.

Just like scalability, another pressing problem with existing blockchains is governance. One could argue that issues like privacy & scalability are best approached by using a proper, inclusive governance system. The DAO hack of Ethereum was one of the most unpleasant events of 2016. Eventhough the damage was undone by a hard-fork, Ethereum network’s original impetus on the “Code is law” was under question with the community splitting into two. While several conclusions can be drawn based on such events, one thing is pretty clear — For a public blockchain to be successful, there is a great need to build an on-chain governance system able to do away with contentious hard forks and off-chain coordinations.

Enter DFINITY, a decentralised blockchain network with unlimited capacity and algorithmic governance. Like I said earlier, if a blockchain network wants to achieve greater scalability, it needs to reduce the number of participating nodes for consensus. DFINITY aims to achieve this is by having an irefutable and unmanipulable source of randomness provided by a decentralized random beacon, based on the Threshold Relay technique.

“We soon realized that the key to scalability lay in having an unmanipulable source of randomness available”

Timo Hanke

The Threshold Relay relies on the existence of the unique-deterministic BLS threshold signatures scheme (short for Boneh, Lynn, and Shacham). Some of the unique characteristics of BLS are;

  • It’s a short signature scheme
  • Can be set up using a Distributed Key Generation protocol , hence makes it suitable for use in a decentralised setup.
  • Supports aggregation i.e it is possible to aggregate multiple signatures into a single short signature, as described here.

In Dfinity, a threshold group consists of randomly selected group or a commitee of 400 nodes. A secure Distributed Key Generation protocol (DKG) will be used to generate the individual key shares across different nodes, as well as the group public key. A block broadcasted by any one of the nodes will be signed by all participants with their respective key shares. DFINITY, here, introduces a technique known as block notarization. A notarization is a 32-byte BLS threshold signature under a block created jointly by the nodes and would require a threshold of 201 members out of the 400. This signature will also be used to select the next group or commitee. Since activity is relayed from one group to the next, the mechanism is referred to as a threshold relay. Note that this notarization only involves group members (400 nos) broadcasting their signature shares which dramatically improves the time to finality.

It is important to note that notarization does not equate to consensus/transaction finality. This is because, it is possible for more than one block to get notarized at a given height due to adverse timing. In this event, the probabilistic slot protocol (PSP) will evaluate the weights of the different chain replicas and decide which chain is valid moving forward.

With the threshold relay, It should be noted that DFINITY consensus algorithm favors consistency over availability.

Threshold Relay

DFINITY’s pursuit of on-chain governance will be achieved by means of a novel decentralized decision-making system called the Blockchain Nervous System (BNS). The BNS will enable the network to be fully adaptive and run arbitrary code to reverse adverse situations such as the DAO hack.

“Decentralized networks need ways to mitigate such thefts without involving human intermediaries such as foundations, committees, mining conglomerates or other forms of direct human control that are antithetical and inimicable to the value of public blockchain networks”

Dominic Williams

BNS is an intelligent system that will accept proposals from different stakeholders and then decides on these proposals using votes made by human-controlled neurons. Every, interaction with the neuron is a learning experience for the BNS and it will continuosly learn and adapt to make better decisions. Note that the proposals may concern different matters such as Economics, Policy, Protocol Upgrades, Client Upgrades, Fixup or Freeze Resident etc but ultimately the system will follow a democratic voting process and decision making. The following is an illustration of how the BNS works.

Blockchain Nervous System

The cryptocurrency native to the network is called dfinities or DFN. DFNs, apart from the fact that they power the transactions on the network, will also be used to create;

  • Mining identities by staking deposits
  • Neurons by staking deposits

Dfinity network will implement a phased rollout with releases called Copper, Zinc, Tungsten, Titanium, Lithium. The Copper release that comes first, will include the Threshold Relay and BNS implementations.

Interoperable, Open Source & Non-Maximalistic

DFINITY aims to create a convenient ecosystem for developers to build decentralised apps without burdening themselves with complex cryptographic concepts under the hood. Since it uses a WebAssembly virtual machine, multiple languages can be used for programming smart contracts and dapps. Here is a list of languages that can be compiled in WASM.

DFINITY is conceived as a sister network for Ethereum. Compatibility with the EVM (Ethereum Virtual Machine) ensures that the Dapp build on top of the Ethereum network should work on Dfinity.

Most of Dfinity’s code is open source, which means that some of the unique features of the network can be ported back into Ethereum.

Team

DFINITY team is composed of illustrious computer scientists with extensive expertise in the fields of cryptography, programming languages/compilers, machine learning etc, many of whom have a great track record building complex systems. The key people include Chief Scientist Dominic Williams, Head of Engineering Timo Hanke familiar to many as the creator of AsicBoost, and Andreas Rossberg who co-created WebAssembly at Google. The Full team can be found here

More

Follow dfinity-network on Medium

Dfinity Website

Dfinity Twitter

Dfinity Sub-Reddit

Sources

DFINITY Consensus White Paper

The DFINITY “Blockchain Nervous System” by Dominic Williams

Blockchain Governance: Programming Our Future by Fred Ehrsam

Blockchains don’t scale. Not today, at least. But there’s hope. by Preethi Kasireddy

--

--