Web3新手系列:深入淺出了解TON及其應用
最近 TON 生態大熱,各種 TON 上的小遊戲層出不窮,不知道大家有沒有玩過。TON 作為一個 L1 鏈,它相比於其他的鏈不同在哪,到底有什么優勢,普通人在 TON 上能做什么。
TON 的官方標語
TON 的介紹
TON(The Open Network)是一個去中心化的區塊鏈網絡,它誕生的目的是為了服務 Telegram 以億為量級的用戶,超高並發的交互需求的。大家熟知的鏈比如 BTC,十分鐘出一個塊,並且在一個塊裏面的交易數量是有上限的,顯然是無法滿足 Telegram 的要求,因此 TON 就應運而生。TON 目前可以處理 每秒數百萬筆交易 。
TON 背靠着 Telegram 海量的用戶群體,配合上 Telegram 推出的小程序框架,讓 TON 有巨大的想象空間,也吸引了無數淘金人前來淘金。相比於之前的通過 WEB3 來擴展 WEB2 的用戶群體,通過 Telegram 為媒介,以 WEB2 的方式讓用戶接觸 WEB3,TON 似乎是走在了另一條道路上。
TON 技術上的特點
TON 技術上最大的技術特點就是高並發、高效率、可擴展。當然這似乎是每一個新鏈的標配了,那 TON 到底是如何做到的。
我們以 ETH 為例,在出塊節點完成打包區塊對交易進行排序之後,輸入到 EVM 中進行處理,整個過程是一個 的過程。這么做的好處是,結果是確定的,在處理一筆交易的時候不會有其他交易對狀態進行變更,可以保證一致性。但是壞處也顯而易見,TPS 會比較低。
TON 拋棄了串行執行的過程,採用了完全並行的架構進行。這裏就需要解決兩個關鍵問題:如何並行以及如何如何保證狀態一致。
基於 Actor 的並行環境
TON 中的基本單元是 Actor,你可以理解為是 ETH 中的智能合約。Actor 是 TON 可以執行完全並行的一個基礎。TON 中沒有區分账戶和智能合約的概念,全部的對象都是 Actor,你的账戶也是一個合約。Actor 有一定的邏輯執行能力以及數據存儲能力,在一次交易的過程中,Actor 會執行以下幾個步驟:
-
事件觸發(一般來說是收到了外部消息,如轉账)
-
執行合約的方法處理這個事件
-
更新合約的狀態
-
發出消息(可選)
-
進入靜默狀態,等待下一個事件發生
可以看到這樣處理之後,每一次交易都是並行獨立的處理,每一次處理完都可以異步地發出消息來和其他的 Actor 進行交互。每個 Actor 會獨自維護自己的狀態,所以你會發現你在 TON 上的 Jetton(Token)會有一個獨立的地址,因為 Jetton 的數量這個狀態不會和你的 TON 數量在同一個 Actor 中維護。
為了好理解並且符合大家以往的認知,Actor 可以理解為錢包或者合約,消息的傳遞可以為合約的交互,大家只需要知道原本的意思即可。
分片
分片(shard)是 TON 中的一個關鍵機制,它保證了 TON 上的可擴展性。分片機制簡單來說就是「動態」地調整一個節點處理交易的量,比如某一時刻進來過多的交易,這些交易會被分成幾個「子集」,分給不同節點並行處理,反之,則合並交易量較小的「子集」為一個分片。
引用來自官網的一張圖,解釋了分片的過程:
其中按照黑虛线劃分了區塊,其中 101、 102、以及 103 是在一個區塊裏的同一條分片鏈上, 80 是在另一個分片鏈上,他們都是從 100 這個節點進行「分片」得到的;在 30 這個區塊裏面, 63 和 105 這兩個節點由於交易量較少,在 31 這個區塊中被合並成一個,即 106 。
以上知識籠統得介紹了整體的流程,下面介紹一下圖中各個元素的具體含義。
1、账戶鏈(AccountChain)
在 TON 中,一個账戶對應的一系列交易按照一定的順序組成一條鏈被稱為账戶鏈。在區塊鏈中,保持執行的邏輯不變、交易的順序不變,那么最後得到的狀態也是一致的。不同的账戶鏈可以被並行處理。
账戶鏈並沒有在上圖中體現。
2、分片鏈(ShardChain)
分片鏈對應的就是 上圖中的數字節點 。分片鏈由多個账戶鏈組成,選取哪些账戶鏈進行組合沒有特別的要求,一般是取账戶的前幾位一致的作為合並的標准。多個分片鏈在一個區塊中,可以由不同的節點進行並行處理。分片鏈是 TON 分片機制的執行單元,分片的操作主要在分片鏈上執行。
總結一下就是:账戶鏈組成分片鏈,分片鏈組合為一個區塊。
3、工作鏈(WorkChain)
分片鏈需要工作在工作鏈上,也就是 上圖中的藍色线 。工作鏈是一組有自己規則的區塊鏈,每個人都可以在工作鏈上部署一條自己設置規則的鏈,只需要有 2/3 的驗證者同意。TON 允許創建多達「 2 ^ 32 」個工作鏈,每個工作鏈則可以細分為多達「 2 ^ 60 」個分片。
目前 TON 上只有兩個鏈,「 Basechain 」 以及「 Masterchain 」。工作鏈有些像 L2 的概念,有消息稱會有一條新的工作鏈,來支持 EVM,這也是 TON 可擴展的一個體現。
4、主鏈(MasterChain)
TON 上可以有多條工作鏈,但是只有一條主鏈,主鏈的主要功能就是同步不同工作鏈的信息,達成狀態上的共識。達成共識的方式也還是通過消息傳遞的方式,但是主鏈和工作鏈的消息傳遞費用較高,因此只會同步區塊的關鍵信息。
在上圖中也就是 黑线描述的部分 。
錯誤回滾
在串行的場景下,如果發生了錯誤,那么交易的狀態會被回滾。在並行的場景下,回滾是通過內部消息回彈的方式進行的。TON 裏的智能合約交互是通過消息傳遞的,因此需要對這類消息(內部消息)設置可以彈回。在發生錯誤的時候,原始的消息將彈回消息,攜帶剩余的 TON 信息並且設置標志位為「 bounced 」。Actor 接受到彈回消息之後,進行錯誤處理。
總結
TON 通過使用 Actor 模型,讓每個狀態可以獨立地處理而不需要依賴其他的狀態,從而實現完全並行。通過分片機制,使得 TON 可以動態調整以適應鏈的交易數量變化。TON 的這一套機制,復雜但是高效,其中還有一些技術細節比如邏輯時間、消息傳遞等,就不再消息介紹了。
體驗 TON 時的一些細節
如果你在此之前,只體驗過 BTC 或者 ETH 的話,在體驗 TON 的時候,會有一些地方不同。
1、TON 的账戶模型
在之前的內容中有介紹到,TON 既沒有使用 BTC 的 UTXO 模型,也不是 ETH 裏面的錢包模型,你的錢包也是一個「合約」。我們知道,部署合約是需要支付 Gas 費用的,但是我們新建錢包的時候,並沒有資金在裏面,那這個 Gas 如何支付?
其實在創建 TON 錢包的時候,你的錢包並沒有完成創建,只有當你有交易(別人給你轉 TON)的時候,你的錢包才會初始化,並扣除一部分的 TON 作為合約部署的費用,這也就是你會發現,明明轉了 10 TON,但是只收到 9.99 TON 的原因。
2、TON 的 Jetton 交易
根據上面關於 Actor 的介紹,每一個 Actor 維護獨立的狀態,這個狀態不依賴外部的狀態。因此在 TON 上的 Jetton,並不是存儲在你的 TON 錢包裏面,而是一個獨立的地址,鏈接到你的 TON 錢包裏面。
比如下圖中的 Jetton,它在 TON 上有自己的地址「 Jetton wallet 」,但是會和 TON 錢包「 Holder address 」鏈接起來。
3、TON 的 Gas 費計算
TON 和大部分其他的鏈一樣,在交易、部署合約、合約交互的時候需要支付 Gas 費用。不過實踐操作下來,TON 的交易費還是 比較貴 的,比如一次 Jetton 在 DEX 的交易可能需要 0.05 TON,這個相比於一些鏈來說並沒有優勢。
除此之外,TON 還需要支付存儲費用,所以如果你的錢包長時間沒有交易,那么可能你的下一筆交易的 Gas 費就會高出來不少。
具體的 Gas 費細節可以在 Transaction Fee 中查看。
4、TON 的錢包類別
TON 的錢包也有多個地址,這個和 BTC 有點像。TON 的不同地址代表了錢包的版本不同,不同版本的錢包實現的功能也會有所不同。目前使用最多的錢包是「 V4 R 2 」,最近也推出了「 W 5 」錢包,可以支持用其他代幣支付 Gas 費用。
在 TON 上我們能做什么
目前在 TON 的熱度很大一部分來自於 Telegram 上的機器人以及在機器人之上的小程序。尤其是最近一些遊戲小程序的井噴式爆發,給一些 WEB3 項目帶來了巨大的流量。
Telegram 上的小程序
依附於 Telegram 上可以做小程序了,讓人仿佛回到了微信小程序井噴的時候。不過 TG 上的小程序主要是一些小遊戲,並且質量參差不齊,大家去玩的唯一動力就是期待項目方最後可以發空投。項目方利用這種飄渺的期待,可以在短時間內吸引大量的用戶。
除了通過在遊戲中通過做任務拉用戶來實現裂變,還有一些工具類的小程序可以提供拉用戶的能力,比如 TG 上的一個紅包應用,通過發紅包的方式來打廣告,實現拉用戶。
創建一個 TON 上的網站
大家可能都聽說過域名解析。在 ETH 中,你可以購买一個域名,來代替那一長串復雜的地址,這就是 WEB3 的域名解析。在 TON 中,你除了通過購买 TON 的域名來代替你的地址,你真的可以通過這個域名,搭建一個網站來讓別人訪問,實現域名最原本的功能。
域名其實是一個 NFT,你可以交易你的域名,就跟交易 NFT 一樣。域名的價格跟域名的長度相關,最便宜的域名需要 1 個 TON。具體的信息可以在 TON 的官方域名 網站中查看。
機器人
機器人和 TON 的關系不大,但是跟 Telegram 關系比較密切,所以也在這裏提一下。TG 上有大量的機器人,用於交易的查看、監控、快速交易等功能,每次的交互會收取手續費,大概在 1% 左右。每天在 TG 上發起的交易巨大,並且各種鏈的機器人都有,包括 SOL、ETH 以及 TON 等等。
不過現在這塊的競爭也是比較激烈,並且將私鑰交給一個代碼不公开的機器人管理,總讓人有點不放心。
本文由 ZAN Team(X 账號 @zan_team ) 的 Yeezo(X 账號 @GaoYeezo 75065 )撰寫。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
24H熱門幣種與要聞 | Michael Saylor發布數字資產框架提案;Azuki疑似即將發幣(12.23)
24 H 熱門幣種 1、CEX 熱門幣種 CEX 成交額 Top 10 及 24 小時漲跌幅: B...
星球日報
文章數量
7681粉絲數
0