Commit Graph
2171 Commits
Author SHA1 Message Date
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 NickandTim Ruffing a67e5e323c Update bip-schnorr/test-vectors.py
Co-Authored-By: Tim Ruffing <tim@timruffing.de>
2020-01-19 14:47:33 -08:00
Jonas NickandTim Ruffing 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
Mark B Lundeberg b65cd69467 remove duplicate warning
Though perhaps, the emphasis is warranted given its importance. :-)
2020-01-19 14:47:33 -08:00
Jonas Nick eb96be7a9d Clarify what 'reduced' means in tests and use word 'message' instead of 'message hash' 2020-01-19 14:47:33 -08:00
Pieter Wuille c7d7034b16 Add taproot/tapscript bips drafts 2020-01-19 14:47:33 -08:00
Pieter Wuille 6e77233b57 Add draft for Schnorr BIP
Includes squashed contributions by GitHub users jonasnick,
real-or-random, AustinWilliams, JustinTArthur, ysangkok,
RCassatta, Sjors, tnakagawa, and guggero.
2020-01-19 14:47:33 -08:00
Luke Dashjr 24eddbb48a Merge pull request #869 from benthecarman/patch-2
BIP 174: Specify that separator only appears at end of the map
2020-01-03 04:31:58 +00:00
Luke Dashjr ed3b31c136 Merge pull request #870 from dgpv/patch-10
BIP-174: add missing types to Appendix A; fix proprietary type names
2020-01-03 04:31:45 +00:00