Airbloc’s Lottery Selection Procedure

Wonkyung Lyu
Airbloc Protocol
Published in
3 min readJun 14, 2018

Dear Airblocers,

I’m Wonkyung Lyu, the Technical Director & Co-Founder at AIRBLOC PROTOCOL.

As previously announced, the public crowdsale structure will be divided into two rounds.

The first round will be a random lottery for 1,500 wallets selected from a pool of approved whitelists (KYC) that are verified after 14 June 2018, 07:00 (UTC).

Only wallet addresses with equal or more than 0.5 ETHs will be eligible for the lottery. A snapshot will be taken immediately after the whitelist closes on 14 June 2018, 07:00 (UTC).

Lottery Results will be published on Github/Google Sheets on 14 June 11:00 (UTC) together with the Smart Contract Address for the lottery. Links will be provided in our community channels.

TECHNICAL DETAILS ON HOW LOTTERY PARTICIPANTS ARE SELECTED

Now, I will give a technical explanation of how lottery participants are selected.

First, all wallets registered and approved in the whitelist after June 14 2018 at 07:00 (UTC) will be extracted.

All of the wallet addresses extracted here are those that have the right to participate in the public sale of the AIRBLOC PROTOCOL properly through KYC. In addition, we will ONLY extract wallets that have a minimum of 0.5 ETHs.

Second, we will sort the extracted wallets by the wallet address alphabetically, then number them from 0 to n-1 (where n is the total number of wallets).

Because randomly sorting the wallet addresses using our own computing devices and programs may result in fairness issues, we will use use randomly generated in hexadecimal to number the Ethereum wallet addresses.

Third, this numbered wallet address list is saved as a .txt file, then uploaded to the GitHub Repository, and the SHA256 Hash is recorded on an Ethereum Block to prevent tampering.

The file will have the following format.

# BEGINNING OF LOTTERY DATA FOR AIRBLOC PROTOCOL PUBLIC SALE

0 0x04257b97df060e5D8fc63f32C5c839d40b6B8f23
1 0x0b07605e98EB1e8B50f477C6b2c80EA1318e3605
2 0x51e38d2beb5A59d2bA8DC23813Da6CcF5F429dD4
3 0x8a54E128eFB303cf61C5fB7B2037c0B39bB5Bcf9

# END OF LOTTERY DATA

Fourth, we will pick 1,500 wallets from the list of wallet addresses that have n rows.

This full wallet list is already randomly sorted from above, it is possible to set a specific starting point s (where 0 ≤ s < n), and we will choose 1,500 wallets between s and s+1,499 wallets as lottery winners.

If s+1,499 exceeds n-1, we will draw a lottery from s to n-1 first, and start over from 0 to the rest of it. In other words, this list of full wallets circulates in a circle with n-1 next to 0 again. Therefore, everyone who has his / her wallet address on the front side or on the back side can win with the same probability.

The process of extraction of the random number relies on the Randomness Beacon operated by USA National Institute of Standards and Technology(NIST) for fairness.

This beacon records 128 random hexadecimal digits every minute. We will use the Output Value of Version 1.0 generated on June 14, 2018 at 10:00 (UTC+0). If the status at that time is not Normal, it increases by 1 minute and uses the normal value.

The 128-digit hexadecimal number created on NIST will be replaced with a decimal value. For example, the Output Value of June 14, 2018 at 03:42 am (UTC+9) is as follows. Ignore intermediate white space.

03A86577E2F16B910CB6984142C6D1DC3E75617A8669B9481AAA0CBB305B2C578B0629E8094B41FF978F2F65352B3138C551984F4987ECD142B8CC35CA595EEC

If you replace this value in decimal, the result is as follows. (I will use this tool for replacing.)

191574440747937233099005510275433026035028733407948386342467338297112395703138894591392012950143437555264640221601678929820402037090120783756023750549228

When this enormous and vast number is R, s is the remainder when dividing R by n (ie, s=R% n), so s will have random values from 0 to n-1. (I will use this tool for MOD operation.)

At last, The final 1,500 selected wallet addresses will be published through the GitHub Repository and this Medium blog. Lottery Results will be published on Github on 14 June 11:00 (UTC) together with the Smart Contract Address for the lottery. Links will be provided in our community channels.

Because the SHA256 Hash value of original wallet list file is written on the blockchain to forbid tampering, and there is reliable and eternal time-based R value generated by NIST, this process will always have the same result even if it is executed several times. Therefore, if you need confirmation of the results we disclose, you can repeat the procedure described above to verify.

This transparent and fair process has allowed more Airblocers to participate in the AIRBLOC PROTOCOL Public Sale with equal opportunity. In addition, even if you did not win this lottery, you can participate in the public sale through the second round of the “First Come, First serve” without gas war by limiting the gas price. :-)

--

--