当前位置:主页 > 列表页 > 正文

PKU BLOCKCHAIN:一文读懂TON技术方案

2023-12-12 21:01 | 出处: 金色精选

作者:北大区块链协会 Kiwi 来源:X,@KiwiCryptoBig

Keytakeaways

TON 拥有以高速应用为核心的技术逻辑:TON 诞生于 telegram,交易基于 message 直接上链,支持点对点;

TON 的动态多分片架构便于应用的 Scalability:TON 通过并行查询提升速度,通过动态分片提升查询准确度,通过 bag of cells 提升拓展性;

TON 未来将继续优化技术框架:通过并行拓展、推出链分片工具、加强节点检查等机制持续推进 TON 的速度和可拓展性优势。

区块链扩容难题

区块链扩容是重要的技术难题,是推动区块链技术发展的关键之一:随着区块链应用的不断增长和用户数量的增加,现有的区块链网络往往面临着吞吐量不足和交易确认时间长的问题。传统的区块链设计限制了其在处理大规模交易和用户需求方面的能力,这导致了网络拥堵、高交易费用和低效率的情况;

区块链扩容的挑战主要源于分布式架构和共识机制:首先区块链的共识机制和分布式性质使得在网络中的每个节点都需要对所有交易进行验证和记录,这导致了网络的吞吐量受限。其次区块链的安全性和去中心化特性要求所有节点都要保持完整的区块链副本,这增加了存储和传输的负担;

为了解决区块链扩容难题,研究者们提出了各种扩容方案:如分片(Sharding)、侧链(Sidechains)、二层方案(Layer 2 solutions)等,这些方案试图通过将网络分割成多个较小的部分、引入独立的区块链或在主链上构建额外的结构来提高网络的吞吐量和性能。然而,这些方案也带来了新的技术挑战和安全性问题,如分片间通信、跨链资产转移和共识机制设计等。

TON 区块链源于 Telegram,初始设立理念就是服务大量用户:Telegram 是全球最受欢迎的社交平台之一,月活用户超过 8 亿,每天软件内传输数百亿条消息。TON 作为 telegram 的 web3 转型,其设计理念从一开始就基于服务数十亿用户而不仅仅只满足于少量用户。

TON 的技术架构

自适应无限分片多链设计

TON 的分片是自下而上的:区块链分片方案普遍采用自上而下的方式,即先建立单一的区块链,然后将其分解为若干交互式的区块链,以提升性能。然而,TON 分片方案采取了一种自下而上的方式:将这些账户链组织成碎片链(Shardchain),使得账户链(Workchain)在分片链中仅存在纯粹的虚拟或逻辑形式。TON 实现了多条链并行处理交易,被称为“blockchain of blockchains”。通过这种方式,可以有效提高系统性能;

TON 的是动态分片架构:分为 masterchain、workchain 和 shardchain。masterchain 负责协调,各个 workchain 和 shardchain 进行实际的交易处理。此外,TON 的分片是动态的,每个账户作为一条 Shardchain,可根据账户间的交互关系自适应组合成更大的 Shardchain 来应对动态扩展的需求。

如果分片已达到极限,那么最后每个分片链会仅保存一个账户或智能合约。这将导致大量描述单一账户状态和状态转换的“账户链(account-chains)”,这些账户链相互进行信息传输,即由 Shardchain 构成 Workchain。

信息传递机制

Message:由于 TON 使用 FunC 的 send_raw_message函数开发语言,因此 TON 各节点传递的称为“message”。在 TON 中的交易由最初触发它的入站消息和一组发送到其他合约的出站消息组成;

Hypercube Routing:立体结构的信息传递机制,能使一个分片链区块中创建的消息迅速传递和处理至目标分片链的下一个区块中。

异步的 message 传递

异步调用有同步问题:在同步区块链中,交易可包含多个智能合约调用。而在异步系统中,用户无法在同一交易中即时获取目标智能合约的响应,因为合约调用可能需要数个块的时间来处理,源块和目的块之间的路由长度将会影响这一进程;

为了实现无限分片,必须确保 message 完全并行化,进而引出逻辑时间:在 TON 中,每笔交易仅在单个智能合约上执行并通过 message 进行智能合约间通信。因此引出在异步链中使用的逻辑时间概念,以实现链间消息同步,即每条消息都有其逻辑时间或 Lamport 时间(以下简称为 lt)。此时间用于追踪事件之间的关系,以及验证器需要首先处理的事件;

message lt 将严格按照先后顺序执行来确保操作逻辑:从一个帐户发送的消息和在一个帐户上发生的交易会被严格排序,产生的事务的 lt 大于消息的 lt,在某个事务中发送的消息的 lt 严格大于引发该消息的事务的 lt。此外,如果存在多条消息,那么将会更早处理 lt 较低的消息。

Message 超立方体路由机制:

TON 采用快路由 慢路由并行运行:

慢路由:更稳定且传统的跨链信息处理方法,信息在源链上被打包到一个区块中,再通过中继器(relayer)从一个分片链传递到另一个分片链,也可使用多个中间分片链进行传输。让所有的分片链构成一个 “hypercube” 图形,消息将沿着这个超立方体的边缘传播,信息经过验证者验证后打包到另一个区块中;

慢速路由优势在于更高的安全性和去中心化程度,因为所有信息需要经过完整的区块确认过程。对于一个规模为 N 的分片链超立方体网络,需要经过的路由条数 hop = log 16(N)。因此,只需要 4 个路由节点,就能支持百万级的分片链。

快路由:慢路由中消息沿着超立方体的边缘传播,为了提速,快路由可以让消息的目的分片链所属的的验证器提前处理这条消息,再提供一个 merkel 证明,并发送回执来销毁掉这条正在传输的消息;

快路由速度更快(节点可找到最优路径),也能防止双重传递,但并不能取代慢速路由,因为验证人不会因为丢失 receipt 受到惩罚,因此有一定安全性风险

分片链的全局状态

“bag of cells” :通过类似 DAG 的形式更新的一组 cells。通过将新状态表示为具有其自身根的另一个 “bag of cells”,然后联立新旧两组 cells,同时删除旧的根;

垂直区块修复:TON 分片链中的每个区块实际不只有一个区块,而是一条链,当需要修复错误分片链的区块时,一个新的区块将会提交到“垂直区块链”并对它进行区块的替换。

共识机制

POS 网络中存在 3 个角色:

所有区块由 100 ~ 1000 个选定的节点创建,节点每月选举一次,并需要在选举时封存质押的 TON Coin。任职期间选定的节点将被划分成多个工作组来创建新区块,每个新区块拿到工作组超过 2/3 的质押节点的签名即算创建成功,若作恶则会 slash 并剥夺资格;

BFT:TON 经过权衡,发现虽然 DPOS 更快,但是它的信任级别和速度都比 BFT 系统慢,因此最终选择 BFT(Byzantine fault tolerance)。

TON 的新框架可以支撑起 TG 的高速信息传递

TON 通过动态多分片架构实现高速交易速度和 finality:TON 可以为每个用户钱包创建一条链,分片的并行计算、支持瞬间跨分片交流和 TVM 支持异步计算构成了其高 TPS 的理论基础;

TON 通过信息传递机制带来更高的可扩展性:在 TON 区块链中,智能合约之间的调用是异步的,而不是原子的。这意味着当一个智能合约调用另一个智能合约时,该调用不会立即执行,而是在交易结束后的某个未来区块上被处理,这种设计允许更高的可扩展性,因为它不需要在一个区块中完成所有的交易处理。

TON 未来将继续优化技术框架...

TON roadmap 技术部分将持续推进 TON 的速度和可拓展性优势

只代表个人意见,不代表任何投资建议。DYOR。

查看更多

您可能感兴趣的文章:

相关文章