SBA* in a Nutshell
What is the Dusk Network?
The Dusk Network is a decentralized infrastructure focused on providing the sweet-spot between privacy and transparency in payments, communication and asset ownership transfers. It departs from consensus mechanisms like PoW/PoS, which are poorly suited for privacy, to introduce a new privacy-oriented consensus mechanism called Segregated Byzantine Agreement. Dusk is a new blockchain that provides true privacy and a fast and a secure streaming mechanism called Secure Tunnel Switching (STS), all powered by a privacy-oriented cryptocurrency: DUSK.
In this introductory series we aim to take a look at specific aspects of the Dusk Network and explain them in a nutshell. In this article we will look at Dusk’s consensus mechanism, called Segregated Byzantine Agreement, or SBA*. SBA* is a new consensus algorithm vastly more efficient than proof-of-work or proof-of-stake, and it was engineered to provide the best possible trade-off between security, efficiency and flexibility.
For a detailed description of SBA* please refer to the whitepaper.
The mechanics behind SBA*
SBA* uses existing ideas like Cryptographic Sortition(lottery), and combines it with concepts like stealth time-locked transactions to implement simple but secure communication that can be audited. SBA* makes use of a few different types of actors in the network to reach consensus:
- (super)Nodes. These are points in the network that facilitate transactions. They compete with each other for the generating and proposing blocks. These are computationally very light tasks, and a node will not require high computational power, or a big stake.
- Provisioners. These are nodes that have committed a certain minimum stake to the Dusk Network and take care of more intensive tasks such as block verification, voting, and notarization (VVN operations). These types of nodes are non-transactional.
By splitting tasks based on intensity and relaying them to transaction and non-transactional nodes the network’s speed greatly increases, whilst decreasing the chance of a partitioned network, and guaranteeing a higher availability of the network. Using SBA* there is no chance of an unintended fork of the blockchain, meaning there will be no doubt about what the main branch is. This translates into the appealing property of achieving transaction “finality” as soon as consensus is reached for a block.
Phases of the consensus mechanism
SBA* foresees different subsequent cyclic phases:
- Block Generation Sortition — nodes participate in sortition(lottery) to acquire the right to broadcast a block proposal.
- Default Block Generation Sortition — run by Provisioners in parallel to the Block Generation Sortition. They will propose a default empty block, in case consensus is not reached on the proposed block.
- Validation — run by a subset of Provisioners called Verifiers. Verifiers confirm the legitimacy of the block proposal and its proposing candidate. If everything was done correctly they will sign the proposed block, otherwise they will sign the default block proposed by the provisioners.
- Voting — a number of rounds each of which run by a different subset of Provisioners called Voters. Once consensus is reached on the block it can be notarised and added to the chain. If consensus is not reached they will vote to add an empty block.
- Notarisation — the Voters which reached voting consensus on the pre-block are called Notaries. Their public key is added to the pre-block and they play the role of Verifiers in the next block’s Validation phase. The pre-block is then turned into an official block by the Notaries.
VVN Operations are conceptually easy to grasp, and relatively self-explanatory. They merely explain how a proposed block is tested and potentially added to the blockchain. The sortition mechanism that plays a big part in the first stages of SBA* however is worth spending a bit more time on.
A node that wishes to participate in the sortition (and become a Block Generation candidate)is first required to lock an arbitrary amount of DUSK. A time-locked transaction is a special transaction where the output is un-spendable for a predetermined period of time. In order to participate to the Sortition lottery for proposing a block, the candidate performs a time-locked transaction toward a Stealth Address. Such a transaction is indistinguishable from the normal others. After completing this transaction the candidate receives a lottery outcome, think along the lines of a lotto number, and gossips this to the rest of the network.
After all participating nodes (candidates) have gossiped their lottery outcomes to the provisioners, a winner is selected that can propose a pre-block. In case no nodes participate in a certain round the default block generated by the provisioners will be used. The big benefit of how SBA* combines sortition with gossip is that nothing needs to be known about the stakes, identity, or balances of the candidates, whilst still allowing for an audit of candidate’s honesty. The likelihood of a winning sortition outcome depends on a weight correlated to the amount of DUSK committed by a node. Proof of blind bid (SBA*) renders it statistically and economically disadvantageous for an actor to attempt bad behaviour, since he would risk losing his stake.
In addition to finalizing a block onto the chain, Notaries are also responsible for a secondary procedure which generates the block rewards through a set of coin-base transactions, essentially minting new DUSK. This new DUSK will be sent to the address of the Block Generator(the successful lottery candidate). Provisioners do not gain their reward by winning sortition, but rather gain a fixed ROI at the end of a block. This ROI is also a coin-base transaction and is awarded to all provisioners, not just those who took part in this specific block committee(those performing VVN operations).
Counterintuitively, the rewards paid are inversely proportional to the staked amount (i.e. bigger stakes get proportionally less rewarded, in respect to smaller stakes). This measure is novel and to our knowledge not a viable option outside of the Dusk Blockchain. The motivation is twofold. Together with preventing the ‘’rich get richer’’ scheme, the intention is to create a counter position between power (intended as the capability to influence block generation by being selected as part of the Block Committee) and money (intended as the financial benefit acquired from running Provisioners). Considering that SBA* is already protected from Sybil attack by making it probabilistically disadvantageous to dilute a stack into several balances, similarly, by reversing the proportion between rewards and stake, the system prevents financially motivated participants to benefit from organizing themselves into few Provisioner pools at the expense of decentralization. Centralized pools are in our opinion a highly undesirable property of a good network.
The block rewards, together with the provisioner’s ROI, will form the DUSK network’s inflation rate. You can read more on the DUSK network’s economy in upcoming articles focused specifically on how the whole network will operate economically. However, incentives will align with decentralization and early adoption.
How to learn more about Dusk Network
The Dusk Network is a project coordinated by the Dusk Foundation. We are a decentralized ecosystem entirely focused on providing the perfect trade-off between privacy and transparency. Dusk protects privacy and fits regulations in payments, communications and asset transfers.
Please consider joining us at the following media: