1
0
mirror of https://github.com/bitcoin/bips.git synced 2026-10-19 19:29:18 +00:00

548 Commits

Author SHA1 Message Date
Murch
848dce9a6d Merge pull request #2292 from danielabrozzoni/update_descriptor_bips_to_spec
bip379 to bip390: Update to Specification type
2026-09-22 13:22:13 -07:00
Murch
989df0e893 Merge pull request #1951 from pythcoiner/encrypted_descriptor
BIP138: Compact Encryption Scheme for Non-seed Wallet Data
2026-09-21 13:18:48 -07:00
Daniela Brozzoni
2a20ce4e8e bip390: Update to Specification type 2026-09-17 15:31:24 +02:00
Daniela Brozzoni
c2c39e02f3 bip389: Update to Specification type 2026-09-17 15:31:24 +02:00
Daniela Brozzoni
3ac7c77174 bip387: Update to Specification type 2026-09-17 15:31:24 +02:00
Daniela Brozzoni
9d735fb36f bip386: Update to Specification type 2026-09-17 15:31:24 +02:00
Daniela Brozzoni
4b63b2eb99 bip385: Update to Specification type 2026-09-17 15:31:24 +02:00
Daniela Brozzoni
2490324891 bip384: Update to Specification type 2026-09-17 15:31:24 +02:00
Daniela Brozzoni
803c984919 bip383: Update to Specification type 2026-09-17 15:31:24 +02:00
Daniela Brozzoni
a31ee298c4 bip382: Update to Specification type 2026-09-17 15:31:24 +02:00
Daniela Brozzoni
66dbdb4710 bip381: Update to Specification type 2026-09-17 15:31:24 +02:00
Daniela Brozzoni
93607da01d bip380: Update to Specification type 2026-09-17 15:31:20 +02:00
Daniela Brozzoni
12e5a9ffdf bip379: Update to Specification type 2026-09-17 15:31:16 +02:00
Liam Gilligan
b24f038c78 Add BIP: Deterministic ECDSA Signatures
BIP specifying how to deterministically produce
valid ECDSA signatures using low-r grinding and
low-s normalization with RFC 6979.
2026-09-16 11:27:52 -07:00
pseudoramdom
8aacefed18 Add BIP-332: Stale Tip Relay 2026-09-09 12:12:14 -07:00
Murch
c2008a0663 Merge pull request #2215 from murchandamus/bip351-close
bip351: close due to lack of activity
2026-08-19 13:17:39 -07:00
Jurvis Tan
b7bf6dda11 docs: advance bip89 to deployed 2026-08-12 21:09:47 -07:00
Jon Atack
e4c6bbc099 bip110: update status to closed 2026-08-10 14:04:09 -06:00
Murch
1766568df5 bip8: Advance to Complete 2026-08-03 15:38:59 -07:00
Murch
fc8da69601 Merge pull request #2214 from murchandamus/bip47-touch-ups
bip47: 
- Change BIP type from Informational to Specification
- Move "recent changes" from above preamble to Changelog section
- Drop Comments headers from Preamble
2026-07-23 12:30:54 -07:00
Murch
583d925f1a bip47: Update to Specification type 2026-07-23 12:19:22 -07:00
Murch
ed092693c1 bip351: Move to Closed 2026-07-22 15:57:34 -07:00
Murch
2ccd5bf7dc bip351: Update to Specification type 2026-07-22 15:53:20 -07:00
Murch
56cb3cea9d BIP179: Advance to Complete 2026-07-22 14:41:04 -07:00
pythcoiner
f79d0862b8 bip138: address review 2026-07-16 02:19:27 -04:00
Jon Atack
f078d4f5ff Merge pull request #2201 from dathonohm/bip110-complete
BIP-110: advance to Complete status
2026-06-28 13:34:28 -07:00
Jon Atack
b9883fbb4b Merge pull request #2196 from fjahr/bip-t5-draft
BIP95: Testnet 5
2026-06-25 14:40:45 -07:00
Fabian Jahr
c134c7db55 BIP95: Testnet 5 2026-06-25 23:30:46 +02:00
Dathon Ohm
f952fd1fc0 BIP-110: advance to Complete status; emphasize UTXO grandfathering; restore OP_IF byte-saving note 2026-06-24 15:56:24 -06:00
Jon Atack
861e235e93 Merge pull request #2165 from murchandamus/bip52-closed
bip52: Update to Closed
2026-06-19 12:13:55 -07:00
Murch
4894bcc4eb bip52: Update to Closed
This proposal appears abandoned, as it has not had any updates in over
four years, and cursory search did not produce any public discussions of
it since it was published either. Attempts to contact the authors did
not receive a response within four weeks.
2026-06-18 21:11:57 -07:00
Anthony Towns
b14d7c34e5 BIP-434: Add reference implementation, bump to 1.0.0, mark complete 2026-06-11 23:47:57 +10:00
Shinobi
b69b8fef21 bip343: change status from deployed to closed (#2187)
* Update bip-0343.mediawiki

As a co-author I would like to move this BIP's status to Closed due to its current irrelevance and lack of any known deployments on the network. 

If I could I would delete it fully, or better yet go back in time to prevent it from being written.

* bip343: Fix table entry for move to Closed

* bip343: Record Close reason

---------

Co-authored-by: Murch <murch@murch.one>
2026-06-01 17:56:45 -07:00
Jon Atack
42dc3270db Merge pull request #2168 from stevenroose/complete-127
BIP-0127: Prune some unfinished part and mark complete
2026-06-01 13:31:48 -07:00
Jeremy Rubin
76d434e5fc BIP449: OP_TWEAKADD (#1944)
* BIP: OP_TWEAKADD

* BIP TweakAdd: note on commutativity of tweaking and add test cases

* BIP TweakAdd: Invert Argument Order

* BIP Tweakadd: fix typo & add note on even-y tweaking

* BIP TweakAdd -- add mailing list discussion

* BIP TweakAdd: Add Alpen and MATT mentions

* BIP TweakAdd Formatting Edits

* BIP TWEAKADD remove conventions section

* BIP TWEAKADD formatting fix

* BIP TWEAKADD Move Vectors to end

* BIP TweakAdd: Condense compatibility section

* [BIP-0449] Updates post assignemnt

* [BIP-0449] Normalize Metadata

* Update bip-0449.md Link Text to point to OP of ML Thread
2026-05-23 07:03:53 -07:00
Antoine Poinsot
c47655654c bip-0054: move to complete 2026-05-22 13:53:51 -04:00
Murch
6d95a22232 bip176: Advance to Complete (#2169) 2026-05-21 08:35:25 -07:00
Jon Atack
6a36c4d8b6 Merge pull request #2164 from murchandamus/bip38-deployed
bip38: Advance to Deployed
2026-05-21 08:25:41 -07:00
Steven Roose
ce477589c8 bip-127: Mark complete 2026-05-21 08:00:21 -07:00
Murch
e872e76a3f bip78: Advance to Deployed
According to the BIP78 itself, there are multiple projects that have
implemented support for this proposal on mainnet:
https://github.com/bitcoin/bips/blob/master/bip-0078.mediawiki#implementations
2026-05-20 15:49:09 -07:00
Murch
885c7062cd bip38: Advance to Deployed 2026-05-20 15:00:19 -07:00
Yuri S Villas Boas
d293ae1a10 BIP450: Formosa—Seed Encoding per Themed Mnemonic Stories (#2108)
* Formosa as BIP

Mnemonic *sentences* instead of words proposed as forwards- and backwards-compatible expansion to BIP39, itself as Bitcoin Improvement Proposal.

* Update bip.mediawiki

Co-authored-by: Mark "Murch" Erhardt <murch@murch.one>

* Update bip.mediawiki

Satisfying requirement of title in fewer than 50 characters.

* Formosa: address PR #2108 review feedback

Restructure the draft to follow BIP-3 conventions and resolve the issues
raised by reviewers in https://github.com/bitcoin/bips/pull/2108:

- Introduce explicit Specification section with a Terminology subsection
  that distinguishes 'word', 'category', 'theme', 'sentence' and
  'mnemonic' / 'mnemonic story', removing the ambiguity of using
  'sentence' at two different scales.
- Replace the unclear 'if the category is led by another category'
  wording with an explicit LED_BY field description and a step-by-step
  algorithm that covers both the leaderless and led cases.
- Reflow the theme-property list (previously a/b/c/d/e split by an
  intervening paragraph) into a single numbered list so it renders as a
  list rather than as code blocks.
- Add a dedicated Rationale section covering the 33-bit sentence size,
  themed sentences, free-form theme schema, the LED_BY mechanism, the
  re-encoding-through-BIP-39 design, and why custom themes are
  discouraged.
- Add a dedicated Backwards Compatibility section describing
  compatibility at the mnemonic, entropy, and seed levels.
- Add a worked Example section showing a 128-bit entropy being encoded
  into a 4-sentence mnemonic story under a small illustrative theme,
  including bit splitting, FILLING_ORDER vs NATURAL_ORDER, and the
  LED_BY lookup.
- Tighten the Abstract and Motivation; clarify that BIP-39 is itself a
  Formosa theme.

* Formosa: spell out abbreviated table labels

Reviewer on PR #2108 asked for no abbreviations in table labels. Replace:

- ENT / CS / S / MS column headers with 'Initial entropy bits',
  'Checksum bits', 'Total bits', 'Number of sentences', 'Mnemonic
  words (6-word theme)' and 'Mnemonic words (BIP-0039)'.
- 'List size / Bits / Chars to identify / Density (bits/char)' with
  'Wordlist size / Bits per word / Characters to identify / Density
  (bits per character)'.
- ADJ. with ADJECTIVE in the example bit-assignment diagram, and the
  surrounding narrative ENT/MS uses with the spelled-out forms.

The accompanying formulas now use the expanded names too, so the
algorithm description and the table column headers stay consistent.

* Formosa: rebuild Example on the real medieval_fantasy theme

Replace the previous hypothetical 5-category example with one that
mirrors the medieval_fantasy theme actually shipped at
https://github.com/Yuri-SVB/formosa/tree/master/src/mnemonic/themes,
including:

- the real 6 categories with their actual BIT_LENGTHs
  (VERB=5, SUBJECT=6, OBJECT=6, ADJECTIVE=5, WILDCARD=6, PLACE=5,
  summing to 33);
- the real FILLING_ORDER and NATURAL_ORDER;
- the real lead tree (VERB → SUBJECT; SUBJECT → OBJECT and WILDCARD;
  OBJECT → ADJECTIVE; WILDCARD → PLACE), showing that a single
  leader can have several dependent categories;
- a 33-bit block whose decoded indices (28, 32, 63, 27, 46, 29)
  pick existing words and existing sub-list entries: VERB[28]
  =unveil, SUBJECT_under_unveil[32]=king, OBJECT_under_king[63]
  =wine, ADJECTIVE_under_wine[27]=sweet, WILDCARD_under_king[46]
  =queen, PLACE_under_queen[29]=throne_room, yielding the sentence
  'king unveil sweet wine queen throne_room'.

This keeps the worked example faithful to the reference
implementation rather than to a fabricated theme, so that anyone can
reproduce the encoding by parsing medieval_fantasy.json.

* Formosa: explain LED_BY as a primitive next-word predictor

Add a paragraph to the LED_BY rationale clarifying that a Formosa theme
behaves as a primitive language model (next-word predictor): each LED_BY relation
skews the conditional distribution over the next word so that probability
mass falls only on the 2^BIT_LENGTH words compatible with the already-
chosen leader, and zero elsewhere. The theme designer plays the role of
training data, hand-curating which combinations are semantically coherent.
This framing makes explicit why themes produce sentences that 'sound right'
while still covering all 2^33 bit patterns of a sentence.

* Cite the companion project Mooncake (https://github.com/T3-Infosec/mooncake)
which builds on this property by rendering each Formosa category as an
on-screen table whose rows and columns are permuted per input session.

Combined with the randomized-indexation property,
an attacker watching only the screen still learns nothing without also
recovering the press sequence.

Add a Rationale paragraph explaining a further benefit of splitting the
vocabulary into several short wordlists (32-128 entries each): such tables
fit on a mobile-device screen and admit input via on-screen lookup, which
a single 2048-word list does not.

The randomized indexation:

- defeats pure key-logging (keystrokes alone don't reveal words; the
  attacker also needs the session permutation),
- raises the bar for shoulder surfing (same as key-logging: only keys
  AND session's permutation suffice. Either alone is uniformative).

This gives an operational, security-focused argument for the
many-small-lists design that complements the existing memorization and
information-density arguments.

Formosa: document Mooncake's volume-key input on mobile

Add a paragraph to the Mooncake rationale describing the proposed mobile
input mechanism: reuse of the volume-up / volume-down keys as a two-button
binary selector. Because every Formosa category is sized 2^BIT_LENGTH and
the on-screen table is laid out in rows, sub-rows and columns whose counts
are powers of two, narrowing to a single cell takes exactly BIT_LENGTH
presses (5 for a 32-entry category, 6 for 64, 7 for 128). The per-category
press count is invariant therefore uninformative, and equal to the bits of
entropy encoded, and the 'one bit per press' bound matches the existing
side-channel argument.

Add three concrete reasons why volume-key input on mobile resists visual

shoulder surfing better than an on-screen keyboard:

- Subtler input motions: a single finger pressing a side rocker, much
  harder to read from a distance than multi-finger taps on a glass
  keyboard.
- Easy occlusion with the second hand: both volume keys are on one edge
  of the device, so the free hand (or the holding hand's thumb) can
  cover them without obscuring the screen for the user.
- Pocket input via headphone volume buttons: because the protocol is
  purely binary, headphone volume controls are sufficient, letting the
  user keep the buttons in a pocket while operating it by feel and
  removing the input motion from the observer's field of view entirely.

* Update bip.mediawiki

Fixed typo from "dektop"  to "desktop"
Fixed agreement of number from "Those of a mobile device" to "Those of mobile devices"

* Update bip.mediawiki

Substituted triple hyphen for —

Co-authored-by: Murch <murch@murch.one>

* Update bip.mediawiki

Updated title to mention Formosa and be more self-explanatory.

Co-authored-by: Murch <murch@murch.one>

* renamed bip.mediawiki to bip-0450.mediawiki
added 450 to BIP number in preamble
added assigned date to 2023-05-02 (date of first mention in email group) in preamble
added correspondent entry on README.md table

* fixed assignment dated
shortened title

* BIP-450: fix CI lint failures (field order + README filename)

Two issues caused Build-Table-Checks and Diff-Checks to fail on PR #2108:

1. Preamble field order: scripts/buildtable.pl enforces @FieldOrder
   (...License, Discussion, ..., Requires...). The preamble had Requires
   before Discussion, causing buildtable.pl to die "Field order is
   incorrect", which fails Build-Table-Checks and cascades into
   Diff-Checks. Moved the Discussion block above Requires.

2. README table row referenced bip-0450.md, but the file is
   bip-0450.mediawiki. buildtable.pl emits the .mediawiki name, so the
   README row never matched the generated table and Diff-Checks failed.
   Corrected the link target to bip-0450.mediawiki.

Verified locally: buildtable.pl exits 0, diffcheck.sh reports "README
table matches expected table from BIP files", link-format-chk.sh passes.

* bip450: Add dates to discussion header
2026-05-20 12:51:22 -07:00
Murch
6deafd07ff Merge pull request #2155 from guggero/bip-0322-follow-up
BIP-0322: polishing follow-up
2026-05-14 05:26:27 -07:00
Oli
ad0e02f746 BIP-0322: change role to author, add required BIPs 2026-05-13 12:49:04 +02:00
Matt Corallo
622e47722c Add BIP323: 24 nVersion bits for general purpose use (#2116) 2026-05-12 16:06:55 -07:00
Murch
e9858e8bbe Assign BIP138 2026-05-11 13:09:20 -07:00
Jon Atack
9fce983a96 Merge pull request #2141 from guggero/bip-0322-finalization
BIP-0322: clarify motivation/purpose, add prefix, clarify Proof of Funds format, describe PSBT based signing
2026-05-07 20:13:01 -07:00
Oli
40dc3e1a19 README+BIP-0322: add changelog, mark Complete 2026-05-06 12:20:12 +02:00
bubb1es71
2cf4272948 BIP451: Dust UTXO Disposal Protocol (#2150)
* Add draft BIP for dust utxo disposal protocol

* Assign number 451, update preamble, rename BIP file, and add entry to README table

* Small edits

* Change title, abstract, motivation to focus on dust attack UTXOs
* Simpify dust selection section
* Add batching to address consolidation rules
* Fix core version in privacy preservation
* Fix table units

* Add confirmed utxo rationale

* Revert title back to original

* Change output to always be OP_RETURN ash
2026-05-06 09:22:45 +02:00
SeedHammer
9eb67f5764 Merge pull request #1548 from seedhammer/master
BIP391: Binary Output Descriptors
2026-04-23 11:17:01 -07:00