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和其他区块链应用提供更强大的基础设施支持。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
new-apiAI模型聚合管理中转分发系统,一个应用管理您的所有AI模型,支持将多种大模型转为统一格式调用,支持OpenAI、Claude、Gemini等格式,可供个人或者企业内部管理与分发渠道使用。🍥 A Unified AI Model Management & Distribution System. Aggregate all your LLMs into one app and access them via an OpenAI-compatible API, with native support for Claude (Messages) and Gemini formats.JavaScript01
idea-claude-code-gui一个功能强大的 IntelliJ IDEA 插件,为开发者提供 Claude Code 和 OpenAI Codex 双 AI 工具的可视化操作界面,让 AI 辅助编程变得更加高效和直观。Java01
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility.Kotlin07
compass-metrics-modelMetrics model project for the OSS CompassPython00