速覽Aptos白皮書:安全、可擴展和可升級的Web3基礎設施

原文標題:《The Aptos Blockchain: Safe, Scalable, and Upgradeable Web3 Infrastructure》

原文編譯:Frank,Foresight News

Aptos 在過去三年中由全球350 多名開發人員共同開發,並以可伸縮性、安全性、可靠性和可升級性作為關鍵設計原則,它在共識、智能合約設計、系統安全、性能和去中心化等方面都有新的創新:

Aptos 本地集成並使用Move 語言,用於快速和安全的事務執行;

Aptos 數據模型可以實現靈活的密鑰管理和混合託管選項;

Aptos 利用流水線和模塊化的方法來執行事務處理的關鍵階段,以實現高吞吐量和低延遲;

Aptos 沒有對開發人員施加預先了解要讀寫數據的限制,可以有效地支持任意複雜事務的原子性,提供更高的吞吐量和更低的延遲,並簡化開發流程;

Aptos 採用模塊化架構設計以支持客戶端的靈活性,此外Aptos 提供了嵌入式的鏈上變更管理協議;

Aptos 正在嘗試擴展到單個驗證節點性能之外的未來計劃:其模塊化設計和並行執行引擎支持驗證節點的內部分片,均勻狀態分片提供了可擴展性的潛力,且不會增加節點操作的複雜性;

願景與概述

Aptos 的願景是將Web3 引入主流,並構建一個去中心化應用的生態系統,以解決現實世界中用戶的問題。

Aptos 團隊在過去三年中構建、開發、推進和部署Diem 區塊鏈(Aptos 的前身)的經驗證明,一個網絡可以在不干擾其用戶的情況下不斷升級其協議。

Aptos 對技術堆棧進行了一系列徹底的改進,同時也將安全、透明和頻繁的升級作為核心功能,同時強調事務處理的新方法以及去中心化和網絡治理的新方法。

速覽Aptos白皮書:安全、可擴展和可升級的Web3基礎設施

Aptos 生態系統的組件

如圖所示,Aptos 由一組驗證節點組成,這些驗證節點使用拜占庭容錯(BFT)、股權證明共識機制(PoS )共同接收和處理來自用戶的事務請求。

代幣持有者在其選定的驗證節點中鎖定或質押代幣,每個驗證節點的共識投票權重與其中所投入的金額成正比。

客戶端在系統中需要提交事務或查詢區塊鏈的狀態、歷史記錄的任何部分;完整節點從驗證節點或從網絡中的其他完整節點複製事務和區塊鏈狀態,可以根據需要修剪事務歷史記錄和區塊鏈狀態以回收存儲空間;輕客戶端只維護當前的驗證節點集合,並且可以安全地查詢部分區塊鏈狀態,通常是從完整節點上查詢的(錢包是輕客戶端的一個常見例子)。

為了滿足安全、快速、可靠、可升級的Web3 基礎設施被廣泛採用的需求,Aptos 建立在以下核心設計原則之上:

通過新的智能合約編程語言Move 來實現快速和安全的事務執行;

通過批量處理、流水線處理和並行事務處理方法實現極高的吞吐量和低延遲;

新的並行事務處理,支持任意複雜事務的原子性;

通過快速的、有質押權重的驗證器集輪換和信譽跟踪,優化網絡性能和去中心化程度;

可升級性和可配置性,以擁抱新的用例和最新的技術;

模塊化設計,支持嚴格的組件級別測試,以及適當的威脅建模和無縫部署,所有這些都確保了高度安全和可靠的操作。

在保持去中心性的同時,通過分片保證吞吐量的可擴展性;

Move 語言

Move 是一種新的智能合約編程語言,它強調安全性和靈活性。 Aptos 使用Move 的對像模型來表示其賬本狀態,並使用Move 代碼(模塊)來編碼狀態轉換的規則。

Move 的靈感來自於Rust 編程語言,Aptos 團隊進一步增強了Move,以支持更廣泛的Web3 用例。

邏輯數據模型(Logical data model)

Aptos 的賬本狀態表示所有帳戶的狀態,任何人都可以向Aptos 提交一個事務處理,以修改賬本狀態。

交易

已簽名的事務處理包含以下信息:

事務身份驗證節點:發件人使用包含一個或多個數字簽名的事務身份驗證節點來驗證事務是否經過身份驗證;

發件人地址:發件人的帳戶地址;

有效負載:對於點對點交易,包含收件人的信息和轉賬金額;

Gas 價格:發送方為執行交易而按每單位Gas 願意支付的金額;

最大Gas 量:交易在中止前允許消耗的最大Gas 單位;

序號:交易記錄的序號,在事務執行成功後,將增加帳戶序列號,以防止重放攻擊(Replay Attacks);

到期時間:事務停止有效的時間戳。

鏈ID:標識此事務有效的區塊鏈ID,以防止簽名錯誤;

賬戶

Aptos 不會將賬戶與現實世界的身份聯繫起來,用戶可以通過生成多個密鑰對來創建多個帳戶, 由同一用戶控制的帳戶彼此之間沒有內在的聯繫。

但是一個用戶仍然可以在一個錢包中管理多個帳戶, 以便進行簡單的資產管理,這種靈活性為用戶提供了匿名性,而我們為未來的版本提供了隱私保護功能,還提供多個帳戶以增加執行並發性。

Move 模塊

Aptos 框架由Aptos 的核心庫和配置組成,被定義為一個常規的可升級的模塊包。

速覽Aptos白皮書:安全、可擴展和可升級的Web3基礎設施

鏈上的數據示例

如何實現安全的用戶體驗

交易可行性保護(Transaction viability protection)

簽署交易意味著簽名者授權區塊鏈提交和執行該交易,偶爾用戶可能會在無意中籤署事務,或者沒有充分考慮他們的事務可能被操縱的所有方式。

為了降低這種風險,Aptos 限制了每筆交易的可行性,以保護簽名者。目前Aptos 提供了三種不同的保護措施:發送者的序列號、 事務過期時間和指定的鏈ID。

事務的序列號對於每個發送者的帳戶只能提交一次。因此如果當前帳序列號是≥ 事務t 的序列號,那麼t 已經提交或t 將永遠不會提交,因為t 使用的序列號已經被另一個事務消耗;

如果區塊鏈時間超過了事務t 的到期時間,那麼同樣地t 要么已經提交,或者t 將永遠不會提交;

每個事務都有一個指定的鏈ID,以防止惡意實體在不同的區塊鏈環境之間進行重放攻擊;

基於Move 的密鑰管理(Move-based key management)

Aptos 帳戶支持「密鑰輪換」(key rotation),這是一個重要的特性,可以降低與私鑰洩露、遠程攻擊和可能破壞現有密碼算法的未來進展相關的風險。

此外Aptos 的賬戶也足夠靈活,可以支持新的混合託管模型,用戶可以將輪換帳戶私鑰的能力委託給一個或多個託管人和其他可信實體。然後Move 模塊可以定義一個策略,使這些受信任實體能夠在特定情況下輪換私鑰,例如實體可能是由許多受信任方持有的k-out-of-n 多簽密鑰形式,從而可提供密鑰恢復服務以防止用戶密鑰丟失。

透明的預簽名交易(Pre-signing transaction transparency)

如今,錢包對他們所簽署的交易幾乎沒有提供任何透明度,因此用戶往往很容易被騙去簽署惡意交易,這可能會竊取資金,並產生嚴重後果。

為了解決這個問題,Aptos 生態系統提供事務預執行服務:可向用戶(以人類可讀的形式)描述他們在簽名之前的事務結果,將其與已知的先前攻擊歷史和惡意智能合約相結合,將有助於減少欺詐。

此外,Aptos 還允許錢包在執行過程中規定對交易的限制,違反這些約束將導致事務被中止,以進一步保護用戶免受惡意應用程序或社會工程攻擊。

實用的輕型客戶端協議(Practical light client protocols)

Aptos 提供狀態證明和輕客戶端驗證協議,錢包和客戶端可以使用這些協議來驗證由不可信的第三方服務器提供的數據的有效性。

此外輕客戶端可以保留最小的可驗證數據,而不需要運行一個完整的節點或處理大量的事務。

速覽Aptos白皮書:安全、可擴展和可升級的Web3基礎設施

流水線處理、批量處理和並行事務處理(Pipelining, batching, and parallel transaction processing)

為了最大化吞吐量、提高並發性和降低工程複雜性,Aptos 上的事務處理被劃分為單獨的階段,每個階段都是完全獨立的和可單獨並行的。

這不僅提供了顯著的性能優勢,而且還使Aptos 能夠提供新的驗證節點- 客戶端交互模式,此外Aptos 模塊化設計也有助於提升開發速度並支持更快的發布週期。

批量處理(Batch processing)

速覽Aptos白皮書:安全、可擴展和可升級的Web3基礎設施

批量處理是一個重要的效率優化,在廣播交易時,每個驗證節點將交易分組為批,在達成一致後將批合併成塊。

連續事務傳播(Continuous transaction dissemination)

Aptos 中的交易廣播與共識脫鉤。

區塊元數據排序(Block metadata ordering)

Aptos 區塊鏈的關鍵創新之一是將與非協議相關的任務從共識階段中分離出來,如交易傳播、交易執行/ 存儲和分類賬認證。

通過將事務廣播與共識階段分離,可以在非常低的帶寬下進行排序,從而實現高事務吞吐量和最小化延遲。

速覽Aptos白皮書:安全、可擴展和可升級的Web3基礎設施

此外Aptos 對每個提議的區塊塊採用一個近似的、商定的物理時間戳,以及相應的該區塊塊內的所有事務,這個時間戳啟用了許多重要的用例,例如:

智能合約中的時間依賴性邏輯,譬如開發人員可以設置所有拍賣的投標必須在周四中午之前收到等等。

並行事務處理(Parallel transaction execution)

一旦對一致區塊元數據進行排序,事務就可以由任何驗證器、全節點或客戶端執行。

批量存儲(Batch storage)

批量處理減少了存儲操作的數量,並利用了更高效、更大的I/O 操作。

分類賬認證(Ledger certification)

Aptos 為分類帳歷史記錄和分類帳狀態實現了分類帳認證,且分類賬認證並不在交易處理的關鍵路徑上。

狀態同步

Aptos 旨在為生態系統中的所有參與者提供一個高吞吐量、低延遲的系統,因此必須提供一個有效的狀態同步協議,以傳播、驗證和持久化區塊鏈數據到輕客戶端、全節點和驗證節點。

Aptos 利用驗證節點、全節點和其他復制節點提供的經過驗證的分類賬歷史和認證的狀態證明,以提供靈活和可配置的同步協議,具體來說,網絡中的參與者可以根據不同的同步策略來優化他們的用例和需求。

例如,在全節點的情況下,Aptos 允許多種同步策略,包括能夠處理自時間開始以來的所有事務,或者完全跳過區塊鏈歷史記錄,並使用路徑點只同步最新的區塊鏈狀態;在輕客戶端的情況下,策略包括同步部分區塊鏈狀態。

通過採用一種靈活和可配置的狀態同步方法,Aptos 可以適應各種客戶端需求,並在未來繼續提供新的、更有效的同步策略。

社區共同治理

Aptos 將由一個廣泛和多樣化的社區擁有、運營和管理。

原生Aptos 代幣將用於交易和網絡費用、協議升級和鏈上/ 鏈外流程的治理投票,以及通過PoS 模型保護區塊鏈。

對Aptos 代幣經濟學的完整描述將在未來公佈。

交易和網絡費用(Transaction and network fees)

所有的Aptos 交易都有一個Gas 單價,允許驗證節點對網絡中價值最高的交易進行優先排序。

此外,在流水線模型的每個階段,有多種機會丟棄低價值事務(允許區塊鏈在系統容量下有效運行)。

隨著時間的推移,將部署網絡費用以確保使用Aptos 的成本與硬件部署、維護和節點操作的實際成本成正比。

網絡治理(Network governance)

Aptos 上的每一個重要的特性更改和改進都將經過幾個階段,包括提議、實現、測試和部署。

這種結構為相關方和利益相關者提供反饋、分享關注和提供建議的機會。其中最後一個階段(即部署),通常可以通過兩個步驟來實現:

首先,一個帶有新功能的軟件版本將被部署到每個節點上;

其次,將通過一個特性標誌或鏈上的配置變量啟用該功能;

與其他區塊鏈相比,Aptos 對其在鏈上的配置進行了編碼,每個驗證節點都能夠同步區塊鏈的當前狀態,並自動選擇正確的配置。

為了為支持過程提供靈活性和可配置性,Aptos 將支持鏈上治理,即代幣持有者可以根據他們所持有的代幣權重進行投票。

PoS 共識機制

要參與Aptos 上的交易驗證,驗證者必須擁有最低數量的Aptos 代幣。

性能

Aptos 能夠通過其並行、批量處理優化和模塊化的事務處理來實現最佳的吞吐量和硬件效率,其他的性能計劃,如一致升級、增量寫入、事務提示和關鍵路徑緩存,將隨著時間的推移繼續提高吞吐量和提高效率。

Aptos 將繼續優化單個驗證節點的性能,並試驗擴展技術,添加更多驗證節點的網絡,這兩個方向需要權衡。

任何具有並行執行功能的區塊鏈都可以通過更強大的硬件,甚至將每個驗證節點構建為單片機集群來支持額外的並發性,然而很少有實體能夠有效地部署和維護這些類型的複雜分佈式系統。

均勻狀態分片(Homogeneous state sharding)

Aptos 將以單一的賬本狀態啟動,隨著時間的推移,Aptos 網絡將採取一種獨特的方法來實現水平可擴展性,同時仍然保持去中心化。

這將通過多個分片分類賬狀態實現,每個狀態都提供一個同質API,而分片是一級概念。 Aptos 代幣將用於所有分片上的交易費用、持股和治理。

數據可以通過橋在分片之間傳輸,用戶和開發者可以根據自己的需要選擇自己的分片方案,例如開發人員可以在現有的分片中提出一個新的分片或集群用戶,以實現高效的分片內連接。

此外分片可能具有不同的系統特性,譬如可以使用一個分片進行計算優化。總之均勻狀態分片提供了橫向吞吐量可擴展性的潛力,允許開發人員跨分片使用單一的通用狀態進行編程,並允許錢包輕鬆地為其用戶合併分片數據。

原文鏈接

聲明:本內容為作者獨立觀點,不代表0x财经 立場,且不構成投資建議,請謹慎對待,如需報導或加入交流群,請聯繫微信:VOICE-V。

來源:Foresight News

Total
0
Shares
Related Posts