📘
Yung Pixels' Whitepaper
  • Welcome to Yung Pixels!
  • Introduction
    • What are NFTs?
      • What are PFP NFTs?
    • The problematic NFT scene
    • The Yung Pixels Manifesto
  • Dialogue with Art
    • NFTs and Art
    • Take a sneak peek
  • Technological Overview
    • Randomness
    • ERC 1155
    • Why is $LINK needed?
    • Why Ethereum?
  • Yung Pixels' DAO
    • To be a DAO
  • Community
    • An invite upon artists!
    • Community importance
    • Discord
  • Tutorial: how to buy and reveal a YP
    • Stages of Yung Pixels
    • How to buy on the official website
    • How to reveal a Yung Pixel
  • Tokenomics
    • Tokenomics & Prices
    • Royalties
Powered by GitBook
On this page
  • Introduction
  • How do they do it?
  • Transparency
  • Centralization
  • How do we do it?
  • VRF is the answer
  1. Technological Overview

Randomness

PreviousTake a sneak peekNextERC 1155

Last updated 3 years ago

Introduction

As we explained in and at , we found a lot of problems in the NFT scene that guided us to study and plan how to provide genuine randomness and how it could impact our project.

The main PFP NFT technological problem we find is how most projects provide their "unique" and "random" NFT.

How do they do it?

There is a common way these projects provide randomness to their NFTs:

  • Create a contract with a baseUri pointing to a generic image representing the unrevealed state;

  • Sell all the NFTs with an unrevealed aspect (e.g.: a gif, a video);

  • Run a program on their computers to generate and order a list of the NFTs randomly;

  • Change the baseUri on the contract, so that the users can access their revealed NFTs.

This approach shows us two huge problems blockchain projects should not have: zero transparency and complete centralization!

Transparency

So, after these projects revealed each buyer their NFTs, changing the baseUri and providing the randomness on their computers, can the team ensure they didn't change some tokens or gave themselves the NFTs with the rarest attributes by changing the ownership? How can anyone be sure that the team didn't benefit themselves or their partners?

They can't ensure and you can't be sure, as much as you trust the team. The problem here is beyond how nice the team is or how trustable they are. This problem only exists because these teams aren't using the blockchain to prove randomness: they only use it to prove ownership! If the smart contract proves randomness and ownership in the blockchain, which is a public ledger, then the buyers don't need to trust the team, they need to trust and understand the blockchain technology.

Centralization

But poor transparency isn't the only problem. Many NFT projects also have a function on the contract that allows changes of the token's baseUri.

A little bit about the metadata composition:

Metadata = baseUri + tokenId + metadata extension Eg: https://ipfs.io/ipfs/QmWJvWd3y2HPKhqoVLPRR84HDRSBy5Z85pSVuYeSQRZXrZ/1234.json

baseUri = https://ipfs.io/ipfs/QmWJvWd3y2HPKhqoVLPRR84HDRSBy5Z85pSVuYeSQRZXrZ/ tokenId = 1234 metadata extension = .json

So, if it's possible to change the baseUri, these teams can change the "metadata"! Now we have a centralization problem! At any time, they can change someone else's NFT appearance and drop all the NFTs.

E.g.: The owner of the contract changes the baseUri to `www.google.com`. The composition will be: www.google.com + tokenId + .json. No metadata will come from it; they simply dropped the NFTs by changing baseUri.

How do we do it?

The poor transparency and centralization problem are all issues blockchain came to solve, so we chose to handle these problems efficiently and straightforwardly: we provide and prove everything on-chain.

VRF is the answer

  • Create the contract with the baseUri already set for the Yung Pixels;

  • Let the buyers buy and reveal the token whenever they want;

  • Store all Metadata in IPFS with a backup in Piñata, which also uses IPFS.

And that's it.

By centralizing the NFTs on their hands, they can, even with IPFS, change the metadata when they choose to. They can even store all NFTs in a centralized way, which is a BIG problem. But that isn't the case for Yung Pixels and we've addressed this issue in this .

We are using from Chainlink to give true randomness to all and each of the tokens on-chain.

At Yung Pixels, we'll have several YP already deployed on IPFS before the sales. Through , the buyers are free to reveal IF and WHEN they want, and try their luck by "opening its pack" to reveal a Yung Pixel of the metadata list stored on IPFS. In this way, we guarantee that we cannot drop the NFTs, since we don't have the power to set the baseUri, and we cannot benefit someone, since the ability to reveal is on the buyer's hand. And the buyer can be sure that the reveal is fair as Yung Pixels uses true randomness and no one can interfere on the process, which is completely decentralized, and truly random, while also being proofable on the Blockchain.

Yung Pixels will be the first PFP project to give true randomness to each token on-chain, all with a lot of work with . You can understand better the buy and revealing process at .

The problematic NFT scene
The Yung Pixels Manifesto
article
VRF
VRF
Chainlink
Stages of Yung Pixels