Overview
Last updated
Last updated
Olympus is a DAG-based layer-1 blockchain that is deeply optimized for DePIN (Decentralized Physical Infrastructure Network) and features high concurrency, high throughput, and low transaction fees. Olympus’ supreme performance is achieved by its unique structure and many innovations, such as its novel consensus algorithm and the idea of separating the consensus layer and transaction layer.
In the consensus layer, the messages ("blocks") are composed by some non-anonymous reputable people or companies, called witnesses, who might have a long established reputation, or great benefits in keeping the network healthy. Witnesses are expected to propose blocks frequently and behave honestly. However, it is unreasonable to totally trust any single witness.
To ensure the security and full decentralization of the consensus, witnesses are elected from set of candidates during pre-defined time periods called epochs. In each epoch, the elected witnesses will perform a super-fast BFT type of consensus, which is to determine the linear order of the blocks on the DAG.
When a witness propose a block, it will link to one or many pending transactions in the queue. The block will then be referred directly or indirectly by other witness blocks coming afterwards. The references from other witness blocks can be viewed as the voting process for the proposed block. Therefore, a proposed block by one witness is also the votes of the blocks proposed by other witnesses. The key idea of pipelining the proposing and voting process makes the Olympus consensus much faster than any other BFT type of consensus.
In the transaction layer, the messages ("transactions") are sent by Olympus accounts. When a transaction is linked by a block from consensus layer, it is sealed by the block. There are chances that a transaction will be linked by multiple blocks, but the consensus algorithm will tell which block the transaction belongs to.
In the graph above, the order of the blocks are marked in the circles. There are two accounts sending transactions as an example. Transaction n from account #1 is in block 2; Transaction n+1 from account #1 and transaction m from account #2 are in block 4; Transaction m+1 from account #2 is in block 5.
For detailed information about the consensus and the mathematical proof of the security, please refer to the OORT yellow paper https://oort-website.standard.us-east-1.oortech.com/OORT_Yellow_Paper.pdf
The following sections provide a concise overview of several concepts within the Olympus protocol. Some of these concepts are aligned with Ethereum to ensure full compatibility with Web3 and the Ethereum Virtual Machine (EVM), while others are unique to Olympus.
Transaction in Olympus is one of the core functions that play a role as an only thing that can change or update Olympus states. It has a data structure and contains several elements that represent what activity happens in Olympus such as sender, recipient, date time, and amount of Gas.
In order to have Olympus fully compatible with the Web3 PRCs, the transaction structure in Olympus exactly matches Ethereum.
Scope (Structure of a Transaction)
Nonce
Gas price
Gas Limit
Recipient(EOA, Contract Account)
Value
Data
v, r, s(ECDSA)
For the exact definition and explanation of each field, please refer to Ethereum documents.
Blocks, the basic elements in the Olympus consensus algorithm, are constructed and sent by witnesses. The blocks form a DAG, whose linear order is determined by the consensus algorithm.
Scope (Structure of a Block)
from address - the witness address that the block is sent
previous hash - the previous block hash that the witness sent
parent hash - the block hashes from other witnesses that the block refers to
link hash - the transaction hashes that the block refers to
timestamp
witness signature
The main chain represents a sequence of blocks extending from one of the tip blocks back to the genesis block, as defined by the Olympus consensus. For instance, the sequence B9 -> B5 -> B3 -> B1 -> G illustrates the main chain, highlighted by bold lines. The central concept here is that despite potential differences in the Directed Acyclic Graph (DAG) observed by each witness node due to synchronization discrepancies, the main chain identified by their local DAG remains consistent.
The Main Chain Index (MCI) refers to the position of blocks within the main chain. For example, in the aforementioned diagram, block B5 is assigned an MCI of 4, while block B9 has an MCI of 5. When the network experiences low transactions per second (TPS), the highest MCI value closely approximates the block height. Conversely, in scenarios of high TPS, the maximum MCI value is significantly lower than the block height. In the provided diagram, the highest MCI is 5, despite the block height being 9.
An epoch in the Olympus protocol is a predefined period during which witnesses are selected and rotated from a large pool of validators. The duration of an epoch is determined by the Main Chain Index (MCI), specifically set to span 10,000 MCI increments. Thus, each time the MCI reaches a multiple of 10,000, the epoch count increments by one.
A distinctive feature of the Olympus protocol, compared to other blockchain systems, is that the number of blocks does not increase at regular time intervals. Witnesses cast their votes only when new transactions are present in the network. Consequently, both the MCI and block height will only advance with the occurrence of new transactions.
As a result, the length of an epoch is variable. During periods of high transaction per second (TPS) rates, an epoch might last between 1 to 2 hours. Conversely, in scenarios where no transactions occur, the duration of an epoch could extend for days.