在2018年,Telegram团队推出了一个革命性的公链项目——TON,一经发布即吸引了大量眼球,原因在于其背后巨大的潜在Web2用户群体。TON的发展几经波折,在2023年,TON推出了DeFi流动性激励计划,举办了Hack-a-TON黑客松,旨在吸引全球顶尖开发者为TON生态注入新鲜血液,共同探索DeFi、NFT等前沿技术领域。现如今,其正在成为一个快速发展、充满活力的生态系统。TON发展历史在2018年,Telegram创立了TelegramOpenNetwork项目,通过ICO募资约17亿美元,但后续Telegram受到SEC指控非法募资。在2020年Telegram团队同意支付1850万美元的罚款与SEC达成和解,放弃TelegramOpenNetwork项目并将资金退还。Telegram团队随后将TelegramOpenNetwork网络中所有的代币锁进智能合约中,任何人都可以参与挖矿获得TON代币(2022年6月,TON挖矿结束,TON网络已完全转变为PoS)。Telegram此举将TelegramOpenNetwork交给了社区,由名为NewTON社区的开发人员继续开发。之后NewTON社区更名为TON基金会,TelegramOpenNetwork也更名为TheOpenNetwork,这便是现在的TON公链。而在2020年Telegram等待SEC判决时,TONLabs对TelegramOpenNetwork进行了分叉,发布了"FreeTON"版本。目前FreeTON已更名为Everscale,且其发展路线和代码与原先的TON也有很大不同。TON链上数据目前链上的验证器数量为357个,PoS机制下总质押$TON数量为5亿多个,分布在24个国家当中。https://www.tonstat.com/#toncoinsource:https://www.tonstake.com/#/TON代币数据$TON在ETH和BSC链上均有代币合约。根据EagleEye平台的数据,在9月17日,$TON的链上交易出现短期峰值,Buy/SellRatio接近1.17。$TON价格在9月20日达到近期高点2.6美元。source:https://eagleeye.space/detail/toncoin此外,EagleEye平台监控到中心化交易所MEXC上近期交易$TON非常活跃。10月5日,TON宣布获得MEXCVentures千万美元投资,同时双方建立战略合作伙伴关系。MEXC将为TON生态提供营销服务和推广,提供$TON抵押借款服务。source:https://eagleeye.space/detail/toncoinTON设计特点1.智能合约的调用为异步与以太坊等公链不同,TON的智能合约之间的调用是异步的。这样的设计提高了可拓展性,因为当一个智能合约调用另一个智能合约的函数时,这个调用不会立即执行,不需要在一个区块中处理完所有的交易。但同时异步性也增加了开发者在TON链上开发和维护应用的门槛。
source:Beosin3.分布式哈希表区块链网络数据存储和访问方式会影响其网络的数据一致性、可访问性和安全性。TON采用哈希表进行数据存储。首先,哈希表是一种数据结构,它通过使用哈希函数将键(key)映射到存储桶(bucket)中,从而实现快速数据访问。在TON中,哈希表是分布式的,意味着数据被存储在网络中的多个节点上。当需要存储一个数据项时,TON使用一个哈希函数来确定应该将数据项存储在哪个节点上。当需要检索数据时,使用相同的哈希函数来快速找到存储数据的节点,允许高效的数据插入、删除和查找操作。数据被加密和冗余存储在多个节点上,即使某些节点发生故障或被攻击,数据仍然可以从其他节点恢复,确保了数据的安全性和持久性。与传统的哈希表相比,分布式哈希表在分布式和大规模环境中提供了更高的性能和可靠性。以下是TON与Ethereum、Bitcoin网络的对比:Telegram中推出的“SecretChats"功能采用端到端加密技术,旨在提高用户之间消息传输的安全性。进入2022年年末,Telegram进一步更新,推出了基于区块链的匿名号码登录功能,允许用户无需手机号注册,仅通过保存TON钱包的助记词进行登录,从而提供一个额外的隐私选项。2023年1月,TON进一步扩展其功能,发布了TONStorage。这是一个点对点的文件共享系统,与Dropbox和torrents有某些相似之处。这一系统的特点是简化文件交换过程,并为存储在区块链上的文件提供加密保护。同时,为了确保文件的持久存储,托管这些文件的节点运营者也能获得相应激励。TON开发语言在TON上开发智能合约,开发者有三种编程语言选择:Fift、FunC和Tact。Fift偏底层,包含TVM和Fift汇编指令,使用Fift进行开发难度较大,极少开发者选择使用Fift语言开发智能合约。Tact是TON新推出的高级语言,语法类似Typescript,旨在降低开发难度。目前使用最多的开发语言为FunC,它是类似C语言的编程语言。source:Beosin在开发TON智能合约时,Beosin安全团队建议开发者需要注意以下7点:1.FunC与Tact均为静态类型语言,开发者需要非常清楚地知道其代码中变量存储的数据类型。读取非预期的类型和值都会引起错误。
2.TON区块链不包含revert消息。因此开发者需要考虑好代码运行的结束路径。3.TON区块链有多个交易阶段:计算阶段(computationalphase),执行阶段(actionsphase)和反弹阶段(bouncephase)。计算阶段会执行合约代码,执行阶段才会发送消息。因此,开发者在测试代码时需要注意交易执行目前位于第几阶段。4.FunC中有method_id标识符的函数可用于接收区块链内部和外部消息。5.TON区块链是异步的,开发者需注意处理失败的调用信息。6.注意智能合约中处理反弹信息(bouncedmessage)的代码。如果智能合约发送带有TON资产的反弹信息到其它账户,建议在智能合约中扣除gas费。7.对于外部消息,开发者需要注意重放攻击的风险。可以通过设置计数器或是标识符来避免重放攻击。Beosin安全团队正式推出针对TON智能合约的安全审计服务,旨在提前发现并协助项目方修复项目中的安全风险,保障用户与项目方的资产安全。其主要安全审计项包括:1.重放攻击保护智能合约不遭受外部信息(externalmessages)重放攻击的最简单方法是在智能合约的持久数据中存储一个32位计数器cur-seqno,并在任何入站外部信息(签名部分)中预期一个req-seqno值。只有当签名有效且req-seqno等于c007r-seqno时,外部信息才会被接受。处理成功后,持久数据中的cur-seqno值会增加一个,因此同一外部信息将不会再被接受。如果没有seqno(或其他防止重放攻击的机制),任何人(通常是资金接收方)都可以读取交易数据(例如来自区块链浏览器)并创建另一笔虚假交易并将其重新发送到原始钱包智能合约并强制其执行再次重新发送TON,最终耗尽其所有资金。2.访问控制在合约中应该只有特定的用户拥有对于特定操作的权限。例如操作NFT转账,应该只能由NFT的owner(或被owner授权的账户)进行。合约应该严格检查权限,如果通过,则进行转账操作。如果不通过,交易应该回退。
3.变量覆盖FunC合约中通过set_data函数写入变量,如果变量顺序或者变量名编写错误,很容易意外地写入错误变量并将原来的变量覆盖。4.业务设计部分项目合约在设计上就存在被攻击的风险,需要严格地从攻击者的角度考虑设计上是否存在攻击的可能。5.业务实现一些项目中,设计上并不存在攻击风险,但是在具体实施时,并未按照原有设计或实现方式存在问题,导致了漏洞的产生。6.错误处理由于TON的设计,代码的结束路径需要开发者进行考量。合约可能收到回退消息(bouncedmessages),合约需要对这些消息进行正确的处理。另外,在处理回退消息时还需要考虑gas耗尽的情况,这同样会产生意外的错误。7.校验缺失消息流每个阶段都需要检查,攻击者可以在消息流第一阶段执行的同时启动另一个消息流,导致先前的检查失效。8.消息流错误应该保证消息流符合设计,否则会带来意外的错误和损失。9.数据结构检查FunC里面会有函数进行消息传递和阶段,可能存在问题,(例如:end_parse()函数,检查切片是否为空,否则抛出异常。它可以确保切片具有预期的效果。抛异常的逻辑在代码编写时可能会写的有问题,例如抛异常但是没返回值。其他函数也可能会有一样的问题)。10.序列化消息传递问题可能会有接收或者get函数中序列化消息错误,例如send_raw_message函数。a.函数命名,配置命名,私有变量命名,get函数是否合理返回值,revert判断,0地址检查。b.一些特权风险,func中也会有这样的函数,可以提中心化或者权限过高。FunC中的msg调用和常规不太一样,签名和调用长度是按照位置发送的,可能存在问题。TON生态TON生态中目前拥有551个apps,分布在19个以上的细分领域中。钱包TonSpace是@wallet中的非托管钱包,是Telegram中嵌入式的原生钱包,可用于导入现有的TON区块链钱包或创建新的TON区块链钱包。用户还可以选择使用TG账号和邮箱保存相应的私钥,并进行NFT的查看、发送和交易。TonSpace即将支持更多功能,包括DeFi应用如DEX、质押和借贷协议等,用户能使用TONConnect来访问TON上的第三方dApp。
https://wallet.tg/目前支持平台数量最多的TON区块链钱包为Tonkeeper,支持网页端与移动端,在移动端还可查看用户持有的TON链上的NFT。值得注意的是,TON的钱包为智能合约钱包,除了为实现TON网络的更多分片外,还为钱包提供了实现更多复杂应用的可能。https://tonkeeper.com/DEX目前TON生态上共有6个主要的去中心化交易所,包括MegatonFinance、IONFinance、DeDust、STON.fi、Flex和TegroFinance。这些DEX在用户受众方面都有不同侧重,Ston.fi和DeDust拥有最大的用户群(进行swap的用户),而DeDust和Megaton有更活跃的用户。https://megaton.fi/pool此外,去中心化订单簿模式的交易所StormTrade正在测试中,支持网页端的同时也支持Telegrambot模式,用户在未来可直接使用StormTrade开发的bot进行交互。借贷TON链的第一个借贷项目EvaaProtocol预计在10月10日上线Beta版本。7月19日,EvaaProtocol宣布TONcoin.fund成为其战略投资者,10月2日在Tonstarter平台完成了私募融资13万美元。借贷协议EvaaProtocol的加入将有益于TON生态系统的资产流动性。https://evaa.finance/跨链桥目前TON官方跨链桥支持资产在TON与ETH、与BSC之间的互跨,其它链的官方跨链桥仍在开发中。此外,第三方跨链桥有OrbitBridge,WalletBridge和TontakeBridge。OrbitBridge与MegatonFinance均由韩国公链Klaytn上的DEX平台KlaySwap团队开发,支持11条公链的互跨。WalletBridge与TontakeBridge为Telegrambot形式,但使用人数较少,用户需注意交互风险。数据平台https://beta.redoubt.online/其开发团队Devnull在今年7月Beosin支持的Hack-a-Ton黑客松中获得二等奖,后续将支持更多TON相关的数据分析。TON的现在与未来目前,TON正在大力发展DeFi生态。今年,TON已经举办了两场大型黑客松,主题均与DeFi相关。Beosin作为Hack-a-tonxDWFLabsxAWS的独家安全伙伴为开发者提供workshop指导与每周答疑,解决开发者构建TON生态项目的挑战。Beosin成为TON黑客松合作伙伴此外,TON在各地区大力举办社区聚会与开发者训练营,旨在吸引更多开发者参与TON生态建设。Beosin分别在今年7月和8月在新加坡、巴厘岛作为本地合作伙伴承办了TON线下meetup,并为首尔TactBootCamp的参赛队伍进行了合约开发培训和获奖项目安全审计折扣。Beosin与TON社区合作在第二次黑客松进行的同时,TON在6月6日开启了生态项目流动性激励计划的申请,以支持TON生态的DeFi项目方和吸引更多用户。Unibot、BananaGun等Telegramtradingbot,它们后续支持TON生态代币的交易并非难事。Beosin的EagleEye链上监测平台在未来也计划上线Telegrambot,为广大用户提供快捷的项目信息与数据查询。目前,EagleEye已支持分析链上巨鲸地址,检测合约风险,监控项目社媒平台,为用户提供全面的项目信息。https://eagleeye.space/detail/toncoin综上,随着生态的逐步构建和TON在移动端的优势,TON依然具有非常大的潜力,在未来有很大机会吸引海量的用户参与其生态。