The security of minting NFTs are important to preserve the value of the entire token set. When hatching Monsta bought from sales (no parents) or cloned from a set of parents, both sets of logic requires that the random number is generated fairly, with tamper resistance.
Traditionally, random numbers are difficult to generate from within the blockchain as the parameters from within are usually deterministic and predictable. An oracle is needed to supplement additional sources of random seeds. Block time can also be manipulated by miners as the time inserted into blocks are not strictly adhered.
In order to achieve our vision of decentralisation, we came up with a flexible and collaborative method of generating random numbers, with sources between multiple points of truth.
- 1.A seed is provided by an oracle of central authority, originating from the "Hatching Furnace"
- 2.The smart contract is triggered together with the secret seed created from cryptographically-secure sources
- 3.Block hash and Monsta-specific parameters are mixed into the equation to form a new seed using Keccak256 algorithm
- 4.Resulting random numbers are further scrambled with xorshift* before use
- 5.Blockchain miner nodes mint multiple blocks per second which is difficult to manipulate