最近听说QuarkChain在韩国热度比较高,于是抽了点时间研究了一下。
QuarkChain是一种“sharding-based blockchain”,即基于分片的区块链。它的主要目标是提高区块链的可扩展性(即TPS),同时还要兼顾不可能三角(安全性、去中心化性、可扩展性)。主要竞争对手:
- 以太坊分片:由于历史包袱比较重,实际应用时间不确定
- OmniLeger:安全性有所妥协,如果要达到100000TPS,则只能容忍1%恶意节点
- Zilliqa(ZIL):ZIL是基于“交易分片”,而QuarkChain是基于“状态分片”。这两者的区别在于:交易分片虽然是多个交易在不同分片并行执行,但是每个节点仍需维护所有分片的完整数据。而状态分片则是每个节点只需要维护它所在的分片的数据,不需要关心其他分片。
1.系统架构
系统采用根链(Rootchain) / 分片(Shard)架构,将记账(Leger)和确认(Confirmation)功能分离,分片负责记账,根链负责确认,避免分片出现双花。
2.共识算法
QuarkChain的共识机制叫做"玻色子(Boson)"共识算法,借用了量子物理中的名词:夸克是最基本的物质,而玻色子是一个由夸克组成的基本粒子,用来传递力。
玻色子共识算法主要包含两个部分:
- 每个分片都运行一个叫根链优先(root-chain-first)的共识算法,分片向根链