Algorand
Algorandは、proof-of-stakeを活用したビザンチン合意プロトコルを採用する。
Algorandのコンセンサスは、ブロックの提案、確認、ブロックチェーンへの書き込みの3つのステップが必要である。
最初のフェーズ(ブロック提案フェーズ)では、プルーフ・オブ・ステーク(Proof of stake)の原則を用いる。このフェーズでは、システム内のユーザーの委員会が、新しいブロックを提案するために、重み付けをしながらもランダムに選択される。委員会の選出は「暗号ソート」と呼ばれるプロセスで行われ、各ユーザーはローカルで検証可能ランダム関数(VRF)を実行することで自分が委員会のメンバーであるかどうかを判断する。VRFがそのユーザが選ばれたことを示す場合、VRFはそのユーザが委員会に参加していることを検証するために使用できる暗号的な証明を返す。あるユーザーが委員会に参加する可能性は、そのユーザーが保有するALGOの数に影響される。
ブロック選定委員に選ばれたユーザーは、ブロック案を作成し、ネットワークに公開し、第2フェーズでレビュー/分析を受けることができる。
ユーザは、提案するブロックにVRFの暗号証明書を添付し、委員会メンバーであることを証明する。
第二段階(ブロック確定段階)では、ビザンチン合意プロトコルを用いて、提案されたブロックの投票を行う。この第2フェーズでは、暗号ソートにより新たな委員会が形成される。ユーザは、自分がこの第2段階の投票委員会に入っていると判断すると、受け取った提案ブロックを分析し(第1段階の委員会メンバーの検証を含む)、いずれかのブロックを採用すべきかどうかを投票する。投票委員会が新しいブロックについてコンセンサスを得た場合、その新しいブロックはネットワーク上に広められる。
Algorandコンセンサスアルゴリズムでは、フェーズが実行されるたびに、両方の委員会のメンバーシップが変更される。これにより、攻撃者はどのユーザーが委員会に入るかを事前に知ることができないため、標的型攻撃からユーザーを保護が可能である。異なる2つのAlgorandブロックが同じラウンドでコンセンサスに達することはできない 。