photonresearch (OP)
Member
Offline
Activity: 90
Merit: 11
Author of Bitcoin Books, the latest: Mining Pools
|
|
July 07, 2016, 08:22:22 AM Last edit: July 10, 2016, 08:40:39 AM by photonresearch |
|
The Chasing Casascius book purchasers ( www.chasingcasascius.com) are entitled to a raffle for the Casascius Gold Plated Bar featured in the book! Therefore we have developed a provably fair raffle using bitcoin's blockchain! There is still time to purchase a copy on the site before the halving to be included in this raffle. There are 5,000 copies of the book, enabling purchasers for a 1 in 5000 chance of winning. If won the gold plated bar will be mailed to you. A spreadsheet will be shared with bitcoin addresses associated with each order by place in order. The following javascript makes a request to Toshi.io using "request" framework, requesting information about block 420,000, and using the hash of that block as a PRNG seed to generate a number between 1 and 5000 using the RNG-JS library PRNG's generate a sequence of random numbers, always in the same order, so by always displaying the first random number in the sequence of random numbers, we will always be able to see the winner. This code is running on a 64-bit heroku server. http://ccltdcheckoutserver-live.herokuapp.com/raffle var blockNumber = 420000; requestServerToServer({ url: 'https://bitcoin.toshi.io/api/v0/blocks/' + blockNumber, method: 'GET', }, function(error, response, body) { if(response.statusCode == '404'){ res.json({"block height": "block 420,000 is not yet available", "block hash": "please check in the future", "winning book number": "n/a" }); } else{ if (error) { console.log('Error sending message: ', error); } else if (response.body.error) { console.log('Error: ', response.body.error); } else{ var blockInfo = JSON.parse(response.body); var rng = new RNG(blockInfo.hash); console.log(blockInfo.hash);
res.json({"block height": blockNumber, "block hash": blockInfo.hash, "winning book number": rng.random(1, 5000) }); } }If there's anything not provably fair enough, just let me know and we'll see if we can adjust it to be more transparent! Aside from protecting the pseudonymity of the purchasers, the spreadsheet of bitcoin addresses will also be used to distribute the counterparty token to be associated with the each copy of the book. Purchasers will be able to see their address in the spreadsheet, after I collect more addresses from people. Only counterparty addresses or any other address where you control the private key! The spreadsheet is here: https://docs.google.com/spreadsheets/d/1wknANgxXkzlHgxaHc6G18M2bxpnjpHjnDayYW9ngCUg/edit#gid=0This is phase 2 in the Chasing Casascius project. Please stay tuned for Phase 3 - the distribution of the Chasing Casascius counterparty token to purchasers - and order your copies of the book before the halving!
|
|
|
|
|
monkeynuts
Legendary
Offline
Activity: 1252
Merit: 1259
MONKEYNUTS
|
|
July 07, 2016, 08:49:08 AM |
|
Will there be a 1 in 5000 chance, or will there be less ?
I am pretty sure all 5000 havn't been sold, and may not sell before the halving, so does an unsold book really still get a ticket in the raffle ?
What happens if an unsold book wins ? Surely this needs to be based on actual buyers of books sold ?
|
|
|
|
coin@coin
Legendary
Offline
Activity: 1722
Merit: 1000
|
|
July 07, 2016, 08:56:16 AM |
|
What is the utility of the Counterparty token? Just to have a token? Or will it be usable for something in the future?
|
|
|
|
Zepher
Copper Member
Hero Member
Offline
Activity: 686
Merit: 603
Electricity is really just organized lightning
|
|
July 07, 2016, 08:59:37 AM |
|
Will there be a 1 in 5000 chance, or will there be less ?
I am pretty sure all 5000 havn't been sold, and may not sell before the halving, so does an unsold book really still get a ticket in the raffle ?
What happens if an unsold book wins ? Surely this needs to be based on actual buyers of books sold ?
I'd tend to agree with you. I have no idea how many have been sold, but I'm assuming that you've still got a large amount of stock left photon? Why not use the PRNG seed to generate a number between 1 and ( number of books sold )? I'm sure you stated in the other thread that you have order numbers which will be used to check the winner of the draw? Surely this is a better idea?
|
My only payment address: 1ZephertJThxkHih7XcaUHBkMSnvkTt5u
|
|
|
Zepher
Copper Member
Hero Member
Offline
Activity: 686
Merit: 603
Electricity is really just organized lightning
|
|
July 07, 2016, 09:40:02 AM |
|
What is the utility of the Counterparty token? Just to have a token? Or will it be usable for something in the future?
Think it's for transferring ownership of the book if sold on. Neat! How does each book have a unique identifier or did I read that wrong?
Each book owner is entitled to an associated Counterparty token everyone gets a counterparty token sent to an address they control and if they sell the book on the after market, make sure the new buyers gets the token too
|
My only payment address: 1ZephertJThxkHih7XcaUHBkMSnvkTt5u
|
|
|
Mitchell
Staff
Legendary
Offline
Activity: 4102
Merit: 2317
Verified awesomeness ✔
|
|
July 07, 2016, 10:13:42 AM Last edit: July 07, 2016, 11:00:12 AM by Mitchełł |
|
Wait. won't "rng.random(1, 5000)" generate a new number on each and every request? If so you could just keep making calls to the site until you have a result you like and show us that or in other words this isn't provably fair.
Also, did you sell all 5000 books? If not, what happens if the winner is a book that hasn't been sold yet?
|
| | | . Duelbits | | | ▄████▄▄ ▄█████████▄ ▄█████████████▄ ▄██████████████████▄ ▄████▄▄▄█████████▄▄▄███▄ ▄████▐▀▄▄▀▌██▄█▄██▐▀▄▄▀▌███ ██████▀▀▀▀████▀███▀▀▀▀█████ ▐████████████■▄▄▄■██████████▀ ▐██████████████████████████▀ ██████████████████████████▀ ▀███████████████████████▀ ▀███████████████████▀ ▀███████████████▀ | | | | | . ▄ ▄▄▀▀▀▀▄▄ ▄▀▀▄ █ █ ▀▄ █ ▄█▄ ▀▄ █ ▄▀ ▀▄ ▀█▀ ▄▀ ▀█▄▄▄▀▀ ▀ ▄▀ ▄▀ ▄▀
Live Games | | ▄▄▀▀▀▀▀▀▀▄▄ ▄▀ ▄▄▀▀▀▀▀▄▄ ▀▄ ▄▀ █ ▄ █ ▄ █ ▀▄ █ █ ▀ ▀ █ █ ▄▄▄ █ ▀▀▀▀▀▀▀▀▀▀▀▀▀ █ █ █ █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ █▄█ █ ▀▀█ ▀▀█ ▀▀█ █ █▄█
Slots | | . ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▄ █ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █ ▄▄ █ █ █ █ █ █ ▄▀▀▄▀▀▄ █ █ █ ▀▄ ▄▀ █ █
Blackjack | | | | █▀▀▀▀▀█▄▄▄ ▀████▄▄ ██████▄ ▄▄▄▄▄▄▄▄█▀ ▀▀█ ████████▄ █ █████████▄ █ ██████████▄ ▄██ █████████▀▀▀█▄▄████ ▀▀███▀▀ ████ █ ███ █ █▀ ▄█████▄▄▄ ▄▄▀▀ ███████▀▀▀ | | | | | | | | | | [ Đ ][ Ł ] AVAILABLE NOW | |
Advertisements are not endorsed by me.
|
|
|
defcon23
Legendary
Offline
Activity: 1120
Merit: 1002
|
|
July 07, 2016, 10:16:10 AM |
|
Wait. won't "rng.random(1, 5000)" generate a new number on each and every request? If so you could just keep making calls to the site until you have a result you like and show us that. Also, did you sell all 5000 books? If not, what happens if the winner is a book that hasn't been sold yet?
yeah Mitchełł, good catch ! that's indeed THE question...
|
|
|
|
Zepher
Copper Member
Hero Member
Offline
Activity: 686
Merit: 603
Electricity is really just organized lightning
|
|
July 07, 2016, 10:21:17 AM |
|
Wait. won't "rng.random(1, 5000)" generate a new number on each and every request? If so you could just keep making calls to the site until you have a result you like and show us that. Also, did you sell all 5000 books? If not, what happens if the winner is a book that hasn't been sold yet?
yeah Mitchełł, good catch ! that's indeed THE question... Well this looks like it could get complicated
|
My only payment address: 1ZephertJThxkHih7XcaUHBkMSnvkTt5u
|
|
|
chronicsky
Legendary
Offline
Activity: 2828
Merit: 1222
Just looking for peace
|
|
July 07, 2016, 10:53:07 AM |
|
what's the price of the book anyway ?
|
|
|
|
Zepher
Copper Member
Hero Member
Offline
Activity: 686
Merit: 603
Electricity is really just organized lightning
|
|
July 07, 2016, 10:56:43 AM |
|
what's the price of the book anyway ? $150. Currently BTC0.23 on his website.
|
My only payment address: 1ZephertJThxkHih7XcaUHBkMSnvkTt5u
|
|
|
chronicsky
Legendary
Offline
Activity: 2828
Merit: 1222
Just looking for peace
|
|
July 07, 2016, 12:37:05 PM |
|
what's the price of the book anyway ? $150. Currently BTC0.23 on his website. That's high for the book with just a story
|
|
|
|
Zepher
Copper Member
Hero Member
Offline
Activity: 686
Merit: 603
Electricity is really just organized lightning
|
|
July 07, 2016, 01:03:16 PM |
|
what's the price of the book anyway ? $150. Currently BTC0.23 on his website. That's high for the book with just a story Agreed. I can appreciate the cost involved in manufacturing these, photoshoot, model etc - but buyers feel like they've paid too much for what they've received. I'd like to own one, but the price seems excessive.
|
My only payment address: 1ZephertJThxkHih7XcaUHBkMSnvkTt5u
|
|
|
photonresearch (OP)
Member
Offline
Activity: 90
Merit: 11
Author of Bitcoin Books, the latest: Mining Pools
|
|
July 07, 2016, 02:50:42 PM |
|
Wait. won't "rng.random(1, 5000)" generate a new number on each and every request? If so you could just keep making calls to the site until you have a result you like and show us that or in other words this isn't provably fair.
Also, did you sell all 5000 books? If not, what happens if the winner is a book that hasn't been sold yet?
No, that's not accurate, because it is a seeded PRNG. If the code called rng.random multiple times after initialization it would give new numbers, but reinitializing it and running it will get the same sequence of numbers. By only showing the first number, we always get the same result. You can test that code with the hash from block 419,000 and you should get number "610" every time, which was the whole point of showing the code, since we don't know what the hash for 420,000 will be, but can't be manipulated, then we can be confident in this outcome. This is using node.js with "express" and "request" modules Also, did you sell all 5000 books? If not, what happens if the winner is a book that hasn't been sold yet?
The spreadsheet associates all addresses with a book number (by row), so this is indistinguishable for your request. I haven't posted the spreadsheet yet as I haven't gotten addresses from everyone. Purchasers should be able to see their own address via their browsers "find" function. All the addresses will receive counterparty tokens and the winning address holder will also get the gold bar shipped to them.
|
|
|
|
photonresearch (OP)
Member
Offline
Activity: 90
Merit: 11
Author of Bitcoin Books, the latest: Mining Pools
|
|
July 07, 2016, 03:08:17 PM |
|
buyers feel like they've paid too much for what they've received. I'd like to own one, but the price seems excessive.
Thats inaccurate sentiment, I would like to state that I've been very welcoming of the reviews from influential people and that this site's community is not reflective of the aggregate market. There was one (or two?) mixed reviews on this site primarily focused on a price:content ratio than any disdain for the project itself, and the email inbox contains very positive feedback. I'd love to have even greater production value in a future project, every outcome I can imagine increases the scarcity of this book which is good for the buyers and supporters! Trying to be as forthcoming here, hope that helps!
|
|
|
|
Zepher
Copper Member
Hero Member
Offline
Activity: 686
Merit: 603
Electricity is really just organized lightning
|
|
July 07, 2016, 03:20:31 PM |
|
buyers feel like they've paid too much for what they've received. I'd like to own one, but the price seems excessive.
Thats inaccurate sentiment, I would like to state that I've been very welcoming of the reviews from influential people and that this site's community is not reflective of the aggregate market. There was one (or two?) mixed reviews on this site primarily focused on a price:content ratio than any disdain for the project itself, and the email inbox contains very positive feedback. I'd love to have even greater production value in a future project, every outcome I can imagine increases the scarcity of this book which is good for the buyers and supporters! Trying to be as forthcoming here, hope that helps! ~snip~ Don't get me wrong, there is absolutely no disdain for your project itself, you've tread into an area not many other people would be prepared to, with that alone you've provided some new content to the crypto-scene which most are grateful for, so thank you. I'd agree that the price:content ratio is subjective; some will find this item costly for what it is, others are prepared to pay $150 for your book no problem. Thanks for the transparency, and I can certainly appreciate that BtcTalk is only a percentage of your target market.
|
My only payment address: 1ZephertJThxkHih7XcaUHBkMSnvkTt5u
|
|
|
photonresearch (OP)
Member
Offline
Activity: 90
Merit: 11
Author of Bitcoin Books, the latest: Mining Pools
|
|
July 07, 2016, 03:44:49 PM |
|
Will there be a 1 in 5000 chance, or will there be less ?
I am pretty sure all 5000 havn't been sold, and may not sell before the halving, so does an unsold book really still get a ticket in the raffle ?
What happens if an unsold book wins ? Surely this needs to be based on actual buyers of books sold ?
It is a 1 in 5000 chance. The spreadsheet should remove ambiguity on how this is being conducted I'll have to post this by the end of the day absent some addresses since the halving is so close now
|
|
|
|
photonresearch (OP)
Member
Offline
Activity: 90
Merit: 11
Author of Bitcoin Books, the latest: Mining Pools
|
|
July 07, 2016, 03:51:47 PM |
|
What is the utility of the Counterparty token? Just to have a token? Or will it be usable for something in the future?
I begrudgingly added an ISBN to the book after much discussion with the printer, the counterparty token would have ideally replaced the centralized system, now it will compliment and show how things could work. A month ago, people didn't know there was a market for better tools, stay tuned for the post mortem!
|
|
|
|
Mitchell
Staff
Legendary
Offline
Activity: 4102
Merit: 2317
Verified awesomeness ✔
|
|
July 07, 2016, 05:27:13 PM |
|
No, that's not accurate, because it is a seeded PRNG. If the code called rng.random multiple times after initialization it would give new numbers, but reinitializing it and running it will get the same sequence of numbers. By only showing the first number, we always get the same result.
You can test that code with the hash from block 419,000 and you should get number "610" every time, which was the whole point of showing the code, since we don't know what the hash for 420,000 will be, but can't be manipulated, then we can be confident in this outcome.
This is using node.js with "express" and "request" modules Ah yes, of course. I'll try out the code in a bit just to be sure.The spreadsheet associates all addresses with a book number (by row), so this is indistinguishable for your request. I haven't posted the spreadsheet yet as I haven't gotten addresses from everyone. Purchasers should be able to see their own address via their browsers "find" function. All the addresses will receive counterparty tokens and the winning address holder will also get the gold bar shipped to them.
That does not answer my question, so I'm asking you again, what happens when the winning number is a number of a book that hasn't been sold. I know what you are going to do, but if a book isn't sold have nowhere to ship the bar to as nobody can claim it.
EDIT: I just tried out the code and it does indeed output 610.
|
| | | . Duelbits | | | ▄████▄▄ ▄█████████▄ ▄█████████████▄ ▄██████████████████▄ ▄████▄▄▄█████████▄▄▄███▄ ▄████▐▀▄▄▀▌██▄█▄██▐▀▄▄▀▌███ ██████▀▀▀▀████▀███▀▀▀▀█████ ▐████████████■▄▄▄■██████████▀ ▐██████████████████████████▀ ██████████████████████████▀ ▀███████████████████████▀ ▀███████████████████▀ ▀███████████████▀ | | | | | . ▄ ▄▄▀▀▀▀▄▄ ▄▀▀▄ █ █ ▀▄ █ ▄█▄ ▀▄ █ ▄▀ ▀▄ ▀█▀ ▄▀ ▀█▄▄▄▀▀ ▀ ▄▀ ▄▀ ▄▀
Live Games | | ▄▄▀▀▀▀▀▀▀▄▄ ▄▀ ▄▄▀▀▀▀▀▄▄ ▀▄ ▄▀ █ ▄ █ ▄ █ ▀▄ █ █ ▀ ▀ █ █ ▄▄▄ █ ▀▀▀▀▀▀▀▀▀▀▀▀▀ █ █ █ █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ █▄█ █ ▀▀█ ▀▀█ ▀▀█ █ █▄█
Slots | | . ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ ▄▄ █ ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄ █ █ ▄▄ █ █ █ █ █ █ ▄▀▀▄▀▀▄ █ █ █ ▀▄ ▄▀ █ █
Blackjack | | | | █▀▀▀▀▀█▄▄▄ ▀████▄▄ ██████▄ ▄▄▄▄▄▄▄▄█▀ ▀▀█ ████████▄ █ █████████▄ █ ██████████▄ ▄██ █████████▀▀▀█▄▄████ ▀▀███▀▀ ████ █ ███ █ █▀ ▄█████▄▄▄ ▄▄▀▀ ███████▀▀▀ | | | | | | | | | | [ Đ ][ Ł ] AVAILABLE NOW | |
Advertisements are not endorsed by me.
|
|
|
photonresearch (OP)
Member
Offline
Activity: 90
Merit: 11
Author of Bitcoin Books, the latest: Mining Pools
|
|
July 08, 2016, 04:04:58 PM |
|
The spreadsheet associates all addresses with a book number (by row), so this is indistinguishable for your request. I haven't posted the spreadsheet yet as I haven't gotten addresses from everyone. Purchasers should be able to see their own address via their browsers "find" function. All the addresses will receive counterparty tokens and the winning address holder will also get the gold bar shipped to them.
That does not answer my question, so I'm asking you again, what happens when the winning number is a number of a book that hasn't been sold. I know what you are going to do, but if a book isn't sold have nowhere to ship the bar to as nobody can claim it. Mitchell brings up a good point, the idea of unclaimable tickets. This was a problem in the original plan that we didn't consider, so the solution is that sales will simple have to stay open and even though some market participants will know the number of the book eligible for the gold, even if it didn't sell, some lucky person in the future will get it instead 1 day till the halving!
|
|
|
|
|