Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
updating the consensus protocol
Browse files Browse the repository at this point in the history
  • Loading branch information
themantre committed Jul 29, 2023
1 parent fb7e7b0 commit 3081b70
Showing 1 changed file with 49 additions and 6 deletions.
55 changes: 49 additions & 6 deletions website/learn/consensus/protocol/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,12 +196,55 @@ participate in the protocol for one more round. Otherwise, the validator proceed

### Comparison

| Protocol | Non faulty Complexity | Locking proposal | Needs Checkpoint |
| ---------- | --------------------- | ---------------- | ---------------- |
| PBFT | $$O(n^2)$$ | No | Yes |
| Tendermint | $$O(n^2)$$ | Yes | No |
| HotStuff | $$O(n)$$ | Yes | No |
| **Pactus** | $$O(n^2)$$ | No | No |
Pactus consensus protocl doesn't have any lcoking mechanism or
checkpointing and there will at most one valid proposla per round.
This ensures that each round can begin with a new proposal.

<table>
<thead>
<tr>
<th rowspan="2">Protocol</th>
<th colspan="2" style="text-align: center;">Normal case</th>
<th colspan="2" style="text-align: center;">Faulty case<br></th>
</tr>
<tr>
<th style="text-align: center;">Steps</th>
<th style="text-align: center;">Complexity</th>
<th style="text-align: center;">Locking</th>
<th style="text-align: center;">Checkpointing</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: middle">PBFT</td>
<td style="text-align: center; vertical-align: middle">3</td>
<td style="text-align: center; vertical-align: middle">$$O(n^2)$$</td>
<td style="text-align: center; vertical-align: middle">No</td>
<td style="text-align: center; vertical-align: middle">Yes</td>
</tr>
<tr>
<td style="vertical-align: middle">Tendermint</td>
<td style="text-align: center; vertical-align: middle">3</td>
<td style="text-align: center; vertical-align: middle">$$O(n^2)$$</td>
<td style="text-align: center; vertical-align: middle">Yes</td>
<td style="text-align: center; vertical-align: middle">No</td>
</tr>
<tr>
<td style="vertical-align: middle">HotStuff</td>
<td style="text-align: center; vertical-align: middle">4</td>
<td style="text-align: center; vertical-align: middle">$$O(n)$$</td>
<td style="text-align: center; vertical-align: middle">Yes</td>
<td style="text-align: center; vertical-align: middle">No</td>
</tr>
<tr>
<td style="vertical-align: middle">Pactus</td>
<td style="text-align: center; vertical-align: middle">3</td>
<td style="text-align: center; vertical-align: middle">$$O(n^2)$$</td>
<td style="text-align: center; vertical-align: middle">No</td>
<td style="text-align: center; vertical-align: middle">No</td>
</tr>
</tbody>
</table>

---
References:
Expand Down

0 comments on commit 3081b70

Please sign in to comment.