CHIP-0011: BLS additions

This is the place to discuss CHIP11 which adds CLVM operators to increase on-chain BLS capabilities. Informal feedback and discussion of this topic is welcome here.

Formal reviews should be added to the Pull Request:

Are these equivalent statements?
(bls_g1_subtract 0 point1) and (blw_g1_negate point1)

No they are not. 0 is not a valid g1 point so you can’t pass it as a param.

Here is the source code for negation:

And a video to visualize the process:

However, (bls_g1_subtract A A A) is equivalent to (bls_g1_negate A), but we still want a separate operator for performance reasons.

1 Like

We are going to have a Zoom meeting to present CHIP-11 on Jan 18 at 11 AM EST (16:00 UTC). This CHIP will add a set of new operators to the CLVM in order to support additional BLS operations. Here is a link to the CHIP:

This is a public meeting, and it will be recorded for those who can’t make it. If you would like to join, please DM me your email address and I’ll send you an invitation.

Thats exactly what I was trying to get at. Implementing for performance reasons makes sense, thanks Dan!

Here is a video explaining the technical details of this CHIP:

Please leave your reviews in the PR, and feel free to add to the discussion in this forum.