1
0
mirror of https://github.com/bitcoin/bips.git synced 2024-11-19 01:40:05 +01:00
Commit Graph

47 Commits

Author SHA1 Message Date
Kalle Rosenbaum
18d1774d81 Nits 2020-01-19 14:47:33 -08:00
Orfeas Litos
2aa865c33e Replace "both are not" with "neither is" 2020-01-19 14:47:33 -08:00
Jonas Nick
3e5a79af88 Rename is_y_square to is_negated in taproot signing 2020-01-19 14:47:33 -08:00
Jon Atack
28f67764ec bip-taproot: clarify bip-schnorr reference code
- update the paragraph in question to more clearly convey that the helper
  functions, and not the Python3 example code, are from the bip-schnorr
  reference code

- add a link to the reference code in
  https://github.com/sipa/bips/blob/bip-schnorr/bip-schnorr/reference.py
2020-01-19 14:47:33 -08:00
Orfeas Stefanos Thyfronitis Litos
daff462f9d Add links to unlinked BIPs
Only first mention of each BIP is made into a link
2020-01-19 14:47:33 -08:00
Adam Gibson
4f67ed25c7 Add clarification of semantics of 0x00 hash type 2020-01-19 14:47:33 -08:00
Hennadii Stepanov
ba7dd57697 G refers to secp256k1 base point rather generator 2020-01-19 14:47:33 -08:00
Anthony
b2aed3e3fe FIX: BIPs should be specified as lowercase to match filenames 2020-01-19 14:47:33 -08:00
Anthony
4bc42d0f00 ADD: Require Schnorr BIP for Taproot
Per https://github.com/bitcoin/bips/blob/master/bip-0001.mediawiki:

"BIPs may have a Requires header, indicating the BIP numbers that this BIP depends on"
2020-01-19 14:47:33 -08:00
Dev Random
ac33640bf5 tweak 211 bytes text 2020-01-19 14:47:33 -08:00
Devrandom
b80ebbf287 clarify 211 hash bytes and non-reuse of keys 2020-01-19 14:47:33 -08:00
Gregory Sanders
758be14a2b remind reader where [:] is defined
in addition to `point`. This caused confusion for one reader who expected inclusive at end of range.
2020-01-19 14:47:33 -08:00
Orfeas Stefanos Thyfronitis Litos
4e88d4fae7 Replace R with P in taproot_tweak_seckey 2020-01-19 14:47:33 -08:00
Agis Anastasopoulos
b5eb53451f Fix typo 2020-01-19 14:47:33 -08:00
LaurentMT
32f364c85c Fxied typo in taproot_sign_script() 2020-01-19 14:47:33 -08:00
codeShark149
e9e23e474f Internal pubkey calculation fixed in taproot_tweak_pubkey() 2020-01-19 14:47:33 -08:00
Fabian Jahr
4774e4d1e8 Link design section of BIP Schnorr in Specification 2020-01-19 14:47:33 -08:00
Max Hillebrand
3d97967b97 fix: script spend, not key spend
For the key spend the script tree depth is not revealed, it is only done for script spends. This sentence makes sense only for the script spend.
2020-01-19 14:47:33 -08:00
Pieter Wuille
ae7122822a Settle on notation: is_square(y), has_square_y(P) 2020-01-19 14:47:33 -08:00
Dmitry Petukhov
0f9ab0cec9 fix docstring in taproot_output_script
the final "-None" line in the docstring of `taproot_output_script` example function was actually outside of the docstring
2020-01-19 14:47:33 -08:00
Dmitry Petukhov
d87c5c8801 use bytes() instead of b'' - avoid markdown issue
Currently github markdown renders `b''` inside `<source>` tags incorrectly. This makes `h = b''` show as `h = b` and creates some confusion.
The issue can be avoided by using bytes() to create empty byte array
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
Pieter Wuille
c93e298518 Increase max Merkle path length 2020-01-19 14:47:33 -08:00
Pieter Wuille
fb486d7e13 Fix formula 2020-01-19 14:47:33 -08:00
Pieter Wuille
79f9fc4cc8 Extend input_index from 16 to 32 bits 2020-01-19 14:47:33 -08:00
Jonas Nick
d112f5b035 Replace taproot_tweak_pubkey assertion with exception and add it to taproot_tweak_seckey too 2020-01-19 14:47:33 -08:00
Jonas Nick
afa5519ade Add taproot_tweak_pubkey and taproot_tweak_privkey functions to bip-taproot wallet section 2020-01-19 14:47:33 -08:00
Jonas Nick
1c8bdd75a5 Remove 0xc1 2020-01-19 14:47:33 -08:00
Anthony Towns
cf8233d39e separate p2sh wrapped security rationale 2020-01-19 14:47:33 -08:00
Pieter Wuille
4087834c73 Move/reword tagged hashes motivation 2020-01-19 14:47:33 -08:00
Pieter Wuille
972136beb6 Remove P2SH support 2020-01-19 14:47:33 -08:00
Bryan Bishop
b78b6de4fd bip-taproot: fix small typo (is does not) 2020-01-19 14:47:33 -08:00
Jonas Nick
a5112f9f01 Move plain public key in output rationale to design section
Rebased by Pieter Wuille
2020-01-19 14:47:33 -08:00
Jonas Nick
204b7f13a0 Prescribe that a taproot output key should always have a taproot commitment 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
Jonas Nick
8fd629c3f9 Fix privkey negation in taproot_sign_key 2020-01-19 14:47:33 -08:00
Jonas Nick
cc962bf84f Address sipa's comments 2020-01-19 14:47:33 -08:00
Jonas Nick
c33c7d0a0c Tag signature hashes, improve rationale and update test vectors 2020-01-19 14:47:33 -08:00
Jonas Nick
7f3611d239 Use a tagged hash in bip-schnorr nonce derivation 2020-01-19 14:47:33 -08:00
Jonas Nick
ba748dcd93 Use key path spend terminology more consistently in taproot/tapscript 2020-01-19 14:47:33 -08:00
Jonas Nick
16073d0c20 Clarify how to disable key path spending 2020-01-19 14:47:33 -08:00
Jonas Nick
f3bef4f459 Address sipa's feedback 2020-01-19 14:47:33 -08:00
Jonas Nick
303ff5fb26 Address Tim's comments 2020-01-19 14:47:33 -08:00
Jonas Nick
08e1b3da74 Use short public keys for taproot output keys 2020-01-19 14:47:33 -08:00
Jonas Nick
b2e6d11a6e Clarify diagram 2020-01-19 14:47:33 -08:00
Dmitry Petukhov
953dd23665 taproot_output_script: first returned byte should be OP_1 (0x51)
If we look at

  def IsPayToTaproot(script):
      return len(script) == 35 and script[0] == OP_1 and script[1] == 33 and script[2] >= 0 and script[2] <= 1

First byte is is checked for OP_1. OP_1 is 0x51

But the example code in this BIP returns  

`bytes([0x01, 0x21, output_pubkey[0] & 1]) + output_pubkey[1:]`

First byte 0x01, but it should be 0x51
2020-01-19 14:47:33 -08:00
Pieter Wuille
c7d7034b16 Add taproot/tapscript bips drafts 2020-01-19 14:47:33 -08:00