By:Johan背景
TON(TheOpenNetwork)是一个Decentralization的Blockchain平台,由TG团队最初设计和开发。TON的目标是提供一个高性能和可扩展的Blockchain平台,以支持大规模的Decentralization应用(DApps)和智能合约。
TON如此特殊,它是易用的,它与TG深度结合,使得普通人也能轻易使用Tokens;它又是复杂的,它与其他Blockchain有着截然不同的架构,而且使用非主流的FunC智能合约语言。今天我们从账号、Token、交易的角度讨论一下TON的特点及用户资产安全问题。TON的特点
账号生成
TON账号地址的生成方式与大多数Blockchain都不同,它是一个智能合约地址。首先,开局一个私钥,TON主要使用Ed25519算法生成公钥,生成流程如下:
0:b4c1b2ede12aa76f4a44353944258bcc8f99e9c7c474711a152c78b43218e296
以及用户友好形式,形如:
Tokens被分发给用户时,Minter合约会为用户部署一个钱包合约,并在合约初始化时记录用户的余额、所有权、TokensMinter合约地址、用户钱包代码等信息,每个用户都会独立部署一个合约。注意,这里创建的合约是用于管理特定JettonTokens的钱包合约,与用户的账号钱包合约并不相同,这里的owner_address记录的是用户的账号钱包地址。
当用户Alice给用户Bob转账时,调用关系如下:
交易
当TON中的某个帐户发生某些事件时,它会引发一笔交易,最常见的事件是“接收某个消息”,交易包括以下内容:
最初触发合约的传入消息(存在特殊的触发方式)
由传入消息引起的合约行动,例如更新合约的存储(可选)
发送给其他参与者的传出消息(可选)
首尾号钓鱼
首尾号钓鱼不是TON上才有,各大公链都存在这种钓鱼攻击。攻击者会为全网每个用户地址都生成一个首尾号相同的高仿账号,当用户发送一笔转账时,攻击者用高仿账号也尾随发送一笔小额转账,目的是在用户的收款记录里留下一个记录。当收款用户想要转回一笔Tokens时,可能会从历史记录里复制地址,这时很可能复制到攻击者的地址,导致转账到错误地址,攻击者可谓是精准拿捏用户的行为了。
comment钓鱼
TON在转账时可以添加一个comment,用于备注交易信息,这个功能在交易所充值时会频繁用到,交易所通常会要求用户在充值时备注一下用户ID。但这个功能经常会被恶意利用,攻击者通过在备注里写入欺诈信息来骗取用户的资产。如图所示:
用户尤其需要注意AnonymousTGNumber这个NFT,如果用户用AnonymousTGNumber开通了TG号,但没开Two-StepVerification,一旦这个NFT被钓走,黑客就可以直接登录目标TG号,实施后续的资产盗取及欺骗行为。
智能合约漏洞
智能合约的安全漏洞会导致用户放在智能合约的资金受损,用户在选择项目时需要选择经过良好审计的项目。TON的智能合约主要使用FunC语言来编程,也有使用更高级的Tact,或者更底层的Fift,都是原创程度很高的语言。新的编程语言会带来新的安全风险,特别是对开发者而言,要有安全编程的良好习惯,掌握最佳安全实践,并且在部署生产环境之前经过严格的安全审计,限于篇幅,本文暂不讨论合约安全。慢雾安全团队已推出TON智能合约安全审计服务,欢迎有审计需求的朋友一起探讨。
假充值攻击
钱包或交易所用户需要注意假充值攻击,通常有两种类型的假充值攻击:
假币,攻击者发行一个metadata和目标Tokens相同的Tokens,如果自动化入账程序没有检查这是否是正确的minter合约,那么就会导致错误入账。
反弹,TON的转账过程需要在两个用户的钱包合约之间发生调用关系,如果接收方的钱包合约不存在,并且交易设置为Bounceable,这时消息会被反弹,原始资金在扣除手续费后将返还给发送方。对细节感兴趣的朋友可以查看我们之前披露过的假充值文章。总结
本文从TON的公私钥创建、钱包合约、Token的形式、交易特性等角度介绍了TON的一些基础的技术原理,同时也探讨了使用TON的过程中可能存在的安全问题,希望能给大家的学习带来启发。
免责声明:初识 TON:账号、Token、交易与资产安全文章转发自互联网,版权归其所有。
文章内容不代表本站立场和任何投资暗示。加密货币市场极其波动,风险很高,可能不适合所有投资者。在投资加密货币之前,请确保自己充分了解市场和投资的风险,并考虑自己的财务状况和风险承受能力。此外,请遵循您所在国家的法律法规,以及遵守交易所和钱包提供商的规定。对于任何因使用加密货币所造成的投资损失或其他损失,本站不承担任何责任。
Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM