public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Arnoud Kouwenhoven - Pukaki Corp <arnoud@pukaki.bz>
To: Matt Corallo <lf-lists@mattcorallo.com>
Cc: Arnoud Kouwenhoven - Pukaki Corp via bitcoin-dev
	<bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Idea: Efficient bitcoin block propagation
Date: Wed, 5 Aug 2015 13:53:52 -0600	[thread overview]
Message-ID: <CALwsPgm6xcBfLXZTNTZ40R_s3oUawE0ANZycDWpSo0cXZ+=-Vg@mail.gmail.com> (raw)
In-Reply-To: <B3546CB9-6A24-474C-8B56-9B1E2D33B470@mattcorallo.com>

[-- Attachment #1: Type: text/plain, Size: 4752 bytes --]

Thanks for the reply. My understanding is that the bitcoin relay network is
a backbone of connected high speed servers to increase the rate at which
transactions and new blocks propagate - and remove a number of delays in
processing. But it would still require the miners to download the entire
block before building on top of it with any degree of confidence. With a
tweak to only send the required information for other miners to build on
top of that block, this is a step towards what we propose, yet would
require trust that the header information sent is accurate. The bitcoin
relay network website states that blocks are not fully verified and should
be checked by the miners before building on top of them.

What we propose is more complex (granted!), yet that complexity serves a
purpose. We reduce (and hopefully eliminate) the adverse incentive to
entice miners to build on inaccurate data. This is achieved by making the
financial losses of fake messages outweigh the financial gains of such
attack vectors. It could also help in the block size debate if this
proposed solution would eliminate the disadvantages of large blocks.

On Wed, Aug 5, 2015 at 1:27 PM, Matt Corallo <lf-lists@mattcorallo.com>
wrote:

> See-also: Bitcoinrelaynetwork.org. It's already in use my the majority of
> large miners, is publicly available to anyone, and the protocol is rather
> simple and the client could be tweaked easily to keep exactly it's block
> ready to quickly relay to the nearest server (ie only have to relay the
> header, the coinbase transaction, and only small other data... Experience
> shows this is really easy to fit into one packet on the wire). It's not
> nearly as complicated as your suggestion, but may still marginally favor
> well-connected miners, but hopefully not much (when you're taking about
> single packets, it should all be latency, and the servers are well
> distributed). If you feel so inclined, there are some todos to make it
> really meet is efficiency limits filled on
> github.com/TheBlueMatt/RelayNode, feel free to rewrite the protocol if
> you really want :).
>
> Matt
>
> On August 5, 2015 9:07:44 PM GMT+02:00, Arnoud Kouwenhoven - Pukaki Corp
> via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>> Hello all.
>>
>> We’d like to share an idea we have to dramatically increase the bitcoin
>> block propagation speed after a new block has been mined for the first time.
>>
>> Efficient bitcoin block propagation
>> A proposed solution to provide near-instantaneous block propagation on
>> the bitcoin network, even with slow network connections or large block
>> sizes. Increasing mining efficiency for everyone while decreasing
>> transaction confirmation times and strengthening the distributed nature of
>> bitcoin.
>>
>> Short summary: we propose to introduce bitcoin-backed guarantees
>> (“Guarantee Messages”) between miners. This would allow miners to mine on
>> blocks that are not yet fully transmitted. This reduces the effect of slow
>> internet connections, leveling the playing field between the 1st world
>> fiberoptic datacenter miners and the rest of the world. We also believe it
>> strengthens the bitcoin network by using existing processing power that is
>> currently wasted into further securing the blockchain, and it reduces the
>> likelihood of transactions becoming confirmed, then unconfirmed and then
>> -hopefully- confirmed again (due to different miners finding competing
>> blocks with different transactions at approx the same time).
>>
>> It is possible to implement our idea as a fork of bitcoind, or as layer
>> between the standard bitcoind and the mining equipment. In the future it
>> could be incorporated in the bitcoin core if and when that becomes a
>> priority, but that step would not make sense until it becomes a priority.
>>
>> There are a lot of nuances in this idea, and the first reaction is quite
>> probably that this is a crazy idea. We have attempted to address the most
>> important nuances in our proposal, which is currently at v.0.2.
>>
>> We cannot guarantee that there are no ‘hidden devils in the details’ and
>> we invite you to be critical in a friendly and constructive manner. We will
>> do our best to answer all questions that arise.
>>
>> The ‘official’ proposal is at:
>> PDF: http://pukaki.bz/efficient-bitcoin-block-propagation-v.0.2.pdf
>> HTML: http://pukaki.bz/efficient-bitcoin-block-propagation-v.0.2.html
>>
>> -- Arnoud Kouwenhoven
>>
>> ------------------------------
>>
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>>

[-- Attachment #2: Type: text/html, Size: 5833 bytes --]

  reply	other threads:[~2015-08-05 19:53 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-05 19:07 [bitcoin-dev] Idea: Efficient bitcoin block propagation Arnoud Kouwenhoven - Pukaki Corp
2015-08-05 19:27 ` Matt Corallo
2015-08-05 19:53   ` Arnoud Kouwenhoven - Pukaki Corp [this message]
2015-08-05 20:16     ` Gregory Maxwell
2015-08-05 21:19       ` Arnoud Kouwenhoven - Pukaki Corp
2015-08-05 22:14         ` Gregory Maxwell
2015-08-06 17:16           ` Sergio Demian Lerner
2015-08-06 17:33             ` Olaoluwa Osuntokun
2015-08-06 18:17             ` Tom Harding
2015-08-06 18:42               ` Gregory Maxwell
2015-08-06 20:50                 ` Matt Corallo
2015-08-06 20:55               ` Matt Corallo
2015-08-06 20:38             ` Matt Corallo
2015-08-07  7:14 ` jl2012

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='CALwsPgm6xcBfLXZTNTZ40R_s3oUawE0ANZycDWpSo0cXZ+=-Vg@mail.gmail.com' \
    --to=arnoud@pukaki.bz \
    --cc=bitcoin-dev@lists.linuxfoundation.org \
    --cc=lf-lists@mattcorallo.com \
    /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