Ethereum、Bitcoinで応用が広がる高機能暗号

後編⁠ゼロ知識証明⁠準同型暗号などの高機能暗号を理解するための数学とプログラミングの手引

5月27日、シリコンバレー発で世界最大級のスタートアップ・起業家・イノベーター・クリエイターが集まるコミュニティStartup GrindYouTubeチャンネルで、⁠アフリカ・南米を中心にグローバルで活躍するweb3起業家に聞く」⁠ゲストスピーカー:日置玲於奈氏)と題したアーカイブ動画が公開されました。イベントは2月20日に、Startup Grindの日本・名古屋拠点であるStartup Grind Nagoyaが開催しています。

ゲストスピーカーとして招かれた日置玲於奈(ひおき・れおな)氏は、暗号資産のイーサリアム(以降、Ethereum)を中心に暗号資産・ブロックチェーン関連技術を多く開発するエンジニアです。イベントでは自身の事業内容を中心に、暗号資産・ブロックチェーン開発において応用されている暗号技術について語りました。

本記事では日置氏の説明をベースにしながら、ビットコイン(以降、Bitcoin)やEthereumに代表される暗号資産・ブロックチェーン技術の開発に応用されている暗号技術の動向・概観を把握できるよう、前後編に分けて解説します。

アフリカ・南米を中心にグローバルで活躍するweb3起業家に聞く | Startup Grind Nagoya 8

後編では、筆者の2つの質問と日置氏から得られた回答をベースに、ゼロ知識証明(⁠Zero-Knowledge Proof:ZKP⁠⁠⁠、準同型暗号(Homomorphic Encryption:HE)といった高機能暗号を理解するために必要な数学的知識、そして高機能暗号を用いたプログラミングを学習する際に役立つ情報を紹介します。本記事の内容は一度ですべてを読み切れずとも、今後学習する際の手引として活用してもらえると幸いです。

なお、本来イベントでの質疑応答は、リアルタイムの参加者のみが視聴できる内容です。本記事後編ではStartup Grind事務局より、特別な許可を得た上で質疑応答の模様をお届けします。

質問で取り上げた準同型暗号と日置氏から得られた回答

取材参加していた筆者は、イベント最後に設けられた質疑応答の際、複数の質問をしました。

そのうちの1つが、日置氏のINTMAXチームが開発したINTMAX Walletに応用された準同型暗号に関する質問です。

INTMAX Walletを昨年(2023年9月)リリースしましたが、INTMAX WalletのWebサイトでは、FHE(完全準同型暗号)が利用されていると公表されています。この暗号技術を採用した理由や背景などを説明してください。

上記質問に対して日置氏は、⁠INTMAX Walletに完全準同型暗号を応用した理由としては、ユーザビリティを損なずにEthereum上でマルチシグを実装するためです」と語り、応用した背景や詳細を説明していきます。

準同型暗号の質問をした理由と準同型暗号の概要⁠応用方法⁠メリット

まず、質問に準同型暗号を取り上げた理由としては、暗号資産・ブロックチェーン開発で応用が期待・議論されているのは、前編で紹介したゼロ知識証明だけではないからです。

完全準同型暗号(Fully Homomorphic Encryption:FHE⁠⁠、Witness Encryptionといった高機能暗号も注目を集めており、そのほかにも応用が期待・議論される新しい暗号技術や既存の暗号技術に対する改善提案が数多く存在します。

日置氏の回答をベースにした詳細な説明をする前に、まずは準同型暗号(Homomorphic Encryption:HE)の概要から補足説明します。

準同型暗号の概要

準同型暗号とは、暗号化したデータを復号しないまま、データ分析などの処理に用いることを可能にする暗号方式の総称です。方式にはいくつかの種類があります。

  • 加法準同型暗号:暗号文同士の加法演算が可能です(例:Enc(2) + Enc(3) = Enc(5)⁠⁠。
  • 完全準同型暗号(Fully Homomorphic Encryption:FHE⁠⁠:加法と乗法を含むすべての算術演算が可能です(例:Enc(3) + Enc(4) = Enc(7)、Enc(5) × Enc(10) = Enc(50))
  • Somewhat準同型暗号(Somewhat Homomorphic Encryption:SHE⁠⁠、レベル準同型暗号:実用性向上を目的に、演算の種類や回数に制限を設け、計算コストを軽減した方式です。
  • TFHE(Fully Homomorphic Encryption over the Torus)方式:2016年に提案され、以前の方式よりも高速な完全準同型暗号を実現します。
  • CKKS(Cheon-Kim-Kim-Song)方式:2016年に提案され、整数だけでなく実数または複素数のデータに対する演算が可能です。機械学習や統計分析などでの使用が想定されています。

準同型暗号は、1978年にリベスト、アデルマン、ドーマン(Rivest, Adleman, Dertouzos)によって初めて提唱され(論文名:On data banks and privacy homomorphisms⁠⁠、高機能暗号としては歴史が長いです。現代でも学術的な議論や研究が活発に行われ方式はアップデートされており、理論上の安全性は高いとされています。いずれの方式も、各データの暗号化した状態を維持しつつ、さまざまな演算処理を可能にします。

準同型暗号で期待される応用方法⁠分野⁠メリット

準同型暗号で期待される応用方法には、商取引情報や生体情報といった機密情報を、暗号化したまま複数の組織間で受け渡しながらデータ分析するものが挙げられます。

具体的な応用分野としては、さまざまな組織のデータを学習目的で利用する連合学習(機械学習の一種の手法。参考論文⁠、データを秘匿したまま特定の計算を行う秘密計算[1]があります。

準同型暗号を用いると、プライバシー保護の観点から複数組織間での共用が難しいとされる機密情報のデータ分析を促進することが見込まれます。ほかにも、機密情報を暗号化したままデータ分析に用いるため、復号のための秘密鍵を複数組織間で共有する必要がなくなり、セキュリティ上の管理負担を軽減できるメリットがあります。

INTMAX Walletにおける準同型暗号の応用~マルチシグの懸念解消を提案

ここからは、前述した質問に対する日置氏の回答で得られた、⁠完全準同型暗号を応用したEthereum上でのマルチシグ」について説明していきます。

そもそもウォレット⁠マルチシグとは

まず、INTMAX Walletがどんなツールなのか説明します。

INTMAX Walletは暗号資産を保管する「ウォレット」の一種で、完全準同型暗号以外にも、マルチパーティーコンピュテーション、生体認証といった技術も組み合わせることで、⁠マルチシグ」機能の実装を提案しています。

ウォレットとは、BitcoinやEthereumなどの暗号資産を保管するソフトウェアで、暗号資産の送金時に必要となる秘密鍵による電子署名を操作・管理します。ウォレットにはいくつかの種類があります。

  • ブラウザエクステンションウォレット:ChromeやFirefoxなどのブラウザ拡張機能として利用します(例:MetaMaskPhantom⁠。
  • デスクトップウォレット:専用ソフトウェアをPCにインストールして利用します(例:SpecterElectrumLedger LiveTrezor Suite⁠。
  • ハードウェアウォレット:秘密鍵を保存する物理デバイスであり、多くは操作時にデスクトップウォレットと併用します(例:LedgerTrezorJadeColdcard⁠。

マルチシグとは、ウォレットのセキュリティを強化する技術で、送金を行う際、複数の秘密鍵による電子署名が必要となる設定にできます。例えば、Bitcoinで多用される「2 of 3」マルチシグ設定では、3つの秘密鍵から任意の2つによる電子署名が必要で、1つの秘密鍵が漏洩してもほかの2つが守られていれば不正な送金を防げます。

BitcoinとEthereumにおけるマルチシグ実装の違い~Ethereumには懸念の指摘も

Bitcoinにおいてはプロトコルレベルでマルチシグが標準化されており、⁠2 of 3」以外にも「3 of 5」など、送金時に必要な秘密鍵は任意の数に調整できます(鍵の数を「m of n」と表記して説明するドキュメントが多いです⁠⁠。具体的な実装については、Bitcoin Improvement Proposals(BIP)というオープンソースのBitcoin開発者向けソースコード改善提案集で公開されていますBIP-11BIP-16など⁠⁠。

一方、Ethereumにおいてはプロトコルレベルによるマルチシグは実装されておらず、代わりにスマートコントラクト(ブロックチェーンに保存され一定の条件を満たしたら実行されるプログラム)によるマルチシグの実装方法があります。有名な例としてSAFE(旧Gnosis Safe)があります。

しかし、前述した日置氏の回答にもありましたが、Ethereumのスマートコントラクトによるマルチシグ実装にはユーザビリティ(使い勝手)の低下が懸念されています。

Ethereumの創設者であるヴィタリック・ブテリン(Vitalik Buterin)氏も、昨年6月に暗号資産・ブロックチェーン技術メディアBanklessYouTubeチャンネルで配信されたイベントの際、現状スマートコントラクトを用いたマルチシグ実装は設定面においてまだまだ難しさがある、と懸念を語っています動画関連記事⁠。

INTMAX Walletのマルチシグではスマートコントラクトを使用しない

このような懸念を払拭する手段の1つとして、完全準同型暗号を用いてスマートコントラクトを使用しないマルチシグを提案したのがINTMAX Walletです。

前述したINTMAX WalletのWebサイトにある説明に加えて、INTMAXチームのGitHubで公開されているINTMAX Walletの技術的な仕様紹介INTMAX WalletSDK Protocol Proposalfhe-ecdsa-multisigや日置氏のSNS上での発信1, 2もあわせて確認して勘案すると、INTMAX Walletでは署名に必要な鍵は暗号化され、クライアント側とサーバー側に分散しています。それぞれの鍵の暗号化データが掛け合わされた時点でマルチシグが機能する仕様になっているようです。

ただし、留意事項として、INTMAXチームはINTMAX Walletの仕様に関して、現時点では上記の情報より詳細は公開していないようです。INTMAX Walletが完全準同型暗号を用いてマルチシグを実装していることも、INTMAXチームが公開しているWebサイト上の情報や日置氏が発信した説明に依る部分があります。

INTMAX Walletのように、暗号資産・ブロックチェーン業界で準同型暗号を用いていると公表するソリューションは現状多くはありません。しかし、準同型暗号の応用に注目が集まり始めているのも事実で、前編で紹介したイベント(前編参照:ゼロ知識証明をはじめとした高機能暗号を学べる信頼性ある情報源でも、準同型暗号を応用する試みを解説する動画はいくつかアップされていますCompiling Success: A Path Forward for FHE in Web3 | Rick Weber | PROGCRYPTO,ZK9: Building an FHE compiler for the real world - Ravital Solomon and Rick Weber (Sunscreen)⁠。

今後INTMAXチームがINTMAX Walletの仕様をどこまで公開するかはわかりませんが、暗号資産・ブロックチェーン開発において準同型暗号を用いた新規性ある応用例として、注目すべきソリューションの1つといえるでしょう。

そのほかにも応用が期待⁠議論される数多くの提案~理解するために必要となるのは

前編ではゼロ知識証明、前セクションでは準同型暗号を取り上げましたが、暗号資産・ブロックチェーン開発には、そのほかにも応用が期待・議論される新しい高機能暗号や既存の暗号技術に対する改善提案が数多く存在します。

上記はその一部で、Witness Encryptionは日置氏もこの暗号技術を応用したソリューションを提案した実績があります。

上記の暗号技術や改善提案に関する情報は、まだ論文による解説が大半で、応用可能性に関する学術的な議論が行われている段階です。

ただ、今後も数多くの提案が登場し、暗号資産・ブロックチェーン技術のユーザビリティやセキュリティは改善される可能性があります。ゆえに、暗号資産・ブロックチェーン開発における高機能暗号の応用を取り巻く状況は引き続き激しく変化することが予想されます。

高機能暗号の特徴を把握して変化の激しい最新動向を追いかけられるようになるには、どんなことを理解しておくとよいのでしょうか?

数多くの情報への理解が必要といえますが、高機能暗号の背景で利用されている数学的知識はその中でも重要な情報の1つといえるでしょう。

数学的知識⁠それを用いたプログラミングに関する質問と日置氏から得られた回答

そのため、筆者は次の質問で、暗号資産・ブロックチェーン開発に応用される高機能暗号を理解するのに必要な数学的知識について取り上げました。加えて、その高機能暗号を用いたプログラミングに関する情報も聞き出し、日置氏から有益な回答が得られました。

ゼロ知識証明、完全準同型暗号、Witness Encryptionなどの高機能暗号を理解するには数学的知識(群論、有限体、ペアリングなど)が不可欠です。そして、それら高機能暗号を用いたプログラミングスキルも必要になりますが、そのようなプログラミングスキルを学べる情報があればお聞かせください。

上記の質問に対する日置氏の回答は、⁠書籍としてはプログラミング・ビットコイン⁠。そのほかには暗号技術を用いたCTFが挙げられます」というものでした。この回答に、補足や加筆を交えて説明していきます。

高機能暗号を理解するのに役立つ各種情報リスト

日置氏から得られた、高機能暗号を用いたプログラミングを学べる情報(後述参照:高機能暗号を用いたプログラミングスキルを学べる情報リストを紹介する前に、本セクションではまず質問前半で取り上げた数学的知識について補足します。多くの参考情報を掲載して長文になったので、すでに関連する数学的知識を把握している方は、本セクションを読み飛ばしても問題ありません。

数学的知識に言及した技術解説記事

ゼロ知識証明、準同型暗号という高機能暗号を理解するためには、線形代数、代数学(群、環、体⁠⁠、数論、代数幾何学、確率論、計算複雑性理論など、数学の複数にわたる分野に精通している必要があります。これらの数学的知識について言及している、暗号資産・ブロックチェーンの技術解説記事としては以下があります。

楕円曲線の夢の国に住もう!!(日置氏のMedium)
昨今の暗号資産・ブロックチェーン開発に応用されているゼロ知識証明をはじめとした高機能暗号を理解するのに必要となる数学的知識を、数式やグラフも交えてステップ・バイ・ステップで解説した記事で、日置氏が執筆しています。
楕円曲線、⁠群、⁠有限体、⁠楕円曲線エルガマル暗号、ECDSA、フロベニウス写像、⁠有限体の拡大体、楕円曲線上の等分点・ねじれ点、⁠ヴェイユペアリング、関数因子、⁠アーベル=ヤコビの定理、⁠テイトペアリングといった、代数学、数論、代数幾何学などに位置付けられる各概念を解説しています。
ヴィタリック⁠ブテリン氏によるzkSNARKを支える技術や⁠zkSTARKに関して解説した一連のブログ記事⁠これらの記事はEthereumにゼロ知識証明が応用されるきっかけとして強い影響を与えました⁠最後の「Exploring Fully Homomorphic Encryption」は⁠完全準同型暗号を解説した記事です⁠
多項式(Polynomials)⁠有限体(Finite Field)⁠ラグランジュ補間(Lagrange Interpolation)⁠楕円曲線(Elliptic Curve)⁠ペアリング(Pairing)⁠素体(Prime Field)⁠拡大体(Extension Field)⁠双線形写像(Bilinear Map)⁠マークルツリー(Merkle Tree)⁠合同算術(Modular Arithmetic)などの数学的知識について⁠数式も交えた解説をしています⁠
herumiさんの記事一覧 | Zenn(光成滋生氏によるZenn記事一覧)
サイボウズ・ラボで暗号とセキュリティに関するR&Dに従事する、光成滋生氏githubが公開している暗号技術や最適化周りの解説記事一覧。ゼロ知識証明に関連するものとしては群、楕円曲線、楕円曲線暗号、楕円エルガマル暗号、ペアリングなど、準同型暗号に関連するものとしては多項式環、ベクトル空間の同型などといった数学的知識について解説した記事が公開されています。

ほかにも初学者の方には、ゼロ知識証明はzkSNARKs in a nutshell | Ethereum Foundation BlogZero Knowledge Proofs: An illustrated primer⁠、Zero Knowledge Proofs: An illustrated primer, Part 2⁠、準同型暗号はA brief survey of Fully Homomorphic Encryption, computing on encrypted dataなどの記事も参考となるでしょう。

数学的知識に言及した技術解説を精力的に発信する企業や団体など

上記の記事以外にも、暗号資産・ブロックチェーン業界で高機能暗号を応用したソリューションを開発している企業や団体、プロジェクトなどは、数学的知識に言及した技術解説情報を精力的に発信しているので一部を紹介します。

以下リストの末には、ゼロ知識証明、準同型暗号の標準化団体も掲載しています。

0xPARCGitHubブログ
0xPARCは、ゼロ知識証明を中心に高機能暗号のR&D、オープンソースツール・インフラ開発、教育活動を行うコミュニティ・財団。前編で紹介したThe Programmable Cryptography Conferenceを主催しています。
learn.0xparc.orgという派生グループもあり、ゼロ知識証明のコンパイラー「Circom⁠⁠、証明システム「Halo2」を使用したアプリケーション開発のチュートリアルを公開しています。チュートリアルを通じて、ゼロ知識証明の数学的知識についても学習できる内容になっているようです。
AleoGitHubブログYouTube
Aleoは、ブロックチェーン開発向け関数型静的型付けプログラミング言語Leo⁠、ゼロ知識証明を応用したアプリケーション開発に用いるsnarkOSsnarkVMなどを開発・運営する企業。ゼロ知識証明に関する教育事業も多く展開しています(後述参照:日置氏のおすすめ~⁠プログラミング・ビットコイン⁠⁠、CTF⁠。
IngonyamaGitHubブログVideos
IngonyamaはICICLEBLAZEという、GPU、FPGA上でのゼロ知識証明の計算処理を高速化するライブラリを開発する企業。
ゼロ知識証明の教育や普及活動にも精力的に取り組み、同社運営のウィキであるIngopediaでは、ゼロ知識証明、準同型暗号に関する学習情報が数多く掲載されています。初学者にとっては、充実した情報源といえるでしょう。
Polygon LabsGitHubブログ
Polygon Labsは、⁠Polygon」を代表に、ブロックチェーン関連のソリューションを数多く開発する企業。⁠Polygon zkEVM」などゼロ知識証明を応用した技術も開発しており、その他にもブロックチェーン技術の教育事業も展開しています。
Polygon Learn⁠、zk Researchというコンテンツがあり、ゼロ知識証明に関する論文やブログ記事などの解説情報がまとめられています。
ScrollGitHubブログYouTube
Scrollは、ゼロ知識証明を応用したEthereumのレイヤー2開発を進めるプロジェクト。Ethereumのブロックチェーン上でスマートコントラクトの実行環境であるEVM(Ethereum Virtual Machine)と互換性のあるzkEVMを開発しています。開発者向けドキュメントにゼロ知識証明に関する解説情報があります。
StarkWareGitHubブログYouTube
StarkWareは、zkSTARKを用いたソリューションを数多く開発するイスラエル発の企業。zkRollupを活用したEthereumのレイヤー2Starknet⁠」⁠、dYdXにも利用されているDeFiを中心にした開発用プラットフォームStarkEx⁠⁠、zkSTARKを用いたプログラムを作成する言語Cairoなどを開発・運営しています。
STARK⁠、STARK 101というコンテンツがあり、ゼロ知識証明に関する論文や動画、ブログ記事、Python実装によるチュートリアルなどの解説情報が多くまとめられています。
ZamaGitHubブログYouTube
Zamaは、完全準同型暗号を用いたソリューションを多く開発しているフランス発の企業。RustでTFHEを実装するTFHE-rs⁠、完全準同型暗号のコンパイラーConcrete⁠、完全準同型暗号を用いてEVM上で機密性の高いスマートコントラクトを実装するfhEVMなどを開発しており、開発者向けドキュメントで説明しています。
FHE resourcesでは、完全準同型暗号に関するブログ記事、ライブラリ、論文、チュートリアルをまとめており、Zamaのツールを通じて、完全準同型暗号を用いたプログラミングの学習もできる内容になっています。
ZKProof StandardsGitHubブログ
ZKProof Standardsは、ゼロ知識証明の主流化を目指す標準化団体で、暗号資産・ブロックチェーン業界の企業やプロジェクトも数多く参画しています。
ゼロ知識証明に関するリファレンスの公開、コミュニティの展開などを行っています。また、毎年暗号技術の技術者や実務者が参加するカンファレンス「ZKProof」も開催しており、ZKProof StandardsのYouTubeチャンネルでも公開されています。今年は5月22日-24日にドイツ・ベルリンでZKProof 6を開催。
Homomorphic Encryption Standardization
Homomorphic Encryption Standardizationは、準同型暗号の標準化団体。セキュリティの専門家とも協議しながら、準同型暗号の安全性検証やアプリケーション開発に利用できるAPIの検討などを行っています。
同団体は入門資料としてWikipediaの準同型暗号⁠英語版)を推奨しています。ほかにもMicrosoft SEALOpenFHEなどの準同型暗号を用いたオープンソースツールを紹介しています。

上記の企業やプロジェクトなどは、GitHub上で開発したソリューションやプロダクトに関するソースコードや研究論文も積極的に公開しています。できれば数学的知識の学習とあわせてほかの情報も確認しておくとよいでしょう。

数学的知識を解説する書籍

これまで紹介したWeb記事や企業・プロジェクトの発信情報では、数学的知識が頻出します。数式や専門用語に戸惑う初学者の方は、関連する数学的知識を解説する入門書から読み始めることをおすすめします。

前述した数学的知識をすべて網羅しようとすると関連する分野が広範かつ多岐にわたるため、記事分量の都合上、すべてを取り上げることは難しいです。そのため、特に重要といえる代数学の書籍を中心に、以下に参照します。

  1. なっとくする群・環・野崎昭弘 著、講談社
  2. 群論への第一歩 集合、写像から準同型定理まで結城浩 著、SBクリエイティブ
  3. 代数学1 群論入門 第2版雪江明彦 著、日本評論社
  4. 代数学2 環と体とガロア理論 第2版雪江明彦 著、日本評論社
  5. 群・環・体入門新妻弘/木村哲三 著、共立出版
  6. 演習 群・環・体入門新妻弘 著、共立出版
  7. 現代暗号の誕生と発展岡本龍明 著、近代科学社
  8. クラウドを支えるこれからの暗号技術光成滋生 著、秀和システム著者GiHubページによる書籍解説
  9. 図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書光成滋生 著、技術評論社著者による書籍内容の動画解説
  10. プログラミング・ビットコインJimmy Song 著, 中川卓俊/住田和則/中村昭雄 監訳, 星野靖子 訳、オライリージャパン第1章で有限体、第2章で楕円曲線、第3章で楕円曲線暗号を解説)

上記1, 2は群・環・体の概念や定理を平易な文章で解説して概要を把握できる書籍、上記3,4,5,6は大学・大学院で教科書として利用され代数学の用語全般を解説した書籍、上記7,8,9,10は暗号資産・ブロックチェーン開発における暗号技術、数学的知識について解説する書籍です。

上記の書籍で、基本的な用語や数式について学習して、理解が固まった後からほかの書籍や論文などにも範囲を広げて学習を進めるとよいと思われます。

高機能暗号を用いたプログラミングスキルを学べる情報リスト

本セクションでは、前述した筆者の質問に対する日置氏の回答をベースに、数学的知識を必要とする高機能暗号を用いたプログラミングスキルを学べる情報を紹介します。

日置氏のおすすめ~『プログラミング⁠ビットコイン』⁠CTF

まず、高機能暗号を用いたプログラミングスキルを学ぶための情報は、率直に言って少ないようです。

日置氏は数少ない有益な教材の1つとして書籍のプログラミング・ビットコイン⁠、著者GitHub上の公開情報を取り上げています。本書は第1章で有限体、第2章で楕円曲線、第3章で楕円曲線暗号といった、数学的知識と暗号技術についてPythonプログラミングの実装を通じて学べる内容になっています。

しかし、現状の暗号資産・ブロックチェーン開発ではRustを用いることが多く、書籍の内容をすぐにソースコードの実装に活用できるというわけではないようです。

そのため日置氏は高機能暗号を用いたプログラミングスキル向上の参考情報として、暗号技術を用いるCTF(Capture the Flag:攻撃者の立場になりプログラムの脆弱性を狙ってハッキングするゲームやパズル問題を解く競技プログラミングの一種)が有益であることを説明しました。

暗号資産・ブロックチェーン業界におけるCTFとしては、スマートコントラクトの監査事業を展開するOpenZeppelin運営のEthernaut CTFが代表的ですが、本記事で紹介した高機能暗号を用いるプログラミング問題を扱うCTFとしては以下があります。

Intmax Anti-AGI Cryptographers CTF
日置氏のINTMAXチームが開催していたCTF。準同型暗号を用いたECDSAのマルチシグ署名の問題、ゼロ知識証明とWitness Encryptionの脆弱性を狙う問題が日置氏のGitHubで公開されています。
Ingonyama ZK CTF
前述した、ゼロ知識証明の教育や普及活動に取り組むIngonyamaが開催したCTF。日置氏もおすすめのCTFとして紹介しています。
ZK HACK PUZZLES
ゼロ知識証明の研究やアプリケーションの最新動向を学習して発信するコミュニティZK Hackが公開しているパズル問題。
問題の作成には前述したAleoPolygon Labsなどの企業も携わっており、数多くの参考情報とあわせて丁寧な問題解説も掲載されています。

入門者向けの参考情報

いきなり上記のCTFに取り組むことに敷居の高さを感じる方は、高機能暗号を用いた簡単なプログラムの作成から始めるとよいでしょう。

ゼロ知識証明を用いたプログラミングについては、ゼロ知識証明を用いた計算回路(Circuitと呼ばれます)を作成できるCircomというコンパイラーで、簡単なCircuitを作成することからおすすめします。CircomのWebサイトにCircuitを簡単に作成するためのチュートリアルが公開されています。

準同型暗号を用いたプログラミングについては、前述したZamaのFHE resourcesにあるTutorialsから、Zamaのツールを通じて、学習できます。

まとめ~高機能暗号は機械学習など他分野にも応用が広がる

その後の質疑応答でも、日置氏からは、レイヤー2に重要となる「Data Availability」⁠データの可用性)⁠Stateless」の特徴と重要性や、ゼロ知識証明を応用したASIC計算などに関する説明なども語られ、イベントは終了します。

以上、前後編にわたり、暗号資産・ブロックチェーン開発で注目を集めるレイヤー2や高機能暗号に関する情報をお届けしました。

本記事で取り上げたゼロ知識証明は、暗号資産・ブロックチェーン開発以外にも、応用可能性が議論される分野が広がっています。

特に機械学習分野においては、機械学習モデルの推論やトレーニングの正当性をゼロ知識証明で保証する技術が提案されており、暗号資産・ブロックチェーン業界からも注目されています。参考記事

準同型暗号については、以前より連合学習、秘密計算の分野での応用が期待されている高機能暗号でしたが、暗号資産・ブロックチェーン開発における注目の高まりもあり、さらに応用可能性に関する議論が活発化するかもしれません。

今後も、これらの高機能暗号を応用したソリューションがインターネット上でオープンに開発・運用されるケースが増えれば、高機能暗号の実用性や可用性が整理されていくと予想されます。暗号資産・ブロックチェーン開発は、高機能暗号の実証実験の場として機能しており研究の推進に大きな役割を果たしている、そのような側面はあるといえるでしょう。

詐欺や暗号資産取引所からの不正な資金流出など、社会的に解決すべき問題を多く残す暗号資産・ブロックチェーン業界。しかし、背景ではレイヤー2、高機能暗号などを用いた開発を通じて、さまざまな技術的な改善に取り組むエンジニアや研究者たちの挑戦があるのです。

本記事が多くの人の目に留まり、微力ながらも、価値ある技術を構築しようと目指すエンジニアや研究者たちの後押しになることを願います。

おすすめ記事

記事・ニュース一覧