script – How to build a transaction that is valid for ANY input of an address but with a specific output


I am trying to achieve a more complex task, as an use-case where a company holds a very popular bitcoin address that has many hundreds of inputs (UTXOs) in related to stocks it issued.

Now, the intention is to build a transaction that all the stock owners can broadcast if and when they decide to. But they should not be able to spend more than their rightful amount. Can SIGHASH_SINGLE be used in this case?

Example:
input0, input1, input2, input3, input4 total = 5.001 btc
output0 = 4 btc, output1 = 1 btc, fee = 0.001 btc

where output0 is the entire amount going back to the same address
fee is the fee
and output1 is the address of the holder that is entitled to withdraw no more than 1 btc.

The goal is to have a transaction that someone can use to withdraw no more than a certain amount and be valid for any inputs of a given address. Also, if different people have the same transaction but with different output1 and output1 amount, would there be any conflicts?

Leave a Reply

Your email address will not be published. Required fields are marked *

Back To Top