Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Groth16 verifier with OP_MUL and OP_CAT enabled #11

Open
msinkec opened this issue Jan 30, 2024 · 0 comments
Open

Groth16 verifier with OP_MUL and OP_CAT enabled #11

msinkec opened this issue Jan 30, 2024 · 0 comments

Comments

@msinkec
Copy link

msinkec commented Jan 30, 2024

In 2022, the sCrypt team demonstrated a fully functional Groth16 verifier implemented in Bitcoin Script, which has OP_MUL and OP_CAT enabled, in addition to supporting arithmetic operations on larger integers.

https://xiaohuiliu.medium.com/zk-snarks-on-bitcoin-239d96d182bd

For this, they implemented elliptic curve operations for BN-256 along with pairings. They utilized their high-level sCrypt programming language, which compiles down to native Bitcoin Script.

The size of the script is slightly more than 1MB, which would still be too large for practical use on the BTC mainnet in its current form. However, it might still be worth mentioning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant