实验室区块链论文被顶刊 IEEE/ACM ToN 接收

Huawei Huang, May 11, 2023

研究组近三年专注于区块链底层关键技术的研究,旨在提升区块链系统的运行性能。经过三年多的摸索,我们的技术路线逐渐发展为:以分片机制为特色,通过设计新型区块链底层协议与机制,让区块链系统运行得更高效、更健壮、更安全。

研究组一篇区块链分片机制的论文今日被IEEE/ACM Transactions on Networking (ToN/TNet) 接收为长文。IEEE/ACM ToN/TNet 是 CCF-A 类推荐期刊,是计算机网络方向三大顶刊(ToN, JSAC, TMC)之一,它要求每一篇能被接收的论文必须具备以下几个条件:足够新颖的研究选题,严谨的问题描述,有性能边界保证的算法设计,对提出的机制有充足的理论分析,以及无可挑剔的实验结果。 

接下来介绍一下这篇论文。

Huawei Huang, Xiaowen Peng, Yue Lin, Miaoyong Xu, Guang Ye, Zibin Zheng, Song Guo, “Scheduling Most Valuable Committees for the Sharded Blockchain,” IEEE/ACM Transactions on Networking (ToN/TNet), 2023, pp. 1-15. To appear. [PDF]

论文简介

近年来,源自传统数据库领域的分片技术被应对到区块链,试图解决区块链系统的扩容问题 [1]。在分片区块链中,交易池中的交易可以由多个并行委员会并行处理。以这种并发的模式,分片区块链的交易吞吐量理论上可以被较大程度地提高。但是,分片区块链仍然面临一些技术挑战。其中,有个明显的系统层面的技术问题简述如下。例如图1所示的Elastico [2]方案中,当区块链节点组成若干委员会之后,在各个委员会的共识阶段,天然地存在不同的委员会对交易达成共识的速度不一致的问题。这个问题就是分布式并行计算系统中经典的 straggler “拖后腿”问题。这是因为不同的区块链分片委员会的异构处理能力导致了不均衡的共识延迟。这种不平衡的延迟给分片区块链系统的“最终委员会”带来了很大的累积等待时延。因此,区块链交易的确认时延会被大大增加,区块链系统的吞吐量会被显著降低。

图1  Elastico协议 [2] 中每轮共识的主要流程,其中 C1-C4为并行工作的分片委员会,C5为“最终委员会”,只有最终委员会产生的区块才会上链存储。

本文认为一个好的委员会调度策略可以减少在“最终委员会”造成的累积等待时延,从而有利于区块链的系统吞吐量。但我们经过调研发现,目前相关文献尚未提出一个针对这个问题的委员会调度方案。本文首先定义分片区块链中交易吞吐量与累积时延之间的动态权衡问题,然后将这个权衡问题表述为一个效用最大化问题。为了解决这一问题,我们提出了一种在线分布式随机探索算法,英文叫做 online distributed Stochastic Exploration (SE) algorithm。该算法可以为分片区块链在每一轮共识挑选出最有价值的分片委员会优先参与最终委员会的共识,旨在让每一轮共识尽量多地打包交易、并且尽量地缩短交易在并行工作分片内的等待时延。该算法还可以处理分片委员会的动态加入和失效事件。本文还对提出的算法的收敛时间和委员会失效带来的性能扰动进行了严格的理论分析。实验环节,本文使用了真实区块链历史交易数据集进行模拟仿真。结果表明,提出的算法可以选择最有价值的部分分片委员会参与最终共识,加速区块的上链。

实验平台

本文的实验工具是实验室自行开发的区块链底层协议验证平台,名为 BlockEmulator。除了本文之外,该实验平台还被其他几篇论文所采用,例如 BrokerChain [3], tMPT [4], MVCom [5], 以及分片账户图划分算法 [6]。

我们即将把 BlockEmulator 开源给外界使用,敬请关注!

参考文献

[1] Zibin Zheng, Wuhui Chen, Huawei Huang [Book] “Blockchain Scalability,” Springer, 1st edition, 2023.

[2] L. Luu, V. Narayanan, C. Zheng, K. Baweja, S. Gilbert, and P. Saxena, “A secure sharding protocol for open blockchains,” in Proc. of ACM CCS, 2016, pp. 17–30.

[3] Huawei Huang, X. Peng, J. Zhan, S. Zhang, Y. Lin, Z. Zheng, S. Guo, “BrokerChain: A Cross-Shard Blockchain Protocol for Account/Balance-based State Sharding,” in Proc. of INFOCOM, May 2022. 

[4] Huawei Huang, Yetong Zhao, Zibin Zheng, “tMPT: Reconfiguration across Blockchain Shards via Trimmed Merkle Patricia Trie,” IEEE/ACM International Symposium on Quality of Service (IWQoS), 2023.

[5] Huawei Huang, Zhenyi Huang, Xiaowen Peng, Zibin Zheng, Song Guo, “MVCom: Scheduling Most Valuable Committees for the Large-Scale Sharded Blockchain”, ICDCS, July 2021.

[6] C. Li, Huawei Huang, Y. Zhao, X. Peng, R. Yang, Z. Zheng, and S. Guo, “Achieving scalability and load balance across blockchain shards for state sharding,” in Proc. of 2022 41st International Symposium on Reliable Distributed Systems (SRDS’22), 2022, pp. 284–294.

针对 PoW 区块链的自适应双花攻击 (TDSC’23)

Jian Zheng, Huawei Huang*, Zibin Zheng, Song Guo, “Adaptive Double-Spending Attacks on PoW-based Blockchains”, IEEE Transactions on Dependable and Secure Computing (TDSC), 2023.

近日,HuangLab 一篇区块链新型“双花攻击”的论文被期刊 IEEE Transactions on Dependable and Secure Computing (TDSC) 接收,该期刊是网络与信息安全领域 CCF-A 类期刊。

论文下载地址:https://www.researchgate.net/publication/369982091_Adaptive_Double-Spending_Attacks_on_PoW-based_Blockchains

本论文简介如下。

一、研究背景与动机

工作量证明(Proof-of-Work,PoW)是当前应用最为广泛的区块链公链共识,双花攻击则是PoW区块链面临的经典安全性挑战 [1]。以比特币为代表的PoW 区块链使用最长链原则判断主链。交易方通过交易上链后等待主链继续生成数个区块,以保证交易的安全性,因为在PoW区块链中以小于50%的算力持续生成一条比主链更长的分叉是非常困难的。而双花攻击的基础步骤是:攻击者首先向受害者发起一笔交易,然后生成并隐藏一条比主链更长的分支;当受害者认为交易已经在主链上完成时,攻击者释放隐藏的分支替代当前主链,实现对受害者交易的回滚,达成一笔交易的“双花”。

尽管已经有很多研究讨论了双花攻击及其它各种分叉攻击变种的威胁和防御手段 [2-4],我们发现在特定条件下攻击者仍然可以利用双花攻击对 PoW 区块链的安全性产生威胁。

本文展示了我们提出的两种双花攻击的变种——自适应双花攻击(Adaptive DSA)和强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA),旨在帮助 PoW 区块链社区对双花攻击威胁进行更好的分析与防范。

图1. 双花攻击.

二、本文贡献

  • 本文提出了自适应双花攻击(Adaptive DSA),通过随机动态变化(Stochastic Dynamic Programming)的办法,分析了攻击者对不同目标价值的交易可能采取的收益最大化策略。
  • 本文提出了强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA),考虑了攻击者利用区块链网络特征迷惑误导诚实矿工时,可能采取的收益最大化策略。
  • 本文通过代码模拟上述两种双花攻击,分析攻击者可能采取的攻击策略。实验表明,攻击者在使用本文提出的双花攻击方法可以将发动双花攻击的算力降低到远小于50%,在攻击者最理想的情况下仅需要全网5%的算力就可以保证期望收益为正。

三、提出的新型双花攻击的简介   

1. 核心思想

虽然攻击者在算力少于50%时,难以持续生成比主链更长的支链,但受害者往往只会等待数个区块,也就是说攻击者在短时间内生成一条比主链更长的分支即可实现双花攻击。攻击者的收益包括生成受害者交易的金额和区块的出块奖励,那么攻击者可以根据受害者交易金额和当前隐藏分支出块情况进行动态决策,即自适应双花攻击(Adaptive DSA)。攻击者还可以更进一步,通过人为提前释放部分隐藏分支来分散诚实节点算力,即强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA)

2. 攻击流程

2.1. 自适应双花攻击(Adaptive DSA)

在自适应双花攻击中,攻击者根据目标交易金额b、隐藏分支当前区块数量i、主链当前区块数量j进行动态决策:继续攻击or放弃攻击。

图2. 隐藏分支当前区块数量 i 为1,主链当前区块数量 j 为5的情况.

2.2. 强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA)

强化自适应双花攻击是在自适应双花攻击的基础上,进一步考虑攻击者可以利用网络特征分散诚实矿工的算力。如图3所示,当攻击者占据全网算力比例为p,诚实矿工占据全网算力比例为q时,攻击者释放与主链等长分支,将会有部分诚实矿工被误导,选择跟随在攻击者的分支上继续进行挖矿,从而间接地加强了攻击者的算力,使双花攻击的算力比例阈值进一步降低。

图3. 占据全网算力比例为 p 的攻击者释放与主链等长的分支时可能发生的诚实矿工算力转移.

四、实验结果

实验设置:本文使用 C++ 语言进行了文中两种双花攻击——自适应双花攻击(Adaptive DSA)强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA)的simulation实验。我们使用了经典PoW区块链Bitcoin作为实验环境的相关参数设定参照。

主要实验结果:我们首先测试了确认区块数量与攻击者收益的关系。如图4所示,对一笔价值200btc的交易,常规的6个确认区块只能对抗通常的双花攻击,并不能有效防御本文提出的两种双花攻击。图5展示了对于不同交易金额,抵御本文攻击所需要的最小确认区块数量。

如图6所示,随着攻击者算力比例的增加,攻击者可以选择的交易逐渐增多。当攻击者算力比例超过30%时,选择对任意交易发动攻击都可以保证期望收益为正。

图7展示了对于同样的交易金额,攻击者收益随出块奖励的减少而增加。结果表明,除了随着比特币等PoW区块链逐渐降低出块奖励,采用本文攻击方法的攻击者的收益将逐渐提高,这意味着本文提出的自适应双花攻击(Adaptive DSA)强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA)将会对PoW区块链产生越来越大的威胁。

图4. 对一笔价值 200 BTC 的交易,验证区块的数量与攻击者收益的关系.

图5. 交易金额与保证安全的最小确认区块数量的关系.

图6. 最小可攻击交易的金额和攻击者算力比例的关系.

图7. 攻击者收益随出块奖励的变化.

五、本文总结

本文提出了两种针对PoW区块链的双花攻击——自适应双花攻击(Adaptive DSA)和强化自适应双花攻击(Reinforcement Adaptive DSA,RA-DSA),旨在帮助 PoW 区块链社区对双花攻击威胁进行更好的分析与防范。攻击者在使用本文提出的双花攻击时,会对PoW 区块链的安全性造成严重威胁。实验表明,攻击者在使用本文提出的新型双花攻击的方法可以将发动双花攻击的算力降低到远小于50%。

参考文献

[1] Nakamoto S, Bitcoin A. A peer-to-peer electronic cash system[J]. Bitcoin.–URL: https://bitcoin. org/bitcoin. pdf, 2008, 4(2).

[2] Garay J, Kiayias A, Leonardos N. The bitcoin backbone protocol: Analysis and applications[C]//Advances in Cryptology-EUROCRYPT 2015: 34th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Sofia, Bulgaria, April 26-30, 2015, Proceedings, Part II. Berlin, Heidelberg: Springer Berlin Heidelberg, 2015: 281-310.

[3] Eyal I, Sirer E G. Majority is not enough: Bitcoin mining is vulnerable[J]. Communications of the ACM, 2018, 61(7): 95-102.

[4] Nayak K, Kumar S, Miller A, et al. Stubborn mining: Generalizing selfish mining and combining with an eclipse attack[C]//2016 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2016: 305-320.

tMPT: 区块链分片重组实现方案 (IWQoS’23)

Huawei Huang, Yetong Zhao,  Zibin Zheng*, “tMPT: Reconfiguration across Blockchain Shards via Trimmed Merkle Patricia Trie”, IEEE/ACM International Symposium on Quality of Service (IWQoS), June 2023.

近日,HuangLab 最新的一篇区块链分片技术的论文,被国际会议 IWQoS 接收,该会议2023年的论文接受率为 62 / 264,竞争颇为激烈。本篇论文简介如下。

一、研究背景与动机

分片技术是提高区块链可扩展性的一种可行的技术路线 [1-4]。通过将所有共识节点划分至多个分片中,分片技术可以帮助区块链实现对交易的并行处理。因此,分片技术可以大大提高区块链网络的吞吐率,适用于交易到达速率高的区块链平台。

然而,分片技术的引入将区块链系统的安全性从整个网络分摊至单个分片,因此需要一定的保护机制来保证每个分片的安全性。而分片重组是一个较为可行的增强分片区块链系统安全的手段。在分片重组的过程中,当共识节点迁移到一个新的分片时,该节点需要同步新分片中的交易或账户的状态等信息,以便能够允许共识节点在新分片中可以进行交易的验证。Elastico [1] 提出定期对各个分片的节点进行定期洗牌,然后将共识节点随机分配给各个分片。RapidChain [2]、Omniledger[3] 等论文则设计了允许分片节点部分同步的方法,以便减少分片重组过程对整个区块链系统的影响。

通过调研现有的区块链分片相关的工作,我们发现对于分片区块链的分片重组的研究尚处于很初始的阶段,尚且缺少一个对分片进行重组的实现方案。本文展示我们提出的一种分片重组方案,旨在减少分片重组所需的时间,同时确保分片区块链系统的安全性。

图1  分片区块链的分片重组过程

二、本文贡献

  • 本文提出了一个分片重组协议,在保证分片系统安全性的同时,还可提高分片重组的效率。
  • 我们为分片重组协议设计了 trimmed Merkle Patricia Trie (tMPT) 数据结构,并运用 tMPT 对分片内的状态树进行压缩,旨在提高分片重组的效率。为了进一步减少分片重组过程对区块链系统的影响,我们还进一步提出了一种分片间部分重组的方案。
  • 我们在模拟系统上对分片重组过程进行了原型系统的实现,并将其部署在阿里云服务器中。实验表明,本文提出的方法在分片重组效率上优于现有的数据同步方法,所提出协议的吞吐量比以太坊的“完全同步”(Full Synchronization)的方法高 198%。

三、提出协议的简介   

1. 核心思想

根据 Ethanos [5] 的调查结果,以太坊上的交易存在着“时间局部性”,即部分账户在一周内会进行多次交易。这些活跃账户的状态数据也会在短时间内经历多次更新。受此启发,本文提出的方案通过仅在分片重组时才为共识节点同步活跃账户的状态数据,这样可大大减少分片重组时传输的数据量,从而可提高分片重组的效率。

2. 系统简介

2.1. 角色介绍

所提出的协议包括两种类型的节点和对应的两种类型的分片。

  • 验证节点 (Validator node). 验证节点保存其曾参与验证的历史区块的数据和对应的账户状态。通过存储活跃账户状态,验证节点可以进行新区块的交易验证;通过存储历史区块数据,他们可以为用户提供历史区块查询服务。验证者节点组成多个验证分片。
  • 见证节点 (Witness node). 见证节点保存全网的账户状态和节点数据,负责生成重组方案并帮助验证节点进行交易验证。见证节点组成见证分片。

2.2. 系统运行流程

图2  分片重组协议运行流程

如图2所示,我们将系统运行过程划分为共识阶段重组阶段。共识阶段中,验证分片执行片内共识,处理交易并出块。重组阶段中,见证分片生成重组方案,协助验证分片进行分片重组,并更新账户状态信息。具体步骤如下:

  • Stage 1. 每隔一定的出块间隔,见证分片利用VRF随机函数生成一份重组方案,并在分片内对该重组方案进行共识。
  • Stage 2. 重组方案被广播至全网,各分片在当前区块共识完毕后进入重组阶段。
  • Stage 3. 重组阶段开始。各工作分片分片遍历当前状态树,删去状态树中最近访问周期小于k的节点,得到epoch k的部分状态树.
  • Stage 4. Epoch k的部分状态树被发送至重组后该分片的对应的验证节点和见证分片。
  • Stage 5. 编排状态树信息。验证分片收到各分片发来的状态树,并于该分片的历史状态信息进行合并,得到各分片的全局状态信息。
  • Stage 6. 验证分片和见证分片均对本分片内更新后的状态信息进行共识。共识完成后,各分片进入共识阶段执行交易验证和出块。

四、实验结果

实验设置:本文使用 Golang 语言在实验室自行开发的区块链模拟器(名为 blockEmulator)上实现了 tMPT 协议。这里顺便提一下,blockEmulator 即将开源!敬请关注。我们收集了以太坊 2018 年 7 月 20 日到 2018 年 7月 24 日的 1,500,000 条转账交易作为实验数据来源,实验中将区块大小和出块间隔分别设置为 1000 笔交易和 4 秒,系统包含四个验证分片和一个见证分片,各分片包含 4 个共识节点。原型代码部署在租用的阿里云服务器。

主要实验结果:我们首先测试了不同重组方法所对应的区块链系统的 TPS。如图3所示,我们提出的 tMPT 和 partial tMPT 方法的 TPS 明显优于其他所有方法,且 TPS 分别为 Ethereum full sync 的 3 倍和 3.4 倍。

如图4所示,随着时间的推移,各 baseline 方法的 TPS 呈下降趋势,而 tMPT  和 partial tMPT 方法的 TPS 维持在一个稳定的水平。

图5 和 图6 展示了不同方法下的重组时延和数据量大小。结果表明,除了 tMPT 重组方法外,其余方法重组时传输的数据量都随着交易进行而不断增加,与之对应的重组时间也呈不断上涨的趋势。而由于 tMPT 只传输单个 epoch 对应的活跃账户的状态,因此重组时传输的数据量维持在一个相对稳定的水平,重组时延也保持在一个平稳的趋势。当交易执行到最后一个 epoch时,tMPT 的重组时延和传输数据量大小分别为 Ethereum full sync 的 2.8% 和 13%。

图3 平均吞吐量对比
图4  吞吐量随时间变化
图5  重组时延随时间变化
图6  重组数据随时间变化

五、本文总结

本文提出了一种基于 tMPT 的分片重组方案,旨在保证分片区块链安全性的同时提高分片重组效率。tMPT 状态树可以将重组时节点同步的状态信息进行压缩,并引入见证分片协助完成重组过程以及对非活跃账户交易的验证。此外,我们也对重组过程中系统安全性进行了理论证明。实验结果表明,本文所提出的基于 tMPT 的重组方案在交易吞吐量和重组时延等方面显著优于其他方法。

六、提出的机制应用到工业界的前景分析

分片区块链底层技术仍处于研究探索阶段,还面临诸多问题和挑战需要解决。制约分片区块链技术大规模应用的关键因素在于提高吞吐量的同时还需要确保区块链网络的安全性。本文提出的基于tMPT 的协议为分片区块链技术路线的分片重组环节提供了一个安全高效的实现方案。

参考文献

[1] Luu L, Narayanan V, Zheng C, et al. A secure sharding protocol for open blockchains[C]//Proc.of ACM SIGSAC Conference on Computer and Communications Security (CCS’16). ACM,2016:17-30.

[2] Zamani M, Movahedi M, Raykova M. Rapidchain: Scaling blockchain via full sharding[C]//Proceedings of the 2018 ACM SIGSAC conference on computer and communications security. 2018: 931-948.

[3] Kokoris-Kogias E, Jovanovic P, Gasser L, et al. Omniledger: A secure, scale-out, decentralized ledger via sharding[C]//2018 IEEE Symposium on Security and Privacy (SP). IEEE, 2018: 583-598.

[4] Wang J, Wang H. Monoxide: Scale out blockchains with asynchronous consensus zones[C]// Proc. of 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI’19). 2019:95-112.

[5] Kim J Y, Lee J, Koo Y, et al. Ethanos: efficient bootstrapping for full nodes on account-based blockchain[C]//Proceedings of the Sixteenth European Conference on Computer Systems. 2021: 99-113.

(HuangLab出品,必属精品)

HuangLab在区块链可扩展性方向的另一篇论文被CCF-A类顶刊TPDS接收

Huawei Huang, Dec. 28th, 2021

A new blockchain sharding paper is accepted by TPDS.

Hard work pays off!

HuangLab 在区块链可扩展性方向的另一篇论文被 CCF-A 类期刊 TPDS 接收。这也是我的研究组最近一个月内在该方向被接收的第2篇A类顶会/顶刊研究论文。恭喜我的硕士研究生岳峥宇同学、彭肖文同学,还有本科实习生贺刘丁同学,感谢同学们的辛苦付出!

论文题目:Elastic Resource Allocation against Imbalanced Transaction Assignments in Sharding-based Permissioned Blockchains.

这篇论文的贡献概括如下:在考虑到基于分片机制的区块链可能存在不均衡交易分片的背景下,这篇工作研究了分片联盟链的云端资源分配对区块链的吞吐量的影响。我们基于随机优化理论框架,设计了针对分片联盟链的资源分配算法。提出的方案可在一定程度上缓解区块链交易分布不均衡的问题。

最新区块链分片系统论文被 INFOCOM 2022 接收

Dec. 6, 2021, by Huawei Huang

近日,实验室在区块链底层分片系统的研究取得新进展,论文《BrokerChain: A Cross-Shard Blockchain Protocol for Account/Balance based State Sharding》被计算机网络领域的CCF-A类顶会 INFOCOM 2022 接收。INFOCOM (全称 IEEE International Conference on Computer Communications) 是计算机网络领域的顶级会议。本次会议共投稿1129篇论文,最终接收了225篇,接收率为19.9%。

论文简介:

在传统的基于状态分片的区块链系统中,交易是通过各分片的账户状态信息进行分配。但是,不合理的交易分配方案会导致分片间的负载不均衡和跨分片交易比例过高的问题,从而限制分片系统性能的发挥。为此,该论文提出了一种新的分片架构实现对分片状态的动态划分和调整。具体来讲,该分片协议根据一定时间内的历史交易信息构建一个账户交易状态图,并对其进行划分,从而对存储在各分片的账户状态实现动态的调整与重新配置。论文提出的账户状态动态调整策略可以在减少跨分片交易比例的同时实现分片间的负载均衡。

论文提出的跨分片交易处理协议主要流程

该论文基于状态划分算法提出一种新的跨分片协议来缓解跨分片交易处理的效率问题。在进行状态划分的过程中,系统允许一部分普通用户通过自愿抵押一定的资产充当 Broker(中间人账户)。 Broker 的状态会被系统分割成两部分或多个部分,分别存储在两个或多个分片中,从而参与到若干个跨分片交易的协调当中。该论文提出的跨分片协议可以减少跨分片交易的延迟,从而提高跨分片交易执行的效率。