This cryptocurrency combines features from Bitcoin and my previous invention, Dust.
Each lump attempt (iterated by miners) has the following form:
MinerAddress Difficulty BlobFee PreviousBlockHash Counters HashRoot Iterator
MinerAddress - Self explanatory.
Difficulty - Set by network (I don't know exactly how this works).
PreviousBlockHash - Self explanatory.
Counters - Blockhight and LumpNumber.
HashRoot - Hash of recent transactions and blobs.
Iterator - Self explanatory.
For the lump to be valid, the first bits of the hash H(MinerAddress Difficulty PreviousBlockHash HashRoot Iterator) must pass the Difficulty.
The last four bits of the hash determine whether the the lump is a block (if they are 0000) or a blob otherwise.
Blobs are added to the block chain, (with the HashRoot included simply as a string of bits) and do not conflict with each-other, multiple blobs can sit side-by-side in the block chain, each of them confirming the previous block.
Blocks are added to the block chain, they confirm (and contain) the recent transactions (transactions are no different from bitcoin transactions) and recent blobs.
If the Difficulty is set to yield blocks every 600s (on avarage), blobs are created (on avarage) every 40s and lumps (both blocks and blobs) every 37.5s.
Each lump yields a quantity R of lumpcoin, this changes over time but is the same for blocks and blobs, in addition, blocks collect transaction fees and blob fees.
Honest miners determine where to mine by selecting the chain with the most PoW (blocks have somewhat more weight) and try to include recent blobs. If everyone else does this, there is nothing to be gained by defecting, since (even without blob fees) including recent blobs benefits the miner by reducing the risk of a block being orphaned (it makes no difference for blobs, blocks can still be orphaned if several blobs are found before word of the block gets around, this can be fixed by giving more weight to blocks in choosing where to mine). Mining from blocks that are to be orphaned in the aforementioned manner is also stupid, since both blocks and blobs may be orphaned.
This system has some advantages over standard Bitcoin (the most obvious is finer distribution of coins) but more important is finer distribution of confirmation.
Assume, for now, that the block to blob weight ratio is 1+, (same weight, block wins in a tie, fresh block can be orphaned by 2 quick blobs, different ratios may be better).
Imagine Alice owns a coffee shop, Eve, who controls 10% of mining power, walks in and asks for a cup of coffee. She pays Alice with Bitcoin and Alice serves her the coffee after 2 confirmations (about 1200s). To reverse the transaction, Eve has to mine to catch up with the network, she is behind by 2 blocks (the math may not be right, I hope I can still get the point across), the chances of this are on the order of 1% (source: guess).
Now imagine Eve pays with Lumpcoin, as before, Alice waits about 1200s and about two blocks are mined. However, there are about 15 blobs in the second block, and all of them confirm the transaction. To reverse this, Eve has to catch up by 18 blobs, 1 block and 17 blobs, 2 blocks and at least 15 blobs, 3 blocks and 14 blobs, 4 blocks and 13 blobs, et cetera. In any case, she is behind by at least 17 PoW's and the rest of the network is chugging one out every 41.67s.
If the ratio is 2+ (3 quick blobs to orphan), Eve has to catch up by 20 blobs, 1 block and 18 blobs, 2 blocks and at least 15 blobs, 3 blocks and 13 blobs, 4 blocks and 11 blobs, 5 blocks and 9 blobs, 6 blocks and 7 blobs, 7 blocks and 5 blobs, 8 blocks and 3 blobs, 9 blocks and 1 blob or 10 blocks. However, options closer to the end of the list are increasingly unlikely and, in even the unlikeliest cases, she is still behind by 10PoW's.
You may ask what advantages this has over mining blocks more often (lower difficulty), the answer is that in, for example, DOGE, each block conflicts with parallel blocks and the result is a highly branched block chain, in Lumpcoin, blocks conflict with each other and, to an extent, with lumps, but lumps do not conflict with each other.
The lump string may also contain a block counter and a total lump counter. The lump reward R can be 1 lumpcoin for the first lump, 0.5 for the next 2, 0.25 for the next 4, 0.125 for the next 8, et cetera, thus maintaining relative scarcity while maintaining non-zero lump rewards to the end of time. To order lumps in one block, the block can come before the blobs and the blobs ordered by hash value.
Some things I am not clear on:
What prevents a miner from gaining more weight for his/her lumps without significantly changing difficulty (Bitcoin also has this issue?) by increasing the difficulty very slightly?
How is difficulty set in the first place?
What value is best for the fraction of lumps that are blocks?
What weight ratio is best? 1+? 2+? 16?
One issue I see is that a malicious miner may mine blobs and release them right after a block is mined, just to disrupt the network, is this a problem?