[PULL] Add scriptPubKey enforced sendescrow and redeemescrow API calls



Summary:

In a conversation between Mike and an unknown individual, it was revealed that Satoshi Nakamoto did not provide much information on the implementation of MULTISIG transactions. The unknown individual had written up about half of what Satoshi had told him but required more details. Mike suggested hard-coding new standard script templates in script.cpp Solver() to support 1/2 of 2 and 1/2/3 of 3 signatures. He also questioned whether it would make sense to just support 2-of-2 (for validate-on-multiple-devices) and 2-of-3 (for escrow) for now, given the costs involved with adding new transaction types.The unknown individual suggested creating a new type of bitcoin payment address, containing a version byte, m, n, hash of xor of all n public keys, and checksum, which he believed would be useful for allowing any number of signatures up to the max. However, Mike did not understand its purpose and suggested establishing a higher-level protocol for triggering such a transaction via the UI, especially for escrow since it requires checking that the escrow key is owned by who you think it is.The unknown individual expressed more interest in the 2-of-2 case as merchants and exchanges need bitcoin deposit/payment addresses that they can make secure by requiring a 2-step signature process for spending those funds. Mike agreed that it is one way to achieve security, but having BitBanks that store coins and require verification with an external device is even stronger. However, this may take some time to establish.


Updated on: 2023-05-26T18:10:09.155170+00:00