Butterfly is completely decentralized lottery, where all the data is stored and processed on the Solana Blockchain. Playing the lottery,drawings and the distribution of rewards are carried out on the blockchain. All lottery data and process is transparent and cannot be manipulated by third parties
The famous metaphor of butterfly effect in chaos theory, says a butterfly flapping its wings in Brazil may cause a tornado in Texas. When you play Butterfly Lottery this will hardly ever cause any storm or tornado, but it will definetely have effect on lottery results of next draw and all future ones.
You can play on www.justluckit.com
Or you can download this file and play yourself.
If you want to publish your website here please contact us on our discord channel.
Every time you make a coupon in Butterfly649 a hash function modifies the randomness of the game.
"The numbers you play + prior hash result" goes into a hash function and the output is saved as new "randomness". The nex player takes this randomness and repeats the process with the number he played + output from your has function. Your decision of choosing number 2 or number 3 on your coupon totally changes the result of next draw and all future draws.
You can check here how hash function works
Randomness is saved on program subregisters. We need a few subregisters to scale Butterfly Lottery. So, many people are able to play at the same time.
When the countdown time shown on home screen is zero, new draw week begins and subregisters stop saving (we will refer this as "draw" in the text). Randomness in all subregisters, in order by register no, go to another hash function with their related main registers
output = hashFunction(randomness of 1st register + randomness of mainregister);
randomness of mainregister = output;
output = hashFunction(randomness of 2nd register+randomness of mainregister);
randomness of mainregister = output ;
...and so on until the last subregister) to reach randomness in mainregisters. The same process repeats for mainregisters to find final randomness.
output = hashFunction(randomness of 1st mainregister + final randomness);
final randomness = output;
output = hashFunction(randomness of 2nd mainregister + final randomness);;
final randomness = output ;
...and so on until the last mainregister)
We derive the lucky numbers from this final randomness.(we will refer this and above derivations as "process" in the text). You can look at the randomness of the counters and how final randomness is derived here.
It can take from 5 minutes up to an hour. Then lucky numbers can be queried from blockchain. ()
The number of subregisters depends on how often Butterfly Lottery is played. Maximum number of subregisters can be 65,025.
Once created subregisters can not be deleted.
Initial randomness in subregisters when first created is "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX".(44 X's).
Then it is changed as a player uses it.
Which subregister will player use is chosen by the random generator of player's own device.
There are two sets of subregisters with their related mainregisters. While one is used for saving data, the data of other one is processed. At every draw they replace eachother. The one that is processed starts to save data and the saved data of another is started to be processed.
Randomness of subregisters is preserved on the processing. However randomness of mainregisters are modified on the process. Every week after the draw there will be a pause of 2 hours before the process. During this pause, you can replicate here the process and reach the same lucky numbers to make sure lottery results are not manipulated by third parties.
Randomness is modified only by playing and you can see it anytime on blockchain. So, you can know the result of the draw at that exact moment. Does that mean you match six numbers? Let's try!
You make coupon of exact matching numbers and play. However, you modify the randomness when you play and new draw result is different than the numbers you chose. Can you calculate how your numbers would have an effect on the modification and choose such six numbers that would match your modification? Maybe in the future. No supercomputer is capable of such a calculation in a such short amount of time yet. Besides many other players may also be playing at that moment and effecting the results.
At this moment draw is made every seven days. Countdown is made according to Unix Time Stamp. When countdown is zero someone call Butterfly Lottery smart contract and starts a new week. Seven days are added to timestamp and new countdown begins.
All coupons you made are saved on blockchain. And all distributions, calculations and control of coupons are done on blockchain.
All accounts storing data about past draws are stored on Blockchain and can be seen here.
After the drawing, controllers check each coupon by calling the smart contract. Controllers also get some reward for this process. Anybody can be a controller and earn rewards..
You can also host this game on your web site and earn Sol as people play. Join our discord channel for details.
At this moment 10% of the game price gets host and another 10% gets miner.
The rest 80%(except game expenses, which is around 0.0001%) is distributed to winners as below:
Government organized lotteries ussually give out between 40% - 50% of the pool.
Players can claim their prizes or deposits after control progress is over. Deposit is needed to keep data on Solana Blockchain.
Players claim their prizes or deposit on blockchain instantly without any permission or register.
To see how the claims are made, click here.
Depending on how many coupons made it can take from few minutes up to a day after draw is made.
No, Butterfly Lottery doesn't belong to anybody or any company or government. It is a smart contract on Solana Blockchain. As we stated above you can take part in controlling coupons and hosting the game without any permission or register. The files you need to interact with the Butterfly Lottery are here.
For a while we will be controlling lottery settings like how often we have draw, coupon price, share of prizes and controllers etc. But we are working on the community program where community members can vote and offer changes with Butterfly Lottery Token.
Join our discord channel to hear about us.