DumbFruit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2015, 03:02:25 PM Last edit: June 09, 2015, 05:26:56 PM by DumbFruit |
|
Ok, so my post was nuked again (My computers fault) so this will be short and sweet. I have been away, so I apologize for the delay; Suppose there is a big miner with 33% of the hashpower, and there are 67 small miners with 1% of the hashpower. Because of the Law of Big Numbers and simplicity, I'll assume that they all mine blocks in a predictable order; BigMiner, SmallMiner[1], SmallMiner[2], BigMiner, SmallMiner[3], SmallMiner[4], .. , BigMiner, SmallMiner[66], SmallMiner[67] I'll also assume that the rollover fee will be distributed over the next 100 blocks. BigMiner can assume that it can recover 33% of the lost reward on a future block. So if the BigMiner can mine a block that exceeds T while simultaneously getting a reward that is better than a block less than T, given that his reward is reward - penalty + .33*penalty, then it's at a net positive. Whereas a small miner could only do reward - penalty + 0.01*penalty. What is further problematic for the SmallMiner is that if they mine anything with a rollover fee, the BigMiner will get 33% of the reward whereas they will be lucky to get 1% (Not only is the reward less for himself, but any rolling over reward is more beneficial to his larger competitor(s)). In this way, the BigMiner has a competitive advantage over SmallMiners. I tried to come up with specific numbers that would show the attack on your algorithm, but I wasn't sure what values you were using to get your graph 1, so I think it would end up being a straw man anyway. The bottom line is that penalties or rewards rolling over hurts the SmallMiner more than the BigMiner. SmallMiners being less able to recover over future blocks. By "penalties or rewards" I mean that it doesn't make a difference whether you are rewarding the current larger block and rolling a bonus over to future blocks, or if you are penalizing a big block and then passing the difference to future blocks. I didn't see a response to that problem, sorry if I missed it. 1https://i.imgur.com/EZvlJq7.pngEdit: T was defined as the target block size.
|
By their (dumb) fruits shall ye know them indeed...
|
|
|
tacotime
Legendary
Offline
Activity: 1484
Merit: 1005
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2015, 04:56:28 PM |
|
Furthermore, if the reward is (1 - penalty) * (minted coins) + tx fees, then in the future when the minted coins go down to 0, there is no penalty at all. That's the opposite of future-proof.
Monero is permanently inflationary, so there will always be an impact of the penalty.
|
XMR: 44GBHzv6ZyQdJkjqZje6KLZ3xSyN1hBSFAnLP6EAqJtCRVzMzZmeXTC2AHKDS9aEDTRKmo6a6o9r9j86pYfhCWDkKjbtcns
|
|
|
Meni Rosenfeld (OP)
Donator
Legendary
Offline
Activity: 2058
Merit: 1054
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2015, 07:25:35 PM |
|
Ok, so my post was nuked again (My computers fault) so this will be short and sweet. I have been away, so I apologize for the delay; Suppose there is a big miner with 33% of the hashpower, and there are 67 small miners with 1% of the hashpower. Because of the Law of Big Numbers and simplicity, I'll assume that they all mine blocks in a predictable order; BigMiner, SmallMiner[1], SmallMiner[2], BigMiner, SmallMiner[3], SmallMiner[4], .. , BigMiner, SmallMiner[66], SmallMiner[67] I'll also assume that the rollover fee will be distributed over the next 100 blocks. BigMiner can assume that it can recover 33% of the lost reward on a future block. So if the BigMiner can mine a block that exceeds T while simultaneously getting a reward that is better than a block less than T, given that his reward is reward - penalty + .33*penalty, then it's at a net positive. Whereas a small miner could only do reward - penalty + 0.01*penalty. What is further problematic for the SmallMiner is that if they mine anything with a rollover fee, the BigMiner will get 33% of the reward whereas they will be lucky to get 1% (Not only is the reward less for himself, but any rolling over reward is more beneficial to his larger competitor(s)). In this way, the BigMiner has a competitive advantage over SmallMiners. I tried to come up with specific numbers that would show the attack on your algorithm, but I wasn't sure what values you were using to get your graph 1, so I think it would end up being a straw man anyway. The bottom line is that penalties or rewards rolling over hurts the SmallMiner more than the BigMiner. SmallMiners being less able to recover over future blocks. By "penalties or rewards" I mean that it doesn't make a difference whether you are rewarding the current larger block and rolling a bonus over to future blocks, or if you are penalizing a big block and then passing the difference to future blocks. I didn't see a response to that problem, sorry if I missed it. 1https://i.imgur.com/EZvlJq7.pngEdit: T was defined as the target block size. See a worked example at https://bitcointalk.org/index.php?topic=1078521.msg11557115#msg11557115. I use the penalty function described in the OP - f(x) = max(x-T,0)^2 / (T*(2T-x)). And an earlier one with made up numbers but additional analysis. You need to be thinking in terms of reward per block. Of course the 33% miner should get about x33 the rewards of a 1% miner, simply because he's bigger. What we don't want is that the big miner would have more than x33 the rewards (superlinear gain). What I've shown is that the big miner actually gets less than x33 the total rewards of a small miner, or in other words, that the reward per block is smaller for the big miner. Every miner gets, per block, (tx fees - penalty) + collection. The rollover pool is the same for all miners so collection is a roughly constant value. But (tx fees - penalty) differs per block, and is lower for the big miner. The big miner purposefully builds supersized blocks, because increasing the pool works to his advantage - but it works to the advantage of the small miners, too. Put another way, the small miners don't reclaim much of their own penalty, but they reclaim the penalty of the big miners. If you still disagree, please either 1. Explain why we shouldn't be looking at reward per block, or 2. Explain what is wrong with the example (the one with real numbers) that shows the reward per block is smaller for big miners. Furthermore, if the reward is (1 - penalty) * (minted coins) + tx fees, then in the future when the minted coins go down to 0, there is no penalty at all. That's the opposite of future-proof.
Monero is permanently inflationary, so there will always be an impact of the penalty. Ok. I was primarily refuting the implied claim that this formula would make sense when applied to Bitcoin.
|
|
|
|
NewLiberty
Legendary
Offline
Activity: 1204
Merit: 1002
Gresham's Lawyer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2015, 07:38:47 PM |
|
You need to be thinking in terms of reward per block. Of course the 33% miner should get about x33 the rewards of a 1% miner, simply because he's bigger. What we don't want is that the big miner would have more than x33 the rewards (superlinear gain). What I've shown is that the big miner actually gets less than x33 the total rewards of a small miner, or in other words, that the reward per block is smaller for the big miner.
This is simultaneously the best feature of the proposal, and the one most likely to prevent it from becoming part of Bitcoin. Ok. I was primarily refuting the implied claim that this formula would make sense when applied to Bitcoin.
There was no such claim, implied or otherwise. The coins are fundamentally different, but the similarity of this feature would have provided a good place to have started, if you had known of it. Better late than never though.
|
|
|
|
DumbFruit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 09, 2015, 08:52:36 PM |
|
2. Explain what is wrong with the example (the one with real numbers) that shows the reward per block is smaller for big miners. Right here; Reward per block for 1% miner: 5943 * 0.0006885 + 3.2223 - 0.4589 = 6.8552 BTC (more than in scenario 1) Reward per block for 90% miner: 7251 * 0.0006885 + 3.2223 - 3.5294 = 4.68521 BTC (less than 1% miners in this scenario; more than the miners in scenario 1). No miner is going to mine a block that costs him more than 2 BTC to mine. Since it's not economically viable to mine larger blocks, you're right that there isn't an economic advantage given to the larger mining entity, and what I wrote earlier wouldn't apply. What I wrote would only apply to penalties that don't reduce the reward below the target block size reward. Why would a miner mine a block at a loss just to accept more transactions? Regardless, any market participant that engaged in this behavior would just get out-competed by another that didn't.
|
By their (dumb) fruits shall ye know them indeed...
|
|
|
someone42
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 78
Merit: 11
Chris Chua
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 10, 2015, 06:36:30 AM |
|
1. Floating block limits have their own set of problems, and may result in a scenario where there is no effective limit at all.
2. Even if you do place a floating block limit, it doesn't really relieve of the need for an elastic system. Whatever the block limit is, tx demand can approach it and then we have a crash landing scenario. We need a system that gracefully degrades when approaching the limit, whatever it is.
Why not have both an elastic block cap and floating block limits? A common argument against floating block limits is "big miners will create super-sized blocks full of crap to artifically inflate the block limit". This attack is conveniently addressed by your rollover penalties, as the penalty is a function of block size (not of transaction fees), so miners cannot game the system by including self-mined transactions. Consider the following floating block limit function: T = k * median(block size of last N blocks) evaluated every N blocks. With k = 1.0 and N = something large like 8064, we have an equilibrium situation consisting of the status quo, where everyone stays under the soft cap of T. If a large mining cartel wishes to inflate block sizes against the will of smaller miners, they must begin creating larger blocks and paying penalties towards the smaller miners, for each block. With sufficiently large N, this is not sustainable. Let's say Bitcoin experiences sustained, long-term growth and the fee pool/demand increases. Now everyone, including smaller miners, is creating blocks larger than T. Everyone pays penalties, but in doing so, the "penalty" isn't really a penalty; everyone receives about as much from the rollover pool as they pay. After 8064 blocks, T increases to account for this genuine, long-term increase in demand. There are lots of parameters here, and they can be adjusted to disincentivize a mining cartel from artificially inflating block sizes. For example, increasing N and making the limit function f(x) "harder" will both increase the cost to artificially inflate block size limits. Another possibility is setting k < 1.0 (e.g. k = 0.98), which means that maintaining the status quo has a cost. If miners unanimously decide to maintain the status quo, then no-one is actually penalised because everyone receives as much from the penalty pool as they pay. However, if smaller miners feel that the status quo is unreasonable (because of past bloat from a large mining cartel), they can choose to make smaller blocks and "bleed" penalties from the larger miners. However, I am concerned that setting k < 1.0 might implicitly set an absolute minimum transaction fee. tl;dr version:With floating block limits + rollover penalties: mining cartel tries to artificially inflate blocks => they must subsidize smaller miners with penalties Bitcoin experiences genuine, long-term growth => miners unanimously include more transactions => block sizes will increase
|
|
|
|
Meni Rosenfeld (OP)
Donator
Legendary
Offline
Activity: 2058
Merit: 1054
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 10, 2015, 08:35:06 AM Last edit: June 11, 2015, 08:17:11 AM by Meni Rosenfeld |
|
2. Explain what is wrong with the example (the one with real numbers) that shows the reward per block is smaller for big miners. Right here; Reward per block for 1% miner: 5943 * 0.0006885 + 3.2223 - 0.4589 = 6.8552 BTC (more than in scenario 1) Reward per block for 90% miner: 7251 * 0.0006885 + 3.2223 - 3.5294 = 4.68521 BTC (less than 1% miners in this scenario; more than the miners in scenario 1). No miner is going to mine a block that costs him more than 2 BTC to mine. Since it's not economically viable to mine larger blocks, you're right that there isn't an economic advantage given to the larger mining entity, and what I wrote earlier wouldn't apply. What I wrote would only apply to penalties that don't reduce the reward below the target block size reward. Why would a miner mine a block at a loss just to accept more transactions? Regardless, any market participant that engaged in this behavior would just get out-competed by another that didn't. I don't understand what you wrote here. These are the results for the optimal strategy for each miner, which maximizes his profit. Should I show the derivation? It's just a bunch of unwieldy equations that my silicon overlord took care of for me... Each miner wants to maximize tx fees + collection - penalty. The small miner can't hope to affect collection because it depends on what the other miners do. But the big miner does meaningfully affect collection as he makes bigger blocks. As he adds transactions to his blocks, all of tx fees, collection and penalty increase. At some point, the increase in penalty outweighs the increase in tx fees + collection, so he stops there. Whether one or more of these summands is more than 2 BTC is irrelevant, it's their sum that counts. In the part you quoted, no miner mines at a loss. The small miner has a profit of 6.8552 BTC per block, and the big miner has a profit of 4.68521 BTC per block. If the big miner built smaller blocks, his rewards per block would be smaller. If, for example, he included only 6000 txs/block, like the small miners, he would get only 4.50 BTC per block (instead of 4.68), just like the miners in scenario 1. If the big miner takes a longer-term view, he may notice that creating supersized blocks will give him a profit at first, but then attract more miners, who will increase the difficulty, which will reduce his profits, to the point where he is not competitive with the small miners - so he can give up the whole thing and just build normal blocks (ignoring reclaiming his own penalty in his optimality calculations). And then we go back to the situation where big and small miners are completely equivalent, and get the same reward per block.
|
|
|
|
Meni Rosenfeld (OP)
Donator
Legendary
Offline
Activity: 2058
Merit: 1054
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 10, 2015, 08:41:37 AM |
|
1. Floating block limits have their own set of problems, and may result in a scenario where there is no effective limit at all.
2. Even if you do place a floating block limit, it doesn't really relieve of the need for an elastic system. Whatever the block limit is, tx demand can approach it and then we have a crash landing scenario. We need a system that gracefully degrades when approaching the limit, whatever it is.
Why not have both an elastic block cap and floating block limits? A common argument against floating block limits is "big miners will create super-sized blocks full of crap to artifically inflate the block limit". This attack is conveniently addressed by your rollover penalties, as the penalty is a function of block size (not of transaction fees), so miners cannot game the system by including self-mined transactions. Consider the following floating block limit function: T = k * median(block size of last N blocks) evaluated every N blocks. With k = 1.0 and N = something large like 8064, we have an equilibrium situation consisting of the status quo, where everyone stays under the soft cap of T. If a large mining cartel wishes to inflate block sizes against the will of smaller miners, they must begin creating larger blocks and paying penalties towards the smaller miners, for each block. With sufficiently large N, this is not sustainable. Let's say Bitcoin experiences sustained, long-term growth and the fee pool/demand increases. Now everyone, including smaller miners, is creating blocks larger than T. Everyone pays penalties, but in doing so, the "penalty" isn't really a penalty; everyone receives about as much from the rollover pool as they pay. After 8064 blocks, T increases to account for this genuine, long-term increase in demand. There are lots of parameters here, and they can be adjusted to disincentivize a mining cartel from artificially inflating block sizes. For example, increasing N and making the limit function f(x) "harder" will both increase the cost to artificially inflate block size limits. Another possibility is setting k < 1.0 (e.g. k = 0.98), which means that maintaining the status quo has a cost. If miners unanimously decide to maintain the status quo, then no-one is actually penalised because everyone receives as much from the penalty pool as they pay. However, if smaller miners feel that the status quo is unreasonable (because of past bloat from a large mining cartel), they can choose to make smaller blocks and "bleed" penalties from the larger miners. However, I am concerned that setting k < 1.0 might implicitly set an absolute minimum transaction fee. tl;dr version:With floating block limits + rollover penalties: mining cartel tries to artificially inflate blocks => they must subsidize smaller miners with penalties Bitcoin experiences genuine, long-term growth => miners unanimously include more transactions => block sizes will increase Sounds good. I tend to agree there is good synergy between the two modifications - the limit will float only after it is stretched and penalized, making sure there is an actual need for it. I agree the time scales need to be fairly large, to make it expensive to artificially inflate the limit. Anyway, this requires more research.
|
|
|
|
DumbFruit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 10, 2015, 02:23:11 PM Last edit: June 10, 2015, 03:09:13 PM by DumbFruit |
|
I don't understand how your algorithm will give the entity with higher hashpower more profit by mining blocks that give less BTC per block, that doesn't make any sense to me. Why wouldn't the bigger miner mine smaller blocks and get the higher BTC per block, like your example was showing? On the other hand, if it really is more profitable to mine larger blocks, then why wouldn't the smaller hashpower nodes do it? If they do, then the same problems I mentioned before would apply (The penalty would give a competitive advantage to the higher hashpower nodes). if this is true; Reward per block for 1% miner: 5943 * 0.0006885 + 3.2223 - 0.4589 = 6.8552 BTC (more than in scenario 1) Reward per block for 90% miner: 7251 * 0.0006885 + 3.2223 - 3.5294 = 4.68521 BTC (less than 1% miners in this scenario; more than the miners in scenario 1). Why isn't the 90% miner simply including 5943 transactions like the 1% miner is, in order to get about 2 BTC more per block? At some point, the increase in penalty outweighs the increase in tx fees + collection, so he stops there. Whether one or more of these summands is more than 2 BTC is irrelevant, it's their sum that counts. The problem is, regardless of what the collection is in the pool, the highest profit per block is always greater by simply mining at the target block size. If the major nodes have driven up the BTC in the collection pool to provide greater profits on the whole, then the first big miner that stops contributing to the pool will essentially drain the pool by mining blocks at the target block size. In the end, trying to maximize profits by relying your competitors to "play fair" won't work. This is actually analogous to cartelization; Big companies cooperating to achieve greater profits. However.. Cartels, absent the power of the State, always break down, because the first one that does can achieve greater profits at the expense of the cartel as a whole. Weaknesses of cartels Analysis demonstrates that a cartel is an inherently unstable form of operation: If pooling resources is more profitable, then the cartel will merge into one company. If it proves to be less profitable, the individual members of the cartel will break off. If it doesn’t break from within, an outsider, noticing the enormous profitability, will enter the market, and this dooms the cartel. Particularly likely to be restive under the imposed joint action will be the more efficient producers, who will be eager to expand their business rather than be fettered by shackles and quotas to provide shelter for their less efficient competitors. If the cartel does not break up from within, it is even more likely to do so from without. To the extent that it has earned unusual monopoly profits, outside firms and outside producers will enter the same field of production. http://wiki.mises.org/wiki/Cartel
|
By their (dumb) fruits shall ye know them indeed...
|
|
|
NewLiberty
Legendary
Offline
Activity: 1204
Merit: 1002
Gresham's Lawyer
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 10, 2015, 03:41:17 PM |
|
Anyway, this requires more research.
Start a block chain and try it out.
|
|
|
|
Meni Rosenfeld (OP)
Donator
Legendary
Offline
Activity: 2058
Merit: 1054
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 10, 2015, 05:09:37 PM |
|
I don't understand how your algorithm will give the entity with higher hashpower more profit by mining blocks that give less BTC per block, that doesn't make any sense to me.
Because in so doing, the miner increases the penalty pool, and will reclaim it in his future blocks. Why wouldn't the bigger miner mine smaller blocks and get the higher BTC per block, like your example was showing?
Because if he does, the penalty pool will be smaller, and he will get less BTC per block. If nobody creates supersized blocks, we go back to scenario 1. The big miner, like all other miners, will get only about 4.50 BTC per block. When the big miner creates supersized blocks, he gets 4.68 BTC per block. On the other hand, if it really is more profitable to mine larger blocks, then why wouldn't the smaller hashpower nodes do it?
Because if a small miner creates a large block, the effect on the penalty pool is not as meaningful as the effect the big miner has. All miners want to maximize their (tx fees - penalty) + collection. Collection is equal to the average penalty paid by all miners. A small miner plays only a small part on this average, so collection is constant as far as he is concerned, so he more or less wants to maximize just (tx fees - penalty), which happens at around 6000 txs. If he goes further, he will decrease his (tx fees - penalty) with barely any effect on collection. A big miner has a big effect on the average. As he creates blocks larger than 6000, (tx fees - penalty) decreases but collection increases at a faster rate. Above 7250 txs, the gain in collection doesn't justify the drop in (tx fees - penalty). if this is true; Reward per block for 1% miner: 5943 * 0.0006885 + 3.2223 - 0.4589 = 6.8552 BTC (more than in scenario 1) Reward per block for 90% miner: 7251 * 0.0006885 + 3.2223 - 3.5294 = 4.68521 BTC (less than 1% miners in this scenario; more than the miners in scenario 1). Why isn't the 90% miner simply including 5943 transactions like the 1% miner is, in order to get about 2 BTC more per block? Because if he starts creating 5943-tx blocks, the penalty pool will be smaller, and so will the amount he collects per block. See scenario 1 here - if the big miner behaves as the small miners do, it's the same as if they're all small miners. He will get just 4.50 BTC per block, instead of 4.68. He can't have the cake and eat it too - not pay a penalty, but expect to reclaim it... I'll say again - the default state is where everyone just maximizes their own (tx fees - penalty). A big miner can afford to build bigger blocks than that because he knows he can reclaim 90% of the penalty, so it doesn't bother him that much. In so doing, he increases his profit per block - but he increases the profit of the miners who don't do this even more. At some point, the increase in penalty outweighs the increase in tx fees + collection, so he stops there. Whether one or more of these summands is more than 2 BTC is irrelevant, it's their sum that counts. The problem is, regardless of what the collection is in the pool, the highest profit per block is always greater by simply mining at the target block size. If the major nodes have driven up the BTC in the collection pool to provide greater profits on the whole, then the first big miner that stops contributing to the pool will essentially drain the pool by mining blocks at the target block size. In the end, trying to maximize profits by relying your competitors to "play fair" won't work. I'm not making any assumptions about fair play, reciprocity, collaboration or any such thing. All miners are behaving selfishly and without regard to the other miners. However, I am assuming each miner expects to continue mining, at a similar hashrate portion to his current (or, alternatively, he bases his calculations on his future anticipated portion). The big miner will create supersized blocks simply because he know he'll be around to reclaim some of the penalty later. So he doesn't maximize (tx fees - penalty), he maximizes (tx fees - 0.1*penalty), which happens at larger blocks, with a steeper marginal penalty. If there are several big miners, they should all create supersized blocks, and then every miner will enjoy the supersized blocks of the others. But the reason for each individual miner to create supersized blocks is not that he hopes others will do the same. It's simply because it's more profitable for him to do so, regardless of what the others do. This is not the prisoner's dilemma, where there is a conflict between selfish desires and the greater good. Of course, it is possible to miners to try and band up in a cartel, creating blocks even larger than what is selfishly optimal for each of them individually. But such a structure will not be stable.
|
|
|
|
DumbFruit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 10, 2015, 06:28:07 PM Last edit: June 10, 2015, 06:38:18 PM by DumbFruit |
|
Because if he starts creating 5943-tx blocks, the penalty pool will be smaller, and so will the amount he collects per block. See scenario 1 here - if the big miner behaves as the small miners do, it's the same as if they're all small miners. He will get just 4.50 BTC per block, instead of 4.68. He can't have the cake and eat it too - not pay a penalty, but expect to reclaim it... That's not the point. What prevents the competition from pulling from the pool without contributing to it? I understand that it's in the interest of a massive node or cartel of nodes to mine large blocks, but only if they aren't undermined by their competitors, which can pull from the pool without paying any penalty themselves. The nodes can't have their cake and eat it too... But they can eat it. Ultimately, there would be no pool. If there are several big miners, they should all create supersized blocks, and then every miner will enjoy the supersized blocks of the others. Yes, they should, and this would be a cartel; where each is cooperating with each-other for greater profits, and it would break up in the same fashion as other cartels; Any member of the cartel profits more by not contributing to the penalty pool.
|
By their (dumb) fruits shall ye know them indeed...
|
|
|
jonny1000
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 129
Merit: 14
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 10, 2015, 11:05:13 PM Last edit: June 10, 2015, 11:24:22 PM by jonny1000 |
|
the reason for each individual miner to create supersized blocks is not that he hopes others will do the same. It's simply because it's more profitable for him to do so, regardless of what the others do. This is not the prisoner's dilemma, where there is a conflict between selfish desires and the greater good.
I apologize for making this even more academic, however this is a complex proposal and there will always be games and ways of analyzing this which are analogous to the prisoner's dilemma. For example a large miner (A) could consider that producing a smaller block leaves more transactions in the meme pool, such that another miner (B) would be incentivised to produce a larger block and pay a larger penalty and this would increase the rollover pool, which large miner A could collect. Miners want to maximize their (tx fees - X * penalty) + collection +- X * impact the decision has on other miners block sizes and the associated penalty's X = projected share of the network hashing power That's not the point. What prevents the competition from pulling from the pool without contributing to it? I understand that it's in the interest of a massive node or cartel of nodes to mine large blocks, but only if they aren't undermined by their competitors, which can pull from the pool without paying any penalty themselves.
Nothing prevents miners leaving pools. Is that not desirable? This could potentially be a great characteristic of Meni's proposal. Undermining a large cartel of miners in favor of smaller miners seems great. (I don't know if Meni thought of this when he made the proposal, or it was kind of luck?) tl;dr version: With floating block limits + rollover penalties: mining cartel tries to artificially inflate blocks => they must subsidize smaller miners with penalties Bitcoin experiences genuine, long-term growth => miners unanimously include more transactions => block sizes will increase
I think this potentially sounds like a good idea.
|
|
|
|
Meni Rosenfeld (OP)
Donator
Legendary
Offline
Activity: 2058
Merit: 1054
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2015, 07:44:29 AM Last edit: June 11, 2015, 08:54:02 AM by Meni Rosenfeld |
|
Because if he starts creating 5943-tx blocks, the penalty pool will be smaller, and so will the amount he collects per block. See scenario 1 here - if the big miner behaves as the small miners do, it's the same as if they're all small miners. He will get just 4.50 BTC per block, instead of 4.68. He can't have the cake and eat it too - not pay a penalty, but expect to reclaim it... That's not the point. What prevents the competition from pulling from the pool without contributing to it? I understand that it's in the interest of a massive node or cartel of nodes to mine large blocks, but only if they aren't undermined by their competitors, which can pull from the pool without paying any penalty themselves. The nodes can't have their cake and eat it too... But they can eat it. Ultimately, there would be no pool. That's exactly what the small miners are doing. In my scenario 2, the small miners do not contribute and are not expected to. They just maximize their own (tx fees - penalty) at around 6000 txs, and enjoy the collection from the penalties the big miner is paying. They eat the cake and let the big miner bake it. The big miner creates supersized blocks knowing full well that the small miners will not follow in their lead. It's in the interest of a massive node to mine large blocks regardless of what the competition are doing. The optimization criterion is different for small and big miners. The 90% miner knows that he'll be able to reclaim some of his own penalty ( not the penalty of the other miners), so he effectively gets (tx fees - 0.1*penalty) per block, which is optimized at a higher size. If there are several big miners, each of them creates supersized blocks because it is in their selfish interest. If miner 2 pulls out, miner 1 will continue creating supersized blocks. But in fact, miner 2 will not pull out, because it would just reduce his own profits. As I mentioned, the above is as long as we ignore difficulty changes. In practice, what will happen is that the supersized blocks will attract more miners, which will increase the difficulty and reduce the profits. A big miner which takes this into account will probably want to avoid it, and will not create supersized blocks. If everyone (including the big miners) just maximize (tx fees - penalty) without regard to reclaiming, then all miners get the same reward per block. This, again, proves my original point, that the method does not create an additional incentive to centralize. Also, numbers speak louder than words. In scenario 2 here, I've claimed that the optimal strategy for the small miners is 5943 txs/block, and the optimal strategy for the big miner is 7251 txs/perblock. This is a Nash equilibrium - each player has no better option, assuming everyone else sticks to their strategies. Are you saying this is not so? Can you suggest a different strategy for the big miner, which will result in getting more than 4.68521 BTC / block (without the small miners changing theirs)? Can you suggest a different strategy for a small miner (just one, not all of them as a collective) which will result in getting more than 6.8552 BTC / block? Again, we're talking about time scales long enough to reclaim penalties, but short enough for difficulty targeting and new miners to not be a factor. Or perhaps, you'd like to investigate a scenario with a different distribution of miners? If there are several big miners, they should all create supersized blocks, and then every miner will enjoy the supersized blocks of the others. Yes, they should, and this would be a cartel; where each is cooperating with each-other for greater profits, and it would break up in the same fashion as other cartels; Any member of the cartel profits more by not contributing to the penalty pool. No. They are not cooperating. Each miner is simply doing what is best for him, expecting others to be similarly selfish. This is shown in my calculations, and if you'd like, I can repeat the calculations for a different distribution of miners. Again - a big miner (regardless of whether the other miners are big, small, whatever) creates supersized blocks (blocks which are bigger than what optimizes tx fees - penalty) simply because he expects to reclaim some of his own penalty. Not the penalty of others.
|
|
|
|
Meni Rosenfeld (OP)
Donator
Legendary
Offline
Activity: 2058
Merit: 1054
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2015, 08:41:11 AM |
|
the reason for each individual miner to create supersized blocks is not that he hopes others will do the same. It's simply because it's more profitable for him to do so, regardless of what the others do. This is not the prisoner's dilemma, where there is a conflict between selfish desires and the greater good.
I apologize for making this even more academic, however this is a complex proposal and there will always be games and ways of analyzing this which are analogous to the prisoner's dilemma. For example a large miner (A) could consider that producing a smaller block leaves more transactions in the meme pool, such that another miner (B) would be incentivised to produce a larger block and pay a larger penalty and this would increase the rollover pool, which large miner A could collect. Miners want to maximize their (tx fees - X * penalty) + collection +- X * impact the decision has on other miners block sizes and the associated penalty's X = projected share of the network hashing power That's indeed a possibility. I've run the calculation for a big miner that tries to do this (in the 90%/1% scenario), and found that it's optimal for him to put 7004 txs/block, which then causes the small miners to put 5955 txs/block. This bumps the big miner's reward to 4.719 BTC/block (from 4.685). So the effect exists, but is fairly small; also, this strategy is not a Nash equilibrium, so it will probably not be very stable. That's not the point. What prevents the competition from pulling from the pool without contributing to it? I understand that it's in the interest of a massive node or cartel of nodes to mine large blocks, but only if they aren't undermined by their competitors, which can pull from the pool without paying any penalty themselves.
Nothing prevents miners leaving pools. Is that not desirable? This could potentially be a great characteristic of Meni's proposal. Undermining a large cartel of miners in favor of smaller miners seems great. (I don't know if Meni thought of this when he made the proposal, or it was kind of luck?) Just to make sure everything is clear, the penalty pool is not related to mining pools, despite the usage of the word "pool". I have not talked about mining pools in this discussion.
|
|
|
|
Meni Rosenfeld (OP)
Donator
Legendary
Offline
Activity: 2058
Merit: 1054
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2015, 09:28:58 AM |
|
Scenario 3: There are two 50% miners, Miner 1 and Miner 2. Each Miner has a choice between creating normal blocks, which maximize tx fees - penalty, and creating supersized blocks, which maximize tx fees - 0.5 * penalty. These strategies will be called N and S respectively. If both choose N, then the optimal block size, for both, is 6000 txs. The penalty per block is 0.5 BTC, and the fee is 0.00075 BTC. Each miner will get per block: 6000 * 0.00075 - 0.5 + 0.5 = 4.5 BTC. If Miner 1 chooses S and miner 2 chooses N, then for miner 1 the optimal block size is 6476, and for miner 2 it is 5986. The fee is 0.000735975. Penalty for miner 1 is 1.00567 BTC, and for miner 2 it is 0.489597. The average penalty is 0.747634 Miner 1 gets 6476 * 0.000735975 - 1.00567 + 0.747634 = 4.50814 BTC per block. Miner 2 gets 5986 * 0.000735975 - 0.489597 + 0.747634 = 4.66358 BTC per block. Likewise, if Miner 1 choose N and Miner 2 chooses S, then Miner 1 gets 4.66358 BTC per block. Miner 2 gets 4.50814 BTC per block. If both miners choose S, then the optimal block size is 6464. The penalty per block is 0.988167, and the fee is 0.00072258. Each miner will get per block: 6464 * 0.00072258 - 0.988167 + 0.988167 = 4.67076 BTC per block. Putting all this in a table: | 2 | N | S | 1 | | | | N | | (4.500, 4.500) | (4.664, 4.508) | S | | (4.508, 4.664) | (4.671, 4.671) |
This is not the prisoner's dilemma table. The Nash equilibrium is the best possibility for both. When a player chooses S, he helps the collective but also helps himself selfishly. There is nothing anyone can gain by "defecting". Every miner chooses S because it benefits him, not because he has some sort of pact where the other miner does the same. In other words, it's not like choosing S gives -1 BTC to you, 3 BTC to the other. Instead, choosing S gives +0.008 BTC to you, +0.664 BTC to the other. You're helping the other more than you're helping yourself, but you're still helping yourself.
|
|
|
|
DumbFruit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2015, 12:25:14 PM Last edit: June 11, 2015, 12:49:07 PM by DumbFruit |
|
This is not the prisoner's dilemma table. The Nash equilibrium is the best possibility for both. When a player chooses S, he helps the collective but also helps himself selfishly. There is nothing anyone can gain by "defecting". Every miner chooses S because it benefits him, not because he has some sort of pact where the other miner does the same.
The defector does gain by defecting; They gain market share. This isn't a prisoner's dilemma, it's just the best way for a mining entity to out-compete the other. It doesn't make a lick of difference that they can make more profit ( Split between the two) by cooperating over a long period of time by not leveraging a competitive advantage over that same period.
|
By their (dumb) fruits shall ye know them indeed...
|
|
|
Meni Rosenfeld (OP)
Donator
Legendary
Offline
Activity: 2058
Merit: 1054
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2015, 12:47:46 PM |
|
This is not the prisoner's dilemma table. The Nash equilibrium is the best possibility for both. When a player chooses S, he helps the collective but also helps himself selfishly. There is nothing anyone can gain by "defecting". Every miner chooses S because it benefits him, not because he has some sort of pact where the other miner does the same.
The defector does gain by defecting; They gain market share. This isn't a prisoner's dilemma, it's just the best way for a mining entity to out-compete the other. It doesn't make a lick of difference that they can make more profit ( Split between the two) by cooperating over a long period of time by not leveraging a competitive advantage over that same period. Market share and out-competing are means, not an end. The goal of a miner is to maximize his profits. A big miner does this by creating large blocks. Why would he care that the other miner also gets more profit? Is he jealous or something? Please clarify what it is exactly that you're trying to say...
|
|
|
|
DumbFruit
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2015, 12:51:17 PM Last edit: June 11, 2015, 01:21:27 PM by DumbFruit |
|
This is not the prisoner's dilemma table. The Nash equilibrium is the best possibility for both. When a player chooses S, he helps the collective but also helps himself selfishly. There is nothing anyone can gain by "defecting". Every miner chooses S because it benefits him, not because he has some sort of pact where the other miner does the same.
The defector does gain by defecting; They gain market share. This isn't a prisoner's dilemma, it's just the best way for a mining entity to out-compete the other. It doesn't make a lick of difference that they can make more profit ( Split between the two) by cooperating over a long period of time by not leveraging a competitive advantage over that same period. Market share and out-competing are means, not an end. The goal of a miner is to maximize his profits. A big miner does this by creating large blocks. Why would he care that the other miner also gets more profit? Is he jealous or something? Please clarify what it is exactly that you're trying to say... Sure, but the defector gets more profits by capturing market share. The defector gets more profit at 90% market share even if total profit split between the two is higher by cooperating at 50%. It really is very similar to a cartel, except that the mechanism for higher profits is different. The way the cartel falls apart is the same; The defector gains profit for itself by capturing a larger market share.
|
By their (dumb) fruits shall ye know them indeed...
|
|
|
jonny1000
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 129
Merit: 14
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2015, 01:04:21 PM |
|
Just to make sure everything is clear, the penalty pool is not related to mining pools, despite the usage of the word "pool". I have not talked about mining pools in this discussion.
Sorry my mistake. I was thinking miners could leave mining pools in this scenario, to benefit from the remaining members of the pool producing larger blocks.
|
|
|
|
|