原理
樂觀優先,有爭議才投票。
多數主張不需要投票 —— 過了短挑戰期就自動判真。經濟安全來自被挑戰的威脅:任何人都可以發起爭議,由 OKB 質押者裁決。
任何合約或使用者在 X Layer 上呼叫 assertTruth(),提供主張文字、挑戰期和代幣保證金。
挑戰期內任何人皆可質押同等保證金提出爭議。無爭議則主張自動判真。
有爭議的主張升級給 OKB 質押者,於 24 小時一輪內 commit + reveal 答案。每位投票者皆能賺取 XTR。
勝方拿走敗方保證金。投錯者部分質押的 OKB 轉給投對者。已結算的主張永久不可變更。
面向開發者
一次合約呼叫,接入鏈上真相。
你的合約押保證金、發布主張,等回呼拿到結果。不必對接 oracle 閘道、無需 API 金鑰、不用拼裝鏈下共識。把 OOv3 介面引入你的專案即可上線。
合約從資金庫扣保證金,以你設定的挑戰期呼叫 assertTruth()。
無人挑戰則樂觀結算;若被爭議,OKB 投票者於 24 小時內裁決。
OOv3 對你的合約呼叫 assertionResolvedCallback(id, truthful)。結算市場 / 理賠 / 解鎖資金。
- 純鏈上 —— 不需要任何服務認證
- 繼承 X Layer 的經濟安全
- 可直接 fork 的審計參考合約
import { OptimisticOracleV3Interface } from "./OOv3.sol";
contract MyMarket {
OptimisticOracleV3Interface public immutable oo;
IERC20 public immutable bondToken;
function resolve(bytes32 marketId, string calldata claim) external {
uint256 bond = oo.getMinimumBond(address(bondToken));
bondToken.transferFrom(msg.sender, address(this), bond);
bondToken.approve(address(oo), bond);
bytes32 assertionId = oo.assertTruth(
bytes(claim),
msg.sender, // asserter
address(this), // callback target
address(0), // default escalation
7200, // 2h liveness
bondToken,
bond,
"ASSERT_TRUTH",
bytes32(0)
);
markets[marketId] = assertionId;
}
function assertionResolvedCallback(
bytes32 assertionId,
bool truthful
) external {
require(msg.sender == address(oo));
// settle market based on truthful
}
}面向 OKB 持有者
質押 OKB,投票判定真相,每一輪都賺 XTR。
OKB 持有者就是真相層。把錢包裡現有的 OKB 拿來質押,在有爭議時投票,協議會按參與發放 XTR。投對的人還能拿到一份從作惡者那裡罰沒的 OKB。
不用購買新代幣,也不用跨鏈折騰。將 X Layer 錢包裡的 OKB 直接質押 —— 始終在你自己掌控之下。
每次投票都能從協議拿到 XTR。只要出席就有 —— 投對是加分項,不是門檻。
投對的人額外拿到從投錯者罰沒的 OKB 份額。誠實的投票者賺得最多。
獎勵如何疊加
應用場景
你能在 xtruth 上構建什麼。
任何需要可驗證答案的場景皆可用 xtruth 結算。同一份 OOv3 合約、同一群 OKB 投票者 —— 只是問題不同。
挑戰期結束後判定是/否結果;爭議升級給 OKB 投票者。最大型預測市場背後的同款架構,原生於 X Layer。
宣告事件已發生(航班延誤、合約被攻擊、天氣事件),押保證金,無人爭議則自動理賠。
於一條鏈上宣告另一條鏈的狀態。錯誤宣告被罰沒;誠實宣告幾小時內結算 —— 無需信任多簽。
以代幣保證金作為經濟安全,發布數值、價格或任意真相主張。
以同一套投票基礎設施做協議升級,治理類提案罰沒率更高,匹配更高風險。
只要人能判斷真偽,網路即能裁決。無需任何鏈下 API。