CHAPTER 3: Uncertain Randomness

Yung Pixels
Coinmonks
4 min readMar 8, 2022

--

As we saw in Chapter 2, if you own an NFT, there is a great chance that you are being deceived, and one of the ways this occurs is through the centralization, outsourced or not, of the metadata of the arts you own, allowing the permanent loss of your NFTs or even changing them without being able to do anything to prevent it. However, another way, which is perhaps even harder to understand and find if you can’t read a smart contract, is the randomness regarding the minting process and the reveal of your collectibles. An NFT project that proposes to deliver a contract that performs a definitely random mint/reveal can only be considered fair if:

1 — there is a randomness function in the contract;

2 — there is no function that can define a specific NFT for a selected wallet;

3 — the randomness is true, verifiable, and not pseudorandom;

4 — there is no possibility of changing the metadata.

Is the mint/reveal of your NFTs random like rolling dice at least?

First, we need to define what randomness is. Randomness is a set of events that are impossible to determine from a predetermined situation. As an example, let’s take some natural phenomena: it is not possible to predict the exact moment when it will start to rain in a specific cloudy area where it will definitely rain, or the exact place where the first raindrop will fall, or where a lightning will strike the ground, even if we have access to a database of all the lightning and raindrops that have ever happened in the region. Thus, these phenomena are considered random. Computers, on the other hand, are essentially predictable machines, operating through deterministic algorithms. This means that a specific value X given as input will generate an expected value Y, always determined through the functions present in the algorithm -except when programmers impose randomness through probability maneuvers. Therefore, a computer does not, by itself, generate TRULY random numbers, except when there is programming that delivers true randomness to the functions of the machine.

The impossibility of predicting the moment and place where lightning strikes is what makes it a random phenomenon.

Even the majority of draw programs for dropping NFTs, something common in the scene, are falsely random, and all it would take is a long enough period of time for us to be able to observe a pattern of results from these draws. Obviously, in practice, the results of these draws can be considered “fair and unbiased” (assuming fairness on the part of the draws), as all entries from competitors have an equal value and all competitors have an equal chance, but technically they are not random, they are PSEUDORANDOM results.

Pseudorandomness, therefore, is a deterministic means of generating numbers that appear random, in which a pattern of results would be revealed given a sufficiently long time interval. However, there are, as stated earlier, programs and applications that use random number generator hardware. These generators use random phenomena, such as atmospheric noise, thermal noise, dates or even weather conditions, to produce genuinely random numbers. A simple example of generating truly random numbers is the website random.org. However, this site is impossible to use in a blockchain environment, and even if it were, it would be a completely centralized answer to the problem of randomness.

Unfortunately, many NFT projects, even those with professional, dedicated, and unbiased staff, use functions that generate a pseudorandom mint/reveal. And the problem with this is that malicious people can exploit this flaw in the contracts and “force” the mint of a NFT with specific characteristics previously determined. Another problem that is seen in several NFTs is the absence of randomization functions in the contracts, and there are projects moving thousands of $ETH that do not even have a clear reference to randomness despite declaring themselves random. In addition to these, there are others whose contracts allow developers to CHANGE the metadata of any minted NFT, that is, they can simply change anyone’s NFT and leave the rarer attributes for their previously selected wallets. These situations only corroborate the need for our statement: you have probably been or are being deceived by malicious or simply amateurs and naive teams!

Where are the randomization functions?

So, how can we generate mints/reveals that are definitely random, verifiable and unbiased? The answer is complex and involves nuances such as a radical and professionalizing change in the NFT project team, and the emergence of projects that actually educate and teach NFT users to observe fraudulent contracts and dangerous and vulnerable metadata storage. It is precisely in this answer that the idea of Yung Pixels arises — our project is an answer.

We are a proposal that revolutionizes the way NFTs are made: the use of proven technologies, specifically VRF (Verifiable Random Functions), co-developed together with Chainlink, freedom given to users to choose when — or if they want — to reveal their NFT, true and unbiased randomness, and decentralization at all stages of the process.

By giving real decentralization, transparency, true randomness, and the possibility for the user to reveal when — or if — he/she wants, we bring the real sensation of “opening sticker packs” to the NFT scene. This has never been done before — until today.

We are the shape of NFTs to come.

Stay tuned, news coming soon.

Check out our Manifesto: Chapter 4.

Follow our social media:
Twitter: @YungPixels
Instagram: @yungpixels.nft
Website: coming soon
Discord: coming soon

--

--