summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-10Merge pull request #1634 from achow101/389-no-dupesJon Atack
389: Explicitly disallow duplicate multipath
2024-07-09389: Explicitly disallow duplicate multipathAva Chow
2024-07-08Merge pull request #1632 from douglaz/patch-1Mark "Murch" Erhardt
Fix typo in bip-0065
2024-07-07Fix typo in bip-0065douglaz
2024-07-04Merge pull request #1623 from satsie/satsie-bip78Jon Atack
BIP78: spelling and grammar updates
2024-07-03BIP78: spelling and grammar updatesStacie
Co-authored-by: Dan Gould <d@ngould.dev> Co-authored-by: Jon Atack <jon@atack.com>
2024-07-01Merge pull request #1619 from real-or-random/patch-20Jon Atack
bip-0327: Remove obsolete paragraph
2024-06-29BIP352: Improve `input_hash` wording (#1629)Jon Atack
BIP352: Improve `input_hash` wording
2024-06-29BIP-352: use own ripemd160 for reference implementation (#1616)Sebastian Falbesoner
On some operating systems, Python doesn't provide the expected ripemd160 implementation anymore, so the reference implementation fails to start. E.g. in Ubuntu 22.04: ---------------------------------------------------------------------------------------------- $ ./reference.py send_and_receive_test_vectors.json Simple send: two inputs Traceback (most recent call last): File "/usr/lib/python3.10/hashlib.py", line 160, in __hash_new return _hashlib.new(name, data, **kwargs) ValueError: [digital envelope routines] unsupported During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/thestack/bips/bip-0352/./reference.py", line 228, in <module> pubkey = get_pubkey_from_input(vin) File "/home/thestack/bips/bip-0352/./reference.py", line 46, in get_pubkey_from_input pubkey_hash = hash160(pubkey_bytes) File "/home/thestack/bips/bip-0352/bitcoin_utils.py", line 130, in hash160 return hashlib.new("ripemd160", hashlib.sha256(s).digest()).digest() File "/usr/lib/python3.10/hashlib.py", line 166, in __hash_new return __get_builtin_constructor(name)(data) File "/usr/lib/python3.10/hashlib.py", line 123, in __get_builtin_constructor raise ValueError('unsupported hash type ' + name) ValueError: unsupported hash type ripemd160 ---------------------------------------------------------------------------------------------- Fix this by providing a manual implementation, taken from the functional test framework of Bitcoin Core. See corresponding issue https://github.com/bitcoin/bitcoin/issues/23710 and PR https://github.com/bitcoin/bitcoin/pull/23716
2024-06-29BIP352: improve input_hash wordingjosibake
Since https://github.com/bitcoin/bips/pull/1622, it makes more sense to define input_hash inline, vs having its own section.
2024-06-27BIP 379: Specify MiniscriptAva Chow
Co-Authored-By: Antoine Poinsot <darosior@protonmail.com>
2024-06-25Merge pull request #1540 from achow101/musig2Mark "Murch" Erhardt
328, 390, 373: BIPs for MuSig2 derivation, descriptors, and PSBT fields
2024-06-25BIP39: fix grammar in wordlists doc (#1626)Elias Rad
2024-06-25Merge pull request #1625 from OrfeasLitos/typoJon Atack
BIP143: fix typo
2024-06-25Fix typoOrfeas Stefanos Thyfronitis Litos
2024-06-22Merge pull request #1620 from ↵Jon Atack
theStack/bip352-mention-input_pubkey_sum-infinity-case BIP-352: handle invalid privkey / pubkey sums for sending / scanning, add changelog
2024-06-22BIP-352: add change log (SemVer format)Sebastian Falbesoner
The first paragraph is taken from BIP-327, with the sentence about MAJOR version zero removed, as it's not relevant here (we don't track the pre-merge history).
2024-06-22BIP-352: scanning: add step to skip tx if input pubkeys sum A is point at ↵Sebastian Falbesoner
infinity The input data for the test vector is taken from the signet transaction fe788cf6578d547819def43d79e6c8f0153d4885f5a343d12bd03f34507aabd6 which spends two P2WPKH inputs with negated pubkeys (x, y) and (x, -y) from the funding transaction 3a286147b25e16ae80aff406f2673c6e565418c40f45c071245cdebc8a94174e (see also https://github.com/bitcoin-core/secp256k1/pull/1519#issuecomment-2143167510 and the output from the script in the previous commit message). Co-authored-by: josibake <josibake@protonmail.com>
2024-06-22BIP-352: sending: add step to fail if input privkeys sum a is zeroSebastian Falbesoner
The test vector data was generated with a Python script (see https://github.com/theStack/bitcoin/blob/bc15ea8d0f282908b912dbf62bba816ecd82424d/contrib/silentpayments/submit_input_pubkeys_infinity_tx.py), leading to the following output: --------------------------------------------------------------------------------------------------------- Privkey 1: a6df6a0bb448992a301df4258e06a89fe7cf7146f59ac3bd5ff26083acb22ceb Privkey 2: 592095f44bb766d5cfe20bda71f9575ed2df6b9fb9addc7e5fdffe0923841456 Pubkey 1: 02557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975 Pubkey 2: 03557ef3e55b0a52489b4454c1169e06bdea43687a69c1f190eb50781644ab6975 scriptPubKey 1: 00149d9e24f9fab4e35bf1a6df4b46cb533296ac0792 scriptPubKey 2: 00149860538b5575962776ed0814ae222c7d60c72d7b Address 1: tb1qnk0zf706kn34hudxma95dj6nx2t2cpujz7j5t5 Address 2: tb1qnps98z64wktzwahdpq22ug3v04svwttm7gs8wn -> Funding tx submitted: 3a286147b25e16ae80aff406f2673c6e565418c40f45c071245cdebc8a94174e Taproot output address for spending tx: tb1pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqkgkkf5 -> Spending tx submitted: fe788cf6578d547819def43d79e6c8f0153d4885f5a343d12bd03f34507aabd6 ---------------------------------------------------------------------------------------------------------
2024-06-21Merge pull request #1622 from theStack/bip352-simplify_input-hash_flowJon Atack
BIP-352: generate `input_hash` after summing up keys (simplification)
2024-06-20BIP-352: generate `input_hash` after summing up keys (simplification)Sebastian Falbesoner
For both sender and receiver, generating the input hash is currently listed as the first step. This already involves summing up the public keys, even though summing up key material (private keys for sender, public keys of inputs for receiver) is then again listed explicitly in later steps. It seems to be more obvious and less redundant (and also hopefully less confusing for readers) to reorder the instructions to calculate the input_hash _after_ the key aggregation is done to reuse the result. In case of the sender, the private key sum has to be multiplicated with G in order to the get to the corresponding input pubkey sum. This also corresponds to the current BIP352 implementation in the secp256k1 library (https://github.com/bitcoin-core/secp256k1/pull/1519). The reference implementation in Python here is adapted for the sender side, the receiver side has already generated the input_hash after summing up the pubkeys.
2024-06-18BIP 373: add MuSig2 PSBT Fields BIPAva Chow
2024-06-18BIP 390: Add MuSig2 descriptor BIPAva Chow
2024-06-18BIP 328: add MuSig2 derivation BIPAva Chow
2024-06-13bip-0327: Remove obsolete paragraphTim Ruffing
2024-06-11BIP 15: Remove broken hyperlink to Vanitygen (#1618)Glen Cooper
2024-06-10Merge pull request #1617 from 1440000bytes/bip301Jon Atack
Fix bip number in specification
2024-06-10fix bip number/dev/fd0
2024-06-10Merge pull request #1615 from satsie/satsie-more-repeat-wordsMark "Murch" Erhardt
BIP340: remove repeat words
2024-06-10Merge pull request #1551 from TheBlueMatt/2024-02-dns-payment-instructionsMark "Murch" Erhardt
Add BIP 353: DNS Payment Instructions
2024-06-09BIP340: remove repeat wordsStacie
2024-06-09Merge pull request #1614 from satsie/satsie-bip79-editJon Atack
BIP79: remove repeat word
2024-06-08BIP79: remove repeat wordStacie
2024-06-04Add a BIP which resolves human readable names into payment infoMatt Corallo
User behavior has clearly indicated a strong demand for the resolution of human-readable names into payment instructions. This BIP defines a protocol to do so using only the DNS, providing for the ability to query such resolutions privately, while utilizing DNSSEC to provide compact and simple to verify proofs of mappings.
2024-05-31Merge pull request #1598 from ChrisCho-H/masterLuke Dashjr
bip-0322: add another valid sig vector not to confuse
2024-05-31Merge pull request #1603 from cocoyeal/remove_duplicated_wordsJon Atack
Remove duplicated words
2024-05-29remove duplicated wordscocoyeal
2024-05-28Merge pull request #1602 from Sajjon/cyon_fix_typosJon Atack
Fix typos on 17 files.
2024-05-28Merge pull request #1541 from glozow/2024-01-v3-prioJon Atack
BIP431: Opt In Topologically Restricted Until Confirmation Transactions For More Robust Fee-bumping
2024-05-28Merge pull request #1556 from TomBriar/bip-tombriar-compressed-transactionsMark "Murch" Erhardt
BIP 337: Compressed Transactions
2024-05-28BIP-0337: Add table entry, move to numbered fileMurch
2024-05-28BIP-0337: Fix Comments-URIMurch
2024-05-28bip-tombriar-compressed-transactionsTom Briar
2024-05-28Fix typos on 17 files.Alexander Cyon
2024-05-23Define BIP431: TRUCsglozow
2024-05-22Merge pull request #1445 from MarnixCroes/bip38-fix-linksJon Atack
BIP38: remove broken links
2024-05-22BIP38: remove dead linksMarnix
2024-05-16Merge pull request #1579 from achow101/stop-link-spam-38Jon Atack
38: Remove other implementation section and dead reference implementation link
2024-05-16Merge pull request #1580 from achow101/stop-link-spam-85Jon Atack
85: Remove other implementation sections
2024-05-15bip-0322: add another valid sig vector not to confuseChris Hyunhum Cho