
免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表MarsBit官方立場。
小編:記得關注哦
來源:Aptos
原文標題:The Aptos Blockchain: Safe, Scalable, and Upgradeable Web3 Infrastructure
區塊鏈作為一種新的互聯網基礎設施的崛起,導致開發者以快速增長的速度部署了數萬個去中心化的應用程序。不幸的是,由於頻繁的中斷、高成本、低吞吐量限制和許多安全問題,區塊鏈的使用還不普遍。為了在web3時代實現大規模採用,區塊鏈基礎設施需要遵循雲基礎設施的路徑,作為一個可信的、可擴展的、經濟高效的、不斷改進的平台來構建廣泛使用的應用程序。
我們提出了Aptos區塊鏈,設計以可伸縮性、安全性、可靠性和可升級性作為關鍵原則,以解決這些挑戰。Aptos區塊鏈是在過去三年中由全球[1]的350多名+開發人員開發的。它在共識、智能合同設計、系統安全、性能和分散化等方面提供了新的創新。這些技術的結合將為web3面向大眾提供一個基本的基礎模塊:
首先,Aptos區塊鏈本地集成並在內部使用Move語言,用於快速和安全的事務執行[2]。移動證明器是用移動語言編寫的智能契約的正式驗證器,它為契約不變量和行為提供了額外的保護措施。這種安全的關注允許開發人員更好地保護他們的軟件免受惡意實體的侵害。
其次,Aptos數據模型可以實現靈活的密鑰管理和混合託管選項。這一點,以及簽名之前的事務透明度和實際的輕客戶端協議,提供了更安全、更值得信賴的用戶體驗。
第三,為了實現高吞吐量和低延遲,Aptos區塊鏈利用了一種流水線和模塊化的方法來處理事務處理的
關鍵階段。具體來說,事務傳播、塊元數據排序、並行事務執行、批存儲和分類帳認證都並行操作。這種方法充分利用了所有可用的物理資源,提高了硬件效率,並實現了高度並行的執行。
第四,與其他並行執行引擎不同,Aptos區塊鏈打破了事務的原子性,Aptos區塊鏈沒有對開發人員施加這樣的限制。它可以有效地支持任意複雜事務的原子性,為實際應用程序提供更高的吞吐量和更低的延遲,並簡化開發。
第五,Aptos模塊化架構設計支持客戶的靈活性,並優化頻繁和即時升級。此外,為了快速部署新的技術創新和支持新的web3用例,Aptos區塊鏈提供了嵌入式的鏈上變更管理協議。
1 法律免責聲明:本白皮書及其內容不是任何代幣的出售要約或購買要約的招攬。我們發布這份白皮書只是為了接受公眾的反饋和評論。本文檔中的任何內容都不應被解讀或解釋為對Aptos區塊鏈或其代幣(如果有)將如何開發、利用或積累價值的保證或承諾。
Aptos只概述了其目前的計劃,這些計劃可能會自行改變,其成功將取決於其控制之外的許多因素。這些未來的陳述必然涉及已知和未知的風險,這可能導致實際業績和結果在未來期間與我們在白皮書中描述或暗示有重大差異。Aptos不承擔更新其計劃的義務。不能保證白皮書中的任何陳述都將被證明是準確的,因為實際的結果和未來的事件可能會有重大差異。請不要過分依賴未來的陳述。
最後,Aptos區塊鏈正在試驗未來的舉措,以擴展到單個驗證器的性能:其模塊化設計和並行執行引擎支持驗證器的內部分片,同構狀態分片提供了水平吞吐量可擴展性的潛力,而不增加節點操作符額外的複雜性。
1.介紹
在web2版本的互聯網中,信息、社交媒體、金融、遊戲、購物和音頻/視頻流等服務由控制用戶數據直接訪問的集中公司提供(e。g., 谷歌、亞馬遜、蘋果和Meta)。這些公司使用針對目標用例優化的特定於應用程序的軟件開發基礎設施,並利用雲基礎設施將這些應用程序部署給用戶。雲基礎設施提供了對虛擬化和/或物理基礎設施服務的訪問,如租用的虛擬機(vm)和在全球數據中心內運行的裸金屬硬件(e。g., AWS、Azure和谷歌雲)。因此,構建能夠擴展到數十億用戶的web2互聯網服務從來沒有像今天這樣容易過。然而,web2要求用戶明確地信任集中式實體,這一要求已經越來越引起社會的關注。
為了解決這種擔憂,一個新的互聯網時代已經開始:web3。在web3版本的互聯網中,區塊鏈已經出現,提供了去中心化的、不可變的賬本,使用戶能夠安全可靠地相互交互,所有這些都不需要對控制中介或集中式實體的信任。類似於web2互聯網服務和應用程序如何依賴雲基礎設施作為構建塊,去中心化的應用程序可以使用區塊鏈作為去中心化的基礎設施層,以覆蓋世界各地的數十億用戶。
然而,儘管目前存在許多區塊鏈,但web3的廣泛採用尚未出現[3]。雖然技術繼續推動行業發展,但現有的區塊鏈不可靠,對用戶收取較高的交易費用,具有低吞吐量限制,由於安全問題而遭受定期資產損失,不能支持實時響應。與雲基礎設施使web2服務達到數十億美元相比,區塊鏈尚未使web3應用程序實現同樣的功能。
2.Aptos願景
Aptos的願景是提供一個區塊鏈,可以讓web3引入主流,並授權一個去中心化應用程序的生態系統來解決現實世界的用戶問題。我們的使命是通過提供一個靈活和模塊化的區塊鏈架構,來推進區塊鏈在可靠性、安全性和性能方面的最先進水平。該體系結構應該支持頻繁的升級、快速採用最新的技術進步,以及對新的和新興的用例的一流支持。
我們設想了一個分散的、安全的、可擴展的網絡,由使用它的社區管理和運營。當全球的基礎設施需求增長時,區塊鏈的計算資源將水平和垂直擴展,以滿足這些需求。隨着新的用例和技術進步的出現,網絡應該頻繁地、無縫地升級,而不中斷用戶。對基礎設施的擔憂應該會逐漸消失。開發人員和用戶將可以訪問許多不同的選項,包括關鍵恢復、數據建模、智能合同標準、資源使用權衡、隱私性和可組合性。用戶知道他們的資產是安全的,總是可用的,並且可以以幾乎有成本的費用進行訪問。任何人都可以安全、輕鬆、不可避免地與世界各地不可信任的政党進行交易。區塊鏈和雲基礎設施一樣無處不在。
為了實現這一願景,必須取得重大的技術進步。我們在過去三年中構建、開發、推進和部署Diem區塊鏈(Aptos區塊鏈的前身)的經驗證明,一個網絡可以在不干擾其客戶[4]的情況下不斷升級其協議。在2020年初,每日新聞主網被部署到十多個節點運營商和多個錢包提供商。在接下來的一年裡,我們的團隊發布了兩個主要的升級,改變了共識協議和核心框架。兩個升級完成,用戶沒有停機。通過Aptos區塊鏈,我們對技術堆棧進行了一系列徹底的改進,同時也將安全、透明和頻繁的升級作為核心功能,受到Diem區塊鏈的啟發。特別地,我們強調了事務處理的新方法(如第7節所述)以及分散化和網絡治理的新方法。

Aptos生態組件
3.Aptos概述
如圖1所示,Aptos區塊鏈由一組驗證器組成,這些驗證器使用拜占庭容錯(BFT)、股權證明共識機制共同接收和處理來自用戶的事務。令牌持有者在其選定的驗證器中鎖定或持有令牌。每個驗證者的共識投票權重與其中所投入的金額成比例。驗證者可以積极參与並參與共識。同樣地,如果驗證器沒有足夠的股份參與,旋轉出驗證器集,在同步區塊鏈狀態時選擇脫機,或者由於歷史性能不佳而被共識協議認為不參與,那麼它也可能處於不活動狀態。
客戶端是系統中需要提交事務或查詢區塊鏈的狀態和歷史記錄的任何部分。客戶端可以選擇下載並驗證查詢數據的驗證器簽名證明。完整節點是從驗證器或從網絡中的其他完整節點複製事務和區塊鏈狀態的客戶機。他們可以選擇根據需要刪除事務歷史記錄和區塊鏈狀態,以回收存儲。輕客戶端只維護當前的驗證器集,並且可以安全地查詢部分區塊鏈狀態,通常是從完整的節點上查詢的。錢包是輕客戶端的一個常見例子。
為了滿足安全、快速、可靠、可升級的web3基礎設施被廣泛採用的需求,Aptos區塊鏈建立在以下核心設計原則之上:
通過一種新的智能合同編程語言,Move[5],快速和安全的執行,以及簡單的可審核性和機械可分析性。Move起源於Aptos區塊鏈的前身,並隨着這個項目的發展繼續發展。
通過批處理、流水線和並行的事務處理方法實現極高的吞吐量和低延遲。新穎的並行事務處理,通過block-stm有效地支持任意複雜事務的原子性,不同於現有的並行執行引擎,它需要讀寫數據位置的預先知識。通過快速、樁重驗證器集旋轉和聲譽跟蹤來優化性能和分散化。
可升級性和可配置性作為一流的設計原則,以接受新的用例和最新的技術。模塊化設計,支持嚴格的組件級別測試,以及適當的威脅建模和無縫部署,所有這些都確保了高度安全和可靠的操作。
在保持去中心性的同時,水平吞吐量的可伸縮性,其中分片是向用戶公開的一流概念,也是編程和數據模型的原生概念。
第4節解釋了開發者如何與Aptos區塊鏈中的Move交互。第5節描述了邏輯數據模型。第6節詳細介紹了Aptos區塊鏈如何通過強大的驗證方法來實現安全的用戶體驗。第7節描述了關於流水線、批處理和並行化的關鍵性能創新。第8節詳細介紹了不同客戶端與其他節點同步狀態的各種選項。第9節描述了我們的社區所有權和治理計劃。最後,第10節討論了在保持分散化的同時,未來的性能方向。
4.移動語言
Move是一種新的智能合同編程語言,它強調了安全性和靈活性。Aptos區塊鏈使用Move的對象模型來表示其分類帳狀態(參見第5.5節),並使用Move代碼(模塊)來編碼狀態轉換的規則。用戶提交的事務可以發布新模塊、升級現有模塊、執行模塊中定義的入口函數,或者包含可以直接與模塊的公共接口交互的腳本。
Move生態系統包含一個編譯器、一個虛擬機和許多其他開發人員工具。Move的靈感來自於Rust編程語言,它通過線性類型等概念在語言中明確了數據的所有權。Move強調了資源的稀缺性、保存和訪問控制。
移動模塊定義了每個資源的生命周期、存儲和訪問模式。這確保了像硬幣這樣的資源在沒有適當的憑證的情況下就不會產生,不能重複使用,也不會消失。
Move利用字節碼驗證器來保證類型和內存的安全,即使存在不受信任的代碼。為了幫助編寫更可信的代碼,Move包括一個正式的驗證器,即移動驗證器[6],能夠根據給定的規範驗證移動程序的功能正確性,該規範用集成到Move中的規範語言制定。
除了用戶帳戶和相應的帳戶內容外,分類帳狀態還包含了Aptos區塊鏈的鏈上配置。此網絡配置包括一組活動驗證器、標記屬性以及Aptos區塊鏈中的各種服務的配置。Move對模塊可升級性和全面可編程性的支持支持無縫配置更改,並支持對Aptos區塊鏈本身的升級(這兩組升級都在私有主網上執行了多次,沒有停機時間)。
Aptos團隊進一步增強了Move,支持更廣泛的web3用例。正如後面在第5.5節中提到的,Aptos區塊鏈支持細粒度的資源控制。這不僅支持執行的並行化,而且還實現了與訪問和修改數據相關的接近固定的成本。此外,Aptos區塊鏈提供了建立在細粒度存儲之上的表支持,這允許大規模數據集(e。g., 大量的nft集合)在一個帳戶。此外,Aptos支持完全在鏈上表示的共享或自治帳戶。這允許複雜的分散式自治組織(DAOs)協作地共享帳戶,並將這些帳戶用作異構資源集合的容器。
5.邏輯數據模型
Aptos區塊鏈的分類帳狀態表示所有帳戶的狀態。賬本狀態使用與系統已執行的事務數量相對應的無符號64位整數進行版本控制。任何人都可以向Aptos區塊鏈提交一個事務處理,以修改分類帳狀態。在執行事務時,將生成事務輸出。事務輸出包含零個或多個操作來操作分類帳狀態(稱為寫集)、結果事件的向量(參見第5節)、消耗的氣體量和執行的事務狀態。.1.14.15交易已簽名的事務處理包含以下信息:
事務身份驗證器:發件人使用包含一個或多個數字簽名的事務身份驗證器來驗證事務是否經過身份驗證。
發件人地址:發件人的帳戶地址。
有效負載:有效負載要麼引用鏈上現有的輸入函數,要麼包含要作為內聯字節碼(稱為腳本)執行的函數。此外,一組輸入參數被編碼在字節數組中。對於點對點交易,輸入包含收件人的信息和轉移給它們的金額。
天然氣價格(以指定貨幣/天然氣單位表示):這是發送方為執行交易而按每單位天然氣願意支付的金額。天然氣是一種支付計算、網絡和存儲費用的方式。氣體單元是一種抽象的計算測量,沒有固有的真實價值。
最大氣體量:最大氣體量是交易在中止前允許消耗的最大氣體單位。該賬戶必須至少有天然氣價格乘以最大天然氣數量,否則該交易將在驗證期間被丟棄。
序號:交易記錄的序號。這必須與事務執行時存儲在發件人帳戶中的序列號相匹配。在事務執行成功後,將增加帳戶序列號,以防止重播攻擊。
到期時間:事務停止有效的時間戳。
鏈id:標識此事務有效的區塊鏈,為用戶提供進一步的保護,以防止簽名錯誤。
在每個版本i中,狀態變化由元組(T表示i,Oi,Si),分別包含事務處理、事務處理輸出和生成的分類帳狀態。給定一個確定性函數應用,事務T的執行i與分類帳狀態Si − 1生成事務輸出Oi和一個新的分類帳狀態Si.也就是說,應用i − 1,Ti) → ⟨ Oi,Si⟩
事件
事件將在事務的執行期間發出。每個移動模塊都可以定義自己的事件,並在執行時選擇何時發出這些事件。例如,在硬幣轉移過程中,發送方和接收方的帳戶將分別發出發送事件和接收事件。這些數據存儲在分類帳中,並且可以通過一個Aptos節點進行查詢。每個已註冊的事件都有一個唯一的鍵,該鍵可以用於查詢事件的詳細信息。
發射到同一事件鍵的多個事件產生事件流,一個事件列表,每個條目包含一個從0開始的順序遞增的數字、一個類型和數據。每個事件都必須由某種類型來定義。可能會有多個由相同或相似的類型定義的事件,特別是在使用泛型時。事件具有相關數據。對於Move模塊開發人員,一般原則是包括在執行更改數據和發出事件的事務之前和之後理解底層資源更改所需的所有數據。事務處理只能生成事件,而不能讀取事件。這種設計允許事務執行僅是當前狀態和事務輸入的函數,而不是歷史信息(e。g., 以前生成的事件)。
賬戶
每個帳戶由一個唯一的256位值標識。當從現有帳戶發送的事務處理調用creat_帳戶(addr)Move功能時,將在分類帳狀態下創建新帳戶(參見第5.5節)。當事務嘗試將Aptos令牌發送到尚未創建的帳戶地址時,通常會發生這種情況。為方便起見,Aptos還支持一個轉移(從,到金額)函數,如果在轉移之前不存在,該函數隱式地創建一個帳戶。

鏈上移動模塊示例
要創建一個新帳戶,用戶首先生成一個簽名密鑰對:(vk、sk)。接下來,使用與簽名方案標識符(ssid)連接的公共驗證密鑰vk的密碼哈希H推導出給定簽名方案的新帳戶地址:其中addr=H(vk,ssid)。
在地址addr創建新帳戶後,用戶可以使用私人簽名密鑰sk簽名從addr發送的事務。用戶還可以旋轉sk,以主動更改sk或響應可能的妥協。這不會更改帳戶地址,因為帳戶地址在創建期間只從公共驗證密鑰派生出一次。
Aptos區塊鏈不會將賬戶與現實世界的身份聯繫起來。用戶可以通過生成多個密鑰對來創建多個帳戶。
由同一用戶控制的帳戶彼此之間沒有內在的鏈接。但是,一個用戶仍然可以在一個錢包中管理多個帳戶,以便進行簡單的資產管理。這種靈活性為用戶提供了假名,而我們為未來的版本提供了隱私保護原語。如第7.4節所述,還提供多個帳戶以增加執行並發性。
移動模塊
移動模塊包含可聲明數據類型(結構)和過程的移動字節碼。它由聲明模塊的帳戶的地址以及模塊名稱來標識。例如,圖2中第一個貨幣模塊的標識符是0x1::coin。一個模塊可以依賴於其他鏈上的模塊,如圖2中的wallet模塊所示,從而實現了代碼重用。
一個模塊必須在一個帳戶中唯一命名。e., 每個帳戶最多可以聲明一個具有任何定名的模塊。例如,圖2中地址為0x1處的帳戶無法聲明另一個名為coin的模塊。另一方面,地址為0x3的帳戶可以聲明一個名為coin的模塊,該模塊的標識符為0x3::coin。請注意,0x1::coin::硬幣和0x3::coin::硬幣是不同的類型,不能互換使用,也不能共享公共模塊代碼。相比之下,0x1::硬幣::硬幣和0x1:::硬幣::硬幣是相同泛型類型的不同實例,不能互換使用,但可以
共享共同的模塊代碼。
模塊被分組為位於同一地址的軟件包。此地址的所有者將包作為一個整體在鏈上發布,包括字節碼和包元數據。這個包的元數據決定了一個包是可以升級的還是不可變的。對於可升級的包,在允許升級之前執行兼容性檢查:不必須更改現有的入口點函數,也不能存儲內存中的資源。但是,可以添加新的功能和資源。
Aptos框架由Aptos區塊鏈的核心庫和配置組成,被定義為一個常規的可升級的模塊包(見第9.2節)

鏈上數據案例
資源
與模塊類似,帳戶地址也可以具有與之關聯的數據值。在每個帳戶地址中,值由其類型鍵控,每個類型的最多一個值屬於該帳戶。圖3提供了一個示例。地址0x50包含一個值,0x3::coin::硬幣是完全限定的類型。0x3是硬幣模塊存儲的地址,硬幣是模塊的名稱,硬幣是數據類型的名稱。還允許使用泛型類型的值,而不同的實例化將被視為不同的類型。這對於可擴展性至關重要,因為它允許不同的實例化共享相同的功能代碼。修改、刪除和發布值的規則被編碼在定義數據類型的模塊中。Move的安全性和驗證規則可以阻止其他代碼或實體直接創建、修改或刪除在其他模塊中定義的數據類型的實例。在一個地址下最多有一個每種類型的頂級值,可以首先進行聲音限制。然而,這在實踐中不是問題,因為程序員可以將其他數據定義為內部字段,從而避免了任何限制。圖3中的Wallet結構體是如何使用包裝器類型的一個示例。還應該注意的是,並非所有的數據類型都可以存儲在鏈上。要使數據實例符合頂級值,數據類型必須具有關鍵能力。同樣,對於嵌套值也需要具有存儲能力。具有這兩種能力的數據類型也被稱為資源。
分類帳狀態
從Move虛擬機(MoveVM)的角度來看,每個帳戶都由一組值和鍵值數據結構組成。這些數據結構被稱為表條目,並以二進制規範序列化格式(BCS)存儲。這種數據布局使開發人員能夠編寫智能合約,它可以有效地操作跨大量賬戶複製的少量數據,以及存儲在少量賬戶中的大量數據。移動模塊存儲與帳戶數據類似,但在獨立的名稱空間下。起源賬本狀態定義了初始帳戶集及其在區塊鏈初始化時的關聯狀態。在發布時,Aptos區塊鏈將由一個單一的分類帳狀態來表示。然而,隨着採用程度的增加和技術的發展,Aptos將擴大碎片的數量,以增加吞吐量(i。e., 啟用多個分類帳狀態),並支持跨碎片移動或訪問資產的事務處理。每個分類帳狀態將維護特定碎片的所有鏈上資產,並提供相同的帳戶模型和細粒度的鍵值數據存儲,為存儲提供接近固定的存儲訪問成本。
6.提供一個安全的用戶體驗
為了接觸到數十億的互聯網用戶,web3的用戶體驗必須是安全的和可訪問的。在下面的章節中,我們將描述由Aptos區塊鏈提供的旨在實現這一目標的幾個創新。0x600x2::wallet::Wallet {硬幣:0x1硬幣:錢包:美元>{價值:0,}硬幣::硬幣{值:10,}}模塊我的硬幣{結構體MyCoin{}}
交易可行性保護
簽署交易意味着簽名者授權區塊鏈提交和執行該交易。偶爾,用戶可能會在無意中籤署事務,或者沒有充分考慮他們的事務可能被操縱的所有方式。為了降低這種風險,Aptos區塊鏈限制了每筆交易的可行性,並保護簽名者不受無限的有效性。目前,Aptos區塊鏈提供了三種不同的保護措施——發送者的序列號、一個事務過期時間和一個指定的鏈標識符。一個事務的序列號對於每個發送者的帳戶只能恰好提交一次。因此,發件人可以觀察到,如果當前帳戶序列號是≥的事務t的序列號,那麼t已經提交或t將永遠不會提交(因為t使用的序列號已經被另一個事務消耗)。
區塊鏈時間具有高精度和頻率(通常亞秒),詳見7.3.1節。如果區塊鏈時間超過了事務t的到期時間,那麼同樣地,t要麼已經提交,或者t將永遠不會提交。每個事務都有一個指定的鏈標識符,以防止惡意實體在不同的區塊鏈環境之間重播事務(e。g., 通過一個測試網和一個主網)。
基於移動的密鑰管理
如第5.2節中所討論的,Aptos帳戶支持密鑰旋轉,這是一個重要的特性,可以幫助減少與私鑰泄露、遠程攻擊和可能破壞現有密碼算法的未來進展相關的風險。此外,Aptos的賬戶也足夠靈活,可以支持新的混合託管模式。在一個這樣的模型中,用戶可以委託給將帳戶的私鑰旋轉給一個或多個保管人和其他受信任的實體的能力。然後,移動模塊可以定義一個策略,授權這些受信任的實體在特定情況下旋轉密鑰。例如,實體可能由許多可信方持有的k-out-n多站點密鑰表示,並提供密鑰恢復服務以防止用戶密鑰丟失(e。g.,20%的比特幣目前被鎖定在不可恢復的賬戶[7])。
此外,雖然許多錢包支持各種關鍵恢復方案,如備份私鑰到雲基礎設施、多方計算和社會恢復,但它們通常不需要區塊鏈支持(i。e., 鏈外)。因此,每個錢包都需要實現自己的密鑰管理基礎設施,相關操作對用戶來說變得不透明。相比之下,在Aptos區塊鏈層支持密鑰管理功能提供了所有與密鑰相關的操作的完全透明度,並使實現具有富密鑰管理的錢包變得更簡單。
預簽書交易的透明度
如今,錢包對他們所簽署的交易幾乎沒有提供任何透明度。因此,用戶往往很容易被騙去簽署惡意交易,這可能會竊取資金,併產生毀滅性的後果。即使對於需要枚舉每個事務訪問的所有鏈上數據的區塊鏈也是如此。因此,目前現有的用戶保護措施很少,使用戶容易受到各種各樣的攻擊。為了解決這個問題,Aptos生態系統為事務預執行提供了服務:一種預防措施,向用戶(以人類可讀的形式)描述他們在簽名之前的事務結果。將其與已知的先前攻擊歷史和惡意智能合同相結合,將有助於減少欺詐。此外,Aptos還允許錢包在執行過程中規定對交易的限制。違反這些約束將導致事務被中止,以進一步保護用戶免受惡意應用程序或社會工程攻擊。
實用的輕光客戶端協議
僅僅依靠API提供者的TLS/SSL證書來建立區塊鏈客戶端和服務器之間的信任,並不能充分保護客戶端。即使有有效的證書,錢包和客戶也不能保證所呈現的數據的真實性和完整性。

[事務處理的生命周期。所有的階段都是完全獨立的,並且都是可單獨並行化的](https://images.mirror-media.xyz/publication-images/elyd9RVduR0wwiIhJEYMN.png?height=454&width=1640)
因此,API提供商可能會返回不正確或惡意的區塊鏈數據,欺騙第三方並執行重複攻擊。 為了防止這種情況發生,Aptos提供了狀態證明和輕客戶端驗證協議,錢包和客戶端可以使用這些協議 來驗證由不可信的第三方服務器提供的數據的有效性。
此外,通過利用第7.6.2節中的基於時間戳的狀態證 明,輕客戶機總是可以確保對帳戶狀態的新鮮度(e。g., 在幾秒鐘內),並且只需要跟蹤網絡配置中的變化 (曆元變化)或使用當前的可信檢查點(路徑點)來保持最新的[8]。通過結合高頻時間戳和廉價的狀態證 明,Aptos區塊鏈為客戶提供了更多的安全保證。
此外,Aptos節點還公開了豐富的高性能存儲接口,可以進一步微調,以允許訂閱針對鏈上的特定數據 和帳戶進行驗證。輕客戶端可以利用這一點來保留最小的可驗證數據,而不需要運行一個完整的節點或處 理大量的事務。
7.管道處理、批處理和並行事務處理
為了最大化吞吐量、提高並發性和降低工程複雜性,Aptos區塊鏈上的事務處理被劃分為單獨的階段。每個階段都是完全獨立的和可單獨並行的,類似於現代的超量處理器架構。這不僅提供了顯著的性能優勢, 而且還使Aptos區塊鏈能夠提供新的驗證器-客戶端交互模式。例如: 當特定事務包含在一批持久事務中時,可以通知客戶端。持久的和有效的交易極有可能立即提交。 當訂購一批持久事務時,可以通知客戶。因此,為了減少確定已執行的事務輸出的延遲,客戶端可以 選擇在本地執行事務,而不是等待驗證器遠程完成執行。 客戶端可以選擇等待驗證器的已認證的事務執行,並對已驗證的結果執行狀態同步(e。g., 參見第8節 )。
Aptos模塊化設計有助於開發速度並支持更快的發布周期,因為更改可以針對單個模塊,而不是單個單一 架構。類似地,模塊化設計還提供了一個結構化的路徑,可以將驗證器擴展到單台機器之外,從而提供了 對額外的計算、網絡和存儲資源的訪問。圖4顯示了跨各個處理階段的事務生命周期。
批處理
批處理是一個重要的效率優化,它是Aptos區塊鏈中每個操作階段的一部分。在交易傳播期間,每個驗證 器將交易分組為批,在達成一致期間將批合併成塊。執行、存儲和 910 塊時間戳=9 t annsacitoionn ( digest_0 , timestamp_0 , PoAV_0 ) t annsacitoionn ( digest_2 , timestamp_2 , PoAV_2 ) t annsacitoionn ( digest_7 , timestamp_7 , PoAV_7 ) 塊時間戳=11 t annsacitoionn ( digest_3 , timestamp_3 , PoAV_3 ) t annsacitoionn ( digest_1 , timestamp_1 , PoAV_1 ) t annsacitoionn ( digest_4 , timestamp_4 , PoAV_4 ) 圖5:塊元數據排序獨立於事務傳播進行。 分類帳認證階段也分批工作,為重新排序、減少操作提供機會(e。g., 重複的計算或簽名驗證),以及並行 執行。將事務分組為一批可能會導致少量的延遲,例如,在執行傳播之前,要等待200毫秒來積累一批事務。 然而,對於最大等待時間和最大批處理大小,批處理很容易配置,使分散的網絡能夠跨延遲和效率自動優 化。批處理還允許高效的收費市場來確定交易的優先級,並避免來自過度熱心的客戶的意外的拒絕服務 (DoS)攻擊。
持續的交易傳播
根據獨角鯨和Tusk[9]的主要見解,Aptos區塊鏈中的交易傳播與共識脫鉤。驗證器不斷地流傳輸可用的事 務,同時利用所有可用的網絡資源。由驗證器v分發的每個批都被持久化,批摘要上的簽名被發送回v。
根 據第7.3節中定義的共識要求,批處理摘要上的任何2f+1股份加權簽名都將形成可用性證明(PoAv)。這樣的 證明保證至少f+1股份加權誠實驗證器存儲了批,因此所有誠實驗證者將能夠在執行之前檢索它。 無限持久化的事務批可以通過導致驗證器耗盡存儲空間和崩潰來打開DoS攻擊向量。為了防止這種情況 發生,每批事務都有一個關聯的時間戳。批處理上的時間戳允許在每個驗證器上進行有效的垃圾收集。
此 外,還設計了一個單獨的每個驗證者配額機制,以保護驗證者即使在最極端的情況下,比如在潛在的拜占 庭攻擊下。批還有大小限制,在協議持續到穩定存儲之前進行驗證。最後,對消除重複事務和緩存事務的 幾種優化降低了存儲成本,並確保了與並行執行引擎的性能集成。
塊元數據排序
一個常見的誤解是,共識是緩慢的,因此是區塊鏈吞吐量和延遲的主要瓶頸。Aptos區塊鏈的關鍵創新之一 是將與非協議相關的任務從共識階段中分離出來,如交易傳播、交易執行/存儲和分類賬認證。通過將事務 傳播與共識階段解耦,排序可以發生在非常低的帶寬下(僅限塊元數據和證明),從而導致較高的事務吞 吐量和最小化的延遲。
今天,Aptos區塊鏈利用了DiemBFTv4[10]的最新版本,這是一款響應良好的BFT共識協議。在常見情況 下,共識只需要兩次網絡往返(在全球範圍內,往返時間通常小於300毫秒),並通過領導者聲譽機制[11] 動態調整到錯誤的驗證器。連鎖領導者的聲譽 交易交易交易交易交易交易 機制促進已在窗口中成功提交塊的驗證器,並降級未參與的驗證器。這種新的機制顯著地提高了分散環境 中的性能,相應地為適當的激勵提供了基礎設施,並快速地將失敗的驗證器對吞吐量和延遲的影響最小化 。
DiemBFTv4保證了部分同步下的活性,並確保了異步下的安全性,其中總驗證器股份為≥3f+1,最多為 f樁加權錯誤驗證器。自2019年以來,DiemBFTv4已經在多次迭代中進行了廣泛的測試,其中有數十個節點 運營商和一個多錢包生態系統。我們也在試驗我們最近的研究(e。g., 霸鯊[12])和其他依賴於塊歷史記 錄和相關通信來確定塊元數據排序和最終性的協議。 一個共識塊和一個提案時間戳由一個領導提出,並由其他驗證者同意,如圖5所示。請注意,每個共識 塊只包含批處理元數據和證明。在該塊中不需要實際交易,因為PoAV確保各批交易將在訂購後的執行階段 可用(見第7.2節)。
驗證者可以在驗證證明和滿足塊元數據標準後,對領導者的提案進行投票。g., 提案 時間戳≤塊過期時間)。
區塊鏈時間
Aptos區塊鏈對每個提議的區塊塊採用一個近似的、商定的物理時間戳,以及相應的,該區塊塊內的所有 事務。這個時間戳啟用了許多重要的用例。例如: 智能合約中的時間依賴性邏輯。例如,開發商希望編碼,所有拍賣的投標必須在周四中午之前收到。 當神諭發布鏈上數據時,需要一個準確和可信的鏈上時間戳來關聯事件和處理來自真實世界數據的延 遲。
客戶可以辨別出他們對區塊鏈的最新情況。出於安全原因,為了避免陳舊的數據和遠程攻擊,客戶端 應該可以訪問更新帳戶狀態時的高精度時間戳。 使用一個非常可信的時間戳來審計區塊鏈可以提供與鏈外事件的強相關性,例如確保法律強制執行的 支付滿足預期的要求。 事務過期是基於最近提交的時間戳。
作為客戶端事務的額外保護保障,客戶端可以為事務的過期時間 ,如第6.1節所述。 Aptos區塊鏈為一個區塊內的所有交易的時間戳提供了以下保證: 時間在區塊鏈中是單調遞增的。也就是說,如果塊B1
如果一個事務塊具有與時間戳T一致的法定簽名數,那麼一個誠實的驗證器將在其自己的時鐘≥時戳T 之前不會將該塊提供給其他驗證器。 每個提交塊的時間戳更新,並用作該塊中所有事務的時間戳。當網絡同步時,每個網絡往返都會提交一個 事務塊,並提供一個快速更新和高度可靠的時鐘。如果需要,可以確定事務塊中更細粒度的排序。 11 圖6:Block-STM(僅限組件的)基準測試,比較具有不同競爭級別的物理內核的數量。
並行事務處理的執行
一旦對一致塊元數據進行排序,事務就可以由任何驗證器、全節點或客戶端執行。至少有2個+1股份加權 驗證器確實持續了提議批次的交易。由於交易傳播是連續的,額外的誠實驗證者將隨着時間的推移接收交 易批次。如果一個誠實的驗證器沒有收到訂單批次的事務達到執行階段,它可以從2f+1股份加權驗證器, 知道至少f+1股份加權驗證器(≥一半的股份加權PoAV簽名者)是誠實的。 任何區塊鏈的一個重要目標都是實現儘可能多的並行執行。Aptos區塊鏈從數據模型和執行引擎都向前 推進了這個方向。
並行數據模型
移動數據模型本機支持數據和模塊的全局尋址。在數據和帳戶中沒有重疊衝突的事務可以並行執行。考慮 到Aptos區塊鏈所使用的流水線設計,重新排序一組事務可以減少衝突的數量,從而提高並發性。 即使事務修改了同一組鏈上的值,大部分事務執行過程仍然可以並行化。Aptos區塊鏈引入了一個新的 概念,delta寫道,它描述了對帳戶狀態的修改,而不是修改後的帳戶狀態(e。g., 增加一個整數,而不是 簡單地確定最終值)。所有的事務處理都可以並行完成,然後對衝突的值以正確的順序應用增量寫入,以確 保確定性的結果。
隨着時間的推移,Aptos區塊鏈將繼續以改善並發性的方式增強數據模型(e。g., 利用讀/寫提示),並 改進人體工程學,使開發人員更自然地創建、修改和組合鏈上的值。Move提供了在語言級別和通過平台特 定的功能進行這些改進的靈活性。
並行執行引擎
Block-STM並行執行引擎檢測和管理一組有序事務的衝突,以及樂觀的並發控制,以允許給定特定有序[13] 的最大並行性。 批事務並行樂觀地執行,並在執行後進行驗證。驗證失敗會導致重新執行。Block-STM使用多版本的數 據結構來避免寫-寫衝突。所有到相同位置的寫入都與它們的版本一起存儲,這些版本包含它們的事務id 和寫入事務被樂觀地重新執行的次數。當事務tx讀取內存位置時,它從多版本數據結構中獲得在tx之前出 現的最高事務寫入該位置的值,以及關聯的版本。
12 Block-STM已經集成到Aptos區塊鏈中。為了充分了解Block-STM性能的潛力,我們使用非平凡的點對點 移動事務(i。e.,每個事務8讀和5寫)作為一個孤立的、只執行的(不是端到端)基準測試。在圖6中,我們 展示了我們的塊-stm執行結果。每個區塊包含10k個事務處理,帳戶的數量決定了衝突和爭用的級別。
在低爭用下,Block-STM通過32個線程的順序執行實現了16倍的加速,而在高爭用下,Block-STM實現 了超過8倍的加速。與區塊鏈空間中的其他並行執行引擎不同,Block-STM能夠動態和透明地(沒有來自用 戶的任何提示)從任何工作負載中提取固有的並行性。與需要預先讀取或寫入數據位置知識的並行執行環 境相比,BlockSTM可以同時支持更複雜的事務。
此屬性將導致更少但更有效的事務,降低成本,並為用戶 提供更低的延遲。也許最重要的是,將原子事務分割為多個較小的事務,打破了具有複雜狀態結果的單個 事務的全或無的語義。將Block-STM中的表達性事務語義與並行執行相結合,使開發人員擁有最好的兩個 世界。請注意,塊元數據排序步驟並不排除在並行執行階段中對事務進行重新排序。事務可以跨一個或多個 塊進行重新排序,以優化並行執行的並發性。唯一的要求是,重新排序必須在所有誠實的驗證器上都是確 定性的。對並行執行進行優化以及在重新排序中添加隨機化可以提高性能,並潛在地阻止可盈利的驗證器 事務重新排序的最大可提取值(MEV)技術。“順序然後揭示”MEV抗策略也可以納入這個流水線設計中。
塊-stm和事務重新排序是增加執行並行性的互補技術。它們可以與事務讀/寫訪問提示相結合,以獲得 其他並發性。 .57批量存儲 並行執行階段會為組中的所有事務生成寫集。這些寫集可以存儲在內存中以獲得最大的執行速度,然後用 作要執行的下一個塊或一組塊的緩存。任何重疊的寫入操作都只需要寫入穩定的存儲器一次。如果驗證器 在存儲內存中的寫集之前失敗,它可以簡單地從塊元數據排序階段恢復並行執行。將並行執行步驟中寫集 的批存儲解耦,確保並行執行能夠有效地運行。
總之,批處理寫集減少了存儲操作的數量,並利用了更高 效、更大的I/O操作。 為寫集緩存保留的內存量可以為每台機器手動配置,並提供了一個自然的背壓機制。如果需要針對特 定的I/O和內存環境進行調優,那麼批處理的粒度可能與並行執行塊的粒度不同。 .67分類帳認證 在管道中,每個驗證器都計算了已提交的事務塊的新狀態。然而,為了有效地支持已驗證的輕客戶端和狀 態同步,Aptos區塊鏈為分類帳歷史記錄和分類帳狀態實現了分類帳認證。Aptos區塊鏈的一個關鍵區別是 ,分類賬認證並不在交易處理的關鍵路徑上,如果需要,甚至可以完全在帶外運行。
分類帳歷史記錄認證
驗證器將事務及其執行輸出附加到全局經過身份驗證的分類帳數據結構中。事務輸出的一部分是狀態寫集 ,包括對移動可訪問的全局狀態所做的更改。此數據結構的簡短身份驗證器是對分類帳歷史記錄的綁定承 諾,其中包括新執行的一批事務處理。與事務執行類似,此數據結構的生成也是確定性的。 每個驗證器將短身份驗證器簽名到結果數據庫的新版本。驗證器彼此共享它們最近的簽名短身份驗證 器集,集體聚合定量簽名短身份驗證器,並彼此共享最近的仲裁簽名短身份驗證器。
使用這個集體簽名,客戶機可以相信一個數據庫版本根據協議的BFT屬性代表了完整、有效的和不可逆 的分類帳歷史記錄。客戶端可以查詢任何驗證器(或數據庫的任何第三方副本,如完整節點),以讀取數 據庫值,並使用身份驗證器和所需數據的證明來驗證結果。
定期狀態認證
Move可訪問的整個全局狀態可以在歷史記錄上的任何時刻總結為一個簡短的身份驗證器,類似於分類帳歷 史記錄的摘要。由於全局狀態的隨機訪問特性(不像僅附加的分類帳歷史記錄),維護此身份驗證的成本 非常高。然而,當大批量更新數據結構時,我們可以並行計算更新,也可以利用當每個單獨的狀態值發生 變化時必須更新的部分之間的任何重疊。
Aptos區塊鏈故意只定期認證全局狀態,以減少重複的共享更新 。 在確定性和配置的時間間隔期間,網絡會發出狀態檢查點事務,其中包括將全局狀態身份驗證器作為 其輸出的一部分。這些版本被表示為狀態檢查點。兩個檢查點之間的差距越大,更新每個事務的狀態身份 驗證數據結構的攤余成本就越低。 使用狀態檢查點,可以以不信任的方式從其中讀取任何狀態值,而不存儲所有全局狀態。此功能對於 增量狀態同步、跨驗證器的分片存儲、無狀態驗證器節點和存儲受到限制的輕客戶端等應用程序非常有用 。
但是,由於狀態檢查點是周期性的,因此獲得分類帳狀態的特定版本的證明需要對缺失狀態變更執行 額外的交易,或者從經過驗證的分類帳歷史中獲得它們的包含證明。 狀態檢查點與分類帳歷史記錄中的特定事務處理版本綁定,因此綁定到與第7節中提到的事務處理批相 關聯的時間戳。
使用時間戳,輕客戶端可以理解已驗證的狀態值的近因性。如果沒有時間戳,一個輕的客戶證明只能確保以前的狀態的有效性,這幾乎不能提供相關性的保證。此外,狀態證明的時間戳對於跟蹤 歷史訪問和審計目的是必要的,例如計算令牌儲備中的令牌的平均每小時餘額。 狀態檢查點可以根據以前的狀態檢查點和之後事務輸出中的狀態變化派生。因此,對穩定存儲的持久 化狀態檢查點不需要在事務處理的關鍵路徑上。此外,在持續使用狀態檢查點時,也存在有益的批處理效應。在內存中緩存最近的狀態檢查點(或者更確切地說是它們之間的增量),並且只將周期性的狀態檢查 點轉儲到穩定的存儲中,可以大大減少存儲帶寬的消耗。選擇要持久化的檢查點的方式不會影響對經過身 份驗證的數據結構的計算。因此,這是每個節點的選擇:節點操作員可以在內存容量和存儲帶寬之間配置 適當的權衡。
8.狀態同步
Aptos區塊鏈旨在為生態系統中的所有參與者提供一個高吞吐量、低延遲的系統。因此,區塊鏈必須提供 一個有效的狀態同步協議,以傳播、驗證和持久化區塊鏈數據到輕客戶端、全節點和驗證器[14]。此外, 同步協議還必須容忍網絡內的資源約束和異構性,並考慮到不同的用戶和用例。例如,它必須允許歸檔完 整節點來驗證和持久化整個區塊鏈歷史和狀態,同時也允許輕客戶端只有效地跟蹤Aptos區塊鏈狀態的一 小部分集。 為了實現這個屬性,Aptos區塊鏈利用驗證器、全節點和其他複製器提供的經過驗證的分類賬歷史和認 證的狀態證明(見7.6.1節),以提供靈活和可配置的同步協議。具體來說,網絡中的參與者可以根據不 同的同步策略來優化他們的用例和需求。
例如,在全節點的情況下,Aptos允許多種同步策略,包括能夠處理自時間開始以來的所有事務,或者 完全跳過區塊鏈歷史記錄,並使用路徑點只同步最新的區塊鏈狀態。在輕客戶端的情況下,策略包括同步 部分區塊鏈狀態,e。g., 特定的帳戶或數據值,並啟用14 驗證狀態讀取,e。g., 已驗證的帳戶餘額正在抓取。在所有情況下,Aptos都允許參與者配置數據的數量 和年齡,以獲取、處理和保留數據。 通過採用一種靈活和可配置的狀態同步方法,Aptos可以適應各種客戶端需求,並在未來繼續提供新的 、更有效的同步策略。
9.社區所有權
Aptos區塊鏈將由一個廣泛和多樣化的社區擁有、運營和管理。原生Aptos令牌將用於交易和網絡費用、協 議升級和鏈上/鏈外流程的治理投票,以及通過股權證明模型保護區塊鏈。對Aptos標記經濟學的完整描述 將在未來的出版物中發表。
交易和網絡費用
所有的Aptos交易都有一個天然氣單價(在Aptos令牌中指定),允許驗證者對網絡中價值最高的交易進行優 先排序。此外,在流水線模型的每個階段,都有多種機會丟棄低價值事務(允許區塊鏈在系統容量下有效 運行)。隨着時間的推移,將部署網絡費用,以確保使用Aptos區塊鏈的成本與硬件部署、維護和節點操 作的實際成本成比例。此外,開發人員將有機會在計算、存儲和網絡之間設計具有不同成本權衡的應用程 序。
網絡治理
Aptos區塊鏈上的每一個重要的特性更改和改進都將經過幾個階段,包括提議、實現、測試和部署。這種 結構為相關方和利益相關者提供反饋、分享關注和提供建議的機會。最後一個階段,即部署,通常可以通 過兩個步驟來實現。首先,一個帶有新功能的軟件版本將被部署到每個節點上,其次,將啟用該功能,e 。g., 通過一個特性標誌或鏈上的配置變量。 節點操作員的每個軟件部署必須向後兼容,以確保新軟件能夠與支持的版本互操作。部署新軟件版本 的過程可能會跨越多日,以考慮到在不同時區的操作人員和任何外部問題。
一旦升級了足夠數量的節點, 新功能的啟用就可以由一個同步點觸發,例如商定的塊高度或曆元更改。在緊急情況下(e。g., 當停機時 間不可避免時),啟用可以通過節點操作員的手動和強制更改,在最壞的情況下,通過網絡中的硬分叉。 與其他區塊鏈相比,Aptos區塊鏈對其在鏈上的配置進行了編碼。
每個驗證器都能夠同步區塊鏈的當前狀態,並自動選擇正確的配置(e。g., 共識協議和Aptos框架版本)基於當前的鏈上值。由於這個功能, Aptos區塊鏈的升級是無縫的和即時的。 為了為支持過程提供靈活性和可配置性,Aptos區塊鏈將支持鏈上治理,即令牌持有者可以根據他們所 持有的令牌權重進行投票。鏈上的投票協議是公開的,可驗證的,並且可以是即時的。鏈上治理還可以支持在不部署軟件的情況下實現非二進制結果。例如,鏈上的領導者選舉協議參數可以通過鏈上的治理進行 修改,而一個預先已知的同步點將無法處理動態修改,因為所有的更改都必須提前知道。 隨着時間的推移,鏈上的治理可以部署在整個升級管理過程中。
例如:
1.令牌持有者將投票決定過渡到一個新的量子抵抗簽名方案。
2.開發人員實現並驗證了新的簽名方案,並創建了一個新的軟件版本。
3.驗證器會將他們的軟件升級到新的版本。
令牌持有者在鏈上投票以啟用新的簽名方案,鏈上的配置將被更新,並且更改將生效。 作為一個開源項目,Aptos區塊鏈將依賴於強大的社區反饋,並使用鏈上治理來管理適當的流程。在某些條件下,可能仍然需要鏈外升級支持,但隨着時間的推移將被最小化。
股份證明共識
要參與Aptos區塊鏈上的交易驗證,驗證者必須擁有最低數量的Aptos代牌。在交易傳播過程中,持股金額成比例地影響2f+1股份加權PoAv,以及在塊元數據排序期間的投票權重和領導選擇。驗證者決定在他們自己和他們各自的支架之間的獎勵分配。聲明者可以選擇任意數量的驗證者,將他們的令牌進行預先商定的 獎勵分割。在每一個時代結束時,驗證者和他們各自的支架將通過相關的鏈上移動模塊獲得他們的獎勵。 任何擁有足夠股份的驗證器運營商都可以自由加入Aptos區塊鏈。所有參數,包括所需的最小樁率,都可以通過第9.2節中所述的鏈上啟用過程來設置。
10.性能
如第7節所述,Aptos區塊鏈能夠通過其並行、批處理優化和模塊化的事務處理管道來實現最佳的吞吐量和 硬件效率。其他的性能計劃,如一致升級、增量寫入、事務提示和關鍵路徑緩存,將隨着時間的推移繼續 提高吞吐量和提高效率。
今天,區塊鏈吞吐量通常是以每秒的事務來衡量的。然而,考慮到事務和基礎設施之間的廣泛成本和 複雜性,這是比較系統的一種不精確的方法。事務延遲也同樣存在缺陷,因為提交到最終性的起點和終點 在不同的實驗中是不同的。 此外,一些系統需要對事務輸入和輸出的先驗知識,並迫使邏輯事務被分成更小、更不複雜的事務。 拆分事務會導致糟糕的用戶體驗,並人為地影響延遲和吞吐量,而不考慮開發人員正試圖完成什麼。相比 之下,Aptos方法是讓開發人員能夠無限制地構建,並根據真實用例而不是合成事務測量吞吐量和延遲, 從而衡量吞吐量和延遲。
Aptos區塊鏈將繼續優化單個驗證器的性能,並試驗擴展技術,添加更多的驗證器的網絡。這兩個方向 都有明顯的權衡。任何具有並行執行功能的區塊鏈都可以通過需要更強大的硬件,甚至將每個驗證器構建 為單獨機器的集群來支持額外的並發性。然而,與驗證器操作符的成本和複雜性相稱的全局驗證器的數量 存在實際的限制。雲服務中無服務器數據庫的興起和流行表明,很少有實體能夠有效地部署和維護這些類 型的複雜分布式系統。
均勻狀態分片
最初,Aptos區塊鏈將以單一的賬本狀態啟動。隨着時間的推移,Aptos網絡將採取一種獨特的方法來實現 水平可擴展性,同時仍然保持分散化。這將通過多個分片分類帳狀態發生,每個狀態提供一個同質的API 和分片作為一個一流的概念。
Aptos令牌將用於所有碎片上的交易費用、打樁和治理。 數據可以通過均質橋在碎片之間傳輸。用戶和開發者可以根據自己的需要選擇自己的分片方案。例如 ,開發人員可以在現有的碎片中提出一個新的碎片或集群用戶,以實現高的碎片內連接。此外,碎片可能具有不同的系統特徵。一個碎片可以通過計算進行優化16 17 ssd和另一個可以針對具有低計算特性的大型硬盤驅動器進行優化。通過在不同的碎片之間提供硬件的靈 活性,開發人員可以為他們的應用程序利用適當的系統特性。
總之,齊構狀態分片提供了橫向吞吐量可伸縮性的潛力,允許開發人員跨碎片使用單一的通用狀態進 行編程,並允許錢包輕鬆地為其用戶合併分片數據。這提供了顯著的性能優勢,以及單一統一的移動智能合約平台的簡單性。
參考文獻
[1]“Aptos核心”,2022年。在線可用:https://github。com/aptos實驗室/aptos核心
[2]“移動”,20 22年。在線可用:https://github。com/move-language/move
[3] D . 松岡,C。迪克森,E。拉扎林和R。哈克特(2022)介紹2022年加密狀態報告。 在線可用:https://a16z。com/標籤/crypto狀態2022/
[4] Z.阿姆斯登,R。阿羅拉,S。巴諾,M。鮑德特,S。黑剪,A。博斯拉,G。卡布雷拉,C。Catalini, K.Chalkias, E.程,A。清,A。Chursin, G.Danezis,G。D.賈科莫,D。L.迪爾,H。丁,N。Doudchenko, V.高,Z。高,F。Garillot, M.Gorven, P.海耶斯,J。M.Hou, Y.胡,K。赫爾利,K。Lewi,C。李,Z。列支敦 士登D.Malkhi, S.馬爾古利斯,B。毛雷爾,P。Mohassel, L.德諾羅伊斯,五。Nikolaenko, T.諾瓦奇,哦。奧爾洛 夫D.佩雷爾曼。波特,B。ProctorS。卡迪爾,雨,D。Russi, B.施瓦布,S。Sezer。索尼諾,H。文特爾, L.魏,N。Wernerfelt, B.威廉姆斯,Q。吳,X。Yan,T。Zakian和R。周,《天秤座區塊鏈》, 2019.在線可用:https://開發人員。diem。每日新聞,區塊鏈/2020-0526。pdf
[5] S.Blackshear, E.程,D。L.迪爾,五。高,B。毛雷爾,T。諾瓦奇。波特,S。卡迪爾,D。R. 雨,S。塞澤,T。Zakian和R。周,“移動:一種具有可編程資源的語言”,2019年。在線可用性:https://開發人員。diem。com/papers/diem-move-a-language-with-programmableresources/2019-0618.pdf
[6] D.迪爾,W。Grieskamp, J.公園,S。卡迪爾,M。Xu和E。鍾先生,“快速、可靠的正式驗證” 在系統的構建和分析的工具和算法中,D。FismandG。Rosu, Eds.圖章:施普林格國際出版社,2022年,頁。183 –200.
[7] N.發出砰的響聲的人(2021年)丟失的密碼鎖定了百萬富翁的比特幣財富。在線可用: https://www.nytimes.co m / 2 0 2 1 / 0 1 / 1 2 / t e c h n o l o g y / b i t c o i n - p a s s w o r d s - w a l l e t s - f o r t u n e s . html
[8]每日小組,“狀態同步和提交信息的驗證 系統與重新配置,“2020”。在線可用:https://github。com/aptos-labs/aptoscore/blob/main/documentation/tech-papers/lbft-verification/lbft-verification.pdf
[9] G.DanezisL。科科里斯-科吉亞斯。索尼諾和A。《獨角鯨和象牙:一種基於黑暗的動物》 《第十七屆歐洲計算機系統會議論文集》。EuroSys '22.紐約,紐約,美國:計算機機械協會,2022,p。34– 50.在線可用:https://doi。org/10.1145/3492321.3519594
[10]Diem團隊,“日記v4:日記區塊鏈中的狀態機複製”,2021年。在線 可用性:https://開發人員。diem。com/papers/diem-consensus-state-machine-replication-in-the-diemblockchain/2021-0817.pdf
[11] S.科恩,R。Gelashvili, L.Kokoris-KogiasZ。李,D。馬爾奇,A。索尼諾和A。斯皮格爾曼,“注意 科爾,第1卷。abs/2110.00960, 2021.在線可用:https://arxiv。org/abs/2110.00960
[12] A. Spiegelman, N.吉里達蘭。索尼諾和L。《霸鯊:Dagbft協議製作》 在第20屆計算機和通信安全會議(中國化學會)中。中國化學會 '22.美國加州洛杉磯:計算機機械協會,2022 年。
[13] R.格拉什維利。Spiegelman, Z.向,G。Danezis,Z。李,Y。夏,R。周和D。Malkhi,“塊-stm: 通過將命令詛咒變成性能祝福來擴展區塊鏈的執行,“2022”。在線可用:https://arxiv。org/abs/2203.06871
[14] J.狀態同步的演變:每秒100k+事務的路徑 aptos的延遲,2022年。在線可用:https://媒體。com/aptoslabs/52e25a2c6f10
責任編輯:Felix