Generic pairings for BW6#633
Conversation
|
A fun observation. In the Miller loop computation we are currently free to get rid of For BW6-761 nothing changes as it has |
That's still missing right? Would be good to have that PR open for this to test too, at least locally. Edit: NVM, just saw this in the 767 PR too. |
|
Surprisingly, on my machine Generic implementation:
Curve specific one:
what slightly contradicts https://hackmd.io/@gnark/BW6-761-changes#Final-exponentiation. Moreover, the addition chains optimization (#634) is less applicable to the curve specific implementation. The question then is if we want to support curve-specific final exp implementation for BW-761 for compatibility reasons? The results of the pairing computation will be different, but I don't know any project that would use it for smth other than bilinearity, that still holds. |
Co-authored-by: mmagician <marcin.gorny.94@protonmail.com>
|
Thank you for the review @mmagician Really exciting findings! |
|
@swasilyev On second thoughts this should go into breaking changes not features section in the CHANGELOG, WDYT? |
|
Btw, i think that currently the change is not breaking, as i moved the existing curve-specific implementation to the curve definition in arkworks-rs/curves#156. Though i would remove it later in another pr. |
|
I think it's still a breaking change because defining a BW6 curve now requires specifying more constants. |
|
@swasilyev I think the last part is to move the CHANGELOG entry from features to breaking changes: I agree with Pratyush that is indeed a breaking change on the API. |
Co-authored-by: mmagician <marcin.gorny.94@protonmail.com> Co-authored-by: Pratyush Mishra <pratyushmishra@berkeley.edu>
This reverts commit 83cd321.
Part of the project of getting BW6-767 the outer curve for BLS12-381 into arkworks, supersedes (fixes) #624
Implements pairings for the BW6 family in a generic way, following https://yelhousni.github.io/phd.pdf, section 4.4.2
for curves with "trace modulo r" = 0 (this is BW6-767)Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
Pendingsection inCHANGELOG.mdFiles changedin the GitHub PR explorer