Author

Topic: Mining coins without blocks? (Read 273 times)

full member
Activity: 224
Merit: 117
▲ Portable backup power source for mining.
September 22, 2016, 05:16:31 PM
#1
Bitcoin has a serious issue, the huge amount of work necessary to mine a block makes small-scale mining a lottery. This encourages miners to join mining pools, contributing to centralization. Large mining pools have far too much power over the block chain and may be vulnerable to hacking, corruption and rubber-hose attacks.

One way to fix this is to change the mechanism of mining, instead of having blocks each contain coins, have blocks contain only transaction fees and transactions include a PoW section that add coins to their address. To prevent miners specializing in coins or blocks (which would make the network less robust by reducing the block hash-rate), have the PoW look for coins and blocks simultaneously with different probabilities for each.

As an example, let me present...Dust!

The block-chain is much like the one for Bitcoin, with a few differences:
Each transaction has the following form:

SenderAddress Nuance1 CoinDifficulty Nuance2 Reciever1 Amount1 Reciever2 Amount2 . . . RecieverN-1 AmountN-1 RecieverN AmountN Signature

Now each part:
SenderAddress - The public key of the sender.
Nuance1 - Hash of recent transactions, hash of previous block, block difficulty, block height, ...
DustDifficulty - Set by the miner.
Nuance2 - Iterator, set by the miner.
Signature - A digital signature of the whole thing.
Recievers - Addresses.
Amounts - Self-explanatory, may include miner fees.

If the hash H(SenderAddress Nuance1 DustDifficulty Nuance2) starts with enough zeroes (set by DustDifficulty), the transaction is valid, and the DustDifficulty is added to the funds of the sender before the transaction. In this case, Nuance1 can just be included as a string of bits. Since the value of Nuance1 is irrelevant, the transaction can be submitted at any time and the PoW does not expire (if PoW expiration is desirable, the hash of the previous block can be included outside Nuance1, however, I think that lets large miners bully each-other and small miners). To avoid reuse, miners must keep track of either used PoW's or used addresses.

If the hash H(SenderAddress Nuance1 DustDifficulty Nuance2) starts with enough ones (set by BlockDifficulty), the sender just mined a block, the transactions included in Nuance1 are confirmed, and the Sender gets the fees, however the original transaction is invalid.

If someone wants to send Dust without mining, (s)he can set DustDifficulty=0 and just use an arbitrary string of bits for Nuance1, to avoid keeping track of other transactions or doing PoW (if (s)he just happens to "accidentally" mine a block, it will be invalid).

In this scenario, every "particle" is worth one hash evaluation, hence the name "Dust," so it appears that the price would stabilize at the energy cost of one hash, I am not sure if more scarcity can be practicably enforced.


Pros of Dust over Bitcoin:
-No incentive to pool.
-Anyone can easily make a few particles to play around with.
-Weak scarcity allows use for anti-spam PoW.
-Can be spent painlessly do to ease of manufacture.

Pros of Bitcoin over Dust:
-Scarce.


Can the general idea of separate blocks and coins have any application?

Is Dust practical?

Has anyone thought of this before?
Jump to: