> For the complete documentation index, see [llms.txt](https://docs.dragobits.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dragobits.com/getting-started/rarities-and-randomness.md).

# Rarities & Randomness

Each Dragobit trait has 100 types: 100 atmospheres, 100 platforms, and 100 species (which may increase in future [deployments](/game/deployments.md)). With the exception of activated [rarity auras](/game/auras.md), all traits share the same rarity. However, since each Dragobit is a unique combination of these traits, it is unlikely to achieve a perfect match of the same atmosphere, platform, and species.

<figure><img src="/files/tRMib5koqZftW5CzyDNF" alt="" width="340"><figcaption><p>Perfect Alien Dragobit</p></figcaption></figure>

In Dragobits Stage 0 and its predecessors, randomness is actually pseudo-randomness, meaning it relies on values that could potentially be influenced by chain operators. On Ethereum L2 chains, this particularly refers to the sequencer. For example, on Base, the sequencer - currently centralized and operated by Coinbase - would need to intervene to manipulate the pseudo-randomness. It is generally assumed that such manipulation is unlikely.

In future versions, the goal is to work with a fully decentralized source of randomness. Several solutions are possible, including:

* Committing to a future value of [Ethereum’s L1 RANDAO](https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/block-proposal/).
* Using an oracle like [Chainlink VRF](https://docs.chain.link/vrf).
* Implementing a verifiable delay function ([VDF](https://vitalik.eth.limo/general/2024/10/29/futures6.html#4)).
* Employing a [zero-knowledge-based](https://zkvrf.com/) source of randomness.
