Qitmeer Network 周报(2020/11/2-2020/11/8)

每周一聊

Qitmeer 的 MeerDAG 扩容方案

在 Qitmeer Network 的第一个阶段麦加时期(Mecca Network),正值扩容技术探索的热潮,面对着众多链上链下主流扩容方案,在进行 Qitmeer 公链技术选型的时候,也面临着艰难的抉择。

在扩容技术选型上,业界普遍面临着一个不可能三角的难题, 无法同时达到可扩展性(Scalability)、去中心化(Decentralization)、安全(Security),三者只能得其二。当时的 Qitmeer 团队也同样面临着这样的难题,在研究过众多扩容方案后,最终一种称为 BlockDAG 的技术受到了团队的青睐。

在进行了深入研究和技术整合后,Qitmeer 团队创造出了具有自我特色的 BlockDAG 协议,我们称其为 MeerDAG。MeerDAG 协议 , 在保证安全性、去中心化和公平性的同时 , 极大的提高了 TPS

MeerDAG 是基于 GHOSTDAG 和 SPECTRE 双层共识的 BlockDAG 协议。Qitmeer 公链的核心是价值交换,所以在一层智能合约和交易确认速度的取舍上优先选择对价值交换体验更加重要的确认速度,所以选择SPECTRE作为基础共识协议

SPECTRE是一个支持快速确认的Block DAG协议。SPECTRE不支持交易的全序列,所以无法实现基于状态的智能合约。SPECTRE的共识算法是一个投票算法,一旦发现有冲突交易,则包含冲突交易的区块作为候选人接受所有区块的投票,每个区块一票。SPECTRE的投票有放大效应,比如说区块会跟随其过去集中票数的大多数投票,所以收敛速度很快,一点细微的票数差异就能造成优胜者的巨大优势。SPECTRE只能保证诚实区块的快速确认,对于发布时间接近的两个冲突区块,SPECTRE的确认时间是不确定的,这就是SPECTRE提出的弱活性的概念,即不能保证所有区块都能在某个合理的时间内得到最终确认。

但是SPECTRE基于交易系统的共识协议,在交易系统中,只有作恶者才能制造双花交易,也就是说,双花交易并不会对诚实区块造成太大的影响。此外,制造双花交易对于时间的控制非常苛刻,一般情况下很难造成攻击。所以,SPECTRE认为这个弱活性的问题在实际项目中是可以接受的。

由于 SPECTRE 不支持交易的全序列,在 Qitmeer 中,我们在 SPECTRE 的基础上引入了 GHOSTDAG 协议,确保用户体验的一致性,获得交易线性排序能力,同时解决 SPECTRE 协议的弱活性问题。我们使用的 GHOSTDAG 协议,更准确的来说,是 PHANTOM。

PHANTOM是为了解决SPECTRE协议无法支持交易线性排序的问题而新推出的BlockDAG协议,也是第一个支持交易线性排序的Block DAG协议。PHANTOM/GHOSTDAG的思想是观察在一个特定网络中,如果设定好相应的技术指标,比如说出块率,绝大多数区块传播到全网的时延,以及可承受的风险等级即多大的概率有可能出现异常,比如网络故障造成无法在区块之间形成良好的连通性。这里的连通性是指在正常情况下,区块无法直接通过拓扑排序定序的区块的最大数量。直观上理解,就是某个区块生成时,同时最多有多少个区块也同时被其他矿工挖出。或者简单理解为并发产生的区块数也可以。假设这个数字为k,如果一个DAG的子图满足任意区块的连通性都为k,则该子图为k-cluster。其中DAG中最大的k-cluster称为蓝色集,非蓝色集的区块认为是恶意的,称为红色集。

PHANTOM 和 GHOSTDAG 协议的区别是 PHANTOM 是严格地去找最大的 k-cluster,但是找k-cluster是NP问题(多项式复杂程度的非确定性问题),效率很低。所以有了通过贪婪算法寻找近似最大蓝色集的 GHOSTDAG 算法,由于 PHANTOM 算法不具备工程实现上的可行性,一般我们只关注 GHOSTDAG 算法,没有明确指出的情况下,一般说 PHANTOM 其实指的也是GHOSTDAG。

PHANTOM 除了支持交易线性排序之外,也解决了SPECTRE的弱活性的问题,目前的问题在于PHANTOM的蓝色集比较难以稳定,确认时间会比SPCTRE长很多。

我们引入 PHANTOM 协议便是考虑到在区块的奖励机制上需要用到PHANTOM的线性排序能力,由于区块的奖励对于确认时间要求不高,所以 PHANTOM 相对较低的确认速度并不会造成影响。

根据比特币的白皮书中描述, 比特币的目的是要打造成一个真正的去中心化的支付网络, 并通过算力投票的方式来保证公平。事实上, 比特币运行10年后, 现实的情况已经违背了中本聪的初衷, 60%的算力集中在前五大矿池, 手续费已经高昂到接近1美元每笔, 以至于很多人认为比特币是价值存储网络, 这明显违背了中本聪的初衷。因此, Qitmeer公链需要明确比特币的理想设定是什么, 在此基础上有哪些方案可以最大程度地保证扩容能力, 我们称这样的设定为经典区块链设定.

Qitmeer 的核心定位便是作为价值流通网络,对于已非常成熟、简单且易于维护、已经过十年的安全稳定检验的UTXO模型,更加认可。

MeerDAG 这种融合了 SPECTRE 和 GHOSTDAG 的混合共识方案,便是一个符合经典区块链设定(开放,公平,安全,可扩展性)、并且和经典区块链模型 UTXO 兼容性最强的BlockDAG 扩容方案。经典区块链会把最长链之外的区块全部抛弃,MeerDAG 是一个基于 SPECTRE 协议的合作模型,会保留所有的区块,因此可以达到很高的吞吐量,提供真实交易级的高吞吐量,同时也能提供快速确认的区块链交易服务。其次,BlockDAG 是基于最重链规则,能达到跟比特币相当的50%容错性。再者,BlockDAG 网络是不存在任何特殊节点的, 也不对节点在线与否做要求。在挖矿中,这种协作模型在安全性、开放性、公平性和可扩展性之间实现了经典区块链度量的理想平衡,通过工作量证明机制,可以自由进出网络。

以上文中观点,纯属社区个人观点,如有不当,请指正。

qitmeertalk.org 时刻欢迎您来聊)


Qitmeer Network 周报

新闻动态

  • Qitmeer Medina Network 代币 Pmeer 上线火币矿池。2020年11月12日,Qitmeer Network 协同火币矿池共同举办了以 “火币矿池&Qitmeer” 为主题的线上AMA活动。受此影响,Qitmeer Medina Network 全网日均算力增长了17.2%,峰值算力增长近30%。当前火币矿池总算力约占全网算力的50%。

项目技术进展

底层核心代码更新


Qitmeer Network Development Report

News

  • Qitmeer Medina Network Token Pmeer was listed on Huobi Pool. On November 12, 2020, Qitmeer Network, in collaboration with Huobi Pool, held an online AMA event with the theme “Huobi Pool & Qitmeer”. Affected by this, the average daily hashrate of Qitmeer Medina Network increased by 17.2%, and the peak hashrate increased by nearly 30%. Currently, the total hashrate of the Huobi Pool accounts for about 50% of the total hashrate of the whole network.

Project Development Progress

Core Code Update


Qitmeer Common Links