Plutus项目中的RIPEMD-160哈希函数实现解析
在区块链智能合约开发领域,Plutus作为Cardano区块链的智能合约平台,其核心组件Plutus Core一直在不断扩展内置功能以满足开发者需求。近期,Plutus Core团队成功实现了RIPEMD-160哈希函数作为新的内置函数(builtin),这一技术进展为智能合约开发者提供了更丰富的密码学工具选择。
RIPEMD-160是一种经典的密码学哈希函数,由Hans Dobbertin等人在1996年设计,作为对MD4和MD5算法的改进版本。它能够将任意长度的输入数据转换为固定160位的哈希值,具有较好的抗碰撞性和安全性。在区块链应用中,RIPEMD-160常被用于地址生成和数字签名等场景。
技术实现方面,该功能通过两个关键Pull Request完成:首先是基础实现(#6252),随后是代码更新以保持与主仓库同步(#6378)。这种分阶段实施方式确保了代码质量和技术兼容性。实现过程中,开发团队特别注重以下技术细节:
- 算法正确性:严格遵循RIPEMD-160标准规范,确保哈希计算结果与其他实现完全一致
- 性能优化:针对Plutus Core执行环境进行特定优化,减少Gas消耗
- 安全性验证:通过多种测试向量验证算法实现的正确性和安全性
从技术架构角度看,将RIPEMD-160作为内置函数而非通过外部库实现,带来了显著的性能优势。内置函数可以直接在Plutus Core虚拟机层面执行,避免了昂贵的跨环境调用开销。同时,这种实现方式也增强了确定性,这对区块链智能合约的执行至关重要。
对于智能合约开发者而言,这一新增功能意味着:
- 可以更灵活地选择哈希算法,根据具体需求在SHA家族和RIPEMD-160之间做出选择
- 能够实现与现有区块链系统的更好兼容,特别是那些使用RIPEMD-160作为标准算法的系统
- 为开发更复杂的密码学协议提供了基础构建块
虽然当前实现已经达到生产就绪状态,但团队仍在完善相关文档和测试工作。未来计划包括将其正式纳入PLC规范文档,并增加端到端测试用例,确保长期稳定性和可靠性。
这一技术增强体现了Plutus团队对开发者需求的快速响应能力,也展示了Plutus Core作为智能合约平台的持续进化。随着更多密码学原语的加入,Plutus将为Cardano生态系统的DeFi、NFT和其他区块链应用提供更强大的基础设施支持。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0174
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook099
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
BitCPM-CANN-8BBitCPM-CANN 是首个基于华为昇腾 NPU 原生构建的端到端 1.58 位(三值化)大语言模型训练系统。该系统将量化感知训练(QAT)集成到 Megatron-LM 框架中,并结合 MindSpeed 加速,覆盖了从自定义三值算子到基于昇腾 910B 的分布式并行训练的完整训练栈。Python00
llm-universe本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/Jupyter Notebook04
inference通过更改一行代码,您可以在应用程序中用另一个大型语言模型(LLM)替换OpenAI GPT。Xinference赋予您使用任何所需LLM的自由。借助Xinference,您能够在云端、本地、甚至笔记本电脑上运行任何开源语言模型、语音识别模型和多模态模型的推理。Python02