TON未來(lái)怎么樣?從技術(shù)特點(diǎn)解讀TON幣投資價(jià)值
TON未來(lái)怎么樣?解讀TON技術(shù)特點(diǎn)與智能合約開(kāi)發(fā)范式!隨著幣安上線TON生態(tài)最大的游戲Notcoin以及由全流通token經(jīng)濟(jì)模型所引發(fā)的巨量財(cái)富效應(yīng),TON在短時(shí)間內(nèi)即取得了極大的關(guān)注。和朋友聊了下得知TON的技術(shù)門檻比較高,而且DApp開(kāi)發(fā)范式與主流公鏈協(xié)議有很大的差異,因此花了一些時(shí)間深入研究了一下相關(guān)課題,有些心得體會(huì),與諸君分享。簡(jiǎn)而言之,TON的核心設(shè)計(jì)理念是以一種“自下而上”的方式重構(gòu)傳統(tǒng)的區(qū)塊鏈協(xié)議,并以舍棄互操作性為代價(jià),實(shí)現(xiàn)對(duì)高并發(fā)和高可擴(kuò)展性的極致追求。
今天腳本之家小編給大家分享的是TON未來(lái)怎么樣?解讀TON技術(shù)特點(diǎn)與智能合約開(kāi)發(fā)范式的詳細(xì)介紹了,有需要的幣友一起看看吧!
TON的核心設(shè)計(jì)思想——高并發(fā)與高可擴(kuò)展性
可以這么說(shuō),TON中所有復(fù)雜的技術(shù)選型的目的都來(lái)自于對(duì)高并發(fā)與高可擴(kuò)展性的追求,當(dāng)然從其誕生的背景我們也不難理解這一點(diǎn)。
TON,即The Open Network,是一個(gè)去中心化的計(jì)算網(wǎng)絡(luò),包含一個(gè)L1區(qū)塊鏈和多個(gè)組件。
TON最初由Telegram的創(chuàng)始人Nikolai Durov及其團(tuán)隊(duì)共同開(kāi)發(fā),而發(fā)展到現(xiàn)在則由全球獨(dú)立貢獻(xiàn)者的社區(qū)支持并維護(hù)。
其誕生要追溯到2017年,Telegram團(tuán)隊(duì)開(kāi)始為自己探索區(qū)塊鏈解決方案。由于當(dāng)時(shí)沒(méi)有現(xiàn)有的L1區(qū)塊鏈能夠支持Telegram的九位數(shù)用戶基礎(chǔ),他們決定設(shè)計(jì)自己的區(qū)塊鏈,當(dāng)時(shí)稱為Telegram Open Network。
時(shí)間來(lái)到了2018年,為了獲得實(shí)現(xiàn)TON所需的資源,Telegram在2018年第一季度發(fā)起了Gram代幣(后來(lái)改名為Toncoin)的銷售。
2020年由于監(jiān)管問(wèn)題,Telegram團(tuán)隊(duì)退出了TON項(xiàng)目。
隨后,一小部分開(kāi)源開(kāi)發(fā)者和Telegram比賽獲勝者接手了TON的代碼庫(kù),將項(xiàng)目名稱更名為The Open Network,并繼續(xù)積極地開(kāi)發(fā)區(qū)塊鏈至今,且遵循原始TON白皮書(shū)中概述的原則。
那么既然是以作為Telegram的去中心化執(zhí)行環(huán)境作為設(shè)計(jì)目標(biāo),自然要面對(duì)兩個(gè)問(wèn)題,高并發(fā)請(qǐng)求與海量數(shù)據(jù),我們知道隨著技術(shù)發(fā)展到現(xiàn)在,號(hào)稱TPS最高的Solana實(shí)測(cè)最高TPS也只有65000,這顯然不足以支撐百萬(wàn)級(jí)TPS要求的Telegram生態(tài)。
與此同時(shí)隨著Telegram的大規(guī)模應(yīng)用,其產(chǎn)生的數(shù)據(jù)量早已突破天際,而區(qū)塊鏈作為一個(gè)極度冗余的分布式系統(tǒng),若要求網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都保存一份完整的數(shù)據(jù),這也是不現(xiàn)實(shí)的。
因此為了解決上述兩個(gè)問(wèn)題,TON對(duì)主流的區(qū)塊鏈協(xié)議做出了兩個(gè)方面的優(yōu)化:
通過(guò)采用“無(wú)限分片范式”(Infinite Sharding Paradigm)設(shè)計(jì)系統(tǒng),解決數(shù)據(jù)冗余問(wèn)題,使其可以承載大數(shù)據(jù),同時(shí)緩解性能瓶頸問(wèn)題;
通過(guò)引入基于Actor模型的完全并行執(zhí)行環(huán)境,極大的提升網(wǎng)絡(luò)TPS;
做區(qū)塊鏈的鏈——通過(guò)無(wú)限分片能力讓每個(gè)賬戶都有一條專屬的賬戶鏈
當(dāng)下我們知道,分片(sharding)已經(jīng)成為了大部分區(qū)塊鏈協(xié)議提升性能降低成本的主流方案,而TON則將這點(diǎn)做到了極致,并提出了無(wú)限分片范式,所謂無(wú)限分片范式,指的是允許區(qū)塊鏈根據(jù)網(wǎng)絡(luò)負(fù)載動(dòng)態(tài)地增加或減少分片數(shù)量。這種范式使得TON能夠在保持高性能的同時(shí),處理大規(guī)模的交易和智能合約操作,理論上TON可以為每個(gè)賬戶都建立一條專屬的賬戶鏈,并通過(guò)一定的規(guī)則保證這些鏈之間的一致性,
抽象的來(lái)理解,在TON中一共存在四層鏈結(jié)構(gòu):
賬戶鏈(AccountChain):該層鏈表示與某個(gè)賬戶相關(guān)的一系列交易所組成的鏈,之所以交易可以組成鏈?zhǔn)浇Y(jié)構(gòu),是因?yàn)閷?duì)于一個(gè)狀態(tài)機(jī)來(lái)說(shuō),只要執(zhí)行規(guī)則一致,狀態(tài)機(jī)在接收到相同順序的指令后得到的結(jié)果是一致的,因此所有區(qū)塊鏈分布式系統(tǒng)中都需要對(duì)交易進(jìn)行鏈?zhǔn)脚判颍琓ON也不例外。賬戶鏈?zhǔn)荰ON網(wǎng)絡(luò)中最基本的組成單元,通常情況下賬戶鏈?zhǔn)且粋€(gè)虛擬的概念,不太可能真正存在一個(gè)獨(dú)立的賬戶鏈。
分片鏈(ShardChain):在大部分的語(yǔ)境下,分片鏈才是TON中實(shí)際的組成單元,所謂分片鏈,即為一組賬戶鏈的集合。
工作鏈(WorkChain):也可以叫做一組有自定義規(guī)則的分片鏈,例如創(chuàng)建一個(gè)基于EVM的工作鏈,在其上運(yùn)行Solidity智能合約。理論上,社區(qū)中的每個(gè)人都可以創(chuàng)建自己的工作鏈。事實(shí)上,構(gòu)建它是一個(gè)相當(dāng)復(fù)雜的任務(wù),在此之前還要支付創(chuàng)建它的(昂貴)費(fèi)用,并獲得驗(yàn)證者的2/3的票數(shù)來(lái)批準(zhǔn)創(chuàng)建你的工作鏈。
主鏈(MasterChain):最后在TON中有一條特殊的鏈被稱為主鏈,該鏈負(fù)責(zé)為所有分片鏈帶來(lái)最終性。一旦分片鏈的區(qū)塊的哈希值被合并到主鏈的區(qū)塊中,該分片鏈區(qū)塊及其所有父區(qū)塊被認(rèn)為具有最終性,這意味著它們可以被認(rèn)為是固定且不可變的內(nèi)容,而被所有分片鏈的后續(xù)區(qū)塊引用。
通過(guò)采用這樣的范式,使TON網(wǎng)絡(luò)具備以下三個(gè)特點(diǎn):
動(dòng)態(tài)分片: TON可以自動(dòng)拆分和合并分片鏈以適應(yīng)負(fù)載的變化。這意味著新塊總是快速生成,而交易不會(huì)產(chǎn)生很長(zhǎng)的等待時(shí)間。
高度可擴(kuò)展:通過(guò)無(wú)限分片范式,TON能夠支持幾乎無(wú)限數(shù)量的分片,理論上可以達(dá)到2的60次方個(gè)工作鏈。
自適應(yīng)性: 當(dāng)網(wǎng)絡(luò)中的某個(gè)部分負(fù)載增加時(shí),該部分可以被細(xì)分成更多的分片來(lái)處理增加的交易量。相反,當(dāng)負(fù)載減少時(shí),分片可以合并以提高效率。
那么這樣一個(gè)多鏈系統(tǒng),首先需要面臨的就是跨鏈通信問(wèn)題,尤其是由于具有無(wú)限分片的能力,當(dāng)網(wǎng)絡(luò)中的分片數(shù)量達(dá)到一定量級(jí)后,鏈與鏈之間的信息路由將成為一件困難的事情。試想一下網(wǎng)絡(luò)中共有4個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)負(fù)責(zé)維護(hù)1條獨(dú)立的工作鏈,其中鏈接關(guān)系表示該節(jié)點(diǎn)除了負(fù)責(zé)自身的工作鏈中交易排序工作之外,還需要監(jiān)聽(tīng)并處理目標(biāo)鏈中狀態(tài)變化,在TON中具體通過(guò)監(jiān)聽(tīng)輸出隊(duì)列的消息實(shí)現(xiàn),
假設(shè)工作鏈1中的賬戶A希望向工作鏈3中的賬戶C發(fā)送一個(gè)消息。則需要設(shè)計(jì)到消息路由問(wèn)題,在這個(gè)例子中有兩條路由路徑,工作鏈1 -> 工作鏈2-> 工作鏈3,工作鏈1 -> 工作鏈4 -> 工作鏈3。
當(dāng)面臨更復(fù)雜的情況時(shí),就需要一個(gè)高效且低成本的路由算法快速完成消息通信,TON選擇了所謂“超立方體路由算法”來(lái)實(shí)現(xiàn)跨鏈消息通信路由發(fā)現(xiàn)。所謂超立方體結(jié)構(gòu)指的是一種特殊的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),一個(gè)n維超立方體是由2^n個(gè)頂點(diǎn)組成的,每個(gè)頂點(diǎn)都可以通過(guò)一個(gè)n位的二進(jìn)制數(shù)來(lái)唯一標(biāo)識(shí)。在這個(gè)結(jié)構(gòu)中,任意兩個(gè)頂點(diǎn)如果在二進(jìn)制表示中只有一位不同,那么它們就是相鄰的。例如,在一個(gè)3維超立方體中,頂點(diǎn)000和頂點(diǎn)001是相鄰的,因?yàn)樗鼈冎辉谧詈笠晃簧喜煌?。而上述例子即是一個(gè)2維超立方體。
在超立方體路由協(xié)議中,消息將從源工作鏈到目標(biāo)工作鏈的路由過(guò)程是通過(guò)比較源工作鏈和目標(biāo)工作鏈地址的二進(jìn)制表示來(lái)進(jìn)行的。路由算法會(huì)找到這兩個(gè)地址之間的最小距離(即二進(jìn)制表示中不同位的數(shù)量),并通過(guò)相鄰工作鏈逐步轉(zhuǎn)發(fā)信息,直到達(dá)到目標(biāo)工作鏈。這種方法能夠確保數(shù)據(jù)包沿著最短路徑傳輸,從而提高了網(wǎng)絡(luò)的通信效率。
當(dāng)然為了簡(jiǎn)化這個(gè)過(guò)程,TON也提出了一個(gè)樂(lè)觀技術(shù)方案,當(dāng)用戶可以提供對(duì)某個(gè)路由路徑的有效證明,這通常是某個(gè)merkle trie root,節(jié)點(diǎn)即可直接承認(rèn)該用戶提交的消息的可信性,這也被稱為即時(shí)超立方體路由。
因此我們可以看到TON中的地址和其他區(qū)塊鏈協(xié)議有著明顯的區(qū)別,其他主流區(qū)塊鏈協(xié)議大都采用橢圓加密算法生成的公私鑰中公鑰對(duì)應(yīng)的哈希作為地址,因?yàn)榈刂分皇亲鑫ㄒ恍詤^(qū)分,而不需要承載路由尋址的功能,而TON中的地址有兩部分組成,(workchain_id, account_id),其中workchain_id即按照超立方體路由算法地址進(jìn)行編碼,在這里就不詳細(xì)展開(kāi)了。
還有一個(gè)容易產(chǎn)生疑問(wèn)的點(diǎn),你可能已經(jīng)發(fā)覺(jué)到主鏈和每個(gè)工作鏈均有鏈接關(guān)系,那么所有跨鏈信息均通過(guò)主鏈做中繼不就可以了么,就像是cosmos那樣。在TON的設(shè)計(jì)理念中,主鏈僅用于處理最關(guān)鍵的任務(wù),即維護(hù)眾多工作鏈的最終性,將消息通過(guò)主鏈做路由也不是不行,只是由此產(chǎn)生的手續(xù)費(fèi)用將十分昂貴。
最后簡(jiǎn)單提一下其共識(shí)算法,TON采用了BFT+PoS的方式,即任意staker均有機(jī)會(huì)參與區(qū)塊打包,TON的選舉治理合約會(huì)每隔一段時(shí)間,從所有Stakers中隨機(jī)選擇一個(gè)打包的驗(yàn)證者集群,被選中稱為驗(yàn)證者的節(jié)點(diǎn)將通過(guò)BFT算法打包出塊,若打包錯(cuò)誤信息或作惡,其stake的token將會(huì)被罰沒(méi),反之將得到出塊獎(jiǎng)勵(lì)。這基本上已經(jīng)是一個(gè)比較常見(jiàn)的選擇了,因此不在這里展開(kāi)介紹。
基于Actor模型的智能合約和完全并行執(zhí)行環(huán)境
TON中另一個(gè)與主流區(qū)塊鏈協(xié)議不同的點(diǎn)是其智能合約執(zhí)行環(huán)境。為了突破主流區(qū)塊鏈協(xié)議TPS的限制,TON采用了自下而上的設(shè)計(jì)思路,采用Actor模型重構(gòu)了智能合約及其執(zhí)行方式,使其具備了完全并行執(zhí)行的能力。
我們知道主流的區(qū)塊鏈協(xié)議大都采用的是單線程串行的執(zhí)行環(huán)境,以Ethereum為例,其執(zhí)行環(huán)境EVM是一個(gè)以交易作為輸入的狀態(tài)機(jī),當(dāng)出塊節(jié)點(diǎn)通過(guò)打包區(qū)塊完成對(duì)交易的排序后,將以該順序通過(guò)EVM執(zhí)行交易,整個(gè)過(guò)程是完全串行并單線程的,即某個(gè)時(shí)刻只能有一筆被執(zhí)行,這樣做的好處是只要確認(rèn)了交易順序,執(zhí)行的結(jié)果在廣泛的分布式集群中就具有一致性,與此同時(shí)由于同時(shí)只有一筆交易被串行執(zhí)行,這就意味著在執(zhí)行過(guò)程中,不可能存在其他交易對(duì)某待訪問(wèn)狀態(tài)數(shù)據(jù)進(jìn)行修改,這樣就實(shí)現(xiàn)了智能合約之間的互操作性。例如我們通過(guò)Uniswap使用USDT購(gòu)買ETH,當(dāng)該交易被執(zhí)行時(shí),該交易對(duì)中LP的分布情況即為一個(gè)確定值,這樣就可以通過(guò)某些數(shù)學(xué)模型得出對(duì)應(yīng)的結(jié)果,但假設(shè)情況不是這樣的,在執(zhí)行某bonding curve的計(jì)算時(shí),有其他LP添加了新的流動(dòng)性,那么計(jì)算結(jié)果將會(huì)是一個(gè)過(guò)時(shí)的結(jié)果,這顯然是不可接受的。
但是這種架構(gòu)也有明顯的局限性,那就是TPS的瓶頸,而這個(gè)瓶頸在當(dāng)前多核處理器下顯得很老舊,就像你用一個(gè)最新的PC去玩一些老的電腦游戲,比如紅警,當(dāng)作戰(zhàn)單位多到一定數(shù)量后,依然會(huì)發(fā)現(xiàn)卡的不行,這就是軟件架構(gòu)的問(wèn)題。
你可能會(huì)聽(tīng)到一些協(xié)議已經(jīng)在關(guān)注這個(gè)問(wèn)題,并提出了自己的并行方案,以當(dāng)前號(hào)稱TPS最高的Solana為例,也具備并行執(zhí)行的能力。只不過(guò)其設(shè)計(jì)思路與TON不同,在Solana中,其核心思想是將所有交易按照?qǐng)?zhí)行依賴關(guān)系分為幾組,不同組之間不共享任何狀態(tài)數(shù)據(jù)。即不存在相同的依賴,這樣不同組內(nèi)的交易就可以并行執(zhí)行而不用擔(dān)心出現(xiàn)沖突的情況,而對(duì)于同組內(nèi)的交易,則還是沿用傳統(tǒng)的串行方式執(zhí)行。
而在TON中,其完全舍棄了串行執(zhí)行的架構(gòu),轉(zhuǎn)而采用了一個(gè)專為并行而生的開(kāi)發(fā)范式,Actor模型來(lái)重構(gòu)執(zhí)行環(huán)境。所謂Actor模型是由Carl Hewitt在1973年首次提出,目的是通過(guò)消息傳遞來(lái)解決傳統(tǒng)并發(fā)程序中共享狀態(tài)的復(fù)雜性問(wèn)題。每個(gè)Actor都有自己的私有狀態(tài)和行為,且與其他Actor之間不共享任何狀態(tài)信息。Actor模型是一種并發(fā)計(jì)算的計(jì)算模型,它通過(guò)消息傳遞來(lái)實(shí)現(xiàn)并行計(jì)算。在這個(gè)模型中,"Actor"是基本的工作單元,它能夠處理接收的消息、創(chuàng)建新的Actor、發(fā)送更多消息、決定如何響應(yīng)接下來(lái)的消息。Actor模型需要具備以下幾個(gè)特性:
封裝和獨(dú)立性:每個(gè)Actor在處理消息時(shí)都是完全獨(dú)立的,可以并行處理消息而不會(huì)互相干擾。
消息傳遞:Actor之間僅通過(guò)發(fā)送和接收消息進(jìn)行交互,消息傳遞是異步的。
動(dòng)態(tài)結(jié)構(gòu):Actor可以在運(yùn)行時(shí)創(chuàng)建更多的Actor,這種動(dòng)態(tài)性使得Actor模型能夠根據(jù)需要擴(kuò)展系統(tǒng)。
TON采用了這個(gè)架構(gòu),來(lái)設(shè)計(jì)智能合約模型,這就意味著在TON中,每個(gè)智能合約都是一個(gè)Actor模型,其具備完全獨(dú)立的存儲(chǔ)空間。因?yàn)椴灰蕾嚾魏瓮獠繑?shù)據(jù)。除此之外,對(duì)同一個(gè)智能合約的調(diào)用還是按照接收隊(duì)列中消息的排序進(jìn)行執(zhí)行,因此TON中的交易將可以被高效的并行執(zhí)行,而不需要擔(dān)心沖突問(wèn)題。
然而這樣的設(shè)計(jì)方案也帶來(lái)了一些全新的影響,對(duì)于DApp開(kāi)發(fā)者來(lái)說(shuō),其習(xí)慣的開(kāi)發(fā)范式將被打破,具體如下:
1.智能合約之間的異步調(diào)用:在TON的智能合約內(nèi)部是無(wú)法原子性的調(diào)用外部合約或訪問(wèn)外部合約數(shù)據(jù)的,我們知道在Solidity中,合約A的function1中調(diào)用合約B的function2,或者通過(guò)合約C的只讀function3訪問(wèn)某狀態(tài)數(shù)據(jù),整個(gè)過(guò)程是原子性的,在一筆交易中被執(zhí)行,這是一件非常容易的事情,然而在TON中,這將不可能實(shí)現(xiàn),任何與外部智能合約的交互都將通過(guò)打包新的交易異步執(zhí)行,這種由智能合約發(fā)起的交易也被稱為內(nèi)部消息。且執(zhí)行過(guò)程中無(wú)法阻塞以獲得執(zhí)行結(jié)果。
例如我們開(kāi)發(fā)一個(gè)DEX,如果采用EVM中常見(jiàn)的范式,通常會(huì)有一個(gè)統(tǒng)一的router合約用于管理交易路由,而每個(gè)Pool都單獨(dú)管理某個(gè)交易對(duì)相關(guān)的LP數(shù)據(jù),那么假設(shè)當(dāng)前有兩個(gè)池子USDT-DAI和DAI-ETH。當(dāng)用戶希望通過(guò)USDT直接購(gòu)買ETH,就可以通過(guò)router合約在一筆交易中順序請(qǐng)求這兩個(gè)池子,完成原子性 交易。然而在TON中就沒(méi)有這么容易實(shí)現(xiàn)了,需要思考新的開(kāi)發(fā)范式,若仍然復(fù)用該該范式的話,那信息流可能是這樣的,這個(gè)請(qǐng)求將伴隨一個(gè)由用戶發(fā)起的external message和三個(gè)internal messages完成(注意這是用于說(shuō)明差異性的,真實(shí)的開(kāi)發(fā)中甚至連ERC20的范式也要重新設(shè)計(jì))。
2.需要仔細(xì)考慮跨合約調(diào)用時(shí)出現(xiàn)執(zhí)行錯(cuò)誤情況的處理流程,為每個(gè)合約間調(diào)用設(shè)計(jì)相應(yīng)的彈回(bounce)函數(shù)。我們知道在主流的EVM中,當(dāng)交易執(zhí)行時(shí)遇到問(wèn)題時(shí),整個(gè)交易將會(huì)被回滾,即被重置到執(zhí)行最初時(shí)的狀態(tài)。這在串行單線程模型中是容易理解的。然而在TON中,由于合約間調(diào)用采用了異步的方式執(zhí)行,即使后續(xù)某環(huán)節(jié)出錯(cuò),由于前面已經(jīng)被成功執(zhí)行的交易已經(jīng)被執(zhí)行并確認(rèn),這就有可能造成問(wèn)題。因此TON中設(shè)置了一種特殊的消息類型,叫做彈回消息,即當(dāng)某內(nèi)部消息觸發(fā)的后續(xù)執(zhí)行過(guò)程出現(xiàn)錯(cuò)誤時(shí),被觸發(fā)合約可以通過(guò)觸發(fā)合約預(yù)留的彈回函數(shù)將觸發(fā)合約中的某些狀態(tài)重置。
3.在某些復(fù)雜情況下,先被接收的交易不一定先被執(zhí)行完畢,因此不可以預(yù)設(shè)這種時(shí)序關(guān)系。在這樣一個(gè)異步和并行智能合約調(diào)用的系統(tǒng)中,定義處理操作順序可能很難。這就是為什么 TON 中的每個(gè)消息都有它的邏輯時(shí)間Lamport time(后面簡(jiǎn)稱 lt)。它用于理解哪個(gè)事件引發(fā)了另一個(gè)以及驗(yàn)證者首先需要處理什么。對(duì)于一個(gè)簡(jiǎn)單的模型,先被接收的交易一定先被執(zhí)行完成。
在這個(gè)模型中,A和B分別表示兩個(gè)智能合約,則有如果 msg1_lt < msg2_lt,則tx1_lt < tx2_lt的時(shí)序關(guān)系。
然而在較為復(fù)雜的情況下,這個(gè)規(guī)則就會(huì)被打破。在官方文檔中有這樣的例子,假設(shè)我們有三個(gè)合約A、B和C。在一筆交易中,A發(fā)送兩個(gè)內(nèi)部消息msg1和msg2:一個(gè)給B,另一個(gè)給C。盡管它們是按確切順序創(chuàng)建的(先msg1,然后是msg2),但我們無(wú)法確定msg1 將在msg2之前被處理。這是因?yàn)閺?A 到 B 和從 A 到 C 的路由可能在長(zhǎng)度和驗(yàn)證者集中有所不同。如果這些合約位于不同的分片鏈中,其中一條消息可能需要幾個(gè)區(qū)塊才能到達(dá)目標(biāo)合約。即我們有兩種可能的交易路徑,如圖所示。
4.在TON中,其智能合約的持久化存儲(chǔ)采用了一個(gè)以Cell為單元的有向無(wú)環(huán)圖作為數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)將按照編碼規(guī)則緊湊的壓縮為一個(gè)Cell,同時(shí)按照有向無(wú)環(huán)圖的方式向下延伸,這與EVM中狀態(tài)數(shù)據(jù)基于hashmap的結(jié)構(gòu)組織不同,由于數(shù)據(jù)請(qǐng)求算法的不同,TON中為不同深度的數(shù)據(jù)處理設(shè)置了不同的Gas價(jià)格,越深的Cell數(shù)據(jù)處理所需要的Gas越高,因此在TON中存在一種DOS攻擊的范式,即某些惡意用戶通過(guò)發(fā)送大量垃圾消息占用某個(gè)智能合約中所有的淺層Cell,這就意味著誠(chéng)實(shí)用戶的存儲(chǔ)成本將越來(lái)越高。而在EVM中,由于hashmap的查詢復(fù)雜度為o(1),因此有著相同的Gas,不會(huì)有類似問(wèn)題。所以TON Dapp開(kāi)發(fā)者應(yīng)該盡量避免智能合約中出現(xiàn)無(wú)界數(shù)據(jù)類型。當(dāng)出現(xiàn)無(wú)界數(shù)據(jù)類型時(shí),應(yīng)通過(guò)分片的方式將其打散。
5.還有一些特征則不那么特殊了,例如智能合約需要為存儲(chǔ)支付租金,在TON中智能合約天然是可升級(jí)的,以及原生的抽象賬戶功能,即在TON中所有錢包地址均為智能合約,只是未被初始化等,這些需要開(kāi)發(fā)者小心留意。
以上就是腳本之家小編給大家分享的TON未來(lái)怎么樣?從技術(shù)特點(diǎn)解讀TON幣投資價(jià)值了,希望大家喜歡!
你可能感興趣的文章
-
TON是什么鏈?TON鏈有什么優(yōu)勢(shì)?
TON是由Telegram創(chuàng)建的一種區(qū)塊鏈網(wǎng)絡(luò),是一條為數(shù)十億用戶設(shè)計(jì)的去中心化的第一層公鏈,旨在構(gòu)建一個(gè)分布式的、高性能的區(qū)塊鏈平臺(tái),那么究竟TON是什么鏈?TON鏈有什么優(yōu)…
2024-06-07 -
NOT之后,TON生態(tài)還有什么項(xiàng)目值得關(guān)注與交互?
NOT幣無(wú)疑是近期的加密市場(chǎng)關(guān)注焦點(diǎn),短短一周時(shí)間,NOT幣最高漲幅超 400%,NOT的爆發(fā)離不開(kāi)加密市場(chǎng)對(duì)TON生態(tài)的期待,那么,NOT之后,TON生態(tài)還有什么項(xiàng)目值得關(guān)注與交互?…
2024-06-05 -
TON公鏈上Web3游戲異軍突起,哪些公鏈也在加碼鏈游賽道?
目前TON 通過(guò)Web3社交小游戲獲得不少流量,還有哪些公鏈上游戲用戶活躍,哪些公鏈積極拓展游戲?本文將為大家詳細(xì)介紹這些公鏈…
2024-05-24 -
下一個(gè)NOTCOIN?解讀TON上面的魔性霸榜游戲Catizen
Catizen是一款建立在TON生態(tài)上的貓咪游戲,它結(jié)合了元宇宙、GameFi和AI技術(shù),推出了創(chuàng)新的play-to-airdrop模式,讓玩家在游戲中賺取未來(lái)的空投,Catizen是TON生態(tài)中Gamefi B…
2024-05-23 -
公鏈TON是什么?公鏈TON技術(shù)特點(diǎn)、代幣經(jīng)濟(jì)全面介紹
TON(The Open Network)背靠全球擁有超過(guò)9億用戶的熱門社交應(yīng)用Telegram,在龐大潛在用戶基礎(chǔ)下,本文將介紹TON的技術(shù)架構(gòu)、經(jīng)濟(jì)模型、生態(tài)、優(yōu)勢(shì)與挑戰(zhàn)等,帶你深度分析該…
2024-05-20 -
躋身前十大加密貨幣 TON幣還有多少上升空間?
TON幣價(jià)格2024年不斷創(chuàng)下新高,本周,其市值已經(jīng)躍升至第九,年初至今已上漲近四倍,背靠Telegram這個(gè)9億流量蓄水池,是TON敘事中最富有吸引力的故事,那么,躋身前十大加密…
2024-05-13 -
TON生態(tài)發(fā)展如何?TON上有哪些項(xiàng)目和空投值得關(guān)注?
今年,是TON鏈鏈上生態(tài)得到了跨越式的發(fā)展,原因在于TON鏈發(fā)展重心本就不在金融,社交、游戲、支付類的Dapp才是TON鏈的主線任務(wù),由此看來(lái),TON鏈?zhǔn)菍門elegram而生的,本文將…
2024-05-13 -
一個(gè)月漲幅2.6倍的TON是什么?如何參與TON生態(tài)項(xiàng)目?
TON 即開(kāi)放網(wǎng)絡(luò),The Open Network,是一個(gè)Layer1公鏈,TON是其原生代幣,那么,一個(gè)月漲幅2.6倍的TON是什么?如何參與TON生態(tài)項(xiàng)目?本文將為大家詳細(xì)介紹…
2024-04-15 -
Runestone怎么樣?一文讀懂爆火的Runestone及背后的Runes協(xié)議
Runestone究竟是怎樣的項(xiàng)目?它與Runes協(xié)議有什么關(guān)系?近日總量為112383個(gè)的Runestone自發(fā)行以來(lái)引起了市場(chǎng)的廣泛關(guān)注,其總交易額超過(guò)了驚人的1400個(gè)比特幣,平均價(jià)格也…
2024-04-08 -
Ton會(huì)不會(huì)成為Solana挑戰(zhàn)者?TON幣未來(lái)行情分析
Ton還有投資價(jià)值嗎?未來(lái)的Ton幣怎么樣?最近,TON 公鏈在經(jīng)歷長(zhǎng)時(shí)間低迷后終于開(kāi)始起步,總鎖倉(cāng)量突破 7800 萬(wàn),創(chuàng)歷史新高,Ton 能否復(fù)刻 Solana Meme 狂潮?大家一起看看…
2024-03-26