[NUT-11] SIG_ALL non-standard construction breaks interop with spec-compliant mints
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- go
- 領域
- cryptography, payments
調査の方向性
The issue names no source files, and its cited audit report sits on a local machine, so start by reading NUT-11 in the Cashu spec and locating the P2PK signing and verification code in this Go repo. The first task is to check whether the SIG_ALL, n_sigs_refund, n_sigs=0, duplicate-key and expired-lock findings still reproduce on upstream main. Done means each finding is either reproduced with a test or closed as no longer applicable.
索引モデルが issue の本文から書いたものです。
説明
Migrated from Amperstrand/tollgate-module-basic-go#81 as part of the fork retirement — OpenTollGate/tollgate-module-basic-go is the single source of truth; the fork issue carries the original discussion and any lab evidence. Retirement plan: #758.]
NUT-11 P2PK implementation uses a non-standard SIG_ALL construction that breaks interoperability with spec-compliant mints. Gonuts puts the witness on outputs with per-output signatures over sha256(B_), while the spec requires: first-input witness over aggregated message.
Additional issues:
n_sigs_refundtag not implemented at alln_sigs=0accepted (spec: malformed, MUST reject)- Duplicate-key-per-pathway not rejected
- Expired-lock drops the primary pathway (spec: both continue)
Result: gonuts↔gonuts interop only; cannot interoperate with nutshell/cdk/cashu-ts mints.
Fix: Implement SIG_INPUTS construction per spec; implement missing tag validation; fix expired-lock handling.
Evidence: /home/ubuntu/src/tollgate_audit_report_2026-08-26.md §6, line 101; §7
Section reference: /home/ubuntu/src/tollgate_audit_report_2026-08-26.md §6
Migrated 2026-10-09. Applicability to current upstream main (4614ac2, post-rc1) was not re-verified during migration — confirming whether the finding still reproduces upstream is this issue's first task.
- 主要言語
- Go
- スター
- 12
- フォーク
- 14
- 平均マージ
- 1日 5時間
- マージ済み PR(30日)
- 239
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
OpenTollGate/tollgate-module-basic-go のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
OpenTollGate/tollgate-module-basic-go#833 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
OpenTollGate/tollgate-module-basic-go#813 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
OpenTollGate/tollgate-module-basic-go#804 ·
メンテナーはふだん 1 日以内に返信
-
go-battery needs an ndsctl on PATH: TestPurchaseSessionGuardHoldsThroughTheOutcomeUnknownWindow fails on bare hosts (passes with stub)対応中かも @Amperstrand が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
OpenTollGate/tollgate-module-basic-go#726 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
rebrand-literal-gutter: uhttpd section-vocabulary check trips on a COMMENT (uhttpd.luci in 92-tollgate-admin-setup:178)対応中かも @Amperstrand が 1 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
OpenTollGate/tollgate-module-basic-go#723 ·
メンテナーはふだん 1 日以内に返信
OpenTollGate/tollgate-module-basic-go の issue をすべて見る
似ている issue
-
raised-by:verifier
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
medici-finance/assay#2718 ·
メンテナーはふだん 1 日以内に返信
-
connector good first issue help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
soma-intelligence/open-health-sync#60 ·
メンテナーはふだん 1 日以内に返信
-
automation models
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
microsoft/TypeScript#64758 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
SocialGouv/iterion#2369 ·
メンテナーはふだん 1 日以内に返信