CISA Part 2: Half Signature Aggregation (Half-Agg)
Letโs break down how it works and where it can be used โ with diagrams ๐
Quick reminder from Part 1
CISA allows multiple Schnorr signatures from different inputs to be combined into one aggregated signature.
CISA has two modes:
โ Full agg: Interactive
โ Half agg: Non-Interactive
โ Half agg: Non-Interactive
In this post, we explain half-agg.
Half-agg allows signatures to be combined into one
WITHOUT signers needing to interact
Each signer signs independently, and an aggregator compresses the result later.
Each signer signs independently, and an aggregator compresses the result later.
Why does half-agg save ~50% in size?
(If you're not into technical breakdowns, feel free to skip this part ๐)
BEFORE
โ Each Schnorr sig = 64 bytes
โ So for
โ So for
n
inputs: n ร 64 bytes
AFTER
โ Keep
โ Combine all
โก๏ธ New size:
R
valuesโ Combine all
s
values into oneโก๏ธ New size:
32 ร n + 32 bytes
Based on recent Bitcoin usage...
Estimated savings using half-agg:
- ~19.3% space
- ~6.9% fees
(Assumes no major behavior change post-CISA)
Now that we understand how half-agg worksโฆ
Letโs look at where it can actually be used ๐
Application #1: Transaction-wide Aggregation
Combine all input signatures within a single transaction.
Application #2: Block-wide Aggregation
Combine all input signatures across a whole block.
Application #3: Off-chain protocols / P2P
Used for things like Lightning gossip messages โ no miner or soft fork required.
But there are challenges!!
At the block level, half-agg can:
โ Break adaptor sigs (e.g. DLCs, atomic swaps)
โ Impact reorg recovery of transactions
โ Break adaptor sigs (e.g. DLCs, atomic swaps)
โ Impact reorg recovery of transactions
Weโll explain more in the next post ๐