-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not actually capped at 100 billion? #23
Comments
Hm, I think you are right. It seems that many altcoin algorithms assume MAX_MONEY will cap the coin, while a closer inspection of the code seems to reveal that it only caps transaction size and not total coin supply. If this assumption is correct, the way it is will cause something like 5% inflation / year (rather insignificant) after the random blocks have all been mined. More testing is needed. Fortunately, we won't hit this problem of non-cap for over a year. In perhaps a years time, we should revisit this. My intention would be to stop giving random blocks after block 600000 and ensure the cap at 100 billion, but I would like to see what the community desires at that point. A year can be an eternity in crypto land... |
Indeed. It is an eternity in crypto land. MAX_MONEY is a cap at which the client simply refuses to look at a tx due to it obviously being an attempt at a fake. I suggest fixing this sooner rather than later, though. The longer it waits, the more miners need to update their nodes. |
Alright, here is my plan. If randomization is close to perfect, there will effectively be 1,562,500,000 coins left after block 600,000. I will change the reward to 1,000 after block 600,000. That would cause the cap to be reached in approximately 3 years (will do 1240000 blocks of this). After which time, only transaction fees as the reward. Due to randomization, this will be very close but not exactly 100B, but with a huge runway where I can adjust if needed. |
Sounds good to me! |
We need to have less than 100B coins, that's too much. |
We'll have less for quite awhile! |
It will take longer than a year for a new coin to gain the adoption it needs for transaction fees to be a significant motivation for miners. By capping coin rewards after < 1.5 years, you're guaranteeing that most of the miners will move on to other altcoins, significantly reducing the security of the network. I suggest keeping the reward at 10K indefinitely (as the code is currently), because (a) it will continue to incentivize miners to secure the ledger, (b) it's not significant inflation, just 5% the first year and even less as time goes on, and (c) it's rather a nice way to taper rewarding until transaction fees become the dominant form of miner rewards in the unforeseen future. Who knows when transaction fees will become significant enough for dogecoin? 2 years? 10 years? 20? But with this flat 10K reward, it doesn't really matter, it allows for a very "soft landing". TLDR: keep the current inflationary scheme, don't cap the production at 100B that'll probably cause the network to die. |
dogecoin- please keep the behavior of the code as it is. If I was short-sighted and greedy, I would be all like "hell yea I want a bigger slice of the pie", but I believe that the currency will be worth a lot more in the future if it has a gentler inflation rate. I bought into Dogecoin because the community has such an emphasis on fun and generosity. We need it to be a little looser than the other coins out there if we want to keep the spirit and get anyone other than speculators involved. If we set a hard cap that snaps into play after 3 short years, I'm guessing this will crash the currency. I'd like my doges to be something that lasts as a healthy currency, instead of having to sit around waiting for the exact right moment to dump them on a sucker in 3 years. Keep the original Dogecoin! |
Interesting perspective, I appreciate the feedback. I've had a lot of feedback recently on the reward system and if something should be changed or not. I'm interested in hearing what more of the community feels. |
@jaekwon very good point! I'm siding with keeping it as is then: 10k inflation per block after 600 000 blocks. It should just then be emphasised, and explained properly. ie, due to the short time for coins to be released, a soft landing with small inflation will keep more miners involved. |
Good catch. I too think it would probably be best to leave it for now. If in a year there's large enough of a transaction volume to sustain a 100B cap, it won't be too late to change it. Also @jtremback and @jaekwon have valid points. At any rate, the fixed cap design of crypto currencies is an arbitrary decision as far as dogecoin is concerned. Dogecoin isn't designed to be the ultimate currency, so there's no reason to stick with a fixed cap, especially if it might be harmful to the dogecoin ecosystem. It would be good to keep undemonstrated economic theories out of this, and in this case there's a valid concern that miners leaving would significantly lower the hashrate. I have my own personal opinion on economics (I'd like to see fancier, dynamic inflation rates in crypto-currencies), plus I hold dogecoin, but I'm trying to think from the most "veil of ignorance" point of view here. We can be pretty sure that 5% per year inflation is fine. I'd say just play it safe. Plus, coincidentally the code is already that way. If there's ever in issue, it can be discussed amongst the community and a decision can be made. |
Thanks, Dogecoin! (& contributors) |
There are two ways to fix the 'miners are going to leave' problem. The debate here about a 5% inflation rate is interesting, but has to be weighed against potential backlash from who saw and expect the fixed 100B limit from the start. Whats more concerning though, aside from the max limit, is the block reward structure. As it currently stands, it leaves almost no incentive for any miners to exist on the network in about 6-8 months from now. No miners means no security means dead coin. 50B coins will be out in ~70 days, and then 75B coins in 70 more days, and almost all useful coins mined in 6 months. After that, there are no fees to support miners. 0.001 DOGE is and will always be woefully insufficient. Perhaps it would be advisable to slow down the block reward after the first halving, and increase fees after the 2nd or 3rd halving. (This would be a soft-fork since we could have all clients updated by then.) Rather then the next 25Billion coins mined over 70 days, we can keep miners around much longer by extending that period to 140 or 210 days, and also extend the other halvings. The max limit would still be 100B coins, but their release would be slowed down to keep miners around. Doing something like this would be, in my view, the only way to stop a mass exodus of miners. |
@fract4l I assume the fees won't be stuck at 0.001 permanently. I'd expect that as soon as dynamic fees are out for bitcoin/litecoin, they'd be merged into dogecoin. I haven't seen any discussion about this though so maybe I'm wrong. |
Here's a thought, To clairfy, in 2+ years time I think we will have a lot more evidence if minor inflation (at most 2.5% a year), PoS concepts, or deflationary coins are more likely to maintain interest, and we can make a decision from that point without causing much issue, with plenty of community input. There's anecdotal evidence to that inflationary currency can still maintain value (peercoin, primecoin) and deflationary currency can lose most of its mining (extremecoin, infinitecoin), but I think more evidence would be needed at a further date. |
👍 increase the block target speed |
People put money into coins to invest, if the coin is going to devalue due to inflation why would one put money into the coin? Value is heavily relied upon market cap and investability. 100 billion coins is already A LOT, even getting Dogecoin up to $.01(one cent) would be a feat, considering 100Billion*.01=1Billion and Bitcoins current market cap is 8billion. I propose we cap it at 100 Billion and either increase fees to incentivise mining, or we can change the time frame of 1.5 yrs total 100B being mined to a 5-20yr time frame. |
@dogecoin Sounds good to me, too! |
@dogecoin I think it would probably be best to leave it for now and revisit this after 2+ years. So about 100B coins will be mined in first year and about 5B coins will be mine in second year. Increasing block target time to 2 minutes doesn't solve anything but cause protocol instability and bad reputation. In the world of decentralized currencies, reputation is the most important |
I think we would do well to realize that the coin has had its success not
|
At least the transaction fees have been updated (which makes it more feasible for miners in the future, and the removal of dust spam). I'm siding with @jaekwon here, as this is the path the least resistance. Dogecoin IS a fun currency. Providing a soft landing for miners with a 10k a block inflation is okay. Nodes and miners won't have to update their software. It will essentially be about 100 billion in the end (with ever decreasing inflation over the years). Instead of requiring people to update, it's just a short knock in terms of expectation (there's not a theoretical cap). |
Guys, I totally disagree with the direction things seem to be going here.. The understanding since the very beginning of dogecoin has been that it will be capped at 100 billion. Most people on reddit have been basing their valuation of dogecoin on this. If there is anything they know, its that dogecoin has a limit of 100 billion. It would be a huge mistake to change this and undermine the trust in dogecoin and instead of capping it create 5 billion new dogecoins a year indefinitely. Extend the life of the currency by extending the length of time it takes to get to 100 billion, but do not change the 100 billion amount. |
|
@dogecoin sorry for the delay, I was away over the holidays. As I suspected, talk of the coin limit going higher then 100B becomes a political debate... In the meantime, I think your suggestion of increasing the block target to 2 minutes is the best solution for keeping miners around and extending the life of the coin. It keeps the block schedule the same, and ALSO fixes the orphan problem that a lot of pools were complaining about. I think politically this would be the path of least resistance. 1) The value has been dropping, so people would welcome a slower inflation. 2) Miners would be happy with less orphans. 3) It gives devs and everyone more time to address the > 100B inflation issue. I would ACK the change to 2 minute blocks after the first halving. |
@fract4l I think it's a very bad signal if we change the protocol because the price is dropping fast.. As a former forex trader, I see patient is the key to winning. After looking at other success altcoins, I believe the price of dogecoin will increase at least 10 times after the first or second halving. |
Increasing block target to 2 minutes after the first reward halving makes sense - not to protect prices but to leave more mining income for later. But the change needs to gain acceptance, and the fact that it could protect current prices helps with that. If no other changes will be made, then the monetary inflation after 100 billion would be 2.6 billion doge a year. The global rate of economic growth is likely to be at least 2.6%, so if we assume the dogeconomy keeps growing at at least that rate, the coin does not lose value, and in fact should only gain in value in terms of fiat money. Politicians and central bankers keep monetary inflation well above the rate of economic growth to prevent price deflation. Sadly not many people in the crypto communities understand these matters. |
I agree with @nguoinhaque that it looks pretty bad if we start changing things up. It's going to halve soon anyway, and it's a weird experimental coin that was never meant to grow this popular. I say leave well enough alone. |
@nguoinhaque If we dont change the block target time we run the risk of having a dead coin at some point, if we dont change the inflation rate we run the risk of having everyone believing we lied to them because we have said over and over again from the very beginning, and on multiple different official websites, that the limit for DOGE is 100 billion coins. Adding inflation to a coin that people previous believed would be a deflationary coin is a big deal. |
@dakrin I didn't say we should never change the protocol but I said we shouldn't hurry, shouldn't panic. The protocol is the core of the network, don't change it whenever we want because it's dangerous (recent chain splitting is an example) and causes bad reputation. Just wait about 2 years, we will have much more time and data to analyze the situation. I believe the patience will finally lead us to success. |
I too don't like the idea of changing the protocol. It is the back-bone to how the currency works. How do you think people would feel if Bitcoin decided to change their target block time to 5 mins and remove the hard cap of 21 million coins? I think this issue should be resolved quickly (and add the 100B limit) or begin to communicate the the 100B cap is not in place and there will be no limit to the number of DOGE. The way I see it, we're going to loose activity if 100B isn't the hard limit, and we're going to loose the trust of our community if this 'change' isn't properly communicated. The (right) thing to do would be add the 100B limit and have this debate (publicly) after. |
Guys, this is becoming a trollbox. The issue is closed, and the devs are not going to look at this thread after this post, so the only thing posting here is doing is spamming. If there is another discussion to be had on the subject another issue will be raised. Please post your opinions and venting on one of the many public forums that exist and not on this github issue. Thank you. |
As the founder of quite possibly the largest non-exchange company that supports DOGE, I couldn't be happier with this decision :-). Ideally though, a reward a 5K seems to make more sense. |
Huzzah! 0-10k blocks I say! On Sun, Feb 2, 2014 at 2:23 PM, moolah-ch notifications@github.com wrote:
|
@flyingplatypus @moolah-ch I agree, anyway i'm out the discussion, don't say no one was there to warn you. |
Don't feed the trolls. The decision has been made, and people with cool heads understand how important and beneficial it is. All others, who are too lazy to read the whole conversation and reasoning here, or just too stupid(excuse my language) to be reasoned with, will stop spamming once people stop responding to them. It's done. If you are that upset, then sell, buy BTC/LTC, and move on. DOGE now officially has a framework and is moving forward with a different idea. |
R.I.P Dogecoin. |
Oh good grief this is going to land a sh*tstorm. (not that it hasn't already) grabs popcorn |
@ummjackson do you still think it's a good idea? The price of Doge is plummeting because of this. Anyone serious about backing the currency is selling at record low prices. You have literally killed DogeCoin in less than a day. |
I’m enjoying all the cheap coins I’m getting. On 2 February 2014 at 22:51:12, MadCold (notifications@github.com) wrote: @ummjackson do you still think it's a good idea? The price of Doge is plummeting because of this. Anyone serious about backing the currency is selling at record low prices. You have literally killed DogeCoin in less than a day. — |
@MadCold You're being silly, I guess you've never seen the whales play with the market before huh? It's "trading" between 131 and 161 in a single hour, going down, up to 161 again and now down. The real traders are either playing right now or sitting back and enjoying the popcorn, nothing to see here. |
It's selling for less than $1.20 per 1000 now and it's still dropping. $1.18 right now. |
It was at 26 satoshis not long ago, how does this surprise you? On 2 February 2014 at 22:56:45, MadCold (notifications@github.com) wrote: It's selling for less than $1.20 per 1000 now and it's still dropping. $1.18 right now. — |
@MadCold Grab your popcorn and buy a handful when it bottoms out. It'l recover. |
SELL SELL SELL |
(ok, I am leaving.) |
This is great to watch. Lots of cheap coins for the newcomers and it'll Can we please decentralise the decision making? The concentration of power On 3 February 2014 08:58, Jeremiah Senkpiel notifications@github.comwrote:
|
Oh hey, there's a unsubscribe button on the top right of the GitHub page. Bye people, I'm abandoning this thread. |
@MadCold The viability of a currency should not be determined by it's value when cashed out to BTC or USD. As @billym2k stated, this issue is now closed. Any further comments on this issue will be deleted. If you'd like to engage in a community discussion, and hear other people's opinions on the matter please refer to this Reddit thread: http://www.reddit.com/r/dogecoin/comments/1wsg31/dogecoin_will_not_be_capped_at_100_billion/ |
67c59ae qt: Make warning label look clickable (Jarol Rodriguez) Pull request description: The warning icon on the overview page indicates that there is something important the user should know about, but a user may not be aware that they can click it because, on `master`, the warning label does not look clickable. As detailed in issue #23, the reason to make it look clickable is that it if they "had a more clickable-appearance (borders or beveled button edges) it could help users more quickly understand what they are being alerted to." This PR removes the `flat` property from both `QPushButton`'s to make them look like a button, and therefore clickable. Furthermore, it updates the `Maximum Width` to `45` to fix the small hit-box issue outlined in issue dogecoin#215. Below are screenshots showing how the warning icon looks under `master` and this `PR`: **macOS 11.1: Qt 5.15** | Master | PR | | ----------- | ----------- | | <img width="754" alt="Screen Shot 2021-02-22 at 5 00 40 PM" src="https://user-images.githubusercontent.com/23396902/108776135-f6d50380-752f-11eb-9f96-25163c6a2a02.png"> | <img width="754" alt="Screen Shot 2021-02-22 at 3 08 40 PM" src="https://user-images.githubusercontent.com/23396902/108776068-e0c74300-752f-11eb-9545-3580e2b8f187.png"> | **Ubuntu 20.04: Qt 5.12** | Master | PR | | ----------- | ----------- | | <img width="783" alt="Screen Shot 2021-02-22 at 4 57 32 PM" src="https://user-images.githubusercontent.com/23396902/108776249-284dcf00-7530-11eb-8325-7fe13a9243a7.png"> |  | Closes #23 Closes dogecoin#215 ACKs for top commit: Talkless: tACK 67c59ae, tested on Debian Sid. Does look as expected. Tree-SHA512: 2b7302fb990ea49e2f01df6f4a23e2bc3de0797da89deaeb299742e6b285a0c21ea80d8259dc0222640cccc2bccc4ea09df443b9a11bf8b88a828e5fb2aec12c
Do not shadow variables
92bdd11 univalue_write: remove unneeded sstream.h include (Jeff Garzik) 66e0ade Remove unnecessary sstream header from univalue.h (Heikki Hellgren) 88967f6 Version 1.0.4 (Jeff Garzik) 72392fb [tests] test pushKV for boolean values (John Newbery) c23132b Pushing boolean value to univalue correctly (Karel Bilek) b17634e Update URLs to MIT license. (Felix Wolfsteller) Pull request description: This merges 1ae6a23, which includes some stylistic changes like http->https in the license link and removes an unused include. Top commit has no ACKs. Tree-SHA512: 02881cc75394aada1429b02ac5dd926adb3cc681c972ce48cc3de3c436999a557062fe9d97dcd5cddc51695c7c0904db0221c585ff41694117d2302baad665f8
a44caf65f Merge bitcoin-core/univalue-subtree#28: Import fixes for sanitizer reported issues 135254331 Import fixes for sanitizer reported issues d5fb86940 refactor: use c++11 range based for loop in checkObject ff9c37930 refactor: Use nullptr (c++11) instead of NULL 08a99754d build: use ax_cxx_compile_stdcxx.m4 to check for C++11 support 66d3713ce Merge bitcoin-core/univalue-subtree#29: ci: travis -> cirrus 808d48729 ci: travis -> cirrus c390ac375 Merge bitcoin-core/univalue-subtree#19: Split sources for easier buildsystem integration 4a5b0a1c6 build: Move source entries out to sources.mk 6c7d94b33 build: cleanup wonky gen usage a222637 Merge dogecoin#23: Merge changes from jgarzik/univalue@1ae6a23 98fadc0 Merge dogecoin#24: Push bool into array correctly 5f03f1f Push bool into array correctly f77d0f7 Merge commit '1ae6a231a0169938eb3972c1d48dd17cba5947e1' into HEAD 98261b1 Merge dogecoin#22: Clamp JSON object depth to PHP limit 54c4015 Clamp JSON object depth to PHP limit 5a58a46 Merge dogecoin#21: Remove hand-coded UniValue destructor. b4cdfc4 Remove hand-coded UniValue destructor. 1ae6a23 Merge pull request dogecoin#57 from MarcoFalke/test_fix 92bdd11 univalue_write: remove unneeded sstream.h include ffb621c Merge pull request dogecoin#56 from drodil/remove_sstream_header f33acf9 Merge commit '7890db9~' into HEAD 7fba60b Merge dogecoin#17: [docs] Update readme 4577454 Merge dogecoin#13: Fix typo 66e0ade Remove unnecessary sstream header from univalue.h ac7e73c [docs] Update readme 7890db9 Merge #11: Remove deprecated std pair wrappers 88967f6 Version 1.0.4 40e3485 Merge dogecoin#14: Cleaned up namespace imports to reduce symbol collisions 1dc113d Merge pull request dogecoin#50 from luke-jr/pushKV_bool 72392fb [tests] test pushKV for boolean values c23132b Pushing boolean value to univalue correctly 4a49647 Fix typo 85052a4 Remove deprecated std::pair wrappers 81faab2 Merge pull request dogecoin#48 from fwolfst/47-UPDATE_MIT_LINK_TO_HTTPS b17634e Update URLs to MIT license. 51d3ab3 Merge #10: Add pushKV(key, boolean) function (replaces #5) 129bad9 [tests] test pushKV for boolean values b3c44c9 Pushing boolean value to univalue correctly 07947ff Merge #9: [tests] Fix BOOST_CHECK_THROW macro ec849d9 [tests] Fix BOOST_CHECK_THROW macro 88ab64f Merge pull request dogecoin#46 from jasonbcox/master 35ed96d Merge pull request dogecoin#44 from MarcoFalke/Mf1709-univalue-cherrypick-explicit 420c226 Merge pull request dogecoin#45 from MarcoFalke/Mf1710-univalue-revert-test d208f98 Cleaned up namespace imports to reduce symbol collisions 31bc9f5 Merge #8: Remove unused Homebrew workaround fa04209 Remove HomeBrew workaround a523e08 Merge #7: Declare single-argument (non-converting) constructors "explicit" a9e53b3 Merge #4: Pull upstream fe805ea Declare single-argument (non-converting) constructors "explicit" 8a2d6f1 Merge pull request dogecoin#41 from jgarzik/get-obj-map ba341a2 Add getObjMap() helper method. Also, constify checkObject(). ceb1194 Handle .pushKV() and .checkObject() edge cases. 107db98 Add ::push_back(double) method for feature parity. d415300 Move one-line implementation of UniValue::read() to header. 52e85b3 Move exception-throwing get_* methods into separate implementation module. dac5296 README.md: update code quotes 3e31dcf README.md: close code quote d09b842 Update README.md f1b86ed Convert README to markdown style. 1dfe464 Import UniValue class unit tests from bitcoin project. 0d3e74d operator[] takes size_t index parameter (versus unsigned int) 640158f Private findKey() method becomes size_t clean, and returns bool on failure. 7099135 Merge pull request dogecoin#36 from ryanofsky/pr/end-str a31231b Version 1.0.3 4fd5444 Reject unterminated strings 81eba33 Merge pull request dogecoin#26 from isle2983/pushBackHelpers 3640541 Merge PR dogecoin#32 from branch 'nul-not-special' of git://github.com/ryanofsky/univalue into merge 89bb073 Merge pull request dogecoin#31 from ryanofsky/raw-literals 511008c Merge pull request dogecoin#30 from ryanofsky/test-driver 77974f3 Merge pull request dogecoin#34 from paveljanik/20161116_Wshadow_codepoint a38fcd3 Do not shadow member variable codepoint. fd32d1a Don't require nul-terminated string inputs 0bb1439 Support parsing raw literals in UniValue 28876d0 Merge pull request dogecoin#29 from btcdrak/exportspace 839ccd7 Add test driver for JSONTestSuite 26ef3ff Remove trailing whitespace from JSON export cfa0384 Convenience wrappers for push_back-ing integer types git-subtree-dir: src/univalue git-subtree-split: a44caf65fe55b9dd8ddb08f04c0f70409efd53b3
Looking at getBlockValue (and nSubsidy), after the 600 000th block, it will forever be 10k a block. Once it hits 100 billion, it should be set to 0. However, this seems a bit difficult due to the randomness being brought in.
Or rather, that this is intentional? But then the dogecoin thread should mention there is no theoretical cap, but will basically level out at 10 billion (for all intents and purposes)?
Such confuse?
The text was updated successfully, but these errors were encountered: