11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

nem #2Advent Calendar 2020

Day 22

ECサイトにクレカ番号や住所を教えずに買い物をする未来の話

Last updated at Posted at 2020-12-22

ブロックチェーンを使うと、病院をまたいだ電子カルテの共有ができるとか、改ざんできない学歴の証明によって就職や採用に活用することができるとか、なんだかすごそうに聞こえますが、あまり身近な話ではなくピンとこない人が多いかもしれません。今回は、ごく身近にあるネットショッピングというテーマでブロックチェーンの活用方法を考えてみたいと思います。ちなみに今回の内容は是非ともブロックチェーンを使うべき、というものではありません。ブロックチェーンを組み込むことでDIDなどが目指す分散型アイデンティティを実現した、より安心できる社会の可能性について何か感じていただければと思います。

なお、今回のエントリーは前回に投稿した、分散型識別子DID的に見たNEMはんこの技術的な解説ブロックチェーンで社会実装を加速させるデザインパターン9種類の内容を引き継いだものとなっていますので、ぜひそちらの方も併せてお読みください。

まず、現在のショッピングサイトの仕組みについて考察してみます。

  • ECサイトで注文する
  • クレジットカード番号を入力する
  • 配送先住所を入力する
  • 商品が出荷される

ここでECサイトにクレジットカード番号を入力したり、住所を入力するわけですが、これらはECサイトには関係の無い情報です。不要な情報のやり取りをそぎ落としていくと、必要な情報はECサイトへ商品代金を入金した事実と、配送業者への住所の通知です。分散型アイデンティティの普及した社会では、自分に関する情報のすべてを提供せず、必要な事業者に対して必要な情報だけを伝えるというスタンスを持ちます。

では上記商品購入のフローを、分散型アイデンティティ的なモデルで考えてみましょう。

image.png

商品を購入するユーザの周りに4つの関係者がいます。

  • 自治体
    • ユーザがどこに住んでいるかを証明します。
  • 銀行
    • ユーザーからの送金指示を受け、ECサイトに入金します。
  • ECサイト
    • ユーザからの注文と銀行からの入金を受け、配送会社に出荷指示を出します。
  • 配送会社
    • ECサイトから出荷指示を受け、ユーザに商品を届けます。

これらの関係者はあらかじめ決められた前提条件を守りながら作業を行います。

  • 注文
    • ユーザの居住証明を確認し、ECサイトが自治体の署名付き年齢(誕生日)をリクエストします。
  • 送金
    • 銀行の支払い証明を確認し、ECサイトが配送会社に出荷指示を出します。
  • 配送
    • ECサイトからの出荷指示を確認し、配送会社が自治体の署名付き住所をリクエストします。

前提条件に使用された証明や指示の内容です。

居住証明

ユーザが当該自治体の管理区域に居住していることを証明するドキュメントです。自治体が公表するアカウント(DID:Issuer)から発行され、ECサイトによって購入者の購入適正の検証に使用されます。クレジットカードで言えばのカード作成時の信販会社からの審査と同等です。

支払い証明

ユーザが銀行に対してECサイトへ送金指示を出したこと証明するドキュメントです。ユーザーの支払いが済んだかどうかは問題ではなく、銀行がお金の流れを責任を持つことの意思表明でもあります。証明書ではなく実際のステーブルコインなどの送金トランザクションである可能性もあります。

出荷指示

ECサイトが配送会社へ商品出荷を指示するドキュメントです。配送会社は一連のトランザクションをトレースすることでユーザを特定し、住所情報の開示をユーザにリクエストします。リクエストを受け取ったユーザECサイトからの出荷指示の存在を確認した後、住所情報を配送会社に伝えます。すべての作業がブロックチェーン上で完結しているのでシステムをまたぐようなトレーサビリティ構築の必要がありません。

アグリゲートトランザクション

Symbol from NEMなどでは上記のようなトランザクションを一括にまとめて一つのブロックに詰め込むことが可能です。


ユーザ.aggregate[
  ユーザ.Transfer{message:"{注文No:12}"}->ECサイト,
  ユーザ.Transfer{mosaic:{dyen:1980}}->銀行,
  銀行.Transfer{message:"支払い証明"}->ユーザ,
  ECサイト.Transfer{message:"出荷指示"}->配送会社,
  ユーザ.Transfer{message:"居住証明"}->配送会社
]

これらのトランザクションを一つにまとめることで、仲介者が情報を集めている間に利害関係者の状態が変わってしまう(例えばキャンセルや期限切れ、残高枯渇、引っ越しなど)、という現実社会においてバグを生み出しやすく、システム設計上非常に実装コストのかかる箇所を回避することができます。

さいごに

分散型アイデンティティの考え方をネットショッピングに取り入れてみました。これは個人情報保護の観点のみならず、昨今頻発する大手企業のクラウド障害などによって、自分に関する情報なのに必要な時に取り出せない、といったトラブルからも回避できるようになると考えます。生殺与奪をつかさどる自分に関する情報を一か所に集めない仕組みは今後より重要な役割を担っていくことになるでしょう。

ちなみに、「お金を一か所に集めない仕組み」をいち早く実践した投げ銭機能付きブログnemlogというものがありますのでこちらもご参考ください。

お金を一か所に集めない仕組み - nemlog

みなさん、よいクリスマスを!

11
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?