Skip to content

Solidity implementation of an on-chain accountable light client verifier#1546

Merged
Noc2 merged 13 commits intow3f:masterfrom
itering:master
Mar 29, 2023
Merged

Solidity implementation of an on-chain accountable light client verifier#1546
Noc2 merged 13 commits intow3f:masterfrom
itering:master

Conversation

@hackfisher
Copy link
Copy Markdown
Contributor

Project Abstract

One solidity implementation of an on-chain accountable light client verifier based on a recent paper.

After reading the paper, we found it to be extremely valuable. It presents an efficient method for utilising SNARK to verify the aggregated public key of signers, while still holding those signers accountable. This approach greatly improves the speed and cost-effectiveness of proof generation.

This verifier will be implemented based on the BLS12-377 and BW6-761 elliptic curves, which is consistent with the implementation in the paper and W3F's PoC implementation.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • A BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (aUSD/USDT) address for the payment of the milestones is provided in the application.
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @wuminzhe:matrix.org (change the homeserver if you use a different one)

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Feb 17, 2023

CLA assistant check
All committers have signed the CLA.

# Conflicts:
#	applications/solidity-verifier-for-accountable-light-client.md
@semuelle semuelle added the discussion private Discussion of application happens in private. label Feb 17, 2023
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Feb 17, 2023

The applicant has requested the discussion of the application to happen in a private chat room.

@AlistairStewart
Copy link
Copy Markdown

Cool, I'm glad people are interested in this. Obvious question, BLS12-377 and BW6-761 do not have precompiles on Ethereum, but there are EIPs for them and Celo have an EVM with these precompiles. Are you going to write Solidity code assuming that the EVM has such precompiles? It's certainly feasible to have them for a substrate EVM.

We are evaluating whether to use BLS12-381 instead of BLS12-377, ana that will be supported by Ethereum and most EVM chains sometime, but the corresponding BW6 curve probably won't have precompiles.

@semuelle semuelle self-assigned this Feb 24, 2023
@github-actions github-actions bot added the stale label Mar 11, 2023
@semuelle semuelle added ready for review The project is ready to be reviewed by the committee members. and removed stale labels Mar 13, 2023
Copy link
Copy Markdown
Contributor

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(requested changes in the private room)

Noc2
Noc2 previously approved these changes Mar 16, 2023
Copy link
Copy Markdown
Contributor

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the update. I'm happy to go ahead with it.

semuelle
semuelle previously approved these changes Mar 16, 2023
Copy link
Copy Markdown
Contributor

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@wuminzhe wuminzhe dismissed stale reviews from semuelle and Noc2 via 6e8fac9 March 20, 2023 01:11
Noc2
Noc2 previously approved these changes Mar 20, 2023
semuelle
semuelle previously approved these changes Mar 22, 2023
randombishop
randombishop previously approved these changes Mar 23, 2023
Copy link
Copy Markdown
Contributor

@randombishop randombishop left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Exciting project pushing the limits of light clients and making them lighter at the same time.
Learnt a lot by reading this application and excited to see this kind of progress!

takahser
takahser previously approved these changes Mar 28, 2023
@wuminzhe wuminzhe dismissed stale reviews from takahser, randombishop, semuelle, and Noc2 via 27d1ec6 March 29, 2023 03:04
@Noc2 Noc2 merged commit f04ae51 into w3f:master Mar 29, 2023
@github-actions
Copy link
Copy Markdown
Contributor

Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section of our README for more ways to find answers to your questions.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at grantsPR@web3.foundation and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

discussion private Discussion of application happens in private. ready for review The project is ready to be reviewed by the committee members.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants