Technology

Quanta ensures complete trust for lottery players, operators and investors by harnessing decentralized technologies, Powered by the breakthrough Ethereum blockchain smart contracts, ticket sales, prize payouts and winning ticket selections are all fully automated, transparent and secure. Minimizing the risk of manipulation while maximizing efficiencies, the new technologies that Quanta relies upon create an easier, more enjoyable experience for all involved.

QUANTA WALLET

Quanta Wallet is a secure cryptocurrency wallet that allows users to safely send, receive and store cryptocurrencies (currently BitCoin, Ether and QNT). Quanta wallet perfectly integrates with the Quanta lottery and is ideal for utilizing QNT. It is available for download for Mac, Windows.

DOWNLOAD QUANTA WALLET
RNG

RNG (Random Number Generator) is a core part of any lottery system. Creating a secure and truly unpredictable RNG on the Ethereum blockchain was one of Quanta’s largest technical challenges. After researching, the project selected the decentralized, immutable and Ethereum-based Randao Algorithm whose process is outlined below:

RANDAO

Quanta’s RNG relies upon the Randao process (detailed in diagrams below) to produce the random number required for selecting lottery prize winners. Randao accomplishes this by requiring outside participants (who have achieved the appropriate KYC 3 verification level) to commit a random hashing number to the automated API and socket server using their Randao Wallets. An Ether deposit is required to join the Randao process. Upon successful completion of Randao (i.e. the player did not turn off his/her computer, lose internet connection or try and manipulate the process) the Ether is returned to each participant’s Randao Wallet with an additional bounty as incentive to participate in Randao. Once enough hashing numbers have been committed by outside players, the reveal process begins. During the reveal process all hashing numbers generate the essential Randao Final Number by using XOR: ‘bitwise exclusive or’ operator ^ (see full technical explination in the Solidity documentation here : https://solidity.readthedocs.io/en/develop/types.html for how the system generates the essential Randao Final Number from the submited hasing numbers)

Randao produces Randao Final Number after Randao process is completed. All winning tickets are selected by using this Randao Final Number.
To select winning tickets, the lottery smart contract uses MOD operation and SHA3 as below:
MOD is Modulo operation that always produces a single result.
SHA3 is a cryptographic hash function that converts any large number into a consistent 256-bits one that is thus suited for matching to ticket numbers

Final​ ​number​ ​(1)​ ​=​ ​SHA3(​ ​Randao​ ​Final​ ​Number​ ​)

  • The formula for deciding the jackpot​ ​winning​ ​ticket​ is below:
    If the last digit of the Final number (1) which was produced by “SHA3 of Randao Final Number” is ‘0’, ‘1’, ‘3’ or ‘8’, there is a Jackpot prize in this round of lottery. Jackpot ticket number = Final number (1) MOD number of tickets sold.
  • The formula for deciding the winning tickets of “1st prize” is below. Whether there is a Jackpot prize or not in the round, the Lottery contract always uses the formula as below to calculate Final number (2)

Final​ ​number​ ​(2)​ ​=​ ​SHA3(​ ​Final​ ​number​ ​(1)​ ​)

“1st prize Ticket number” = Final number (2) MOD number of tickets sold
If the “1st prize Ticket number” is identical to “Jackpot Ticket number”, the “1st prize Ticket
number” is determined by repeating the calculation formula as below until getting a unique “1st
prize Ticket number”

Final​ ​number​ ​(3)​ ​=SHA3(​ ​Final​ ​number​ ​(2)​ ​)

1st prize Ticket number = Final number (3) MOD number of tickets sold

  • The formula for deciding the winning tickets of 2nd prize to 4th prize is the same formula
    for deciding 1st prize:

Final​ ​number​ ​(i)​ ​=(SHA3(​ ​Previous​ ​Final​ ​number​ ​))

“The next prize Ticket number” = Final number (i) MOD number of tickets sold If the “The next prize Ticket number” is identical to any “Previous Winning Ticket number”, the “The next prize Ticket number” is determined by repeating the calculation formula as below until getting a unique winning ticket number.

Final​ ​number​ ​(i+1)​ ​=​ ​(SHA3(​ ​Final​ ​number​ ​(i)​ ​)

The next prize Ticket number = Final number (i+1) MOD number of tickets sold