プライベートスワップから継続的なポジションへ

Shadow Accountsは、The Defiantが6月に報じたSTRK20の展開を拡張する。この第1段階では、Ethereumのレイヤー2であるStarknetに、秘匿されたトークン残高、プライベート送金、スワップが導入された。STRK20は、プライバシープールに預け入れられたトークンを暗号化されたノートとして表し、ゼロ知識証明によってプライベート取引を検証する。

異なるのは、DeFiポジションの所有者が継続して維持される点だ。既存のヘルパーコントラクト方式では、共有アドレスを使って1回のトランザクション内で操作を完了し、その収益を戻す。一方、starknet.jsのガイドによると、シャドーアカウントではプロトコルに安定した仮名の呼び出し元が与えられ、トランザクションをまたいで残高やポジションを保持できる。

アプリは`shadow_account_invoke`を通じて通常のコントラクト呼び出しを送信する。ウォレットはプライベート状態、証明の生成、トランザクションの送信を管理し、アプリがユーザーの閲覧キーを受け取ることはない。シャドーアカウント自体に署名鍵はなく、ShadowAccountAnonymizerコントラクトを通じてのみ操作できる。

ただし、STRK20の情報開示の仕組みがなくなるわけではない。閲覧キーのドキュメントによると、適法な手続きのもとで行動する監査人は、ユーザーの暗号化された閲覧キーを復元し、そのユーザーの履歴を復号できる。

引き続き重要なウォレット対応

開発者はWallet API 0.10.4を含むリリース済みのstarknet.js 10.8.0を利用できるが、シャドーアカウント固有のメソッドに対応する接続済みウォレットも必要となる。統合ガイドは、安定版の10.8.0を推奨している。

starknet.jsのガイドによると、ReadyとXverseはより広範なSTRK20ウォレットAPIに対応しているが、ローンチのドキュメントには、どのリリースがShadow Accountsに対応するかは記されていない。Wallet APIのドキュメントは、アクションを提示する前にウォレットの機能を検出するよう開発者に指示している。