woltx [ARCHIVE] on Nostr: š
Original date posted:2022-10-11 š Original message:Silent Payment v4 ...
š
Original date posted:2022-10-11
š Original message:Silent Payment v4 (coinjoin support added)
Changes:
. Silent payments now use all inputs to create transactions. Previously, they only used the first input. This change increases privacy and makes silent payments compatible with coinjoin.
. `getspaddress` RPC renamed to `getsilentaddress` for clarity
. Added support for silent payment in PSBT via `walletcreatefundedpsbt` RPC.
. Added a new index scheme (which stores the sum of input public keys for each transaction). The previous index `bitcoin/signet/indexes/silentpaymentindex` should be removed as it is no longer compatible with this new version.
For reviewers:
Now, silent payments use the scheme `hash(i1*X + i2*X + i3*X + ...)*G + X == hash(x*(I1+I2+I3+...))*G + X`, as described here:
https://gist.github.com/RubenSomsen/c43b79517e7cb701ebf77eec6dbb46b8#variant-using-all-inputsAs inputs can be Taproot, this introduced a new issue as `bitcoin-core/secp256k1` does not support x-only public key sum (perhaps due to missing prefix byte).
I opened a new PR (#1143) to add a function to convert from x-only to compressed public key with even y. This is the solution being used by the current silent payment implementation.
Tutorial updated:
https://gist.github.com/w0xlt/c81277ae8677b6c0d3dd073893210875-------------- next part --------------
An HTML attachment was scrubbed...
URL: <
http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221011/0d3b9f46/attachment.html>
Published at
2023-06-07 23:15:04Event JSON
{
"id": "e6dc3abb7a27e5a72a2c708926353cad9e1c8a403391c762f8e5d40c489842ab",
"pubkey": "acd89cd353b3a1ceb91673b875a43f68d41d9d33bcf60fc037c3519a8e7f9354",
"created_at": 1686179704,
"kind": 1,
"tags": [
[
"e",
"3cf991c569a2120409cd2b3c9b1c9c7a84d0cf71cea6b34929933e4e5ff0d714",
"",
"reply"
],
[
"p",
"a23dbf6c6cc83e14cc3df4e56cc71845f611908084cfe620e83e40c06ccdd3d0"
]
],
"content": "š
Original date posted:2022-10-11\nš Original message:Silent Payment v4 (coinjoin support added)\n\nChanges:\n\n. Silent payments now use all inputs to create transactions. Previously, they only used the first input. This change increases privacy and makes silent payments compatible with coinjoin.\n\n. `getspaddress` RPC renamed to `getsilentaddress` for clarity\n\n. Added support for silent payment in PSBT via `walletcreatefundedpsbt` RPC.\n\n. Added a new index scheme (which stores the sum of input public keys for each transaction). The previous index `bitcoin/signet/indexes/silentpaymentindex` should be removed as it is no longer compatible with this new version.\n\nFor reviewers:\n\nNow, silent payments use the scheme `hash(i1*X + i2*X + i3*X + ...)*G + X == hash(x*(I1+I2+I3+...))*G + X`, as described here: https://gist.github.com/RubenSomsen/c43b79517e7cb701ebf77eec6dbb46b8#variant-using-all-inputs\n\nAs inputs can be Taproot, this introduced a new issue as `bitcoin-core/secp256k1` does not support x-only public key sum (perhaps due to missing prefix byte).\n\nI opened a new PR (#1143) to add a function to convert from x-only to compressed public key with even y. This is the solution being used by the current silent payment implementation.\nTutorial updated: https://gist.github.com/w0xlt/c81277ae8677b6c0d3dd073893210875\n-------------- next part --------------\nAn HTML attachment was scrubbed...\nURL: \u003chttp://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20221011/0d3b9f46/attachment.html\u003e",
"sig": "9c248b443deb7a75df34af77e166a84059f7232ed85d46e6cee4e6951d9253865049c8f5e8aaffaacb01269217299280daac9c4d975381437122255f097f94db"
}