Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stake Pool Course introduction: grammar, usage, formatting #930

Merged
merged 3 commits into from
Jan 18, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions docs/stake-pool-course/introduction-to-cardano.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ The underlying problem is that Bitcoin makes a clear distinction between the act

### Ouroboros, a Proof-of-stake consensus algorithm

In Ouroboros, there is no race between stakeholders to produce a block. Instead, a slot leader is randomly selected, proportionally to the amount of tokens he owns (the stake), to get the opportunity to produce a new block.
In Ouroboros, there is no race between stakeholders to produce a block. Instead, slot leaders are randomly selected, proportionally to the amount of tokens they own (the stake), to get the opportunity to produce a new block.

So it is not hashing power what gives you the opportunity to produce a new block (and get rewarded for it), it is your stake what increases your chances to be elected.

Expand Down Expand Up @@ -149,14 +149,14 @@ All these functionalities make Ouroboros the best proof of stake ledger protocol
1. At the beginning of every epoch, the online stakeholders fetch \(from the blockchain\) the **stake distribution** from the last block of 2 epochs ago. For example, if the current epoch is epoch 100, the stake distribution used is the distribution as it was in the last block of epoch 98.
2. **Random Oracle**: Is a hashing function that takes the random values “v” \(included in each block by the slot leader for this purpose\) from the first ⅔ slots in previous epoch and hash them together and use it as the random seed to select the slot leaders.
3. Stakeholders evaluate with their **secret key** the **Verifiable Random Function \(VRF\)** at every slot. If the output value \(v\) is below a certain threshold, the party becomes slot leader for that block.
1. **Certificate:** The **VRF** produces two outputs: **a random value \(v\)** and a **proof \(π\)** that the slot leader will include in the block he produces to certify that he is the legitimate slot leader for that particular slot.
2. Slot leader performs the following duties
3. Collects the transactions to be included in his block.
4. Includes in his block the random value \(v\) and proof \(π\) obtained from the VRF output.
5. Before broadcasting the block, the slot leader generates a new secret key **\(Key-evolving signature\)**. The public key remains the same, but the secret key is updated in every step and the old key is erased.
6. It is impossible to forge old signatures with new keys. And it is also impossible to derive previous keys from new ones.
7. Finally, the slot leader broadcast the new block to the network.
8. The **rewards** obtained by the slot leaders are calculated at the end of the epoch. Rewards come from transaction fees and funds from the ada reserve.
1. **Certificate:** The **VRF** produces two outputs: **a random value \(v\)** and a **proof \(π\)** that the slot leader will include in the block they produce to certify that they are the legitimate slot leader for that particular slot.
1. Slot leader performs the following duties:
1. Collects the transactions to be included in the block.
1. Includes in the block the random value \(v\) and proof \(π\) obtained from the VRF output.
1. Before broadcasting the block, the slot leader generates a new secret key **\(Key-evolving signature\)**. The public key remains the same, but the secret key is updated in every step and the old key is erased.
1. It is impossible to forge old signatures with new keys. And it is also impossible to derive previous keys from new ones.
1. Finally, the slot leader broadcast the new block to the network.
1. The **rewards** obtained by the slot leaders are calculated at the end of the epoch. Rewards come from transaction fees and funds from the ada reserve.

**What happens in the case of a fork in the chain?**

Expand All @@ -178,4 +178,4 @@ This chain selection rule allows for a party that joins the network at any time

## Video: What’s an Ouroboros and how you cook it?

<iframe width="100%" height="325" src="https://www.youtube.com/embed/U92Ks8rucDQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
<iframe width="100%" height="325" src="https://www.youtube.com/embed/U92Ks8rucDQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>