ever-node
ever-node copied to clipboard
Add BLS12-381 support
Abstract
The document describes the changes necessary to make in the virtual machine to support BLS12-381
Motivation
Support for BLS12-381 will allow the implementation of new mechanics in the everscale network. It can be used by ZK-protocols.
Specifications
Implement in VM all the necessary primitives for working with BLS12-381
- Checks BLS signature
- Aggregates signatures.
- Addition\Subtraction\Negation on G1
- Addition\Subtraction\Negation on G2
- others
Rationale
Why BLS12-381?
At this point, BLS12-381 seems to be the rational choice due to the multiple reasons
- Growing support in the industry. Different projects are using this curve to make use of aggregatable signatures (validator's signatures in Ethereum Beacon chain/Account Abstraction multi-signature wallets/etc)
- Keeping compatibility with the TON network