First player has secret
as well as the "check" point
then second player generates secret
and also update a running "check" point
Then contribution of second player can be checked:
Check second player really took last valid contribution:
Check second player really updated each consecutive term by multiplying by his secret again (t, t², etc)
If needed, (and in Testudo we will need), players can also submit a full "chain" on G2 as well. In this case, we can simply check the pairing between
the element in G1 and elements in G2, like:
Notation: Let
On both
First player with random coefficeints
Second player generates:
which is the entry wise multiplication of the two random vectors
Also for verification it is needed to share:
Check new player really used last valid contribution (from first player) to build its chain of
or written differently
or written differently
Derive randomness
then do
The second check will resolve to:
TODO: How to do for first check ? linear comb doesn't work - only batch millerloop + final exponentiation will make it work ?