はじめに
この記事、nem advent calendar #2の20日目に投稿する予定でしたが、体調を崩してしまい投稿が遅くなってしまったことお詫び申し上げます。
さて、アポスティーユですがNEMのユースケースの1つですが、Catapultの機能を活用して強化されます。
詳細はNIP-0004に書いてありますが、ここではざっくりどんな風に変わるのかを説明します。
ポイント1: パブリックアポスティーユの廃止
現行NEMのアポスティーユはパブリックとプライベートの2種類がありました。
パブリックのアポスティーユの場合、共通の公証アカウントを持ち、ファイルのハッシュ値を平文で持っています。
一方、プライベートのアポスティーユは、独自の公証アカウントを持ち、ファイルのハッシュ値は所有者の秘密鍵で署名されます。
プライベートのアポスティーユは、独自の公証アカウントを持つため、この公証アカウントをマルチシグ化することで、権利の分割・譲渡を可能にしています。
パブリックのアポスティーユは実装が簡単な反面、拡張性がなくプライベートのアポスティーユに置き換えようとした場合、ほぼ作り直しみたいな感じになるため、プライベートのアポスティーユに一本化されています。
ポイント2: アポスティーユ作成時に所有者割り当ても同時にできるようになった
先ほども述べたようにプライベートのアポスティーユでは独自の公証アカウントが作成されます。これは、管理しないといけない秘密鍵の数が増えることを意味し、利用者の負担が増えることに繋がりかねません。
Catapult版のアポスティーユでは、アグリゲートトランザクションで、公証アカウントのマルチシグアカウント化を行うことにより、アポスティーユの作成と、所有者の割り当てを同時に行えるようになりました。
マルチシグアカウント化すると公証アカウントの秘密鍵では、アカウントの操作も行えなくなるので、鍵の扱いの負担も軽減されます。
ポイント3: アポスティーユにメタデータを入れる事ができるようになった
アポスティーユでは、実際のファイルはブロックチェーン上に保存せず、ファイルのハッシュ値の署名値がブロックチェーンに保存されます。
これは、ネットワークの負担、手数料、プライバシーの観点からしてもよいことなのですが、一方でどんなアポスティーユだったかなど、ちょっとしたデータを追加しておきたいケースもあります。
Catapult版のアポスティーユでは、Catapultに追加されたメタデータを活用し、公証アカウントにメタデータを付与することでこのアポスティーユがどんなものかなどを書き占めることができました。
現行のNEM Walletのタグは??
デスクトップ版のNEM Walletを使ってアポスティーユをしたことがある人は、タグはなんなんだと思うかもしれません。
確かに、アポスティーユ作成する際にタグの入力を求められますが、あれはブロックチェーン上に書き込まれることはなく、アポスティーユの管理用ファイルの中だけで存在します。
まとめ
非常に簡単にですが、Catapultによってアポスティーユがより使いやすくなるポイントを解説しました。
(コードも、図もなく読みづらいかもしれませんが、おいおい追記・修正します)