Pages:
Author

Topic: Difficulty! Do we really need it? - page 2. (Read 2229 times)

member
Activity: 119
Merit: 112
_copy_improve_
October 14, 2014, 12:36:09 PM
#3
thanks for replying.

Flooding with fake blocks or transactions does not depend on the form of the hash.
What prevents me generating 1000's of fake blocks starting with zeros?

Putting a node to also count bit transitions slows down desired hash generation and may help against ASICs monopoly.

If hash is ok instead of going straight to merkle tree verification you have also check transition count.


[edit]
If counting bit transitions is simpler than hash evaluation then once you have a really 'good' valid block it makes it faster to drop fake blocks
by simple bit transitions counting
hero member
Activity: 672
Merit: 504
a.k.a. gurnec on GitHub
October 14, 2014, 11:54:31 AM
#2
A hash is just a big integer (in this context), there's no need to do something this complicated if all you're after is changing the hash-target scheme to an exactly-one-block-per-unit-time scheme. Just compare the hash's integral values, and the value closest to zero wins.

However do you think it's a good idea for the Bitcoin network to flood itself with one or two hundred fully solved blocks every 10 minutes? How would you implement an anti-DOS scheme to prevent an attacker from flooding the network with thousands or millions of solved-with-low-difficulty blocks?
member
Activity: 119
Merit: 112
_copy_improve_
October 14, 2014, 10:56:54 AM
#1
Currently for a block hash to be accepted (proof of work) should have this form

XXX....YYYYYYYYYYYYYYYYYYYYYYYYYYY.....

where
 X's : Zeros
 Y's : Don't cares actual pattern depends on the difficulty

Difficulty Target  demands at least a minimum number of zero X's.
This requirement does not adapt well with sadden network hash power changes and the time required to find a hash may vary significantly.

We propose a different algorithm as proof of work that adapts well and works without specifying a Difficulty target.

Instead of Y's being don't cares we count the bit changes (0 to 1 transitions) within them.
So we force a block hash to satisfy two contradictory requirements due to the fixed bit length of the hash (256bits)
Counting 0 to 1 transitions a hash could have at max 128 something really rare.

Given two hashes with the same number of transitions the one with the most X's being zero wins.
I exact starting from the left and comparing the hashes bit by bit the first having 0 where the other hash has 1 wins.
(Dominant 0 bit)

How the network develops consciousness?
A) All participating nodes try to maximize hash 0 to 1 transitions
B) At given time intervals nodes publish their best so far
C) A node receiving two or more hashes always prefers the one with most transitions and if equal the one with most dominant 0 bits.
*A node that finds a really rare block and publishes it on time radically improves the security of the network.

This is preliminary work an we would like your comments or suggest similar works from others. Smiley
Pages:
Jump to: