Skip to content

Commit 9d60e25

Browse files
committed
Merge #1139: Add statement on transaction relay
0db6c8b Add statement on transaction relay (Pieter Wuille) Pull request description: This publishes the statement on the relation between Bitcoin Core development and transaction relay that has been discussed the past few weeks. Feel free to comment if you'd like to add your name (and what form you prefer, real name/nickname/...) ACKs for top commit: l0rinc: reACK 0db6c8b katesalazar: ACK 0db6c8b fjahr: reACK 0db6c8b brunoerg: reACK 0db6c8b theStack: re-ACK 0db6c8b glozow: reACK 0db6c8b achow101: ACK 0db6c8b Tree-SHA512: 2a1196335632cd639507aa26e6faac054cd45b5ccbf3032eae0f540c2ebbce4375a134db37e6d7c552d6207808745da5aea115eec140b969e338062037dc06fb
2 parents 37ad64f + 0db6c8b commit 9d60e25

File tree

1 file changed

+97
-0
lines changed

1 file changed

+97
-0
lines changed
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
---
2+
title: Bitcoin Core development and transaction relay policy
3+
permalink: /en/2025/06/06/relay-statement/
4+
lang: en
5+
id: en-relay-statement
6+
name: relay-statement
7+
type: posts
8+
layout: post
9+
version: 1
10+
---
11+
12+
We'd like to share our view on the relationship between Bitcoin Core development and transaction relay
13+
policy on the network.
14+
15+
Bitcoin is a network that is defined by its users, who have ultimate freedom in choosing what
16+
software they use (fully-validating or not) and implementing whatever policies they desire. Bitcoin
17+
Core contributors are not in a position to mandate what those are. One way this is reflected is by
18+
our long-running practice of avoiding auto-updating in the software. This means that no entity can
19+
unilaterally push out changes to Bitcoin Core users: changes must be made by users choosing to
20+
adopt new software releases themselves, or if they so desire, different software. Being free to run
21+
any software is the network's primary safeguard against coercion.
22+
23+
As Bitcoin Core developers we also consider it our responsibility to make our software work as
24+
efficiently and reliably as possible for its purpose, namely validating and relaying blocks and
25+
transactions in the Bitcoin peer-to-peer network, so that Bitcoin succeeds as a decentralized digital
26+
currency. With regards to transaction relay, this may include adding policies for denial of service (DoS)
27+
protection and fee assessment, but not blocking relay of transactions that have sustained economic
28+
demand and reliably make it into blocks. The goals of transaction relay include:
29+
30+
* predicting what transactions will be mined (for example for fee estimation or fee bumping, but it
31+
is also the basis for many DoS protection strategies inside of node software);
32+
* speeding up block propagation for the transactions we expect to be mined. Reduced latency helps
33+
prevent large miners from gaining unfair advantages;
34+
* helping miners learn about fee-paying transactions (so they do not need to rely on out-of-band
35+
transaction submission schemes that undermine mining decentralization).
36+
37+
**Knowingly refusing to relay transactions that miners would include in blocks anyway forces users into
38+
alternate communication channels, undermining the above goals.**
39+
40+
It is the case that transaction acceptance rules have been used effectively in the past to
41+
discourage the development of use cases that used block space inefficiently while doing so was very
42+
cheap. However this can only be effective while both users and miners are satisfied with whatever
43+
alternatives exist. When that is no longer the case, and an economically viable use case develops
44+
that would conflict with policy rules, users and miners can directly collaborate to avoid any
45+
external attempt to impose restrictions on their activities. In fact, the ability to do precisely
46+
that is an important aspect of Bitcoin's censorship resistance, and other node software with
47+
preferential peering has also shown that circumventing filters of the vast majority of the nodes
48+
is relatively easy. Given that, we believe it is better for Bitcoin node software to aim to have a
49+
realistic idea of what will end up in the next block, rather than attempting to intervene between
50+
consenting transaction creators and miners in order to discourage activity that is largely harmless
51+
at a technical level.
52+
53+
**This is not endorsing or condoning non-financial data usage, but accepting
54+
that as a censorship-resistant system, Bitcoin can and will be used for use cases not everyone
55+
agrees on.**
56+
57+
While we recognize that this view isn't held universally by all users and developers, it is our
58+
sincere belief that it is in the best interest of Bitcoin and its users, and we hope our users agree.
59+
We will continue to apply our best judgment as developers in aligning transaction acceptance rules
60+
with Bitcoin's long-term health and miners' rational self-interest, including specific
61+
technical reasons such as upgrade safety, efficient block building, and node DoS attacks.
62+
63+
Signed,
64+
65+
(List of contributors who support this letter)
66+
67+
* Andrew Toth
68+
* Antoine Poinsot
69+
* Anthony Towns
70+
* Ava Chow
71+
* b10c
72+
* Bruno Garcia
73+
* David Gumberg
74+
* fjahr
75+
* Gloria Zhao
76+
* Gregory Sanders
77+
* hodlinator
78+
* ismaelsadeeq
79+
* Josie Baker
80+
* kevkevinpal
81+
* l0rinc
82+
* Marco De Leon
83+
* Martin Zumsande
84+
* Matthew Zipkin
85+
* Michael Ford
86+
* Murch
87+
* Niklas Gögge
88+
* pablomartin4btc
89+
* Pieter Wuille
90+
* Pol Espinasa
91+
* Sebastian Falbesoner
92+
* Sergi Delgado
93+
* Stephan Vuylsteke
94+
* TheCharlatan
95+
* Vasil Dimov
96+
* Will Clark
97+
* w0xlt

0 commit comments

Comments
 (0)