作者:Sam Williams,Arweave創辦人;翻譯:0xjs@金色財經
AO 能做到和Solana 一樣的TPS 嗎?
答案是:遠更多。為什麼?消息。
我非常尊重Solana 的工程技術,通常被非開發人員低估。讓我們深入探討AO和Solana的差異和權衡。
入門:訊息傳遞是什麼?
在電腦科學中,當我們想要同時處理系統的多個輸入(如交易)時,我們稱之為「並行性」。有兩種基本方法:共享記憶體和訊息傳遞。讓我們依序看一下。
共享記憶體
Solana 是一款優化得非常好的共享記憶體機器。這意味著每個合約都可以直接讀取和寫入其他合約的記憶體。
這允許「狀態」(程式中的資料——如餘額等)同步更新:它們都是一次性提交的。這可能很有幫助,但這也意味著當一個使用者存取程式中的某些資料時,任何其他使用者都無法修改它。它們在稱為“lock contention”的過程中相互等待。
Alice「鎖定」數據、修改數據、「解鎖」數據,然後Bob 才能存取它。他們基本上形成一個隊列。
共享記憶體系統可以擴容到某個程度,而Solana 開創了我在無需信任環境中見過的最優化設計,但隨後就停止了。
為了進一步擴容,你必須採取不同的方法…
訊息傳遞
AO是另一條路線的超級優化:訊息傳遞。
在AO 中,每個「合約」都是它自己的非同步進程。每個進程都以單一CPU 執行緒的速度獨立運行,在需要互動時向其他進程發送訊息。你可以將每個程式視為電腦上的單一程序,或rollup/應用程式鏈的極快版本。
當你耗盡應用程式的一個進程的吞吐量時,你可以將應用程式拆分到任意數量的其他進程中。
更多進程——>更高吞吐量——>更滿意的用戶。
AO 中託管並行進程的數量沒有實際限制。唯一的協定限制繼承自Arweave:不超過2^256 位元組。就規模而言,這比宇宙中的原子還要多。
另一方面,你無法「全域」存取網路中所有其他進程的記憶體——必須透過訊息請求資訊。
幸運的是,電腦科學領域對該技術進行了50 多年的研究和部署,使其變得簡單易用。它稱為面向Actor的編程,這也是AO 名稱的由來。使用者在網路上使用的幾乎每項服務都是使用訊息傳遞建立的- 資訊、網站和整個TradFi 生態系統。甚至網路本身也是一個訊息傳遞機器。
AO 的創新之處在於將這種方法應用於區塊鏈和智能合約。因為為了建立Arweave,我們已經必須解決鏈上儲存的可擴展性問題,所以我們透過使用Arweave 作為訊息傳遞層來建立AO,因此它也「免費」繼承了這種可擴展性。
任意規模的鏈上資料——>任意規模的鏈上訊息。
該系統的首次使用可能是在金融領域,但我認為它不會止步於此。當每個進程都是非同步時,任意數量的計算可以同時在網路中運行,而不會相互影響。
你可以使用AO 運行計算量大的AI 智能體,而我則用它在商店購買咖啡。我們的流程是獨立的,因此我們雙方都不必為了存取系統而與對方競爭。沒有理由不能擴展以覆蓋整個世界的計算負載。
總結一下:
沒有透過訊息傳遞共享記憶體、沒有lock contention、擴容。
成本呢?對全域記憶體的共享、同步存取。
如果使用AOS 提供的正確工具,這種成本幾乎不會被注意到。看起來是一筆不錯的交易。
這是一個電腦科學家可以無休無止地討論的話題。這裡有很多細微差別,但如果你看懂了這一點,恭喜你,現在你明白了要點。
Solana 是一款設計精良的機器,將共享記憶體範式帶到了區塊鏈中的邏輯結論。 AO測試網已上線2 個月,目前處理Solana 約6% 的用戶流量。
AO的未來一片光明,具有無限擴容的成長性。