價格由你定。市場來找你。
prove.cash 是 PulseChain 上的兌換訂單簿。你按自己的價格掛出報價。它會一直掛著,直到有人來接。沒有池子價,沒有滑點,你也不必發交易。
它按你的價格或更好的價格成交,要不然就不成交。你可以讓價格隨時間下降到一個底價:你願意接受的最低價。你也可以允許它部分成交。
一個已簽名報價的範例,畫在真實的 DAI/AAVE 價格之上。
- 簽署人
- 0x7a3f…c19d
- 你付出
- 至多8,660
DAI
- 你收到
- 成交於99.906
AAVE
- 成交方
- 任何人
你至少拿得到你要的數額
合約要求對方遵守你簽下的數字,取整時朝你這邊取。如果你加上手續費,應用程式會簽一個更大的數額來涵蓋它。你拿到的仍然是你要的數額。
誰都可以成交
沒有白名單,沒有保證金,不必註冊。誰成交你的報價,誰就付燃料費。市場給出、高於你所簽數字的那一部分,都歸他們。
掛單不花燃料費
你的瀏覽器做一下子運算,就能把它掛出去。不花燃料費,不必發交易,也不必註冊。
運作方式
- 你
簽署報價
最多拿走這麼多某種代幣,至少交付這麼多另一種代幣,都在這個時間窗內。全部承諾就是這些。
- 留言板
傳遞報價
報價走的是留言板,不是鏈。掛出去只花你的瀏覽器一下子運算。不必發交易,不花燃料費,也不必帳號。
- 任何人
完成成交
沒有白名單,沒有保證金,不必註冊。誰成交它,誰就是執行者。執行者付燃料費,也付你簽下的那個數字,並留下市場給出、高於這個數字的部分。
你簽什麼,取決於你的代幣
成交時,你的代幣有五種轉移方式。應用程式讀取你的代幣,挑出它支援的最便宜的一種,所以這個選擇不歸你做,也就無從選錯。
- 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撤銷授權是在代幣那邊進行的,合約看不到。它能擋住成交,但不會取消報價。之後再次授權這個代幣,報價就會重新生效。只有取消能結束它,而且要花一筆交易。
全部帳單。
實測的燃料用量,不是估算。掛單免費。其餘的由成交你報價的人支付。
常見的情況。收款餘額裡已經有一些這種代幣。
掛出一筆報價
你- 簽好並掛到板上工作量證明留言板要你的瀏覽器做一下子運算,而不是要你付錢。不花燃料費,不必發交易,也不必註冊。0
用保管為它注資
你- 存入,讓報價有資金支撐首次寫入為一個空的保管注資一定是首次寫入,所以它沒有熱價。這一步可以不做:授權不必任何預付。124,790
成交一筆報價
執行者- 來自你的授權115,763
- 來自保管123,037
- 帶回呼原因執行者借走你的代幣,在別處賣出,再在同一次呼叫裡還上。他們不需要自己的資金。130,533
一次成交二十筆
執行者- 單一交易對,每筆57,245
- 混合交易對,每筆62,945
- 第二十一筆報價邊際往一批已經在跑的成交裡再加一筆報價,會多出多少。薄利值不值得接,就看這個數。52,869
- 帶回呼,每筆報價+505 信用在一批之內借入,每筆報價都要多付一點。這個數字是差額:多加一筆帶回呼的報價,減去多加一筆不帶回呼的。它小到在這些柱子上看不出來。56,579
在主網上,一次熱成交只花幾分之一美分。執行者付這筆錢,並留下市場給出、高於你所簽數字的那一部分。
你的 gas 由一個陌生人來付。這是他換到的東西。
沒有人會出於好心替陌生人付 gas。你是掛單方。誰成交你的報價,誰就是求解者。他們賺的是市場付的價錢和你簽下的數字之間的差額。那就是他們的全部收入,而追這筆差額要花他們這麼多。
他們會虧什麼
求解者為自己嘗試的每一筆報價付 gas,事後才知道哪些成交了。一次成交要花 62,480 gas。下面這三種只花 gas,一毛不賺。
報價到期了
花費 13,327 gas從他們定價的那一刻到區塊落下的那一刻之間,報價到期了。合約在任何代幣轉移之前就拒絕它,所以這是代價最小的一種。
別人更快
花費 14,070 gas另一個求解者先成交了同一筆報價。這在公開的掛單板上很正常:兩個求解者讀同一塊板,一定會撞在一起,慢的那個為重複的那份買單。
掛單的人收回去了
花費 76,389 gas求解者查看時,報價還有效。接著掛單方在區塊落下之前把錢抽走了。只有這一種失敗是有人能故意製造的,而每試一次都要花掛單方一筆交易。一開始就無效的報價,在送出任何東西之前就會被發現,一毛錢不花。
他們賺什麼
剩下的部分,此外什麼都沒有。我們不給手續費,沒有回饋,沒有優先權,也不必排隊。他們付 gas。他們付你簽下的數字。剩下的都歸他們。你的手續費從你簽下的數字裡出,不從求解者的那一份裡出。什麼都不剩,他們就虧掉 gas。
這為什麼對你是安全的
少給你,他們賺不到更多。
你的價格在簽名裡。不管市場怎麼走,合約都按那個數字向求解者收錢。他們只能靠找到更好的價錢多賺,絕不能靠塞給你更差的價錢。
任何人都可以當。
沒有白名單,沒有保證金,沒有註冊,沒有質押。求解者就是送出那筆交易的任何位址。沒有人會被擋在外面,也沒有人會被鎖在裡面。
填滿你掛單的是競爭。
求解者不會壓你的價。價格是你定的。他們比的是肯接受多薄的利潤。利潤越薄,就有越多報價按掛單方想要的價格成交。
錢的去向
一筆成交
點開一步,看算式時間窗內,執行者要付多少
報價開盤時高於池子今天的價格,然後一路下滑直到收盤:在 24h 0m 內從 1,005.17 DAI 降到 964.65 DAI。這兩個都是你簽下的數額。把手續費從收盤那個數字裡扣掉,就是你輸入的底價。虛線是同一筆報價在不收手續費和收 2% 手續費時的樣子:一個輸入的數字,三個簽下的數額。每個點標出這筆報價在這裡畫出的這一週裡跟市場相遇的位置,已經扣掉 gas。換一週,這些點就會落在別的地方。手續費由你支付,從你簽下的數額裡扣。手續費越高,報價越晚成交。這就是手續費讓你付出的全部代價。
誰都不能對你做的事
你簽了一份東西。這裡有三件它不允許任何人做的事,以及每一條寫在哪裡。
誰都改不了你拿到的數額。
你的價格就寫在你簽的報價裡。合約用那個數算出整筆付款,從中扣掉你指定的手續費,再把餘下的付給你。算式必須取整的地方,它朝你這邊取。
去哪裡核對_quote 用 _ceilDiv 把總額向上取整,再把手續費向下取整從中扣出,餘下的付給你。我們不收任何手續費,也沒有開關能加上一筆。
手續費是你簽署的報價裡的兩個數字:一個費率,以及它付到哪裡。不指定地址,就什麼都不收。我們不從中拿走任何部分,也不另外加上自己的手續費。能收取這種手續費的程式碼已經刪除,所以任何擁有者都無法把它打開。要向我們收手續費,就需要另一個位址上的另一份合約,而你的簽名只綁定這一份。之後做出的任何決定,都影響不到你已經簽署的報價。
去哪裡核對_quote 按 i.feeRate 收費,並記在 i.feeTo 名下,claim 再從那裡把它付出去。提交 3961c2a 刪除了 feeSink、feeFloorRate、protocolShare、feePolicy、setFees 和 setFeePolicy。既沒有暫停,也沒有升級。
任何地方的任何開關都構不著你的錢。擁有者能選擇無主代幣要送到哪裡。權限就這麼多。沒有任何擁有者函式能動用你給出的授權。
去哪裡核對setDefaultProceeds 和 transferOwnership 是僅有的兩個留給擁有者的函式。
我們付錢請兩個人來嘗試攻破上面這些:一次安全審查和一次經濟審查。安全審查的每一項發現都已修復。經濟審查有一項發現是刻意留著的,它自己的測試斷言這個攻擊仍然成立。它是我們量過、接受並寫下來的十一條限制之一。審計範圍、靜態分析的分類判定、合約和測試都在 一個程式碼儲存庫。PulseChain 上的地址在 部署紀錄。
簽一筆試試看。
給我們一個地址,我們會標出它在這條鏈上已經動過的代幣。挑一個,應用程式開啟時就會選好它。價格仍然由你來定,而且在簽任何東西之前,你就能看到每一項花費。
或者從這些裡隨便挑一個開始。