Core Concepts
複数配列アラインメントの入力と出力の整合性を検証し、アラインメントの詳細を明かすことなく正当性を証明する。
Abstract
本論文は、生物情報学における重要なアルゴリズムである複数配列アラインメント(MSA)に対するゼロ知識証明の設計について述べている。
MSAは、DNA、RNA、タンパク質などの生物学的配列を比較し、最適にアラインメントを行うアルゴリズムである。通常のMSAでは、アラインメントの詳細が公開されるが、商業的な機密性を保つために、アラインメントの詳細を非公開にしつつ、アラインメントスコアのみを公開することが望ましい場合がある。
本論文では、Circomという回路記述言語を使って、MSAの入力と出力の整合性を検証するバリデータを実装している。このバリデータは、アラインメントが入力配列を正しく反映していること、およびアラインメントスコアが正しいことを検証する。
回路は2つのサブコンポーネントから構成される。1つはアラインメントスコアの整合性を検証し、もう1つは入力配列とアラインメントの整合性を検証する。これらのサブコンポーネントの出力を組み合わせることで、最終的な検証結果が得られる。
Circomで記述された回路は、zkSNARKと呼ばれるゼロ知識証明システムを使って、入力の詳細を明かすことなく、回路の正当性を証明することができる。これにより、アラインメントの詳細を非公開にしつつ、その正当性を示すことが可能となる。
本手法の実装では、入力パラメータの変化に伴う制約条件の増加を観察している。大規模な入力に対しては、制約条件が膨大になるため、効率的な最適化が必要となる。今後の課題として、制約条件を削減するための回路の最適化が挙げられる。
Stats
アラインメントの長さが10、配列の長さが10の場合、制約条件の数は18,552個である。
アラインメントの長さが100、配列の長さが100の場合、制約条件の数は1,355,502個である。
アラインメントの長さが200、配列の長さが100の場合、制約条件の数は35,160,002個である。
Quotes
"MSAは、DNA、RNA、タンパク質などの生物学的配列を比較し、最適にアラインメントを行うアルゴリズムである。"
"通常のMSAでは、アラインメントの詳細が公開されるが、商業的な機密性を保つために、アラインメントの詳細を非公開にしつつ、アラインメントスコアのみを公開することが望ましい場合がある。"
"Circomで記述された回路は、zkSNARKと呼ばれるゼロ知識証明システムを使って、入力の詳細を明かすことなく、回路の正当性を証明することができる。"