c4n10 (OP)
|
|
May 05, 2013, 09:48:48 PM |
|
With 3 days between now and the release, there are likely to be one or two pools available on the day of release. I will try to set up a p2pool. I hope it isn't such a PITA like CHNcoin.. Ah, here's one now, lol! Can you tell me what specifically was difficult about setting up p2pool for CHNcoin...? If you can let me know I will do best to help avoid those difficulties. The huge orphans rate for everyone. They though that the P2Pool OPs (me included) were scammers, because they didn't get coins. But in reality they just got orphans.. Ah, well CHNCoin used Litecoin's starting difficulty of: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); which seems to be what pretty much everyone else has been using as well. Bitcoin's source has the starting diff as: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); The algo I am currently using is: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 30); So, I hope (in theory) we should be able to skip the whole 10 blocks/sec phase of the release. "Advanced Parallel Crypto eXchange System"
what is that?
this is only another scam coin with nothing new
https://bitcointalk.org/index.php?topic=175875.0This is hardly a scam coin. This is the beginning of a client which will see much development and many changes as I use it as a stepping stone for testing new features for other coins intended for more customized (niche) purposes as well as APCXS.
|
|
|
|
Passion_ltc
|
|
May 05, 2013, 09:52:08 PM |
|
Why don't you let the first 1k Blocks unpaid? So everyone starts mining and everyone has the same chances. int64 static GetBlockValue(int nHeight, int64 nFees) { (...)
if(nHeight < 1000) nSubsidy = 0;
return nSubsidy + nFees; }
|
|
|
|
jimhsu
|
|
May 05, 2013, 10:00:24 PM |
|
Why don't you let the first 1k Blocks unpaid? So everyone starts mining and everyone has the same chances. int64 static GetBlockValue(int nHeight, int64 nFees) { (...)
if(nHeight < 1000) nSubsidy = 0;
return nSubsidy + nFees; } Smallchange implemented this idea, and it worked out pretty well. Starting difficulty should also be adjusted to something like the above.
|
Dans les champs de l'observation le hasard ne favorise que les esprits préparé
|
|
|
c4n10 (OP)
|
|
May 05, 2013, 10:02:39 PM |
|
If your intent is to actually test, then you should do what we did at Freicoin, make self-terminating binaries (a week or so) which you utilize within your development group and do not promote for mass usage. This keeps potentially buggy code out of the hands of unsuspecting users and prevents polluting the public space with testing that really has no business their. If you have some elaborate plan for future developments you don't want your early experiments crowding you out.
Also you seem to be including a lot of 'gimmicks' to promote early miners, inflated early mining, random double and quintuple rewards, these just smell bad and reduce my confidence in it.
Again, I want to test the client in a real-world environment under real-world network stress. All the clients currently available have "potentially buggy code" as they are all considered to be in "beta" as they are all currently still in development and have not reached a "final release" state. Also, as mentioned earlier in the thread, I am re-considering the early adoption bonuses. I originally intended for them to increase the coin's initial popularity to not only test the released re-target algorithm to wild swings, but to help gain network hashing speed to decrease the likelihood of 51% attack on the network by an ltc mining farm owner, but I am putting some thought/reading into other ways to enhance the network's security. Why don't you let the first 1k Blocks unpaid? So everyone starts mining and everyone has the same chances. int64 static GetBlockValue(int nHeight, int64 nFees) { (...)
if(nHeight < 1000) nSubsidy = 0;
return nSubsidy + nFees; } I might do that as well, I had considered doing it when I was editing that part of the code but with the increased starting difficulty it may not be necessary. But I may do it anyway just to give everyone time to get the client downloaded, installed and configured and to also allow the community some time to review the code before rewards begin being distributed.
|
|
|
|
jimhsu
|
|
May 05, 2013, 10:11:00 PM |
|
Is there a way to calculate what the starting difficulty *should* be, based on previous initial mining interest (/q/nethash) and a target starting block interval (i.e. 1 block / 15 sec?) Something like that (with projected block interval clearly stated in launch) would be a reasonably fair launch.
|
Dans les champs de l'observation le hasard ne favorise que les esprits préparé
|
|
|
jimhsu
|
|
May 05, 2013, 10:13:26 PM |
|
Ah, well CHNCoin used Litecoin's starting difficulty of: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); which seems to be what pretty much everyone else has been using as well. Bitcoin's source has the starting diff as: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); The algo I am currently using is: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 30); I'm not coder but ~uint256(0) >> 30 sounds way too close to Litecoin and Bitcoin starting difficulties, something that was acceptable 2 and 4 years ago. Since then hashpower went up by extreme values. If nothing else but for the sake of the test, try starting with Litecoin difficulty 10 or so. There is enough scrypt hashpower out there to rise that to 100+ in matter of days. It would also be a great test for Terracoin-like artificial difficulty halving, in the case that you add it and overestimate hashpower at the begging of test. Considering the fact that this is targeted to be CPU mined, I'd reduce that value (10) considerably. To something below 1 (given the GPU/CPU scrypt efficiency ratio) NVM, wrong coin. There are so many coins that I lost track.
|
Dans les champs de l'observation le hasard ne favorise que les esprits préparé
|
|
|
jimhsu
|
|
May 05, 2013, 10:16:42 PM |
|
Technically though you don't really want such a high starting difficulty if you're hoping for at least some initial interest/hype. Or otherwise make the difficulty adjusting algorithm comparably aggressive. Don't really want to see something like what Terracoin experienced some weeks ago.
|
Dans les champs de l'observation le hasard ne favorise que les esprits préparé
|
|
|
Passion_ltc
|
|
May 05, 2013, 10:25:25 PM |
|
Ah, well CHNCoin used Litecoin's starting difficulty of: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); which seems to be what pretty much everyone else has been using as well. Bitcoin's source has the starting diff as: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); The algo I am currently using is: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 30); I'm not coder but ~uint256(0) >> 30 sounds way too close to Litecoin and Bitcoin starting difficulties, something that was acceptable 2 and 4 years ago. Since then hashpower went up by extreme values. If nothing else but for the sake of the test, try starting with Litecoin difficulty 10 or so. There is enough scrypt hashpower out there to rise that to 100+ in matter of days. It would also be a great test for Terracoin-like artificial difficulty halving, in the case that you add it and overestimate hashpower at the begging of test. Each shift represents *2 or /2. It sounds close but isn't that close. But why am I writing someone who will shout through this forum what a big scam this coin is.
|
|
|
|
c4n10 (OP)
|
|
May 05, 2013, 10:34:20 PM |
|
Ah, well CHNCoin used Litecoin's starting difficulty of: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); which seems to be what pretty much everyone else has been using as well. Bitcoin's source has the starting diff as: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); The algo I am currently using is: static CBigNum bnProofOfWorkLimit(~uint256(0) >> 30); I'm not coder but ~uint256(0) >> 30 sounds way too close to Litecoin and Bitcoin starting difficulties, something that was acceptable 2 and 4 years ago. Since then hashpower went up by extreme values. Well, the litecoin alts coins now have been starting with "~uint256(0) >> 20" and each increment in this number doubles the difficulty (if I am understanding it correctly) and I am using "~uint256(0) >> 30". I will test this setting on the testnet and adjust it until it puts out what I believe to be a fair starting difficulty. Is there a way to calculate what the starting difficulty *should* be, based on previous initial mining interest (/q/nethash) and a target starting block interval (i.e. 1 block / 15 sec?) Something like that (with projected block interval clearly stated in launch) would be a reasonably fair launch.
Well, it's hard to project what initial interest will be in any given client which is why we have the difficulty re-targeting algorithm to adjust the difficulty based on the "interest" being applied. The best solution would be a proper re-targeting algorithm which I will be working on over the next few days. Technically though you don't really want such a high starting difficulty if you're hoping for at least some initial interest/hype. Or otherwise make the difficulty adjusting algorithm comparably aggressive. Don't really want to see something like what Terracoin experienced some weeks ago.
I'm aiming to keep the starting difficulty in a range that is reasonable for mining by everyone. From there I am going to attempt to come up with a re-targeting algorithm that will respond rapidly and maintain flexibility without allowing enough room in flexibility to encourage difficulty attacks by miners with ltc mining farms and botnets.
|
|
|
|
sunsofdust
|
|
May 05, 2013, 10:41:58 PM |
|
This looks interesting. I like to idea of incorporating the random block reward from Junkcoin.
|
|
|
|
markm
Legendary
Offline
Activity: 2996
Merit: 1121
|
|
May 05, 2013, 10:52:04 PM |
|
>> 30 is what I guessed would at least make the initial blocks have enoguh seconds between them that we would be able to start to sell by how much we really needed to shift it for a reasonable starting difficulty.
I did not realise though that bitcoin had >> 32 at start. That was so low than a single CPU in those days could mine it.
So >> 30 one CPU could probably mine it at four times the target speed!
So probably at least >> 32 like bitcoin is needed for sure and realistically a few more shifts too to make up for the fact we have multi-core machines now and GPUs and so on.
From the sound if it litecoin started this whole premine-publicly-at-launch scam, there is no good reason for litecoin's starting difficulty to be less than bitcoin's, in fact they should have made it higher than bitcoin's not lower, to account for improvements in hardware but also to account for there being more than one or two or three people who would mine it.
So litecoin seems to be the originator of the whole scammy-launch crap.
The random rewards is a whole can of worms too.
If the entire random number sequence pre-determined from launch so everyone can compute exactly which blocks will be "lucky" ?
Or is hash of previous lbock or some such thing used?
Each has its own exploits and problems.
Then the high rewards at the start. That is total scam-premining right there. You are basically trying to recruit cohorts to collude with you in pre-mining the coin. Wherever you initially announce it is the den of the crooks who collude with you in pre-mining the coin,
About it being "just a test", we did that with GRouPcoin. People's motivation to participate in the "test" is they get to fill their test-character's test-wallet with coins. When you are done using the chain for your tests, they are left with rich characters well equipped to play whatsoever games characters equipped with lots of coins to play. The coin continues to be used by players to this very day, and they expect it to ultimately serve as a 1000-devcoin coin if only in their games.
So yeah, you can call it a test all you want, but if people invest electricity and attention and time in something don't expect them to just throw all that electricity and attention and time away. It is valuable and even if you choose not to continue to value it so what, walk away if you insist but don't take players' game-currency out of their game-currency wallets once they have some.
Finally, I built testnet-based coins for a bunch of players, and it turned out they would not run as main nets, because their genesis blocks were not difficult enoiugh. Because testnet has 1/16 the difficulty of main net, thus its genesis block was rejected from the outset by the difficulty checker.
So, far from serving as a way to test a blackchain before deploying that blockchain as a main instead of test blockchain, it turned out they were locked in to having to stay with the testnet side of the code instead of the main net side of the code.
(I had made them dual use clients, by replacing bitcoin's testnet with their custom currency, so the same client could be used to run either bitcoin or their custom currency, simply by using the -testnet switch to swich to their custom currency.)
-MarkM-
|
|
|
|
GSnak
|
|
May 05, 2013, 10:59:38 PM |
|
0pticoin is an experimental Litecoin branch and it is intended to be a "sandbox" environment to test building my first alt-coin and is a pre-cursor to my final intended product - the "Advanced Parallel Crypto eXchange System" (APCXS). What is this "APCXS" and why should I participate in this beta test?
|
|
|
|
c4n10 (OP)
|
|
May 05, 2013, 11:04:01 PM |
|
>> 30 is what I guessed would at least make the initial blocks have enoguh seconds between them that we would be able to start to sell by how much we really needed to shift it for a reasonable starting difficulty.
I did not realise though that bitcoin had >> 32 at start. That was so low than a single CPU in those days could mine it.
So >> 30 one CPU could probably mine it at four times the target speed!
So probably at least >> 32 like bitcoin is needed for sure and realistically a few more shifts too to make up for the fact we have multi-core machines now and GPUs and so on.
From the sound if it litecoin started this whole premine-publicly-at-launch scam, there is no good reason for litecoin's starting difficulty to be less than bitcoin's, in fact they should have made it higher than bitcoin's not lower, to account for improvements in hardware but also to account for there being more than one or two or three people who would mine it.
So litecoin seems to be the originator of the whole scammy-launch crap.
The random rewards is a whole can of worms too.
If the entire random number sequence pre-determined from launch so everyone can compute exactly which blocks will be "lucky" ?
Or is hash of previous lbock or some such thing used?
Each has its own exploits and problems.
Then the high rewards at the start. That is total scam-premining right there. You are basically trying to recruit cohorts to collude with you in pre-mining the coin. Wherever you initially announce it is the den of the crooks who collude with you in pre-mining the coin,
About it being "just a test", we did that with GRouPcoin. People's motivation to participate in the "test" is they get to fill their test-character's test-wallet with coins. When you are done using the chain for your tests, they are left with rich characters well equipped to play whatsoever games characters equipped with lots of coins to play. The coin continues to be used by players to this very day, and they expect it to ultimately serve as a 1000-devcoin coin if only in their games.
So yeah, you can call it a test all you want, but if people invest electricity and attention and time in something don't expect them to just throw all that electricity and attention and time away. It is valuable and even if you choose not to continue to value it so what, walk away if you insist but don't take players' game-currency out of their game-currency wallets once they have some.
Finally, I built testnet-based coins for a bunch of players, and it turned out they would not run as main nets, because their genesis blocks were not difficult enoiugh. Because testnet has 1/16 the difficulty of main net, thus its genesis block was rejected from the outset by the difficulty checker.
So, far from serving as a way to test a blackchain before deploying that blockchain as a main instead of test blockchain, it turned out they were locked in to having to stay with the testnet side of the code instead of the main net side of the code.
(I had made them dual use clients, by replacing bitcoin's testnet with their custom currency, so the same client could be used to run either bitcoin or their custom currency, simply by using the -testnet switch to swich to their custom currency.)
-MarkM-
I will experiment with the starting diff algo and post back what I come up with. nHeight is used as the seed for random number generation. And I believe I will remove the first week mining rewards because I agree with what has been said in this thread. I am still going to leave the random chances for increased block rewards as they are small chances and with them being x2 and x5 the base reward of 5 it's not giving out extravagant amounts at frequent intervals but rather a smaller bonus on an infrequent basis. 0pticoin is an experimental Litecoin branch and it is intended to be a "sandbox" environment to test building my first alt-coin and is a pre-cursor to my final intended product - the "Advanced Parallel Crypto eXchange System" (APCXS). What is this "APCXS" and why should I participate in this beta test? I linked to the official dev thread for APCXS earlier in this thread, I will add the link to the OP. Here it is again anyway: https://bitcointalk.org/index.php?topic=175875.0
|
|
|
|
c4n10 (OP)
|
|
May 05, 2013, 11:12:49 PM |
|
0pticoin is an experimental Litecoin branch and it is intended to be a "sandbox" environment to test building my first alt-coin and is a pre-cursor to my final intended product - the "Advanced Parallel Crypto eXchange System" (APCXS). What is this "APCXS" and why should I participate in this beta test? As far as why you should participate is for you to decide. Some possible reasons are: 1. Over time as I add different features for testing before using in other clients there is no telling what this specific chain may evolve into. It may be entertaining to watch. 2. As this coin progresses and gains features, it may become more desirable than other alts, especially as initial interest in the current pump/dump coins dies off and people look for other clients to try. The coin may hold some real-world value at some point as it evolves. 3. If APCXS or any of my other alts I intend to develop become widely adopted then 0pticoin may become highly coveted as that client's pre-cursor. 4. For the lulz. These are just a few suggestions, I'm sure there are others...
|
|
|
|
markm
Legendary
Offline
Activity: 2996
Merit: 1121
|
|
May 06, 2013, 12:13:47 AM |
|
nHeight is used as the seed for random number generation.
Okay, so the entire future of block rewards is pre-determined at launch. As soon as the source code is released, everyone / anyone can compute all the block rewards block by block into the future. So it is not really "random" in an expectation sense, it is merely an announced in the code at launch pre-determined sequence of rewards well known to all miners so they can plan in advance which blocks to hop to this chain for and which to leave to the peons. It has a so called "random distribution" in a statistical sense maybe, but it is totally scheduled in advance, you mightt as well include a list of the first million blocks' rewards with the package to save others the trouble of generating the list themselves. -MarkM-
|
|
|
|
whj
Member
Offline
Activity: 84
Merit: 10
|
|
May 06, 2013, 12:23:12 AM |
|
Too much coin
|
|
|
|
c4n10 (OP)
|
|
May 06, 2013, 12:41:50 AM |
|
nHeight is used as the seed for random number generation.
Okay, so the entire future of block rewards is pre-determined at launch. As soon as the source code is released, everyone / anyone can compute all the block rewards block by block into the future. So it is not really "random" in an expectation sense, it is merely an announced in the code at launch pre-determined sequence of rewards well known to all miners so they can plan in advance which blocks to hop to this chain for and which to leave to the peons. It has a so called "random distribution" in a statistical sense maybe, but it is totally scheduled in advance, you mightt as well include a list of the first million blocks' rewards with the package to save others the trouble of generating the list themselves. -MarkM- ...? nHeight will vary from block to block depending ont he tx's/info contained in each block and when seeded into the random number generation will generate a COMPLETELY random number each time...
|
|
|
|
Impaler
Sr. Member
Offline
Activity: 826
Merit: 250
CryptoTalk.Org - Get Paid for every Post!
|
|
May 06, 2013, 12:50:56 AM |
|
Height is a simple incremented number on each block, it is not random.
You just blew all credibility at being able to develop this or any coin as you don't know how BTC works. I am labeling you a wannabee programmer and advising you to go spend a year or three learning the basics and playing on test net, and advising everyone else to avoid your coin/s until such time as you can demonstrate real understanding.
|
|
|
|
c4n10 (OP)
|
|
May 06, 2013, 06:14:10 AM |
|
Height is a simple incremented number on each block, it is not random.
You just blew all credibility at being able to develop this or any coin as you don't know how BTC works. I am labeling you a wannabee programmer and advising you to go spend a year or three learning the basics and playing on test net, and advising everyone else to avoid your coin/s until such time as you can demonstrate real understanding.
Ok, clearly you missed this entire thread where I said this is my first time forking a coin, it is intended to be for experimental/learning purposes so that I can learn the process of dev'ing a new coin and familiarizing myself with the code and how it works. I don't really care what your opinion of me or my coin is at this point as I am just starting out and the coin is not intended to be a ready-out-of-the-box-final-release version, it is intended to be my playground as I learn and experiment with new code implementations. Label me whatever you want, I could care less.
|
|
|
|
c4n10 (OP)
|
|
May 06, 2013, 06:34:33 AM Last edit: May 06, 2013, 07:16:54 AM by c4n10 |
|
UPDATE:
Changed the seed for random number generation from nHeight to hashMerkleRoot which will ALWAYS be random as IT is randomly generated by the tx info contained in the block (this is what I mistakenly thought "nHeight" was).
Changed the seed for random number generation from nHeight to nTime. I was originally going to use hashMerkleRoot for the seed but there were compatibility issues between using "uint256" and "unsigned int" together. nTime should suffice for random number generation.
|
|
|
|
|