that's why PPS fees are supposed to be larger - for taking the risk. also, it's SUPPOSED to even up with time.
PPS fees are higher to account for the operator's variance when all miners are honest. It can't hope to handle sabotage attacks. honestly I don't see what the problem is. if the pool can't afford PPS, just switch it off and don't advertise it.
I agree with this. martok bit more than he can chew with the PPS. Which is very unfortunate, had he consulted with me I'd have explained the risks. The fact that he conditioned PPS payouts on its eventual finding of blocks means he doesn't get PPS at all. And once again, it does not matter if there is PPS or there is no PPS. Attackers would attack anyway and prop miners would still get less and eventually leave.
Wrong, trying to sabotage a share/score-based pool is shooting oneself in the foot. If the attacker is 50% of the pool, then by withholding blocks he denies himself 50% of the reward. Thus sabotaging such pools is much more expensive. In PPS withholding blocks does not decrease the reward (beyond the normal PPS fee). Also, repeating myself, if PPS is draining too much BTC then just decrease per share payout. Easy enough!
Not easy at all, the operator needs to keep hundreds or thousands of BTC in reserve to ensure stable PPS payouts. Which is what I don't think martok realized.
|
|
|
The pps side has found 3 blocks since it went up, scoring has not found a block. I was curious as to whether there was a pool problem also so ran the software on the testnet for a bit and all works fine with finding blocks and recognizing whether they are PPS or proportional. I think we just need more hashing power on proportional side.
The word "proportional" is usually reserved to the defective system of using the same score for all shares. What we have here is called score-based. Maybe you can try being more aggressive with promoting the pool? All the other pools are more or less the same and this is the only one that offers a distinctive advantage, there's no shame in spreading the word.
|
|
|
Ok, I think now we're allowed to ask... martok, are you absolutely sure there's no problem with the pool that would cause it to miss winning shares?
|
|
|
In summary: Quantum computers are thought to only be inherently twice as effective against SHA-256, compared to classical computers. Therefore any supposed attacks by quantum computers would really just mean a doubling of the difficulty; no different than all current computing technology becoming suddenly twice as powerful.
No, that's not what it means. And I don't know enough about hashing to be sure what it does mean, but in a very broad way, cracking difficulty is exponential in the number of bits. So cracking a 128-bit code is 2^128 times easier than cracking a 256-bit code. That said indeed it doesn't look like QC are a serious problem since you could just double the hash length. There-by eventually ensuring that the only miners will be ones with access to their own gargantuan ASIC arrays or QC's themselves... No, as long as an unbroken hashing function is used, mining rate is proportional to plain old hash calculation rate. And I don't see any indication that QC will have more hash/s per $/W than classical computers. And I expect that there will be companies offering special-purpose mining cards to consumers. That's because you fundamentally misunderstand quantum computing. Care to explain?
|
|
|
- This is exactly like the grocer who can get his own good produce for a discount relative to his customers, and can offer a discount to his acquaintances.
No it's not. When the grocer purchases his own goods, those goods aren't available for him to sell. When a lottery operator purchases his own goods, those goods are still available to sell (or at least a perfectly adequate substitute). Only up to the timescale required to order more supplies, which to me seems like a technicality. - You're still only showing the operator can gain, not that the participants can lose. Every customer who buys a ticket knows he has a 1/X chance to win 0.99X BTC, where the value of X is not yet known. All of your suggested manipulations don't change that.
For the operator to gain, someone has to lose. In the closed system of a lottery, one mans profit is another's loss. I was wrong, but it only strengthens my case. The correct statement is: The customers don't lose, and the operator doesn't gain. Consider two scenarios: Scenario A: A million customers each buy a single ticket. The operator collects a 10K BTC fee. Each customer paid 1 BTC and has 1/1M chance to win 0.99M, so his expected gain from the bet is -0.01 BTC. Scenario B: A million customers each buy a single ticket, and the operator buys 1M tickets for himself. The operator paid 1M. He has 50% chance of winning the entire 2M, and a 50% chance of getting only a 20K fee. Expected gain is 10K BTC, same as before. Each customer paid 1 BTC and has 1/2M chance to win 1.98M, so his expected gain from the bet is -0.01 BTC. Because as jerfelix pointed out this lottery is not progressive, there is never an expected gain out of it. Customers pay in expectation to get the rush of high variance. So all the operator can do is get this high variance without paying for it, he cannot gain in expectation. You're only half correct, the 1/X chance is the same, but the prize changes. But the big manipulation is that statistically, a million random purchases do not guarantee a win. A million purposeful purchases (such as the operator can make) do guarantee a win.
If a million people buy 1,2,3,4,5,6 but the operator buys a million different tickets, the chances of him losing out are very small.
The X in "1/X chance" and in "0.99X reward" is the same, making the expectation per ticket a constant -0.01 BTC. In bitlotto's system two different users can't get the same raffle number. And any single user would be silly to buy two tickets with the same number since this gives him no advantage (and he can make sure each ticket is different). So a million ticket bought by users will have a million numbers, just like a million tickets bought by the operator. Imagine it's a raffle. If 10 punters buy tickets they have a one in ten chance of winning. If the operator then buys one hundred million tickets from himself, he is guaranteed to win.
In bitlotto's system, he needs to actually have 100M BTC and freeze them until the draw to do this. And anyone else with a spare 100M BTC can do it as well, not just the operator.
|
|
|
A lottery operator has close to zero marginal costs to sell himself an additional ticket. He is not depriving himself of the ability to sell a ticket to a customer. Lottery tickets are generated from thin air.
I think here the particulars of bitlotto may differ from other lotteries. To generate a ticket for himself he actually has to spend in advance a BTC he currently owns. So whatever he has to gain only scales with his own capital, not with the number of participants. Let's say I was a discount seller of lottery tickets, and only you know about me, and can get tickets at 50% off. You could then make the same good bet for £7 million.
- And this sounds a lot less impressive if the fee is only 1%, and he can get the good bet for £13.86M. - You're once again making arguments that make sense for a traditional lottery where there are a limited number of options, and not so much for a lottery where there's virtually infinitely many options and exactly one winner (thus there's always a risk to go along with any expected gain). - This is exactly like the grocer who can get his own good produce for a discount relative to his customers, and can offer a discount to his acquaintances. - You're still only showing the operator can gain, not that the participants can lose. Every customer who buys a ticket knows he has a 1/X chance to win 0.99X BTC, where the value of X is not yet known. All of your suggested manipulations don't change that.
|
|
|
@realnowhereman - I can see how this logic applies when there is a very small number of lottery outcomes, but does it really hold up when there are 2^256? There's no way for the operator to have 0 risk then. And in either case it doesn't seem relevant. It's great for the operator that he can profit out of it, but what we care about is the participant. And he can know exactly what his expected payout per lottery ticket is, no matter how the operator chooses to enter his own lottery. Saying that an operator shouldn't have an edge when playing his own lottery is like saying a grocery store owner shouldn't buy groceries at his own store. I'm confused. You say "The bet was about stealing the money without being detected", which I agree. And I said he very well could have cheated 1 BTC from some poor sap, without being detected in the June 1 lottery, and you agreed that nobody can prove that he didn't*. So why didn't I win the bet then?
bitlotto can cheat him statistically. That is, he can have a plan to make sure the participant doesn't win even when he should. But this is different from material cheating (not sure if this is the right word), which means that the contingency that the participant should win actually happened and he still didn't get the reward. The latter cannot be done undetected. And I guess there's no real way to be convinced whether the original bet was about material cheating or also limited-scope statistical cheating.
|
|
|
But I am still awaiting proof that he didn't buy the majority of the tickets in the June 1 lottery. Until you can prove that to me, I contend that he could have. And since he could have, that proves that I won.
Nobody can prove that*, he could have, and it doesn't prove you won. The bet was about stealing the money without being detected. He might have an intention to steal at some point and plan with this intention, but the moment he steals he'll be detected. * Unless buyers of the majority of tickets come and supply proofs of their identities. Furthermore, in that hypothetical scenario, he CHEATED the users out of the 1 BTC, because they had NO chance of winning. zero. zip. nada. 130/131 they lose. 1/131 they get no payout because he runs off with the money. That is a way to cheat. and that is proof that I won the bet.
I guess there was some scope to clarify the exact terms of the bet in advance. But to me this doesn't seem to qualify because 1) He can materially steal only once, which was clearly known to be true and 2) While he can statistically steal several times, the scope of this cheat is bounded by his capital and thus he can't do a large-scale scam.
|
|
|
jereflix did not offer a way bitlotto can cheat and thus can't claim the bet. However, he did implicitly offer a way bitlotto can inflate his apparent trust regarding stealing. Consider again this scenario: (Really, I believe that you are honest, but for all I know, in the June 1 lottery, you had just 1 Bitcoin worth of real entrants, and ~130 fake entrants that you created. You won (surprise), and the jackpot looks attractive for the next round of suckers.)
Disregarding fees, bitlotto puts 130 of his own BTC for a chance of 130/131 to get back 131 BTC and 1/131 chance to lose it all (just like anyone else could). However, it could be that his strategy was really as follows: If he wins, pay out to the winning address normally; if he loses, take the money and run. This way he can make himself appear worthy to be trusted with 131 BTC when he actually is not.
|
|
|
In summary: Quantum computers are thought to only be inherently twice as effective against SHA-256, compared to classical computers. Therefore any supposed attacks by quantum computers would really just mean a doubling of the difficulty; no different than all current computing technology becoming suddenly twice as powerful.
No, that's not what it means. And I don't know enough about hashing to be sure what it does mean, but in a very broad way, cracking difficulty is exponential in the number of bits. So cracking a 128-bit code is 2^128 times easier than cracking a 256-bit code. That said indeed it doesn't look like QC are a serious problem since you could just double the hash length. There-by eventually ensuring that the only miners will be ones with access to their own gargantuan ASIC arrays or QC's themselves... No, as long as an unbroken hashing function is used, mining rate is proportional to plain old hash calculation rate. And I don't see any indication that QC will have more hash/s per $/W than classical computers. And I expect that there will be companies offering special-purpose mining cards to consumers.
|
|
|
Stay away from bitcoin7 They smell very fishy, there are a bunch of threads popping around about it
I don't really have a dog in this fight but it seems like you are popping a lot of those threads up. My 0.02 BTC, and I really don't care as I'm affiliated with absolutely no one, but it seems like the elder forum members need to accept that the market around BitCoin is going to grow and involve people that don't feel the need to communicate directly with the project or elder forum members. Just because they haven't sought blessing by Bruce Wagner or advertised on his show doesn't mean they are a scam. At some point you have to let the market develop on its own and not babysit it. Not hatin' anyone. Just observing that the inside clique of early BTC'ers seems unusually put off by people they don't know setting up business around BitCoin instead of encouraging the market to be free and manage itself. I thought that was kind of the point of a distributed P2P currency. These are some fairly serious accusations. Of course we embrace new businesses, even if they haven't built up a reputation in this community, if they seem legitimate, and with all due respect Bitcoin7 doesn't appear very legitimate. Operating a large-scale exchange is a serious undertaking and Bitcoin7 don't seem they have what it takes, so even if they have the best of intentions they might crumble leaving their customers with a loss. Note also that I at least didn't advise to stay away from them, only to be careful. Perhaps with time they'll be able to make up for their past mistakes and establish their reputation as a legitimate exchange.
|
|
|
In summary: Quantum computers are thought to only be inherently twice as effective against SHA-256, compared to classical computers. Therefore any supposed attacks by quantum computers would really just mean a doubling of the difficulty; no different than all current computing technology becoming suddenly twice as powerful.
No, that's not what it means. And I don't know enough about hashing to be sure what it does mean, but in a very broad way, cracking difficulty is exponential in the number of bits. So cracking a 128-bit-security code is 2^128 times easier than cracking a 256-bit-security code. That said indeed it doesn't look like QC are a serious problem since you could just double the hash length.
|
|
|
You should be very careful with them. FYI they copied most of their text from TradeHill.com, a legitimate recently opened exchange (Bitcoin7 claims the dog ate their copywrite, or that outsourced copywriters copied that text without their knowledge, or something like that). Maybe you should try Tradehill, especially if you liked the text about vision and such you saw on bitcoin7.
|
|
|
1. both blocks are considered 'equally valid' until another new block is created. Because this new block has to use the hash from one of the previous blocks (otherwise it's invalid) at the time the new block attaches to one of the two blocks, the chain with the new block now becomes the 'best' chain and clients/miners will start attaching to this chain. Ah, so they aren't validated simply upon being published, but rather by future publications using them and creating a more difficult (and longer) chain. So what determines which of multiple branches that a given client will use for the next block? Is this left up to each client's implementation? Do they tend to go with the lowest timestamp (assuming that timestamps are recorded), or some other deterministic method? Or is it stochastic, giving both blocks a "fair" chance? The branch representing the highest total difficulty (barring changes in difficulty, this is simply the one with the longest chain of blocks) is chosen to be built upon. In case of a tie, the one the client saw first is chosen. Note that the client doesn't now try to calculate hashes, but it does provide getwork to miner software.
|
|
|
There's no problem with POS. Double-spending is difficult even without any confirmations, and transactions propagate in seconds. Unless we're talking about a large purchase (equivalent to hundreds of dollars maybe?) there's very little risk in accepting the payment immediately. This was of course discussed before.
|
|
|
before we mine out all the BTC
Mining will not stop when no more BTC are generated. It will be paid for with transaction fees.
|
|
|
Bitcoin is not that bad... It's the carrots you really need to stay away from.
As long as you don't become a dealer selling mining contracts you'll be fine.
|
|
|
Okay, this is going to be a newbie question, I apologize in advance. How do you use the RPC interface?
After some Googling it seemed to me that mere mortals cannot use it. But soon most (all?) of the functionality should be available from the website.
|
|
|
It looks like you're thinking a block is found like clockwork every 10 minutes. That's false, finding blocks (for Bitcoin at large, for a pool, for a miner) follows a Poisson process, so the time to find the next block is distributed exponentially.
It looks like the "paper" that describes the process assumes you need to use a median time for block generation, I am referring to that. You look at the number of shares as a fraction of the difficulty. But you don't do the whole calculation in block granularity. What I'm saying is I don't see how you can use a static number to refer to all possible scenarios, and assume that just because in a specific combination of circumstances you get an advantage, that advantage is possible to maintain in the other situations (such as those presented above). I feel that either the methods explained in the paper to abuse the pool are not taking all variables into account (very short blocks, very long blocks, other miners, other pools, random distribution of blocks, comparison with PPS in different scenarios) or they do and I couldn't locate this information in that paper.
Because all this information is irrelevant. Your expected payout from a proportional pool for a share you submit now depends only on the number of shares in its current round (as a fraction of the difficulty). Specifically, if there currently are K shares in the round, the expected payout (in units of block reward) is $\sum_{i=K+1}^{\infty}p(1-p)^{i-K-1}/i$. Also, how come anything that happens outside the pool has no effect when in fact you need to "hop" to other pools in certain circumstances?
It has no effect on the payout from this pool. But once the payout from this pool, due to the length of its current round, is too low, you hop to a pool where it's higher.
|
|
|
Your payout from a pool is completely independent of the blocks found outside the pool, so I'm not sure what you're trying to say.
I am pretty sure my payout is dependent on the fact that a block is found inside or outside the pool, at least this is my impression: - block inside the pool? Round ends, I get 50 BTC * My shares / All shares during the round time. - block outside the pool? Round continues, everyone has to add more shares to the extended round time. Sure, in the end it evens out in sufficient rounds, but then again we are talking about pool abuse efficiency, and I still don't see the practicality in doing it. If anyone feels that posting in the public forum would damage the pools (even if information has already been posted) feel free to PM me. Whatever happens outside the pool has no effect (unless it affects the decisions of miners). It doesn't matter at all if in a given minute 0 blocks were found outside the pool or 8. It does of course matter whether in this minute the pool found a block or not. It looks like you're thinking a block is found like clockwork every 10 minutes. That's false, finding blocks (for Bitcoin at large, for a pool, for a miner) follows a Poisson process, so the time to find the next block is distributed exponentially. We're not hiding anything. We've specified exactly how to pool-hop (well, at least as long as the pool doesn't try to implement counter-hopping measures, there's some room for discussion there) and why it works. Some people have done it. It should be emphasized that pools using a correct payout method (geometric, PPS, inter-round window) are completely immune to the effect.
|
|
|
|