TON目前已经与知名通讯软件Telegram达成合作关系!Telegram将整合TON的支付和原生应用,向超过8亿用户推广TON及其生态项目。本文将介绍TON的新的编程语言Tac,语言特性以及如何实践安全性。
背靠Telegram,TON有多大潜力?
TON新推出的Tac语言有何特性?
Tac智能合约的安全性
趋势还是机会?如何看待TON的未来发展?
11月10日,TON基金会在TON Gateway活动中向开发者讲述了TON的生态与技术发展,表明其重心在于如何与Telegram展开合作,将数亿用户带入Web3。11月28日,Animoca Brands宣布对TON Play游戏基础设施进行投资,成为TON的最大验证者以支持TON网络。
此前,Beosin对TON及其生态做了全面的介绍和分析。今天Beosin将为开发者分析TON推出的新型编程语言Tac,帮助大家了解Tac的语言特性以及安全实践。
TON(The Open Network)是一个去中心化的网络平台,由TON区块链、TON Proxy、TON Storage等系统构成。其中TON区块链为TON的核心,一般所指的TON即为TON区块链。
与以太坊等公链不同,TON的智能合约之间的调用是非同步的。这样的设计提高了可扩展性,因为当一个智能合约调用另一个智能合约的函数时,这个调用不会立即执行,不需要在一个区块中处理完所有的交易。但同时非同步性也增加了开发者在TON链上开发和维护应用的门槛。
TON区块链的架构为主链(Masterchain)、工作链(Workingchains)和分片链(Shardchains),具有高效能和高扩展性。TON区块链通过分片以实现百万级TPS的目标。
目前,TON与Telegram已达成合作关系。Telegram将整合TON的支付和原生应用,向超过8亿活跃用户推广TON及其生态项目。
TON的智能合约编程语言有三种:Fift、FunC和Tac。其中Tac是TON新推出的静态类型高级编程语言,旨在降低开发智能合约的难度和提高安全性。
Tac与Javascript的一些语言特性相似:支持非同步调用,支持面向消息编程。呼叫
Tact 支援非同步呼叫,這樣智能合約可以並行執行,無需等待其它合約完成。這增強了 TON 區塊鏈的效能和響應能力。
2. 面向訊息程式設計
(Message-Oriented Programming)
面向訊息程式設計的核心思想是不同物件之間通過傳遞訊息來進行通訊,而不是直接互相呼叫。這種設計可以消除呼叫者和接收者之間的耦合,同時物件可以隨時訂閱和取消訂閱訊息,這讓物件之間的依賴關係和更新變得更加容易。
這種降低依賴關係的設計被引入到 Tact 合約開發中,開發者可以基於 MOP 開發多個合約,合約之間通過訊息進行整合和互動。這樣合約之間既進行了隔離,降低了風險,又簡化了互動流程,大大提升了合約開發的安全性。
在使用 Tact 進行智能合約開發時,合約的安全性不可忽視。以下是針對使用 Tact 進行合約開發的安全建議:
1. 注意數學相關問題
開發者在處理數學計算時,需注意使用的資料型別和計算的精度問題。如果合約出現整形溢位問題,則合約會出現異常並中止當前交易。開發者需在相關業務中進行整形檢查。
2. 訪問控制
Tact 使用面向訊息程式設計,開發者需要對合約中涉及核心業務的函式做好訪問控制,以確保相關函式接收到正確訊息並被正確呼叫。
3. 對輸入訊息進行驗證
開發者在智能合約中應對外部輸入進行適當驗證或過濾,避免攻擊者使用偽造的訊息和和資料進行攻擊。
4. 控制好訊息型別
由於 Tact 合約開發中使用訊息進行通訊,開發者可能使用結構體構造新的資料型別進行訊息傳遞,因此訊息型別的數量可能會迅速增加。這可能會讓程式碼庫變得混亂。開發者需要仔細管理訊息型別。
5. 程式執行流程的複雜度
由於合約可隨時訂閱和取消訂閱訊息的動態特性,因此開發者在進行大型複雜專案開發時梳理應用程式的執行流程可能會困難很多。這可能會使程式的檢查和測試變得困難,而清晰的文件和流程圖對於後續的開發和審計會有很大幫助。
6. 進行詳盡測試
開發者在進行合約開發時,應使用 Sandbox 進行測試,優化 Gas 消耗以及檢查邊緣情況。Sandbox 會模擬合約執行的所有階段:計算階段(computational phase),執行階段(actions phase)和反彈階段(bounce phase),比起 Ton-contract-executor 更接近真實網路的執行情況。Tact-emulator 是 TON 官方提供的另一個測試工具集,但目前還未有詳細的使用文件。
7. 錯誤處理
由於 TON 的設計,程式碼的結束路徑需要由開發者進行處理。合約可能收到回退訊息(bounced messages),合約需要對這些訊息進行正確的處理。另外,在處理回退訊息時還需要考慮 gas 耗盡的情況,這同樣會產生意外的漏洞。
8. 審計與安全監測
開發者在完成專案開發後,建議進行安全審計和鏈上監測服務,以監控合約執行狀態。Beosin 的 EagleEye 鏈上監測平臺為廣大使用者提供快捷的專案資料查詢和預警。目前,EagleEye 已支援分析鏈上巨鯨地址,檢測合約風險,監控專案社媒平臺和鏈上活動,為使用者提供全面的專案資訊。
在本文中,我們對 TON 進行了簡單的介紹,分析了 Tact 的語言特性並提供了詳細的 Tact 智能合約開發的安全實踐。
Telegram 作為一個全球範圍內擁有龐大使用者群的平臺,具有巨大的潛力。而 Tact 作為 TON 基金會大力推行的新型程式語言,為開發者提供了友好且簡潔的方式來構建 TON 網路的智能合約。這為開發者創造了更便捷的開發環境,並吸引了更多人加入 TON 生態專案的開發中。隨著更多的開發者加入和探索,Tact 語言的生態系統也將逐漸擴大,為 TON 網路的發展提供更多機會。
然而,需要注意的是,加密貨幣和區塊鏈領域的發展仍然面臨著一些挑戰和風險。政府監管、市場接受度、技術問題等都可能對 TON 的發展產生影響。因此,對於 TON 的趨勢和機會,我們需要持續關注市場動態、技術進展和法規環境的變化,並進行深入的研究和分析。同時,Beosin 需要提醒開發者在使用 Tact 進行合約開發過程中需理解 Tact 的語言特性、注意以上提到的安全建議,在完成開發後進行安全審計也尤為重要,以檢測並修復潛在的漏洞和風險。
相關報導
Animoca Brands 聯手 TON,能開啟鏈遊市場新篇章?
TON 鏈上生態報告:趨勢與機會,如何在 TON 生態中找到切入口
杜拜開綠燈!XRP與TON獲金管局核准,DIFC合格企業可開展交易服務
Tags:
Tact
TON
TON 基金會
程式語言