PKU BLOCKCHAIN:一文讀懂TON技術方案
原文作者: 北大區塊鏈協會 Kiwi
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 僅服務部分账戶集合。
信息傳遞機制
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。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
富爸爸喊比特幣1300萬美元!力挺Michael Saylor預測:微策略是對的
受 惠於比特幣不斷屢創新高,上市公司比特幣持倉量霸主微策略(MicroStrategy)股價今年大...
Arthur Hayes:比特幣2025年底將25萬鎂!狗狗幣上看1美元
B itMEX 創辦人 Arthur Hayes 在近日 參與 Alpha First Podca...
避險需求暴增!黃金單周漲6%重返2712美元,會如何影響比特幣行情?
自 川普勝選以來,美元強勁升值,在選前不斷走高的金價反而開始疲軟,在 11 月中更跌至 2 個月新...
下周必關注|WalletConnect开放空投申領;Ethena將敲定“費用开關”相關參數(11.25-12.1)
下周重點預告 11 月 25 日 Zircuit 將於 11 月 25 日正式解除 ZRC 代幣的...
星球日報
文章數量
7222粉絲數
0