GregShen
GregShen

Blockchain Developer 走偏的統計仔 趁著服役期間寫寫文章

Aptos 白皮書解析系列 — 1

(编辑过)
兼顧安全性、擴展性、可升級的區塊鏈基礎架構

前言

論 Aptos 最近的火爆程度,相信有在接觸區塊鏈的朋友們都蠻有感的,值得研究的是,Aptos 這條鏈憑什麼能在公鏈百家爭鳴、市場行情不佳的情況下募到這麼多錢?Aptos 真的對得起目前 27.5 億美元估值嗎?

相信一定有很多中文大神們會想在跳進去開發前深入研究它的理念,為了幫助各位節省讀英文做研究的時間,我將 2022/08/11 剛誕生的 Aptos白皮書 整理成一系列的文章,內容及架構也有經過調整。至於 Aptos 的開發團隊、投資方介紹、一些很多人已經整理好的資訊就不多做描述。

如果您只想了解 Aptos 核心設計原則及特色…

1. 通過 Move 語言編寫智能合約

  • 重新定義數位資產,使其更安全
  • Move Prover 可以預先測試智能合約,使其更安全、更受信任

2. 挑戰區塊鏈不可能的三角

  • 快速的權益驗證集輪換
  • 名譽系統
  • 分片技術
  • 批量地 (batched) 平行運算 (parallelized) 來處理交易
  • 新型的平行運算處理交易方式(Block-STM)

3. 模組化區塊鏈

  • 讓區塊鏈擁有可升級性和可配置性
  • 可實現嚴格的組件級測試、適當的威脅建模
  • 不須將鏈暫停便可以將鏈升級
  • 確保了高度安全和可靠的操作
模組化跟可升級有什麼關聯?
簡單來說,模組化就是讓這個區塊鏈變得像是插座,可以不斷接上最新應用,也可以把過時的應用拔除,所以才說可升級、可配置。

關於不可能的三角以及模組化的區塊鏈,我在 Role of Hyperledger Fabric in Capital Holdings — 1 這篇文章有介紹過,有興趣可以看看。順帶一提,Hyperledger Fabric 原是 IBM 的區塊鏈專案,後來交給 Linux Foundation 管理,是一條可插拔的模組化聯盟鏈 (聯盟鏈是許可制區塊鏈,想與鏈上互動之前必須有相應權限,與公鏈這種大家可自由互動的區塊鏈不同)。

如果您想要一起看完白皮書…那我們開始吧!

架構

Aptos 白皮書共 17 頁、10 個章節。我會分成六篇文章。

第一篇

  • 包含章節 1, 2, 3
  • Web2 的興起與遇到的問題
  • Web3 現況
  • Aptos 的目標。

第二篇

  • 包含章節 4
  • 較深入的介紹 Move 語言。

第三篇

  • 實作 EVM, Solana, Move 的 Token
  • 比較資產的資料儲存方式差異

第四篇

  • 包含章節 5, 6
  • Aptos 的數據模型
  • Aptos 如何透過強大的驗證方法兼顧良好的使用者體驗及安全性。

第五篇

  • 包含章節 7
  • Aptos 如何批量、平行處理交易。

第六篇

  • 包含章節 8, 9, 10
  • Aptos 如何做到將狀態同步
  • 交易手續費如何計算
  • 生態治理權
  • 共識機制
  • 如何利用分片技術在保持去中心化特性的同時提高吞吐量。

一、 Web2 的興起與問題、Web3 現況

Web2 的興起

讓我們先來聊聊 Web2 近年的發展,為什麼它在短短二十年內就能遍及全球,達到數十億用戶?Aptos 白皮書中是從開發端探討。

1. 雲服務業為廣大開發者提供基礎架構

雲服務業(AWS, Azure, Google Cloud等)除了提供虛擬機、實體機器的租用權,也開發了方便開發者在不同應用中可使用的開發工具,並不斷優化之,吸引開發者使用其開發工具,有點饒舌對吧?我們看個例子。

這次與朋友參與的 Polygon-Buidl-It Hackathon,我們開發 Web3 的 Twitter,裡面的 messaging 功能就是利用 AWS Amplify 所開發的,也就是說,我們是使用 AWS 所開發的基礎架構來開發我們的應用。

2. 不同角色一起行銷

得益於這些對開發者很友善的雲端服務,Web2 在短時間內誕生了非常多的應用,開發者、投資者、使用者雖為不同角色,卻都會幫助行銷、推廣,進而獲取了數十億的用戶。

因上述兩點,Web2 在短短二十年內就遍及全球。然而…

App 使用者資料的掌控權在誰手中?

在 Web2 中,通訊、社交、金融、遊戲、購物、影音等的平台都由中心化的公司所建立,雖然為我們提供方便的服務,但這些公司(Google, Amazon, Apple, Meta等)也擁有對使用者資料的控制權。

結論就是Web2 雖然很方便,但它會需要使用者對中心化單位的完全信任。

然而,隨著過往 Facebook 洩漏個資、土耳其政府封鎖維基百科等行為,使用者或多或少對於中心化的管理也開始有些擔憂。

一個去中心化、將資料擁有權還給使用者的網路 — Web3 就在這時顯得格外重要了。

關於去中心化存儲,以前我也寫過一篇用最簡單的方式理解 IPFS,有興趣可以看看。

Web3 — 去中心化應用的可能性

  1. 降低信任成本
    為了降低信任成本、風險,Web3 應運而生。在這新一代的網路中,區塊鏈是去中心化、不可篡改的存儲方式,而部署於區塊鏈應用層的智能合約也是公開透明的,它讓使用者可以安全地與鏈上互動(在這邊我們先不討論那些釣魚事件),無需再將我們的信任交給中間機構。
  2. 許多基礎架構正被開發出來
    剛剛我們提到,一個生態若提供開發者方便開發的基礎架構,應用程式便會快速增加,再經過不同角色的行銷,使用者有機會成指數級增長。
    區塊鏈作為一個網路底層,以及現在不斷被開發出的基礎架構,再搭配上許多獎勵開發者的方案,Web3 生態系在不久的將來也有機會像 Web2 一樣達到數十億的使用者。

目前 Web3 的問題

儘管現在已經有許多區塊鏈、許多開發者了,Web3 依舊沒有辦法取代 Web2,許多區塊鏈打著以太坊殺手的名號出現,提倡自己的速度之快、手續費之低,捨棄的卻是 Web3 的本質 — 去中心化。不僅如此,成千上萬的使用者也被不同的手法盜取、騙走資產卻求助無門,種種問題的出現,Web3 實在沒有一個合理的誘因讓行之有年、有數十億用戶、可復原資產的 Web2 的使用者遷移。

補充

  1. Web1 是使用者只可讀資料的網路。
    Web2 是使用者可以與網路互動並且上傳數據的網路。
    Web3 是使用者擁有資料、資產的所有權的網路。
  2. 去中心化、分散式帳本的概念早早就有了,礙於技術的原因,2008年才誕生比特幣網路的應用,區塊鏈只是分散式帳本的一種資料結構,分散式帳本的實作方法包含但不僅限於區塊鏈,例如Avalanche、Fantom 使用的是 DAG (有向無環圖),此概念務必釐清。
  3. 網路的快速發展及壟斷,還可以從網路外部性、梅特卡夫定律等概念探討,若有興趣可以看一部咱們熟悉的李永樂老師影片

二、 Aptos 的展望

(一如既往的畫大餅時間…有些枯燥…加減看看…)

願景 — 成為主流區塊鏈

Aptos 團隊希望建立一條 web3 主流的區塊鏈,並解決現實世界的問題。

模組化的區塊鏈

Aptos 提供靈活的模組化區塊鏈架構來提升區塊鏈可靠性、安全性和性能。此架構要可以頻繁升級、能夠快速採用尖端科技,以及對最新應用的支持。

Aptos 希望建立一個由社群管理和運營的去中心化、安全和可擴展的網路。當全球對基礎架構的需求增長,區塊鏈的計算資源也會橫向、縱向擴展以滿足這些需求。而隨著新興應用和不斷進步的技術,網路應在不中斷用戶使用的情況下頻繁且無縫地升級。

讓人們少花點時間在枯燥的底層

基礎架構這類底層的問題應逐漸淡出我們的視線。開發人員和用戶可以專注在應用面,並擁有更多樣化的數據建模以及智能合約標準、資源使用權衡、隱私和可組合性、更多恢復私鑰的方式等等。

用戶知道他們的資產是安全、可用的,並且可以用極低的 gas fee 與鏈上互動。任何人都可以安全、輕鬆、不變地與來自全球各方進行交易。

Aptos 團隊過往經驗

為了實現這一願景,必須取得重大的技術進步。團隊在過去三年中架設、開發、推進和部署 Diem 區塊鏈(Aptos 區塊鏈的前身)的經驗證明,網路可以在不中斷的情況下不斷升級其協議。

Diem 主網於 2020 年初部署到十多個節點運營商和多個錢包提供商。在接下來的一年裡,團隊發布了兩次重大升級,改變了共識協議和核心框架。兩次升級都在用戶沒有停機的情況下完成。Aptos 區塊鏈在 Diem 區塊鏈的啟發下,對技術進行了一系列徹底的改進,核心特色為安全、透明和頻繁的升級。

三、 網路參與者概述

Aptos 生態的組成

驗證者 (Validators)

如圖一,Aptos 區塊鏈由不同驗證者組成,它們使用拜占庭容錯 (BFT)以及 POS 共識機制共同接收和處理來自用戶的交易。

代幣持有者在他們不同的驗證者中鎖定或質押代幣,每個驗證者的共識投票權重與質押其中的數量成正比,驗證者可以活躍地參與投票;如果一個驗證者沒有足夠的質押量,或是因為歷史表現不佳而被投票出局,這個驗證者就會被踢出網路。

順帶一提,這組合直接讓我聯想到 Cosmos 的共識機制,Tendermint BFT 配上 POS,若不了解 Cosmos,歡迎讀我之前寫的 Internet of Blockchain — Cosmos

客戶端 (Clients)

客戶端是系統中提交交易 (write) 或查詢區塊鏈狀態 (read) 的角色。客戶端可以選擇下載和驗證由驗證者簽署的資料查詢證明。但在 Aptos 中,客戶端也參與部分驗證,舉例來說,我們開發的 Dapp 取什麼資料下來,就順手verify 一下。

全節點 (Full Nodes)

全節點是從驗證者或網路中的其他全節點複製交易和區塊鏈狀態的客戶端。他們可以根據需要選擇修剪交易歷史和區塊鏈狀態以回收存儲。

輕客戶端(Light Clients)

輕客戶端僅維護當前的驗證器集,並且可以安全地查詢全節點中保存的部分區塊鏈狀態。錢包便是輕客戶端的常見例子。

總結

這篇文章到這裡告一段落,前三章屬於概念、畫大餅章節,我知道會看得有些無聊。下一篇文是 Move 語言解析,如果想要第一時間接到通知可以追蹤或訂閱!

另外,如果有什麼想討論或是有興趣協助我完成這個系列的夥伴也隨時聯絡!我還在當替代役照顧搜救犬,還蠻閒的~

email: gregshen0925@proton.me

telegram: @gregshen0925


參考資料

Aptos白皮書 — https://aptos.dev/assets/files/Aptos-Whitepaper-47099b4b907b432f81fc0effd34f3b6a.pdf

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…

发布评论