Transparency and fairness are our top priorities and indeed the reason for the development of Dripdraw. We were scammed by other very reputable competitors in this industry and decided to launch Dripdraw.com. But we do not only claim to be fair and transparent, we can prove it in all drawings.
Fundamentally and broadly speaking, we use the same technology and principle as Bitcoin and other PoW (Proof-of-Work) crypto currencies to ensure that all drawings are fair and provable. You can divide the unboxing procedure into four steps:
/**
* Calculates the roll result using the user and
* server numbers.
* @param userNumber number/string The chosen number by the user
* @param serverNumber number/string The chosen number by the server
*/
static calculateRollResult(userNumber, serverNumber) {
// Take both numbers and create a string out of it to iterate
// through the digits, required later on.
const combinedNumberStr = userNumber.toString() + serverNumber.toString();
// In order to improve the average result, we need some additional number
// in case the user/server numbers are especially small.
// This also used to strengthen the roll against manipulation.
const strengthFactor = combinedNumberStr.length;
// Now we will iterate through the combined number string
// and modify the sum according to each digit.
let sum = 1;
for (const valChar of combinedNumberStr) {
let val = valChar.charCodeAt(); // Since we support alphanumeric values, we need to convert them into numbers
// We use our parameters to calculate a new sum and keep it below 1.000.000
sum = ((sum * val) * strengthFactor + val + 1) % 1000001 - 1;
}
// Once we are done, we'll have a random number between 0 and 100, with an accuracy to 4 places after the comma.
return parseFloat((sum * 0.0001).toFixed(4));
}
We also tested the average result distribution and can guarantee fair outcomes, since it's always very close to 50%:avg. of 100,000 tests: 50.0767
avg. of 100,000 tests: 50.0567
avg. of 100,000 tests: 49.9756
avg. of 100,000 tests: 50.0438
avg. of 100,000 tests: 49.9530
So the result of the draw depends on both: The user and server number. Since we can only influence the server number, we prove with the hash already before opening that we have generated it and that it does not depend on the user number. The user can verify this by checking with a SHA256 online tool whether the hash and the server number match. We can recommend the tool https://emn178.github.io/online-tools/sha256.html
In principle you can already verify with the server hash that everything went fair, since both numbers (server and client) are needed to calculate the result. To check and verify the result after opening the boxes, we provide a "verify" button on https://dripdraw.com/user?s=1:
Using this view, you can check if the roll really went 100% fair and also calculate the product you've drawn.
Using this window, you can check the item you have drawn by checking in which range your result number is from the product list. In the example above, our result number was 46.9066%. Since the first (the item with the highest probability) has 79.7637%, it falls into this range.