From: Christophe Biocca <christophe.biocca@gmail.com>
To: "Jorge Timón" <jtimon@jtimon.cc>
Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Bitcoin Days Destroyed as block selection heuristic
Date: Fri, 11 Sep 2015 13:18:10 -0400 [thread overview]
Message-ID: <CANOOu=8jT++mX_pTHrEnryJqiw3C+J3mWKL27dEkQh=rO0q_Cg@mail.gmail.com> (raw)
In-Reply-To: <CABm2gDpsJdSDTyvTGNSZXX1+UyAHxTB=ODuy6bJvMj3A9BqhqQ@mail.gmail.com>
It's pretty obvious that Dave is suggesting an alternate tie-breaker:
> It also makes an empty block far less attractive because it is easily replaced, all the way until the next block locks it in.
I do see a problem with the proposal. Right now, when a miner sees a
new block with the most work and there are no ties, it is always a
good idea to build on top of it (unless they're in the middle of
building a private chain, or other pathological cases).
With this new heuristic (assuming it is actually followed by a good
chunk of people), a miner can reasonably know whether or not they can
safely mine a sibling of the block instead. When enough widely
propagated transactions exist, and the block to orphan is small,
there's minimal risk in mining a sibling block instead of a child
block (the only extra risk is in someone else mining a child block
right around the time we suceed in mining a siblish block, where we'll
definitely be orphaned instead of ~50% of the time).
Because the risk can be measured and is sometimes very small, it will
then be profitable for a miner to orphan a small non-empty block and
double-spend some confirmed transactions whenever the block confirming
them is easily replaced. This lowers the security of 1-conf
transactions.
Mind you, that risk doesn't apply if we prefer non-empty blocks to
empty blocks and leave it at that, or only switch if the new block
doesn't double spend transactions in the old one, so it's a fixable
issue.
On 11 September 2015 at 12:32, Jorge Timón
<bitcoin-dev@lists.linuxfoundation.org> wrote:
>
> On Sep 11, 2015 12:27 PM, "Dave Scotese via bitcoin-dev"
> <bitcoin-dev@lists.linuxfoundation.org> wrote:
>>
>> Rather than (promising to, and when they don't actually, at least
>> pretending to) use the first-seen block, I propose that a more sophisticated
>> method of choosing which of two block solutions to accept.
>
> There's already a criterion to chose: the one with more work (in valid
> blocks) on top of it.
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
next prev parent reply other threads:[~2015-09-11 17:18 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-11 16:27 [bitcoin-dev] Bitcoin Days Destroyed as block selection heuristic Dave Scotese
2015-09-11 16:32 ` Jorge Timón
2015-09-11 17:18 ` Christophe Biocca [this message]
2015-09-11 18:37 ` Jorge Timón
2015-09-11 19:06 ` Christophe Biocca
2015-09-11 19:26 ` Dave Scotese
2015-09-11 22:21 ` Vincent Truong
2015-09-12 18:55 ` Dave Scotese
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='CANOOu=8jT++mX_pTHrEnryJqiw3C+J3mWKL27dEkQh=rO0q_Cg@mail.gmail.com' \
--to=christophe.biocca@gmail.com \
--cc=bitcoin-dev@lists.linuxfoundation.org \
--cc=jtimon@jtimon.cc \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
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