By:Johan背景
TON(TheOpenNetwork)是一個(gè)Decentralization的Blockchain平臺(tái),由TG團(tuán)隊(duì)最初設(shè)計(jì)和開發(fā)。TON的目標(biāo)是提供一個(gè)高性能和可擴(kuò)展的Blockchain平臺(tái),以支持大規(guī)模的Decentralization應(yīng)用(DApps)和智能合約。
TON如此特殊,它是易用的,它與TG深度結(jié)合,使得普通人也能輕易使用Tokens;它又是復(fù)雜的,它與其他Blockchain有著截然不同的架構(gòu),而且使用非主流的FunC智能合約語言。今天我們從賬號(hào)、Token、交易的角度討論一下TON的特點(diǎn)及用戶資產(chǎn)安全問題。TON的特點(diǎn)
賬號(hào)生成
TON賬號(hào)地址的生成方式與大多數(shù)Blockchain都不同,它是一個(gè)智能合約地址。首先,開局一個(gè)私鑰,TON主要使用Ed25519算法生成公鑰,生成流程如下:
0:b4c1b2ede12aa76f4a44353944258bcc8f99e9c7c474711a152c78b43218e296
以及用戶友好形式,形如:
Tokens被分發(fā)給用戶時(shí),Minter合約會(huì)為用戶部署一個(gè)錢包合約,并在合約初始化時(shí)記錄用戶的余額、所有權(quán)、TokensMinter合約地址、用戶錢包代碼等信息,每個(gè)用戶都會(huì)獨(dú)立部署一個(gè)合約。注意,這里創(chuàng)建的合約是用于管理特定JettonTokens的錢包合約,與用戶的賬號(hào)錢包合約并不相同,這里的owner_address記錄的是用戶的賬號(hào)錢包地址。
當(dāng)用戶Alice給用戶Bob轉(zhuǎn)賬時(shí),調(diào)用關(guān)系如下:
交易
當(dāng)TON中的某個(gè)帳戶發(fā)生某些事件時(shí),它會(huì)引發(fā)一筆交易,最常見的事件是“接收某個(gè)消息”,交易包括以下內(nèi)容:
最初觸發(fā)合約的傳入消息(存在特殊的觸發(fā)方式)
由傳入消息引起的合約行動(dòng),例如更新合約的存儲(chǔ)(可選)
發(fā)送給其他參與者的傳出消息(可選)
首尾號(hào)釣魚
首尾號(hào)釣魚不是TON上才有,各大公鏈都存在這種釣魚攻擊。攻擊者會(huì)為全網(wǎng)每個(gè)用戶地址都生成一個(gè)首尾號(hào)相同的高仿賬號(hào),當(dāng)用戶發(fā)送一筆轉(zhuǎn)賬時(shí),攻擊者用高仿賬號(hào)也尾隨發(fā)送一筆小額轉(zhuǎn)賬,目的是在用戶的收款記錄里留下一個(gè)記錄。當(dāng)收款用戶想要轉(zhuǎn)回一筆Tokens時(shí),可能會(huì)從歷史記錄里復(fù)制地址,這時(shí)很可能復(fù)制到攻擊者的地址,導(dǎo)致轉(zhuǎn)賬到錯(cuò)誤地址,攻擊者可謂是精準(zhǔn)拿捏用戶的行為了。
comment釣魚
TON在轉(zhuǎn)賬時(shí)可以添加一個(gè)comment,用于備注交易信息,這個(gè)功能在交易所充值時(shí)會(huì)頻繁用到,交易所通常會(huì)要求用戶在充值時(shí)備注一下用戶ID。但這個(gè)功能經(jīng)常會(huì)被惡意利用,攻擊者通過在備注里寫入欺詐信息來騙取用戶的資產(chǎn)。如圖所示:
用戶尤其需要注意AnonymousTGNumber這個(gè)NFT,如果用戶用AnonymousTGNumber開通了TG號(hào),但沒開Two-StepVerification,一旦這個(gè)NFT被釣走,黑客就可以直接登錄目標(biāo)TG號(hào),實(shí)施后續(xù)的資產(chǎn)盜取及欺騙行為。
智能合約漏洞
智能合約的安全漏洞會(huì)導(dǎo)致用戶放在智能合約的資金受損,用戶在選擇項(xiàng)目時(shí)需要選擇經(jīng)過良好審計(jì)的項(xiàng)目。TON的智能合約主要使用FunC語言來編程,也有使用更高級(jí)的Tact,或者更底層的Fift,都是原創(chuàng)程度很高的語言。新的編程語言會(huì)帶來新的安全風(fēng)險(xiǎn),特別是對(duì)開發(fā)者而言,要有安全編程的良好習(xí)慣,掌握最佳安全實(shí)踐,并且在部署生產(chǎn)環(huán)境之前經(jīng)過嚴(yán)格的安全審計(jì),限于篇幅,本文暫不討論合約安全。慢霧安全團(tuán)隊(duì)已推出TON智能合約安全審計(jì)服務(wù),歡迎有審計(jì)需求的朋友一起探討。
假充值攻擊
錢包或交易所用戶需要注意假充值攻擊,通常有兩種類型的假充值攻擊:
假幣,攻擊者發(fā)行一個(gè)metadata和目標(biāo)Tokens相同的Tokens,如果自動(dòng)化入賬程序沒有檢查這是否是正確的minter合約,那么就會(huì)導(dǎo)致錯(cuò)誤入賬。
反彈,TON的轉(zhuǎn)賬過程需要在兩個(gè)用戶的錢包合約之間發(fā)生調(diào)用關(guān)系,如果接收方的錢包合約不存在,并且交易設(shè)置為Bounceable,這時(shí)消息會(huì)被反彈,原始資金在扣除手續(xù)費(fèi)后將返還給發(fā)送方。對(duì)細(xì)節(jié)感興趣的朋友可以查看我們之前披露過的假充值文章?偨Y(jié)
本文從TON的公私鑰創(chuàng)建、錢包合約、Token的形式、交易特性等角度介紹了TON的一些基礎(chǔ)的技術(shù)原理,同時(shí)也探討了使用TON的過程中可能存在的安全問題,希望能給大家的學(xué)習(xí)帶來啟發(fā)。
免責(zé)聲明:初識(shí) TON:賬號(hào)、Token、交易與資產(chǎn)安全文章轉(zhuǎn)發(fā)自互聯(lián)網(wǎng),版權(quán)歸其所有。
文章內(nèi)容不代表本站立場(chǎng)和任何投資暗示。加密貨幣市場(chǎng)極其波動(dòng),風(fēng)險(xiǎn)很高,可能不適合所有投資者。在投資加密貨幣之前,請(qǐng)確保自己充分了解市場(chǎng)和投資的風(fēng)險(xiǎn),并考慮自己的財(cái)務(wù)狀況和風(fēng)險(xiǎn)承受能力。此外,請(qǐng)遵循您所在國(guó)家的法律法規(guī),以及遵守交易所和錢包提供商的規(guī)定。對(duì)于任何因使用加密貨幣所造成的投資損失或其他損失,本站不承擔(dān)任何責(zé)任。
Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM