public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: "Luke-Jr" <luke@dashjr•org>
To: Mike Koss <mike@coinlab•com>
Cc: Bitcoin Dev <bitcoin-development@lists•sourceforge.net>
Subject: Re: [Bitcoin-development] Defeating the block withholding attack
Date: Tue, 5 Jun 2012 01:05:18 +0000	[thread overview]
Message-ID: <201206050105.21685.luke@dashjr.org> (raw)
In-Reply-To: <CAErK2Cj8hciP2FNtmvCf726gEWdFjO6=W5j4yTCrEYKFtXMKPA@mail.gmail.com>

On Tuesday, June 05, 2012 12:00:25 AM Mike Koss wrote:
> I don't understand how your proposal will work for decentralized pools -
> can you explain it more concretely?
> 
> What would the new block header look like?

For example (just a draft; in reality, merged mining would probably be
             integrated in a hardfork)
 4 bytes: Block version number = 2
31 bytes: Hash of the block 2 back, except for the minimum last 8 bits of zero
 1 byte : Share difficulty (measured in "zero" bits)
 4 bytes: Timestamp
 4 bytes: "Bits" (current target in compact format)
 4 bytes: Nonce

> What is required for a share to to be earned?

The final <share difficulty> bits (minimum 32) of the block header are zero.

> What is required for a block to be valid (added to Block Chain)?

The hash of this block header, concatenated with a valid share candidate for 
the next block header, must hash to a value less than the current target 
offset against the share difficulty (this algorithm may need adjustment).

> I don't think I understand what you mean by NextBlockCandidate.  Perhaps a
> concrete example using difficulty 1.7 million would be instructive.

The first share becomes a block only after a second share is found that 
combined hashes to meet the real difficulty. That second share becomes a block 
when a third is found. Etc.



      reply	other threads:[~2012-06-05  1:05 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-03  0:52 Luke-Jr
     [not found] ` <CACsn0c=+xrVvGMAkPZffpVhRcAc09RuOW7LeOwi0TOD88VbuqQ@mail.gmail.com>
2012-06-03  3:40   ` [Bitcoin-development] Fwd: " Watson Ladd
2012-06-04  1:43 ` [Bitcoin-development] " Peter Vessenes
2012-06-04  2:04   ` Luke-Jr
2012-06-04 20:49     ` Mike Koss
2012-06-04 21:05       ` Luke-Jr
2012-06-05  0:00         ` Mike Koss
2012-06-05  1:05           ` Luke-Jr [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201206050105.21685.luke@dashjr.org \
    --to=luke@dashjr$(echo .)org \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    --cc=mike@coinlab$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox