一文讀懂TON 技術方案

新手Jan 17, 2024
本文討論了 TON 路線圖的技術方麵,強調 TON 在速度和可擴展性優勢方麵的不斷進步。
一文讀懂TON 技術方案

要點

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

  1. 異步 message 傳遞:由於選用 FunC 作爲函數開髮語言,TON 中各節點傳遞通過傳遞“message”通訊,但 TON 是異步鏈,因此爲了正確衕步鏈間 message 引入了邏輯時間(It)的概念,通過保證 message lt 嚴格按照先後順序執行來保障信息的正確執行;
  2. 超立方體的 message 路由機製:TON 採用普通路由+快路由的方式,普通路由通過立方體結構通過相鄰節點傳遞分片間message,快路由加入了可以沿超立方體邊緣傳遞的 Merkle 證明來中繼 message 提升速度;
  3. PoS +BFT 共識便於生態髮展:POS 避免了出塊過程中的大量計算,效率更高成本更低,網絡性能更好,利於DAPP應用落地;衕時雖然 DPOS 更快,但是信任速度比 BFT 繫統慢,因此 TON 選用 BFT。

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

  1. 動態多分片架構:TON 有三層,單條masterchain+ 多個Workchain+可動態增減和拆分的shardchain,每個分片鏈是各種 工作鏈的集合,DAPP 可以自主激活某條分片鏈;
  2. 可快速更新的全局狀態:通過類似 DAG 的“bag of cells”結構更新全局狀態,通過聯立新舊兩組 cells 併刪除舊 root 快速更新。衕時採用垂直區塊修覆更新區塊。

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

區塊鏈擴容難題

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

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

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

  1. 分片:基本思想是將整個區塊鏈網絡分割成多個較小的片段(或稱爲分片),每個分片可以獨立地處理一部分交易和數據。通過將交易和數據分散到不衕的分片中,分片機製可以提高整個網絡的吞吐量和性能。但仍麵臨著分片間通信和跨分片交易的安全性和一緻性問題,此外,分片機製還需要解決共識機製的設計和實現,以確保整個網絡的一緻性和安全性;
  2. 側鏈:側鏈技術是一種在區塊鏈網絡中創建併運行與主鏈(主要區塊鏈)相互連接的獨立區塊鏈的方法。側鏈可以與主鏈進行雙曏的資産轉移,衕時具有自己的獨立規則和功能。側鏈技術的基本原理是通過將一些交易從主鏈轉移到側鏈上進行處理,從而減輕主鏈的負擔,併提供更高的擴展性和靈活性。但側鏈需要與主鏈進行雙曏的資産轉移,這需要一定的安全機製和協議來確保資産的安全性和一緻性。此外,側鏈的設計和實現需要考慮與主鏈的兼容性和互操作性;
  3. Rollup:基本原理是將大量的交易數據存儲在鏈下的側鏈中,然後將這些交易的摘要信息提交到主鏈上進行驗證。其優勢在於它可以顯著提高區塊鏈網絡的擴展性和性能,通過將交易數據存儲在側鏈上,併使用主鏈進行驗證,Rollup技術可以大大減少主鏈上的存儲和計算負擔。但也有中心化和安全性的顧慮;
  4. 新共識機製:如 Solana 的 POH,通過將時間戳與每個交易相關聯,爲區塊鏈提供了一種可驗證的時間序列。這種時間序列可以用來驗證交易的順序和時間,從而減少了共識過程中的通信成本和延遲。雖然Solana稱其TPS可以達到65,000,但實際上大部分TPS是作爲節點間的通信,真正數據上限隻有6-8k(日常4-5k)。

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

TON 的技術架構

自適應無限分片多鏈設計

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

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

  1. Masterchain:僅有唯一一條,包含協議的參數、Validators集合以及對應的share,記録當前工作的Workchains及下屬Shardchains。下層鏈將最新區塊哈希提交至Masterchain,以確保在需要髮生跨鏈message讀取時能確定最新狀態。 \

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

  1. Workchain:是作爲 Shardchains 集合存在的一個虛擬概念,繫統最高可容納2^32條Workchains。每條Workchain在滿足互操作性標準的前提下,可靈活自定義規則,如交易類型、代幣類型、智能合約、地址形式等。但 Workchain 必鬚有相衕的message隊列格式,便於其交換message,當然這也意味著所有 Workchain 必鬚具有大緻相衕的安全保證;
  2. Shardchain:爲提升處理效率,能在負載變高時自動分裂、在負載下降時合併鏈,每個Workchain會進一步分割爲分片Shardchains(最高2^60)。Shardchain 將工作分攤到所有的Shardchains中,每條Shardchain 僅服務部分賬戶集合。

信息傳遞機製

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

Hypercube Routing: 立體結構的信息傳遞機製,能使一個分片鏈區塊中創建的message迅速傳遞和處理至目標分片鏈的下一個區塊中。

異步的 message 傳遞

異步調用 有衕步問題: 在衕步區塊鏈中,交易可包含多個智能合約調用。而在異步繫統中,用戶無法在衕一交易中即時穫取目標智能合約的響應,因爲合約調用可能需要數個塊的時間來處理,源塊和目的塊之間的路由長度將會影響這一進程;

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

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

Message 超立方體路由機製:

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

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

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

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

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

分片鏈的全局狀態

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

垂直區塊修覆: TON 分片鏈中的每個區塊實際不隻有一個區塊,而是一條鏈,當需要修覆錯誤分片鏈的區塊時,一個新的區塊將會提交到“垂直區塊鏈”併對它進行區塊的替換。

共識機製

POS 網絡中存在 3 個角色:

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

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

  1. Fisherman:通過髮送無效證明檢測驗證節點是否盡職完成驗證任務,可看作是監督者的角色;
  2. 校對人:它曏驗證人建議新的分片鏈候選區塊,若區塊當選則校對人穫利。它負責校對該分片鏈的狀態和鄰近分片鏈的數據併髮送給驗證節點。

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

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

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

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

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

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

  1. 排序器和驗證者分離;
  2. 可拓展性和速度提升:讓 TON 在處理大量事務的情況下實現併行擴展;
  3. 鏈分片指南和工具:在交易所、支付繫統和TON服務中組織高負載TON工作的指南和代碼示例;
  4. 加強驗證者節點間的協調性:加強併改進對錶現不佳的驗證者的檢測和懲罰;

聲明:

  1. 本文轉載自[community.tonup],著作權歸屬原作者[北大區塊鏈協會 Kiwi],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!
Buat Akun