详述TON的技术特点与智能合约开发范式

随着币安上线TON生态最大的游戏Notcoin,以及其全流通Token经济模型引发的巨量财富效应,TON在短时间内获得了极大的关注。与朋友交流得知,TON的技术门槛较高,且DApp开发范式与主流公链协议有很大差异,因此我花了一些时间深入研究,并分享一些心得。简而言之,TON的核心设计理念是以“自下而上”的方式重构传统区块链协议,以舍弃互操作性为代价,极致追求高并发和高可扩展性。

TON的核心设计思想:高并发与高可扩展性

TON,即The Open Network,是一个去中心化的计算网络,包含一个L1区块链和多个组件。TON最初由Telegram创始人Nikolai Durov及其团队开发,现在由全球独立贡献者的社区支持并维护。2017年,Telegram团队开始为自身探索区块链解决方案,由于没有现有的L1区块链能支持Telegram庞大的用户基础,他们决定设计自己的区块链,称为Telegram Open Network。2018年,Telegram发起了Gram代币(后来改名为Toncoin)的销售。2020年,因监管问题,Telegram团队退出TON项目,一部分开源开发者和Telegram比赛获胜者接手代码库,更名为The Open Network,并继续开发区块链。

作为Telegram的去中心化执行环境,TON需要面对高并发请求与海量数据问题。当前,号称TPS最高的Solana实测最高TPS只有65000,难以支撑百万级TPS需求的Telegram生态。此外,随着Telegram大规模应用,产生的数据量巨大,而区块链作为一个极度冗余的分布式系统,要求每个节点保存完整数据是不现实的。

为了解决这些问题,TON对主流区块链协议做出了两方面优化:

  1. 采用“无限分片范式”(Infinite Sharding Paradigm)设计系统,解决数据冗余问题,承载大数据,缓解性能瓶颈。

  2. 引入基于Actor模型的完全并行执行环境,极大提升网络TPS。

多层链结构

TON中的四层链结构:

  • 账户链(AccountChain):表示与某个账户相关的一系列交易组成的链。通常账户链是一个虚拟概念,不太可能真正独立存在。

  • 分片链(ShardChain):实际的组成单元,是一组账户链的集合。

  • 工作链(WorkChain):有自定义规则的分片链,如基于EVM的工作链。社区成员可以创建自己的工作链,但需要支付高额费用,并获得验证者2/3的票数批准。

  • 主链(MasterChain):负责所有分片链的最终性。一旦分片链区块的哈希值合并到主链区块中,分片链区块及其所有父区块被认为具有最终性。

TON网络特点:

  • 动态分片:自动拆分和合并分片链以适应负载变化,新块快速生成,交易无长时间等待。

  • 高度可扩展:通过无限分片范式,支持几乎无限数量的分片,理论上可达2的60次方个工作链。

  • 自适应性:网络某部分负载增加时,细分更多分片处理;负载减少时,分片合并提高效率。

跨链通信问题与解决方案

TON采用“超立方体路由算法”实现跨链消息通信路由发现,确保消息沿最短路径传输,提高通信效率。同时,TON提出乐观技术方案,用户可提供某个路由路径的有效证明,节点即可直接承认消息的可信性。

TON的地址结构

TON地址由两部分组成:(workchain_id, account_id),其中workchain_id按照超立方体路由算法编码。

共识算法

TON采用BFT+PoS方式,任意staker均有机会参与区块打包,选举治理合约每隔一段时间从所有Stakers中随机选择验证者集群,被选中者通过BFT算法打包出块,错误或作恶会被罚没,反之则获得奖励。

基于Actor模型的智能合约和完全并行执行环境

TON采用自下而上的设计思路,采用Actor模型重构智能合约及其执行方式,实现完全并行执行。主流区块链协议多为单线程串行执行环境,而TON则通过Actor模型,允许智能合约独立执行,不依赖外部数据,并行处理消息。

开发者注意事项:

  1. 智能合约之间的异步调用:TON智能合约无法原子性调用外部合约或访问外部合约数据,任何交互需通过打包新交易异步执行。

  2. 处理跨合约调用错误:TON设置弹回消息,当内部消息触发的执行过程出错时,触发合约可通过弹回函数重置某些状态。

  3. 复杂情况下的交易时序:TON中每个消息有逻辑时间Lamport time,定义处理顺序可能较难。

  4. 智能合约持久化存储:TON智能合约采用Cell为单元的有向无环图作为数据结构,不同深度的数据处理需不同Gas费用,开发者应避免无界数据类型。

  5. 其他特征:智能合约需支付存储租金,天然可升级,所有钱包地址均为智能合约等。

欢迎加入DC社区解锁更多消息:

详述TON的技术特点与智能合约开发范式

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值