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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions