Author

Topic: How To Achieve Fair PoS Distribution (Read 2230 times)

legendary
Activity: 2548
Merit: 1054
CPU Web Mining 🕸️ on webmining.io
July 07, 2016, 08:13:16 PM
#11
It's impossible. I gave CUBE away for free and still get called a scammer. You're fucked no matter what you do
legendary
Activity: 1484
Merit: 1026
In Cryptocoins I Trust
July 07, 2016, 03:00:50 PM
#10
I have realized that at the annual auctions the price will go at (or at least very near) to the current market value, so it is not the benefit to late adopters that I initially thought it may be. It does however solve at least one of Anonymint's gripes with PoS... that the coin supply is set at a finite amount, and there is no way to fairly issue more coins after the original IPO. Possibly also this gripe: "attacking the coin is a one-time cost of stake that sustains forever, whereas for Proof-of-Work the attacker must continue to expend resources on mining to maintain an attack[2]".

I have also recently been thinking that it may be better to have annual block-limited PoW phases to distribute the coins instead. The number of blocks should be lessened with each annual period until a small amount is reached and issued annually in perpetuity (a tail emission).

Equilibrium will be reached similar to the auction idea... if mining is too profitable, then more people will mine it which will raise the difficulty... and visa versa. It is the same way equilibrium is reached with other PoW coins.

So, the current idea is something along the lines of:

A. Far advance warning of an cryptocurrencies' distribution/fundraising, with a clear objective and roadmap for the project and a set timeframe for the distribution/fundraising.
B. A working closed source beta, to be open-sourced after the original distribution period
C. PoW distribution (50% of the genesis stake)
Ca. Use several different mining algorithms, with each having an their own separate difficulty and the same chance to find the next block (implemented in several coins.. MyriadCoin was the first)
Cb. Use at least one algorithm per different types of mining hardware (one for Scrypt ASICs, one for SHA256 ASICs, one for CPUs, one for ATI GPUs, one for NVIDIA GPUs, etc..)
Cc. The point of this is to allow people with all types of minin hardware to participate so it is inclusive of everyone.
D. A regular IPO distribution (50% of the genesis stake)
Da. This is to allow people to participate in the initial distribution that do not want to hassle with mining equipment.
E. Launch said closed source beta into the wild after the distribution/fund-raising has occurred and switch to PoS
F. To mitigate claims of having an unfair PoS distribution to early insiders...
Fa. Have an annual block-limited PoW period that issues more coins to PoW miners.
Fb. The amount of tokens mined in the annual PoW periods should be reduced each year until eventually there is only a small amount of coins issued annually in perpetuity (aka. a tail emission).
Fc. This is intended to mimic the block reduction scheme and distribution of most PoW currencies, but with an added tail emission.
legendary
Activity: 1484
Merit: 1026
In Cryptocoins I Trust
January 08, 2016, 11:17:11 PM
#9
Coming back to this.

Have you had time to read the Marking document CoinHoarder? It should serve to distribute currency far and wide.

I like your idea and I wish you would come back some day. I mostly liked your ideas and ideology. I think you found out the hard way making a successful cryptocurrency is hard work...
legendary
Activity: 1484
Merit: 1026
In Cryptocoins I Trust
January 08, 2016, 11:08:32 PM
#8
A thread on Bitsharestalk made me think of this thread. I think I may of thought of an idea that could make this work. I had abandoned this idea after the (in hindsight it was quite obvious) realization that if there was a recurring IPO, this could have a largely negative effect on the market price during each recurring IPO. I think I have come up with a way to mitigate that issue... instead of having a recurring IPO, have a recurring auction for tokens. Here is the idea as I currently conceive it:

A. Far advance warning of an altcoin's distribution/fundraising, with a clear objective and roadmap for the project, and a set timeframe for the distribution/fundraising
B. A working closed source beta, to be open-sourced after the original distribution period
C. PoW distribution (50% of the genesis stake)
Ca. Use several different mining algorithms, with each having an their own separate difficulty and the same chance to find the next block (implemented in several coins.. MyriadCoin was the first)
Cb. Use at least one algorithm per different types of mining hardware (one for Scrypt ASICs, one for SHA256 ASICs, one for CPUs, one for ATI GPUs, one for NVIDIA GPUs, etc..)
Cc. The point of this is to allow people with all types of minin hardware to participate so it is inclusive of everyone.
D. A regular IPO distribution (50% of the genesis stake)
Da. This is to allow people to participate in the initial distribution that do not want to hassle with mining equipment.
E. Launch said closed source beta into the wild after the distribution/fund-raising has occurred and switch to PoS
F. To mitigate claims of having an unfair PoS distribution to early insiders...
Fa. Have an annual auction governed by smart contracts
Fb. The amount of tokens sold in the annual auctions should be reduced each year until eventually there are no more auctions or coins released
Fc. This is intended to mimic the block reduction scheme and distribution of most PoW currencies

Instead of recurring IPOs, I now think recurring auctions would be better. This way the auction would tend towards the current market price while allowing a small discount for new investors. I think this would have less impact on the market price during the recurring auctions. You could use different types of auctions.. I haven't really thought of which kind would be best. IE. dutch auction, smart market, sealed-bid, auction market etc...

Keep scrolling to see different types of auctions: http://www.investopedia.com/terms/d/dutchauction.asp?layout=infini&v=3A
sr. member
Activity: 294
Merit: 250
Bitmark Developer
August 07, 2014, 12:25:53 PM
#7
Coming back to this.

Have you had time to read the Marking document CoinHoarder? It should serve to distribute currency far and wide.
full member
Activity: 518
Merit: 101
August 07, 2014, 05:22:23 AM
#6

Quote
If anyone has any ideas on how to fix the above, then I would be interested in hearing them. One thing I can think of is to put the recurring IPO funds in multi signature addresses, and slowly release them over time to their respective owners.. instead of releasing all of the funds at once. I think this could be made to happen with the use of oracles as well.

I think that's more or less what SatoshiDice did. They made an IPO with shares sold in various denominations/steps.
legendary
Activity: 1484
Merit: 1026
In Cryptocoins I Trust
August 06, 2014, 01:56:14 PM
#5
Hi guys,
I totally missed this discussion  Lips sealed What's the status of this idea, are you working on it still?

It's just an idea.. I'm not working on it at the moment.

After thinking about it a bit more, reoccurring IPOs may not work due to the economics at hand. This is so obvious, I can't believe I didn't realize this would be such a problem earlier, but the latter IPOs will dump coins on the market.

If anyone has any ideas on how to fix the above, then I would be interested in hearing them. One thing I can think of is to put the recurring IPO funds in multi signature addresses, and slowly release them over time to their respective owners.. instead of releasing all of the funds at once. I think this could be made to happen with the use of oracles as well.

Even if you weren't to use recurring IPOs, I think it would still be a better solution than most prior PoS distributions to simply using Vericoin's mining distribution and Myriadcoin's multi algorithm mining approach.
full member
Activity: 518
Merit: 101
August 01, 2014, 04:18:22 AM
#4
Hi guys,
I totally missed this discussion  Lips sealed What's the status of this idea, are you working on it still?
legendary
Activity: 1484
Merit: 1026
In Cryptocoins I Trust
July 03, 2014, 12:31:36 AM
#3
Have you considered setting some constraints? First, what is the ideal distribution, secondly what is an acceptable distribution.

Proving identity is hard, especially on the web.

It may be worth considering what each person has a limited supply of, and easy access to. PoW was based on CPU power. For PoS cell phones immediately spring to mind. If you could claim an amount of $coin by sending a text message to a distributing node that could work. It would be open to manipulation, but not so open.

I'm sure there are other approaches, automation is most likely required.

A question which arises is: if all coins are distributed freely, what gives them value? Perhaps this answer is the same as I came to, utility.

Thanks for you input.

If using a vericoin-like approach, recurring IPOs, and also a myriadcoin-like approach are possible, then this is the most fair decentralized distribution model that I can think of. It may be possible to further increase the decentralization of the distribution, and that is why I have posted this thread to receive feedback.

As far as an ideal solution, I have been trying to help out the decentralized poker network projects, and so I have done some research on identity verification over the internet. There is unfortunately not really a decentralized method of verifying identity, as you said it is hard to do over the internet and with a decentralized crypto currency. Here are the best decentralized solutions I could come up with as it relates to decentralized poker:

Quote
How to combat multi accounting:
-   Each person in a hand should be assigned a multi accounting score. This score represents the likelihood that player(s) involved in a hand were the same person based on the examining the multi accounting data points.
-   It may be possible to use biometric fingerprint scanners, or iris and facial recognition software to use to make sure no one is playing more than one account at the same table. However, I’m not sure this technology is practical quite yet. The data could be encrypted and proven via zero knowledge proofs and other forms of cryptography without people having to reveal their identities. Another more practical or idea may be to make web cameras mandatory so you can see who you’re playing against.
-   Charge for player accounts. In my opinion is the most decentralized and practical way at the moment of fighting Multi Accounting. Charge a fee for the account to play, based on the stakes they want to play at, so that it isn’t too much to deter players but that it would be expensive to multi account. This money can also be used for marketing and/or collusion/bot/ma checking. This is not a good solution because It is doubtful players will ever pay for an account on a poker site.
-   All data points will need to be extensively beta tested to figure out how heavy they should be weighted, as a ton of false positives are possible and the formula for the multi accounting score will need to be tweaked. I suggest setting points for each data point, and have the data points that are more likely to catch what we’re looking for be worth more points.
-   Multi Accounting Data Points:
1.   Check IP for TOR and Proxy use
2.   Check for same IPs across the network.
3.   Check if the player funded his account with the same Bitcoin/whatever coin address as another player, or used to fund another player’s account. Block chain analysis could be done versus players who have mixed their coins.

As you can see, there is not really a good decentralized solution as of now. One of the Bitshares guys suggested what I think is the best method of identity verification thus far, however it is not decentralized. Ironically it is probably the most obvious solution, as it is the same methods online poker rooms and crypto currency exchanges have been verifying identity for years, outsourcing the job to a 3rd party operator which checks a government issued ID and utility bill. Although this would be good for a poker room to combat multi accounting or an exchange to follow government regulations, I feel like this would be going too far for releasing a crypto and I'm not sure it's feasible. You would definitely need an IPO to pay for this as it would be very expensive on a massive scale.

As to your other suggestions..

I prefer using the Myriadcoin approach allowing multiple hash functions an equal chance to find blocks. After thinking about it more, I think to be as fair as possible Scrypt and Sha256 should be included even though there are ASICs on the chains. All algorithms should have an equal chance of finding the next block due to setting different difficulties for each algorithm. There should be at least one GPU and CPU mineable algorithm as well. This allows everyone to participate whether they have ASICs, GPU rigs, FPGAs, or CPUs. Allowing everyone to participate is important I think and I like Myriadcoin's approach here. You could use a single algorithm, but that would limit the amount of participants in the "IPOs."

BTW- Obviously the money supply numbers could be changed, I just started with a random number but I feel like 5 billion is too much to start with. Maybe something around 21 million like Bitcoin would be a good place to start or less. I feel like they got money supply and the rate of inflation then deflation right in Bitcoin, so it should be closely modeled after that. The time in between the IPOs could be changed as well if you wanted.

As to using phones/cell phones to distribute coins, I'm not sure this would be able to be done fairly. There are so many ways you could get multiple phone numbers to participate in the IPO. People can use online services, their workplace's phone, friends phone, and family's phone, etcetra. Pay phones can be fooled to where someone could call in to the IPO for free. When I was a teenager I built what's called a beige box in the "phreaking" community (phone hacking.)  Using that it is stupidly easy to go over to your neighbors house and hook up to their phone line next door- or anyone's house for that matter without going inside their home. Someone could literally go around a whole neighborhood and register with all of the phone numbers in that neighborhood. I feel bad now for the random neighbors I called 911 using my beige box on their phone line when I was 14, but it was fun at the time... Smiley

You could do a "mail drop", but I'm not sure that will go over so well... the coins that started that way died really fast and again you would need to do an IPO to fund the mail drops. :\

I prefer decentralized solutions, such as the solution I proposed in the OP, but I'm sure it could possibly be improved on. It to me would be what you called acceptable distribution. Short of checking IDs and Utility Bills, I don't think a decentralized ideal solution exists.

Any suggestions are welcome. This is just me brainstorming of how to distribute PoS coins more equally than coins that have been released thus far.
sr. member
Activity: 294
Merit: 250
Bitmark Developer
July 02, 2014, 07:17:34 PM
#2
Have you considered setting some constraints? First, what is the ideal distribution, secondly what is an acceptable distribution.

Proving identity is hard, especially on the web.

It may be worth considering what each person has a limited supply of, and easy access to. PoW was based on CPU power. For PoS cell phones immediately spring to mind. If you could claim an amount of $coin by sending a text message to a distributing node that could work. It would be open to manipulation, but not so open.

I'm sure there are other approaches, automation is most likely required.

A question which arises is: if all coins are distributed freely, what gives them value? Perhaps this answer is the same as I came to, utility.
legendary
Activity: 1484
Merit: 1026
In Cryptocoins I Trust
July 02, 2014, 06:34:33 PM
#1
My most recent idea of how to obtain a fair PoS distribution (along with solve some of the issues with PoS cryptocurrencies):

It has been changed many times throughout this thread, so a lot of the OP/earlier posts can be ignored unless you want to see how the idea was formed.

A. Far advance warning of an cryptocurrencies' distribution/fundraising, with a clear objective and roadmap for the project and a set timeframe for the distribution/fundraising.
B. A working closed source beta, to be open-sourced after the original distribution period
C. PoW distribution (50% of the genesis stake)
Ca. Use several different mining algorithms, with each having an their own separate difficulty and the same chance to find the next block (implemented in several coins.. MyriadCoin was the first)
Cb. Use at least one algorithm per different types of mining hardware (one for Scrypt ASICs, one for SHA256 ASICs, one for CPUs, one for ATI GPUs, one for NVIDIA GPUs, etc..)
Cc. The point of this is to allow people with all types of minin hardware to participate so it is inclusive of everyone.
D. A regular IPO distribution (50% of the genesis stake)
Da. This is to allow people to participate in the initial distribution that do not want to hassle with mining equipment.
E. Launch said closed source beta into the wild after the distribution/fund-raising has occurred and switch to PoS
F. To mitigate claims of having an unfair PoS distribution to early insiders...
Fa. Have an annual block-limited PoW period that issues more coins to PoW miners.
Fb. The amount of tokens mined in the annual PoW periods should be reduced each year until eventually there is only a small amount of coins issued annually in perpetuity (aka. a tail emission).
Fc. This is intended to mimic the block reduction scheme and distribution of most PoW currencies, but with an added tail emission.

The post below contains the original idea...

I started a similar thread the other day in the "Project Development" subforum, but was met with anti-PoS trolls and I subsequently locked it. This new thread is self moderated and any off topic trolling will be deleted. Please stay on topic. This was my original post:

Quote
One of the biggest grudges people have with purely PoS coins are that the coins are unfairly distributed. Side note: I don't agree with this line of thinking, as everyone has a chance to invest in IPOs if they'd like. This same argument could also be applied to early adopters of Bitcoin... but I am getting sidetracked. I think it is a shame something as silly as this could hold back purely PoS coins, as I feel they are a step up from purely PoW coins which consume much more energy to secure their block chains and waste processing power.

Now that "Oracles" can confirm real world data, would it be possible to do a recurring IPO for a purely PoS coin? I feel like this would solve the problems people have with "unfair" distribution. The way I envision it there would be an initial IPO, and then one every year after that as determined by the oracles. The amount of IPO coins should be slowly reduced like Bitcoin's block reward. Using something like Oracles, the current price of the coin could be determined to figure out how much the IPO coins should cost in the recurring IPOs, or they could be sold at the original price (this may affect the market negatively and I'm not sure of the best approach.)

So, it'd go something like this:
1st IPO = 5,000,000,000 coins @ .0001
2nd IPO 1 yr later = 2,500,000,000 @ current market price or original price
3rd IPO 1 yr later = 1,250,000,000 @ current market price or original price
4th IPO 1 yr later = 625,000,000 @ current market price or original price
... so on so forth ...

I have a few questions. I am not a developer, so would something like this be possible or is it just a pipe dream?

Would this idea even make sense to due to market variables? I'm thinking maybe it would be more fair to just keep the recurring IPOs at the original price of 0.0001, but it would affect the market.

Are recurring IPOs even possible?

Any other ways you guys can think of to improve distribution of IPO/purely PoS coins?

Obviously the money supply numbers could be changed, I just started with a random number but I feel like 5 billion is too much to start with. Maybe something around 21 million like Bitcoin would be a good place to start or less. I feel like they got money supply and the rate of inflation then deflation right in Bitcoin, so it should be closely modeled after that. The time in between the IPOs could be changed as well if you wanted.

After thinking it over a bit more, I think instead of funding the IPOs with a crypto currency, it might be better to adopt a Vericoin-like PoW distribution for each of the IPOs (I suppose the initial IPO could be funded if you wanted to without any complications.) See more about Vericoin here: https://bitcointalksearch.org/topic/annvrc-vericoin-proof-of-stake-time-currency-new-roadmap-released-602041

This solves the conundrum as to what the price of the recurring IPOs should be, and further decentralizes distribution. I suggest using an algorithm that does not have ASICs yet, as this will further increase the decentralization of the distribution (x11, keccak, dagger (ethereum), proof of primes, etc.) IF an ASIC is developed for the algorithm used before the recurring IPOs finish, I suggest hard forking it to use an algorithm that does not have ASICs for fair distribution. I decided it is more fair to allow Scrypt and SHA256 ASICs to participate using a Vericoin-like approach.

You can then take this a step further if you were to take a Vericoin-like approach, by allowing different algorithms to hash simultaneously and each have the same chance of finding the next block as any other algorithm. I think to be as fair as possible Scrypt and Sha256 should be included even though there are ASICs on the chains. All algorithms should have an equal chance of finding the next block due to setting different difficulties for each algorithm. There should be at least one GPU and CPU mineable algorithm as well. This allows everyone to participate whether they have ASICs, GPU rigs, FPGAs, or CPUs. Allowing everyone to participate is important I think and I like Myriadcoin's approach here. You could use a single algorithm, but that would limit the amount of participants in the "IPOs." This was a great idea invented by Myriadcoin and is a neat twist on PoW coins. Check out Myriadcoin here: https://bitcointalksearch.org/topic/annxmy-myriad-multi-algo-fair-secure-483515

The developer/inventor of Oracles (Kolinko) contacted me via PM sad that I had locked the old thread. Since he shared new information, I decided to start a new one (since I can't figure out how to unlock the old one & a self moderated thread is better to keep this on topic.) This is what he had to say:

Quote
Hi,

Too bad you locked the thread Sad

You might want to check out our paper:
https://github.com/orisi/wiki/wiki/Orisi-White-Paper

It would be quite easy to do using oracles. The most straightforward way would be to essentially premine all the coins, and give M of N access to a set of oracles. Then program those oracles to release coins according to schedule and external inputs.

With little modification Orisi framework could be used for that. The biggest challenge is of course deciding who handles oracles, and what program the oracles run (e.g. who decides what datafeed is being used). There's also a challenge of modifying the list of oracles. I.e. one of the oracles belongs to a guy who revealed himself as a scammer, or someone lost keys to the oracles, and the rest of the nodes has to vote a new oracle in his place.

Visit our forums for more information or to ask questions: orisi.net

I'll point him to this new thread so that the conversation can continue. So, it seems that it is possible to use oracles for this purpose. IMO this is a better distribution model for purely PoS coins.

Do you guys have any opinions or ideas to improve upon this or how it could be done on a technical level? There are still some things to work out obviously. I feel like their could possibly be market implications by doing recurring IPOs, and the technical details need to be figured out.
Jump to: