Hardware-dependent block difficulty?

1

Is it possible to make block production difficulty not the same for every node, but automatically adjusting to the node's hardware speed? For example, node A and node B are both trying to solve for their next blocks, node A's hardware speed is twice that of B's. Their client software detect their hardware speeds and adjust the difficulty in such a way that B's next block's difficulty is only half that of A's. Is this possible?

Danny

Posted 2018-06-27T07:25:05.167

Reputation: 93

Answers

1

No, difficulty is a network-wide consensus rule. POW mining helps solve the issue of sybil attacks, whereas your idea opens up mining to sybil attacks:

Your idea would create a level playing field for all devices (regardless of computing power), so if I want to expand my mining operation, I would just want to run thousands of mining nodes. Hardware doesn't matter, so I could just use cheap computers, or better yet, a botnet. The more nodes I can make, the better!

Additionally, how can you be sure nodes aren't lying about the hashrate available to them? How can you be sure a user hasn't rewritten the source code of their client to artificially lower the difficulty? Etc.

chytrik

Posted 2018-06-27T07:25:05.167

Reputation: 10 276

Good point. Forgot that POW also guards against Sybil attack by simply requiring energy cost. However, couldn't we try to alleviate Sybil attack through other means? I foresee two possible ways: a) Requiring every node to have validated a minimal number of transactions before being eligible to mine; b) Each node must submit coins with a minimal amount of coin days in order to be eligible to mine.Danny 2018-06-27T08:30:27.287

The general idea is to shift he cost from energy consumption to somewhere else, something that is roughly equal for everyone, like real work done, time etc.Danny 2018-06-27T08:40:28.647