AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

第三代区块链操作系统 TON 的技术解读

  • 2020-02-24
  • 本文字数:4545 字

    阅读完需:约 15 分钟

第三代区块链操作系统TON的技术解读

被称为“俄罗斯的微信”Telegram,其公司募集 8.5 亿美元资金,用于开发 TON 开源网络,其中的技术特点你知道多少呢?

背景介绍

Telegram 是一款开源且跨平台的 IM 工具(类似 Whatsapp、Messenger、微信),由“俄罗斯的扎克伯格”Pavel Durov 创建。Pavel Durov 同时也是俄语圈最大社交网络 VK 的创立者。Telegram 于 2013 年推出,目前拥有 1.8 亿用户,每天发送 700 亿信息,被称为“俄罗斯版微信”。TON 是 Telegram open network 简称。该公司已经通过 ICO 筹集到 8.5 亿美元资金,用于开发 TON 开源网络。

技术特点

TON 提出了一个可伸缩的异构紧耦合多链架构,不同的链之间的规则、协议和虚拟机(TON VM)等完全可以自定义。多链架构采用自底向上的分片方法设计的无限分片机制来达到潜在的性能扩展,同时提出了二维区块链设计机制,可以在不分叉条件下完成错误区块修复。为了提高多链架构的链间通信效率,设计了超立方体即时路由机制,加速异步通信。


下面将从自适应无限分片多链设计、分片链之间的消息路由机制、共识算法、新区块的创建、二维分布式账本几个方面为大家展开介绍 TON 的技术特点。


自适应无限分片多链设计


TON 区块链可以自动拆分和合并分片链以适应负载的变化。这意味着新块总是快速生成,而交易不会产生很长的等待。这样即使当有火爆的应用在平台上运行时,也可以保证交易正常快速进行。


几乎所有的区块链分片设计都是自顶而下的:首先设计一个单一的区块链,然后提出一些方法切分成很多个相互交互的的分片链,从而提高扩展性。


TON 分片的方法是自底向上,解释如下:


想象一下,分片已经达到了极限,所以在每个分片链中,每一个分片链只剩一个帐户或一份智能合约。于是我们有大量的“帐户链”,每一个分片链都描述了一个帐户的状态和状态的转换,分片链之间通过异步消息传递价值和消息。


当然,拥有数以亿计的区块链是不切实际的,通常这些区块链中有大量的链是极少进行更新操作的。为了更有效地实现它们,我们将这些“帐户链”聚合到“分片链”中,这样,分片链的每个块本质上就是被分配给这个分片的某个帐户链的集合。因此,“帐户链”在“分片链”中只有一个纯粹的虚拟或逻辑存在。


我们称之为无限分片范式。它解释了 TON 区块链的许多设计决策。


TON 有唯一的一个主链,然后有多个工作链,主链是默认激活的,每个工作链是 DAPP 去激活一条链。主链除了保存主链的区块交易,同时记录了每个工作分片链的最新区块哈希值,如下图。每个工作链可以动态拆分成分片链,每个分片链是各种账户链的集合。比如 TON 上跑了十个应用,每个应用就是一个工作链,每个工作链又包含很多分片链,每个分片链实际是很多账户链的集合。比如 A 应用包含了账户 1,账户 2…账户 n 的集合。每一个链的标识是(w,s),w 代表工作链编号,s 代表分片链编号。这个地址标识符会用于链间通信路由。



分片链之间的消息路由机制


分片链之间的消息路由机制:超立方体路由机制, TON 的消息路由机制确保任何两个区块链的交易能迅速处理



TON 设计的是多链紧耦合系统,链之间的消息包括:


1.同一个工作链的分片链之间,不同工作链之间的分片链,主链和其它工作链之间,外部输入消息(比如比特币、以太坊主链来的消息)等;


2.主链可以直接发送任何消息到其它工作链的分片链,但是花费代价大;


3.所有分片链组成一个超立方体的网络(四维),通过消息的目的账户地址寻址,沿着超立方体网络,路由信息到目的账户所在的分片链中。


为提高性能和可扩展性,系统负载足够大时可能会出现大量(上亿)的分片链,那么消息通信会成指数级增加。为了减少消息的不可控,TON 提出了共享链和全局链的思路:全局链可以直接发送任何消息到某个账户,主链是默认的全局;其它链发送的消息只能按照路由通过共享链来中转消息,根据系统的分片链的网络情况分配合适的共享链用于中转消息。


TON 提供了两种消息路由方式:慢路由和快路由。


慢超立方体路由:实现分片链之间的可靠消息传递。


消息的发送和路由类似传统 TCP/IP 网络,通过目的 IP 地址寻址发送到目的地,能够保证消息按顺序可靠传播到目的链。整个分片链网络组成一个超立方体网络,对于一个规模为 N 的分片链超立方体网络,需要经过的路由条数 hop = log16(N)。因此,只需要 4 个路由节点,就能支持百万级的分片链(对于更大规模,可以使用 5 维 6 维立方减少路由节点)。


这个超立方路由网络能保证消息的顺序和可靠传递,但是会引入一定的延时。因此提供另外一个快速路径,即时超立方体路由。


即时超立方体路由:用于降低分片链间消息路由的延时。


TON 提出的提高消息路由速度的思路,也就是说在传统慢立方体路由过程中,一条消息是由一个分片链沿着超立方体网络路由到目的分片链。但是在消息路由过程中,这个消息的目的分片链所属的的验证器(validator or )可以选择提前处理这条消息加入区块,然后提供一个 merkel 证明(收据),发送回执来销毁掉这条正在传输的消息。对比 ethereum 提出的分片实现思路,也是通过在分片(shard)之间传输收据(receipt)来实现分片间的异步通信。


EOS 区块链提出的多链架构,也是通过提供 merkel 证明来实现链间通信。但是如果链间通信的消息量爆炸增长时,会严重影响区块链的性能。这些区块链并没有提出一个合适的消息路由机制。TON 提出的这种机制号称能实现非常高效的异步通信,同时保证数据的一致性。



共识机制


TON 共识选用了 POS 和 BFT 结合。除了验证器(也就是矿工),TON 同时提出了几个新的名词:提名者,渔民。提名者可以通过提名推荐某个节点成为验证器,如果成功当选则会获得奖励;渔民可以通过获取一些区块做验证,如果发现验证器提出了无效的块等恶意行为,可以提出举报。如果举报成功,也能获得奖励。


新区块的创建


整个 TON 网络的所有区块,由 100 ~ 1000 个选定的节点创建。这些节点每个月选举一次,选举时封存提交的股份(股份用 TON Coin 表示)。在这一个月期间,选定的节点被划分成多个工作组,创建指定区块链上的新区块。每个新区块拿到工作组超过 2/3 的股份的节点的签名即算创建成功。如果节点在工作期间和工作结束后的一个月内未被发现弄虚作假的行为,其股份和收益(包括创建新区块的奖励和交易费用)会被一并退还。否则,节点会损失股份并被剥夺区块创建资格。


主链与所有分片链生成一个新区块的时间间隔都是 5 秒钟。分片链上的每一个新区块都会包含该链前一个区块的哈希值,以及需要加入区块的交易信息。主链上的新区块,除了包含主链前一个区块的哈希值外,还包含了每条分片链最后一个区块的哈希值。这样,当新区块加入主链时,相当于为整个 TON 网络的状态建立快照,这一快照将整个网络状态的合法性写入主链中。如果一条分片链的哈希值得到了主链的确认,那么该链直至那一刻的交易历史也就得到了确认。


二维分布式账本


TON 区块链本质是一个 2 维区块链集合,主链中的分片链中的每个区块实际上不只是一个区块,而是一个小区块链。这个“区块链”或者叫“垂直区块链”只包含一个区块,我们可能会认为这只是分片的相应块(在这种情况下也称为“水平区块链”)。然而,如果有必要修复错误分片链的区块,一个新的区块将会提交到“垂直区块链”,包含的内容有两种类型,一种是对无效的“水平区块链”的区块的替换,另一种是区块的差异,只包含需要更改的这个区块之前的版本里对于差异的那部分的描述。TON 就是用这种特定的机制,用于替换检测到的无效块,而不需要给所有涉及的分片链做一个真正的分叉。


传统的区块修复需要暂停服务回滚回溯到那个无效区块,垂直区块修复的方式可以不影响原有交易正常运行情况,同步进行修复,等到垂直区块增长速度超过原有区块链,就可以替换成新的版本。如图水平区块 block1—>block2–>block3,当区块里面由于出现 bug 或者遭受攻击等导致异常,可以在垂直区块上生成修复版本 block1.1。


TON 服务

TON 除了提供区块链功能外,还提供一套完整的 DAPP 和去中心化 web 开发服务,主要包括下面的一些服务。


  1. TON DNS 服务

  2. TON DNS 给区块链的账户,智能合约,服务,网络节点提供名字映射服务。这样用户使用 DAPP 或者去中心化网站,就和传统的互联网使用域名上网一样方便。TON 通过在区块链内置一个名字映射服务的智能合约来实现这个 DNS 服务功能。

  3. TON proxy

  4. TON proxy 是一个网络代理匿名服务,用来隐藏 TON 节点的 IP 地址。类似于 I2P(Invisible Internet Project),用来构建去中心化的 VPN 服务。结合 TON DNS 和 TON p2p 网络可以构建高效的社区服务,同时可以很好的保护隐私问题。

  5. TON storage

  6. TON storage 是一套类似 IPFS 的分布式存储,通过 p2p 网络来存储任意文件。使用类似 torrent 种子技术和智能合约的方式来加强存储系统的可用性。类似于分布式 dropbox 存储,除此外还可以支持更复杂的 DAPP 存储需求,比如 youtube 这种流媒体存储需求。

  7. TON pay

  8. TON 内置了微支付通道,可以实现即时链下交易。所有在运行在 TON 的 DAPP 都可以方便的使用 TON 系统自带的微支付服务。安全和效率均有保证。

生态经济

Token 分配


在区块链开发平台上,DAPP 的经济系统由其背后的代币支撑,开发者通过代币实现收益。例如,以太坊是目前最流行的区块链开发平台,2017 年有许多区块链 ICO 项目基于以太坊开发,这也推动了以太币价格的一路走高,但 Telegram 团队认为,代币价格的大幅波动并不利于 DAPP 生态系统的建设,因此 TON 也设置了一套特别的代币(TON Coin,Gram)价格机制来防止价格的大涨大跌:


  • 总共发行 5x10^9 个 Gram 的代币,其中部分(约 20%)通过挖矿挖出,4%用于奖励在 TON 区块链上的 DAPP 开发者,打造生态系统;

  • 基金会储备池定价发行与市场定价结合保证价格平稳。第一个 Gram 的发行价格为 0.1 美元,之后每售出的每一个 Gram 都比前一个 Gram 价格略微提高(是前一个 Gram 价格的 1+10^(-9)倍)。照此计算,第 5x10^9 个 Gram 的价格约为第一个 Gram 价格的 149 倍,而这也成为了 Gram 公开发售价格的理论上限;

  • Gram 价格平稳定价的机制为:当市场上有 n 个 Gram 在流通时如果 Gram 的市场价格高于根据公司计算的理论价格即 p(n)=0.1*(1+10^(-9))n 时,市场将从基金会购买 Gram,达到价格的均衡;* * 当 Gram 价格低于理论价格 p(n)时,所有代币的需求将通过公开市场交易来完成;而当市场价格低于 0.5*p(n)时,基金会将会回购部分 Gram,减少市面上流通的 Gram 的 n 值,使得市场价格与通过 n 计算的理论值相符。


生态


鉴于 TON 是一个异构多链架构,扩展性非常好。那么以 TON 的性能,在 TON 上可以轻松实现区中心化的社交类应用(facebook wechat 等)。TON 还提供了强大的存储服务,视频应用比如(yutube)也可以支撑。系统还内置了微支付,所以基于 TON 做金融类交易和衍生品应用也非常方便。而且 TON 还提供了 DNS 名字服务和网络代理,基于 TON 可以实现完全去中心化的 websit,去中心匿名组织,匿名聊天(Telegram)等。

结语

TON 提出了一个全功能的区块链操作系统生态,从白皮书的愿景可以看出,TON 的目标是做一个大一统的区块链平台,兼容所有区块链和应用,从而实现在功能上超越以太坊和 EOS。接下来,公链系统可能会是区块链的主战场,我们也对 TON 的实现拭目以待。


本文转载自美图技术公众号。


原文链接:https://mp.weixin.qq.com/s/1-HWFRWnKrwAJcvqJn3I3g


2020-02-24 19:163456

评论

发布
暂无评论
发现更多内容

使用无代码构建客户门户

间隔

软件测试面试真题 | 什么是 Redis ? Redis缓存应用场景有哪些?

测试人

redis 软件测试 自动化测试 测试开发

当云原生网关遇上图数据库,NebulaGraph 的 APISIX 最佳实践

NebulaGraph

图数据库 API网关

Docker daemon configuration overview(Docker 守护进程配置概览)

独钓寒江

语音生成领域模型又填一名猛将

felix

深度学习 语音合成 TTS

ins快拍下载保存到手机相册最新图文教学!

frank

ins图片下载 ins

案例丨多元业态管理服务厂商如何走通数字化转型之路

优秀

数字化转型 数字化管理

基于Seata探寻分布式事务的实现方案

京东科技开发者

大数据 分布式事务 微服务架构 关系型数据库 seata

内网穿透你真的了解吗?

C++后台开发

网络安全 NAT Linux服务器开发 内网 网络穿透

还原火山引擎A/B测试产品——DataTester 私有化部署实践经验

字节跳动数据平台

大数据 AB testing实战 12 月 PK 榜

多年缓慢成长,近3年野蛮狂飙,谁是这个赛道的王者?

ToB行业头条

管理有方!华为云数据库为医药行业管理加速

华为云开发者联盟

数据库 后端 华为云 12 月 PK 榜 医药

研讨会回顾 | 自动化测试“领导者”SmartBear解析软件质量与测试现状调研

龙智—DevSecOps解决方案

软件测试 自动化测试 测试自动化

华为云桌面解决方案,打造安全高效办公新体验

科技怪授

云桌面

小程序游戏的3大分发平台

FinFish

小程序 小游戏 小游戏运营

代码质量与安全 | 如何将清洁代码标准扩展到整个企业,促进业务上的成功?

龙智—DevSecOps解决方案

代码质量 代码安全

版本控制 | SVN,Git与Helix Core,谁的数据管理基础设施更安全?

龙智—DevSecOps解决方案

git svn 版本控制 版本控制系统

AI 训练加速原理解析与工程实践分享

百度Geek说

人工智能 机器学习 12 月 PK 榜

【观察】融云百幄:为政企数智办公按下“快进键”

融云 RongCloud

融云 数智化 政企 百幄

有序存储对于高性能的意义

华为云开发者联盟

后端 开发 华为云 12 月 PK 榜

模块四课后作业 - 设计千万级学生管理系统的考试试卷存储方案

闲人Eric

架构实战营

【经验】硬件工程师与PCB槽孔斗智斗勇的故事

华秋PCB

工具 PCB PCB设计 槽孔

PHP转Go之后,我又开始研究机器学习和自动驾驶了。

王中阳Go

自动驾驶 Apollo

高性能网关基石——OpenResty

ooooooh灰灰

lua nginx openresty

启科量子或将开源环境部署工具Runtime

启科量子开发者官方号

#开源 #量子计算

融云任杰:激活组织生命力 让听见炮火的人做决策 | TGO专访

融云 RongCloud

专访 程序员‘

华为云桌面,让企业随时随地开启云上办公

爱尚科技

安装 Azure CL 并生成 service principal 文件

HummerCloud

云计算 azure

持续发力折叠屏生态,OPPO 携手开发者探索大屏应用新体验

科技热闻

小游戏开发投放平台及分成政策盘点

Onegun

小游戏 小游戏开发

华为云桌面,助力企业数字化转型

爱尚科技

第三代区块链操作系统TON的技术解读_区块链_猫本聪_InfoQ精选文章