Greetings! New to Zcash?
The Zcash network is young, but evolving quickly! Sign up and we'll be in touch with monthly highlights on ecosystem growth, network development and how to get started with Zcash!

言語

暗号化されたメモ フィールド

Zooko Wilcox & Paige Peterson | Dec 05, 2016

2016年10月28日 をもって、Zcashは現実のものとなりました。インターネットを使用できる人なら誰でも ソフトウェアをダウンロード し、グローバルな分散型ネットワーク に接続して、機密トランザクションのメタデータを公開 することなく、支払いの送受信ができます。

注: ユーザーフレンドリーなウォレットの作成はまだ実現していません。配信しているソフトウェアは、コマンドラインを使用するLinux ユーザーのみに対応しています。幸い、多くの個人や企業が グラフィカルユーザーインターフェース を提供しています。

このブログ記事は、あまり知られていないけれどこの新しいプロトコルの重要なポイントとなり得る機能についてです。

暗号化されたメモフィールド

他のシールドアドレスから自分のシールドアドレスへZcashの支払いを受け取ると、受け取ったZcashの金額が表示されます。この取引を(暗号化された形式で)識別できるトランザクションIDはブロックチェーンで確認できます 。

送信者あるいは受け取ったお金の履歴に関する情報は、何もわかりません。送信者のアドレスも知りません。これは設計によるもので、送信者は自分自身についての他の情報を明らかにせずにお金を送ることができます。

しかし、時に送信者は特定の支払いに関する情報を伝える必要があることに気付きました。例えば、支払いが行われるための請求書番号や口座番号、払い戻しを送付するアドレス、受取人へのメモなどです。

そこで、「暗号化メモ欄」と呼ばれる、支払いの受信者に表示される追加フィールドを実装しました。これは暗号化されたすべての支払いに常に装備され、必ず512バイトぴったりの長さです。送信者がメモを指定しない場合、送信されるメモはすべて0(暗号化前)になり、送信者が512バイトより短いメモを含めた場合は、残りのスペースには暗号化前の0が埋め込まれます。

この埋め込みはプライバシー保護のために必要なものです。これにより、ブロックチェーンを観察している人が暗号化されたメモの使用パターンの違いを検知するのを防ぎます。また、メモを含めてもトランザクション費用が高くなることはありません。コストは既に織り込み済みです。

トランザクションのトランザクションビューキーが(送信者または受信者によって)サードパーティと共有されていない限り、暗号化されたメモを読むことができるのは受信者だけです。トランザクションビューキーがサードパーティと共有されている場合、トランザクションビューキーを受け取ったサードパーティも、メモとブロックチェーン内のトランザクションの量および受信者アドレスを読むことができます。トランザクションビューキーは既にプロトコルに含まれていますが、APIでは未サポートです。

これをどのように利用するか

メモフィールド。覚えていますか?

暗号化メモフィールドは、元々従来の紙ベースのチェックの下部にある備考欄に代わるものでした。しかし、これは何か*他の*用途に利用できるかもしれません。

Zcashは*追加のみ*のブロックチェーンと暗号化の*選択的開示*を組み合わせた初のシステムです。メモ欄を使って、グローバルな分散型のZcashブロックチェーンに512バイト以内で任意のデータを入力できます。入力したデータは*変更不能*、追加のみ*の元帳に書き込まれますが、この段階では誰にも*開示されません。後でこれを誰かに開示したくなったときは、トランザクションビューキーを使用します。するとデータがブロックチェーン内の*対象者*に開示されます。トランザクションビューキー自体を公開すると、データはブロックチェーン内の元の場所に埋め込まれた状態で、すべての人に公開されます。

この機能は、プライベートメッセージ、タイムスタンプ、土地の所有権登記、健康記録や業務記録のような機密情報の安全な保存と共有に役立つと思いますか?

暗号化されたメモフィールドが、その目的に適していて効果的であるかどうかは分かりませんが、現時点では、この機能が実在あるので試してみる価値はありそうです。ぜひ、ご利用の感想をお聞かせください!

返信アドレス

シールドされたアドレス間におけるZECの支払いで送信される、暗号化されたメモフィールドの明確な利用方法は、返品または返金用アドレスです。業者は、商品が返却されたりサービスが予定以前にキャンセルされたりする場合に備えて、支払い時に返金用のアドレスを要求することがあります。メモには、支払いが送信されたアドレスを保持することが要求されていないため、この機能を暗号論的に安全なギフトレシートとして使用することもできます。例えば、妹に誕生日プレゼントを購入した場合、購入者が妹のシールドされた支払いアドレスをメモフィールドに含め、暗号化されたトランザクションの詳細が含まれたトランザクションIDを妹と共有することができます。 妹にはブレスレットの価格は分かりませんが、自分に合わないと分かった場合、トランザクションIDを使用して商品を業者に返却することができます。業者は、その商品とトランザクションIDを関連付け、メモフィールドで提供されたアドレスへの返金処理を開始することができます。

トラベルルール

もう一つの特定の用途は、トラベルルール に準拠することです。トラベルルールとは、FinCEN の規定で、金融機関が他の金融機関にトランザクションを送信する際に、送信する側の金融機関は支払いを行う顧客に代わって顧客の識別情報を含む必要があるというものです。識別情報が、帯域外で送信されたりデータベースに保存されたりするのではなく、支払いとともに 旅する 必要があるため、トラベルルールと呼ばれます。ビットコインを使用する金融機関(例えば、KrakenやPoloniexの交換)は、顧客の個人情報を世界規模で透明なブロックチェーンに含むことができないため、この規定を満たすことが困難なのです。

Zcashを使用すると、顧客の個人情報を暗号化されたメモに挿入することで金融機関がそのルールに準拠することが*できます* 。これにより、受け取る側の金融機関には情報が開示されますが、権限をもたない第三者には開示されません。

ブロックチェーン内のラブレター

最近、ある若い女性から暗号化されたZcashトランザクションを受け取ったと告げられました。そしてそのメモ欄に、IPFS 配信されたファイルシステム内のファイルに結び付くmerkletreeハッシュがあったそうです。リンクを使用したところ、そのファイルは彼女と遠距離恋愛をしているパートナーが一緒に参加することを夢見ていた海外の特別なイベントのチケットであることが分かったのです。

メモはラブレターでした。Zcashブロックチェーンの最初の数ブロックのどこかに永久に埋め込まれ、2人だけが参照することができる手紙です。美しいですね。

zmsg

暗号化されたメモフィールドにメモを挿入し、再び読むことができるシンプルなプログラム(エンクローズトランザクションを受信した場合): zmsg

無限の可能性

この記事でご紹介した例は、ユーザー、開発者および業者による、Zcash支払いの暗号化されたメモフィールド活用方法の一部です。これを参考として、多くの人々にこの機能とその構築ツールを試していただきたいと思います。そして、新たな使用方法や発見、アイデアを、オンラインコミュニティ で共有してください。