HomePhabricator

Eliminate TX trickle bypass, sort TX invs for privacy and priority.
f2d3ba73860eUnpublished

Unpublished Commit ยท Learn More

Repository Importing: This repository is still importing.

Description

Eliminate TX trickle bypass, sort TX invs for privacy and priority.

Previously Bitcoin would send 1/4 of transactions out to all peers
instantly. This causes high overhead because it makes >80% of
INVs size 1. Doing so harms privacy, because it limits the
amount of source obscurity a transaction can receive.

These randomized broadcasts also disobeyed transaction dependencies
and required use of the orphan pool. Because the orphan pool is
so small this leads to poor propagation for dependent transactions.

When the bypass wasn't in effect, transactions were sent in the
order they were received. This avoided creating orphans but
undermines privacy fairly significantly.

This commit:
Eliminates the bypass. The bypass is replaced by halving the

average delay for outbound peers.

Sorts candidate transactions for INV by their topological

depth then by their feerate (then hash); removing the
information leakage and providing priority service to
higher fee transactions.

Limits the amount of transactions sent in a single INV to

7tx/sec (and twice that for outbound); this limits the
harm of low fee transaction floods, gives faster relay
service to higher fee transactions. The 7 sounds lower
than it really is because received advertisements need
not be sent, and because the aggregate rate is multipled
by the number of peers.

Details

Provenance
Gregory Maxwell <greg@xiph.org>Authored on Apr 4 2016, 02:36
Pieter Wuille <pieter.wuille@gmail.com>Committed on Apr 20 2016, 08:26
deadalnixPushed on May 14 2017, 22:04
Parents
rABC04a29373571d: Merge #7787: [Moveonly] Create ui_interface.cpp
Branches
Unknown
Tags
Unknown

Event Timeline

Pieter Wuille <pieter.wuille@gmail.com> committed rABCf2d3ba73860e: Eliminate TX trickle bypass, sort TX invs for privacy and priority. (authored by Gregory Maxwell <greg@xiph.org>).Apr 20 2016, 08:26