Bitcoin Forum
September 04, 2026, 02:34:12 PM *
News: Latest Bitcoin Core release: 31.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Seeking review: a hand-rolled ECVRF (edwards25519) and √-stake Sybil-resistance  (Read 17 times)
GenDPaul (OP)
Newbie
*
Offline

Activity: 1
Merit: 0


View Profile
September 03, 2026, 03:35:58 AM
 #1

I built a Layer-1 as a reference implementation, and in the process hand-rolled some cryptography I'd value this list's review of the exact kind of thing that hides subtle bugs.

The two constructions I'd most like eyes on:

ECVRF over edwards25519 (RFC 9381-style), where I reuse each participant's Ed25519 signing key as the VRF key to seed an un-grindable randomness beacon for leader election. I validate the proof's gamma is in the prime-order subgroup and reject low-order points. My concern is the key-reuse composition (same key for Ed25519 signatures and as a VRF key) and whether my instantiation deviates from RFC 9381 in any way that weakens unpredictability or uniqueness.

A Sybil-resistance argument for concave stake weighting. Block-building weight scales with √(stake) to blunt wealth concentration, but concavity is splittable (k·√(S/k) = √k·√S), so I gate weight by an on-chain personhood score from independent attesters. I claim this reduces Sybil resistance to "the cost of obtaining independent attestations" and I'm explicit that it does not solve proof-of-personhood. I'd like the argument stress-tested.

It's MIT-licensed, ~2k lines of Python, with a test suite, a property-based fuzz harness, and a written security review that already documents known limitations (e.g. the reference VRF is not constant-time). It's experimental and secures nothing of value, I'm looking for scrutiny, not users.

Code and whitepaper: https://github.com/gendpaul/cairn

Thanks for any time you can spare tearing at it.

David Paul
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!