Pages:
Author

Topic: [CLOSED] 150%+ Payout Raffle, Rep building thread - page 2. (Read 1981 times)

full member
Activity: 210
Merit: 100
1H7E7YqMoWQZsUCumbvyASYJzpnz3dudaB

2 tickets, hope I win that was my last Satoshi
newbie
Activity: 28
Merit: 0
Okay, thanks again for the help...
hambalan, I was going to use the last two numerical digits (0-9)  of the hash, I'm not sure if you got that, but it seems like you probably did and the numbers aren't evenly distributed in a decimal system.

So now I have switched from my system to assign each ticket a number from 1 to 100 and am going to just do what you said. Each ticket has a number starting from zero, and I will take the last two alpha-numeric characters of the block hash and convert them into decimals, then determine the winner by using H modulo T=W, where H=decimal value of last two hash characters, T=tickets sold and W= winning ticket number

Once again, thanks for your help
newbie
Activity: 30
Merit: 0
Oh FFS. You would think Google Docs could handle bit manipulation in a reasonable way. Never mind the earlier link, use this one for the random number generator instead:

https://docs.google.com/spreadsheet/ccc?key=0AsBByTjGFrPUdFYwSVhJYmJRb2lqbEJRSmZBQTNhSWc&usp=sharing
newbie
Activity: 46
Merit: 0
Since you have given me a free ticket, I suppose I now have a vested interest in this.

Your suggested method is vastly improved with one major flaw: the block hash is hex based (16 values) as opposed to decimal based (10 values). If you take a look at the hash value of the block, using tescomatty's example (0000000000000049f7405dee9857490618e7536a1e28c750feef53125477eda2), you'll see that it contains 16 "numbers / values" (0-9; a-f). Taking the last two "digits" of the hash ("a2" in this case), it is actually equivalent to 162 in the decimal system (easy online conversion can be found at http://easycalculation.com/hex-converter.php). If you take the first three digits after the 0s (49f), it is equivalent to 1183 etc. You are of course free to choose any number of digits from the hash, but it is important that the selection should be converted from hex to decimal.

The next step is to "mod" the decimal equivalent of your selected string. This basically is to divide a number and take the remainder after the division. For example, "a2" in hex = "162" in decimal, and dividing 162 by 4, the remainder would be 2 (162 = 4 x 40 + 2 ).

It is important to renumber the number of entries in the raffle and start from 0. Instead of numbering 4 tickets as 1,2,3 & 4, you need to renumber them to 0,1,2 & 3. This is because modding will always produce a result (remainder after division) less than what you divide the number by (16 mod 4 = 0; 17 mod 4 = 1; 18 mod 4 = 2; 19 mod 4 = 3; 20 mod 4 = 0 etc)

Hope the above makes sense.
newbie
Activity: 30
Merit: 0
I'm sorry, but I really am not understanding all of that the post
What about this (sort of based on that)
Each ticket is given a number, which equals (100/(S+1))*P, where S=Number of tickets sold and P=place which the ticket was sold, so first sold is 1, second is 2...The +1 is in there so the lowest and highest numbers will be evenly spaced from 0 and 100
Then, the winner is the person whose number is closest to the number formed by combining the last two digits of the most recent block's hash. If the number was closer to zero or 100 than the lowest ticket number, the next block will be used (or else first and last tickets would be more likely to win)
In the example you linked to, the numbers would be:
20 nikto
40 boba
60 spork
80 azrael
And the last two digits of the block would be 7 and 2, making the number 72, so azrael would win
This seems like it would be fair to me

There are too many odd cases for this to be verifiable. Also the block hashes are reported in hexadecimal. You are not going to get a number evenly distributed between 0 and 99.

My original idea was to use a third party as a random number source, which required the salt and the hash. If you can get a random number from a future source, like a block hash, then you don't need to keep the file contents secret. Thus all you really need here is to turn a block hash into a random number and then use that to select a ticket. In order for this to be provably fair it is absolutely necessary that you state the rules for doing this precisely and unambiguously before you know what the random number is.

Here is a straightforward plan. Make a list of tickets in a spreadsheet. If someone has more than one ticket, put their name in the spreadsheet twice. Give each line a number starting with 0. So, assuming boba has two tickets:

0 nikto
1 boba
2 boba
3 spork
4 azrael

Post the spreadsheet in this thread.

It turns out I can't resist a good math problem. I put together a Google Docs spreadsheet that turns block hashes into a random number, and then into a row selector:

https://docs.google.com/spreadsheet/pub?key=0AsBByTjGFrPUdFYwSVhJYmJRb2lqbEJRSmZBQTNhSWc&output=html

It is a small improvement on tescomatty's idea. I cut up the 256-bit hash into eight 32-bit chunks, XORed them together, then took the modulus of that and the number of entries to get a random number between 0 and the number of entries minus one. If anyone with a CS or cryptography background cares and wants to double-check my work, I would appreciate it.

When you post your spreadsheet, announce a block number a good 20 links higher than the newest one. When the block is generated, post its hash to the thread. PM me. I will update the spreadsheet with the hash, and it will spit out a number matching one of the entries in your spreadsheet.

If there is actual money at stake here and you are planning to run a fair and verifiable giveaway, it would also benefit you to post the address of the wallet you will be distributing the coins from.
newbie
Activity: 28
Merit: 0
Okay, 18 hours until drawing...The current prize amount is BTC.155, so .07142 (odds of winning with one ticket)*.155(prize amount)=0.01107=prize if it were shared between ticket buyers. 0.01107/0.005(price of ticket)=221.4% payout, or a negative 121.4% "house" edge
Will anyone buy a ticket now?
newbie
Activity: 28
Merit: 0
Great, the prize is now at BTC0.155 with 14 tickets sold
Anyone else want in?
sr. member
Activity: 588
Merit: 253
I'm glad to see these changes, I'll take another 8 tickets, so I that have 10 total. Sent BTC0.04 more
 
newbie
Activity: 28
Merit: 0
For their help with setting up a provably fair system for the raffle, I am giving hambalan an spooranchr a free ticket, this brings the prize to 0.095
newbie
Activity: 28
Merit: 0
I have updated the spreadsheet to include each individual ticket and the provably fair lucky number system I have set up.
https://docs.google.com/spreadsheet/ccc?key=0AmRvfLTge4DMdFFSVXVrR2R1RnNaWEJ4U05sS2FhVlE#gid=0
newbie
Activity: 28
Merit: 0
seriously, if you want to do this right, at least implement tescomatty's idea at your other thread:

https://bitcointalk.org/index.php?PHPSESSID=2087kekjop1ojdaqg2umui9f93&topic=219632.msg2334161#msg2334161

just simply use the first block after the closing time (you may wish to edit your 1st line in red in your 1st post to reflect this)

just my two cents
I'm sorry, but I really am not understanding all of that the post
What about this (sort of based on that)
Each ticket is given a number, which equals (100/(S+1))*P, where S=Number of tickets sold and P=place which the ticket was sold, so first sold is 1, second is 2...The +1 is in there so the lowest and highest numbers will be evenly spaced from 0 and 100
Then, the winner is the person whose number is closest to the number formed by combining the last two digits of the most recent block's hash. If the number was closer to zero or 100 than the lowest ticket number, the next block will be used (or else first and last tickets would be more likely to win)
In the example you linked to, the numbers would be:
20 nikto
40 boba
60 spork
80 azrael
And the last two digits of the block would be 7 and 2, making the number 72, so azrael would win
This seems like it would be fair to me
newbie
Activity: 46
Merit: 0
seriously, if you want to do this right, at least implement tescomatty's idea at your other thread:

https://bitcointalk.org/index.php?PHPSESSID=2087kekjop1ojdaqg2umui9f93&topic=219632.msg2334161#msg2334161

just simply use the first block after the closing time (you may wish to edit your 1st line in red in your 1st post to reflect this)

just my two cents
newbie
Activity: 28
Merit: 0
Just over 25hrs to go...Is there nobody else who wants to buy a ticket?
newbie
Activity: 28
Merit: 0
If I only sold one more ticket, the payback odds would be 400%
newbie
Activity: 28
Merit: 0
Well, anyone else want to buy a ticket?
I have a google doc of the entries, it would be great if someone would request access and help me out with the hashing for future raffles to make it provably fair,
Thanks
EDIT: Here is my link to the spreadsheet https://docs.google.com/spreadsheet/ccc?key=0AmRvfLTge4DMdFFSVXVrR2R1RnNaWEJ4U05sS2FhVlE#gid=0
newbie
Activity: 30
Merit: 0
I'm sorry to say that I didn't exactly go through all 15 pages of my last thread and didn't see your comment until now. Right now, I have a spreadsheet of all entries, but not the hashes system. What if I just had an unbiased hero member look at my spreadsheet and use a random number generator to choose the winner, then post the name in the thread?

That would certainly be a big improvement over what you have now. However I would doubt the sanity of an unbiased hero member who would be willing to do something like that. No, I think tescomatty had the right idea. If you need help with the math I'm sure there's plenty on this forum who can help you.
newbie
Activity: 28
Merit: 0
I'm sorry to say that I didn't exactly go through all 15 pages of my last thread and didn't see your comment until now. Right now, I have a spreadsheet of all entries, but not the hashes system. What if I just had an unbiased hero member look at my spreadsheet and use a random number generator to choose the winner, then post the name in the thread?
newbie
Activity: 30
Merit: 0
If there's no legitimate way to find out who's the winner, then there's actually no point in doing it and no one will ever trust you

Do you want to propose a system?

As I posted in your other thread:

https://bitcointalksearch.org/topic/m.2332147

See also the followup post by tescomatty for some excellent ideas.

If you want, you can make this a fair and verifiable raffle.

Unfortunately, you have set up a system that seems fair but is completely unverifiable. Either you are giving free money to build a good reputation (which doesn't seem to be going very well), or you are running a puppet show and collecting all the winnings. Really there is no way for an outside observer to tell the difference.
newbie
Activity: 28
Merit: 0
I sent BTC0.01 for 2 tickets also!
13t7yBPPStby4qWbUyG4HimoLE97jNvfcG

Great that brings the total to BTC0.08 with 4 tickets sold Smiley
full member
Activity: 196
Merit: 100
I sent BTC0.01 for 2 tickets also!
13t7yBPPStby4qWbUyG4HimoLE97jNvfcG
Pages:
Jump to: