hinTS
BLS署名の閾値署名。DKG (distributed key generation)を必要とせず、各署名者のローカルでのセットアップ(silent setup)のみでよいことが特徴。 通常のBLS署名集約では、署名を$ \sigma_i, 公開鍵を$ \mathrm{pk}_iとしたとき、
$ e(\prod_i \sigma_i, H) = e(\prod_i \mathrm{pk}_i, M)
を検証すればよい。しかしながら、$ \prod_i \mathrm{pk}_iはSNARK回路内で実行する必要があり、一般的にコストが高い。hinTSでは、各署名者は公開鍵$ \mathrm{pk}_iとともに、「ヒント」$ \mathrm{hint}_iを送信する。
aggregatorは$ \mathrm{hint}_iをSNARK回路のwitness (private input)に入れて集約公開鍵$ \mathrm{aPK}を構成する。$ \mathrm{hint}_iのおかげで、集約公開鍵を計算するコストが$ \prod_i \mathrm{pk}_iを計算するよりも小さくなるというのがミソ。
aggregatorのコストを、各署名者に分担させる感じ?nunocloth.icon