Jump to content

Draft - How to advance proof of work


Recommended Posts

Hi all,

I was thinking the hole night about what would be the easiest way to secure the network.

 

What you think about the following:

If there is no known chain split a block with 6 confirms is considered as final / not reversible. 

All colliding block will be rejected by the node (soft fork).

 

Further it could be advanced like that:

There is no difficulty target anymore that a block must reach.

instead the longest chain is the chain with the most work (not blocks like now).

A node propagates only a block if number of blocks is smaller or equal to number of targetblocks.

With number of target blocks is: (currenttime - timefirstblock) / targetblocktime

 

With this, mining centralization is not that big issue anymore, because the next block is in most cases well known in advance.

Also difficulty jumps / hash attacks are not valid anymore, because there is no difficulty algorithm to attack anymore.

 

Forexample: Lets say the chain has 6 blocks already and targetblocks is 6 currently.

No node will propagate any block build on block 6  until targetblocks reaches 7.

Miners will therefore not try to mine on the last block until targetblocks reaches 7.

Therefore miners will try to replace the last block with an higher proof of work as long as it is economical valid.

In average the blocktime will be therefore perfectly the targetblocktime. No diff alg needed anymore.

With this target blocktime could be reduced to 1 minute or even less.

Block header propagation takes seconds to reach all miners, in most cases the next block will be known long before these seconds.

 

 

Further to make it much more harder to redo blocks time stamp based block weighting could be added as soft fork:

For example:

Each node tracks when he received a block.

The work of each block for considering the longest chain is calculated: donework *  (timesincefirstseen - timelastblock)

Only the last 6 blocks matter, because a block with 6 confirms is seen final (see above).

With this a block that is seen since 2 minutes has double the weight then a block that is seen since one minute.

Normally block headers in Bitcoin reach all mining nodes in seconds, so differences in block timings should not be that big.

 

Summary:

To have a secure block chain not necessarily proof of stake is needed. With the above in place in most cased a block with 6 confirms can never be undone. Blocks are expected to be generated in a perfectly  stable blocktime while at the same time reducing the benefit for miner centralization. Therefore block-time could be reduced drastically so that 6 confs could be reached in minutes and therefore blocks  / transactions be final and secure.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...