Mina(ミナ)とは
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 6 分
結論
Minaは、チェーン全体の履歴を保持しなくても検証できるように設計されたブロックチェーンです。過去の状態をゼロ知識証明で圧縮し、検証に必要なデータをごく小さなサイズに保つことを目標としています。この性質から、スマートフォンやブラウザでも完全な検証ができる点が設計上の主張です。
要点
- 再帰的なゼロ知識証明により、チェーンの検証に必要なデータを一定の小さなサイズに保つ
- 過去の全取引を保存しなくても、現在の状態が正しいことを確認できる
- zkAppと呼ばれるアプリは、TypeScriptベースのライブラリで記述する
- Proof of Stakeで運用され、ブロック生成者と証明生成者の役割が分かれている
定義
再帰的ゼロ知識証明によって台帳の履歴を圧縮し、検証に必要なデータ量を小さく保つように設計されたProof of Stakeのブロックチェーン。
Minaが問題としたのは、ブロックチェーンの検証コストです。ビットコインやイーサリアムを自分で完全に検証しようとすると、数百ギガバイトの履歴をダウンロードして順に処理する必要があります。結果として、多くの利用者は他者が運用するノードの応答を信用することになります。
Minaの解決策は、証明を再帰的に重ねることです。新しいブロックを処理するたびに「直前までの証明が正しく、かつ今回の遷移も正しい」ことを示す新しい証明を生成し、古い証明を置き換えます。これにより、検証に必要なのは最新の証明だけになり、データ量はチェーンが伸びても増えません。
アプリケーションはzkAppと呼ばれます。計算をチェーン外で実行し、その結果が正しいという証明だけをチェーンに提出する構成のため、入力そのものを公開せずに条件を満たしたことだけを示す用途と相性があります。開発にはo1jsというTypeScript向けのライブラリが使われます。
運用面では、ブロックを生成するプロデューサーと、証明の生成を担うスノーカーという役割が分かれています。証明の生成には計算資源が必要なため、その作業を市場として切り出すという設計になっています。ステーキングは委任が可能で、保有者は自分で運用しなくても参加できます。
注意点
- · 検証データが小さいことと、取引の処理能力が高いことは別の話であり、スループットは証明生成の速度に制約される
- · ゼロ知識証明の実装は複雑で、証明系そのものの不具合が資産の安全に直結する
- · zkAppの開発手法は一般的なスマートコントラクトと異なり、既存のEVM向けコードは流用できない
よくある質問
チェーンが小さいということは、取引履歴が消えるのですか?
消えるわけではありません。検証に必要なデータが小さいだけで、履歴そのものはアーカイブノードなどに保存されます。証明は「過去が正しかったこと」を示すものであり、履歴の中身を参照したい場合は別途データを保持する必要があります。