初识 TON:账号、Token、交易与资产安全
引言
TON(The Open Network)作为 Telegram 团队打造的去中心化区块链平台,以其高性能、可扩展性,以及与 Telegram 的深度整合而备受瞩目。然而,TON 的独特架构和非主流的 FunC 智能合约语言,也为用户带来了新的挑战,尤其是在账号管理、Token 交易和资产安全方面。本文将深入探讨 TON 的核心机制,解析其账号、Token、交易的运作方式,并重点关注用户资产安全问题。
账号生成:智能合约的独特地址
与大多数区块链平台不同,TON 账号地址并非直接由公钥生成,而是通过智能合约部署来实现。用户首先使用 Ed25519 算法生成私钥和公钥,但公钥仅作为初始数据的一部分,并不能直接确定账号地址。
1. 账号地址计算过程:
- 用户使用私钥生成公钥。
- 公钥作为初始数据的一部分,与其他参数(如 workchainId)一起,被用于部署一个智能合约。
- 部署后的智能合约地址即为用户的 TON 账号地址。
2. 账号地址形式:
- 原始形式:例如,0:b4c1b2ede12aa76f4a44353944258bcc8f99e9c7c474711a152c78b43218e296
- 用户友好形式:例如,Mainnet: Bounceable: EQC0wbLt4Sqnb0pENTlEJYvMj5npx8R0cRoVLHi0MhjilkPX
3. 钱包合约:
- 每个用户都拥有一个钱包合约,该合约负责管理用户的资产和交易。
- 钱包合约在部署时需要传入初始数据,其中包含用户的公钥,确保每个用户拥有独立的合约地址。
- 用户发起交易时,需要对消息进行签名,并通过钱包合约验证签名,然后由合约调用链上操作。
Jetton Token:双合约架构的代币标准
TON 的代币标准称为 Jetton,由两个合约组成:Jetton-minter 和 Jetton-wallet。
1. Jetton-minter 合约:
- 记录代币总量、管理员、钱包代码等信息。
- 为每个用户部署一个 Jetton-wallet 合约,并记录用户的余额、所有权等信息。
2. Jetton-wallet 合约:
- 用于管理特定 Jetton 代币,与用户的账号钱包合约不同。
-记录用户的余额、所有权、代币 Minter 合约地址、用户钱包代码等信息。
3. 交易流程:
- 用户在链下 APP 签名,并通过调用钱包合约下达操作指令。
- 指令会进一步调用代币钱包进行转账。
- 收到代币后,Bob 的代币钱包会通知 Bob 的钱包合约。
- 剩余 Gas 会返回给响应地址,通常为 Alice 的账号合约。
交易:异步机制与多合约交互
TON 的交易机制具有以下特点:
1. 异步:
- 交易并非立即完成,而是异步执行。
- 交易包括传入消息、合约行动、传出消息等步骤。
2. 多合约交互:
- 一笔 Jetton 代币转账需要调用多个合约,例如钱包合约、代币钱包合约等。
-多合约交互提高了交易效率,但也增加了复杂性。
资产安全:多重防护机制
TON 的安全机制包括:
1. 签名验证:
- 用户发起交易需要对消息进行签名,并由钱包合约验证签名。
- 签名验证确保交易的真实性和合法性。
2. 智能合约安全:
- 钱包合约和代币钱包合约的代码需要经过严格的安全审计。
- 用户应选择信誉良好的钱包和代币合约。
3. 多重签名:
- 用户可以设置多重签名,需要多个私钥共同签署才能进行交易。
- 多重签名可以有效防止单点故障。
4. 备份私钥:
- 用户应妥善备份私钥,并将其保存在安全的地方。
- 丢失私钥会导致无法访问账户和资产。
结论
TON 的账号、Token 和交易机制与传统区块链平台存在显著差异,用户需要深入了解其运作原理,并采取必要的安全措施来保护自己的资产。本文仅对 TON 的核心机制进行了初步介绍,用户还需进一步学习和研究,才能更好地理解和使用 TON。
参考文献
- TON 官方文档:https://docs.ton.org/
- 慢雾安全团队博客:https://www.slowmist.io/
- Tonviewer 浏览器:https://tonviewer.com/
Views: 0