I am trying to sort out the use case of a published funding address on a web page, to which everyone can spend. Internally in our company, I want to avoid, that a single person can spend these funds. It shall require more than one signature, to be able to spend the funds. I had the idea to use a multisig address, but this seems to be unsuccessful. The many stackexchange links don't cover this scenario, they all seem to cover how to spend from msig addresses...
When using a multisig adress, it looks like spends to this address requires the redeemscript. All examples I found use the redeemscript. So this is somehow a no-go for a multisig address on a webpage?
What I have done so far: - I was thinking that "people" could send to the msig adress from a normal wallet (aka P2PKH script). That doesn't work out, as the pubkey script wouldn't find "true" on the stack. Given a standard pubkey script would require s.th. like this:
DUP HASH PKH EQ_VFY CHK_SIG
| | | | |
| | | PKHASH | |
| PK | PKHASH | PKHASH | |
PK? | PK | PK | PK | PK |
SIG | SIG | SIG | SIG | SIG | TRUE/FALSE
The first column (SIG and PK?) being the sigscript. For the multisig address there is no public key in the first column. For sure I could play with the redeem script at the very beginning, and hash it, to satisfy the "OP_EQUALVERIFY". But then the script wouldn't terminate "TRUE" at the end, cause it would leave the sig and a "hashed" hash on the stack.
I could publish the redeemscript. Disadvantage: this makes the user experience difficult
I could use a std. P2PKH address, and "forward" regularely the funds from the webpage P2PKH address to a multisig in the background. Disadvantage: with current fees, nearly idiotic, when only small amounts are spent. (Yes, I could write code to collect until spent amount >= tx fees ...)
Is there an easy (more intelligent) way to receive bitcoin payments on a website, that come with a condition to be spent only with multiple signatures?