Pages:
Author

Topic: A question on ECDSA signing (more efficient tx signing)? - page 2. (Read 2415 times)

donator
Activity: 1218
Merit: 1079
Gerald Davis
Bitcoin signs each of the inputs for tx with a separate signature.  This adds significant size to the overall transaction size. The size of the most common Bitcoin tx can be computed as the following:

Size (in bytes) = 10+147*NumIn+34*NumOut

This applies to tx with standard outputs, scripts of less than 256 bytes each, and all inputs use compressed public keys.  If the public key for the input is uncompressed the size is 32 bytes larger.

The largest portion of a balanced (number of inputs and outputs are equal) comes from the input portion and the largest component of the input is the signature which is 72 bytes with encoding.  If we assume the average tx consists of two inputs and two outputs that makes the average tx size 368 bytes.  Roughly 39% of that or 144 bytes is from the two signatures for the two inputs.  However a tx is only valid if all the signatures are valid.

Is it necessary to store each signature separately?
Is there some ECDSA operation which could allow verification that data was signed by multiple private keys with a single signature and multiple public keys?

Given:
private keys a & b
Public keys A & B
Data to be signed d

Is it possible to create a signature S such that it can be verified given only A, B, and d?
Pages:
Jump to: