初识 TON:账号、Token、交易与资产安全
TON (The Open Network) 是由 Telegram 团队设计和开发的去中心化区块链平台。它的目标是提供一个高性能和可扩展的区块链网络,以支持大规模的去中心化应用 (DApps) 和智能合约。TON 的独特之处在于它与 Telegram 的深度结合,使普通用户也能轻松使用其代币和服务。尽管易用,但 TON 的架构复杂,并采用了非主流的 FunC 智能合约语言。因此,了解 TON 的账号生成、Token 机制、交易特性及其资产安全问题,对于用户来说尤为重要。
账号生成:智能合约地址的独特性
TON 的账号地址生成方式与大多数区块链不同。TON 的账号地址本质上是一个智能合约地址,而非单纯的公钥地址。用户首先通过 Ed25519 算法生成公钥,但这仅是第一步。用户的账号地址是在一个特定的智能合约部署后生成的,合约的部署需要一些初始金额的代币。TON 的地址具有多种形式,例如原始形式和用户友好形式,其中每种形式都包含了公钥和链上分片的信息,这使得用户可以轻松管理和定位他们的智能合约。
钱包合约:用户资产的管理者
在 TON 网络中,用户的钱包并非简单的密钥对管理工具,而是一个智能合约。每个用户的钱包合约在部署时都需要传入包括公钥在内的初始数据,以确保用户对钱包合约的所有权。用户通过钱包合约发起交易,合约会验证用户的签名并执行链上的各种操作。值得注意的是,用户的公钥可以对应多个钱包地址,用户可以通过不同的源代码或初始化数据部署多个钱包合约,管理不同的资产。
Jetton Token:TON 生态中的代币标准
Jetton 是 TON 网络中的代币标准,类似于以太坊的 ERC-20。Jetton 由两个智能合约组成:Jetton-minter 和 Jetton-wallet。当代币被发行时,Jetton-minter 合约会记录代币的总量、管理员和钱包代码等信息。用户收到代币时,系统会为其创建一个 Jetton-wallet 合约,管理用户的代币余额和所有权。与用户的账号钱包合约不同,Jetton-wallet 是专门用于管理特定 Jetton 代币的。
在 Jetton 代币的转账过程中,至少需要调用四个智能合约,这使得转账可以在链上并发进行,从而提高交易效率。这一设计虽然复杂,但在链上保证了高度的灵活性和扩展性。
交易特性:异步与反弹机制
在 TON 中,交易是由某个账户的事件触发的,这些事件通常是接收到某条消息。交易的异步特性意味着交易可能涉及多个智能合约之间的消息传递,并且这些消息的传递顺序并不保证一致。此外,由于异步特性,交易的手续费难以预估。为了避免交易失败,用户通常会支付多余的手续费,未消耗的部分会在交易完成后返还。
另一个重要特性是反弹机制。当调用的合约不存在或出现错误时,若交易设置为可反弹,那么合约将会返回一个 bounced 消息给发起调用的合约,这一机制在错误处理和交易恢复中起到了关键作用。
资产安全:常见的风险与防范措施
TON 的独特架构和智能合约机制带来了一些特定的安全问题。用户在使用 TON 网络时需要了解这些潜在的陷阱。
手续费截留攻击:在一些情况下,用户的钱包会收到大量看似有价值的 NFT 或代币,但当用户试图转账时,会发现手续费超高。这可能是攻击者利用代币合约构造的诈骗手段,其目的是截留用户支付的高额手续费。
首尾号钓鱼:攻击者会生成与用户地址首尾相同的高仿账号,通过小额转账进入用户的收款记录,从而在用户未来的转账中诱导错误复制地址,导致资产转移至攻击者的地址。
comment 钓鱼:在转账时,攻击者可能在备注中写入欺诈信息,诱骗用户转移资产。这种手段在需要备注交易信息的场景中尤为常见。
智能合约漏洞:TON 的智能合约主要使用 FunC 语言编写,新的编程语言往往伴随着新的安全风险。用户应选择经过审计的项目,并确保智能合约的安全性。
假充值攻击:攻击者可能发行伪造代币,或利用反弹机制进行假充值攻击,用户在处理充值或代币转账时需特别小心,确保代币和合约的真实性。
总结
TON 作为一个去中心化区块链平台,凭借其与 Telegram 的深度整合和独特的架构,提供了强大的功能和灵活性。然而,这些特性也带来了相应的复杂性和安全挑战。用户在使用 TON 时,需深入了解其账号生成、钱包合约、Token 机制以及交易的特性,同时防范各种可能的安全风险。通过了解这些基础技术原理和潜在的安全问题,用户可以更好地保护自己的资产,并安全地参与 TON 生态。
版权声明: 本文为 InfoQ 作者【区块链软件开发推广运营】的原创文章。
原文链接:【http://xie.infoq.cn/article/03273928989b65a507d491fca】。文章转载请联系作者。
评论