Hippie Tech
aka Amenstop
Legendary
Offline
Activity: 1624
Merit: 1001
All cryptos are FIAT digital currency. Do not use.
|
|
October 28, 2014, 02:27:29 PM |
|
Hello 42 ers!
By my back of the envelope calculations there are some 26 or so 42coins in the wild. Is this pretty accurate? The "coincap" sites always seem to get it wrong.
Also, I am disappointed to see nothing in the code that puts a cap on the number of coins at 42. The getBlockValue() in main.cpp never reduces, always staying at .000042 per block (apart from the superblocks which do basically nothing). This means there is no cap on supply.
This is much more important than the MAX_MONEY=42 variable set in main.h, which will only trigger an error when people start to try to move more than 42 coins at a time. I know this because when I released Woodcoin, there was MAX_MONEY=10000 mistakenly set in the main.h file. We had more than a million logs issued and the only problem was that people's clients would crash if they tried to move more than 10000 at once.
I would recommend updating the code for a "soft landing" at 42 total coins. in other words sometime in the future the reward is going to have to start to decrease. In my opinion it ought to decrease in a geometric series that converges at 42. If you want some help figuring a nice way to do that only using the number 42, let me know. Its a nice exercise though so I wouldn't take that pleasure away from the devs here.
Another way you could do it would be to add a line in getBlockValue like (if nHeight>988000) reward=0+nFees. block 988000 is just my quick estimate of when the supply will reach 42 if nothing is changed. Less than a year from now. If you go this route, at that point the reward will suddenly disappear as 42 42coins are in the wild.
If you do nothing, the coin supply will sail by 42 42coins and the price will continue tanking.
Cheers -- funkenstein the dwarf
Does your newb wisdom have anything to say about which one of the Cryptsy insiders is Hendo and/or maco ? I had a feeling they would try to sneak that one back in. lol https://bitcointalk.org/index.php?topic=444775.042 Has Fixed This ProblemIntroductionWith a market capitalization ranking of 61 [1], the coin "42" [2] is advertised as the "Highest Priced Crypto Coin Ever" [3]. This high price is attributed to the coin's rarity, which is advertised to be limited to 42 total coins. Unfortunately, it looks like 42 coin and descendents thereof (like 8 coin) do not cap the money supply at the advertised number of coin. In fact, unlike most cryptocoins, the money supply of 42 appears to be unlimited. Money GenerationIn bitcoin and most descendents the money supply is capped algorithmically in the function that calculates the mining subsidy. This function is called GetBlockValue() in the source file "main.cpp". In the bitcoin code base, the source for this function is: int64_t GetBlockValue(int nHeight, int64_t nFees) { int64_t nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years. nSubsidy >>= (nHeight / Params().SubsidyHalvingInterval());
return nSubsidy + nFees; }
Here, the subsidy is halved for each "halving interval", measured in blocks (although the calculation is obfuscated somewhat for the sake of computational efficiency). It can be proven [4] that if all halving intervals are the same length (210,000), then the maximum amount of bitcoin ever produced will be 21,000,000 = 2 * 50 * 210,000 42 (and probably several descendants, such as uses a GetBlockValue() function like the following, taken from the 42 code base: int64 static GetBlockValue(int nHeight, int64 nFees) { int64 nSubsidy = 0.000042 * COIN; if(nHeight < 419) { nSubsidy = 0.0000001 * COIN; } if(nHeight == 1) { nSubsidy = 0.42 * COIN; } if(nHeight == 420) // yay its 420 :) Time for a smoke { nSubsidy = 0.00042 * COIN; } if(nHeight == 4242) { nSubsidy = 0.00042 * COIN; } if(nHeight == 42424) { nSubsidy = 0.00042 * COIN; } if(nHeight == 424242) { nSubsidy = 0.00042 * COIN; } if(nHeight == 4242424) { nSubsidy = 0.00042 * COIN; } return nSubsidy + nFees; }
Except in a few cases (blocks 1-420, 4242, 42424, ...) all blocks will have the same reward of 0.000042 coin (ignoring fees). Notice that the 42 version of GetBlockValue() has no halving interval and makes no attempt to curtail coin generation at the advertised maximum of 42 coin. Without a geometrically decreasing reward value, the money supply will grow indefinitely. For 42, the advertised coin maximum of 42 coin will be produced before block 1,000,000 (42 / 0.000042), or in about 1.33 years. But the existing 42 code makes no provision to stop coin production at that time. MAX_MONEYOne part of the code for most cryptocoins that may be confusing to developers is the MAX_MONEY constant in the source file called "main.h". MAX_MONEY has two uses in the 42 code: (1) as a sentinel return value (which won't be discussed) and (2) to check some transaction values to ensure that they make sense. For the latter purpose, MAX_MONEY is used in the inline function called MoneyRange() in the "main.h" file: inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
This function simply checks to ensure that a value is not negative and does not exceed MAX_MONEY. Nowhere in the 42 codebase is MAX_MONEY checked against a sum of the balances of all accounts, which would require the computationally expensive task of either (1) calculating every account balance in the block chain and then adding them up, or (2) summing the coinbase (money generating) transactions over all blocks. The running total of money supply is not explicitly kept in the block chain. The MoneyRange() function is used a few times in the 42 code. An arbitrary example is checking the the sanity of a transaction, as in the CTransaction::CheckTransaction() function within "main.cpp": if (!MoneyRange(nValueOut)) return DoS(100, error("CTransaction::CheckTransaction() : txout total out of range"));
Nowhere in the code for 42 does is MoneyRange() used to validate the total money supply of 42. Notes:[1] http://coinmarketcap.com/[2] My screen name, tx42, is unrelated to 42 coin. [3] http://www.42coin.org/[4] http://en.wikipedia.org/wiki/1/2_%2B_1/4_%2B_1/8_%2B_1/16_%2B_%E2%8B%AF
|
|
|
|
funkenstein
Legendary
Offline
Activity: 1066
Merit: 1050
Khazad ai-menu!
|
|
October 29, 2014, 06:12:00 AM |
|
Hello 42 ers!
By my back of the envelope calculations there are some 26 or so 42coins in the wild. Is this pretty accurate? The "coincap" sites always seem to get it wrong.
Also, I am disappointed to see nothing in the code that puts a cap on the number of coins at 42. The getBlockValue() in main.cpp never reduces, always staying at .000042 per block (apart from the superblocks which do basically nothing). This means there is no cap on supply.
This is much more important than the MAX_MONEY=42 variable set in main.h, which will only trigger an error when people start to try to move more than 42 coins at a time. I know this because when I released Woodcoin, there was MAX_MONEY=10000 mistakenly set in the main.h file. We had more than a million logs issued and the only problem was that people's clients would crash if they tried to move more than 10000 at once.
I would recommend updating the code for a "soft landing" at 42 total coins. in other words sometime in the future the reward is going to have to start to decrease. In my opinion it ought to decrease in a geometric series that converges at 42. If you want some help figuring a nice way to do that only using the number 42, let me know. Its a nice exercise though so I wouldn't take that pleasure away from the devs here.
Another way you could do it would be to add a line in getBlockValue like (if nHeight>988000) reward=0+nFees. block 988000 is just my quick estimate of when the supply will reach 42 if nothing is changed. Less than a year from now. If you go this route, at that point the reward will suddenly disappear as 42 42coins are in the wild.
If you do nothing, the coin supply will sail by 42 42coins and the price will continue tanking.
Cheers -- funkenstein the dwarf
Does your newb wisdom have anything to say about which one of the Cryptsy insiders is Hendo and/or maco ? I had a feeling they would try to sneak that one back in. lol https://bitcointalk.org/index.php?topic=444775.042 Has Fixed This ProblemIntroductionWith a market capitalization ranking of 61 [1], the coin "42" [2] is advertised as the "Highest Priced Crypto Coin Ever" [3]. This high price is attributed to the coin's rarity, which is advertised to be limited to 42 total coins. Unfortunately, it looks like 42 coin and descendents thereof (like 8 coin) do not cap the money supply at the advertised number of coin. In fact, unlike most cryptocoins, the money supply of 42 appears to be unlimited. Money GenerationIn bitcoin and most descendents the money supply is capped algorithmically in the function that calculates the mining subsidy. This function is called GetBlockValue() in the source file "main.cpp". In the bitcoin code base, the source for this function is: int64_t GetBlockValue(int nHeight, int64_t nFees) { int64_t nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years. nSubsidy >>= (nHeight / Params().SubsidyHalvingInterval());
return nSubsidy + nFees; }
Here, the subsidy is halved for each "halving interval", measured in blocks (although the calculation is obfuscated somewhat for the sake of computational efficiency). It can be proven [4] that if all halving intervals are the same length (210,000), then the maximum amount of bitcoin ever produced will be 21,000,000 = 2 * 50 * 210,000 42 (and probably several descendants, such as uses a GetBlockValue() function like the following, taken from the 42 code base: int64 static GetBlockValue(int nHeight, int64 nFees) { int64 nSubsidy = 0.000042 * COIN; if(nHeight < 419) { nSubsidy = 0.0000001 * COIN; } if(nHeight == 1) { nSubsidy = 0.42 * COIN; } if(nHeight == 420) // yay its 420 :) Time for a smoke { nSubsidy = 0.00042 * COIN; } if(nHeight == 4242) { nSubsidy = 0.00042 * COIN; } if(nHeight == 42424) { nSubsidy = 0.00042 * COIN; } if(nHeight == 424242) { nSubsidy = 0.00042 * COIN; } if(nHeight == 4242424) { nSubsidy = 0.00042 * COIN; } return nSubsidy + nFees; }
Except in a few cases (blocks 1-420, 4242, 42424, ...) all blocks will have the same reward of 0.000042 coin (ignoring fees). Notice that the 42 version of GetBlockValue() has no halving interval and makes no attempt to curtail coin generation at the advertised maximum of 42 coin. Without a geometrically decreasing reward value, the money supply will grow indefinitely. For 42, the advertised coin maximum of 42 coin will be produced before block 1,000,000 (42 / 0.000042), or in about 1.33 years. But the existing 42 code makes no provision to stop coin production at that time. MAX_MONEYOne part of the code for most cryptocoins that may be confusing to developers is the MAX_MONEY constant in the source file called "main.h". MAX_MONEY has two uses in the 42 code: (1) as a sentinel return value (which won't be discussed) and (2) to check some transaction values to ensure that they make sense. For the latter purpose, MAX_MONEY is used in the inline function called MoneyRange() in the "main.h" file: inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); }
This function simply checks to ensure that a value is not negative and does not exceed MAX_MONEY. Nowhere in the 42 codebase is MAX_MONEY checked against a sum of the balances of all accounts, which would require the computationally expensive task of either (1) calculating every account balance in the block chain and then adding them up, or (2) summing the coinbase (money generating) transactions over all blocks. The running total of money supply is not explicitly kept in the block chain. The MoneyRange() function is used a few times in the 42 code. An arbitrary example is checking the the sanity of a transaction, as in the CTransaction::CheckTransaction() function within "main.cpp": if (!MoneyRange(nValueOut)) return DoS(100, error("CTransaction::CheckTransaction() : txout total out of range"));
Nowhere in the code for 42 does is MoneyRange() used to validate the total money supply of 42. Notes:[1] http://coinmarketcap.com/[2] My screen name, tx42, is unrelated to 42 coin. [3] http://www.42coin.org/[4] http://en.wikipedia.org/wiki/1/2_%2B_1/4_%2B_1/8_%2B_1/16_%2B_%E2%8B%AF Thanks for your reply. I found it impossible to believe nobody had noticed this before, thanks for pointing me to a review. The trouble: https://github.com/fourtytwo42/42/blob/master/src/main.cppstill has no fix. That response suggests that Hendo will create a hard fork at the last minute? Is that a good plan?
|
|
|
|
Hippie Tech
aka Amenstop
Legendary
Offline
Activity: 1624
Merit: 1001
All cryptos are FIAT digital currency. Do not use.
|
|
October 29, 2014, 11:59:00 AM |
|
Nooo THANK YOU funkenstein. Oh they, the insiders and shills, knew about it alright. lol As you can see, it only took Hendo/maco/soopy 3 hours to post the update/fix.
|
|
|
|
sofia
Newbie
Offline
Activity: 1
Merit: 0
|
|
October 30, 2014, 08:00:56 AM |
|
I also want it! If I ever gave at least one coin! Please!!! My address: 4NPnMaj4Y7eQnzHGL2HbXqQiRVCVp7Fbm3
|
|
|
|
funkenstein
Legendary
Offline
Activity: 1066
Merit: 1050
Khazad ai-menu!
|
|
October 30, 2014, 09:32:03 PM |
|
Nooo THANK YOU funkenstein. Oh they, the insiders and shills, knew about it alright. lol As you can see, it only took Hendo/maco/soopy 3 hours to post the update/fix. Does anybody care about this coin? I guess not. It might need a forking just for fun if devs don't speak up eh? If anybody cares, here is the only description I found of the so-called "fix".. choosing option 2 in my post and therefore giving up the oportunity for a bit of fun and transition with a slowly reducing supply and longer time with coinbase reward. https://bitcointalk.org/index.php?topic=444775.msg4907160#msg4907160First of all.. "990382 = LAST BLOCK in the history of 42 to ever be mined." uh.. ok.. so no more transations ever? All coins worthless then? Nice idea. Well lets assume that he meant the last block with coinbase reward larger than fees. Second of all.. git clone https://github.com/fourtytwo42/42.gitcd 42 cd src grep "990382" *.* Nice hardcoding! Something tells me this has all been said before...
|
|
|
|
Hippie Tech
aka Amenstop
Legendary
Offline
Activity: 1624
Merit: 1001
All cryptos are FIAT digital currency. Do not use.
|
|
October 31, 2014, 03:53:08 AM |
|
Nooo THANK YOU funkenstein. Oh they, the insiders and shills, knew about it alright. lol As you can see, it only took Hendo/maco/soopy 3 hours to post the update/fix. Does anybody care about this coin? I guess not. It might need a forking just for fun if devs don't speak up eh? If anybody cares, here is the only description I found of the so-called "fix".. choosing option 2 in my post and therefore giving up the oportunity for a bit of fun and transition with a slowly reducing supply and longer time with coinbase reward. https://bitcointalk.org/index.php?topic=444775.msg4907160#msg4907160First of all.. "990382 = LAST BLOCK in the history of 42 to ever be mined." uh.. ok.. so no more transations ever? All coins worthless then? Nice idea. Well lets assume that he meant the last block with coinbase reward larger than fees. Second of all.. git clone https://github.com/fourtytwo42/42.gitcd 42 cd src grep "990382" *.* Nice hardcoding! Something tells me this has all been said before... Based on my basic understanding of hardforks... hard Fork TW ! Jokes aside.. lets just say "fuck it !" and do a relaunch. (recommended)
|
|
|
|
BitcoinNational
Legendary
Offline
Activity: 1470
Merit: 1010
Join The Blockchain Revolution In Logistics
|
|
November 02, 2014, 05:58:19 PM |
|
Hendo/maco/soopy ... also LTB? scooby?? -- funkenstein marshall onward
|
|
|
|
rumpey
Member
Offline
Activity: 68
Merit: 10
|
|
November 02, 2014, 06:09:20 PM |
|
So has the block chain started moving again, or is it frozen?
|
|
|
|
buckrogers
Legendary
Offline
Activity: 2749
Merit: 1181
|
|
November 03, 2014, 12:32:49 AM |
|
Hi, is there an actual working wallet that can be downloaded that has been verified to be safe and functional, if so, can someone please post the link for it here.
thanks!
|
Well I'm dr. spock I'm here to rock y'all
|
|
|
funkenstein
Legendary
Offline
Activity: 1066
Merit: 1050
Khazad ai-menu!
|
|
November 03, 2014, 10:39:29 AM Last edit: November 04, 2014, 01:33:31 PM by funkenstein |
|
Here's an idea, please comment:
if (nHeight >= 424242+42*42*42) { nSubsidy = 0.000024*COIN + fees; }
This by itself would reduce the reward, currently coming every 42 seconds at 0.000042 to 0.000024. This will push back the day of reckoning quite a bit, specifically to block 1359421.
It might seem tough for the miners now, not as bad as a halfing day but close, but this sure seems better to me then just cutting them all off and saying goodbye to 42 coin once we have the 42 coins released in less than a year at block 990382. Also better than just leaving constant reward as is and watching supply of 42coin go slowly up past 42.
This change I recommend would come at block 498330, which will be about 21 days from now, that's when the fork would hit the network.
Rumpey: Blocks are humming along fine as far as I know. I see 8 fully open nodes and close to a GHash of scrypt on the network.
Buckrogers: I know of no other wallets other than those available at github.com/fourtytwo42/42.
|
|
|
|
youngwebs
Legendary
Offline
Activity: 1080
Merit: 1055
DEV of DeepOnion community pool
|
|
November 08, 2014, 12:17:03 PM |
|
can someone do a getpeerinfo in a working wallet? I have difficulties syncing my wallet (used source from https://github.com/fourtytwo42/)
|
|
|
|
funkenstein
Legendary
Offline
Activity: 1066
Merit: 1050
Khazad ai-menu!
|
|
November 10, 2014, 03:39:35 PM |
|
[ { "addr" : "182.19.198.161:24242", "services" : "00000001", "lastsend" : 1415633893, "lastrecv" : 1415633904, "conntime" : 1415631782, "version" : 60001, "subver" : "/42:0.7.0/", "inbound" : false, "releasetime" : 0, "startingheight" : 467890, "banscore" : 0 }, { "addr" : "54.201.183.106:24242", "services" : "00000001", "lastsend" : 1415633893, "lastrecv" : 1415633905, "conntime" : 1415631788, "version" : 60001, "subver" : "/42:0.7.0/", "inbound" : false, "releasetime" : 0, "startingheight" : 467891, "banscore" : 0 }, { "addr" : "71.175.81.45:24242", "services" : "00000001", "lastsend" : 1415633904, "lastrecv" : 1415633917, "conntime" : 1415631795, "version" : 60001, "subver" : "/42:0.7.0/", "inbound" : false, "releasetime" : 0, "startingheight" : 467891, "banscore" : 0 }, { "addr" : "86.18.76.197:24242", "services" : "00000001", "lastsend" : 1415633893, "lastrecv" : 1415633904, "conntime" : 1415632325, "version" : 60001, "subver" : "/42:0.7.0/", "inbound" : false, "releasetime" : 0, "startingheight" : 467904, "banscore" : 0 }, { "addr" : "72.78.100.13:24242", "services" : "00000001", "lastsend" : 1415633893, "lastrecv" : 1415633904, "conntime" : 1415632331, "version" : 60001, "subver" : "/42:0.7.0/", "inbound" : false, "releasetime" : 0, "startingheight" : 467905, "banscore" : 0 }, { "addr" : "188.226.171.134:24242", "services" : "00000001", "lastsend" : 1415633893, "lastrecv" : 1415633904, "conntime" : 1415632576, "version" : 60001, "subver" : "/42:0.7.0/", "inbound" : false, "releasetime" : 0, "startingheight" : 467909, "banscore" : 0 }, { "addr" : "76.125.230.79:24242", "services" : "00000001", "lastsend" : 1415633917, "lastrecv" : 1415633871, "conntime" : 1415633801, "version" : 60001, "subver" : "/42:0.7.0/", "inbound" : false, "releasetime" : 0, "startingheight" : 467939, "banscore" : 0 } ]
|
|
|
|
youngwebs
Legendary
Offline
Activity: 1080
Merit: 1055
DEV of DeepOnion community pool
|
|
November 10, 2014, 10:11:27 PM |
|
great got an instant sync with those nodes!
|
|
|
|
funkenstein
Legendary
Offline
Activity: 1066
Merit: 1050
Khazad ai-menu!
|
|
November 12, 2014, 12:56:53 AM |
|
Because there was such an overwhelmingly positive response to my suggestion I went ahead and issued a pull request to master branch at github.com/fortytwo42/42.git Please take a look at my suggested changes: https://github.com/funkshelper/42/commit/66a64695862b6bf570b008e686b91a90e52a41a8For review, as we stand right now we are going to see 42 total coins reached in about 250 days and then we will have more than 42 coins as the rewards keep coming. So long and thanks for all the fish. With my suggested changes we push off the day of 42 coins to 7 years in the future. The reward will slowly drop rather than go cold turkey and who knows, maybe some value will be added to coin in that time as more people are using public currencies. It is more likely the network would survive.
|
|
|
|
BitcoinNational
Legendary
Offline
Activity: 1470
Merit: 1010
Join The Blockchain Revolution In Logistics
|
|
November 12, 2014, 07:07:44 PM |
|
Because there was such an overwhelmingly positive response to my suggestion I went ahead and issued a pull request to master branch at github.com/fortytwo42/42.git Please take a look at my suggested changes: https://github.com/funkshelper/42/commit/66a64695862b6bf570b008e686b91a90e52a41a8For review, as we stand right now we are going to see 42 total coins reached in about 250 days and then we will have more than 42 coins as the rewards keep coming. So long and thanks for all the fish. With my suggested changes we push off the day of 42 coins to 7 years in the future. The reward will slowly drop rather than go cold turkey and who knows, maybe some value will be added to coin in that time as more people are using public currencies. It is more likely the network would survive. yay for the good work! my 0.000042 worth of input: go for fee only post 7 years (cold turkey rewards) say 0.042% fixed fee that makes 42 a store of value (but low transaction) COIN if it is code able you could waive the fee for payments under 0.0001 [42s] thus encourage micro payments and the big boys pay the toll.
|
|
|
|
funkenstein
Legendary
Offline
Activity: 1066
Merit: 1050
Khazad ai-menu!
|
|
November 13, 2014, 12:47:48 AM |
|
yay for the good work!
my 0.000042 worth of input: go for fee only post 7 years (cold turkey rewards) say 0.042% fixed fee
that makes 42 a store of value (but low transaction) COIN
if it is code able you could waive the fee for payments under 0.0001 [42s] thus encourage micro payments and the big boys pay the toll.
Thanks for taking a look and comments! 42coin Dev suggested only stretching it out over ~4 years. I think this is makes more sense, the last few years in my previous proposal had 4 satoshi and 2 satoshi coinbase reward. Kind of pointless hopefully fees will be higher than that. So I changed a few lines in the pull request. Yes fees will continue to support the network after that, good idea and the use them as an excuse for more 42 in the code! Fees need certain minimums based on transaction size in kB to prevent DDOS, which are already in the code (for TX over 500 bytes). Other than that there are no minimum tx fees based on amount of transaction. I didn't mess with fees in this pull request which is just a coinbase reward fix, so, something to think about for the future or take a look yourself and submit a pull request. The only other thing here is I added a file Release.java which is just a simulator for adding up how many coins have been released.
|
|
|
|
Hippie Tech
aka Amenstop
Legendary
Offline
Activity: 1624
Merit: 1001
All cryptos are FIAT digital currency. Do not use.
|
|
November 13, 2014, 02:01:00 AM |
|
I smell a soopy-hendo ! Why the hell would anyone, with any coding talent, want to waste their time with this craptsy inhouse FAIL of a scamcoin ?
|
|
|
|
|
funkenstein
Legendary
Offline
Activity: 1066
Merit: 1050
Khazad ai-menu!
|
|
November 13, 2014, 09:02:05 AM Last edit: November 13, 2014, 09:38:39 AM by funkenstein |
|
I smell a soopy-hendo ! Why the hell would anyone, with any coding talent, want to waste their time with this craptsy inhouse FAIL of a scamcoin ? Good question, thank you! I offer not much time, and not much talent. But still having trouble answering your question It looked completely abandoned. Is there a do-not-resuscitate order?
|
|
|
|
S3MKi
Legendary
Offline
Activity: 1540
Merit: 1016
|
|
November 13, 2014, 09:22:00 AM |
|
from 1600 to 4. i thought coin is dead)))
|
|
|
|
|