Commit Graph
49 Commits
Author SHA1 Message Date
Anthony Towns 9e4c055a74 Use BIP-326 title from PR#1314 in README 2023-03-29 15:10:42 +10:00
Anthony Towns cbfdce0430 BIP157 was replaced in PR#1378 2023-03-29 15:10:42 +10:00
Anthony Towns 469ccc9617 README markup fixes 2023-03-29 15:10:42 +10:00
Anthony Towns 0e5b18c0ff BIP327: fixups for buildtable.pl 2023-03-29 15:10:15 +10:00
Anthony Towns 8bbf2a1424 BIP118: simplify explanation of signature message 2022-09-20 06:15:54 +10:00
Anthony Towns 234bb915f4 bip-326: avoid errors from scripts/buildtable.pl 2022-04-07 10:42:55 +10:00
Anthony Towns d616d5492b BIP118: tweak wording around 1-byte pubkey 2021-07-02 14:47:16 +10:00
Anthony Towns 420dc42f0e BIP118: remove subliminal advertising of Simplicity 2021-07-02 14:47:16 +10:00
Anthony Towns 0cbc8674dd BIP118: refer to bech32m instead of bech32 for segwit v1 outputs
Thanks to Ben Carman for spotting.
2021-07-02 14:47:16 +10:00
Anthony Towns a8787c51ff Update README 2021-07-02 14:47:16 +10:00
Anthony Towns 5e052176ef Update BIP 118 for taproot, rename to ANYPREVOUT 2021-07-02 14:47:10 +10:00
Anthony Towns 93d1b15285 BIP341: add brackets to avoid ambiguity due to precendence rules around bipwise ops 2021-04-14 02:45:56 +10:00
Anthony Towns ce5f89fe0d BIP341: add testnet3 parameters 2021-04-13 01:35:07 +10:00
Anthony Towns d582d0bd31 BIP341: document simplified bip9 states 2021-04-08 21:25:10 +10:00
Anthony Towns 0f95720639 BIP341: bip9 speedy trial parameters 2021-04-08 21:24:13 +10:00
Anthony Towns a516c135ab BIP341/342: document current deployment status 2021-03-26 06:33:05 +10:00
Anthony Towns 63d2800fab bip 8: simplify MUST_SIGNAL check 2021-02-04 12:51:11 +10:00
Anthony Towns afe97b2eee BIP8: allow some MUST_SIGNAL blocks to not signal
Using the same threshold for MUST_SIGNAL as STARTED means that any chain
that would have resulted in activation with lockinontimeout=false will
also result in activation with lockinontimeout=true (and vice-versa).
This reduces the ways in which a consensus split can occur, and avoids
a way in which miners could attempt to discourage users from setting
lockinontimeout=true.
2020-10-17 18:18:30 +10:00
Anthony Towns 9a119ce46a BIP8: Make signalling during LOCKED_IN recommended rather than mandatory 2020-10-17 17:47:19 +10:00
Anthony Towns b6b5b92337 BIP8: clarify timeoutheight behaviour and requirements
When lockinontimeout is true, we don't transition directly from STARTED
to LOCKED_IN, so don't imply that we do.

If startheight or timeoutheight are not on a retarget boundary, they
behave as if they had been rounded up to the next retarget boundary,
so to keep things simple, require them to be at a boundary.

If timeoutheight is less than two retarget periods later than startheight,
behaviour when lockinontimeout is true (one retarget period of STARTED,
one of MUST_SIGNAL, one of LOCKED_IN, then ACTIVE) will not match
behaviour when lockinontimeout is false (one retarget period of STARTED,
then either LOCKED_IN or FAILED), so disallow that as well.
2020-10-17 17:24:15 +10:00
Anthony Towns 0f683f71f5 BIP8: add note about keeping lockinontimeout=true peers connected to each other 2020-10-15 15:56:19 +00:00
Anthony Towns da9cdd6759 BIP8: replace FAILING with MUST_SIGNAL
This removes the FAILING state and adds compulsory signalling during a
new MUST_SIGNAL phase during the last retarget period prior to the
timeout height.

This ensures that if a deployment occurs using bip8 with
lockinontimeout=false and timeoutheight=N, that a later deployment using
bip8 with lockinontimeout=true and timeoutheight=K, where K<N that any
chain where LOCKED_IN is reached prior to height K, will be accepted as
valid by nodes using either set of deployment parameters.

It also ensures that the soft-fork's changed rules are only enforced
on chain a retarget period after signalling indicates enforcement is
expected (which was not previously the case if the FAILING to ACTIVE
transition took place).
2020-10-15 15:54:08 +00:00
Anthony Towns 3c63846fc2 BIP8: add dot file for generating states diagram 2020-10-15 15:39:04 +00:00
Anthony Towns 9b0c3d0e6a bip-0325: update signet genesis block 2020-09-21 15:27:18 +10:00
Anthony Towns 3cf239eef3 bip-325: change signature scheme to be tx-based 2020-07-22 14:41:19 +10:00
Anthony Towns 453947f43a give bip32 conversion its own section 2020-02-23 19:40:21 -08:00
Anthony Towns 455504b3af Include d in nonce rather than d' 2020-02-23 19:40:19 -08:00
Anthony Towns 8a009b90d8 notes about precomputed pubkey data 2020-02-23 19:39:00 -08:00
Anthony Towns 2a122f20c5 missing space 2020-02-23 19:33:13 -08:00
Anthony Towns 1e99e205a8 go back to leaf_version but different rationale 2020-01-19 14:47:33 -08:00
Anthony Towns feffc4e34d annex is bit 0 of spend_type 2020-01-19 14:47:33 -08:00
Anthony Towns cf8233d39e separate p2sh wrapped security rationale 2020-01-19 14:47:33 -08:00
Anthony Towns 7c6ee49c03 typo 2020-01-19 14:47:33 -08:00
Anthony Towns 4491902569 note about pubkey collision 2020-01-19 14:47:33 -08:00
Anthony Towns 0d04e41e2f key gen, verify, sign in intro 2020-01-19 14:47:33 -08:00
Anthony Towns 8ffea86023 use p for taproot internal key 2020-01-19 14:47:33 -08:00
Anthony Towns 4e13ec7301 make secret key a 32-byte array called sk, introduce pubkey() 2020-01-19 14:47:33 -08:00
Anthony Towns a3f74a204e pk not p 2020-01-19 14:47:33 -08:00
Anthony Towns efa556aa06 public keys aren't identical 2020-01-19 14:47:33 -08:00
Anthony Towns f978178d6b go back to leaf_version but different rationale 2020-01-11 06:28:24 +10:00
Anthony Towns 01e0c43023 annex is bit 0 of spend_type 2019-10-18 13:43:31 +10:00
Anthony Towns f831386103 separate p2sh wrapped security rationale 2019-09-25 14:38:13 +10:00
Anthony Towns 7ce33c01ec typo 2019-09-25 14:02:42 +10:00
Anthony Towns 30bc716add note about pubkey collision 2019-08-29 02:35:00 +10:00
Anthony Towns fc74ec6b35 key gen, verify, sign in intro 2019-08-29 02:35:00 +10:00
Anthony Towns d3951f63f3 use p for taproot internal key 2019-08-29 02:35:00 +10:00
Anthony Towns 4643538d4f make secret key a 32-byte array called sk, introduce pubkey() 2019-08-29 02:35:00 +10:00
Anthony Towns 01e1f6e6b2 pk not p 2019-08-29 02:34:59 +10:00
Anthony Towns e9600e6ed8 public keys aren't identical 2019-08-29 02:34:36 +10:00