第一次發佈DeFi應用時,你會了解到一個殘酷的真相:代碼可以是正確的,但你仍然會虧損,僅僅因爲你使用的價格是遲到的。我見過團隊做出精確的數學計算,仍然被一個快速的價格波動擊中。所以當我的建造者朋友米娜給我發消息談論APRO(AT)時,她的壓力是可以理解的。“APRO有推和拉,”她說。“相同的價格信息。兩種方式。爲什麼這感覺像迷宮?”快速解碼。一個預言機是一個數據橋樑。它將現實世界的價格引入鏈上,以便智能代碼可以使用它。APRO爲建造者提供了兩條路徑。推是指網絡自行發送價格更新。拉是指當你的應用需要價格時請求價格。相同的目標,不同的時機。
米娜正在同時構建兩個部分。一個貸款應用(壞價格可能導致強制出售,也就是清算),還有一個交換界面(用戶點擊並希望獲得公平的成交)。一個部分需要“始終在線”的真實。另一個需要“現在”的真實。她的大腦不斷地前後翻轉,就像同時觀察兩個圖表。在APRO的推送模式下,節點操作監視市場,當移動達到設定限制或計時器到達時在鏈上發佈新價格。那個計時器就是心跳。它的意思是:“現在發佈,即使價格平穩,價值也不會過時。”推送就像一列火車。它會在有你或沒有你的情況下出現。
對於米娜的貸款方面,推送是冷靜的選擇。貸款不等用戶點擊。風險計算全天運行。如果鏈必須自行行動,推送就是你的煙霧報警器。是的,鏈上發佈是需要燃氣的。但一次推送更新可以服務多個應用,所有應用都讀取相同的饋送,因此成本可以分攤。儘管如此,推送也有旋鈕。緊限線和短心跳意味着更新的數據更爲新鮮,但發佈更多。鬆限則意味着成本更低,但漂移更多。漂移不是一種趨勢。這是金錢。米娜在一次測試中嘗試了一個寬限線,感覺不錯……直到出現快速下跌。應用沒有崩潰。它只是延遲了,而延遲就是你遇到奇怪的清算和“我爲什麼被清算了?”帖子的方法。
拉取是另一個入口。如果推送是一列火車,拉取是一輛出租車。它不會動,直到你揮手。在APRO的拉取模型中,你的應用按需請求價格。它是爲那些想要快速讀取和低延遲的場景而設計的,而不需要全天支付發佈費用。“延遲”只是意味着延遲,而小延遲可以改變交換結果。這比貸款更適合交換和永久合約。交換是一個持續一次點擊的小戲劇。用戶點擊“交換”,你的應用拉取最新的價格,然後交易進行。你在請求時支付,而不是在應用閒置時支付。拉取在長尾交易對中也很出色。如果一個代幣每天只交易一次,推送就像在一個空房間裏保持燈光亮着。
但是拉取要求你考慮時刻。你什麼時候拉取?每次屏幕加載一次,還是在交易之前?如果調用失敗或返回得太晚怎麼辦?你的應用需要一個不會崩潰的後備方案。一個明確的“再試一次”,而不是一個沉默的錯誤價格。從市場的角度來看,這就是乾淨滑點和混亂之間的區別。大多數穩固的構建混合了兩者。將推送用作貸款健康、警報和緩慢計算的穩定基礎。然後在交換或重大狀態變化之前的最後一刻使用拉取。推送在後臺保持應用的誠實。拉取在前臺保護用戶的安全。
最後,不是“推送與拉取”的問題。而是“我在保護哪個時刻?”如果鏈必須在沒有人爲干預的情況下反應,就選擇推送。如果價格只在精確點擊時需要,就選擇拉取。如果你陷入困境,選擇讓可怕時刻變得無聊的模式。在加密貨幣中,無聊就是安全。
