Kuira 将设备端 ZK 证明引入 Midnight Android 应用

公开的 alpha 版本使 Android 开发者能够将本地零知识证明生成与内嵌钱包、基于 passkey 的访问以及 Compact 智能合约相结合。除非开发者明确选择远程服务器,否则私有证明输入将保留在设备上。

By SongMarketCap

Updated:

Cardano News - Kuira 将设备端 ZK 证明引入 Midnight Android 应用

Kuira Labs 发布了一款 Android SDK,用于构建 Midnight 应用,使其能在用户手机上直接生成零知识证明。版本 0.1.0-alpha05 已通过 Maven Central 公布,并将钱包、身份、合约运行时和证明组件封装为一个 Gradle 依赖。

该技术栈已在 August 5 Fireside Dev Hang 中演示。Midnight 作为 Cardano 面向隐私的合作链,也在其 官方开发者文档 中将 Kuira 列为社区维护的移动和嵌入式钱包选项。

Kuira 在 Android 上生成 Midnight ZK 证明

Kuira 默认在 Android 本地生成零知识证明。应用会构建交易、生成证明并准备提交,而无需将私有证明输入发送至外部服务。

根据 技术文档,该 SDK 使用 Midnight 基于 Rust 的 midnight-zkir 证明引擎,编译为原生 Android 代码,并通过 JNI 访问,而非在 WebAssembly 环境中。

当电路对目标设备要求过高时,开发者可以手动选择远程证明服务器。SDK 不会自动切换。若选择本地证明且所需密钥不可用,流程将失败,而不会将私有输入传输到服务器。

钱包证明密钥约需 33 MB,可与应用一同打包,或在设置期间下载并缓存。存储完成后,无需连接证明服务器即可生成证明,但提交已完成的交易仍需要网络访问。

Kuira 尚未发布通用的证明时间或内存基准。性能因电路和 Android 硬件而异,因此当前文档不支持跨设备的单一经验证速度数据。

内嵌钱包支持 $NIGHT、DUST 和 passkey

该 SDK 在应用自身进程中内置自托管钱包。用户无需先安装独立钱包即可与 Midnight 应用交互。

Kuira 支持受保护与未受保护余额、交易同步、DUST 再生以及 $NIGHT 转账。它还包含从 Android 应用部署与调用 Midnight 智能合约所需的 Compact 运行时。

钱包访问采用名为 Sigil 的基于 passkey 的系统。通过生物识别或设备凭据解锁 passkey,从而在初始引导过程中无需助记词即可保护身份与钱包设置流程。

用户可在之后选择性地导出 24 个单词的恢复短语。当前的 Sigil 架构也可通过已同步的 passkey 恢复访问,但该路径依赖相同的 Google 账户与应用域名。

Kuira 计划通过 Sigil V2 解决应用间钱包可迁移性以及跨不同 Google 账户的恢复问题。该架构仍在项目路线图中,未纳入当前 alpha。

开发者可通过可运行示例测试该技术栈,其中包括一个基础计数器应用,以及 Midnight Kicks,这是一款提交与揭示机制的游戏,玩家的操作在手机上完成证明。

Kuira Alpha 已公开但尚未达到生产就绪

7 月 14 日 alpha05 发布 增加了带类型的 Compact 合约读取、构造函数参数、对多合约的支持以及用于转移未受保护资金的端到端路径。

该 SDK 以 Apache 2.0 许可通过 Maven Central 分发。其公开的 GitHub 仓库包含文档与发布基础设施,而主要的 SDK 仓库仍为私有。Kotlin 源码包与已编译的 Android 构件一同提供,开发者可通过 Android Studio 或 IntelliJ 检查并调试已发布的实现。

Kuira 的 发布文档 将该 SDK 定义为 alpha。其 API 可能在版本之间发生变化,不建议用于生产环境,且安全修复仅适用于最新的 alpha 版本。

目前仅支持 Android 平台。Kuira 将 iOS 与 React Native 集成为规划项,但二者均未公开提供。

Alpha05 改变了 Midnight 移动开发的直接工作流,团队现在可以通过已发布的 Android 依赖来测试本地证明与内嵌钱包功能,而无需组装自定义移动端技术栈。在 SDK 超越其 alpha 发布线之前,生产部署仍不在 Kuira 当前的推荐范围内。