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