dooglus
Legendary
Offline
Activity: 2940
Merit: 1330
|
|
September 13, 2012, 05:51:51 AM |
|
Hopefully - not the excuse. That's just a design flaw your talking about there which I doubt is part of SD ...
If there is a double spend, for the 2nd transaction that doesn't get into a block, all the transactions based on it will NEVER get into a block. You can't 'fix' a transaction, you can only create a different one that then new transactions can build upon.
If the design flaw is there in SD, then it will be identified by the transaction number of the winning payment changing to a new transaction (though it can change for other reasons)
You can, however, detect the cause of the problem - follow the transaction tree back and look for 2 that use the same source - one will be in a block and the other will be a pending/orphan transaction or, follow the transaction tree back and look for transactions that don't exist any more.
The payout transactions don't appear to exist anywhere. For example, look at http://www.satoshidice.com/full.php?tx=7a1b4e1101385046795ef4518e6f037a35fab939c102faf72e9461fa11df6385 - it claims that the payout was made in tx http://blockchain.info/search?search=58cdc16b3e009203fd2da56c11490109be63e1aa5f27d94cee40304556dd29eb but blockchain.info says that transaction doesn't exist. I don't know if it's a design flaw to use 0-conf inputs to pay out winners with. It would certainly be preferable to use more confirmed inputs if possible, but maybe they do, and this problem we're currently seeing only happens when there aren't enough confirmed inputs available.
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
|
|
|
|
|
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, which will follow the rules of the network no matter what miners do. Even if every miner decided to create 1000 bitcoins per block, full nodes would stick to the rules and reject those blocks.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
kano
Legendary
Offline
Activity: 4466
Merit: 1800
Linux since 1997 RedHat 4
|
|
September 13, 2012, 06:55:25 AM |
|
... I don't know if it's a design flaw to use 0-conf inputs to pay out winners with. It would certainly be preferable to use more confirmed inputs if possible, but maybe they do, and this problem we're currently seeing only happens when there aren't enough confirmed inputs available.
No - it's a design flaw to be paying transactions with transactions that will never commit ... if they are double spends. As I said: That's just a design flaw your talking about there which I doubt is part of SD ...
|
|
|
|
xblitz
Newbie
Offline
Activity: 32
Merit: 0
|
|
September 13, 2012, 02:39:32 PM |
|
Update.. just got paid!
|
|
|
|
dooglus
Legendary
Offline
Activity: 2940
Merit: 1330
|
|
September 13, 2012, 04:26:27 PM |
|
No - it's a design flaw to be paying transactions with transactions that will never commit ... if they are double spends.
There's no good way to know if a transaction will ever make it onto the blockchain. Even if you see it in a block it's possible that block will end up orphaned, and the transaction could end up being invalidated by the block which replaces it. So if you want to be able to pay out winners without waiting for a bunch of confirmations, you're sometimes going to be at risk of paying out using transactions which will never confirm. Unless you have a big enough hot wallet that you always have some old coins sitting in reserve to pay people out with. When you have the kind of volume that SD has, I guess the coins in your hot wallet don't have a chance to get very old.
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
kano
Legendary
Offline
Activity: 4466
Merit: 1800
Linux since 1997 RedHat 4
|
|
September 13, 2012, 09:58:45 PM |
|
No - it's a design flaw to be paying transactions with transactions that will never commit ... if they are double spends.
There's no good way to know if a transaction will ever make it onto the blockchain. Even if you see it in a block it's possible that block will end up orphaned, and the transaction could end up being invalidated by the block which replaces it. No but you expect what is likely and ignore what is EXTREMELY unlikely. BTC was designed well ... So if you want to be able to pay out winners without waiting for a bunch of confirmations, you're sometimes going to be at risk of paying out using transactions which will never confirm. Unless you have a big enough hot wallet that you always have some old coins sitting in reserve to pay people out with.
When you have the kind of volume that SD has, I guess the coins in your hot wallet don't have a chance to get very old.
Again, you've missed the point ... I know how 0confirms work (and that SD uses 0confirms) The point is "if" SD takes note of problems and stop propagating them or not? The SD code is not based on the bitcoind code, so they may or may not have handled txn processing exactly the same and may have missed simple checks to avoid this? Yes a double spend cannot be identified immediately, but it is certainly known VERY soon afterwards otherwise the double spend WONT work (I'm not referring to a "block withholding" double spend) So SD should be keeping an eye out for such things since it does 0confirms - to stop going into a spiral of uncommitted transactions that will never commit. Once a true double spend actually occurs, all the transactions based on the first failed txn of a double spend transaction, will NEVER commit. ever. ... and a double spend done by withholding a block is a very risky thing to try since you can lose 50BTC if you don't time it right ... and it is not something you can do often or easily and certainly wont make you lots of money with SD ... All in all, double spends are extremely unlikely to cause anyone problems unless they don't keep track of transactions properly as is done in bitcoind ... and is also a good reason to write software that is a module added onto the standard bitcoind code ... it's very easy to add a module of code yourself ...
|
|
|
|
fireduck
|
|
September 14, 2012, 10:32:30 PM |
|
I would like to explain a recent bug that has been plaguing our system and how it was corrected.
In our system we have a database of all transactions that relate to Satoshidice. We also track their status (pending, confirmed, unknown). We get a handful of transactions that were broadcast but never end up confirming. After 24 to 48 hours we delete them from our system and move on. There was an issue where the status of the transactions was not being recorded correctly. So we would occasionally delete a transaction thinking it was hopeless when it actually confirmed some time ago. Then the outputs spend for that transaction would be marked available and used to pay other transactions. The more I ran the recovery process to clean things up, the more of these ended up getting created.
Now I have a separate safety check that checks an external repository of confirmed transactions before deleting anything. This has been running for about 3 days and seems to work very well.
The other thing that happened that led to a large amount of unconfirming transactions was around Sept 8th we ran out of confirmed funds. We try to always pay winners with confirmed outputs so there is no problem getting them confirmed and they are not dependent on anyone else's transactions. Well, we ran out of confirmed and started paying with pending funds. This of course didn't go well and a bunch of payment transactions had to be deleted and reprocessed.
We of course have alarms on confirmed funds and were notified as it was going down but Erik was traveling and I don't have access to the reserve funds so there was not much I could do, other than later run the recovery and cleanup tasks to get everyone paid.
|
Bitrated user: fireduck.
|
|
|
sgravina
|
|
September 14, 2012, 11:34:22 PM |
|
I would like to explain a recent bug that has been plaguing our system and how it was corrected. ...
Well that was annoying. But thanks for the payments. I just got mine today, about 5 days late. There were even two small payments in there that I didn't know were missing. This whole wait was really to my benefit. It kept me from betting for 5 days. Not betting is the best way to not lose money. I keep trying to win big but it's just not happening. I've been up 40 BTC and have been down 120 BTC. Right now I'm down 60 BTC which is quite a bit lower than my expected loss. I am so close to not ever betting again. Yet as soon as I got the money back today I placed another bet and won back 0.5 BTC. I think my strategy for now will be to not bet more than 1 BTC a day.
|
|
|
|
evoorhees (OP)
Legendary
Offline
Activity: 1008
Merit: 1021
Democracy is the original 51% attack
|
|
September 15, 2012, 03:52:09 PM |
|
So far this month, players have won more than the house
|
|
|
|
|
Chimsley
Newbie
Offline
Activity: 75
Merit: 0
|
|
September 17, 2012, 06:04:26 PM |
|
|
|
|
|
dooglus
Legendary
Offline
Activity: 2940
Merit: 1330
|
|
September 18, 2012, 07:46:15 AM |
|
Looks like it has been paid out now. Enjoy your 8 cents.
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
korila
Member
Offline
Activity: 107
Merit: 10
|
|
September 22, 2012, 04:07:02 AM |
|
|
|
|
|
evoorhees (OP)
Legendary
Offline
Activity: 1008
Merit: 1021
Democracy is the original 51% attack
|
|
September 22, 2012, 05:46:36 AM |
|
|
|
|
|
🏰 TradeFortress 🏰
Bitcoin Veteran
VIP
Legendary
Offline
Activity: 1316
Merit: 1043
👻
|
|
September 22, 2012, 06:17:03 AM |
|
If you like Satoshidice, you should play Minefield!
|
|
|
|
evoorhees (OP)
Legendary
Offline
Activity: 1008
Merit: 1021
Democracy is the original 51% attack
|
|
September 23, 2012, 11:37:12 PM |
|
If you like Satoshidice, you should play Minefield!
If you're going to spam or hijack a thread, try to be more creative at least.
|
|
|
|
rynmln
Newbie
Offline
Activity: 49
Merit: 0
|
|
September 24, 2012, 05:52:33 AM |
|
Just want everyone to know that I won playing less than 3200 with a number of 1834... and to think I was so tempted to bet for below 2000...
|
|
|
|
dooglus
Legendary
Offline
Activity: 2940
Merit: 1330
|
|
September 24, 2012, 06:41:51 PM |
|
Just want everyone to know that I won playing less than 3200 with a number of 1834... and to think I was so tempted to bet for below 2000...
Maybe you already know, but if you like you can split your bet in a single transaction. Put half on <2000 and half on <3200, and you'll get the same lucky number for both bets. It seems like quite a common thing for people to do; you can bet on all the bets at once if you like - there seems to be no limit.
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
dooglus
Legendary
Offline
Activity: 2940
Merit: 1330
|
|
September 25, 2012, 03:33:49 AM |
|
Dear SatoshiDice,
How about adding bets "lessthan 36000", "40000", and "44000"?
There's currently a big gap between 32768 and 48000.
|
Just-Dice | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | Play or Invest | ██ ██████████ ██████████████████ ██████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████████████ ██████████████████████ ██████████████ ██████ | 1% House Edge |
|
|
|
BlueCombWindow
Newbie
Offline
Activity: 33
Merit: 0
|
|
September 25, 2012, 04:18:49 AM |
|
Also,
almost all of the bets in the last 2 hours are 'stuck'. Wins and losses. A few have made it out, but most have not.
|
|
|
|
rynmln
Newbie
Offline
Activity: 49
Merit: 0
|
|
September 25, 2012, 04:30:26 AM |
|
Also,
almost all of the bets in the last 2 hours are 'stuck'. Wins and losses. A few have made it out, but most have not.
Uh huh. Any idea why? Just want everyone to know that I won playing less than 3200 with a number of 1834... and to think I was so tempted to bet for below 2000...
Maybe you already know, but if you like you can split your bet in a single transaction. Put half on <2000 and half on <3200, and you'll get the same lucky number for both bets. It seems like quite a common thing for people to do; you can bet on all the bets at once if you like - there seems to be no limit. Haha, thanks for the advice. I was half asleep when I posted that. Anyway, I tried it... won on one number and still came out ahead. I'm a one bet a night kind of guy. Now if I could just get my winnings paid out...
|
|
|
|
|