hiero-ledger / hiero-ledger/hiero-consensus-node

CLPR-5.2: HieroTSS Verifier (Hiero-to-Hiero)

Open
#24,541 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
406
Forks
226
Avg merge
3d 4h
Merged PRs (30d)
210

Description

## Story CLPR-5.2: HieroTSS Verifier (Hiero-to-Hiero)

**Parent Epic:** CLPR-5: Hiero Verifier Contracts
**Repo:** hiero-ledger/hiero-consensus-node

### Objective

Implement the HieroTSS verifier contract that validates TSS signatures and Merkle paths from Hiero peer ledgers. Expected to be the first production verifier.

### Acceptance Criteria

- **AC-1:** Verifies TSS signature over state root hash using the tracked TSS public key.
- **AC-2:** Verifies SHA-384 Merkle paths: recomputes root from leaf values and sibling hashes. Final root must match signed state root.
- **AC-3:** Extracts verified `ClprQueueMetadata` and `ClprMessagePayload[]` from proven Merkle leaves.
- **AC-4:** Handles TSS public key rotation: tracks current key, accepts transitions when proven by outgoing key.
- **AC-5:** Parses the Hiero-specific proof bytes protobuf (block proof + Merkle paths + queue metadata + messages).
- **AC-6:** Reverts on: invalid TSS signature, Merkle path mismatch, malformed proof bytes.
- **AC-7:** Gas-efficient: minimize storage reads, use memory for intermediate computations.

### Dependencies

- CLPR-5.1 (IClprVerifier interface)
- CLPR-4.2 (produces the proof bytes this verifier validates)
- TSS infrastructure (key format, signature scheme)

### Risk

**High** — TSS signature verification in EVM may require precompiles. SHA-384 is not natively cheap in EVM.

Contributor guide

Open the contributing guide

Research direction

Start by reading the CLPR-5.1 IClprVerifier interface and CLPR-4.2, which produces the proof bytes. Then review the TSS infrastructure for its key format and signature scheme, along with the Hiero-specific proof bytes requirements. Done means satisfying AC-1 through AC-7, including key rotation and reversion on invalid signatures, Merkle paths, or malformed proofs.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
blockchain, cryptography, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.