Skip to content

Conversation

@mikirov
Copy link
Contributor

@mikirov mikirov commented Oct 8, 2025

Project Abstract

TypeScript Bandersnatch VRF Suite is a comprehensive cryptographic implementation that provides enterprise-grade Verifiable Random Functions (VRFs) for the JAM protocol ecosystem. While the reference implementation exists exclusively in Rust, this project delivers a complete TypeScript alternative that eliminates language barriers and enables seamless integration with web applications, browser-based wallets, and Node.js environments. The implementation includes full IETF VRF, Pedersen VRF, and Ring VRF schemes built on the Bandersnatch curve, while maintaining strict compliance with Web3 Foundation specifications and RFC standards.

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.
  • Payment details have been provided (Polkadot AssetHub (USDC & DOT) address in the application and bank details via email, if applicable).
  • I understand that an agreed upon percentage of each milestone will be paid in vested DOT, to the Polkadot address listed in the application.
  • I am aware that, in order to receive a grant, I (and the entity I represent) have to successfully complete a KYC/KYB check.
  • 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: @_______:matrix.org (change the homeserver if you use a different one)

@github-actions github-actions bot added the admin-review This application requires a review from an admin. label Oct 8, 2025
@mikirov mikirov force-pushed the master branch 2 times, most recently from ceea3bd to f21ef3a Compare October 8, 2025 17:00
Copy link
Contributor

@Lederstrumpf Lederstrumpf left a comment

Choose a reason for hiding this comment

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

Hi @mikirov

Thanks for your application & apologies for the long wait.
I've discussed your application with Davide in the meantime.

Cost & scope of your proposal look reasonable to me, and having a typescript implementation is certainly useful since all JAM implementations I'm aware of still piggyback on https://github.com/davxy/ark-vrf, so having yours available too increases resilience (note there's also a python implementation in the pipeline: https://github.com/PolkadotOpenSourceGrants/apply/blob/master/applications/dot-ring.md).
I also don't have a concern with JAM prize here since this is a cryptographic primitive, and third party implementations are acceptable for this.

So an aye from my side.
Just left some nit suggestions so that once your delivery gets reviewed, it's clear which equations you were referring to since line numbers are fragile & ambiguous.
That being said, your delivery should of course be compatible with GP & W3F VRF/ring proof specs at time of your delivery, but I expect the relevant aspects to remain static.


| Number | Deliverable | Detailed Specification |
|--------|-------------|------------------------|
| **1.** | **Entropy VRF Implementation** | Complete implementation of Gray Paper equation 158: `H_vrfsig ∈ bssignature{H_authorbskey}{Xentropy ∥ banderout{H_sealsig}}{[]}` for block entropy generation |
Copy link
Contributor

Choose a reason for hiding this comment

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

158 is just the safrole.tex line number.

Suggested change
| **1.** | **Entropy VRF Implementation** | Complete implementation of Gray Paper equation 158: `H_vrfsig ∈ bssignature{H_authorbskey}{Xentropy ∥ banderout{H_sealsig}}{[]}` for block entropy generation |
| **1.** | **Entropy VRF Implementation** | Complete implementation of Gray Paper 0.7.2 equation 6.17: `H_vrfsig ∈ bssignature{H_authorbskey}{Xentropy ∥ banderout{H_sealsig}}{[]}` for block entropy generation |

**Deliverables**:

- **Entropy VRF**:
- Implements Gray Paper equation 158: `H_vrfsig ∈ bssignature{H_authorbskey}{Xentropy ∥ banderout{H_sealsig}}{[]}`
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- Implements Gray Paper equation 158: `H_vrfsig ∈ bssignature{H_authorbskey}{Xentropy ∥ banderout{H_sealsig}}{[]}`
- Implements Gray Paper 0.7.2 equation 6.17: `H_vrfsig ∈ bssignature{H_authorbskey}{Xentropy ∥ banderout{H_sealsig}}{[]}`

| Number | Deliverable | Detailed Specification |
|--------|-------------|------------------------|
| **1.** | **Entropy VRF Implementation** | Complete implementation of Gray Paper equation 158: `H_vrfsig ∈ bssignature{H_authorbskey}{Xentropy ∥ banderout{H_sealsig}}{[]}` for block entropy generation |
| **2.** | **Audit VRF Implementation** | Full audit signature generation for both tranche 0 and tranche N according to Gray Paper equations 54-62 and 105, including work report hashing |
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
| **2.** | **Audit VRF Implementation** | Full audit signature generation for both tranche 0 and tranche N according to Gray Paper equations 54-62 and 105, including work report hashing |
| **2.** | **Audit VRF Implementation** | Full audit signature generation for both tranche 0 and tranche N according to Gray Paper 0.7.2 equations 17.3 and 17.14, including work report hashing |

@Lederstrumpf Lederstrumpf added ready for review The project is ready to be reviewed by the committee members. and removed admin-review This application requires a review from an admin. labels Nov 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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.

2 participants