Bitcoin Forum
April 25, 2024, 04:57:29 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: 1 2 [All]
  Print  
Author Topic: Is bitbet.us buggy?  (Read 5802 times)
Frizz23 (OP)
Hero Member
*****
Offline Offline

Activity: 1162
Merit: 500


View Profile
March 01, 2013, 11:59:01 AM
 #1

I just noticed that people lost money - even when betting on the right side!
http://bitbet.us/bet/7/bfl-will-deliver-asic-devices-before-march-1st/

Have a look:




E.g. this guy placed 50 BTC on "No" (which was the correct outcome of the bet):

21-02-13 15:50    No    710    50.00000000    146mo    49.93600046    1FRBb

But instead of receiving something like 100 BTC (50+50) he did not even make his wager back!

Is bitbet.us buggy?

Ξtherization⚡️First P2E 2016⚡️🏰💎🌈 etherization.org
1714021049
Hero Member
*
Offline Offline

Posts: 1714021049

View Profile Personal Message (Offline)

Ignore
1714021049
Reply with quote  #2

1714021049
Report to moderator
1714021049
Hero Member
*
Offline Offline

Posts: 1714021049

View Profile Personal Message (Offline)

Ignore
1714021049
Reply with quote  #2

1714021049
Report to moderator
1714021049
Hero Member
*
Offline Offline

Posts: 1714021049

View Profile Personal Message (Offline)

Ignore
1714021049
Reply with quote  #2

1714021049
Report to moderator
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714021049
Hero Member
*
Offline Offline

Posts: 1714021049

View Profile Personal Message (Offline)

Ignore
1714021049
Reply with quote  #2

1714021049
Report to moderator
wtfvanity
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


WTF???


View Profile
March 01, 2013, 04:18:03 PM
 #2

I just noticed that people lost money - even when betting on the right side!
http://bitbet.us/bet/7/bfl-will-deliver-asic-devices-before-march-1st/

Have a look:




E.g. this guy placed 50 BTC on "No" (which was the correct outcome of the bet):

21-02-13 15:50    No    710    50.00000000    146mo    49.93600046    1FRBb

But instead of receiving something like 100 BTC (50+50) he did not even make his wager back!

Is bitbet.us buggy?


LOL wow. Someone bet 50 BTC, said no, they won, and they lost .064 btc haha. That doesn't make any sense at all.

Here are the totals that I get. 1689.814974 in. 1672.916824 out. Bitbet keeps 1%.

Bitbet uses a weight system. But you would think they would take the 1% fee out BEFORE they split the funds. Because otherwise the 50 BTC won just under 1%, but the fee made him lose.

          WTF!     Don't Click Here              
          .      .            .            .        .            .            .          .        .     .               .            .             .            .            .           .            .     .               .         .              .           .            .            .            .     .      .     .    .     .          .            .          .            .            .           .              .     .            .            .           .            .               .         .            .     .            .            .             .            .              .            .            .      .            .            .            .            .            .            .             .          .
MPOE-PR
Hero Member
*****
Offline Offline

Activity: 756
Merit: 522



View Profile
March 01, 2013, 05:40:26 PM
 #3

I just noticed that people lost money - even when betting on the right side!
http://bitbet.us/bet/7/bfl-will-deliver-asic-devices-before-march-1st/

Have a look:




E.g. this guy placed 50 BTC on "No" (which was the correct outcome of the bet):

21-02-13 15:50    No    710    50.00000000    146mo    49.93600046    1FRBb

But instead of receiving something like 100 BTC (50+50) he did not even make his wager back!

Is bitbet.us buggy?

Not a bug but a feature as they say.

Specifically: BitBet bets have a weight associated with them, which weight starts at 100,000 and in most cases goes all the way down to 1. This weight reflects the lateness of the bet, as obviously a Bitcoin bet in January doesn't take the same level of risk as a Bitcoin bet in February does. This protects early bettors from having their stake diluted unwarrantedly by people who bet much later - when the likelihood of the event is presumably much easier to infer correctly.

BitBet also takes a 1% fee out of the total pool. Consequently for a bet to show an actual positive it has to gain more than 1%. Due to the even-ish odds and the very low weight the bets in discussion earned less than 1% which turns into a negative end result due to the fee. As a good rule of thumb, if the odds are 1:1 a bet on weight under 1,000 should be avoided as it's unlikely to gain anything. If the odds are 1:2 then that limit becomes 500, and if the odds are 1:100 that limit would be 10.

Not all bets have weights associated, but in most cases those bets which cover a time interval rather than a specific point in time do.

My Credentials  | THE BTC Stock Exchange | I have my very own anthology! | Use bitcointa.lk, it's like this one but better.
wtfvanity
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


WTF???


View Profile
March 01, 2013, 06:11:15 PM
 #4

Not a bug but a feature as they say.

Specifically: BitBet bets have a weight associated with them, which weight starts at 100,000 and in most cases goes all the way down to 1. This weight reflects the lateness of the bet, as obviously a Bitcoin bet in January doesn't take the same level of risk as a Bitcoin bet in February does. This protects early bettors from having their stake diluted unwarrantedly by people who bet much later - when the likelihood of the event is presumably much easier to infer correctly.

BitBet also takes a 1% fee out of the total pool. Consequently for a bet to show an actual positive it has to gain more than 1%. Due to the even-ish odds and the very low weight the bets in discussion earned less than 1% which turns into a negative end result due to the fee. As a good rule of thumb, if the odds are 1:1 a bet on weight under 1,000 should be avoided as it's unlikely to gain anything. If the odds are 1:2 then that limit becomes 500, and if the odds are 1:100 that limit would be 10.

Not all bets have weights associated, but in most cases those bets which cover a time interval rather than a specific point in time do.

Very nicely explained.

And as I mentioned, if they simply took the 1% off the top then split it based on weights, any winning better, would still at least be partially positive even late. They wouldn't win much, but that's better than losing on a winning bet.

          WTF!     Don't Click Here              
          .      .            .            .        .            .            .          .        .     .               .            .             .            .            .           .            .     .               .         .              .           .            .            .            .     .      .     .    .     .          .            .          .            .            .           .              .     .            .            .           .            .               .         .            .     .            .            .             .            .              .            .            .      .            .            .            .            .            .            .             .          .
Frizz23 (OP)
Hero Member
*****
Offline Offline

Activity: 1162
Merit: 500


View Profile
March 01, 2013, 08:23:10 PM
 #5

BitBet bets have a weight associated with them - so far, so good.

... but that's better than losing on a winning bet.

Exactly! You should never lose money on a winning bet. bitbet.us should change their weighting algorithm imho.

Ξtherization⚡️First P2E 2016⚡️🏰💎🌈 etherization.org
kakobrekla
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


Psi laju, karavani prolaze.


View Profile
March 01, 2013, 09:23:57 PM
 #6

BitBet bets have a weight associated with them - so far, so good.

... but that's better than losing on a winning bet.

Exactly! You should never lose money on a winning bet. bitbet.us should change their weighting algorithm imho.

It is impossible to know in advance what exactly will your weight result to as that also depends on the bets that come after yours. You can do the math on the current result yourself.

wtfvanity
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


WTF???


View Profile
March 01, 2013, 10:07:24 PM
 #7

BitBet bets have a weight associated with them - so far, so good.

... but that's better than losing on a winning bet.

Exactly! You should never lose money on a winning bet. bitbet.us should change their weighting algorithm imho.

It is impossible to know in advance what exactly will your weight result to as that also depends on the bets that come after yours. You can do the math on the current result yourself.

Of course you won't know how the weight plays out until it's over. But still... if they took the 1% off the top instead of a per user, the people placing late bets don't lose 1% on a win, they gain their .5% or whatever tiny bit they get.

          WTF!     Don't Click Here              
          .      .            .            .        .            .            .          .        .     .               .            .             .            .            .           .            .     .               .         .              .           .            .            .            .     .      .     .    .     .          .            .          .            .            .           .              .     .            .            .           .            .               .         .            .     .            .            .             .            .              .            .            .      .            .            .            .            .            .            .             .          .
MPOE-PR
Hero Member
*****
Offline Offline

Activity: 756
Merit: 522



View Profile
March 02, 2013, 08:28:29 AM
 #8

BitBet bets have a weight associated with them - so far, so good.

... but that's better than losing on a winning bet.

Exactly! You should never lose money on a winning bet. bitbet.us should change their weighting algorithm imho.

It is impossible to know in advance what exactly will your weight result to as that also depends on the bets that come after yours. You can do the math on the current result yourself.

Of course you won't know how the weight plays out until it's over. But still... if they took the 1% off the top instead of a per user, the people placing late bets don't lose 1% on a win, they gain their .5% or whatever tiny bit they get.

So basically you figure that if the site charged less you'd make more. Great. So it should do it like that you say. Sure, and if it did you'd still point out that if it charged even less you'd make even more, until it charged nil. At which point...guess what...they could still charge even less, by adding money to the pot, so you could make even more. And more. And more. And stfu. One percent is less than anything else charges, including the mixers.

Scalpers get scalped. So you figured you'll leech a little bit by waiting until it's safe and then making bets on other people's risk. It didn't work out, big surprise, yet another halfbaked "idea" that didn't pan out. Stop whining about it, sit down and figure it out: you did something wrong.

BitBet bets have a weight associated with them - so far, so good.

... but that's better than losing on a winning bet.

Exactly! You should never lose money on a winning bet. bitbet.us should change their weighting algorithm imho.

Your bet was only "winning" for some values of winning that closely approximate "not being involved at all". If you want to be paid you have to actually take a risk. If there's any free lunches (which there are plenty of) they are served as they are served, not as you demand them. Go bust your ass promoting it to earn the generous referral fee. Propose new bets to get the generous house subsidy. There's plenty of +EV stuff to do if you're risk averse. Notably, whining is not on that list (and never will be).

My Credentials  | THE BTC Stock Exchange | I have my very own anthology! | Use bitcointa.lk, it's like this one but better.
Frizz23 (OP)
Hero Member
*****
Offline Offline

Activity: 1162
Merit: 500


View Profile
March 02, 2013, 04:49:52 PM
 #9

Scalpers get scalped. So you figured you'll leech a little bit by waiting until it's safe and then making bets on other people's risk. It didn't work out, big surprise, yet another halfbaked "idea" that didn't pan out. Stop whining about it, sit down and figure it out: you did something wrong.

Of course you have to say that - you are the owner of bitbet.us (https://bitcointalk.org/index.php?topic=134799.0).

I stick to it: Losing money on a winning bet is just wrong.

Ξtherization⚡️First P2E 2016⚡️🏰💎🌈 etherization.org
cosurgi
Sr. Member
****
Offline Offline

Activity: 298
Merit: 250


View Profile
March 03, 2013, 12:42:17 AM
 #10

I stick to it: Losing money on a winning bet is just wrong.

Changing the formula from:

Reward = 0.99 * (MY_BET + LOSERS * MY_BET*WEIGHT/Sum_all(winning_bets * WEIGHT) )

to

Reward = MY_BET + 0.99 * LOSERS * MY_BET*WEIGHT/Sum_all(winning_bets * WEIGHT)

Would fix that:
- you don't lose money on winning bet,
- bitbet gets 1% from losers only.

If we assume that on average the bets will be around 50%, then using formula:

Reward = MY_BET + 0.98 * LOSERS * MY_BET*WEIGHT/Sum_all(winning_bets * WEIGHT)

would take 2% from losers, but assuming losers are averaging (during long time) to 50% of total, then it would take 1% fee.

cosurgi
Sr. Member
****
Offline Offline

Activity: 298
Merit: 250


View Profile
March 03, 2013, 01:05:13 AM
 #11

http://bitbet.us/bet/7/bfl-will-deliver-asic-devices-before-march-1st/

Strange, I cannot see in blockchain any transactions for 510.59864824 or 646.65447788. bitbet is not paying to winners?

wtfvanity
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


WTF???


View Profile
March 03, 2013, 01:38:26 AM
 #12

BitBet bets have a weight associated with them - so far, so good.

... but that's better than losing on a winning bet.

Exactly! You should never lose money on a winning bet. bitbet.us should change their weighting algorithm imho.

It is impossible to know in advance what exactly will your weight result to as that also depends on the bets that come after yours. You can do the math on the current result yourself.

Of course you won't know how the weight plays out until it's over. But still... if they took the 1% off the top instead of a per user, the people placing late bets don't lose 1% on a win, they gain their .5% or whatever tiny bit they get.

So basically you figure that if the site charged less you'd make more. Great. So it should do it like that you say. Sure, and if it did you'd still point out that if it charged even less you'd make even more, until it charged nil. At which point...guess what...they could still charge even less, by adding money to the pot, so you could make even more. And more. And more. And stfu. One percent is less than anything else charges, including the mixers.

Scalpers get scalped. So you figured you'll leech a little bit by waiting until it's safe and then making bets on other people's risk. It didn't work out, big surprise, yet another halfbaked "idea" that didn't pan out. Stop whining about it, sit down and figure it out: you did something wrong.

WTF? You're crazy.

Take the 1% profit from the top of the bet... before the pot is split. Shit, listen to what is said, not what you hear.

If 1000 is bet, 1% is 10 right? The way it currently is, the money is split based on the weight. Right? Then the 1% fee is taking out, bitbet gaining 10 out of 1000.

What I am saying is, before the money is split, take out bitbet's 10, so that 990 is split based on the weight.


This isn't fucking someone saying I paid BFL 100 BTC in june now I want my 100 BTC back!! Scammers. I'm suggesting a way to make the service not fucking retarded and bitbet still gets to make their money.

I didn't even bet on the stupid thing. I'm laughing at the people at the bottom of the list that won yet still lost. Funny shit. Take another prozac or something.

          WTF!     Don't Click Here              
          .      .            .            .        .            .            .          .        .     .               .            .             .            .            .           .            .     .               .         .              .           .            .            .            .     .      .     .    .     .          .            .          .            .            .           .              .     .            .            .           .            .               .         .            .     .            .            .             .            .              .            .            .      .            .            .            .            .            .            .             .          .
wtfvanity
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


WTF???


View Profile
March 03, 2013, 01:39:56 AM
 #13

BitBet bets have a weight associated with them - so far, so good.

... but that's better than losing on a winning bet.

Exactly! You should never lose money on a winning bet. bitbet.us should change their weighting algorithm imho.

It is impossible to know in advance what exactly will your weight result to as that also depends on the bets that come after yours. You can do the math on the current result yourself.

Of course you won't know how the weight plays out until it's over. But still... if they took the 1% off the top instead of a per user, the people placing late bets don't lose 1% on a win, they gain their .5% or whatever tiny bit they get.

So basically you figure that if the site charged less you'd make more. Great. So it should do it like that you say. Sure, and if it did you'd still point out that if it charged even less you'd make even more, until it charged nil. At which point...guess what...they could still charge even less, by adding money to the pot, so you could make even more. And more. And more. And stfu. One percent is less than anything else charges, including the mixers.

Scalpers get scalped. So you figured you'll leech a little bit by waiting until it's safe and then making bets on other people's risk. It didn't work out, big surprise, yet another halfbaked "idea" that didn't pan out. Stop whining about it, sit down and figure it out: you did something wrong.

WTF? You're crazy.

Take the 1% profit from the top of the bet... before the pot is split. Shit, listen to what is said, not what you hear.

If 1000 is bet, 1% is 10 right? The way it currently is, the money is split based on the weight. Right? Then the 1% fee is taking out, bitbet gaining 10 out of 1000.

What I am saying is, before the money is split, take out bitbet's 10, so that 990 is split based on the weight.


This isn't fucking someone saying I paid BFL 100 BTC in june now I want my 100 BTC back!! Scammers. I'm suggesting a way to make the service not fucking retarded and bitbet still gets to make their money.

I didn't even bet on the stupid thing. I'm laughing at the people at the bottom of the list that won yet still lost. Funny shit. Take another prozac or something.

It's still bothering me. Go back and read WTF I wrote. I didn't say bitbet should charge .5%, I'm saying if you listen to WTF I said, that the idiots at the end could make some tiny .5% based on their weight instead of losing .5% after the 1% is taken out by bitbet.

...

          WTF!     Don't Click Here              
          .      .            .            .        .            .            .          .        .     .               .            .             .            .            .           .            .     .               .         .              .           .            .            .            .     .      .     .    .     .          .            .          .            .            .           .              .     .            .            .           .            .               .         .            .     .            .            .             .            .              .            .            .      .            .            .            .            .            .            .             .          .
kakobrekla
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


Psi laju, karavani prolaze.


View Profile
March 03, 2013, 02:38:29 AM
 #14

http://bitbet.us/bet/7/bfl-will-deliver-asic-devices-before-march-1st/

Strange, I cannot see in blockchain any transactions for 510.59864824 or 646.65447788. bitbet is not paying to winners?

The big ones had to be split.

http://polimedia.us/trilema/2013/bitcoind-not-quite-ready-for-prime-time/

cosurgi
Sr. Member
****
Offline Offline

Activity: 298
Merit: 250


View Profile
March 03, 2013, 10:57:15 AM
 #15

http://bitbet.us/bet/7/bfl-will-deliver-asic-devices-before-march-1st/

Strange, I cannot see in blockchain any transactions for 510.59864824 or 646.65447788. bitbet is not paying to winners?

The big ones had to be split.

http://polimedia.us/trilema/2013/bitcoind-not-quite-ready-for-prime-time/
Interesting read, but why did you send 517.24339527 instead of 510.59864824 ?

And why did you send 310.39385016+200+200=710.39385016  instead of 646.65447788 ?

This is so strange.

kakobrekla
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


Psi laju, karavani prolaze.


View Profile
March 03, 2013, 02:20:45 PM
Last edit: March 03, 2013, 02:39:17 PM by kakobrekla
 #16

http://bitbet.us/bet/7/bfl-will-deliver-asic-devices-before-march-1st/

Strange, I cannot see in blockchain any transactions for 510.59864824 or 646.65447788. bitbet is not paying to winners?

The big ones had to be split.

http://polimedia.us/trilema/2013/bitcoind-not-quite-ready-for-prime-time/
Interesting read, but why did you send 517.24339527 instead of 510.59864824 ?

And why did you send 310.39385016+200+200=710.39385016  instead of 646.65447788 ?

This is so strange.

Because those addresses are tied to several bets made in that BFL bet and they got merged at the output (standard procedure) - and those sums then had to be resplit cause of bitcoind issue.

picobit
Hero Member
*****
Offline Offline

Activity: 547
Merit: 500


Decor in numeris


View Profile
March 03, 2013, 08:15:20 PM
 #17

BitBet bets have a weight associated with them - so far, so good.

... but that's better than losing on a winning bet.

Exactly! You should never lose money on a winning bet. bitbet.us should change their weighting algorithm imho.
But  often a bet is decided before it is closed.  If for example a bet was open saying "The price of BTC will go above 30$ in February", and that bet had been open since mid january until 25th Feb, then before the bet closes the outcome would be known.  Clearly, people will be betting on the winning side as long as they win anything by it.  And any "reasonable" payment algorithm must end with paying less than the bet back.

The real problem is that so many bets on the betting sites are of this type.  At least the weighing makes it possible to bet early and still have a chance of winning something.  The downside is that the weighing makes it kind of difficult to work out the odds you are playing.  Every time I have bothered the odds have not been good, and I have not betted. Smiley


MPOE-PR
Hero Member
*****
Offline Offline

Activity: 756
Merit: 522



View Profile
March 04, 2013, 12:36:48 AM
 #18

why did you send 517.24339527 instead of 510.59864824 ?

And why did you send 310.39385016+200+200=710.39385016  instead of 646.65447788 ?

If you review the bet, address 1K4Fs (1K4FswVNus5xJZJ6TYqAzWSy3tXBBFdGnM) appears a total of three times :

05-01-13 06:45   No   99`735   3.00000000   13uJZ   6.64474703    1K4Fs
12-01-13 00:02   No   85`688   250.00000000   13GeG   510.59864824    1K4Fs
13-01-13 06:32   Yes   83`033   115.00000000   18u3U   0.00000000    1K4Fs

If you add up the 510.59864824 and the 6.64474703 due for the two winning bets you come to 517.24339527. Similarly, 1AnUi (1AnUirXjTtaV5gsS5B51zTFjj4aa8rhaST) appears a total of two times :

13-01-13 23:18   No   81`573   32.00000000   1FL5M   63.73937228    1AnUi
14-01-13 01:19   No   81`398   325.00000000   1LSLF   646.65447788    1AnUi

Again if you add up the winnings it comes to the 710.39385016 total.

Apparently it's not uncommon for ballers to make multiple bets (and also hedge their own bets down the road). The site sums up all payments to the same address as default behavior because bitcoind doesn't allow multiple payments to the same address be specified in the same transaction (which probably isn't such a good idea, but then again half of the stuff in bitcoind isn't). In the vast majority of cases this behaviour works well, but in some rare cases large bets are built up too much. We're currently reviewing how to best deal with this sort of inane mess, but most likely the result will be an in-house replacement for bitcoind that doesn't suck.

The real problem is that so many bets on the betting sites are of this type.  At least the weighing makes it possible to bet early and still have a chance of winning something.  The downside is that the weighing makes it kind of difficult to work out the odds you are playing.  Every time I have bothered the odds have not been good, and I have not betted.

This theory isn't too well borne by the facts, it would seem. Looking again at the same bet:

1PJv1 bet 0.11000000 received 0.24389335.
1F5xm bet 0.06000000 received   0.13298779.   
1K4Fs bet   3.00000000 received   6.64474703.
15cEM bet   0.52000000 received   1.08125573.
1K4Fs bet 250.00000000 received 510.59864824.
15fnF bet 0.15000000 received 0.30358475.
156kf bet 20.00000000 received 40.03386056.

These people seem to be doing A LOT better than "a chance of winning something", in that they've more than doubled their BTC. And get a load of this one:

13-01-13 15:39   No   82`239   1.00000000   18ZcW   2.00003499    1FxyA
13-01-13 15:39   Yes   82`239   1.00000000   1BfeF   0.00000000    1FxyA

He's bet 1 BTC on Yes and 1 BTC on No and he's still won something. Think about that for a second, took both ends came out ahead.

There's dozens more in that same list, but I think you get my point. Like with any competition of luck based on skill, the skillful will do well most of the time.

My Credentials  | THE BTC Stock Exchange | I have my very own anthology! | Use bitcointa.lk, it's like this one but better.
wtfvanity
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


WTF???


View Profile
March 04, 2013, 02:35:12 PM
 #19

But of course ignore my additional comments after you realize you read them wrong.

          WTF!     Don't Click Here              
          .      .            .            .        .            .            .          .        .     .               .            .             .            .            .           .            .     .               .         .              .           .            .            .            .     .      .     .    .     .          .            .          .            .            .           .              .     .            .            .           .            .               .         .            .     .            .            .             .            .              .            .            .      .            .            .            .            .            .            .             .          .
cosurgi
Sr. Member
****
Offline Offline

Activity: 298
Merit: 250


View Profile
March 04, 2013, 10:33:28 PM
Last edit: March 04, 2013, 10:48:20 PM by cosurgi
 #20

Hi,

since this thread is for discussion, while other thread (https://bitcointalk.org/index.php?topic=134799.0;all  ) is for announcements I am posting here. Even though it's a reply to  kakobrekla's post in other thread.

I've written a small python program for analyzing possible outcomes:
(is there syntax coloring on this forum?)
Code:
#!/usr/bin/python
# bitbets.py
# GPL v3 license
# send bug reports to cosurgi@gmail.com
# send donations to: 1MtpRjRUNXhPUY89Ah9vZ3jcdSVwS7oXGn
import copy
import readline

global text
global won_weight_bet
global added_bets
text=[]
won_weight_bet=[]
added_bets=[]

def start():
print("==================== bitbet analyzer ====================")
print("Welcome!")
print("If you find this small program useful or win something, please")
print("send donations to: 1MtpRjRUNXhPUY89Ah9vZ3jcdSVwS7oXGn\n")
print("Paste raw data as seen on http://bitbet.us/")
print("in the table just under \"CONFIRMED BETS\"")
print("(enter blank line twice to finish)")
line="start"
global text
global won_weight_bet
global added_bets
text=[]
won_weight_bet=[]
added_bets=[]
errors=0
while(line!="\n"):
try:
import sys
sys.stdout.write("["+str(len(text)-errors)+"] ")
line = sys.stdin.readline()
if(line!="\n"):
text.append(line)
if(len(line.split()) >= 5):
won_weight_bet.append((
line.split()[2],
int(line.split()[3].replace("`","")),
float(line.split()[4])))
else:
sys.stdout.write("something is wrong, please paste carefully\n")
errors = errors+1
except:
sys.stdout.write("something is wrong, please paste carefully\n")
errors = errors+1
print("data enetered correctly, type 'help' for help")

def str8(arg):
res=str('%.8f'%arg)
res=" "*(13 - len(res))+res
return res
def str5(arg): return str('%5i'%arg)
def str3(arg): return str('%3i'%arg)

def inp():
for a in range(len(text)):
print("["+str(a)+"] "+text[a])

def wwb():
global text
global won_weight_bet
print("[   ] won  weight  bet")
for a in range(len(won_weight_bet)):
won   = won_weight_bet[a][0]
weight= won_weight_bet[a][1]
bet   = won_weight_bet[a][2]
print("["+str3(a+1)+"] "+("No " if won=="No" else "Yes")+"  "
+ str5(weight) + "   "+str8(bet))

def win(res,N=0):
global text
global won_weight_bet
global added_bets
print("[   ] won  weight     bet            winning         net win       net loss")
losers=0
bet_weight_sum=0
for a in range(len(won_weight_bet)):
won   = ((True if won_weight_bet[a][0]=="Yes" else False) == res)
weight= won_weight_bet[a][1]
bet   = won_weight_bet[a][2]
if(not won):
losers = losers + bet
else:
bet_weight_sum = bet_weight_sum + bet*weight
if(N<0): N=len(won_weight_bet)+N
net=0
for a in range(len(won_weight_bet)):
won_    = won_weight_bet[a][0]
won     = ((True if won_weight_bet[a][0]=="Yes" else False) == res)
weight  = won_weight_bet[a][1]
bet     = won_weight_bet[a][2]
winning = ( (bet+losers*bet*weight/bet_weight_sum)*0.99 if won else 0 )
if(a>=N):
net = net + winning - bet
print("["+str3(a+1)+"] "+("No " if won_=="No" else "Yes")+"  "
+ str5(weight) + "   "+str8(bet) + "  "
+ ( str8(winning) if (winning!=0) else ("             ") ) + "   "
+ ((str8(winning - bet ) + "              ") if ((winning - bet)>0) else ("              " + str8(winning - bet )))
+ "  "
+ ( ( "total:"+str8(net) ) if ((N == len(won_weight_bet)-2) and (a == len(won_weight_bet)-1) ) else " ")
+ ((" (*)") if (a in added_bets) else (   ((" (+)") if ((-1*a) in added_bets) else ( " " )) )) )

def help():
print("help|h                     - help")
print("reset|res|r                - start working on a new bet")
print("inp                        - print raw input data")
print("bets                       - show current bets")
print("win yes|no                 - see what happens when bet is resolved to yes|no")
print("bet yes|no weight BTC      - see what you can win if you place a new bet")
print("bett yes|no weight BTC     - same as above, but print everyone's results - marked with (+)")
print("bet yes weight BTC no BTC  - place double bet on both sides, see what happens")
print("add bet yes|no weight BTC  - permanently add a bet to table - marked with (*)")
print("quit|q    CTRL-\           - quit")

cmd=""
start()
#global text
#global won_weight_bet
#global added_bets
while(cmd!="quit" and cmd!="q"):
try:
cmd = raw_input("> ")
if(cmd!=""):
if(cmd.split()[0] == "help" or cmd.split()[0] == "h"): help()
if(cmd.split()[0] == "res" or cmd.split()[0] == "reset" or cmd.split()[0] == "r"): start()
if(cmd.split()[0] == "inp"): inp()
if(cmd.split()[0] == "bets"): wwb()
if(cmd.split()[0] == "win"):
if(len(cmd.split())==2):
if(cmd.split()[1] == "yes"): win(True)
if(cmd.split()[1] == "no"): win(False)
else:
print("win yes|no")
if(cmd.split()[0] == "bet" or cmd.split()[0] == "bett"):
if(len(cmd.split())==4):
if(cmd.split()[1] == "yes"):
tmp = ( copy.deepcopy(won_weight_bet) , copy.deepcopy(added_bets) )
won_weight_bet.append(( "Yes",
int(cmd.split()[2]),
float(cmd.split()[3])))
if(cmd.split()[0] == "bett"):
added_bets.append(  -1*(len(won_weight_bet)-1) )
win(True)
else:
win(True,-1)
won_weight_bet , added_bets = copy.deepcopy(tmp)
if(cmd.split()[1] == "no"):
tmp = ( copy.deepcopy(won_weight_bet) , copy.deepcopy(added_bets) )
won_weight_bet.append(( "No",
int(cmd.split()[2]),
float(cmd.split()[3])))
if(cmd.split()[0] == "bett"):
added_bets.append(  -1*(len(won_weight_bet)-1) )
win(False)
else:
win(False,-1)
won_weight_bet , added_bets = copy.deepcopy(tmp)
elif(len(cmd.split())==6 and cmd.split()[1] == "yes"):
tmp = copy.deepcopy(won_weight_bet)
won_weight_bet.append(( "Yes",
int(cmd.split()[2]),
float(cmd.split()[3])))
won_weight_bet.append(( "No",
int(cmd.split()[2]),
float(cmd.split()[5])))
print("result: YES")
win(True,-2)
print("result: NO")
win(False,-2)
won_weight_bet=copy.deepcopy(tmp)
else:
print("bet yes|no weight sum\nbet yes weight sum no sum")
if(cmd.split()[0] == "add" and len(cmd.split())==5 and cmd.split()[1] == "bet"):
if(cmd.split()[2] == "yes"):
won_weight_bet.append(( "Yes",
int(cmd.split()[3]),
float(cmd.split()[4])))
added_bets.append(len(won_weight_bet)-1)
win(True)
if(cmd.split()[2] == "no"):
won_weight_bet.append(( "No",
int(cmd.split()[3]),
float(cmd.split()[4])))
added_bets.append(len(won_weight_bet)-1)
win(False)
except:
print("wrong command, check 'help'")

And I was looking for possible bet outcomes.

Quote from: kakobrekla link=topic=134799.msg1576619#msg1576619                date=1362268387
(BetAmount + (LosersBtcSum / WinnersWeightedBtcSum)  * ( BetAmount *  BetWeight ) )*0.99

I have found that it is possible to abuse rewards if someone is rich and don't mind losing few bitcoins. The method is simple, bet so much, that the 1% fee is larger than total LosersBtcSum.

For example take this one: http://bitbet.us/bet/40/network-difficulty-under-4-5-million/

Now lets say, that someone places a bet of 42 BTC with weight 25000 (that would happen today). His net winning would be quite nice: 1.02 BTC:

Code:
[   ] won  weight     bet            winning        net winning
[  1] No   99994      0.04000000     0.04509385      0.00509385
[  2] Yes  99994      0.06000000                    -0.06000000
[  3] Yes  99989      2.00000000                    -2.00000000
[  4] No   81542      0.50000000     0.55100084      0.05100084
[  5] No   81534      2.00000000     2.20398140      0.20398140
[  6] No   67299      1.00012340     1.08257185      0.08244845
[  7] No   44635      0.60000000     0.63078494      0.03078494
[  8] No   43427      1.00000000     1.04964898      0.04964898
[  9] No   35777      0.01000000     0.01039141      0.00039141
[ 10] No   35613      2.00000000     2.07783219      0.07783219
[ 11] Yes  28527      0.00008000                    -0.00008000
[ 12] No   25557      0.70000000     0.71757260      0.01757260
[ 13] No   25000     42.00000000    43.02222330      1.02222330     (*)
The (*) marks freshly placed bet.

Next someone rich decides, that he doesn't want anybody to win this bet, and decides to lose 6 BTC on that, he places a   bet of 770 BTC with weight 20000, and here's what we get:

Code:
[   ] won  weight     bet            winning        net winning
[  1] No   99994      0.04000000     0.04008891      0.00008891
[  2] Yes  99994      0.06000000                    -0.06000000
[  3] Yes  99989      2.00000000                    -2.00000000
[  4] No   81542      0.50000000     0.49998367     -0.00001633
[  5] No   81534      2.00000000     1.99993271     -0.00006729
[  6] No   67299      1.00012340     0.99834951     -0.00177389
[  7] No   44635      0.60000000     0.59727359     -0.00272641
[  8] No   43427      1.00000000     0.99530832     -0.00469168
[  9] No   35777      0.01000000     0.00994373     -0.00005627
[ 10] No   35613      2.00000000     1.98870635     -0.01129365
[ 11] Yes  28527      0.00008000                    -0.00008000
[ 12] No   25557      0.70000000     0.69518678     -0.00481322
[ 13] No   25000     42.00000000    41.70834733     -0.29165267     (*)
[ 14] No   20000    760.00000000   754.25798046     -5.74201954     (+)

If you take 2% fee from losers only, instead of 1% from everyone, this problem would not occur.

Moreover, you are welcome to use my small python program and send me some donations if you like it!
Or if you win something Wink

wtfvanity
Hero Member
*****
Offline Offline

Activity: 504
Merit: 500


WTF???


View Profile
March 04, 2013, 10:42:32 PM
 #21

If you take 2% fee from losers only, instead of 1% from everyone, this problem would not occur.

Moreover, you are welcome to use my small python program and send me some donations if you like it!
Or if you win something Wink

Yet still, if you take 1% from the total bets before you split them individually, this is also not a problem.

          WTF!     Don't Click Here              
          .      .            .            .        .            .            .          .        .     .               .            .             .            .            .           .            .     .               .         .              .           .            .            .            .     .      .     .    .     .          .            .          .            .            .           .              .     .            .            .           .            .               .         .            .     .            .            .             .            .              .            .            .      .            .            .            .            .            .            .             .          .
cosurgi
Sr. Member
****
Offline Offline

Activity: 298
Merit: 250


View Profile
March 04, 2013, 10:46:09 PM
 #22

If you take 2% fee from losers only, instead of 1% from everyone, this problem would not occur.

Moreover, you are welcome to use my small python program and send me some donations if you like it!
Or if you win something Wink

Yet still, if you take 1% from the total bets before you split them individually, this is also not a problem.
Nope, this is how it works currently.

MPOE-PR
Hero Member
*****
Offline Offline

Activity: 756
Merit: 522



View Profile
March 04, 2013, 10:50:53 PM
 #23

Hi,

since this thread is for discussion, while other thread (https://bitcointalk.org/index.php?topic=134799.0;all  ) is for announcements I am posting here. Even though it's a reply to  kakobrekla's post in other thread.

I've written a small python program for analyzing possible outcomes:
(is there syntax coloring on this forum?)
Code:
#!/usr/bin/python
# bitbets.py
# GPL v3 license
# send bug reports to cosurgi@gmail.com
# send donations to: 1MtpRjRUNXhPUY89Ah9vZ3jcdSVwS7oXGn
import copy
import readline

global text
global won_weight_bet
global added_bets
text=[]
won_weight_bet=[]
added_bets=[]

def start():
print("==================== bitbet analyzer ====================")
print("Welcome!")
print("If you find this small program useful or win something, please")
print("send donations to: 1MtpRjRUNXhPUY89Ah9vZ3jcdSVwS7oXGn\n")
print("Paste raw data as seen on http://bitbet.us/")
print("in the table just under \"CONFIRMED BETS\"")
print("(enter blank line twice to finish)")
line="start"
global text
global won_weight_bet
global added_bets
text=[]
won_weight_bet=[]
added_bets=[]
errors=0
while(line!="\n"):
try:
import sys
sys.stdout.write("["+str(len(text)-errors)+"] ")
line = sys.stdin.readline()
if(line!="\n"):
text.append(line)
if(len(line.split()) >= 5):
won_weight_bet.append((
line.split()[2],
int(line.split()[3].replace("`","")),
float(line.split()[4])))
else:
sys.stdout.write("something is wrong, please paste carefully\n")
errors = errors+1
except:
sys.stdout.write("something is wrong, please paste carefully\n")
errors = errors+1
print("data enetered correctly, type 'help' for help")

def str8(arg):
res=str('%.8f'%arg)
res=" "*(13 - len(res))+res
return res
def str5(arg): return str('%5i'%arg)
def str3(arg): return str('%3i'%arg)

def inp():
for a in range(len(text)):
print("["+str(a)+"] "+text[a])

def wwb():
global text
global won_weight_bet
print("[   ] won  weight  bet")
for a in range(len(won_weight_bet)):
won   = won_weight_bet[a][0]
weight= won_weight_bet[a][1]
bet   = won_weight_bet[a][2]
print("["+str3(a+1)+"] "+("No " if won=="No" else "Yes")+"  "
+ str5(weight) + "   "+str8(bet))

def win(res,N=0):
global text
global won_weight_bet
global added_bets
print("[   ] won  weight     bet            winning         net win       net loss")
losers=0
bet_weight_sum=0
for a in range(len(won_weight_bet)):
won   = ((True if won_weight_bet[a][0]=="Yes" else False) == res)
weight= won_weight_bet[a][1]
bet   = won_weight_bet[a][2]
if(not won):
losers = losers + bet
else:
bet_weight_sum = bet_weight_sum + bet*weight
if(N<0): N=len(won_weight_bet)+N
net=0
for a in range(len(won_weight_bet)):
won_    = won_weight_bet[a][0]
won     = ((True if won_weight_bet[a][0]=="Yes" else False) == res)
weight  = won_weight_bet[a][1]
bet     = won_weight_bet[a][2]
winning = ( (bet+losers*bet*weight/bet_weight_sum)*0.99 if won else 0 )
if(a>=N):
net = net + winning - bet
print("["+str3(a+1)+"] "+("No " if won_=="No" else "Yes")+"  "
+ str5(weight) + "   "+str8(bet) + "  "
+ ( str8(winning) if (winning!=0) else ("             ") ) + "   "
+ ((str8(winning - bet ) + "              ") if ((winning - bet)>0) else ("              " + str8(winning - bet )))
+ "  "
+ ( ( "total:"+str8(net) ) if ((N == len(won_weight_bet)-2) and (a == len(won_weight_bet)-1) ) else " ")
+ ((" (*)") if (a in added_bets) else (   ((" (+)") if ((-1*a) in added_bets) else ( " " )) )) )

def help():
print("help|h                     - help")
print("reset|res|r                - start working on a new bet")
print("inp                        - print raw input data")
print("bets                       - show current bets")
print("win yes|no                 - see what happens when bet is resolved to yes|no")
print("bet yes|no weight BTC      - see what you can win if you place a new bet")
print("bett yes|no weight BTC     - same as above, but print everyone's results - marked with (+)")
print("bet yes weight BTC no BTC  - place double bet on both sides, see what happens")
print("add bet yes|no weight BTC  - permanently add a bet to table - marked with (*)")
print("quit|q    CTRL-\           - quit")

cmd=""
start()
#global text
#global won_weight_bet
#global added_bets
while(cmd!="quit" and cmd!="q"):
try:
cmd = raw_input("> ")
if(cmd!=""):
if(cmd.split()[0] == "help" or cmd.split()[0] == "h"): help()
if(cmd.split()[0] == "res" or cmd.split()[0] == "reset" or cmd.split()[0] == "r"): start()
if(cmd.split()[0] == "inp"): inp()
if(cmd.split()[0] == "bets"): wwb()
if(cmd.split()[0] == "win"):
if(len(cmd.split())==2):
if(cmd.split()[1] == "yes"): win(True)
if(cmd.split()[1] == "no"): win(False)
else:
print("win yes|no")
if(cmd.split()[0] == "bet" or cmd.split()[0] == "bett"):
if(len(cmd.split())==4):
if(cmd.split()[1] == "yes"):
tmp = ( copy.deepcopy(won_weight_bet) , copy.deepcopy(added_bets) )
won_weight_bet.append(( "Yes",
int(cmd.split()[2]),
float(cmd.split()[3])))
if(cmd.split()[0] == "bett"):
added_bets.append(  -1*(len(won_weight_bet)-1) )
win(True)
else:
win(True,-1)
won_weight_bet , added_bets = copy.deepcopy(tmp)
if(cmd.split()[1] == "no"):
tmp = ( copy.deepcopy(won_weight_bet) , copy.deepcopy(added_bets) )
won_weight_bet.append(( "No",
int(cmd.split()[2]),
float(cmd.split()[3])))
if(cmd.split()[0] == "bett"):
added_bets.append(  -1*(len(won_weight_bet)-1) )
win(False)
else:
win(False,-1)
won_weight_bet , added_bets = copy.deepcopy(tmp)
elif(len(cmd.split())==6 and cmd.split()[1] == "yes"):
tmp = copy.deepcopy(won_weight_bet)
won_weight_bet.append(( "Yes",
int(cmd.split()[2]),
float(cmd.split()[3])))
won_weight_bet.append(( "No",
int(cmd.split()[2]),
float(cmd.split()[5])))
print("result: YES")
win(True,-2)
print("result: NO")
win(False,-2)
won_weight_bet=copy.deepcopy(tmp)
else:
print("bet yes|no weight sum\nbet yes weight sum no sum")
if(cmd.split()[0] == "add" and len(cmd.split())==5 and cmd.split()[1] == "bet"):
if(cmd.split()[2] == "yes"):
won_weight_bet.append(( "Yes",
int(cmd.split()[3]),
float(cmd.split()[4])))
added_bets.append(len(won_weight_bet)-1)
win(True)
if(cmd.split()[2] == "no"):
won_weight_bet.append(( "No",
int(cmd.split()[3]),
float(cmd.split()[4])))
added_bets.append(len(won_weight_bet)-1)
win(False)
except:
print("wrong command, check 'help'")

And I was looking for possible bet outcomes.

Quote from: kakobrekla link=topic=134799.msg1576619#msg1576619                date=1362268387
(BetAmount + (LosersBtcSum / WinnersWeightedBtcSum)  * ( BetAmount *  BetWeight ) )*0.99

I have found that it is possible to abuse rewards if someone is rich and don't mind losing few bitcoins. The method is simple, bet so much, that the 1% fee is larger than total LosersBtcSum.

For example take this one: http://bitbet.us/bet/40/network-difficulty-under-4-5-million/

Now lets say, that someone places a bet of 42 BTC with weight 25000 (that would happen today). His net winning would be quite nice: 1.02 BTC:

Code:
[   ] won  weight     bet            winning        net winning
[  1] No   99994      0.04000000     0.04509385      0.00509385
[  2] Yes  99994      0.06000000                    -0.06000000
[  3] Yes  99989      2.00000000                    -2.00000000
[  4] No   81542      0.50000000     0.55100084      0.05100084
[  5] No   81534      2.00000000     2.20398140      0.20398140
[  6] No   67299      1.00012340     1.08257185      0.08244845
[  7] No   44635      0.60000000     0.63078494      0.03078494
[  8] No   43427      1.00000000     1.04964898      0.04964898
[  9] No   35777      0.01000000     0.01039141      0.00039141
[ 10] No   35613      2.00000000     2.07783219      0.07783219
[ 11] Yes  28527      0.00008000                    -0.00008000
[ 12] No   25557      0.70000000     0.71757260      0.01757260
[ 13] No   25000     42.00000000    43.02222330      1.02222330     (*)
The (*) marks freshly placed bet.

Next someone rich decides, that he doesn't want anybody to win this bet, and decides to lose 6 BTC on that, he places a   bet of 770 BTC with weight 20000, and here's what we get:

Code:
[   ] won  weight     bet            winning        net winning
[  1] No   99994      0.04000000     0.04008891      0.00008891
[  2] Yes  99994      0.06000000                    -0.06000000
[  3] Yes  99989      2.00000000                    -2.00000000
[  4] No   81542      0.50000000     0.49998367     -0.00001633
[  5] No   81534      2.00000000     1.99993271     -0.00006729
[  6] No   67299      1.00012340     0.99834951     -0.00177389
[  7] No   44635      0.60000000     0.59727359     -0.00272641
[  8] No   43427      1.00000000     0.99530832     -0.00469168
[  9] No   35777      0.01000000     0.00994373     -0.00005627
[ 10] No   35613      2.00000000     1.98870635     -0.01129365
[ 11] Yes  28527      0.00008000                    -0.00008000
[ 12] No   25557      0.70000000     0.69518678     -0.00481322
[ 13] No   25000     42.00000000    41.70834733     -0.29165267     (*)
[ 14] No   20000    760.00000000   754.25798046     -5.74201954     (+)

If you take 2% fee from losers only, instead of 1% from everyone, this problem would not occur.

Moreover, you are welcome to use my small python program and send me some donations if you like it!
Or if you win something Wink

Very nicely done. Please select a bet, a side, and post your address, we'll place a 1 BTC bet for you.  Smiley

My Credentials  | THE BTC Stock Exchange | I have my very own anthology! | Use bitcointa.lk, it's like this one but better.
cosurgi
Sr. Member
****
Offline Offline

Activity: 298
Merit: 250


View Profile
March 04, 2013, 10:59:27 PM
 #24

Very nicely done. Please select a bet, a side, and post your address, we'll place a 1 BTC bet for you.  Smiley
cool! Smiley I pick:

http://bitbet.us/bet/38/network-difficulty-under-12-million/
YES
15AgW5L1JJoVbYdpv3jqGvU6sPb7HUya8i

kokojie
Legendary
*
Offline Offline

Activity: 1806
Merit: 1003



View Profile
March 06, 2013, 03:18:29 AM
 #25

I agree, winners should not lose any money, that's simply strange and illogical. Take your profit from losers, not winners.

btc: 15sFnThw58hiGHYXyUAasgfauifTEB1ZF6
cosurgi
Sr. Member
****
Offline Offline

Activity: 298
Merit: 250


View Profile
March 07, 2013, 03:31:37 AM
 #26

I've written a small python program for analyzing possible outcomes:
...
Very nicely done. Please select a bet, a side, and post your address, we'll place a 1 BTC bet for you.  Smiley

Did anybody try my bitbet analyzer?

Oh, do you think that I should make a new thread dedicated to it?

MPOE-PR
Hero Member
*****
Offline Offline

Activity: 756
Merit: 522



View Profile
March 07, 2013, 08:15:30 PM
 #27

I've written a small python program for analyzing possible outcomes:
...
Very nicely done. Please select a bet, a side, and post your address, we'll place a 1 BTC bet for you.  Smiley

Did anybody try my bitbet analyzer?

Oh, do you think that I should make a new thread dedicated to it?

Thread can't hurt.

My Credentials  | THE BTC Stock Exchange | I have my very own anthology! | Use bitcointa.lk, it's like this one but better.
Pages: 1 2 [All]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!