After a new transaction is added to the DAG, it quickly gets children transactions that include its hash, then grandchildren, and the number of future transactions that include it directly or indirectly grows like a snowball.
Users can attach their transactions at any point on the DAG and when doing so, they must pay a fee that is equal to the size of their transaction in bytes. The native currency of Obyte is Byte, and 1 Byte of currency allows you to add 1 byte of storage to the global immutable database, to be stored forever.
Although users can add their transactions at any point on the DAG, the protocol incentivizes them to attach new transactions to the end of the DAG, i.e. select most recent previous transactions as parents, because by doing so, the user has a chance to earn part of the fees paid by the parent transactions.
Like in other crypto networks, transactions are signed by user private keys and it is possible for a user to try to send two conflicting transactions that try to spend the same money twice — a double spend. In blockchains, double spends are resolved by block producers (such as miners). In Obyte, there are rules that determine the order of transactions, all nodes follow these rules to arrive at the same order of transactions, and out of two double-spends, the one that comes earlier in this order, wins.
Some transactions are already ordered just because they are on a DAG and they are connected through one or more parent-child links.
Transactions that are not connected by parent-child links, are ordered around the so called Main Chain. The Main Chain is a chain on the DAG that gravitates to transactions authored by frequently posting users called Order Providers (formerly called Witnesses). The transactions that they regularly post serve as waypoints that allow all nodes to build the MC around these waypoints. All nodes run an algorithm that builds the MC based on the waypoints they see, and by running the same algorithm, they eventually arrive at the same result.
Once the Main Chain is established, all transactions are ordered around it by assigning an index to each transaction on the MC and for all non-MC transactions finding the earliest MC index when this transaction gets included on the MC.
The above is a brief overview of Obyte consensus algorithm. For more details, refer to the white paper. Also, see what opportunities Obyte offers for developers.