Instamining(
defined by me because its not in the dictionary): Launching a coin at low difficulty with the normal block reward and having a weeks worth of blocks mined in 20 minutes leaving only a few lucky miners with a ton of coins while the rest are left with a high difficulty and low amount of coins.
This happens with nearly every new coin launch and it must
STOP.
Here is what normally happens.
A new coin launches called Fcoin.
Miner A has 5mh/s and starts mining Fcoin at launch. It is an instamine. He makes 500,000 coins at a difficulty of 0.002 or less in the span of about 10 minutes. Miner B has 5mh/s and likes the new Fcoin but is finding out about it 30 minutes after launch. He gets on and mines for the next 3 days and mines only 5,000 coins.
All of the Miner B's push Fcoin to an exchange because they think it has promise and that other people will want to buy it.
When it gets to the exchange it gets some cryptocoin buyers attention and they put up multiple Bitcoin buy orders. Some as high as 0.0001btc per coin.
Miner A is a pro and he watches the exchanges like a hawk so of course he notices the minute it goes to an exchange. He then waits until those big buy orders are set up. Then he Dumps all 500,000 Fcoins on the exchange dropping the price to a fraction of what it was.
Miner B misses the boat and feels screwed.
I have seen this same situation happen on atleast 100 coins.
Instamining hurts a coins long term potential and hurts its short term value as well.
The way it should be done.Depending on your block time and difficulty retarget time and % up/down you will have to modify your coin to hit the sweet spot.
Make the first so many coins a minimal block reward, something like 0.0001
This means that the network has time to reach its optimum block time before any blocks pay out and the 0.0001 allows miners to know that they are set up correctly to mine and the pools are working.
This is done by going to the main.cpp file and adding a few lines.
if (nHeight < 1000)
{
nSubsidy = 0.0001 * COIN;
}
In context
static const int64 nDiffChangeTarget = 600000;
int64 static GetBlockValue(int nHeight, int64 nFees)
{
int64 nSubsidy = 40 * COIN;
if (nHeight < 1000)
{
nSubsidy = 0.0001 * COIN;
}
// Subsidy is cut in half every 1051200 blocks, which will occur approximately every 1 year
nSubsidy >>= (nHeight / 1051200);
return nSubsidy + nFees;
}
If every coin that launched followed this procedure I believe that we would not see as many coins becoming just pump&dump right out of the gate.
If you agree with me can I get a HELL YEAH?