.. _sphx_glr_api_gallery_network_relay:
Block and transaction relay
---------------------------
Announcing instead of flooding, why propagation delay causes forks, compact
blocks, and hiding where a transaction came from.
.. raw:: html
.. thumbnail-parent-div-open
.. raw:: html
.. only:: html
.. image:: /api/gallery/network/relay/images/thumb/sphx_glr_plot_01_inv_getdata_thumb.png
:alt:
:doc:`/api/gallery/network/relay/plot_01_inv_getdata`
.. raw:: html
Announce, then fetch: Bitcoin's inv/getdata relay (Nakamoto 2009)
.. raw:: html
.. only:: html
.. image:: /api/gallery/network/relay/images/thumb/sphx_glr_plot_02_propagation_and_forks_thumb.png
:alt:
:doc:`/api/gallery/network/relay/plot_02_propagation_and_forks`
.. raw:: html
Propagation delay causes forks (Decker and Wattenhofer 2013)
.. raw:: html
.. only:: html
.. image:: /api/gallery/network/relay/images/thumb/sphx_glr_plot_03_compact_blocks_thumb.png
:alt:
:doc:`/api/gallery/network/relay/plot_03_compact_blocks`
.. raw:: html
Compact blocks: send what the peer lacks (Corallo, BIP 152, 2016)
.. raw:: html
.. only:: html
.. image:: /api/gallery/network/relay/images/thumb/sphx_glr_plot_04_dandelion_thumb.png
:alt:
:doc:`/api/gallery/network/relay/plot_04_dandelion`
.. raw:: html
Dandelion: hiding where a transaction came from (Bojja Venkatakrishnan et al. 2017)
.. thumbnail-parent-div-close
.. raw:: html
.. toctree::
:hidden:
/api/gallery/network/relay/plot_01_inv_getdata
/api/gallery/network/relay/plot_02_propagation_and_forks
/api/gallery/network/relay/plot_03_compact_blocks
/api/gallery/network/relay/plot_04_dandelion