Silent Payment v4 (coinjoin support added)



Summary:

The email conversation between alicexbt and woltx on October 12th, 2022 refers to the improvements made in silent payments. The changes include the usage of all inputs to create transactions, making silent payments compatible with coinjoin. The new RPC command name is `getsilentaddress` for clarity, and support for silent payment in PSBT has been added via `walletcreatefundedpsbt` RPC. A new index scheme has been introduced, which stores the sum of input public keys for each transaction, and the previous index `bitcoin/signet/indexes/silentpaymentindex` has been removed as it is no longer compatible with this new version.Silent payments now use a multi-party scheme that introduces a new issue due to `bitcoin-core/secp256k1` not supporting x-only public key sum, perhaps due to missing prefix byte. A new pull request (#1143) has been opened to add a function to convert from x-only to compressed public key with even y. Andrew Poelstra's concerns related to rogue-key attacks are unclear, but it seems he was referring to a multi-party scheme, which is not the case with the Silent Payments scheme. In addition, alicexbt asks about the benefit of using all inputs in coinjoin and expresses confusion regarding the warning in the output for `getsilentaddress` RPC when used with a label. The warning was suggested by Aurèle Oulès in a discussion in PR about users thinking that each address would come from a different key and not the same key.


Updated on: 2023-06-16T01:43:40.383775+00:00