REM 区块链挖矿算力资源有效性框架
本文为北大软微2024文献阅读考核
文献阅读要求:
- 请先明确报考方向,并根据报考方向从相应的论文列表中选择一篇论文进行精读。
- 请根据自己的理解、用中文撰写阅读报告,避免直译原文。
- 报告不少于1500字。
论文列表:
方向编号:1系统软件(泛在操作系统、数联网系统软件等) |
1. FLASH: Heterogeneity-Aware Federated Learning at Scale. IEEE TMC 2024. 2. SoCFlow: Efficient and Scalable DNN Training on SoC-Clustered Edge Servers. ASPLOS 2024. 3. Battery-Aware Energy Optimization for Satellite Edge Computing. IEEE TSC 2024. 4. Adonis: Practical and Efficient Control Flow Recovery through OS-level Traces ACM TOSEM 2024. 5. FaaSLight: General Application-level Cold-start Latency Optimization for Function-as-a-Service in Serverless Computing. ACM TOSEM 2023. |
方向编号:2高可信软件(软件与系统安全、区块链与隐私计算等) |
1. REM:Resource-Efficient Mining for Blockchains, USENIX Security, 2017. 2. Secure Keyword Search and Data Sharing Mechanism for Cloud Computing, TDSC, 2021. 3. SegScope: Probing Fine-grained Interrupts via Architectural Footprints, HPCA 2024. 4. T-Counter: Trustworthy and Efficient CPU Resource Measurement Using SGX in the Cloud, TDSC 2023. 5. Text-to-Image Diffusion Models can be Easily Backdoored through Multimodal Data Poisoning, ACM MM 2023. |
方向编号:3领域智能软件(大数据机器学习、分布式智能运维等) |
1. Knowledge Graph-Based Behavior Denoising and Preference Learning for Sequential Recommendation, TKDE 2024. 2. Hilogx: noise-aware log-based anomaly detection with human feedback, VLDB Journal 2024. 3. Enhancing Job Recommendation through LLM-Based Generative Adversarial Networks, AAAI 2024. 4. MetaLog: Generalizable Cross-System Anomaly Detection from Logs with Meta-Learning, ICSE 2024. 5. Generalized Ambiguity Decomposition for Ranking Ensemble Learning, JMLR 2022. |
方向编号:4领域智能软件(多模态知识计算、程序分析与理解等) |
1. M3care: Learning with missing modalities in multimodal healthcare data. KDD 2022. 2. CoderUJB: An Executable and Unified Java Benchmark for Practical Programming Scenarios. ISSTA 2024. 3. KIEval: A Knowledge-grounded Interactive Evaluation Framework for Large Language Models. ACL 2024. 4. Vision Lanauge Pre-training by Contrastive Learning with Cross-Modal Similarity Regulation. ACL 2023. 5. Low-Resources Project-Specific Code Summarization. ASE 2022. |
方向编号:5领域智能软件 (智能计算与感知等) |
1. HEAL: Performance Troubleshooting Deep inside Data Center Hosts. SIGMETRICS 2024. 2. Pattern-Aware Transformer: Hierarchical Pattern Propagation in Sequential Medical Images, TMI 2024. 3. Placement Matters: Understanding the Effects of Device Placement for WiFi Sensing, UbiComp-IMWUT 2022. 4. Neural Parametric Mixtures for Path Guiding, SIGGRAPH 2023. 5. Incrementally Updateable Honey Password Vaults, USENIX Security 2021. |
姓名: |
邮箱: |
报考方向(请打√): □1、系统软件(泛在操作系统、数联网系统软件等) √2、高可信软件(软件与系统安全、区块链与隐私计算等) □3、领域智能软件(大数据机器学习、分布式智能运维等) □4、领域智能软件(多模态知识计算、程序分析与理解等) □5、领域智能软件 (智能计算与感知等) |
所选论文名称(须与本表中报考方向一致): REM:Resource-Efficient Mining for Blockchains, USENIX Security, 2017. |
一、论文研究背景、动机与主要贡献
1.1 论文研究背景
区块链技术因其在金融交易系统中安全、可溯源的特点而受到关注。但是,非许可链中往往采用工作量证明(PoW)进行共识,这种方式造成了资源的浪费。
具体来讲,在PoW共识系统中,一个矿工能够获得新区块创建权的概率与其投入的计算资源成正比。也就是说,如果一个矿工投入了更多的计算能力,它就有更高的机会解决加密难题,从而领导更多共识轮次。然而,其他参与竞争的矿工所投入的计算资源除了参与领导权竞争之外没有任何作用,因而造成大量资源浪费。
1.2 论文动机
基于上述问题,本论文的研究旨在解决PoW共识问题中计算资源被浪费的现实挑战。引入REM共识框架,通过使用有用工作量证明(PoUW)替代了PoW,允许矿工在挖矿的同时执行有用的计算任务,避免了计算资源浪费。同时使用SGX技术保证工作量证明的可信性、安全性。
1.3 论文主要贡献
本篇论文的三个主要贡献如下:
- 有用工作量证明:文章提出了一种新的挖矿机制PoUW,矿工在挖矿过程中可以执行实际有用的工作,而不是进行简单的哈希计算。减少了计算资源的浪费的同时,提高挖矿过程的“有用性”。
- SGX技术地可信环境支持:REM框架利用了Intel的软件保护扩展(SGX)技术,通过在可信执行环境(enclave)中执行代码,确保了挖矿过程中的工作量证明的可信性,防止伪造、篡改。同时,提出针对“受损硬件”攻击的基于统计测试的 检测方法。这种机制和框架可以有效检测恶意节点,提高了系统的安全性和鲁棒性。
- 分层认证机制和统计测试框架:为了确保挖矿工作负载的可信度和应对SGX CPU可能遭受的攻击,论文提出了一种分层认证机制,能实现分层、隔离并行地验证,提升其他节点验证PoUW证明的效率。
二、论文问题描述或定义
该论文的核心问题是在不牺牲区块链安全性的前提下,减少挖矿过程中的计算资源浪费。本文通过设计新的挖矿机制PoUW,使得矿工在挖矿的同时执行“有用”的计算任务,而不是进行无意义的哈希碰撞,同时引入SGX软件保护扩展技术确保区块链的安全性和去中心化特性。
以下是论文中关于安全模型的三个重要假定:
硬件安全性:系统允许任何实体参与挖矿,但安全性依赖于硬件制造商(例如Intel)的行为。该模型假设正常的Intel的硬件本身能够可靠地管理身份,不会伪造证明,并且不会将正常节点纳入黑名单。当然,论文也提到针对“受损硬件”的处理,将在第3.2节讲述。
攻击者能力假定:模型假定攻击者有能力窃取或伪造工作量证明(即假装他们完成了工作)。但是他们不能伪造CPU的身份。因为CPU的身份是由硬件制造商颁发的,不可伪造。
CPU**签名链接性:**CPU的签名是可以追踪的。在SGX技术中,CPU的签名方式可以让别人知道两个签名是不是由同一个CPU生成的。因此,即使攻击者控制了一个CPU,它们也不能让这个CPU假装是很多不同的CPU以骗取更多的工作量证明,因为签名会暴露它们的真实身份。
三、论文提出的新思路、新理论、或新方法
本节将由总到分,从整体框架开始介绍论文的新方法。
3.1 RES整体框架概览:挖矿算力“有用性”和工作结果“可信性”
论文提出了RES共识框架,实现了挖矿算力**“有用性”和工作结果“可信性**”的双重保障。根据论文整体描述,我绘制了一份整体工作流程泳道图:
该框架引入PoUW机制,让矿工在挖矿时执行由有用客户端提出的PoUW任务,使得结点在参与领导权(出块权)竞争的同时,将算力执行在有用的指令执行上,而不是无意义的哈希碰撞。矿工结点在执行任务后,将执行结果返还有用客户端。
矿工的工作量的度量标准为计算执行的指令数量n。系统会生成n个随机数,若其中一个随机数满足难度要求,则生成PoUW证明,拥有出块权;其余矿工结点虽没能获得出块权,但其消耗的算力用于执行有用客户端提出的复杂任务(如复杂科学计算、模型训练等),因此算力没有被浪费。计算性能越强的节点,执行的指令数量n越多,生成的随机数越多,满足难度要求的概率越高。
同时,利用Intel SGX技术实现的可信执行环境(enclave),其基本与外部环境隔离,因而能够安全、可信地度量矿工实际工作量,防止攻击者对工作量证明进行篡改、伪造,为**PoUW**证明的生成提供了一种可信保障。
3.2 针对“受损节点”攻击的统计测量与发现方法:
在本文第二节“论文问题描述或定义”的安全性假定中,我们提到,REM的可信性建立在硬件的安全性、完好性之上。倘若硬件受损,enclave环境也不值得被信任。因此,特别的,论文提出针对“受损节点”攻击的统计测量与发现方法 。
是一种基于统计学的检测方法,其核心思想是:若一个节点完成有用工作的时间远远小于正常节点的时间,那么这个节点很可能正被控制。
具体来讲,通过权威机构发布的CPU性能的数据,我们可以预估最快诚实矿工(即非受损节点)的挖矿速率。随后,利用泊松分布模拟每个矿工在给定时间内生成区块的概率,如果一个矿工在特定时间内生成的区块数量超过了泊松分布的阈值,那么其将很可能是恶意结点。关于泊松分布阈值选取,请参见本文4.1。
3.3 分层认证机制:解决其他节点认证复杂度与效率问题
一个节点挖矿成功后,其他节点需要检查该节点的enclave指纹以及程序计数的准确性。直接存储信息在区块链上不切实际,会导致存储成本过高。同时,依赖监督员来检查也不妥,其难以确保监督员的可靠性,也破坏了区块链的去中心化特性。
因此,论文提出了分层认证机制,其允许系统通过信任一个预定义的、静态分析的合规检查器来验证工作量证明的正确性。
其核心思想是,矿工的工作量证明需要得到两层级别的认证——矿工节点的enclave环境的证明和合规性检查器。合规检查器独立的会检测程序的是否正确链接计数库、与预期是否一致,并反编译确认计数指令的正确放置。程序获得自身enclave环境和合规检查器双重认证后,即认为工作量证明PoUW正确。
这种方案采用分层思想,隔离了上下两层的不必要联系,使得验证相互独立。同时,这种分层的认证机制可以扩展为树形结构。上层认证只需检验下一层的合规性,而无需检查全部叶子节点,提升了认证的并行性和效率。
四、论文方法的理论分析或实验评估方法与效果
4.1 $P_{stat}$统计测量方法的有效性评估与参数设置
是基于统计学的检验恶意节点的方法,在论文4.3节,论文通过两个指标判断该策略的有效性。
指标1是资源浪费情况Waste ,即若区块链的挖矿策略(如$P_{stat}$)错误地拒绝了诚实矿工生成的区块导致资源浪费。用诚实矿工在的历史中被错误拒绝的区块数量与总生成区块的比值表示;指标2为攻击者优势Adver ,通过攻击者控制的矿工生成区块的期望收益与诚实矿工生成区块的期望收益来相比计算。
理想情况下,我们希望$P{stat}$ 策略能将攻击者优势降至最低,即使攻击者无法通过不正当手段获得显著的收益。同时,最小化由于$P{stat}$策略导致的资源浪费。
通过模拟实验,结果表明 策略能够有效地限制攻击者的优势 ,同时保持较低的浪费 。同时,随着时间的推移,由于系统逐渐趋于稳定,且有大量的已有数据可供 进行统计分析,攻击者的优势 逐渐降低,资源浪费情况 降低。表明策略有效。
$\alpha$值是 策略中的一个重要参数:显著性水平,也即 $P_{stat}$策略拒绝诚实矿工挖出的区块的概率。
值越大, 策略越严格,误报的可能性较大,因此浪费率(拒绝诚实矿工挖出的区块的比率)也较大;如果 值过大,虽然浪费率很低,但对攻击者的识别能力较弱,系统安全性会受到影响。
实验也评估了 策略在不同 值参数设置下的表现,对比设置 为0.1、0.2、0.4、0.6四种状态下资源浪费情况 和攻击者优势 的变化情况。
实验结果表明,与有效性评估的结论相同,无论取何种$\alpha$值,随着时间的推移,攻击者的优势Adver和资源浪费情况Waste均逐渐降低,表明$P_{stat}$策略有效。同时,也发现 值越高,误报比率大,资源浪费占比Waste越大,但因为更严格,攻击者优势Adver也相对较小;相对的, $\alpha$值越低,资源浪费占比Waste越小,攻击者优势Adver也相对较大。符合实验预期。
4.2 REM模式的性能开销评估
论文5.5节通过实验评估了PoUW在不同有用工作负载(不同复杂任务)上的性能开销,并与其他挖矿机制进行了比较。
论文选择四种不同类型的有用工作负载进行测试,分别是:蛋白质折叠算法、支持向量机(SVM)分类器、zlib压缩算法、SHA3-256哈希算法。
论文通过对比实验的方式进行实验分析,将每种工作负载分别进行“原生模式”、“SGX模式”(仅将代码移植到SGX)、“REM模式”(本论文提出的方式)三种测试。测试指标为执行这些任务的运行时长。
实验结果显示在REM模式下,四种工作负载的性能开销相比基准值(原生模式)增加约5.8%至14.4%。REM模式的额外性能开销主要来源于PoUW 工具链需要在代码中插入指令计数逻辑的过程。例如,SHA3-256算法由于其高度迭代性,插入指令计数逻辑的过程繁杂,相比其他工作负载产生了最高的性能开销。
尽管REM引入了额外的性能开销,但相比于PoW挖矿,PoUW能够有效利用矿工的计算资源进行有用的工作,从而实现资源高效挖矿,解决算力性能浪费的问题。相比PoW挖矿性能的巨大浪费而言,引入**REM**产生的较小的额外性能开销是可接受。
五、总结
(包括分析本文带来的启示,论文的优缺点,后续研究思路等)
5.1 启示
《REM:Resource-Efficient Mining for Blockchains》这篇论文给我带来了较大的启示。**首先,方法理论上**,传统区块链研究往往停留在软件层面的安全可信,而REM系统利用Intel SGX技术提供了一种安全的硬件执行环境,这启示了硬件级安全特性在区块链领域的应用潜力。同时,融合严谨的统计学进行恶意节点检测,应用统计学假设检验的方法来处理数据,方法严谨有支撑;**第二,实验分析层面**,论文实验分析详尽,综合考虑了性能、浪费率、参数敏感性等多种实验指标,并在实际环境中进行部署测试,多个维度的性能比较具有较强的说服力。同时,论文采用理论分析和实验相结合的方式阐述,如在讲述 统计测量方法时,先给出实验预期和严谨的数学理论分析,再以实验进行验证,思路严谨。**第三,行文框架上**,一般文章往往采用“理论方法-实验评估”的理论、实验分离式撰写框架,而本文巧妙地将实验融入方法阐述中(如4.2节讲述 统计测量方法后随即在4.3节进行实验评估),能使读者更好的把握脉络,令人耳目一新,值得借鉴。
5.2 优点
我认为本文具有如下优点:
文章将硬件系统与区块链巧妙结合,通过引入了PoUW(Proof of Useful Work)和SGX技术实现了REM框架,使得挖矿工作“有用”的同时保证了工作量证明的“可信”,是提高了资源的利用效率的有效方法。
考虑周全,论文没有忽视硬件损坏的可能性,而是主动识别并应对这一风险,显示出高度的预见性,提出了基于 的统计学恶意节点识别方案,并进行了严谨的理论和实验分析。
实验分析详尽合理,从浪费率、参数敏感度、性能开销等多个维度进行实验评估,展现出REM框架强大的性能。同时,在真实环境中进行部署搭建,已集成到比特币核心的共识层中,进一步证明了其强大的实践性和应用潜力。
理论分析严谨充分,论文在对 评估时采用严谨的统计学理论进行分析。同时,自行设计博弈模型来评估不同挖矿策略的资源消耗和浪费,为论文提供了有力理论依据。
5.3 局限性与后续改进方案
我认为本文在这几个方面存在一定局限性:
未考虑有用客户端的安全性:论文假定有用客户端是安全的,但这也可能不现实。论文提到,由于SGX的限制,只能采用指令数量而不是更科学的指令周期作为工作量度量。但试想,若恶意客户端和恶意矿工可能联合行骗,恶意有用客户端在在为恶意矿工发放有用任务时连续发放简单指令,则矿工可以完成大量指令,导致工作量证明失去可信度。
复杂任务不一定始终存在:REM框架通过为矿工分配复杂任务进行指令计数和工作量证明生成。但是复杂任务的数量相对较少,如果矿工不能持续获得有用任务,他们可能无法持续获得挖矿奖励,这可能导致整个系统挖矿激励的不一致性,存在一定的任务分配不公平性。若考虑在任务不足的情况下,某些节点执行同一任务,又会导致挖矿性能的浪费。
硬件限制:REM框架高度依赖Intel SGX技术,而SGX芯片目前并非所有计算机都具备,市场普及度不够,这可能限制了其在不具备SGX功能的硬件平台上的应用。
经过文献调研等,针对本文,可以有如下后续研究思路:
引入对有用客户端的随机任务分配机制或惩戒算法:首先,针对复杂任务的分配,可以利用可验证的随机数生成协议(**VRF**)对任务随机分配,防止有用客户端持续为恶意矿工分配简单任务。同时,可考虑引入如信誉值算法(**proof of reputation**),允许矿工或其他节点对恶意有用客户端进行举报操作。
考虑区块链分片机制:分片区块链 (Sharded Blockchain) 是一种新兴的并行共识机制,旨在通过将区块链划分为多个独立的分片,每个分片独立并行地运行某一类交易的共识,以提高其可扩展性和吞吐量。可以考虑将复杂任务分类为多个不同的子任务类,各个分片同时执行某一类特定复杂任务。由于同一类复杂任务的复杂程度大致相同,或许能够避免恶意矿工分发简单任务的问题,也能提升区块链共识的并行程度。
考虑引入区块链智能合约作为任务:智能合约是区块链上自动执行的代码,在公链环境下,对区块链的“增删改查”任务(智能合约)任务较多。可以将智能合约的执行作为任务之一,能同时提升区块链智能合约的执行效率。
考虑云服务**SGX**或其他硬件体制:如果本地硬件不支持SGX,可以考虑使用云服务提供商的**SGX**服务。或使用普及性更广地ARM**的**TrustZone等安全硬件环境。