Boundless 提出了一個精準而強大的創新,關於如何生成證明:通過 Pinto 架構的流動驗證。Pinto 將證明從後處理的靜態過程轉變爲實時管道,允許節點在計算進行時開始生成證明。這個轉變減少了等待時間,更有效地分配了工作負載,使整個系統感覺更加連續而非分散。
在 Pinto 的中心是 TaskDB,這是一個協調證明活動的調度引擎。TaskDB 不再等待計算過程完全結束,而是將工作分解爲更小的可管理部分。一旦有部分準備好,就會將其發送給可用的計算代理,無論是圖形處理單元(GPU)還是中央處理單元(CPU),同時中間數據流經內存存儲。這種設計使證明過程與計算本身交錯。證明在系統運行時形成,使驗證成爲一個主動且同步的過程,而不是一個延遲的步驟。
在 Pinto 中,證明生成經過多個階段:證明和提升、加入、解決和最終交付。每個證明任務產生一個特定的子證明,隨後將其提升並與其他可用的證明合併。系統重複這種迭代加入,直到出現完整的證明。由於不同的代理專注於不同的功能,有些專注於加速圖形處理單元(GPU),而其他則專注於轉換中央處理單元(CPU),Boundless 可以有效利用多樣化的設備。結果是一個管道,其中每個組件平行貢獻於一個統一的證明。
這種方法的主要優勢在於,證明代理不再需要等待完整的數據集再開始。Pinto 不斷監控中間數據的準備情況,使代理能夠在滿足依賴關係後立即處理部分。這種計算、輸入/輸出和證明工作的交錯減少了空閒時間,並使性能平穩,即使在資源波動時。執行引擎流動部分,證明層動態消耗 - 在管道中保持持續流動。
因爲系統是自適應的,它可以在不平衡的條件下平穩恢復。如果圖形處理單元(GPU)延遲或不可用,中央處理單元(CPU)代理可以暫時填補空白。TaskDB 跟蹤每個代理的進度,並根據需要重新分配負載,確保連續性而不出現瓶頸。證明構建過程在設計上變得靈活,而不是在一個延遲點停止,管道圍繞它進行調整。
對於開發人員和集成商來說,這些複雜性仍然是不可見的。當提交證明請求時,過程開始自動流動。證明在後臺形成,甚至在最終結果計算之前。到執行結束時,完整的證明已經被組裝好並準備好提交到鏈上。對於用戶來說,這看起來是即時的,壓縮的證明在計算結束時順利交付,得益於底層的持續格式。
這種流動邏輯帶來了可衡量的好處。等待時間減少,因爲證明生成早早開始。隨着圖形處理單元(GPU)和中央處理單元(CPU)在時間上共享負載,設備效率提高,而不是同時上升。可擴展性改善,因爲可以將大負載處理成更小且並行的部分。Boundless不再將證明視爲固定負擔,而是將其轉變爲執行流的一部分。
Pinto 的設計也與 Boundless 更廣泛的架構完全一致。Boundless 將重負載操作推向鏈外,同時保持鏈內驗證輕便且可驗證。Pinto 通過將鏈外計算轉化爲可證明部分的實時流來擴展這一原則。證明生成與執行本身交織在一起,響應性、漸進性和自我糾錯。
從本質上講,Pinto 重新構想了證明棧可能是什麼。將證明生成轉變爲實時過程,使執行與驗證交錯,以減少等待時間並提高生產力。通過流動的證明而不是將其聚集,Boundless 實現了速度和力量,證明不再作爲瓶頸,而是自然流動,如同計算本身。

