BLS Signatures which are used in Ethereum's PoS consensus are based on Elliptic Curve Cryptography which isn't Post-Quantum Secure.
\[ H(m) \rightarrow h \]
\[ m \not\leftarrow h \]
\[ H^i(m) = H(H(...H(m))) \]
\[ H^{i+1} = H(H^i(m)) = H(H(H(...H(m)))) \]
\[ pk = H(...H(H(sk))) \]
If one gets an interim value at position \(i\) and knows the overall length \(n\) of the Hash Chain, then they can continue to hash the interim value \(n - i\) times to see if they end up with \(pk\).
We have to distribute \(l\) Public Keys for signature verification.
Hash all \(l\) Public Keys "into" one Public Key \(pk\).
Compute a checksum and append it to the data that will be signed.
Checksum changes whenever any \(\sigma_i\) is changed.
\[ c = \sum_{i=0}^{l-1} ((2^w - 1) - x_i) \]
Sum of all the missing hash iterations necessary to reach \(pk_i\) for each individual chunk \(l_i\).
\(c\) will be reduced by \(1\), whenever a signature \(\sigma' = H(\sigma)\) for chunk \(l\) is forged.
\(c\) is also signed as \(\sigma_c = H^c(sk_c)\).
We'd need to undo one hash iteration to adapt the checksum \(c\) which isn't possible due to the one-wayness of Hash Functions.
Checksum adds additional overhead…
Allow only messages that result in a pre-defined sum of interim values.
\[ T \approx \frac{l \times (2^w - 1)}{2} \]
How do we go from a One-Time Signature to Many-Time Signatures?
Why is Winternitz a One-Time Signature Scheme?
So how do we go from OTS to MTS?
Great, because it only uses Hash Functions!
Signing & Verifying
Enumerate leafs from left to right.
Each leaf will be assigned to a slot = Synchronization
Post-Quantum SNARK
SHA-3 (Conservative choice)
Poseidon 2 (Faster aggregations)
Signature Size = Bandwidth Requirement
Computation = Verification & Aggregation Costs
If this piqued your interested, then you can use the resources I used to make this presentation to dive deeper into the specifics.