KonstantinosM (OP)
|
|
May 13, 2021, 05:23:06 PM |
|
You hear it in every video of someone explaining Bitcoin. Isn't it more accurate to say that the reward will keep halving so that there will never be more than 21 million bitcoins?
There has to be a better way to put it. But from my understanding there is no direct rule within bitcoin's code/protocols that limits bitcoins to 21 Million other than the mathematical rules that govern the mining reward.
It bothers me to hear this over and over to be honest.
|
Syscoin has the best of Bitcoin and Ethereum in one place, it's merge mined with Bitcoin so it is plugged into Bitcoin's ecosystem and takes full advantage of it's POW while rewarding Bitcoin miners with Syscoin
|
|
|
hatshepsut93
Legendary
Offline
Activity: 3038
Merit: 2161
|
That rule is enough, if no more than 21 million bitcoins can be created, then the maximum supply is 21 million. Bitcoin is not like gold that can be found on asteroids or other planets, mining is the only possible source of new coins. It would be redundant to keep track of existing supply with every new block, Satoshi did not implement it, because it would be a waste of space and processing power.
|
|
|
|
BlackHatCoiner
Legendary
Offline
Activity: 1708
Merit: 8347
Fiatheist
|
|
May 13, 2021, 05:37:31 PM |
|
There has to be a better way to put it. But from my understanding there is no direct rule within bitcoin's code/protocols that limits bitcoins to 21 Million other than the mathematical rules that govern the mining reward. I don't want to be pedantic, but there is a line that limits the units to 21,000,000 on amount.h: static const CAmount MAX_MONEY = 21000000 * COIN; I get your point, but that static constant does limit the maximum number of coins. It isn't just the mathematical rules of the block reward that restricts it, but that variable too. If you fork Bitcoin Core, and create your own altcoin that will have more than 21M coins, you should also change that line. It bothers me to hear this over and over to be honest. It doesn't bother me, personally. They say that there will be. It doesn't matter that much if you understand the nature of it and its deflationary chart:
|
|
|
|
jrrsparkles
Sr. Member
Offline
Activity: 2520
Merit: 280
Hire Bitcointalk Camp. Manager @ r7promotions.com
|
|
May 13, 2021, 05:43:02 PM |
|
You hear it in every video of someone explaining Bitcoin. Isn't it more accurate to say that the reward will keep halving so that there will never be more than 21 million bitcoins?
There has to be a better way to put it. But from my understanding there is no direct rule within bitcoin's code/protocols that limits bitcoins to 21 Million other than the mathematical rules that govern the mining reward.
It bothers me to hear this over and over to be honest.
The reward is havling for every certain period, not for the every block after it was mined so definitely its possible to mine the 21 million bitcoins which is expected to happen in 2140 by that time no one who are discussing about this will be alive. Why only 21 million? Only satoshi knows the reason, probably it was his lucky number!
|
|
|
|
Kabul
|
|
May 13, 2021, 06:28:37 PM |
|
Rules are necessary and those rules are enough to maintain the bitcoin network. Without any rule, there will only be chaos. Look at fiat, government keeps printing money making the inflation rate increase significantly over years. Being capped at 21mil makes bitcoin become stronger, invulnerable from the inflation (actually, there is only deflation in bitcoin)
|
|
|
|
odolvlobo
Legendary
Offline
Activity: 4508
Merit: 3418
|
|
May 13, 2021, 06:43:35 PM |
|
You hear it in every video of someone explaining Bitcoin. Isn't it more accurate to say that the reward will keep halving so that there will never be more than 21 million bitcoins?
Sure. That is more accurate, but "'Satoshi set the total supply of bitcoins to 21 Million' is nonsense" is hyperbole. Or as expressed in your terms, your title is nonsense. ... there is a line that limits the units to 21,000,000 on amount.h: static const CAmount MAX_MONEY = 21000000 * COIN;
That constant is used only for validation. It is not used to limit the number of coins. You overlooked the comment that immediately precedes the line you quoted: /** No amount larger than this (in satoshi) is valid. * * Note that this constant is *not* the total money supply, which in Bitcoin * currently happens to be less than 21,000,000 BTC for various reasons, but * rather a sanity check. As this sanity check is used by consensus-critical * validation code, the exact value of the MAX_MONEY constant is consensus * critical; in unusual circumstances like a(nother) overflow bug that allowed * for the creation of coins out of thin air modification could lead to a fork. * */ static const CAmount MAX_MONEY = 21000000 * COIN;
|
Join an anti-signature campaign: Click ignore on the members of signature campaigns. PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
|
|
|
Streets 2.0
Full Member
Offline
Activity: 490
Merit: 101
FRX: Ferocious Alpha
|
|
May 13, 2021, 07:04:52 PM |
|
It is still so far to reach this quantitative level that I see no reason to even think in this direction. Let's first live up to this post empirically check whether it is or not. Why do you need to guess? Over this period of time, a lot can still change, for example, what to do with those "lost" bitcoins that have been resting on wallets from the beginning of the mining process itself, when a lot was mined and the attitude was like garbage or a toy that is not valued.
|
|
|
|
BlackHatCoiner
Legendary
Offline
Activity: 1708
Merit: 8347
Fiatheist
|
|
May 13, 2021, 07:28:20 PM |
|
That constant is used only for validation. It is not used to limit the number of coins. You overlooked the comment that immediately precedes the line you quoted: But, if it's used for validation, doesn't it also limit it too? If you change the block reward and leave that field same, will you be able to bypass the 21 million?
|
|
|
|
ReiMomo
Sr. Member
Offline
Activity: 2366
Merit: 305
Duelbits - $100k Bonus/week
|
|
May 13, 2021, 08:04:28 PM |
|
If you’re gonna be checking Bitcoin’s Source code, you will see that the limit has been set up properly and smoothly. Variable has been set up to the point that everyone can see the maximum amount. Good thing is that Bitcoin is open-source, transparency is too much to be grateful for and feel assured. I guess you should try to check it yourself. Here are the links you might check you wouldn’t be confused with Bitcoins technical structure below. https://www.youtube.com/watch?v=VyixWPMbRXIhttps://bitcoin.stackexchange.com/questions/41692/how-to-understand-bitcoin-source-codeHope this helps.
|
|
|
|
| | | . Duelbits | | | | | █▀▀▀▀▀ █ █ █ █ █ █ █ █ █ █ █ █▄▄▄▄▄▄▄ | TRY OUR
NEW UNIQUE GAMES! | ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀DICE .▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ | | ███████████████████████████████ ███▀▀ ▀▀███ ███ ▄▄▄▄ ▄▄▄▄ ███ ███ ██████ ██████ ███ ███ ▀████▀ ▀████▀ ███ ███ ███ ███ ███ ███ ███ ███ ▄████▄ ▄████▄ ███ ███ ██████ ██████ ███ ███ ▀▀▀▀ ▀▀▀▀ ███ ███▄▄ ▄▄███ ███████████████████████████████ | | | ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀MINES .▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ | | ███████████████████████████████ ████████████████████████▄▀▄████ ██████████████▀▄▄▄▀█████▄▀▄████ ████████████▀ █████▄▀████ █████ ██████████ █████▄▀▀▄██████ ███████▀ ▀████████████ █████▀ ▀██████████ █████ ██████████ ████▌ ▐█████████ █████ ██████████ ██████▄ ▄███████████ ████████▄▄ ▄▄█████████████ ███████████████████████████████ | | ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀PLINKO .▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ | | ███████████████████████████████ █████████▀▀▀ ▀▀▀█████████ ██████▀ ▄▄███ ███ ▀██████ █████ ▄▀▀ █████ ████ ▀ ████ ███ ███ ███ ███ ███ ███ ████ ████ █████ █████ ██████▄ ▄██████ █████████▄▄▄ ▄▄▄█████████ ███████████████████████████████ | | 10,000x MULTIPLIER | │ | | | | ▀▀▀▀▀█ █ █ █ █ █ █ █ █ █ █ █ ▄▄▄▄▄█ |
|
|
|
odolvlobo
Legendary
Offline
Activity: 4508
Merit: 3418
|
That constant is used only for validation. It is not used to limit the number of coins. You overlooked the comment that immediately precedes the line you quoted: But, if it's used for validation, doesn't it also limit it too? If you change the block reward and leave that field same, will you be able to bypass the 21 million? It's uses don't affect the limit. If the limit were increased, its use for validation might be impacted, certain valid transactions might be rejected, and certain tests would be invalidated. Note also that the actual limit is not (and has never been) exactly 21 million.
|
Join an anti-signature campaign: Click ignore on the members of signature campaigns. PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
|
|
|
Ryker1
Sr. Member
Offline
Activity: 1932
Merit: 442
Eloncoin.org - Mars, here we come!
|
|
May 13, 2021, 08:15:22 PM |
|
Well for me, I actually have the same idea before I checked and researched further about bitcoin, --I thought that mining was easy and halving has been set up to attract them to solve mathematical problems but still control the supply. I thought it is the miners who would decide the maximum supply of bitcoin, but then I found out that bitcoin has been created to only have a maximum of 21 million coins. And I really find it fascinating how they did it. Like I think if programming was existing during before fiat has been created? I wonder if this has been applied to it, I think people would have a better experience with the centralized currency. Imagine setting up a maximum supply so the ecosystem has to make sure that the currency is circulating? What a wonderful economy it would be.
|
▄▄████████▄▄ ▄▄████████████████▄▄ ▄██████████████████████▄ ▄█████████████████████████▄ ▄███████████████████████████▄
| ███████████████████▄████▄ █████████████████▄███████ ████████████████▄███████▀ ██████████▄▄███▄██████▀ ████████▄████▄█████▀▀ ██████▄██████████▀ ███▄▄████████████▄ ██▄███████████████ ░▄██████████████▀ ▄█████████████▀ █████████████ ███████████▀ ███████▀▀ | | | Mars, here we come! | ▄▄███████▄▄ ▄███████████████▄ ▄███████████████████▄ ▄█████████████████████▄ ▄███████████████████████▄ █████████████████████████ █████████████████████████ █████████████████████████ ▀███████████████████████▀ ▀█████████████████████▀ ▀███████████████████▀ ▀███████████████▀ ▀▀███████▀▀ | ElonCoin.org | │ | | .
| │ | ████████▄▄███████▄▄ ███████▄████████████▌ ██████▐██▀███████▀▀██ ███████████████████▐█▌ ████▄▄▄▄▄▄▄▄▄▄██▄▄▄▄▄ ███▀░▐███▀▄█▄█▀▀█▄█▄▀ ██████████████▄██████▌ █████▐██▄██████▄████▐ █████████▀░▄▄▄▄▄ ███████▄█▄░▀█▄▄░▀ ███▄██▄▀███▄█████▄▀ ▄██████▄▀███████▀ ████████▄▀████▀█████▄▄ | . "I could either watch it happen or be a part of it" ▬▬▬▬▬ |
|
|
|
gmaxwell
Staff
Legendary
Offline
Activity: 4284
Merit: 8808
|
|
May 14, 2021, 05:59:16 AM |
|
I don't want to be pedantic, but there is a line that limits the units to 21,000,000 on amount.h: static const CAmount MAX_MONEY = 21000000 * COIN; I get your point, but that static constant does limit the maximum number of coins. I want to be pedantic. That line doesn't actually limit the maximum number of coins! Only the halving of subsidy limits the maximum number of coins. MAX_MONEY is used in various places to clamp transaction amounts. For example, a transaction can't pay an output more than MAX_MONEY coins (as that would just be impossible, so any number over MAX_MONEY is invalid). This is just as odolvlobo says. If you broke the halving but left MAX_MONEY in place the system could get more than 21m BTC, though you might trigger bugs and crashes if more than 21M got spent at once in a single transaction. This is deep in the weeds and inconsequential, but since we were already being pedantic we ought not be half-assed about it. Only full-assed pedantry for me! All that said, saying Satoshi set the limit to 21M BTC is accurate enough in my view. I mean, if you want to get really detailed he pressed buttons that commanded logic gates by switching electrons ... and so on. Shall we really say that Satoshi's mother set the limit by giving birth to Satoshi, or her mother by giving birth to her, or the limit was set when some ape that reached out and touched a black monolith giving birth to intelligent life and the inevitable creation of Bitcoin? At some point you've got to approximate. Saying Satoshi set a specific limit gets the point across without getting into the weeds, unless the subsidy decline is actually relevant to your conversation. Moreover, if you start talking about to newbies about rewards going down they often end up thinking mining becomes slower and slower and eventually blocks won't be created anymore. Giving people too much detail often confuses them.
|
|
|
|
FatFork
Legendary
Offline
Activity: 1778
Merit: 2671
Crypto Swap Exchange
|
As I understand it, the maximum number of coins is determined by the fact that halving occurs every 210,000 blocks and that mining rewards started at 50 BTC per block. Any change in either of these values would mean a different maximum number of coins. Since both of these parameters are hardcoded into the Bitcoin client by Satoshi, your argument from the title is invalid.
In approximately 120 years when the mining reward reaches 1 satoshi per block, we will have a coin supply of 209999999.99 BTC, which means we'll never actually reach the total supply of 21 million. My guess is that exactly this is why this value isn't defined anywhere in the source code as the maximum number of coins.
|
|
|
|
kryptqnick
Legendary
Online
Activity: 3290
Merit: 1403
Join the world-leading crypto sportsbook NOW!
|
Correct me if I'm wrong, but I was also thinking more in the line with what FatFork wrote. This whole halving thing means that there will be a division by two going essentially ad infinitum, just like in the Ancient Dichotomy paradox by Zeno. Unless, of course, some limit like 1 Satoshi (or more 'cause there are probably things I haven't taken into account here) finishes this process. At that point, however, it's possible that Satoshis will get divided into even smaller bits, I think, so when the amount will be reaching 21 million forever. Or does the point that we won't have precisely 21 million mean that this number can somehow be exceeded? In that case, the validation line in the code that was discussed above would become a problem, no?
|
|
|
|
Ucy
Sr. Member
Offline
Activity: 2688
Merit: 403
Compare rates on different exchanges & swap.
|
|
May 14, 2021, 03:07:12 PM |
|
Interesting... So I guess you could print more coin and used them outside of the mining rewards then... .Maybe print lot more specifically for Bitcoin price governance or price regulation. But you probably have to get the whole community agree to this, under the condition that the Bitcoin deflationary ideal won't be violated.
I like the idea of of having an Open/public "Price Governance Community" where coin supply can be controlled in a way that prevent extreme price volatility to the overall price. The community can both automatically & manually keep the price of Bitcoin balanced/moderate long-term. When demand for Bitcoin is high, it sells to the public to prevent Bitcoin from going up to high. When demand is low, it buys back to reduce the overall supply and keep it from going down too much. A Cryptocurrency should be flexible enough to allow for this kind of changes (through public consensus) when it becomes necessary.
|
████████████████████ OrangeFren.com ████████████████████instant KYC-free exchange comparison████████████████████ Clearnet and onion available #kycfree + (prepaid Visa & Mastercard) ████████████████████
|
|
|
BlackHatCoiner
Legendary
Offline
Activity: 1708
Merit: 8347
Fiatheist
|
|
May 14, 2021, 03:55:42 PM |
|
MAX_MONEY is used in various places to clamp transaction amounts. For example, a transaction can't pay an output more than MAX_MONEY coins (as that would just be impossible, so any number over MAX_MONEY is invalid). This is just as odolvlobo says. Yes, you're right, sorry. Judging the source code, it's only used to prevent another overflow incident. (just like in block 74638). Although, you do have to change it if you fork Bitcoin Core, otherwise you won't be able to create an output spending more than 21 million coins. To put it simply, Bitcoin nodes don't sum all the bitcoins and check if there are more than 21 million. (This is how a newbie would think of it) I don't know if MAX_MONEY is being used outside main.cpp, but that's its only use in that file: // Check for negative or overflow input values if (txPrev.vout[prevout.n].nValue < 0) return error("ConnectInputs() : txin.nValue negative"); if (txPrev.vout[prevout.n].nValue > MAX_MONEY) return error("ConnectInputs() : txin.nValue too high"); if (nValueIn > MAX_MONEY) return error("ConnectInputs() : txin total too high"); So I guess you could print more coin and used them outside of the mining rewards then... .Maybe print lot more specifically for Bitcoin price governance or price regulation. But you probably have to get the whole community agree to this, under the condition that the Bitcoin deflationary ideal won't be violated. Changes in the code may occur to upgrade the software, but the consensus rules will remain the same. There isn't anything to be agreed, if you don't believe they should be 21M, you can leave Bitcoin. If the majority of the people that run a node, believe that Bitcoin should have more than 21M coins, they're free to change the block rewards. They'll have to comprehend, though, that they'll instantly stop being the majority. That, also, answers to the next part of your post, which IMO isn't made to be taken seriously.
|
|
|
|
midnightmagic
Member
Offline
Activity: 88
Merit: 37
|
|
May 14, 2021, 07:48:43 PM |
|
As I understand it, the maximum number of coins is determined by the fact that halving occurs every 210,000 blocks and that mining rewards started at 50 BTC per block. Any change in either of these values would mean a different maximum number of coins. Since both of these parameters are hardcoded into the Bitcoin client by Satoshi, your argument from the title is invalid.
In approximately 120 years when the mining reward reaches 1 satoshi per block, we will have a coin supply of 209999999.99 BTC, which means we'll never actually reach the total supply of 21 million. My guess is that exactly this is why this value isn't defined anywhere in the source code as the maximum number of coins.
No, incorrect. https://bitcoin.stackexchange.com/questions/38994/will-there-be-21-million-bitcoins-eventually/38998This is the as-of-the-answer correct number of coins that there will eventually be. So that hard figure it definitely wrong. Sorry I did my things that made it forever wrong.
|
|
|
|
FatFork
Legendary
Offline
Activity: 1778
Merit: 2671
Crypto Swap Exchange
|
|
May 14, 2021, 08:03:51 PM |
|
As I understand it, the maximum number of coins is determined by the fact that halving occurs every 210,000 blocks and that mining rewards started at 50 BTC per block. Any change in either of these values would mean a different maximum number of coins. Since both of these parameters are hardcoded into the Bitcoin client by Satoshi, your argument from the title is invalid.
In approximately 120 years when the mining reward reaches 1 satoshi per block, we will have a coin supply of 209999999.99 BTC, which means we'll never actually reach the total supply of 21 million. My guess is that exactly this is why this value isn't defined anywhere in the source code as the maximum number of coins.
No, incorrect. <cut> Yes, thank you. I made a slight error in the calculation because I rounded to the eighth decimal place. The exact figure (after the 33rd halving) is 20999999.9769 BTC.
|
|
|
|
KonstantinosM (OP)
|
|
May 18, 2021, 04:02:55 AM |
|
I didn't expect all the high quality posts. I stand by my words. What would make me happy is hearing how the subsidy halves every four years so there will never be more than 21 Million Bitcoins rather than Satoshi set the limit to 21 million.
If you're educating people about bitcoin, maybe have a cute little graph on how many bitcoins were mined in the first 4 year period before the first halving and show the math in a visual way and how it will never reach 21 Million.
Maybe the lesson we learned was the pedantry we engaged in along the way.
|
Syscoin has the best of Bitcoin and Ethereum in one place, it's merge mined with Bitcoin so it is plugged into Bitcoin's ecosystem and takes full advantage of it's POW while rewarding Bitcoin miners with Syscoin
|
|
|
hazenyc
|
|
May 18, 2021, 09:17:24 AM |
|
I didn't expect all the high quality posts. I stand by my words. What would make me happy is hearing how the subsidy halves every four years so there will never be more than 21 Million Bitcoins rather than Satoshi set the limit to 21 million.
If you're educating people about bitcoin, maybe have a cute little graph on how many bitcoins were mined in the first 4 year period before the first halving and show the math in a visual way and how it will never reach 21 Million.
Maybe the lesson we learned was the pedantry we engaged in along the way.
Your issue really seems to be just semantic. Satoshi decided by writing the code that there is a supply cap at 21 million Bitcoins. What exactly is the problem with that sentence? He put the code such that based on mathematics that cap of 21 million proves valid. Sure, if someone asks you how many Bitcoins there will be you should provide the mathematical explanation. If someone asks you why that is the case or why exactly that number was chosen, your answer should be "because Satoshi decided that way". He could have decided any other number. From an educational perspective the mathematical answer should be first choice, but it is Satoshi who ultimately chose that number.
|
|
|
|
|