From b79510d8fe0241dd9a3ff05a32c80e60bb4cc57a Mon Sep 17 00:00:00 2001 From: Genesis3800 Date: Mon, 18 Dec 2023 12:43:34 +0530 Subject: [PATCH] Editing consensus landing & minor fixes --- docs/about/babe-explained.md | 16 ++++++++-------- docs/about/grandpa-explained.md | 6 +++--- docs/about/npos-explained.md | 4 ++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/about/babe-explained.md b/docs/about/babe-explained.md index 552dff34..f74a84b6 100644 --- a/docs/about/babe-explained.md +++ b/docs/about/babe-explained.md @@ -2,12 +2,12 @@ id: babe title: BABE sidebar_label: BABE -description: Overview of the Avail usage of BABE +description: The block author selection algorithm that powers Avail keywords: - docs - avail - BABE - - concensus + - consensus image: https://docs.availproject.org/img/avail/AvailDocs.png --- @@ -15,7 +15,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; ## Introduction -Blind Assignment for Blockchain Extension (BABE) serves as a block production engine, drawing inspiration from [Ouroboros Praos](https://eprint.iacr.org/2017/573.pdf), another proof-of-stake protocol. It functions +_**B**lind **A**ssignment for **B**lockchain **E**xtension_ (BABE) serves as a block production engine, drawing inspiration from [Ouroboros Praos](https://eprint.iacr.org/2017/573.pdf), another proof-of-stake protocol. It functions autonomously, offering probabilistic finality, or it can be integrated with a finality mechanism like GRANDPA. BABE operates on a slot-based algorithm, dividing time into eras, epochs, further segmented into slots. Within the Avail context, each slot lasts for twenty seconds, aligning with the @@ -30,11 +30,11 @@ On Avail's explorer, you can observe the eras and epochs by navigating to the st ## BABE Block Production Process Each slot may have both a primary and a secondary author, chosen from amongst a set of active validators. The assignment of -primary slot leaders is a random process. However, due to the inherent randomness, there are instances where slots may lack a designated leader. To maintain a consistent block time, -BABE employs a round-robin system to designate secondary slot leaders. +primary authors, aka slot leaders, is a random process governed by the VRF function. However, due to the way the function works, there may be instances where no validators qualify as the primary author. To maintain a consistent block time, +BABE employs a round-robin system to designate secondary slot leaders, who produce new blocks without a designated leader. -The selection of primary authors is powered by a verifiable random function (VRF). Given the significance of random numbers in blockchain applications, it becomes -crucial to establish a universally accepted form of randomness that remains untampered and beneficial for all parties involved. VRFs address this challenge by generating a +As we know, the selection of primary authors is powered by a verifiable random function (VRF). It thus becomes +crucial to establish a universally accepted form of randomness that remains untampered and verifiable for all parties involved. VRFs address this challenge by generating a pseudo-random number accompanied by a proof of its proper generation. These functions take various parameters, including a private key. The VRF considers an epoch random seed (pre-determined by all nodes), a slot number, and the author's private key. As each node possesses a unique private key, this ensures the generation of a distinct pseudo-random value for each slot. @@ -74,4 +74,4 @@ adaptability helps Avail handle variations in block production times more effici **Finalization**: While BABE is responsible for proposing and producing blocks, finalization of blocks is achieved through the GRANDPA consensus algorithm. GRANDPA is responsible for ensuring the overall security and consistency of the Avail chain. -By combining the block production capabilities of BABE with the finality assurance provided by GRANDPA, Avail achieves a high level of scalability and security. +While BABE is a powerful algorithm to select new block authors in a verifiably random way, Avail uses GRANDPA in addition to BABE to achieve deterministic chain finalization. In the next article, we will learn about GRANDPA, Avail's block finalization mechanism. diff --git a/docs/about/grandpa-explained.md b/docs/about/grandpa-explained.md index a3053e58..73c67c20 100644 --- a/docs/about/grandpa-explained.md +++ b/docs/about/grandpa-explained.md @@ -2,12 +2,12 @@ id: grandpa title: GRANDPA sidebar_label: GRANDPA -description: Overview of the Avail usage of GRANDPA +description: The block finalization algorithm that powers Avail keywords: - docs - avail - grandpa - - concensus + - consensus image: https://docs.availproject.org/img/avail/AvailDocs.png --- @@ -15,7 +15,7 @@ import useBaseUrl from '@docusaurus/useBaseUrl'; ## Introduction -GRANDPA, which stands for "GHOST-based Recursive ANcestor Deriving Prefix Agreement," is the consensus algorithms used by Avail. GRANDPA works in conjunction with another consensus +GRANDPA, which stands for "_**G**host-based **R**ecursive **AN**cestor **D**eriving **P**refix **A**greement_," is the consensus algorithms used by Avail. GRANDPA works in conjunction with another consensus GRANDPA in and of itself is a block finalization algorithm, and as such needs to be paired with block-authoring mechanisms like [Aura](https://paritytech.github.io/polkadot-sdk/master/sc_consensus_aura/index.html) or BABE (Avail uses BABE) to ensure a properly functioning blockchain. Finality in GRANDPA's context means that once a block is added to the blockchain, it is irreversible and cannot be reverted. This is in diff --git a/docs/about/npos-explained.md b/docs/about/npos-explained.md index 1b509ae6..16f1b70a 100644 --- a/docs/about/npos-explained.md +++ b/docs/about/npos-explained.md @@ -2,12 +2,12 @@ id: npos title: Overview of the Avail NPoS sidebar_label: NPoS -description: Overview of the Avail NPoS +description: Avail's mechanism for establishing distributed consensus keywords: - docs - avail - npos - - concensus + - consensus image: https://docs.availproject.org/img/avail/AvailDocs.png ---