PROOF OF TOSS unique idea is based on the combination of several main algorithms. The detailed information is provided in the Technical Paper but a brief overview on algorithms is listed below:

1) The Period of Completing a Wager

A wager’s ready to complete when the specified time of an event’s end arrives. When this time has come:

placing bets are prohibited;

common events are ready for judgement;

the operator’s event is ready to publish the outcome, by an operator.

2) The Sum of an Operator’s Collateral

When a user places a bet, part of an operator’s collateral must be blocked. Also 0.5% from the sum of the whole betting pool must be blocked additionally in case there’s a challenge requiring a judgement process. This 0.5% will be transferred to judges as a reward. An operator’s collateral is considered a bet, so it’s included in the betting pool.

3) The Sum of an Event Creator’s Deposit

To create a common event, making a deposit of any sum’s required. The deposit is used in the calculations of an event creator’s reward and in some cases an event creator can be fined the amount of the deposit, in favour of the judges/bettors.

4) The Sum of a Judge’s Deposit

All judges deposits are stored in a judgement fund. A judgement fund takes part in an event funds distribution following the event.

5) Random Number Generation for Event Distribution for Judging

On the blockchain, a block’s generation occurs at different intervals and similar blocks can be generated on different machines. That’s why it’s not possible to use the value based on the characteristics of a particular machine as a seed and PROOF OF TOSS developers needed to create an algorithm based on a seed value originating from the blockchain:

1. A judge calls a command for a deposit sum.

2. A judge locally generates a seed, it must be unique for one address.

3. A judge generates hash and sends it using a smart contract. A deposit is withdrawn from the judge’s account.

4. A judge waits for another 50 users to send and confirm their seeds.

5. A judge sends a seed using a smart contract. The smart contract computes hash seed + source address. If the hash matches with a hash previously saved in step 3, the seed goes into an array of seeds.

6. Another user must confirm the seed and after that hash is calculated. This will be a random number.

7. All random numbers are added to the cumulative hash string and it will be used to determine a random selection for a jackpot.

6) Algorithm for Choosing an Event to Judge

A judge can judge any event if the following conditions are met:

– A judge made a deposit for judging and got a random number;

– If it’s a common event, an end date must not be earlier than T=Tn-Tj (where

Tn is a current time and Tj is a time for judging, 7 days) and a date of resolving an event by an operator must not be earlier than T=Tn-Tj’ (where Tn is a current time and Tj’ is a time for judging a challenged event, 8 days). Plus, a necessary number of challenges must occur within a particular time period.

– Voting didn’t lead to consensus;

– The bet sum for an event depends on a judge’s deposit and must be within the range described in the following table:

Have a closer look at our Technical Paper to learn more about PROOF OF TOSS project and it’s technical insights!