Demonet live: https://www.nimiq.com/albatross/
Rust implementation: https://github.com/nimiq/core-rs-albatross
White paper: https://arxiv.org/abs/1903.01589
Albatross is a new proof of participation blockchain consensus algorithm co-created by Nimiq. It provides transaction confirmation in less than a second and peak performance of more than 1,000 TPS without the need for delegated staking, cutting or compromising censorship resistance.
Albatross is modeled on BFT speculative algorithms, like Zyzzyva, and inspired by Byzcoin and Tendermint for their method to make PBFT without authorization, Algorand for its resistance to adaptive adversaries and Ouroboros-BFT for its simplicity. Regular PBFT security hypotheses allow us to conclude that the protocol is secure and has performances close to the theoretical maximum for single chain challenge proof consensus algorithms.
Time
An epoch is the time between two macro blocks. For each epoch, 512 slots are randomly allocated to all potential validators in proportion to the stake of each validator. Parameters such as the minimum bet, the duration of the epoch (i.e. the number of micro-blocks), the number of slots, etc. are being tested, and are therefore subject to change before the release of Mainnet. A minimum stake of 1000 NIM is currently required to protect the network from dust attacks. Of the 512 locations, 128 are selected randomly – one after the other – so that its validator can process validate pending transactions and create a block. The era ends after 128 micro-blocks with the creation of a macro block, beginning a new era.
Micro Block
Micro-blocks contain transactions. Creating and sharing a block is faster than an average second, so transactions are confirmed almost instantly.
Macro block
Macro-blocks mark the beginning and the end of an era. They must be voted by at least two-thirds of all active slots. The macro block finalizes all the transactions of the current era and determines the locations and their validators for the next.
