Skip to content

Commit edd42a4

Browse files
committed
News153: edits to harding sections
1 parent 3ce290f commit edd42a4

File tree

2 files changed

+19
-24
lines changed

2 files changed

+19
-24
lines changed

_posts/en/newsletters/2021-06-16-newsletter.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ type: newsletter
77
layout: newsletter
88
lang: en
99
---
10-
This week's newsletter celebrates the lock in of the taproot soft fork,
10+
This week's newsletter celebrates the lock-in of the taproot soft fork,
1111
describes a draft BIP for improving transaction
1212
privacy by varying the fields used to implement anti fee sniping, and
1313
features an article about the challenges of combining transaction
@@ -23,7 +23,7 @@ software.
2323
[342][bip342] were locked in by signaling miners last weekend.
2424
Taproot will be safe to use after block 709,632, which is expected in
2525
early or mid November. The delay gives time for users to upgrade
26-
their nodes to a release (such as Bitcoin Core 0.21.1) that will
26+
their nodes to a release (such as Bitcoin Core 0.21.1 or later) that will
2727
enforce taproot's rules, ensuring that funds received to taproot
2828
scripts after block 709,632 are safe even if there's a problem with
2929
miners.
@@ -33,8 +33,8 @@ software.
3333
be ready to take advantage of greater efficiency, privacy, and
3434
fungibility as soon as the activation is complete.
3535

36-
Readers celebrating the lock in of taproot may also wish to read a
37-
[short history][wuille taproot] of taproot's origins and history by
36+
Readers celebrating the lock-in of taproot may also wish to read a
37+
[short thread][wuille taproot] about taproot's origins and history by
3838
developer Pieter Wuille.
3939

4040
- **BIP proposed for wallets to set nSequence by default on taproot transactions:**
@@ -114,7 +114,7 @@ BOLTs][bolts repo].*
114114
in Bitcoin Core. The most notable change is the use of the
115115
optimized modular inverse code described in Newsletters [#136][news136
116116
safegcd] and [#146][news146 safegcd]. Performance evaluations posted
117-
to the PR found it to speed up old block verification by about 10%.
117+
to the PR found it accelerated old block verification by about 10%.
118118

119119
- [C-Lightning #4591][] adds support for parsing [bech32m][topic bech32]
120120
addresses. C-Lightning will now permit a peer that has negotiated the feature

_topics/en/fee-sniping.md

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@ honestly mining is `x` percent of the [best feerate set of
6666
transactions][csb] in their mempool.
6767

6868
Alternatively, a miner could dishonestly attempt to re-mine the
69-
immediately previous block plus a wholly new block to extend the
70-
chain. That's fee sniping and their chance of succeeding at it if every
71-
other miner is honest is `(x/(1-x))^2`. Even though fee sniping has a
69+
previous block plus a wholly new block to extend the
70+
chain. This behavior is referred to as fee sniping, and the dishonest
71+
miner's chance of succeeding at it if every
72+
other miner is honest is `(x/(1-x))^2`. Even though fee sniping has an
7273
overall lower probability of success than honest mining, attempting
7374
dishonest mining could be the more profitable choice if transactions in
7475
the previous block paid significantly higher feerates than the
@@ -77,7 +78,7 @@ can be worth more than a large chance at a small amount.
7778

7879
The problem is actually worse than described above because every miner
7980
who chooses to mine dishonestly reduces the number of honest
80-
miners trying to extended the chain. The smaller the share of hash
81+
miners trying to extend the chain. The smaller the share of hash
8182
rate controlled by honest miners, the greater the probability that a
8283
dishonest miner will be successful, so a single large miner
8384
rationally choosing to mine dishonestly can set off a cascade of
@@ -86,10 +87,10 @@ If that persists for an extended period of time, confirmation scores
8687
cease to be a proxy for transaction finality and Bitcoin becomes
8788
unusable until the problem is resolved. We expect the most likely
8889
resolution would be centralization of mining---a cartel representing
89-
a majority of hashrate agreeing to never reorg each others blocks
90+
a majority of hash rate agreeing to never reorg each others' blocks
9091
can restore stability to the system, but that comes with the
91-
increased risk that they'll later choose to (or be pressured into)
92-
censoring certain transactions.
92+
increased risk that they'll later
93+
censor certain transactions.
9394

9495
### Mitigations
9596

@@ -99,7 +100,7 @@ censoring certain transactions.
99100
transactions they know about now and try to put them into the oldest block
100101
they're working to re-mine. All other blocks would be empty, with
101102
miners only creating them to bury their re-mined block under as much
102-
proof-of-work as possible.
103+
proof of work as possible.
103104

104105
{:.center}
105106
![Illustration of fee sniping without block limits](/img/posts/2021-06-sniping-size-limit.png)
@@ -109,7 +110,7 @@ censoring certain transactions.
109110

110111
1. It tends to prevent any new block at the tip of the chain from
111112
containing all pending transactions, leaving some transactions
112-
for the next block. If the amount of transaction fee available
113+
for the next block. If the amount of transaction fee expected
113114
from honestly mining the next block is close to the amount of
114115
transaction fee available from dishonestly re-mining the previous
115116
block, all rational miners will behave honestly.
@@ -119,7 +120,7 @@ censoring certain transactions.
119120
near the tip empty---those blocks will need to contain fee-paying
120121
transactions. Other dishonest miners may attempt themselves to
121122
fee snipe those transactions, reducing the revenue of the initial
122-
fee sniping miner and possible discouraging them from fee sniping
123+
fee sniping miner and possibly discouraging them from fee sniping
123124
in the first place.
124125

125126
- **Rearrangement protection (anti fee sniping):** even with a block size
@@ -149,20 +150,14 @@ censoring certain transactions.
149150

150151
This rearrangement protection is commonly called **anti fee
151152
sniping.** Originally [implemented][bitcoin core #2340] in Bitcoin
152-
Core, anti fee sniping is also used today by Electrum, Blockstream
153-
Green, LND, and C-Lightning.
153+
Core, anti fee sniping is now also used by several other wallets.
154154

155155
All wallets that implement anti fee sniping today use nLockTime
156156
height locks to prevent a transaction from being included in the
157157
re-mined version of a previous block. It's also [possible][belcher
158158
post] to implement the same protection using [BIP68][] nSequence
159-
height locks. This wouldn't be any more effective at preventing fee
160-
sniping, but it would provide a good reason for regular wallets to
161-
set their nSequence values to the same values that are required for
162-
transactions in certain [multisignature][topic multisignature]-based
163-
contract protocols, such as ideas for coinswaps and taproot-enabled
164-
LN. This helps make regular wallet transactions look like contract
165-
protocol transactions and vice versa.
159+
height locks, which could help make regular wallet transactions look
160+
like contract protocol transactions and vice versa.
166161

167162
We're unaware of any developers who think the above mechanisms are a
168163
complete solution to the fee sniping problem, but every other mitigation

0 commit comments

Comments
 (0)