Skip to content

fix(finality): reject PoDA-only finality - #5

Draft
sidhujag wants to merge 1 commit into
mainfrom
codex/fail-closed-finality
Draft

fix(finality): reject PoDA-only finality#5
sidhujag wants to merge 1 commit into
mainfrom
codex/fail-closed-finality

Conversation

@sidhujag

Copy link
Copy Markdown
Member

Summary

Fails closed when canonical Syscoin RPC has no record for a DA blob. PoDA check_vh remains an availability/retrieval fallback, but it can no longer establish either chainlock or confirmation finality.

Previously, an RPC miss plus any PoDA archive hit returned Finalized. Because PoDA supplies neither a chainlock nor a mined height, an unavailable, compromised, or untrusted archive could bypass the configured Bitcoin finality policy and suppress timeout republishing.

Security properties

  • chainlock mode returns Missing on a canonical RPC miss, regardless of PoDA availability;
  • confirmation mode returns Missing on a canonical RPC miss, regardless of PoDA availability;
  • Missing remains eligible for timeout republishing;
  • PoDA fallback is unchanged for blob availability and retrieval;
  • all changed production logic carries explicit SYSCOIN: rationale.

Validation

  • cargo +1.93.1 test --locked: 35/35 tests pass;
  • cargo +1.93.1 clippy --locked --all-targets -- -D warnings: passes;
  • formatting and diff checks pass.

The zkSYS V32 branch still requires the Blake2s publication behavior from v0.1.13, whereas current v0.1.14 switched publication IDs to Keccak. The same reviewed fix is therefore backported, patch-identically, on commit 23de0d4 (codex/v0.1.13-fail-closed-finality) for an exact immutable server dependency pin. This PR fixes main; a future release should carry the fix forward as well.

@sidhujag

Copy link
Copy Markdown
Member Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Can't wait for the next one!

Reviewed commit: 3556e714c6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant