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