Skip to content

Add BLS12-381 support #211

@pavlovdog

Description

@pavlovdog

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions