From 9c5076575b166d7f8561d1baeafcd151424775e0 Mon Sep 17 00:00:00 2001 From: Olga Kunyavskaya Date: Mon, 14 Aug 2023 18:59:28 +0300 Subject: [PATCH] fix git actions --- neps/nep-0488.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/neps/nep-0488.md b/neps/nep-0488.md index 104caf6b8..83def827f 100644 --- a/neps/nep-0488.md +++ b/neps/nep-0488.md @@ -16,14 +16,14 @@ A pre-compiled NEAR runtime functions for operations on BLS12-381 curve. It is a ## Motivation -The BLS12-381[^1][^11][^52] is a wildly -used[^2][^3][^4][^5][^6][^7] elliptic curve with 120+ bits of security[^8] which support **the *pairing* operation*.* It is a good alternative for bn254 elliptic curve[^9][^12], which also supports the aggregation, and is currently implemented as NEAR precompiles[^10]. Recent research shows that it contains only <100 bits of security[^13] and we can see the tendency of switching from bn254 to bls12-381(ZCash[^14], Ethereum[^15], Tezos[^16]). +The BLS12-381([^1],[^11],[^52]) is a wildly +used([^2],[^3],[^4],[^5],[^6],[^7]) elliptic curve with 120+ bits of security[^8] which support **the *pairing* operation*.* It is a good alternative for bn254 elliptic curve([^9], [^12]), which also supports the aggregation, and is currently implemented as NEAR precompiles[^10]. Recent research shows that it contains only <100 bits of security[^13] and we can see the tendency of switching from bn254 to bls12-381(ZCash[^14], Ethereum[^15], Tezos[^16]). The implementation of BLS12-381 curve operations from this NEP as a precompile will allows effective verify the BLS-signature and zkSNARKs. At the moment, BLS signature verification for BLS12-381 is impossible due to the limitation of the gas in 300 TGas for one transaction. Effective BLS-signature verification based on BLS12-381 elliptic curve will be useful for cross-chain interactions. Some of the blockchains use the BLS signature in the protocols. If we want to implement the clients for this blockchain on-chain in NEAR, we should be able to effectively verify the BLS signature. We can want to have a client for a specific blockchain on Near for creating a bridge to verify the transaction from another blockchain and use it in Near. Examples of blockchains that use BLS signature based on BLS12-381: Eth2.0[^3], Filecoin[^6] and Tezos[^5]. Especially, it is necessary for Rainbow Bridge[^17] to make trustless transfers from Ethereum 2.0 to Near. -zkSNARKs is useful for working with user's private information[^18][^19]. Zeropool[^20] is a project who implements zkSNARKs verifier on Near and is currently based on alt-bn128. Implementation of the precompiles for BLS12-381 can make the projects like that more secure. zkSNARKs is also used in Roll Ups[^21][^22][^23] scaling solutions. +zkSNARKs is useful for working with user's private information([^18],[^19]). Zeropool[^20] is a project who implements zkSNARKs verifier on Near and is currently based on alt-bn128. Implementation of the precompiles for BLS12-381 can make the projects like that more secure. zkSNARKs is also used in Roll Ups([^21], [^22], [^23]) scaling solutions. This proposal is based on a similar proposal for Ethereum: EIP-2537[^15]. @@ -482,7 +482,7 @@ Here you can find benchmark test vectors for EIP-2537[^46]. It doesn’t contain ***Tests References:*** -We can use all the tests for addition for Ethereum[^47][^48] to check the case with k = 2. Also, we can reuse the `error` points. Can use the vectors for multiexp functions if separately perform multiplication. +We can use all the tests for addition for Ethereum([^47], [^48]) to check the case with k = 2. Also, we can reuse the `error` points. Can use the vectors for multiexp functions if separately perform multiplication. ***Error cases:***