ref-fvm
ref-fvm copied to clipboard
Implement FIP-0079 with Backwards Compatibility
Description
FIP-0079, which has been accepted, introduces a syscall for BLS aggregate signatures. It has a PR open in https://github.com/filecoin-project/ref-fvm/pull/1914, but it has not been merged due to concerns about requiring a major FVM version update.
After some discussion we have leaned towards merging this feature under a feature flag to avoid the need of a major version update. This approach would allow the inclusion of the FIP in the upcoming network upgrade without waiting for other significant changes that necessitate a new FVM version.
Task
The current PR is outdated and has a lot of conflicts. We need to created a new branch and copy the PR changes in, make it backwards compatible and add it behind a feature flag.
References
- FIP-0079: Syscall for BLS Aggregate Signatures
- PR Discussion: Add syscall for BLS aggregate signatures #1914
Basically:
- We can make breaking changes to the SDK, as long as we bump the minor version.
- We can't remove the current
verify_signaturesyscall. - We can add and use the new
verify_bls_aggregatesyscall.
So, TODO: Bring back the verify_signature syscall behind an enabled-by-default feature. E.g. IPC can disable it.
👍 it's good not to break things if we don't really need to, especially if it means shipping features that users are asking for 🚢
This requires an update to FIP-0079 to remove the references to verify_signature, correct?
This requires an update to FIP-0079 to remove the references to verify_signature, correct?
IMO, no. From the perspective of the network, verify_signature will go away. Technically the ref-fvm will expose it as an available syscall, but the builtin actors won't use it (and user deployed actors aren't possible).