KuiraがオンデバイスZK証明をMidnightのAndroidアプリにもたらす
パブリックアルファにより、Android開発者はローカルでのゼロ知識証明生成を、組み込みウォレット、パスキーに基づくアクセス、Compactスマートコントラクトと組み合わせられる。開発者が明示的にリモートサーバーを選択しない限り、秘密の証明入力はデバイス上に留まる。
By SongMarketCap
Updated:
Kuira Labsは、ユーザーのスマートフォン上で直接ゼロ知識証明を生成するMidnightアプリケーションを構築するためのAndroid向けSDKを公開した。バージョン 0.1.0-alpha05はMaven Centralを通じて一般公開されており、ウォレット、アイデンティティ、コントラクトランタイム、証明コンポーネントを単一のGradle依存関係にまとめている。
このスタックはAugust 5 Fireside Dev Hangでデモが行われた。Cardanoのプライバシー重視のパートナーチェーンであるMidnightは、公式開発者ドキュメントで、コミュニティがメンテナンスするモバイルおよび組み込みウォレットの選択肢としてKuiraを掲載している。
KuiraはAndroidでMidnightのZK証明を生成する
KuiraはデフォルトでAndroid上でローカルにゼロ知識証明を生成する。アプリケーションは、秘密の証明入力を外部サービスに送信することなく、トランザクションを構築し、証明を作成し、送信準備を行う。
technical documentationによると、このSDKはMidnightのRustベースのmidnight-zkir証明エンジンを使用しており、WebAssembly環境ではなくJNIを通じてアクセスされるネイティブのAndroidコードとしてコンパイルされている。
対象デバイスに対して回路が負荷過多な場合、開発者はリモートの証明サーバーを手動で選択できる。SDKが自動で切り替えることはない。ローカル証明が選択されていて必要な鍵が利用できない場合でも、秘密入力をサーバーに送信するのではなく、処理は失敗する。
ウォレットの証明鍵はおよそ33 MBを要し、アプリケーションに同梱するか、セットアップ時にダウンロードしてキャッシュできる。一度保存されれば、完了したトランザクションの送信には引き続きネットワーク接続が必要なものの、証明サーバーに接続せずに証明を生成できる。
Kuiraは、共通の証明時間やメモリに関するベンチマークを公開していない。性能は回路やAndroidのハードウェアによって異なるため、現行のドキュメントではデバイス横断で検証済みの単一の速度指標を提示していない。
組み込みウォレットは$NIGHT、DUST、パスキーに対応
このSDKには、アプリケーション自身のプロセス内に自己保管型ウォレットが含まれている。ユーザーは、別途ウォレットをインストールせずにMidnightアプリケーションとやり取りできる。
Kuiraは、シールドおよびアンシールドの残高、トランザクションの同期、DUSTの再生成、$NIGHTの送金をサポートする。さらに、AndroidアプリケーションからMidnightのスマートコントラクトをデプロイして呼び出すために必要なCompactランタイムも備える。
ウォレットへのアクセスにはSigilと呼ばれるパスキー方式のシステムを用いる。生体認証またはデバイスの認証情報でパスキーが解除され、初回のオンボーディング時にリカバリーフレーズを要求することなく、アイデンティティとウォレットのセットアップ手順を保護する。
ユーザーは後から任意の24語のリカバリーフレーズを開示できる。現行のSigilアーキテクチャでは、同期されたパスキーによるアクセス復旧も可能だが、その方法は同一のGoogleアカウントとアプリケーションドメインに依存する。
KuiraはSigil V2を通じて、アプリケーション間でのウォレットの可搬性や異なるGoogleアカウント間での復旧に対応する計画だ。このアーキテクチャは依然としてプロジェクトのロードマップ上にあり、現行のアルファ版には含まれていない。
開発者は、基本的なカウンターアプリケーションやMidnight Kicksなど、端末上で手番を証明するコミットリビール型のゲームを含む実行可能なサンプルを通じて、このスタックをテストできる。
Kuiraのアルファ版は公開済みだが本番運用には未対応
July 14 alpha05 releaseでは、型付きのCompactコントラクト読み取り、コンストラクター引数、複数コントラクト対応、アンシールド資金を移動するためのエンドツーエンドの経路が追加された。
このSDKはApache 2.0ライセンスの下、Maven Central経由で配布されている。公開のGitHubリポジトリにはドキュメントとリリース用インフラが含まれている一方で、主要なSDKリポジトリは非公開のままだ。コンパイル済みのAndroidアーティファクトにはKotlinのソースパッケージが同梱されており、開発者はAndroid StudioやIntelliJを通じて公開実装を確認およびデバッグできる。
Kuiraのrelease documentationは、このSDKをアルファ版として分類している。リリース間でAPIが変更される可能性があり、本番利用は推奨されず、セキュリティ修正は最新のアルファ版にのみ適用される。
現時点でサポートされるプラットフォームはAndroidのみだ。KuiraはiOSおよびReact Nativeの統合を今後の追加予定として挙げているが、いずれも公開されていない。
Alpha05はMidnightのモバイル開発における当面のワークフローを変える。チームは、カスタムのモバイルスタックを組み上げる代わりに、公開済みのAndroid依存関係を通じてローカル証明と組み込みウォレットの機能をテストできるようになった。SDKがアルファのリリースラインを超えて進展するまでは、本番デプロイはKuiraの現時点の推奨範囲外のままだ。