Qitmeer 技术社区研究员黄金哥11月26日针对社区问题解答记录

1.算力大小与出块速度的逻辑关系

黄金哥:DAG是有并发的,qitmeer的难度调整是根据主链,大家挖的多,侧链块就会多,就出的快。

例如:

29105 2

29125 2

29167 2

29222 3

29247 2

29310 2

29312 2

29412 2

29522 2

29736 2

我随便搜索了一段时间的区块,大家可以去浏览器查,是不是这些区块的父亲有多个,比如29222就有三个。他们的父亲只有一个属于主链,剩下的都是多挖出来的,不影响难度调整,可以理解为社区积极参与,加速挖出了区块。第一列是区块高度,第二列是父亲的数量。

2.按照上面所说,那如果我们算力高的话,我们测试网络结束时间会不会缩短三分之一呢?

黄金哥:理论上当然有可能只有三分之一的时间,甚至更短,但是实际上没这么理想,因为我们的目前出块周期为30秒,区块也比较小,节点也少,所以绝大多数区块是会很快传播到全网,所以会形成接近链式。实际上如果算力不够,还是很接近一条链。多个父块的情况还比较少,现在的账本看上去就像一条链。

3.所谓父亲块这个概念,是不是指的在区块排序上的关系,相对于主链排序的关系。比如现在并发出来了三个块,可能就是在一个30s的跨度里,但是30s结束时主链高度只增加一个,所以在排列上,这三个并发的块都是指向主链高度增加的这个块上,因此他们三就成了父亲,一个块有了三个父亲,我这样的理解是否有偏差?

黄金哥:没太理解你的问题,反正首先父亲中只有一个在主链,当然如果并发特别高,可能所有父亲都不在主链上。然后父亲区块的奖励跟是不是在主链上没关系,挖出来的奖励是一样的。父亲的顺序肯定是优先于儿子的,不管这个父亲在不在主链上。父亲之间,主链父亲肯定优先于其他父亲,其他父亲之间顺序不是太重要。

4.如何才能实现高并发呢?算力高并发就高吗?算力跟难度的关系是怎样的呢

黄金哥:等网络节点多起来吧,大家别着急咯,我只是告诉大家,社区是有主动权的。

大家看我上面发的那个图,总共有五个区块,如果并发比较少,五个区块会形成一条链,那就是是按照原定的时间挖完,但是按照这个图里面的情况就可以在3/5的时间内挖完,只有六成的时间。算力跟难度的关系,也可以看这个图,图里面只有标记为“主”的区块才参与难度调整,“侧”的不参与,所以等于侧的越多,挖的速度就越快。

现在大家能理解了吧?对照看这个图。出块速度的是靠难度来控制的,快了就加大,慢了就降低,所以严格意义要控制出块速度,应该是不管是不是主链区块,都要参与难度调整,现在只有主链参与,速度就是浮动的了。

当然有同学可能会问,连出块速度都交给社区了,会不会失控,甚至有安全性问题。这个大家也可以放心,因为主链是很强势的,所以要出现特别大的并发也比较难而且技术上我们并发有上限的,事实上大家可以看到,测试了一段时间,并发量也不是太多。

安全性的问题就更加不用担心了,qitmeer采用的共识协议就是为并发设计的。对于51%攻击,只能社区多参与进来,这样总算力高了,51就难了。

5.现在我们膨胀率的情况如何?

黄金哥:大概是60M账本。

意味着什么呢?

黄金哥:我估算下哈30000多个区块,每个区块大概是30秒,一天86400秒,所以大概是10.4天算10天, 10天60m, 每天新增6m的区块。一年也才2G,当然这样估算不太准,主要是因为没有交易量,所以区块很小。我现在正在研究这个账本膨胀的问题,现在在研究一个学术项目,还有几天就研究完了,研究完以后就会逐步引入到qitmeer。我相信我会比社区更快。所以社区要挑战黄金哥的正确姿势有,1.疯狂挖,并发量大。2.疯狂交易,区块大,这样黄金哥就没法交差了。(Ps:哈哈哈哈…看到这里作为管理员的我也是笑了,原来程序员也会这么幽默)。

后期黄金哥针对社区的解答,我也会给大家整理发布到论坛哦。大家期待吧。比心~~~

1赞

学习了,,又增加了知识, 谢谢黄金哥

1赞

挑战黄金哥,白金兄弟在哪里