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