Drawing winners without @croupierbot

in #contest6 years ago

As I didn't have time to patch up the old @croupierbot, I'm going to do the fair drawings for my latest Ragnarok Conspiracy Beta Reading Contest by hand. In this post I want to explain how I'm doing that so everyone can confirm my draws are 100% fair and unbiased.

The first step we take is that we start a python interpreter and we define an array of lottery tickets by who owns them.

In this example, allice gets four lottery tickets, carol gets two and bob gets three.

The second step I'll take is going over to steemd.com. In the right pane, there is a field defined called head_block_number.

This number will go up at a rate of one block every few seconds on average. So next thing we do is we pick a nice round block number. My strategy is to round up to the next one hundred (this should be zero to five minutes in the future), then add an extra hundred. This should give us a block that currently doesn't exist yet, and thus also isn't signed yet.

Now basically we have all we need to announce the draw. To do this we disclose both the block number we intent to use and the array of ticket owners.

Announcing that the lottery draw for this lottery for a prize of 3 STEEM 
will be done using the witness signature for block 21,640,600. 
The ticket array used is defined by: ["alice"]*4+["carol"]*2+["bob"]*3

Now we wait. In a hand full of minutes block 21,640,600 will appear, and we can access its info on steemd with an url by adding /b/ followed by our block number to the steemd URL. In our case https://steemd.com/b/21640600

So we visit the steemd block info page and scroll down.

If we click the Show raw block data link, we get to see our witness signature. This we shall be using. We copy the signature.

And we use our python shell to convert it to a huge number. Now that it is a number we can use a modulus, using the size of our ticket array, to draw the winner.

That's it I hope all of this is making sense. Any case, I hope everyone enjoyed the competition and thank you for helping me improve the quality of my work.

Sort:  

Oh hell, already know you do things fair. For all I care you could throw the names all in a hat and pull them out. It was a fun time, and a fun read.

Coin Marketplace

STEEM 0.18
TRX 0.14
JST 0.030
BTC 58679.35
ETH 3155.04
USDT 1.00
SBD 2.44