價格由你定。市場來找你。
prove.cash 是 PulseChain 上的兌換訂單簿。你按自己的價格掛出報價。它會一直掛著,直到有人來接。沒有池子價,沒有滑點,你也不必發交易。
它按你的價格或更好的價格成交,要不然就不成交。你可以讓價格隨時間下降到一個下限:你願意接受的最低價。你也可以允許它部分成交。
一個已簽名報價的範例,畫在真實的 UNI/WBTC 價格之上。
- 簽署人
- 0x7a3f…c19d
- 你付出
- 至多13,500
UNI
- 你收到
- 成交於0.704584
WBTC
- 可成交方
- 任何人
你至少拿得到你要的數額
合約要求成交你報價的人遵守你簽下的數字,取整時朝你這邊取。如果你加上手續費,應用程式會調高你簽的數額來涵蓋它。你拿到的仍然是你要的數額。
誰都可以成交
沒有白名單,沒有保證金,不必註冊。誰成交你的報價,誰就付 gas。市場給出、高於你所簽數字的那一部分,都歸他們。
掛單不花 gas
你的瀏覽器做一下子運算,就能把它掛出去。不花 gas,不必發交易,也不必註冊。
運作方式
- 你
簽署報價
最多拿走這麼多某種代幣,至少交付這麼多另一種代幣,都在這個時間窗內。全部承諾就是這些。
- 掛單板
傳遞報價
報價走的是留言板,不是鏈。掛出去只花你的瀏覽器一下子運算。不必發交易,不花 gas,也不必帳號。
- 任何人
完成成交
沒有白名單,沒有保證金,不必註冊。誰成交它,誰就是執行者。執行者付 gas,也付你簽下的那個數字,並留下市場給出、高於這個數字的部分。
你簽什麼,取決於你的代幣
成交時,你的代幣有五種轉移方式。應用程式讀取你的代幣,挑出它支援的最便宜的一種,所以這個選擇不歸你做,也就無從選錯。
- EIP-30092 次簽名代幣僅憑一個簽名就能轉移。你從不發交易,也沒有任何東西被預先授權。
- EIP-2612 permit2 次簽名兩次簽名。你的代幣一直留在錢包裡,直到有人成交的那一刻。
- Permit22 次簽名,1 筆交易僅一次給 Permit2 授權一次。它的地址在每條鏈上都一樣,程式碼也無法更改。此後每筆報價都只要兩個簽名,你的代幣也不需要任何特殊支援。
- 一次授權1 筆交易,僅一次給合約授權一次。此後每筆報價都只要一個簽名。
- 託管1 筆交易先存進去。這要花一筆交易,換來的是報價有資金支撐,執行者一眼就能信。
你的代幣放在哪裡。
報價有多牢靠,取決於背後撐著它的東西。
授權書
成交時到位代幣留在你的錢包裡。你簽的授權書恰好在成交那一刻把它們轉入合約。
- 你支付
- 花費 2 次簽名 和 0 筆交易
- 退出方式
- validBefore你的簽名在成交那一刻轉移代幣,而且只綁定這一筆報價。有效期是簽名的一部分。在鏈上取消會立刻讓它失效。
託管
在託管中代幣放在合約裡,只綁定這一筆報價,直到你取回。
- 你支付
- 花費 1 次簽名 和 1 到 2 筆交易
- 退出方式
- withdraw · 1 筆交易取回一次就退回你的資金,並結束這筆報價。沒有冷卻期,沒有解鎖步驟,也沒有會錯過的時間窗。從未注資的報價就不一樣了:別人可以用已經存放在你名下的資金為它注資。把你不想要的那些取消掉。
permit2
成交時到位代幣留在你的錢包裡。你簽的 Permit2 轉帳恰好在成交那一刻把它們轉入合約,只此一次。
- 你支付
- 花費 2 次簽名 和 至多 1 筆交易
- 退出方式
- deadlinePermit2 的轉帳只能用一次,並隨報價一同到期。之後不會留下任何給我們的長期授權。你唯一的那次授權是給 Permit2 本身的,它的地址我們挪不動。在鏈上取消會立刻結束這筆報價。
permit
在錢包裡代幣在一份授權之下留在你的錢包裡。這份授權由第二個簽名設定,所以你不必發交易。你仍然可以在成交前花掉這些代幣,那樣成交就會失敗。
- 你支付
- 花費 2 次簽名 和 0 筆交易
- 退出方式
- cancel · 1 txpermit 是一份由簽名設定的授權,所以不必花一筆交易。它仍然是一份授權。撤銷它並不會結束報價,因為你簽的 permit 會在下一次成交時把它重新設定回去。要關掉報價,就取消它。搶先用掉你 permit 的陌生人,也擋不住這次成交。
授權
在錢包裡代幣在一份授權之下留在你的錢包裡。你可以在成交前花掉它們,那樣成交就會失敗。
- 你支付
- 花費 1 次簽名 和 至多 1 筆交易
- 退出方式
- cancel · 1 tx撤銷授權是在代幣那邊進行的,合約看不到。它能擋住成交,但不會取消報價。之後再次授權這個代幣,報價就會重新生效。只有取消能結束它,而且要花一筆交易。
全部帳單。
實測的 gas 用量,不是估算。掛單免費。其餘的由成交你報價的人支付。
常見的情況。收款餘額裡已經有一些這種代幣。
掛出一筆報價
你- 簽好並掛到板上工作量證明掛單板要你的瀏覽器做一下子運算,而不是要你付錢。不花 gas,不必發交易,也不必註冊。0
用託管為它注資
你- 存入,讓報價有資金支撐首次寫入為一個空的託管注資一定是首次寫入,所以它沒有熱價。這一步可以不做:授權不必任何預付。126,132
成交一筆報價
執行者- 來自你的授權124,975
- 來自託管131,561
- 帶回呼原因執行者借走你的代幣,在別處賣出,再在同一次呼叫裡還上。他們不需要自己的資金。139,561
一次成交二十筆
執行者- 單一交易對,每筆64,227
- 混合交易對,每筆65,429
- 第二十一筆報價邊際往一批已經在跑的成交裡再加一筆報價,會多出多少。薄利值不值得接,就看這個數。59,781
- 帶回呼,每筆報價+1,597 信用在一批之內借入,每筆報價都要多付一點。這個數字是差額:多加一筆帶回呼的報價,減去多加一筆不帶回呼的。它小到在這些柱子上看不出來。64,642
在主網上,一次熱成交只花幾分之一美分。執行者付這筆錢,並留下市場給出、高於你所簽數字的那一部分。
你的 gas 由一個陌生人來付。這是他換到的東西。
沒有人會出於好心替陌生人付 gas。你是掛單方。誰成交你的報價,誰就是求解者。他們賺的是市場付的價錢和你簽下的數字之間的差額。那就是他們的全部收入,而追這筆差額要花他們這麼多。
他們會虧什麼
求解者為自己嘗試的每一筆報價付 gas,事後才知道哪些成交了。一次成交要花 69,841 gas。下面這三種只花 gas,一毛不賺。
報價到期了
花費 15,218 gas從他們定價的那一刻到區塊落下的那一刻之間,報價到期了。合約在任何代幣轉移之前就拒絕它,所以這是代價最小的一種。
別人更快
花費 15,982 gas另一個求解者先成交了同一筆報價。這在公開的掛單板上很正常:兩個求解者讀同一塊板,一定會撞在一起,慢的那個為重複的那份買單。
掛單方收回去了
花費 80,174 gas求解者查看時,報價還有效。接著掛單方在區塊落下之前把錢抽走了。只有這一種失敗是有人能故意製造的,而每試一次都要花掛單方一筆交易。一開始就無效的報價,在送出任何東西之前就會被發現,一毛錢不花。
他們賺什麼
剩下的部分,此外什麼都沒有。我們不向他們收手續費,不給回饋,不給優先權,也沒有排隊。他們付 gas。他們付你簽下的數字。剩下的都歸他們。你的手續費從你簽下的數字裡出,不從求解者的那一份裡出。什麼都不剩,他們就虧掉 gas。
這為什麼對你是安全的
少給你,他們賺不到更多。
你的價格在簽名裡。不管市場怎麼走,合約都按那個數字向求解者收錢。他們只能靠找到更好的價錢多賺,絕不能靠塞給你更差的價錢。
任何人都可以當。
沒有白名單,沒有保證金,沒有註冊,沒有質押。求解者就是送出那筆交易的任何地址。沒有人會被擋在外面,也沒有人會被鎖在裡面。
讓你的報價成交的是競爭。
求解者不會壓你的價。價格是你定的。他們比的是肯接受多薄的利潤。利潤越薄,就有越多報價按掛單方想要的價格成交。
錢的去向
一筆成交
點開一步,看算式時間窗內,執行者要付多少
報價開盤時高於池子今天的價格,然後一路下滑直到收盤:在 24h 0m 內從 1,005.17 DAI 降到 964.65 DAI。這兩個都是你簽下的數額。把手續費從收盤那個數字裡扣掉,就是你輸入的下限。虛線是同一筆報價在不收手續費和收 2% 手續費時的樣子:一個輸入的數字,三個簽下的數額。每個點標出這筆報價在這裡畫出的這一週裡跟市場相遇的位置,已經扣掉 gas。換一週,這些點就會落在別的地方。手續費由你支付,從你簽下的數額裡扣。手續費越高,報價越晚成交。這就是手續費讓你付出的全部代價。
誰都不能對你做的事
你簽了。三件誰都不能做的事——以及各自去哪裡核對。
誰都改不了你拿到的數額。
價格寫在你簽的報價裡。付款由它算出,扣掉你指定的手續費,餘下歸你。取整朝你這邊。
去哪裡核對_quote 用 _ceilDiv 把總額向上取整,再把手續費向下取整從中扣出,餘下的付給你。我們不收任何手續費,也沒有開關能加上一筆。
手續費是你簽名的報價裡的一個配置雜湊 + 三個費率。沒有配置、沒有費率:什麼也不收。我們不取分成,也不加分成。一個配置有一到八個目的地址及其權重,由它的雜湊固定。之後發生的任何事都碰不到已簽名的報價。
去哪裡核對_quote 把 feeProceeds、feeOut、feeIn 預留在 i.feeConfig 之下;只要任何一個費率不為零,_termsOk 就要求 i.feeConfig 也不為零。claim 用這個鍵核對配置,並按權重付給它的目的地址。提交 84e8895 刪除了 protocolShare、feePolicy、setFees 和 setFeePolicy。既沒有暫停,也沒有升級。
沒有任何開關搆得著你的錢。結算合約沒有所有者,也沒有管理函式。唯一有所有者的合約存放預設手續費,報價在你簽名時複製它;它碰不到已簽名的報價,也動用不了你給出的授權。
去哪裡核對結算合約沒有所有者,也沒有僅限所有者呼叫的函式。FeeDefaults 有一位所有者,裡面只放報價在簽名時會複製的建議值。
兩次付費審查(安全、經濟)試圖攻破上文。安全發現已修。一項經濟發現有意留開;其測試斷言攻擊仍成立。十一條已測、已接受、已寫明的限制之一。
簽一筆試試看。
給我們一個地址,我們會標出它在這條鏈上已經動過的代幣。挑一個,應用程式開啟時就會選好它。價格仍然由你來定,而且在簽任何東西之前,你就能看到每一項花費。
或者從這些裡隨便挑一個開始。