XDAG技术详解3-主链

根据定义,主链是链难度最大的的链(chain),所以,如何计算链难度(chain-diff)是关键。

链难度(chaindiff)

在xdag中,chaindiff的直接定义,是把chain上面所有block的diff直接累加起来。但是有特殊场景,当一个chain在一个时间片中经过了多个block,diff累加过程中,只累加当前时间片中diff最大的那个block的diff值。

下面对常见的几种情况举例说明:

  1. 链上每个block都跨越时间片
image-20190930161954283.png

这种是最简单的类型,每个block刚好跨越了时间片,chaindiff等于所有block难度之和。

chaindiff = t01 + t02 + t03 + t04

  1. chain在单个时间片内经过多个block,最终跨越时间片。
image-20190930163728748.png

这种场景,chaindiff在time frame3的时间片中累加的时候,只取这三个中diff最大的一个,其他两个会忽略。

chaindiff = t6 + maxdiff(t5, t4, t3) + t2 + t1

因为单个周期中有大量交易,这个模式实际上是最常见的模式。

在实际构造的过程中,主链上每个时间片中顶部的block会被判定会主块,也就是说,main-chain只包含每个时间片中顶部那个block,尽管也会走过同时间片中其他block,但其他block在定义上不属于main-chain,这个定义也在前一章特别说过了。那么根据定义,t5会被赋予挖矿奖励。

  1. chain在单个时间片内经过多个block,终结于时间片内。
image-20190930165454508.png

这种类型是前面一种类型的特例,计算方法是一样的,只不过这个chain在time frame3中终结了,发生了某种分叉。

chaindiff = t6 + maxdiff(t5, t4, t3)

  1. chain直接跨过某个时间片
image-20190930165817696.png

这种情况是第一种模式的特例,系统允许这种场景存在,比如系统重启过程中。

主链决策

在区块链系统中,主链是动态决策的,主链上的交易是有效交易,非主链上的交易作废或者无效,xdag中也是类似的,只不过xdag扩展了这种定义,不止主链上有效,主链直接和间接关联的图上的block也都算有效,这也是为什么xdag能大幅度的提高tps的原因。

  1. 主链选择
image-20191003210657169.png

假设机器1中的结点图如上所示,t1/t2/t3是最新的三个顶点,从这三个顶点出发向下,分别计算各个路径上block难度之和(注意前面说的计算规则)后,发现从t1开始走蓝色路径的diff和最大,则蓝色路径被选为了主链,被主链直接或间接引用的block都为有效交易(图中绿色block)。

  1. 主链切换
image-20191003211958699.png

随着网络block不断互相同步,在随后的某个时间,假设机器2存储中的结点与机器1略有不同,经过一番计算后,发现从t2开始的这条红色链条上难度和最大,则机器2会判定t2开始的这条红色链才是主链。

在新的主链下,

  1. 黄色为先前无效,新规则下有效block。

  2. 紫色为新老主链交叉部分,继续有效。

  3. 绿色为老主链有效,新主链下无效block,则被判定无效,其中所有交易被回退。

  4. 直接与间接引用

image-20191003205908731.png

假设图中蓝色路径为主链,则有效block为:

  1. 蓝色,主链路径上的block。
  2. 红色,主链路径直接引用的block。
  3. 黄色,主链路径间接引用block。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,699评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,124评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,127评论 0 358
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,342评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,356评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,057评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,654评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,572评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,205评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,343评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,015评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,704评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,196评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,690评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,348评论 2 358

推荐阅读更多精彩内容