Author

Topic: Constant Blockcreation Time (Read 905 times)

member
Activity: 79
Merit: 10
July 14, 2011, 06:02:15 PM
#3
It sounds like a good idea at first blush, but then some problems arise.

Currently, we validate a block by comparing its hash with the current target, and we can perform this work in isolation of the network. We hash the candidate block, and if the result is less than the target, it's valid. This is a single operation performed by everyone virtually simultaneously who get the result almost as-instantly.

By finding "the lowest hash in 10mins" you are performing thousands or millions of comparisons. I have to compare my lowest result with yours. Then we need to compare that lowest one with John's. Then Susan's. This creates a significant amount of work required to validate that the chosen hash is indeed the winner. The moment a crowd member's work can't be performed in isolation, a central authority is required to perform it on their behalf, essentially nullifying the crowd-sourcing altogether.

The main invention of Bitcoin is the blockchain and the crowd-sourced nature of the security it provides. In order to perform crowd-sourced security the environment must meet two prerequisites:
  • A resource that is shared by every member of the crowd
  • A unit of work that every member of the crowd can perform in isolation
Your proposal does not meet the 2nd criteria.

Great initial idea though... I know we'd all love a more steady income Wink

--TE
bji
member
Activity: 112
Merit: 10
July 14, 2011, 01:58:58 PM
#2
Hello!

I have the dream of constant Blockcreationtime and no more Blockfreebreaks of 30 Minuits and more. I think it can be done nearly as Save as Bitcoin.

I have written it down in an Google Document:

https://docs.google.com/document/d/1kW6lERl_GZOGqp-M60V-jDdzdY1xy1dvfjyzJdlzRnE/edit?hl=de

What do you Guys think?
What else problems can you see? Can they be solved? Is it a waste of Time?

To summarize, your proposal is that there are no more difficulty bits; rather than all miners working to produce blocks with a hash that is below a given number, they all work to produce the lowest hash they can within 10 minutes.  Then whoever produced the lowest hash 'wins' and they send out the corresponding block which every other miner accepts in the chain.

Here's how I see it working in practice:

- Miners generate hashes for 9.5 minutes and then all start sending out their hashes ahead of the 10 minute deadline, because nobody wants to be 'late' for the 10 minute deadline, which would likely mean that their hashes would be rejected.
- Some miners miss some messages and so the 'winning' hash is not really well agreed-upon; different subsets of the network believe that the winning hash was different.  So some number of 'winning' blocks get generated by each miner subset that saw a different winner.
- This process repeats itself and the block chain is fragmented endlessly

The thing to realize is that the existing bitcoin difficulty is meant to cause blocks to take on average 10 minutes to generate.  This gives plenty of time for a generated block to propogate before other miners generate their own blocks and the block chain fragments.  With your proposal, the time for blocks to propogate before fragmentation is the time between all of the hashes being sent out and miners deciding that they 'won' and send out blocks.  I feel like this increases the chances of fragmentation greatly.

I think the effect would be the same as a difficulty that resulted in a block being generated on average every minute.  Very frequently multiple miners at the same time would think they have the next block and would send it out, resulting in lots of fragmentation of the block chain.
full member
Activity: 131
Merit: 100
July 13, 2011, 07:35:10 AM
#1
Hello!

I have the dream of constant Blockcreationtime and no more Blockfreebreaks of 30 Minuits and more. I think it can be done nearly as Save as Bitcoin.

I have written it down in an Google Document:

https://docs.google.com/document/d/1kW6lERl_GZOGqp-M60V-jDdzdY1xy1dvfjyzJdlzRnE/edit?hl=de

What do you Guys think?
What else problems can you see? Can they be solved? Is it a waste of Time?
Jump to: