摘要:“中本聪共识”跟“拜占庭容错共识”最大差异是,中本聪共识保证的是“概率安全性”,而不是“拜占庭容错共识”的那种”定域安全性“。这就使得”中本聪共识“的网络可扩展性(注意不是性能可扩展性)远远好于”拜占庭容错共识“网路。中本聪共识可以有无限个节点的扩展性网络,而拜占庭共识网络的节点通常比较有限,在几十个或几百个这个量级,据说谷歌可以达到上千个。

Soteria 主题分享:

Ming Guo | DAG的前世今生 (一)

https://bihu.com/article/1145448479

Ming Guo | DAG的前世今生 (一) Q&A

Q1. dag目的是啥?不能顺藤摸瓜,有尾无头加密备份?

A: 不同类型的DAG目的也不相同,但是共通之处是为了连接到更多的节点,无论这个节点是交易还是区块(钱包或矿工),因为分布式网路的一个最基本特点就是节点需要充分连接才能有助于达成共识。

另外,DAG是“有向无环图”,所以是“有头有尾”的,头就是“创世节点”,尾则是动态变化的。

区块链数据是“不加密”的,除非是匿名区块链;但是里面包含有数字签名的所谓Merkel Tree.

Q2. “中本聪共识”跟“拜占庭容错共识”最大差异是什么?

A: 我觉得“中本聪共识”跟“拜占庭容错共识”最大差异是,中本聪共识保证的是“概率安全性”,而不是“拜占庭容错共识”的那种”定域安全性“。这就使得”中本聪共识“的网络可扩展性(注意不是性能可扩展性)远远好于”拜占庭容错共识“网路。中本聪共识可以有无限个节点的扩展性网络,而拜占庭共识网络的节点通常比较有限,在几十个或几百个这个量级,据说谷歌可以达到上千个。

Q3. DAG 和 主链的主要优势是什么?

A: 如果你问的是Soteria DAG 这种 blockDAG 的话,相比比特币抛弃大部分挖出的区块,只留下最长主链的算法,Soteria DAG 会把所有合法的区块都写进最后的区块链里,这就是我们说的“包容性”,它的好处是,不浪费矿工的工作和能量,长远来看有助于防止算力集中等。

Q4. 普通的blockchain的block也是顺序出呀, Block是算好之后再接上去的吧?

A: 完全正确,正是因为这点,很多侧链的块都不能链接上了,最终是被抛弃了,以保证更重要的安全和顺序。blockDAG就是更多的包容了并发的区块。所以在保证安全的情况下,提高了整体系统性能。

Q5.BlockDAG 还需要POW吗?还是中本聪那套POW?

blockDAG同样需要POW.. 我们会在下面几次的分享中细讲我们的POW.. 和中本聪的不同。

Q6: DAG有哪些潜在需要改进的地方?

A: DAG的不同的宽度(k)和网络速度还有节点处理速度有很大关系,就是同样的算法,比如Phantom or Greedy Phantom,都还有很多可以调整的空间,我们写了很多开发者工具,希望大家共同测试找到一个目前网络和系统环节最合适的方案。

Q7. 如何看待未来PoW、PoS机制下对应的加密经济市场规模占比?

A: 我其实不知道PoW对PoS的比例,我比较相信PoW,因为毕竟那个是现在10年battle tested唯一的成功范例。PoS还需要时间考验。而且Libra出来以后,很多PoS的项目面临更大的挑战了。

Q8. 刘shu: blockdag是怎么防51%攻击,防双花的呢?

A: Ming Guo: blockDAG 是中本聪共识,所以,防51%攻击的思路和比特币网络是一致的,就是需要防止常见的算力攻击的手段,比如selfish mining等;实际上,由于比特币的最长链胜出策略,实际情况是有很多条链在挖,所以胜出的最长链通常不需要51%算力就可以胜出其他的“次长链”,比如37%~40%,那么blockDAG由于容纳了所有的合法“次长链”,所以对抗这种攻击blockDAG比比特币更有效。

Q9. 刘shu: 什么叫合法的次长链?就是出现了分叉的区块也是可以接受的?

A: Ming Guo: 合法的“次长链”就是说大家都在挖自己的“私链”,然后一起公布,那么最长的那个胜出。

刘shu: 那还是没能解决51攻击和双花的问题呀!依旧是最长链。

Ming Guo: 我刚才说的这些都是比特币的算力攻击的情况。

刘shu: 哦哦哦,那blockdag是怎么解决呢?

Ming Guo: blockDAG 随时在给这些“分叉”的区块“称重”,我们叫”染色“,拓扑排序,所以可以很高效地解决这个问题. 我重复强调一下,51%攻击本身不是一个要解决的问题,这就是中本聪共识的安全“阀门”,失守这个阀门,就会失去链的安全性。

刘shu: 同意 51%攻击本身不是bug, 但是会对普通投资者和交易所等带来经济损失。如果再block a里的一笔交易转到M账户,在分叉的block a里同样一笔交易转到N账户,那怎么解决?

Ming Guo: 实际情况是,由于最长链胜出,selfish mining, 很多算力攻击根本不需要51%算力就能成功,这是可以优化的,blockDAG 就是针对这种攻击的一个优化算法结构, 双花问题用排序解决,排在前面的胜出。

刘shu: 分叉的这些区块到底是承认,还是不承认?承认的话怎么记录区块A和区块A’?

Ming Guo这些问题都涉及到算法的细节,下次分享(下周二)我们会更深入的分享Soteria DAG 的算法,这些问题就容易明白了。根据 Soteria DAG 的算法,分叉的区块都承认,所以叫“包容性”出块,我们给所有分叉的区块“染色”,然后排序,染成“蓝色”的是“合法”区块,排在前面,染成“红色”的是“可疑”区块,排在后面,在一定情况下(比如很多代以前的)会被丢弃。

所以来听我们下周二8月13日更深入的 Soteria DAG 技术分享吧!

刘shu: 非常期待。


好了,问答就到这里,Soteria DAG 已经完成测试网,我们的Github链接可以在这里找到:相关链接

Claire: 谢谢主讲嘉宾Mr. Ming Guo 精彩而详细的分享,深入浅出,小白都可以明白!

Ming Guo: @Claire 多谢邀请

(全文完)

1567693707648158.jpg

更新日期:
文章标签: ,,
文章链接: 【Press Release】Ming Guo | DAG的前世今生 (一) Q&A  [复制链接]
站方声明: 比推所有文章都只代表作者观点,不构成投资建议。投资有风险,后果自负。