TR-2026-007
gyotak-ratio-log
ZK Formula Ratio Compliance Proof — Preprod Evidence
ZK配合比率適合証明 — Preprod実証報告
หลักฐานการพิสูจน์ความสอดคล้องของสัดส่วนสูตรด้วย ZK บน Preprod
Proving manufacturing formula compliance without disclosing actual ratio values · Midnight Preprod · 2026-05-26
実際の配合比率を公開せずに製造基準適合を証明 · Midnight Preprod · 2026年5月26日
พิสูจน์ความสอดคล้องของสูตรการผลิตโดยไม่เปิดเผยค่าสัดส่วนจริง · Midnight Preprod · 26 พ.ค. 2569
✓ Preprod VerifiedPreprod 検証済みยืนยันบน Preprod แล้ว
Abstract / 要旨 / บทคัดย่อ
This report documents the Preprod deployment and PASS/FAIL circuit verification of the
gyotak-ratio-log smart contract on the Midnight Network. The contract implements
a Zero-Knowledge Proof system that proves manufacturing formula compliance against declared bounds
without disclosing the actual component ratio values to any observer.
Two compliance records were anchored on-chain at blocks 941,878 (PASS) and 941,906 (FAIL),
demonstrating that ratio_a=3500 (35%) and ratio_b=2000 (20%) were correctly evaluated
against the declared standard [30%–40%] / [60%–70%] — while the actual values never appeared
on-chain. This document is published as defensive prior art.
本報告書は、Midnight ネットワーク上の gyotak-ratio-log スマートコントラクトの
Preprod デプロイおよび PASS/FAIL 回路検証を記録する。本コントラクトは、
製造配合比率の実際の値を一切公開せずに、宣言された基準に対する適合性を証明する
ゼロ知識証明システムを実装する。
ブロック 941,878(PASS)および 941,906(FAIL)において 2 件の適合記録がオンチェーンに刻まれ、
ratio_a=3500(35%)および ratio_a=2000(20%)が宣言規格 [30%–40%] / [60%–70%] に対して
正しく評価されたことを実証した — 実際の値はチェーン上に一切現れない。
本文書は防衛的公開として発行する。
รายงานนี้บันทึกการ deploy บน Preprod และการยืนยันวงจร PASS/FAIL ของ smart contract
gyotak-ratio-log บน Midnight Network ระบบใช้ Zero-Knowledge Proof
เพื่อพิสูจน์ความสอดคล้องของสูตรการผลิตกับขอบเขตที่ประกาศ โดยไม่เปิดเผยค่าสัดส่วนส่วนประกอบจริงแก่ผู้ใดเลย
บันทึกความสอดคล้อง 2 รายการถูกบันทึกบนเชนที่บล็อก 941,878 (PASS) และ 941,906 (FAIL)
เผยแพร่เป็น Defensive Prior Art
1. Contract Deployment
1. コントラクトデプロイ
1. การ Deploy Contract
| Parameter項目พารามิเตอร์ |
Value値ค่า |
| Contract | gyotak-ratio-log |
| Network | Midnight Preprod |
| Contract Addressコントラクトアドレスที่อยู่ Contract |
931553c9aeadf0b1cba25d636b0359e0af6633034e5b4d3c2f5fbba8d372a4c7 |
| Deploy Dateデプロイ日時วันที่ Deploy |
2026-05-26 08:53:52 UTC |
| Owner Public Keyオーナー公開鍵Public Key เจ้าของ |
ab4ce06ac08f6ab48f5afb1064ef205ae7d23c8f61beaa0867c88731ee48a119 |
| Prior Report先行報告รายงานก่อนหน้า |
TR-2026-006 · gyotak-temp-log Preprod |
2. Contract Specification
2. コントラクト仕様
2. ข้อกำหนด Contract
| Function関数ฟังก์ชัน |
Description説明คำอธิบาย |
| recordCompliance |
ZK-proof-based formula ratio PASS/FAIL determination (owner-gated write)
ZK証明ベースの配合比率 PASS/FAIL 判定(オーナーゲート書き込み)
การตัดสิน PASS/FAIL ของสัดส่วนสูตรด้วย ZK proof (เขียนโดยเจ้าของ)
|
| verifyCompliance |
Public read — anyone can verify a formulaId's compliance record
公開読み取り — 誰でも formulaId の適合記録を検証可能
อ่านสาธารณะ — ทุกคนสามารถตรวจสอบบันทึกความสอดคล้องของ formulaId
|
| rotateOwner |
Transfer contract ownership to new public key
コントラクト所有権を新しい公開鍵に移転
โอนความเป็นเจ้าของ contract ไปยัง public key ใหม่
|
| Parameterパラメータพารามิเตอร์ |
Value値ค่า |
| Ratio encoding比率エンコードการเข้ารหัสสัดส่วน |
Basis points — total = 10,000 = 100.00%ベーシスポイント — total = 10,000 = 100.00%Basis points — total = 10,000 = 100.00% |
| Private witnessesプライベートウィットネスPrivate witnesses |
ratio_a, ratio_b (Uint<32>, never on-chainオンチェーン不記録ไม่บันทึกบนเชน) |
| Chain-time bindingチェーン時刻拘束การผูกเวลาบนเชน |
±600s of producing block(生成ブロック時刻)ของบล็อกที่ผลิต |
| Sum integrity assertion合計整合性アサーションการยืนยันความถูกต้องของผลรวม |
ratio_a + ratio_b == total (TX rejected if false不一致でTX拒否TX ถูกปฏิเสธหากไม่ตรง) |
3. ZK Circuit Design
3. ZK回路設計
3. การออกแบบ ZK Circuit
// Private witnesses — NEVER disclosed to chain:
witness getRatioA(formulaId: Bytes<32>): Uint<32>;
witness getRatioB(formulaId: Bytes<32>): Uint<32>;
export circuit recordCompliance(
formulaId, standardId,
min_a, max_a, min_b, max_b, total, timestamp
): [] {
// ① Owner gate
assert(disclose(publicKey(localSecretKey()) == owner), "unauthorized");
// ② Chain-time binding (±600s)
const t = disclose(timestamp);
assert(blockTimeGte((t - 600) as Uint<64>), "timestamp too far in past");
assert(blockTimeLte((t + 600) as Uint<64>), "timestamp too far in future");
// ③ Private witnesses — ratio values stay inside ZK circuit
const ratio_a = getRatioA(formulaId);
const ratio_b = getRatioB(formulaId);
// ④ Sum integrity (result: true/false publicly asserted, values hidden)
assert(disclose((ratio_a + ratio_b) == total), "ratio sum mismatch");
// ⑤ Range compliance — only 0/1 result leaves the circuit
const a_ok = (ratio_a >= min_a) && (ratio_a <= max_a);
const b_ok = (ratio_b >= min_b) && (ratio_b <= max_b);
const result: Uint<32> = disclose(a_ok && b_ok) as Uint<32>;
// ⑥ Write to ledger (public: bounds + result; private: ratio values)
complianceRecords.insert(disclose(formulaId), disclose(record));
}
4. Circuit Verification Results
4. 回路検証結果
4. ผลการยืนยันวงจร
Two compliance records were anchored on Midnight Preprod on 2026-05-26.
2026年5月26日、Midnight Preprod に 2 件の適合記録が刻まれた。
บันทึกความสอดคล้อง 2 รายการถูกบันทึกบน Midnight Preprod เมื่อ 26 พ.ค. 2569
| Testテストการทดสอบ |
TX Hash |
Blockブロックบล็อก |
ratio_a |
ratio_b |
Bounds A / B範囲 A / Bขอบเขต A / B |
Result結果ผลลัพธ์ |
| recordCompliance PASS |
003155333bdf84a2...e191 |
941,878 |
3,500 (35%) ← secret |
6,500 (65%) ← secret |
[3000,4000] / [6000,7000] |
PASS ✅ (result=1) |
| recordCompliance FAIL |
0019a48e74b94e70...aa21 |
941,906 |
2,000 (20%) ← secret |
8,000 (80%) ← secret |
[3000,4000] / [6000,7000] |
FAIL ❌ (result=0) |
Key observation: ratio_a and ratio_b values shown above are for documentation purposes only.
They do NOT appear anywhere in the on-chain transaction data.
Any observer querying the blockchain learns only: standardId, bounds, total, and the 0/1 result.
重要: 上記の ratio_a・ratio_b 値はドキュメント用に記載したものであり、
オンチェーンのトランザクションデータには一切存在しない。
ブロックチェーンを照会した第三者が知ることができるのは standardId・範囲・合計・0/1 結果のみである。
หมายเหตุสำคัญ: ค่า ratio_a และ ratio_b ที่แสดงด้านบนมีไว้เพื่อการบันทึกเอกสารเท่านั้น
ค่าเหล่านี้ไม่ปรากฏในข้อมูลธุรกรรมบนเชนแต่อย่างใด
| # |
Function関数ฟังก์ชัน |
Blockブロックบล็อก |
Result結果ผลลัพธ์ |
| 1 | recordCompliance | 941,878 | ✓ PASS (result=1) |
| 2 | recordCompliance | 941,906 | ✓ FAIL (result=0) |
5. Claimed Technical Novelty (Defensive Prior Art)
5. 技術的新規性の主張(防衛的公開)
5. ความใหม่ทางเทคนิคที่อ้างสิทธิ์ (Defensive Prior Art)
- Confidential compliance proof for manufacturing formulas: Component ratio values are injected exclusively as ZK private witnesses and never reach the chain.
- Sum integrity enforcement inside the ZK circuit:
ratio_a + ratio_b == total is asserted privately, preventing inconsistent parameters without revealing components.
- Both PASS and FAIL outcomes recorded on-chain (transparency by design): Non-compliant formulations produce result=0, enabling complete audit trails while preserving ratio confidentiality.
- Extensibility to N-component formulas: The architecture generalizes to ratio_a / ... / ratio_N with sum assertion
ratio_a + ... + ratio_N == total.
- Domain-separated key space: Domain tag
"gyotak:ratiolog:pk:" isolates this contract's owner key derivation from gyotak-catch and gyotak-temp-log.
- 製造配合比率の秘匿的適合証明: 成分比率値はZKプライベートウィットネスとしてのみ注入され、チェーンには到達しない。
- ZK回路内での合計整合性強制:
ratio_a + ratio_b == total がプライベートにアサートされ、成分を開示せずに不整合パラメータを排除する。
- PASS/FAIL両方のオンチェーン記録(透明性設計): 不適合配合は result=0 として記録され、比率の秘匿性を保ちながら完全な監査証跡を実現する。
- N成分配合への拡張可能性: ratio_a / ... / ratio_N と合計アサーション
ratio_a + ... + ratio_N == total への一般化が可能。
- ドメイン分離キー空間: ドメインタグ
"gyotak:ratiolog:pk:" により、gyotak-catch・gyotak-temp-log とオーナーキー導出を分離。
- การพิสูจน์ความสอดคล้องแบบลับสำหรับสูตรการผลิต: ค่าสัดส่วนส่วนประกอบถูก inject เป็น ZK private witnesses เท่านั้น ไม่มีทางไปถึงเชน
- การบังคับความถูกต้องของผลรวมภายใน ZK circuit:
ratio_a + ratio_b == total ถูก assert แบบส่วนตัว
- บันทึกทั้ง PASS และ FAIL บนเชน (ออกแบบเพื่อความโปร่งใส): สูตรที่ไม่สอดคล้องให้ result=0 สร้างเส้นทางการตรวจสอบครบถ้วน
- ขยายได้ถึง N ส่วนประกอบ: สถาปัตยกรรมนี้ขยายได้ถึง ratio_a / ... / ratio_N
- พื้นที่กุญแจแยกโดเมน: Domain tag
"gyotak:ratiolog:pk:"
6. Design Philosophy
6. 設計哲学
6. ปรัชญาการออกแบบ
"Trade secrets can coexist with verifiable compliance. A manufacturer should not have to choose between protecting their formula and proving it meets the standard. Zero-knowledge proofs eliminate that dilemma."
「企業秘密と検証可能な適合性は共存できる。製造業者は配合を守ることと基準適合を証明することの二択を迫られるべきではない。ゼロ知識証明がそのジレンマを解消する。」
"ความลับทางการค้าและการปฏิบัติตามที่ตรวจสอบได้สามารถอยู่ร่วมกันได้ ผู้ผลิตไม่ควรต้องเลือกระหว่างการปกป้องสูตรกับการพิสูจน์ว่าตรงตามมาตรฐาน Zero-knowledge proofs ขจัดปัญหานี้"
7. GYOTAK Protocol Layers
7. GYOTAKプロトコルレイヤー
7. GYOTAK Protocol Layers
Layer 1
gyotak-catch
Catch provenance ZKP (GPS hidden, origin provable)漁獲産地 ZKP(GPS秘匿・産地証明)ZKP ที่มาของปลา (GPS ซ่อน)
✓ Mainnet
Layer 2
gyotak-temp-log
Storage temp + Quick-freeze ZKP (-20°C/15min)保管温度 + 急速冷凍 ZKPอุณหภูมิจัดเก็บ + Quick-freeze ZKP
✓ Preprod → Mainnet
Layer 3
gyotak-ratio-log
Formula ratio compliance ZKP (this report)配合比率適合 ZKP(本報告書)ZKP ความสอดคล้องของสัดส่วนสูตร
✓ Preprod
Layer 4+
gyotak-transit
Transport route verification輸送経路検証การยืนยันเส้นทางขนส่ง
Planned計画中วางแผน
8. Archive Metadata
8. アーカイブメタデータ
8. Metadata สำหรับ Archive
| Fieldフィールドฟิลด์ |
Value値ค่า |
| Document ID | ECOSUS-TR-2026-007 |
| Prior Report先行報告รายงานก่อนหน้า |
TR-2026-006 · perma.cc/AH2L-HKBH |
| Author著者ผู้เขียน |
Takuya Ogura, Chairman, ECOSUS CO., LTD. |
| Organization組織องค์กร |
ECOSUS CO., LTD. · 0205562030631 · Pranburi, Thailand |
| Report date報告日วันที่ |
May 26, 2026 |
| Contract addressコントラクトアドレスที่อยู่ Contract |
931553c9aeadf0b1cba25d636b0359e0af6633034e5b4d3c2f5fbba8d372a4c7 |
| Network | Midnight Preprod |
| Licenseライセンスใบอนุญาต |
CC BY 4.0 |