编辑: 645135144 2019-07-03

2 TON Blockchain 我们首先介绍 Telegram Open Network(TON)Blockchain,这是项目的核心组 成部分.白皮书打算 自上而下 :首先给出整体项目的描述,然后提供每个组 件的更多细节. 为简单起见,我们在这里谈论 TON Blockchain,尽管原则上该区块链协议的几 个实例可以独立运行. 2.1 TON Blockchain 作为 2-Blochain 的集合及定义 TON Blockchain 实际上是区块链的集合(甚至是 区块链中的区块链 的集合, 或者说是 2D 区块链;

这将在后面的 2.1.17 中阐明),因为没有哪个单链区块 链项目可以实现百万 TPS 交易吞吐量,它们仅能达到每秒数十次的交易速度. 2.1.1 TON 区块链类型列表.包含以下这几类区块链: ? 独特的 master blockchain,或简称主链(masterchain),用来存储协议、基 础参数的设置等基本信息;

还包含验证者和它们的 stake 记录;

用户的资 产;

当前活跃的工作链(workchains)和它们的 分片 (shards),;

及最 重要的是所有工作链(workchains)和分片链(shardchains)里的最近生成 的Hash 值. ? 主要的 work blockchains(最多 2% ),或简称 workchains(工作链),功 能包含价值交换和智能合约.不同的工作链承担不同的角色,意味着不同 格式的帐户地址,不同的交易格式,不同的智能合约虚拟机(VMs),甚 至不同的加密货币结算方式都有不同的工作链来处理.但它们都必须满足 统一的基本交互标准,以使不同工作链之间的交互成为可能且相对简单. 在这方面,TON Blockchain 是异构的(heterogeneous ;

参见 2.8.8),类似 于EOS(参见 2.9.7)和PolkaDot(参见 2.9.8). ? 工作链(workchains)又被细分为最多 2&

'

次方个分片链(shard blockchains;

或简称为 shardchains),分片链继承工作链的生成规则和区 块结构,一个工作链负责一种类型的帐户子集,具体取决于其帐户地址的 第一个字节(一般情况下).换句话说,分片链是在系统中规定的(参见 2.8.12).因为所有这些分片链具有统一的生成规则和区块结构,所以 TON 区块链是同构的(homogeneous;

参见 2.8.8),这也与以太坊之前的 分片 扩容方案类似. ? 上的每个区块(其实主链上也是)不仅仅只是一个区块,它可能是一个小 型区块链.通常情况下,这种 区块的区块链 或者 垂直区块链 都只包 含一个块,然后我们可能会认为这只是 shardchain 的相应块(在这种情况 下也称为 水平区块链 ).但是,如果有必要修复不正确的 shardchain 块,则会将新块提交到 垂直区块链 中,其中包含无效 水平区块链 块 的替换或 不同的块 ,仅包含对这些块的描述需要更改此块的先前版本的 部分内容.这是一种特定于 TON 的机制,用于替换检测到的无效块,而不 会涉及所有分支链的真正分支;

它将在 2.1.17 中更详细地解释.现在,我 们只是说每个 shardchain (和主链)不是传统的区块链,而是链中链或 blockchain 中的 blockchain,或者只是一个 2-blockchain. 2.1.2 无限分片范式(Infinite Sharding Paradigm). 几乎所有的区块链分片提议都是 自上而下 的:首先想象一个单链区块链,然 后讨论如何将其拆分成几个交互的分片链,以提高性能并实现可扩展性. TON 的分片方法是 自下而上 ,解释如下. 想象一下,分片已经发挥到极致,因此每个 shardchain 中只保留一个帐户或智 能合约.然后我们有大量的 account- chains(账户链) ,每个账户链描述一个 账户的状态和状态转换,并相互发送价值信息以传输价值和信息. 当然,有数以亿计的区块链是不切实际的,其中每个区块链通常很少出现更新 (即新区块).为了更有效地实现它们,我们将这些 account- chains(账户 链) 分组为 shardchains ,以便 shardchain 的每个块基本上都是已分配给此分 片的帐户链块的集合.因此, 帐户链 在 shardchains 中仅具有纯粹的虚拟或 逻辑存在. 我们将这种观点称为无限分片范式.它解释了 TON 区块链的许多设计初衷. 2.1.3 消息. 即时超立方体路由(Instant Hypercube Routing).Infinite Sharding Paradigm 将 我们每个帐户(或智能合约)视为自己的 shardchain.那么 A 帐户可能影响 B 帐户状态的唯一方法就是向它发送一条消息(这是所谓的 Actor 模型的特殊实 例,帐户为 Actors ;

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题