100 | @@ -101,7 +101,8 @@ In our simplified example we have been referring to Alice's transactions as havi
101 | Alice performs the tweak with the sum of her input private keys in the following manner:
102 |
103 | * Let ''a = a<sub>1</sub> + a<sub>2</sub> + ... + a<sub>n</sub>''
104 | -* Let ''input_hash = hash(outpoint<sub>L</sub> || (a·G))'', where ''outpoint<sub>L</sub>'' is the smallest outpoint lexicographically<ref name="why_smallest_outpoint">'''Why use the lexicographically smallest outpoint for the hash?''' Recall that the purpose of including the input hash is so that the sender and receiver can both come up with a deterministic nonce that ensures that a unique address is generated each time, even when reusing the same scriptPubKey as an input. Choosing the smallest outpoint lexicographically satisfies this requirement, while also ensuring that the generated output is not dependent on the final ordering of inputs in the transaction. Using a single outpoint also works well with memory constrained devices (such as hardware signing devices) as it does not require the device to have the entire transaction in memory in order to generate the silent payment output.</ref>
105 | +* Let ''A = a·G''
Not sure this is needed, but no strong opinion.
Ops, I forgot to mention the reasoning for this one: the BIP uses uppercase for public keys, and this was the only place where a public key appeared in the middle of an operation as (a·G). It also matches the sender spec, which writes "A = a·G".