@@ -31,7 +31,7 @@ Key tweaking is a procedure for creating a cryptographic commitment to a
31
31
message using elliptic curve properties. The procedure uses the discrete log
32
32
problem (DLP) to commit to an extra-transaction message. This is done by adding
33
33
to a public key (for which the output owner knows the corresponding private key)
34
- a hash of the message multiplied on the generator point G of the elliptic curve.
34
+ a hash of the message multiplied by the generator point G of the elliptic curve.
35
35
This produces a tweaked public key containing the commitment. Later, in order
36
36
to spend an output containing the P2C commitment, the same commitment should be
37
37
added to the corresponding private key.
@@ -94,7 +94,7 @@ The new per-input type is defined as follows:
94
94
| <tt><pubkey> </tt>
95
95
| 33 bytes of compact public key serialization specifying to which keys the
96
96
P2C tweak may be applied (i.e. this MUST be a value of a public key before the
97
- tweak is applied). BIP-340 keys are serialized by appending `02 `
97
+ tweak is applied). BIP-340 keys are serialized by appending `0x02 `
98
98
byte.<ref >'''Why compressed public keys are not distinguished from BIP-340
99
99
public keys''' We follow the logic of BIP32 key derivation, which does not
100
100
distinguish them. The type of the key is defined by the input type,
@@ -146,7 +146,7 @@ public keys:
146
146
- P2PKH,
147
147
- P2SH,
148
148
- witness v0 P2WPKH and P2WSH,
149
- - nested witness v0 P2WPKH-P2SH and P2WSH-P2SH,
149
+ - nested witness v0 P2WPKH-P2SH and P2WSH-P2SH
150
150
151
151
Post-0 witness versions, including taproot outputs and future witness versions,
152
152
may not be supported or covered by this BIP and may require the addition of new
@@ -172,20 +172,16 @@ TBD
172
172
173
173
==References ==
174
174
175
- [1] Ilja Gerhardt, Timo Hanke. Homomorphic Payment Addresses and the
176
- Pay-to-Contract Protocol. arXiv:1212.3257 \[cs.CR\]
177
- <https://arxiv.org/pdf/1212.3257.pdf>
178
- [2] Eternity Wall's "sign-to-contract" article.
179
- <https://blog.eternitywall.com/2018/04/13/sign-to-contract/>
180
- [3] Peter Todd. OpenTimestamps: Scalable, Trust-Minimized, Distributed
181
- Timestamping with Bitcoin.
182
- <https://petertodd.org/2016/opentimestamps-announcement>
183
- [4] Adam Back, Matt Corallo, Luke Dashjr, et al. Enabling Blockchain
184
- Innovations with Pegged Sidechains (commit5620e43). Appendix A.
185
- <https://blockstream.com/sidechains.pdf>;.
186
- [5] Maxim Orlovsky, Rene Pickhardt, Federico Tenga, et al. Key
187
- tweaking: collision- resistant elliptic curve-based commitments.
188
- LNPBP-1 Standard.
189
- <https://github.com/LNP-BP/LNPBPs/blob/master/lnpbp-0001.md>
190
- [6] Peter Todd. Single-use-seals. LNPBP-8 Standard.
191
- <https://github.com/LNP-BP/LNPBPs/blob/master/lnpbp-0008.md>
175
+ [1] Ilja Gerhardt, Timo Hanke. ''Homomorphic Payment Addresses and the Pay-to-Contract Protocol.'' arXiv:1212.3257 [cs.CR ]. [https://arxiv.org/pdf/1212.3257.pdf arxiv.org/pdf/1212.3257.pdf ]
176
+
177
+ [2] Eternity Wall. ''Sign-to-contract.'' [https://blog.eternitywall.com/2018/04/13/sign-to-contract/ blog.eternitywall.com ]
178
+
179
+ [3] Peter Todd. ''OpenTimestamps: Scalable, Trust-Minimized, Distributed Timestamping with Bitcoin.'' [https://petertodd.org/2016/opentimestamps-announcement petertodd.org ]
180
+
181
+ [4] Adam Back, Matt Corallo, Luke Dashjr, et al. ''Enabling Blockchain Innovations with Pegged Sidechains (commit5620e43). Appendix A.'' [https://blockstream.com/sidechains.pdf blockstream.com/sidechains.pdf ]
182
+
183
+ [5] Maxim Orlovsky, Rene Pickhardt, Federico Tenga, et al. ''Key tweaking: collision-resistant elliptic curve-based commitments. LNPBP-1 Standard.'' [https://github.com/LNP-BP/LNPBPs/blob/master/lnpbp-0001.md LNPBP-1 on GitHub ]
184
+
185
+ [6] Peter Todd. ''Single-use-seals. LNPBP-8 Standard.'' [https://github.com/LNP-BP/LNPBPs/blob/master/lnpbp-0008.md LNPBP-8 on GitHub ]
186
+
187
+
0 commit comments