ergoplatform / ergoplatform/sigma-rust

Check that `EcPoint` serialization format is the same that used in sigmastate

Open
#26 0 comments 0 reactions 0 assignees View on GitHub
A-tests help wanted
Dominant language
Rust
Stars
78
Forks
63
Avg merge
22h 5m
Merged PRs (30d)
3

Description

I suppose taking some serialized random keys in sigmastate and check that Rust implementation produces the same result is enough.

Implementation in Rust:
https://github.com/ergoplatform/sigma-rust/blob/de9f53e731acba2ec71628ffe7a7938d558434e1/sigma-tree/src/ecpoint.rs#L15-L28

In sigmastate:
https://github.com/ScorexFoundation/sigmastate-interpreter/blob/ec71a6f988f7412bc36199f46e7ad8db643478c7/sigmastate/src/main/scala/sigmastate/serialization/GroupElementSerializer.scala#L7-L48

Contributor guide

Open the contributing guide

Research direction

Start with sigma-tree/src/ecpoint.rs at the linked serialization implementation, then compare it with sigmastate's GroupElementSerializer.scala. Use the same serialized random keys in both implementations and confirm that the resulting bytes match; done means the Rust and sigmastate formats are demonstrably compatible.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust, scala
Domain
cryptography
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.