From 16bdfcf534e7beabcb0c177694364b38b662c2b0 Mon Sep 17 00:00:00 2001 From: Jonas Nick Date: Mon, 19 Aug 2019 14:45:34 +0000 Subject: [PATCH] Use key path spend terminology more consistently in taproot/tapscript --- bip-taproot.mediawiki | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bip-taproot.mediawiki b/bip-taproot.mediawiki index 527e1bcc..b2d45a39 100644 --- a/bip-taproot.mediawiki +++ b/bip-taproot.mediawiki @@ -210,11 +210,11 @@ The function taproot_output_script returns a byte array with the sc [[File:bip-taproot/tree.png|frame|This diagram shows the hashing structure to obtain the tweak from an internal key ''P'' and a Merkle tree consisting of 5 script leaves. ''A'', ''B'', ''C'' and ''E'' are ''TapLeaf'' hashes similar to ''D'' and ''AB'' is a ''TapBranch'' hash. Note that when ''CDE'' is computed ''E'' is hashed first because ''E'' is less than ''CD''.]] -'''Spending using the internal key''' A Taproot output can be spent with the private key corresponding to the internal_pubkey. To do so, a witness stack consists of a single element: a bip-schnorr signature on the signature hash as defined above, with the private key tweaked by the same t as in the above snippet. In the code below, internal_privkey has a method pubkey_gen that returns a public key according to bip-schnorr and a boolean indicating the quadratic residuosity of the Y coordinate of the underlying point. +'''Spending using the key path''' A Taproot output can be spent with the private key corresponding to the internal_pubkey. To do so, a witness stack consists of a single element: a bip-schnorr signature on the signature hash as defined above, with the private key tweaked by the same t as in the above snippet. In the code below, internal_privkey has a method pubkey_gen that returns a public key according to bip-schnorr and a boolean indicating the quadratic residuosity of the Y coordinate of the underlying point. See the code below: -def taproot_sign_internal_key(script_tree, internal_privkey, hash_type): +def taproot_sign_key(script_tree, internal_privkey, hash_type): internal_pubkey, is_y_qresidue = internal_privkey.pubkey_gen() if is_y_qresidue: internal_privkey = internal_privkey.negate()