ioPayにおけるアカウントアブストラクション - DePINウォレット

Account Abstraction on ioPay - the DePIN Wallet

ioPay(IoTeXチームによって開発)は、アカウントアブストラクションのローンチを発表できることを大変嬉しく思います!これにより、ioPayは市場で最大規模かつ実績のあるマルチチェーンAAウォレットとなります。本ブログでは、AAがなぜ重要なのか、AA分野におけるIoTeXの取り組み、ioPayでの実装、そしてioPayでAAウォレットをセットアップする方法についてご紹介します。

AAが重要な理由

アカウントアブストラクションとは、ブロックチェーンネットワークのアーキテクチャにおける根本的な変化を表す用語です。従来、ブロックチェーンのアカウントは、資金を管理する秘密鍵に関連付けられたシンプルなアドレスでした。しかし、アカウントアブストラクションは、アカウントが単なる資金の入れ物であるだけでなく、複雑なコードを実行できるという、より高度なモデルを導入します。要するに、アカウントアブストラクションは資金の管理とコードの実行という役割を分離し、より動的で強力なスマートコントラクトを可能にします。この変化により、開発者はコントラクトの実行や相互作用においてより高い柔軟性を提供することで、革新的なアプリケーションを作成できるようになります。ioPayの場合、AAはアカウント作成とアカウント復旧の簡便性を大幅に向上させます。さらに、AAはこれまで不可能だったioPayの他の多くの機能への扉を開くものでもあります。アカウントアブストラクションの利点:

  1. 柔軟性の向上: アカウントアブストラクションは、スマートコントラクトの設計において開発者に高い柔軟性を提供します。このアプローチにより、開発者は資金の管理をコントラクト実行のロジックから分離することができ、より動的でモジュール式のアプリケーションを実現できます。
  2. ガスコストの削減: ガス料金は、ブロックチェーンエコシステムにおいて大きな懸念事項であり、分散型アプリケーションのスケーラビリティと普及を妨げてきました。アカウントアブストラクションは、スマートコントラクトの実行を最適化することでガスコストを削減する可能性を秘めています。この最適化は、複数のトランザクションを必要とせずにコントラクトを実行できるようにすることで、計算リソースを節約することにより実現されます。
  3. アップグレード性の向上: 従来のスマートコントラクトは、一度デプロイされると変更不可能なことが多く、バグの修正や新機能の追加が困難でした。アカウントアブストラクションは「コントラクトのアップグレード性」という概念を導入し、機能を損なうことなく開発者がコントラクトを更新・改善できるようにします。この機能は、分散型アプリケーションを長期にわたって維持・進化させる上で極めて重要です。
  4. 革新的なユースケース: アカウントアブストラクションは、開発者にとって新たな可能性の領域を切り開き、革新的なユースケースへの道を開きます。これには、分散型金融(DeFi)や非代替性トークン(NFT)などの分野でのアプリケーションが含まれます。資金とコード実行の分離により、これまで実装が困難だった、より複雑で機能豊富なアプリケーションの作成が可能になります。
  5. セキュリティの向上: アカウントアブストラクションによって導入される関心の分離は、スマートコントラクトのセキュリティを強化することができます。資金の管理をコードの実行から切り離すことで、潜在的な脆弱性や攻撃対象領域が減少し、悪意のある攻撃者が脆弱性を悪用することがより困難になります。

DePINイノベーションを可能にするIoTeXのモジュラーインフラ

IoTeXは、スマートデバイスと実世界のデータをブロックチェーンに接続するモジュラー型Web3インフラプラットフォームです。IoTeXのミドルウェアソリューションである W3bstreamは、実世界データの計算と検証を提供し、それをオンチェーンに取り込む一方で、大量採用を促進するために開発者が必要とするモジュール性とカスタマイズ性を提供します。DePIN(分散型物理インフラネットワーク)インフラの主要プロバイダーとして、IoTeXはユーザーにデバイスやオン/オフチェーン活動から得られる新しい報酬をもたらし、個人のデバイスを共同経済に変え、「あらゆるもののデータ」をトークン化します。60名以上の研究科学者やエンジニアからなるグローバルチームに支えられ、 IoTeXは、EVM互換のL1ブロックチェーン、オフチェーン計算ミドルウェア、オープンハードウェアを組み合わせることで、物理世界とデジタル世界にまたがる何十億ものスマートデバイス、マシン、センサー、dAppsを接続します。もちろん、あらゆるDePINプロジェクトにとって重要な要素の一つがモバイルウォレットです。そのため、IoTeXチームは、DePINウォレットの決定版であるioPayの開発に膨大な時間を費やしてきました(ウォレットへのDePINscanの統合も含まれます)。

DePINイノベーションを可能にするIoTeXのモジュラーインフラ

IoTeXは常に多くの最先端技術の分野で、ブロックチェーンとオフチェーン計算で可能なことの限界を押し広げようとしてきました。AA技術もまた、IoTeXが最前線に立ってきた分野の一つです。2023年9月には、Ethereum Financeから助成金を獲得しました。具体的には、この助成金はERC-4337とIoTeXによるゼロ知識アカウント抽象化ウォレットの活用に関する取り組みに対して授与されたものです。

Empowering Innovation: ERC-4337


zk-SNARK証明技術を活用し、IoTeXはパスワードで認証可能なアカウント抽象化ウォレットを構築しました。zk-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)とは、ある当事者が別の当事者に対して、ある主張が真実であることを、その主張の有効性以外の追加情報を一切明かすことなく証明できる暗号証明システムです。zk-SNARKは、プライバシーに重点を置いた暗号通貨Zcashなど、さまざまなブロックチェーンアプリケーションで使用されており、送信者、受信者、または関連する金額の身元や取引の詳細を明らかにすることなく、トランザクションを検証してブロックチェーンに記録することを可能にします。zk-SNARKという用語は、口語的にはゼロ知識証明システム全般を指して使われることもありますが、厳密には、簡潔な証明サイズを持ち、証明者と検証者の間の対話を必要としない特定のタイプのゼロ知識証明システムを指します。

AA Details

ゼロ知識アカウント抽象化助成金を獲得したIoTeXのMVPを試してみたい方は、以下のリンクからご利用いただけます。https://zk-wallet-demo.iotex.io。 このLinktreeでは、IoTeXのAA関連の取り組みを現在までまとめてご覧いただけます。アカウント抽象化の分野でIoTeXが培った専門知識を活かすことで、ioPayへの実装は当然の次のステップとなりました。

ioPayにおけるアカウント抽象化の実装

ioPayは常にセキュリティとユーザーエクスペリエンスを重視してきました。そのどちらもが、アカウント抽象化の実装によって強化されています。ioPayは現在、GmailによるAAログインをサポートしています。近い将来、ioPayは他のAA認証方式の実装も計画しています。この機能をioPayに組み込むにあたり、チームはウォレットのトランザクション認証にP256を、ユーザーアカウントの復旧にはメールベースのDKIMプロトコルを活用しました。DKIM(DomainKeys Identified Mail)は、デジタル署名を使用してメールの受信者に、そのメッセージがドメインの所有者によって送信・承認されたものであることを知らせるメール認証方式です。受信者がメールに有効なDKIM署名が付与されていることを確認できれば、そのメールの内容が改ざんされていないことが確認できます。これにより、DKIM署名をオンチェーンのコントラクト上でユーザーを検証し、ユーザーのioPayアカウントを復旧することができます。P256はsecp256r1楕円曲線を使用しており、これはEVM上に適用してトランザクション/スマートコントラクトの安全な認証と署名を作成できる、広く受け入れられている暗号標準です。ほとんどの最新のデバイスやアプリケーションは「secp256r1」楕円曲線に依存しています。例えば:

  1. AppleのSecure Enclave: Appleのハードウェアには独立した「信頼実行環境(Trusted Execution Environment)」があり、任意のメッセージに署名でき、生体認証によってのみアクセス可能です。
  2. Webauthn: Web Authentication(WebAuthn)は、World Wide Web Consortium(W3C)が公開したウェブ標準です。WebAuthnは、公開鍵暗号を使用してウェブベースのアプリケーションやサービスに対するユーザー認証のためのインターフェースを標準化することを目指しています。現代のウェブブラウザのほとんどで使用されています。
  3. Androidキーストア: Androidキーストアは、秘密鍵と署名方式を管理するAPIです。アプリケーションの署名方式としてキーストアを使用している間、秘密鍵は処理されません。また、これはマイクロチップ内の「信頼実行環境」で行うことができます。
  4. パスキー: パスキーはFIDOアライアンスとW3Cの標準を利用しています。パスワードを暗号鍵ペアに置き換えるもので、これも楕円曲線暗号に使用できます。IoTeXネットワークは既に「secp256r1」楕円曲線での署名検証を実行するプリコンパイル済みコントラクトをサポートしているため、ioPay AAウォレットの検証ロジックをAppleのSecure EnclaveとAndroidキーストアに基づいて、一定のガスコストで構築することは理にかなっています。デバイスのセキュアエンクレーブ/キーストアと生体認証を活用することで、非常に安全性の高いAAウォレットを実現できます。これらの新しいAAウォレットの利用を促進するため、期間限定でIoTeXはioPay AAウォレットを利用するユーザーに対し、ガス代の支払いとして1日あたり2 IOTXを提供します。ioPayユーザーがMachineFi NFTを保有している場合、MachineFi NFT保有者への特別な特典として、1日あたり10 IOTXのガス代を受け取ることができます。

ioPayでAAウォレットを設定する方法

ステップ1) ioPayをダウンロードし、AAウォレットを作成を押します。

AAウォレットを作成を押します。

ステップ2) Gmailアドレスを入力します

Gmailアドレスを入力します

ステップ3) 一意の認証コードが記載されたメールが届きます

ステップ4) お祝いメッセージが表示され、この新機能の利用を促進するためにユーザーに2 IOTXが付与されます。(Iotexを一度も利用したことがない新規ユーザーにとっては、ネイティブトークンを得られるため特に有益です)

お祝いメッセージが表示され、この新機能の利用を促進するためにユーザーに2 IOTXが付与されます。(Iotexを一度も利用したことがない新規ユーザーにとっては、ネイティブトークンを得られるため特に有益です)

ステップ5) ユーザーはホームページに戻り、AAウォレットを活用してあらゆる取引を行ったり、あらゆるdAppを利用したりできます。

ユーザーはホームページに戻り、AAウォレットを活用してあらゆる取引を行ったり、あらゆるdAppを利用したりできます。

6) ユーザーは1日あたり1ユーザーにつき2 $IOTX(通常のAAユーザーの場合)を受け取り、MachineFi NFTも所有している場合は1日あたり1ユーザーにつき10 $IOTXを受け取ります。

ユーザーは1日あたり1ユーザーにつき2 $IOTX(通常のAAユーザーの場合)を受け取り、MachineFi NFTも所有している場合は1日あたり1ユーザーにつき10 $IOTXを受け取ります。