Algorand ideally proceeds as follows

  • First, a randomly selected user, the leader, proposes and circulates a new block.
    • (This process includes initially selecting a few potential leaders and then ensuring that, at least a good fraction of the time, a single common leader emerges.)
  • Second, a randomly selected committee of users is selected, and reaches Byzantine agreement on the block proposed by the leader.
    • (This process includes that each step of the BA protocol is run by a separately selected committee.)
  • The agreed upon block is then digitally signed by a given threshold of committee members.
  • These digital signatures are circulated so that everyone is assured of which is the new block.
    • (This includes circulating the credential of the signers, and authenticating just the hash of the new block,
      ensuring that everyone is guaranteed to learn the block, once its hash is made clear.)

References

  • https://arxiv.org/pdf/1607.01341.pdf
  • https://people.csail.mit.edu/nickolai/papers/gilad-algorand-eprint.pdf
  • https://github.com/fractalide/fractalchains
  • https://zhuanlan.zhihu.com/p/29429006
  • https://www.youtube.com/watch?v=QNQHbfI3IAQ