HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
bitcoin
bips
Wikitext2013–2026
bitcoin / bips

bips

Bitcoin Improvement Proposals

104Distinct people
124Mentions
0Explicit recommenders
11KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Bitcoin Improvement Proposals

GitHub

Where it is used

  • Ledger Wallet (Ledger Live) — Ledger Wallet uses the BIP32, BIP39 and BIP44 standards to manage seeds and derivation paths for generating keys and addresses. Source

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 3:30:57 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year124 dated mentions

Observed mentions: 2013-12-10 19:15:46 UTC to 2026-09-13 15:23:25 UTC.

0510152013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 9 mentions; 0 submissions, 9 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 12 mentions; 1 submissions, 11 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 15 mentions; 0 submissions, 15 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 17 mentions; 0 submissions, 17 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 13 mentions; 0 submissions, 13 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC303
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC1019
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC808
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC909
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC12111
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC1019
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC707
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC15015
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC17017
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC13013
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC606
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC716
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC312
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC413

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
People wishing to submit a BIP should first describe their idea to the bitcoindev@googlegroups.com mailing list to gather feedback on viability and community interest before working on a formal description. Please open a pull request to this repository only when substantial progress on the draft has been made, preferably when the draft is nearing completion. Authors do not assign a number to their own proposal. After a proposal meets the editorial criteria, a BIP Editor will assign a number to it and publish the proposal by merging the pull request to the repository. Please see BIP 3: Updated BIP Process for the full process. The BIPs repository serves as a publication medium and archive. Having a BIP published here indicates that the proposal is in scope and has met other formal criteria for this repository, but does not indicate that it is a good idea, has community consensus, or that it is about to be adopted. The BIP Editors are expected to be liberal with publishing BIPs and to try not to be too involved in decision-making on behalf of the community. Beyond the formal criteria, evaluation of the proposals is left to the audience of the repository. When a proposal is controversial and it cannot be agreed upon whether it should be published, the conservative option will always be preferred: the proposal will be closed. Those proposing and opposing changes should consider that ultimately acceptance and adoption rests with the Bitcoin users (see also: economic majority). Number Layer Title Owner Type Status 1 BIP Purpose and Guidelines Amir Taaki Process Closed 2 BIP process, revised Luke Dashjr Process Closed 3 Updated BIP Process Murch Process Deployed 8 Version bits with lock-in by height Shaolin Fry, Luke Dashjr Informational Complete 9 Version bits with timeout and delay Pieter Wuille, Peter Todd, Greg Maxwell, Rusty Russell Informational Deployed 10 Applications Multi-Sig Transaction Distribution Alan Reiner Informational Closed 11 Applications M-of-N Standard Transactions Gavin Andresen Specification Deployed 12 Consensus (soft fork) OP_EVAL Gavin Andresen Specification Closed 13 Applications Address Format for pay-to-script-hash Gavin Andresen Specification Deployed 14 Peer Services Protocol Version and User Agent Amir Taaki, Patrick Strateman Specification Deployed 15 Applications Aliases Amir Taaki Specification Closed 16 Consensus (soft fork) Pay to Script Hash Gavin Andresen Specification Deployed 17 Consensus (soft fork) OP_CHECKHASHVERIFY (CHV) Luke Dashjr Specification Closed 18 Consensus (soft fork) hashScriptCheck Luke Dashjr Specification Complete 19 Applications M-of-N Standard Transactions (Low SigOp) Luke Dashjr Specification Closed 20 Applications URI Scheme Luke Dashjr Specification Closed 21 Applications URI Scheme Nils Schneider, Matt Corallo Specification Closed 22 API/RPC getblocktemplate - Fundamentals Luke Dashjr Specification Deployed 23 API/RPC getblocktemplate - Pooled Mining Luke Dashjr Specification Deployed 30 Consensus (soft fork) Duplicate transactions Pieter Wuille Specification Deployed 31 Peer Services Pong message Mike Hearn Specification Deployed 32 Applications Hierarchical Deterministic Wallets Pieter Wuille Informational Deployed 33 Peer Services Stratized Nodes Amir Taaki Specification Closed 34 Consensus (soft fork) Block v2, Height in Coinbase Gavin Andresen Specification Deployed 35 Peer Services mempool message Jeff Garzik Specification Deployed 36 Peer Services Custom Services Stefan Thomas Specification Closed 37 Peer Services Connection Bloom filtering Mike Hearn, Matt Corallo Specification Deployed 38 Applications Passphrase-protected private key Mike Caldwell, Aaron Voisine Specification Deployed 39 Applications Mnemonic code for generating deterministic keys Marek Palatinus, Pavol Rusnak, Aaron Voisine, Sean Bowe Specification Deployed 40 API/RPC Stratum wire protocol Marek Palatinus Standard BIP number allocated 41 API/RPC Stratum mining protocol Marek Palatinus Standard BIP number allocated 42 Consensus (soft fork) A finite monetary supply for Bitcoin Pieter Wuille Specification Deployed 43 Applications Purpose Field for Deterministic Wallets Marek Palatinus, Pavol Rusnak Specification Deployed 44 Applications Multi-Account Hierarchy for Deterministic Wallets Marek Palatinus, Pavol Rusnak Specification Deployed 45 Applications Structure for Deterministic P2SH Multisignature Wallets Manuel Araoz, Ryan X. Charles, Matias Alejo Garcia Specification Complete 46 Applications Address Scheme for Timelocked Fidelity Bonds Chris Belcher, Thebora Kompanioni Specification Draft 47 Applications Reusable Payment Codes for Hierarchical Deterministic Wallets Justus Ranvier Specification Deployed 48 Applications Multi-Script Hierarchy for Multi-Sig Wallets Fontaine Specification Deployed 49 Applications Derivation scheme for P2WPKH-nested-in-P2SH based accounts Daniel Weigl Specification Deployed 50 March 2013 Chain Fork Post-Mortem Gavin Andresen Informational Deployed 52 Consensus (hard fork) Durable, Low Energy Bitcoin PoW Michael Dubrovsky, Bogdan Penkovsky Specification Closed 53 Consensus (soft fork) Disallow 64-byte transactions Chris Stewart Specification Draft 54 Consensus (soft fork) Consensus Cleanup Antoine Poinsot, Matt Corallo Specification Complete 60 Peer Services Fixed Length "version" Message (Relay-Transactions Field) Amir Taaki Specification Closed 61 Peer Services Reject P2P message Gavin Andresen Specification Deployed 62 Consensus (soft fork) Dealing with malleability Pieter Wuille Specification Closed 63 Applications Stealth Addresses Peter Todd Standard BIP number allocated 64 Peer Services getutxo message Mike Hearn Specifi
Read the full README on GitHub

What Hacker News says

10 sources
So if I understand this correctly, it was a hard fork in version 0.15 (by the definition 'accepting a subset of blocks than a previous version'), but nobody exploited it. Similar the BDB/LevelDB incident documented in BIP 0050 (which actually had a chain split).[1] There was a chain split due to a soft fork in 2010: the "value overflow incident".[0] Controversial since the soft fork was announced after the incident was exploited. [0]: https://en.bitcoin.it/wiki/Value_overflow_incident [1]: https://github.com/bitcoin/bips/blob/master/bip-0050.mediawi...
In Bitcoin Core: CVE-2018-17144 Full Disclosure
The paper outlines two attacks that a hash rate majority can undertake: (1) double-spending; and (2) sabotage (force a decline in exchange rate). But there is a far more benign and profitable attack: collect all of the block reward. No need to tell anybody, and no need to upset users by double-spending. Business as usual. In other words, establish a benevolent mining monopoly: https://bitzuma.com/posts/bitcoins-end-game-the-benevolent-m... The hash rate majority becomes an effective monopoly by censoring blocks from outside the cartel. The incentive is equal to half the block reward. If done properly and gradually, few users would notice. Nor would many care. Those who did would simply leave. I suspect there's even a version of this attack in which a cartel makes public threats to censor blocks it disapproves of. This is, after all, what
Read the rest
BIP-9 does: https://github.com/bitcoin/bips/blob/master/bip-0009.mediawi... Using this approach, a cartel may be able to leverage a hash rate below 50% to 100%. There's some precedent for this with UASF. The hash rate of the group threatening to censor blocks there was quite small (certainly below 50%). Depending on who you talk to, the threat of block censorship by this group was enough to shut down segwit2x.
In The Economic Limits of Bitcoin and the Blockchain [pdf]
The checksum in a 12-word seed is only 4 bits. This means you could absolutely pick 12 random words using nothing but a dice. When importing the seed on a hardware wallet, if it complains that the seed is invalid (because the checksum is invalid) just change the 12th word by picking the next one in the BIP39 list (https://github.com/bitcoin/bips/blob/master/bip-0039/english...). If it complains again, tries the next one. And so on. At most you may have to try 2⁴ = 16 different words. One of them will pass the checksum. And there you go, you have a valid seed that was generated with a simple dice roll, without the need for custom code running on an MCU or offline computer. Edit: BTW your method of calling MicroPython uos.urandom() to generate the seed is not necessarily safe! The MicroPython API does not guarantee the entropy always comes
Read the rest
from a secure hardware RNG. Just "when possible". This means depending on your MicroPython version, how the framework was compiled, what exact revision of the ESP8266, entropy may or may not come from a secure hardware RNG. As a former InfoSec professional reviewing hardware/firmware/software security-related code, I often found flaws at many levels in this area. Edit #2: In fact, after more looking into it, the current version of MicroPython relies on an undocumented register (https://web.archive.org/web/20160417080207/http://esp8266-re...) that "seems" to be a hardware RNG however it has never been determined if it is suitable to use for cryptographic purposes. It would be a lot safer to generate your seed on an offline Linux laptop booted of a Live USB or equivalent (with no storage device), using the good old cryptographically-secure getrandom(2) syscall than blindly trusting an undocumented sketchy ESP8266 register whose implementation is completely unknown. If I were you I would discard any wallet created using your ESP8266 code.
In Breaking the Ledger Security Model
Bitcoin transactions support multiple inputs and multiple outputs (transactions involving multiple input and multiple output "accounts"). For example, Satoshi Nakamoto would need to use multiple accounts as inputs for any single transaction greater than 50 BTC. Those accounts were created prior to the development of the Hierarchical Deterministic Wallet spec (BIP32) [0]. From reading only the abstract cross-posted here, it sounds like the linked patent filling from 2016 is describing something very similar to the "Per-office balances: m/iH" use case described in BIP32 [1]; which is indeed prior art from 2012 [0]. With Bitcoin HD Wallets, there is no distinction between a private key and an account. With an HD Wallet, there is a private parent key and there are private child keys which are derived from the private parent key. Each private
Read the rest
child key is a distinct "account". Multiple Bitcoin wallet softwares support the 2012 BIP32 HD Wallet spec. [0] https://github.com/bitcoin/bips/blob/master/bip-0032.mediawi... [1] https://github.com/bitcoin/bips/blob/master/bip-0032.mediawi...
In Paypal Patent Application: Expedited Virtual Currency Transaction System

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.