Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id C25119C for ; Wed, 5 Aug 2015 19:27:29 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail.bluematt.me (mail.bluematt.me [192.241.179.72]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id DF9D612A for ; Wed, 5 Aug 2015 19:27:28 +0000 (UTC) Received: from [100.174.56.104] (unknown [172.56.6.127]) by mail.bluematt.me (Postfix) with ESMTPSA id AA7654002D; Wed, 5 Aug 2015 19:27:26 +0000 (UTC) In-Reply-To: References: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----YAFYG2SPCM894MDK1IP4P60M9EBJKW" Content-Transfer-Encoding: 8bit From: Matt Corallo Date: Wed, 05 Aug 2015 19:27:22 +0000 To: Arnoud Kouwenhoven - Pukaki Corp , Arnoud Kouwenhoven - Pukaki Corp via bitcoin-dev , bitcoin-dev@lists.linuxfoundation.org Message-ID: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,HTML_MESSAGE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] Idea: Efficient bitcoin block propagation X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Aug 2015 19:27:29 -0000 ------YAFYG2SPCM894MDK1IP4P60M9EBJKW Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 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 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 ------YAFYG2SPCM894MDK1IP4P60M9EBJKW Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit 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 wan t :).

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 currentl y 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
------YAFYG2SPCM894MDK1IP4P60M9EBJKW--