1
0
Fork 0
mirror of https://github.com/bitcoin/bips.git synced 2025-02-24 23:38:54 +01:00
Commit graph

2127 commits

Author SHA1 Message Date
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
Pieter Wuille
d9a30c954f Extend codeseparator_position from 16 to 32 bits 2020-01-19 14:47:33 -08:00
Jonas Nick
78bb31c3bf Accept seckey in the form of bytes and not int in the reference BIP-schnorr code to match the spec. 2020-01-19 14:47:33 -08:00
Tim Ruffing
e0e422a5ca Link to Schnorr's paper instead of Wikipedia 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
e1d7da3796 Add is_quad function to bip-schnorr reference code 2020-01-19 14:47:33 -08:00
Jonas Nick
fe8f5f68ca Standardize on secret key in bip-schnorr 2020-01-19 14:47:33 -08:00
Jonas Nick
05cc92b9ad Add x() and y() functions for points to bip-schnorr 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
Anthony Towns
7c6ee49c03 typo 2020-01-19 14:47:33 -08:00
Pieter Wuille
2202615b7c Fixups 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
499106c57b Rework resource limits section 2020-01-19 14:47:33 -08:00
Pieter Wuille
972136beb6 Remove P2SH support 2020-01-19 14:47:33 -08:00
Elichai Turkel
8ea6798a9d Euler's Criterion prime only nit 2020-01-19 14:47:33 -08:00
JamesC
f5c728ff82 Removed reference to 0xc1 leaf version.
No longer necessary with 32B pubkeys.
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
65a4f1deb8 Mention SHA256 block size
Rebased by Pieter Wuille
2020-01-19 14:47:33 -08:00
Pieter Wuille
8886eb4071 Address some nits 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
Tim Ruffing
2b987b5711 Rework Applications section 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
Tim Ruffing
29037bd123 Add a footnote about 32-byte security 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
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
John Newbery
680af7db4c Return a point from lift_x() 2020-01-19 14:47:33 -08:00
John Newbery
bba0bad5e8 Define c in lift_x(x) 2020-01-19 14:47:33 -08:00
John Newbery
1c6b104597 Replace 'quadratic residue of...' 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
a67e5e323c Update bip-schnorr/test-vectors.py
Co-Authored-By: Tim Ruffing <tim@timruffing.de>
2020-01-19 14:47:33 -08:00
Jonas Nick
5da30bd568 Update bip-schnorr.mediawiki
Co-Authored-By: Tim Ruffing <tim@timruffing.de>
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
e084aafb8b Switch to 32 byte public keys in bip-schnorr 2020-01-19 14:47:33 -08:00
Jonas Nick
1a4b08ab72 Fix point_from_bytes in bip-schnorr reference implementation 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