Multiple input with one signature

by Gábor Kiss-Vámosi   Last Updated October 08, 2019 11:27 AM - source

From this question I've learned that a transaction with N inputs requires N sign operations.

But what if there a huge amount of inputs? E.g. I have a coffee shop and I sell 5000 pcs coffee every day for $1 each. If I want to transfer my daily income I'll end up with a transaction with 5000 inputs.

Counting with 100kB max transaction size ~300..400 inputs can be included in one transaction. So I need to make 10..15 transactions every day. In addition, if I have a hardware wallet that needs let's say 500 ms to make a signature it will take 5000*0.5 sec = 41 min to sign all the inputs.

What is the correct way to handle this?

Is there an option to sign the transaction only once and use this signature for all the inputs?

Tags : signature input


Answers 1


The current signature scheme that bitcoin is using (ECDSA) doesn't support signature aggregation, so you will have to sign each input and provide one signature per input (assuming it requires only one signature) and your transaction size will grow accordingly.

sell 5000 pcs coffee every day for $1 each

Then you might want to look into Lightning Network. It works on top of bitcoin as a second layer and for micro and frequent payments it is the better choice:
https://lightning.network
How does the Lightning network work in simple terms?

Coding Enthusiast
Coding Enthusiast
October 08, 2019 14:00 PM

Related Questions



Why are the inputs of Bitcoin transactions signed?

Updated December 07, 2018 23:27 PM