
觀測承諾協定 (OCP) v1.0.0
本文介紹了觀測承諾協定 (OCP),這是一個極簡的帳本相關原語,用於將任意數據的加密摘要提交至公共帳本,並在不依賴信任基礎設施的情況下產生可移植且可驗證的證明。
一個用於將任意數據摘要提交至公共帳本的極簡原語
摘要
本文介紹了 觀測承諾協定 (OCP) —— 一個與帳本相關的極簡原語,用於:
-
將任意數據的加密摘要提交至公共帳本
-
生成該承諾的可移植證明
-
在明確的假設下驗證該證明
OCP 隔離出最小可能的介面:
數據 → 摘要 → 帳本 → 驗證
它刻意避免引入關於存儲、身份、數據可用性或應用層語義的假設。
動機
目前尚無被廣泛採用的原語用於:
-
將任意數據摘要提交至帳本
-
生成這些承諾的可移植、可獨立驗證的證明
-
在不依賴受信任基礎設施的情況下驗證此類證明
現有的方法通常是:
-
特定於應用程式的
-
與存儲或數據可用性層(例如 IPFS、DA 系統)耦合
-
與身份或簽名方案捆綁
-
依賴於規範的編碼格式
OCP 將這些關注點分離,僅定義驗證帳本中包含摘要所嚴格必需的內容。
核心理念
OCP 定義了以下不變量:
當且僅當滿足以下條件時,證明才被接受:
-
H = hash(observation)
-
H ∈ R(tx),其中 tx 是證明所引用的交易
不暗示任何額外含義。
模型
參與方
-
證明者 (Prover) — 構建承諾並生成證明
-
驗證者 (Verifier) — 相對於驗證上下文評估證明
驗證上下文
驗證是相對於以下內容定義的:
-
帳本視圖 L
-
哈希函數 hash
-
編碼與提取規則 R
證明不是自描述的;正確性取決於對此上下文的共識。
特別是,驗證者必須應用與生成承諾時相同的規則 R。
證明結構
證明定義為:
P = (observation, H, tx_ref)
其中:
-
H = hash(observation)
-
tx_ref 標識 L 中的一筆交易
驗證函數
Verify(P, L, hash, R) → {0,1}
當且僅當滿足以下條件時,驗證成功:
-
hash(observation) = H
-
tx_ref 解析為交易 tx ∈ L
-
H ∈ R(tx)
這定義了一個極簡、確定性且無狀態的驗證程序。
安全直覺
如果攻擊者能生成一個證明 P* 滿足以下條件,則攻擊成功:
-
observation* ≠ observation
-
Verify(P*, L, hash, R) = 1
這需要:
-
破解哈希函數的碰撞抵抗性或原像抵抗性,或者
-
導致驗證者接受錯誤的帳本視圖
特性
-
極簡承諾原語
-
明確的驗證假設
-
與帳本相關的正確性
-
無需受信任的中間人
-
離線可驗證性(在可訪問 L 的情況下)
-
可與更高層系統組合
非目標
OCP 不定義:
-
數據可用性
-
身份或作者身份
-
簽名方案
-
規範編碼標準
-
應用層語義
為什麼這很重要
OCP 可以被視為一個缺失的原語:
一種將任意數據綁定到帳本並獨立驗證該綁定的標準化方式。
潛在應用包括:
-
AI 與數據溯源
-
科學記錄
-
感測器網絡
-
媒體真實性
-
跨系統審計追蹤
-
爭議證據系統
對抗性框架
該協定是有意設計為可證偽的。
給定一個有效的 (observation, proof) 對:
-
以任何方式修改觀測數據 (observation)
-
嘗試生成一個仍然能通過驗證的證明
如果在相同的 (L, hash, R) 上下文下成功,則該協定被破解。
代碼庫
[github.com](https://github.com/damonzwicker/observation-commitment-protocol)
GitHub - damonzwicker/observation-commitment-protocol: 用於記錄...的極簡以太坊原生協定
用於記錄數位資產的加密承諾並生成可移植證明的極簡以太坊原生協定。
包含:
-
規範說明 (v1.0.0)
-
參考實現
-
證明範例與驗證流程
-
端到端提交與驗證工具
規範
[github.com/damonzwicker/observation-commitment-protocol](https://github.com/damonzwicker/observation-commitment-protocol/blob/c91b9518e04e9d7cd7d59eb0db9569407cb749bf/docs/spec/ocp-v1.0.0.md)
docs/spec/ocp-v1.0.0.md
觀測承諾協定 (OCP) v1.0.0
摘要
觀測承諾協定 (OCP) 定義了一個極簡原語,用於將任意數據的加密摘要提交至公共帳本,並相對於指定的驗證上下文驗證這些承諾。
該協定由以下部分組成:
- 確定性的承諾程序
- 極簡的證明結構
- 參數化的驗證函數
OCP 不定義數據可用性、身份或應用層語義。
動機
此文件已截斷。顯示原文
徵求回饋
尋求關於以下方面的回饋:
-
此原語是否已經以更簡潔或更標準的形式存在
-
R(編碼與提取規則)定義中的歧義
-
帳本模型假設(例如:重組 reorgs、弱主觀性 weak subjectivity)
-
此抽象應屬於協定層還是應用層
-
任何被忽視的攻擊面
結語
OCP 提出了一個狹義的主張:
它不確立數據的含義。
它確立了特定的摘要已被包含在帳本中。
1 則貼文 - 1 位參與者
[閱讀完整主題](https://ethresear.ch/t/observation-commitment-protocol-ocp-v1-0-0/24602)