Pages:
Author

Topic: Proof of Stake - page 3. (Read 16439 times)

donator
Activity: 2058
Merit: 1054
March 18, 2012, 12:41:09 PM
Secondly, your idea works and sounds good. Let's consider the starting result where p starts out at 0.01 and increases by some small fixed amount or percentage with every block until it reaches some long-term target.

The initial block finder would have mining power at block 2 equal to:
50^0.01/(50^0.01+9*0.000001^0.01)=11.7% of the network. The other 9 miners would each control 9.8% of the network.

Thus we no longer have a winner take all lottery. I agree that this is probably a better system than a winner take all lottery (though I still find the winner take all situation amusing). Moreover, it should be extremely simple to code this.
A better solution is to add an offset. Instead of giving stakeholders an improvement factor of s^p (s is the stake and p is the influence level of stake on mining), make it a factor of (a+s)^p where a is some constant. So early on, when nobody has a large stake, mining will be proportional to hashrate without much consideration of stake. Also later, even someone with low or no stake can still mine somewhat.

An offset introduces decreasing returns to scale (DRS).  With DRS, output per unit time increases when you subdivide accounts. Fixing hashing power, mining with 100 accounts with 0.01 bitcoins in each has a higher output rate than mining in 1 account with 1 bitcoin. Nevertheless, an offset works too. It just needs to be phased out completely after the initial distrubition period is over because DRS allows gaming of the system.
Right, seems like I still haven't got the hang of your system.

Starting p at 0 and letting it gradually grow to the target value seems like it could work, but there's still a nontrivial bootstrapping problem. I guess that a faucet to get a small stake to start could mitigate it. p should remain very small until there's a somewhat decent exchange.
donator
Activity: 1736
Merit: 1014
Let's talk governance, lipstick, and pigs.
March 18, 2012, 08:50:02 AM
There is a form of PoS that could work if it is possible. What if you could choose the mining pool you want to authorize your transaction through the P2SH script?

We would also need a demurrage tax for the fees earned by the pools. While the pools can auction their service competetively, they will still lose a percentage of their fee profits back into minable blocks. The tax would keep mining desirable, the auction would keep fees low, and the stake would be controlled by the people spending their Bitcoin. It would be less attractive for a monopolist to make a lot of transactions and pay the demurrage tax.

This wouldn't technically be a PoS, but would allow consumers to choose to avoid pools that threaten to reorganize the blockchain. I'm just not sure how to implement and verify a mandatory transaction tax. I suppose it would be visible in the blockchain if it was paid.
legendary
Activity: 1050
Merit: 1003
March 18, 2012, 08:43:25 AM
#99
Secondly, your idea works and sounds good. Let's consider the starting result where p starts out at 0.01 and increases by some small fixed amount or percentage with every block until it reaches some long-term target.

The initial block finder would have mining power at block 2 equal to:
50^0.01/(50^0.01+9*0.000001^0.01)=11.7% of the network. The other 9 miners would each control 9.8% of the network.

Thus we no longer have a winner take all lottery. I agree that this is probably a better system than a winner take all lottery (though I still find the winner take all situation amusing). Moreover, it should be extremely simple to code this.
A better solution is to add an offset. Instead of giving stakeholders an improvement factor of s^p (s is the stake and p is the influence level of stake on mining), make it a factor of (a+s)^p where a is some constant. So early on, when nobody has a large stake, mining will be proportional to hashrate without much consideration of stake. Also later, even someone with low or no stake can still mine somewhat.

An offset introduces decreasing returns to scale (DRS).  With DRS, output per unit time increases when you subdivide accounts. Fixing hashing power, mining with 100 accounts with 0.01 bitcoins in each has a higher output rate than mining in 1 account with 1 bitcoin. Nevertheless, an offset works too. It just needs to be phased out completely after the initial distrubition period is over because DRS allows gaming of the system.
donator
Activity: 2058
Merit: 1054
March 18, 2012, 05:38:55 AM
#98
Secondly, your idea works and sounds good. Let's consider the starting result where p starts out at 0.01 and increases by some small fixed amount or percentage with every block until it reaches some long-term target.

The initial block finder would have mining power at block 2 equal to:
50^0.01/(50^0.01+9*0.000001^0.01)=11.7% of the network. The other 9 miners would each control 9.8% of the network.

Thus we no longer have a winner take all lottery. I agree that this is probably a better system than a winner take all lottery (though I still find the winner take all situation amusing). Moreover, it should be extremely simple to code this.
A better solution is to add an offset. Instead of giving stakeholders an improvement factor of s^p (s is the stake and p is the influence level of stake on mining), make it a factor of (a+s)^p where a is some constant. So early on, when nobody has a large stake, mining will be proportional to hashrate without much consideration of stake. Also later, even someone with low or no stake can still mine somewhat.
legendary
Activity: 1050
Merit: 1003
March 17, 2012, 11:28:09 PM
#97
[
What about setting the PoS weight (your "p" value?) very very low at first, and growing it over time?  Couldn't you make it behave like the current system's growth of the BTC money supply, where it approaches some arbitrary value (80%) as the system matures?  Would this not address the initial distribution problem in the hypothetcal start-up chain?  Might growing p over time offer a solution to a different problem you're facing with implementing PoS in the current system? (adoption)

Now I realize I'm coming from a position of ignorance on these matters, so I'm not advocating anything...just asking questions.   Smiley
First off, a more immediate problem than adoption is that no one with appropriate skills has volunteered to modify the bitcoin code to make a proof-of-stake altchain or minority fork possible. The modifications should be very simple, but I cannot do them because I am an economist with no programming skills.
 
Secondly, your idea works and sounds good. Let's consider the starting result where p starts out at 0.01 and increases by some small fixed amount or percentage with every block until it reaches some long-term target.

The initial block finder would have mining power at block 2 equal to:
50^0.01/(50^0.01+9*0.000001^0.01)=11.7% of the network. The other 9 miners would each control 9.8% of the network.

Thus we no longer have a winner take all lottery. I agree that this is probably a better system than a winner take all lottery (though I still find the winner take all situation amusing). Moreover, it should be extremely simple to code this.

member
Activity: 100
Merit: 10
March 17, 2012, 09:38:33 AM
#96
The lucky miner's percentage of the network is approaching 100%.

An instant monopoly?  Faith and begorrah!   Grin

If you don't like this extreme lottery style distribution arrangement, then you could set it up with some constraints on the use of recently minted coins. Essentially you would require that newly generated coins have y confirmations on them before they can be sent or used to mine blocks. This would give the other 9 guys a time span of y blocks to establish a stake too. The initial lucky miner still has an advantage, but it is much, much smaller.

What about setting the PoS weight (your "p" value?) very very low at first, and growing it over time?  Couldn't you make it behave like the current system's growth of the BTC money supply, where it approaches some arbitrary value (80%) as the system matures?  Would this not address the initial distribution problem in the hypothetcal start-up chain?  Might growing p over time offer a solution to a different problem you're facing with implementing PoS in the current system? (adoption)

Now I realize I'm coming from a position of ignorance on these matters, so I'm not advocating anything...just asking questions.   Smiley
legendary
Activity: 1050
Merit: 1003
March 16, 2012, 09:28:27 PM
#95
The start-up of such a chain could be interesting. First person has no stake. Each new person has no stake unless they buy it from an earlier person...

-MarkM-


Question...let's say 10 miners initially participate in this start-up, they all have identical hardware, they all start mining at the exact same instant, and PoS is weighted at 80%. When the first block reward is collected by one of the ten, what has happened to his percentage of the network?

(yes, I'm computationally challenged)   Undecided

The lucky miner's percentage of the network is approaching 100%.
 
I'll calculate it for you:

Long-run hashing power of individual holding 50 BTC and x units of hashing power
(50)^0.8*(x)^0.2= 22.87x^0.2

Long-run hashing power of individual holding 0 BTC and x units of hashing power. In this case the individual has hashing power of 100-satoshis or 0.000001 BTC-confirmations.

1.58489319*10^-5*x^0.2

Adding up these 9 miners and rounding, they have
9* 1.58489319*10^-5*x^0.2 = 1.4*10^-4*x^0.2

The share of the lucky miner is thus
22.87/ (22.87+1.4*10^-4) = 99.9993878%

If you don't like this extreme lottery style distribution arrangement, then you could set it up with some constraints on the use of recently minted coins. Essentially you would require that newly generated coins have y confirmations on them before they can be sent or used to mine blocks. This would give the other 9 guys a time span of y blocks to establish a stake too. The initial lucky miner still has an advantage, but it is much, much smaller.

I think that the y confirmation limit on use of newly minted coins is definitely a better arrangement, but I am not proposing stuff like this now because I want to focus on the core issues (which are long-run issues not initial distribution issues). I don't think initial distribution matters much.

I also am curious about what would happen in the extreme lottery scenario.

The guy who has 99.9999% of hashing power has a strong incentive to sell off or give away almost all of his coins until he has say 10 or 20%. His 99.9999% of hashing power is not going to be worth anything if the other speculators drop out of the game. Instead, he would want to ponzi up the currency. First giving away coins to one group of speculators (most likely giving away more than half at this stage), charging the next group a very very low price, the third group a very low price, the fourth group a low price, ... until he has a small amount left like 10%.  He will have to be willing to use some of his initial revenue to buy back coins if price fails to rise. If the downward price pressure is really strong, then he should let the bubble pop and sell on the way down.

Initially, the speculators perceive that the value of the currency has steadily risen, so they want to invest in the bubble. Sale to new investors gives the initial miner his profit. The early stage miners who bought in low profit too. I'm not sure how long the ponzi would continue until the bubble collapsed. However after the bubble collapses, ownership in the currency would be quite widely distributed.
member
Activity: 100
Merit: 10
March 16, 2012, 06:26:17 PM
#94
The start-up of such a chain could be interesting. First person has no stake. Each new person has no stake unless they buy it from an earlier person...

-MarkM-


Question...let's say 10 miners initially participate in this start-up, they all have identical hardware, they all start mining at the exact same instant, and PoS is weighted at 80%. When the first block reward is collected by one of the ten, what has happened to his percentage of the network?

(yes, I'm computationally challenged)   Undecided
donator
Activity: 1736
Merit: 1014
Let's talk governance, lipstick, and pigs.
March 16, 2012, 08:38:17 AM
#93
A Pos would also be part of a sollution to another "problem" Bot mining?



Yes, PoS would reduce the attractiveness of bot mining in at least one way:

1) [primary] PoS would simply decrease the advantages associated with control of computing resources such as botnets.
2) [marginal] Bots would need to communicate with an account holding the bitcoin in order to hash effectively. This might make bots slightly easier to detect/trace, but the owners of victimized computers probably wouldn't know how to do this, so I doubt this has any practical relevance.

If indeed "advantages associated with control of computing resources" is decreased with PoS, then oligopolist conspirators using botnets would certainly be able to create a very large shell game. They would be thoroughly decentralized.
legendary
Activity: 1050
Merit: 1003
March 15, 2012, 11:39:42 PM
#92
A Pos would also be part of a sollution to another "problem" Bot mining?



Yes, PoS would reduce the attractiveness of bot mining in at least one way:

1) [primary] PoS would simply decrease the advantages associated with control of computing resources such as botnets.
2) [marginal] Bots would need to communicate with an account holding the bitcoin in order to hash effectively. This might make bots slightly easier to detect/trace, but the owners of victimized computers probably wouldn't know how to do this, so I doubt this has any practical relevance.
legendary
Activity: 1050
Merit: 1003
March 15, 2012, 09:29:59 PM
#91
The start-up of such a chain could be interesting. First person has no stake. Each new person has no stake unless they buy it from an earlier person...

-MarkM-


Yes, this is what I mean by the Ponzi-like properties.
legendary
Activity: 1050
Merit: 1003
March 15, 2012, 09:28:33 PM
#90

I was assuming each iteration corresponds to a time unit. If each iteration corresponds to a block being found somewhere then your simulation seems to be fine as it is.

Yes, each iteration corresponds to a block mined. The probability you draw is the probability of you being the miner of that block and (all else equal) it doubles when you double your hashing power.
I think you are right that it is okay as is, but i will still play around to see if anything changes if I convert from [one iteration = one block] to [one iteration = one minute]. It should yield the same answers.



legendary
Activity: 2940
Merit: 1090
March 15, 2012, 05:00:29 PM
#89
The start-up of such a chain could be interesting. First person has no stake. Each new person has no stake unless they buy it from an earlier person...

-MarkM-
donator
Activity: 2058
Merit: 1054
March 15, 2012, 04:43:04 PM
#88
In 4bi you're assuming one block is found in this time unit. This assumption probably does not affect the results, but It's safer to let X be a Poisson random variable with mean 1 and conf(2)=conf(1)+cX.

You are also right. The length of hashing rounds should be a Poisson random variable, whereas I made them deterministic. However, this should be coded differently from what you suggest. If you write it as conf(2)=conf(1)+cX, then this implies that the miner randomly misses the opportunity to participate in mining for a sequence of blocks. Instead, it should be that the miner can get multiple hashing opportunities before accumulating another confirmation. I will fix it when I get the chance.
I was assuming each iteration corresponds to a time unit. If each iteration corresponds to a block being found somewhere then your simulation seems to be fine as it is.
legendary
Activity: 1050
Merit: 1003
March 15, 2012, 12:33:40 PM
#87

Are you sure that's your simulation? The line rand(1) < (10^-8)/(k*conf(1)^alpha) suggests that increasing k and conf(1) decreases the probability of finding a block.

Thanks, I transcribed it wrong, though it is correct in the simulation.  The condition for mining a valid block should be rand(1)/(k*[conf(1)^alpha]) < 10^-8

.I added the extra bracket to clarify that I'm not taking hashing power to an exponent.



In 4bi you're assuming one block is found in this time unit. This assumption probably does not affect the results, but It's safer to let X be a Poisson random variable with mean 1 and conf(2)=conf(1)+cX.

You are also right. The length of hashing rounds should be a Poisson random variable, whereas I made them deterministic. However, this should be coded differently from what you suggest. If you write it as conf(2)=conf(1)+cX, then this implies that the miner randomly misses the opportunity to participate in mining for a sequence of blocks. Instead, it should be that the miner can get multiple hashing opportunities before accumulating another confirmation. I will fix it when I get the chance.
hero member
Activity: 523
Merit: 500
March 15, 2012, 07:55:19 AM
#86
A Pos would also be part of a sollution to another "problem" Bot mining?

Actually when i think about it why only miners?


There is a good reason to not have a Pos only system.
There are many potential problems.
One is that there is no way for others to take back control over the mining as soon as someone once
owns most of the coins.

Once that would happen there will be no competition among the miners.
The competition makes sure transaction fees are kept low and that the hardware is upgraded.
Processing transactions at an ever increasing speed.

Thus I think a Pos only would fail.


And some brainstorm.
For an Altcoin there could be a Pos even for users Wink

What if you could not transfer (sell) more than 50% or x% of your coins at once.
That would mean that a panic would not cause people to be able sell all their coins at once.

Also that if you are out to Pump and Dump.
Your other coins will decrease in value, removing the incentive to panic.

If you panic your own resources will decrease in value.

This would mean that every user would have sort of a Proof of stake.

This could be optional by giving users enough advantage so that they want to lock up their coins.
Such as coins locked would get an interest rate or lower the transaction fee on the users other coins.

Anyway this would ofcourse be impossible to design?
But it would be interesting to see this tested in a Alt-coin.




donator
Activity: 1736
Merit: 1014
Let's talk governance, lipstick, and pigs.
March 15, 2012, 07:18:11 AM
#85
Yet Another Proof of Stake Analogy (YAPSA)
As if the unbreakable monopoly of PoS isn't bad enough, it is also anonymous. With a PoW 51% monopoly, it is held by traceable physical mining rigs. If a monopolist started to threaten to reject all transactions from blue-eyed people named Meni or cunicula for example, it is no doubt that GLOBAL OUTRAGE would ensue. World Governments would rush to the aid of blue-eyed people named Meni or cunicula by cutting those mining rigs operators off from their Twinkies and Mountain Dew. Such dire consequences would surely deter any such egregious action from happening again.

If a PoS monopolist were to form a cabal against blue-eyed people named Meni or cunicula, they could anonymously hire unwitting mining rig operators to do their dirty work for them. Those mining rig operators would then likely be dragged before the World Courts and publicly denied Twinkies and Mountain Dew for life despite cries of innocence. The PoS cabal would then move on to their next stooge to wage war against blue-eyed people named Meni or canicula. I don't know about anyone else, but I will fight for the rights of blue-eyed people named Meni or cunicula and their God-given right to Twinkies and Mountain Dew.

[edit] You can dress it up all you want, but it's at best making a silk purse from a sow's ear, and at worse a wolf in sheep's clothing.
legendary
Activity: 1358
Merit: 1003
Ron Gross
March 15, 2012, 06:40:57 AM
#84
The bitcoin developers don't understand economics very well. They will need an object lesson to help them understand some important concepts.

Any proof of this statement? I don't know about the current developers, but Satoshi had quite a good grip on economics. Bitcoin is a brilliant innovation that relies on economics principles.

Finally, the proof-of-stake system has some ponzi-like properties which may attract interest from gamblers.

As do all crypto-currencies. Still, I don't see it attracting a large enough audience right now, but ... go ahead, prove me wrong.
legendary
Activity: 1764
Merit: 1002
March 15, 2012, 05:28:27 AM
#83
I think you guys totally underestimate the desire of the marketplace to disintermediate the banks:

 http://www.telegraph.co.uk/finance/economics/9143581/Technology-could-take-the-bankers-out-of-banking-says-BoE-policmaker-Andy-Haldane.html
donator
Activity: 2058
Merit: 1054
March 15, 2012, 04:58:05 AM
#82
Meni pointed out that doubling hashing power doubles the immediate probability of mining a block. This is true. However, my system is dynamic. In my system, finding a block today tremendously decreases the probability of finding a block tomorrow. Due to this factor, returns to scale can only be evaluated as the average rate of finding blocks over a longer time period, not the one-off opportunity of finding a block now. If you mine a block, then you use up all of your coin-confirmations and the timing of your next block is delayed. Because of this effect, increasing hashing power exhibits decreasing returns. Once you mine a block you have to wait for your coin-confirmations to gradually recover before you can effectively mine again. There is a downside to hashing the block now because it decreases expected output in future periods.
It's quite possible that the fact that finding a block, as opposed to looking for one, requires consuming the coin-confirmations resource, was lost on me.

1) Take one hundred million draws from a uniform distribution on support of [0,1]; denote these as rand(i) where i indexes draws
2) Assume agent uses k unit of hashing power and c coins (each coin starts with 1 confirmation)
3) denote the conf(i) as the number of coin-confirmations in the account at time i; note that conf(1)=c
3) Assume that difficult is such that the probability of mining a block in one unit of time with 1 unit of hashing power and 1 coin-confirmation is 10^-8
4) Go through these draws sequentially as follows:
4a) If rand(1) < (10^-8)/(k*conf(1)^alpha), then a block is mined
4ai) Add one block to count of mining payoff
4aii) conf(2)=c
4b) If rand(1) > (10^-8)/(k*conf(1)^alpha), then the hash isn't good enough to mine a block
4bi) Assume someone else mines this block, so conf(2)=conf(1)+c
5) iterate this procedure through all 100 million draws
Are you sure that's your simulation? The line rand(1) < (10^-8)/(k*conf(1)^alpha) suggests that increasing k and conf(1) decreases the probability of finding a block. So either it's really (10^-8)*(k*conf(1)^alpha) and then it's ok (for now, see below), or it's rand(1) > (10^-8)/(k*conf(1)^alpha) and then it's wrong, or something weird is going on.

Also, when you determine the probability to find a block, the value of k should not be raised to any power (this was my earlier point - twice the hashrate, twice the probability to find a block with a given number of coin-confirms). conf should be raised to the power beta since that's how you determine the target.

In 4bi you're assuming one block is found in this time unit. This assumption probably does not affect the results, but It's safer to let X be a Poisson random variable with mean 1 and conf(2)=conf(1)+cX.
Pages:
Jump to: