Skip to content

Releases: Modulo-P/Cardano-Semaphore

v0.9.4

Choose a tag to compare

@AgustinBadi AgustinBadi released this 31 Mar 04:22

Added a fix to use a reference input to read the vkey instead of just reading the vkey from the input (as originally intended).

v0.9.3

Choose a tag to compare

@AgustinBadi AgustinBadi released this 30 Mar 17:00

● Fix: signal message tamper check crash (~55% of messages)

Condition 5 of the Signal spend handler was using scalar.from_bytearray_big_endian to convert the blake2b_256 message digest into a BLS12-381 scalar. Since
blake2b_256 produces 256-bit values and the scalar field prime r is ~255 bits, roughly 55% of all possible messages produce a hash ≥ r, causing
from_bytearray_big_endian to return None and crash the validator via a failed expect.

The fix replaces that with builtin.bytearray_to_integer(...) % scalar.field_prime, which reduces the digest directly into the scalar field — the same reduction the
circom circuit applies implicitly when receiving signalHash as a public input, keeping both sides consistent.

v0.9.2

Choose a tag to compare

@AgustinBadi AgustinBadi released this 03 Nov 18:27

Full Changelog: v0.9.1...v0.9.2

v0.9.1

v0.9.1 Pre-release
Pre-release

Choose a tag to compare

@AgustinBadi AgustinBadi released this 29 Aug 03:17

Changes

  • The types of the protocol have been moved to the library to ease the external import.

Full Changelog: v0.9.0...v0.9.1

v0.9.0

v0.9.0 Pre-release
Pre-release

Choose a tag to compare

@AgustinBadi AgustinBadi released this 29 Aug 02:38
79efb17

This version is a pre-release which includes the core features of the original protocol:

  • Proof of membership: Users can proof their membership within a group anonymously.
  • Double messaging prevention: Users can broadcast messages with the garantees that are tied to the proof they generated.
  • Group Reausability: Since the protocol is implemented in a modular way, the group could be reused in many semaphore events.