PKU BLOCKCHAIN:一文讀懂TON技術方案

作者:北大區塊鏈協會Kiwi 來源:X,@KiwiCryptoBig

Keytakeaways

TON 擁有以高速應用為核心的技術邏輯:TON 誕生於telegram,交易基於message 直接上鍊,支援點對點;

  • 非同步message 傳遞:由於選用FunC 作為函數開發語言,TON 中各節點傳遞透過傳遞「message」通訊,但TON 是非同步鏈,因此為了正確同步鏈間message 引入了邏輯時間(It)的概念,透過保證message lt 嚴格依照先後順序執行來保障資訊的正確執行;

  • 超立方體的message 路由機制:TON 採用普通路由+快路由的方式,普通路由通過立方體結構通過相鄰節點傳遞分片間message,快路由加入了可以沿超立方體邊緣傳遞的Merkle 證明來中繼message 提升速度;

  • PoS +BFT 共識便於生態發展:POS 避免了出塊過程中的大量計算,效率更高成本更低,網絡性能更好,利於DAPP 應用落地;同時雖然DPOS 更快,但是信任速度比BFT 系統慢,因此TON 選用BFT。

TON 的動態多分片架構方便應用的 Scalability:TON 透過平行查詢提升速度,透過動態分片提升查詢準確度,透過bag of cells 提升拓展性;

  • 動態多分片架構:TON 有三層,單一 masterchain+ 多個 Workchain+可動態增減和分割的 shardchain,每個分片鍊是各種帳戶鏈的集合,DAPP 可以自主啟動某條分片鏈;

  • 可快速更新的全域狀態:透過類似DAG 的「bag of cells」結構更新全域狀態,透過聯立新舊兩組cells 並刪除舊root 快速更新。同時採用垂直區塊修復更新區塊。

TON 未來將持續優化技術框架:透過並行拓展、推出鏈分片工具、加強節點檢查等機制持續推進TON 的速度和可拓展性優勢。

區塊鏈擴容難題

區塊鏈擴容是重要的技術難題,也是推動區塊鏈技術發展的關鍵之一:隨著區塊鏈應用的不斷增長和用戶數量的增加,現有的區塊鏈網路往往面臨著吞吐量不足和交易確認時間長的問題。傳統的區塊鏈設計限制了其在處理大規模交易和用戶需求方面的能力,這導致了網路擁塞、高交易費用和低效率的情況;

區塊鏈擴容的挑戰主要源於分散式架構和共識機制:首先區塊鏈的共識機制和分散式性質使得在網路中的每個節點都需要對所有交易進行驗證和記錄,這導致了網路的吞吐量受限。其次區塊鏈的安全性和去中心化特性要求所有節點都要保持完整的區塊鏈副本,這增加了儲存和傳輸的負擔;

為了解決區塊鏈擴容難題,研究者提出了各種擴容方案:如分片(Sharding)、側鏈(Sidechains)、二層方案(Layer 2 solutions)等,這些方案試圖透過將網路分割成多個較小的部分、引入獨立的區塊鏈或在主鏈上建立額外的結構來提高網路的吞吐量和效能。然而,這些方案也帶來了新的技術挑戰和安全性問題,如分片間通訊、跨鏈資產轉移和共識機制設計等。

  • 分片:基本概念是將整個區塊鏈網路分割成多個較小的片段(或稱為分片),每個分片可以獨立處理一部分交易和資料。透過將交易和資料分散到不同的分片中,分片機制可以提高整個網路的吞吐量和效能。但仍面臨分片間通訊和跨分片交易的安全性和一致性問題,此外,分片機制還需要解決共識機制的設計和實現,以確保整個網路的一致性和安全性;

  • 側鏈:側鏈技術是一種在區塊鏈網路中創建並運行與主鏈(主要區塊鏈)相互連接的獨立區塊鏈的方法。側鏈可以與主鏈進行雙向的資產轉移,同時具有自己的獨立規則和功能。側鏈技術的基本原理是透過將一些交易從主鏈轉移到側鏈上進行處理,從而減輕主鏈的負擔,並提供更高的擴展性和靈活性。但側鏈需要與主鏈進行雙向的資產轉移,這需要一定的安全機制和協議來確保資產的安全性和一致性。此外,側鏈的設計和實作需要考慮與主鏈的兼容性和互通性;

  • Rollup:基本原理是將大量的交易資料儲存在鏈下的側鏈中,然後將這些交易的摘要資訊提交到主鏈上進行驗證。其優勢在於它可以顯著提高區塊鏈網路的擴展性和效能,透過將交易資料儲存在側鏈上,並使用主鏈進行驗證,Rollup 技術可以大大減少主鏈上的儲存和運算負擔。但也有中心化和安全性的顧慮;

  • 新共識機制:如Solana 的POH,透過將時間戳與每個交易相關聯,為區塊鏈提供了一種可驗證的時間序列。這種時間序列可以用來驗證交易的順序和時間,從而減少了共識過程中的通訊成本和延遲。雖然 Solana 稱其 TPS 可以達到 65, 000 ,但實際上大部分 TPS 是作為節點間的通信,真正數據上限只有 6-8 k(日常 4-5 k)。

TON 區塊鏈源自於Telegram,初始設立理念就是服務大量用戶:Telegram 是全球最受歡迎的社群平台之一,每月活用戶超過 8 億,每天軟體內傳輸數百億個訊息。 TON 作為telegram 的web3 轉型,其設計理念從一開始就基於服務數十億用戶而不僅僅只滿足於少量用戶。

TON 的技術架構

自適應無限分片多鏈設計

TON 的分片是自下而上的:區塊鏈分片方案普遍採用自上而下的方式,即先建立單一的區塊鏈,然後將其分解為若干交互式的區塊鏈,以提升性能。然而,TON 分片方案採取了一種自下而上的方式:將這些帳戶鏈組織成碎片鏈(Shardchain),使得帳戶鏈(Workchain)在分片鏈中僅存在純粹的虛擬或邏輯形式。 TON 實作了多條鏈並行處理交易,被稱為「blockchain of blockchains」。透過這種方式,可以有效提高系統效能;

TON 的是動態分片架構:分為 masterchain、workchain 和 shardchain。 masterchain 負責協調,各個 workchain 和 shardchain 進行實際的交易處理。此外,TON 的分片是動態的,每個帳戶作為一條 Shardchain,可根據帳戶間的交互關係自適應組合成更大的Shardchain 來應對動態擴展的需求。

  • Masterchain:僅有唯一一條,包含協議的參數、Validators 集合以及對應的 share,記錄目前工作的 Workchains 及下屬 Shardchains。下層鏈將最新區塊雜湊提交至 Masterchain,以確保在需要發生跨鏈訊息讀取時能確定最新狀態。

如果分片已達到極限,那麼最後每個分片鏈會只保存一個帳戶或智能合約。這將導致大量描述單一帳戶狀態和狀態轉換的“帳戶鏈(account-chains)”,這些帳戶鏈會相互進行資訊傳輸,即由 Shardchain 構成 Workchain。

  • Workchain:是作為Shardchains 集合存在的一個虛擬概念,系統最高可容納 2 ^ 32 條 Workchains。每條 Workchain 在符合互通性標準的前提下,可靈活自訂規則,如交易類型、代幣類型、智慧合約、地址形式等。但Workchain 必須有相同的訊息佇列格式,以便於其交換訊息,當然這也意味著所有Workchain 必須具有大致相同的安全保證;

  • Shardchain:為提升處理效率,能在負載變高時自動分裂、在負載下降時合併鏈,每個 Workchain 會進一步分割為分片 Shardchains(最高 2 ^ 60)。 Shardchain 將工作分攤到所有的 Shardchains 中,每個 Shardchain 僅服務部分帳戶集合。

PKU BLOCKCHAIN:一文讀懂TON技術方案

訊息傳遞機制

Message:由於TON 使用FunC 的send_raw_message函數開發語言,因此TON 各節點傳遞的稱為「message」。在 TON 的交易由最初觸發它的入站訊息和一組發送到其他合約的出站訊息組成;

Hypercube Routing:立體結構的訊息傳遞機制,能讓一個分片鏈區塊所創建的訊息迅速傳遞並處理至目標分片鏈的下一個區塊。

異步的message 傳遞

非同步呼叫有同步問題:在同步區塊鏈中,交易可包含多個智慧合約呼叫。而在非同步系統中,使用者無法在同一交易中即時取得目標智慧合約的回應,因為合約呼叫可能需要數個區塊的時間來處理,來源區塊和目的區塊之間的路由長度將會影響這一進程;

為了實現無限分片,必須確保message 完全並行化,進而引出邏輯時間:在 TON 中,每筆交易僅在單一智能合約上執行並透過message 進行智慧合約間通訊。因此引出在非同步鏈中使用的邏輯時間概念,以實現鏈間訊息同步,即每個訊息都有其邏輯時間或 Lamport 時間(以下簡稱為 lt)。此時間用於追蹤事件之間的關係,以及驗證器需要先處理的事件;

message lt 將嚴格按照先後順序執行來確保操作邏輯:從一個帳戶發送的訊息和在一個帳戶上發生的交易會被嚴格排序,產生的事務的lt 大於訊息的lt,在某個事務中發送的訊息的lt 嚴格大於引發該訊息的事務的lt。此外,如果存在多個訊息,那麼將會更早處理 lt 較低的訊息。

Message 超立方體路由機制:

TON 採用快路由+ 慢路由並行運行:

慢路由:更穩定且傳統的跨鏈資訊處理方法,資訊在源鏈上被打包到一個區塊中,再透過中繼器(relayer)從一個分片鏈傳遞到另一個分片鏈,也可使用多個中間分片鏈進行傳輸。讓所有的分片鏈構成一個「hypercube」 圖形,訊息將沿著這個超立方體的邊緣傳播,資訊經過驗證者驗證後打包到另一個區塊中;

慢速路由優勢在於更高的安全性和去中心化程度,因為所有資訊都需要經過完整的區塊確認過程。對於一個規模為N 的分片鏈超立方體網絡,需要經過的路由條數hop = log 16(N)。因此,只需要4 個路由節點,就能支援百萬級的分片鏈。

快路由:慢路由中訊息沿著超立方體的邊緣傳播,為了提速,快路由可以讓訊息的目的分片鏈所屬的的驗證器提前處理這條訊息,再提供一個merkel 證明,並發送回執來銷毀掉這條正在傳送的訊息;

快路由速度更快(節點可找到最優路徑),也能防止雙重傳遞,但並不能取代慢速路由,因為驗證者不會因為遺失receipt 而受到懲罰,因此有一定安全性風險

分片鏈的全域狀態

“bag of cells” :透過類似DAG 的形式更新的一組cells。透過將新狀態表示為具有其自身根的另一個“bag of cells”,然後聯立新舊兩組cells,同時刪除舊的根;

垂直區塊修復:TON 分片鏈中的每個區塊實際上不只有一個區塊,而是一條鏈,當需要修復錯誤分片鏈的區塊時,一個新的區塊將會提交給「垂直區塊鏈」並對它進行區塊的替換。

共識機制

POS 網路中存在3 個角色:

  • 驗證節點:滿足硬體條件後質押300 000 TON 即可參與維護網路安全;

所有區塊由100 ~ 1000 個選定的節點創建,節點每月選舉一次,並需要在選舉時封存質押的TON Coin。任職期間選定的節點將被劃分成多個工作組來創建新區塊,每個新區塊拿到工作組超過2/3 的質押節點的簽名即算創建成功,若作惡則會slash 並剝奪資格;

  • Fisherman:透過發送無效證明來偵測驗證節點是否盡職完成驗證任務,可視為監督者的角色;

  • 校對人:它向驗證者建議新的分片鏈候選區塊,若區塊當選則校對人獲利。它負責校對該分片鏈的狀態和鄰近分片鏈的資料並發送給驗證節點。

BFT:TON 經過權衡,發現雖然DPOS 更快,但它的信任等級和速度都比BFT 系統慢,因此最終選擇 BFT(Byzantine fault tolerance)。

TON 的新框架可以支撐起TG 的高速訊息傳遞

TON 透過動態多分片架構實現高速交易速度和 finality:TON 可以為每個用戶錢包創建一條鏈,分片的平行運算、支援瞬間跨分片交流和TVM 支援非同步運算構成了其高TPS 的理論基礎;

TON 透過資訊傳遞機制帶來更高的可擴展性:在TON 區塊鏈中,智慧合約之間的調用是非同步的,而不是原子的。這意味著當一個智能合約調用另一個智能合約時,該調用不會立即執行,而是在交易結束後的某個未來區塊上被處理,這種設計允許更高的可擴展性,因為它不需要在一個區塊中完成所有的交易處理。

TON 未來將繼續優化技術框架…

TON roadmap 技術部分將持續推進TON 的速度和可拓展性優勢

  • 排序器和驗證者分離;

  • 可拓展性和速度提升:讓TON 在處理大量事務的情況下實現並行擴展;

  • 鏈分片指南和工具:在交易所、支付系統和 TON 服務中組織高負載 TON 工作的指南和程式碼範例;

  • 加強驗證者節點間的協調性:加強並改善對錶現不佳的驗證者的偵測和懲罰;

只代表個人意見,不代表任何投資建議。 DYOR。

Total
0
Shares
Related Posts