pull down to refresh

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
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.

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 n inputs: n ร— 64 bytes

AFTER

โ€“ Keep 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
Weโ€™ll explain more in the next post ๐Ÿ‘‡

Follow @Bitcoin_Devs for more Bitcoin technical threads.