信頼あふれるWebの世界を触ってみた

地元のエンジニア向け勉強会でLTをする(本日のテーマは「最近触った新しい技術」)のですが、5分で話をまとめれる気がしないのとITコンサル嫌悪症の発作でスライド作成ができないので資料をテキストベース(ここの記事)で作って、本番は図が必要ならホワイトボードを使いながらしゃべる感じで行こうと思う。 いやなんかあれなんですよ、LTとかしゃべる前提で作る資料ってあとから見返しても情報が欠けてるので結局足らない。当日の動画録画があればまだそれを見て情報を補完できるからよいのですが…気づいてしまったんです。スライドって話を聞く人のためではなく話をするためのものであることを…。だったら最初からテキストで書いとけやの世界ですよね。質問したければ声をかけてくれ、テキストコミュニケーションでよければそれで対応するし、音声、映像いるならWeb会議サービスを使えばよいし。前口上はここまで以下本編。

アジェンダ

実質3分の発表を聞く人に知って帰って欲しいフレーズ

  • Trusted Web
  • SSI, Self-Sovereign Identity
  • DID, Decentralized Identifires
  • VC, Verifiable Credentials

実質3分の発表を聞いて興味が出たら触ってみて欲しい技術

実質3分じゃなんも分からんもっと知りたいと思ったら読んで欲しい本

この発表と資料に関する注意点

ここに書く内容について何年か前からうっすらと認知しており、勉強しないとなーというレベルだったのがここ最近になって触り始めた段階なのであんま理解できてないです。なので、事実誤認等あったら申し訳ありません。あと質問受けてもあんまちゃんと答えることのできる自信はないので、今から勉強します、と答えるbotになったら🙇

Ch1. WWW世界の欠けたピースを探して

さてここで皆さん質問です(急にLTの台本ぽくなるやつ)。皆さんの中で、Google使ってる人?Facebookは?Amazonは?GitHubは?…最後の質問はここで聞くと全員の手があがると思うのですが(だって皆さんテッキーな人たちだから)、皆さんこれらのサービスを利用する際にかなりの個人情報を渡しますよね。クリック!クリック!え、これもよくわからんけどクリック!よしサービスの登録できた、と。皆さんは利用規約に同意し、サービス提供者を信頼してご自身の個人情報を入力されましたよね?と、こんな風に改めて質問されるとちょっとなんかイヤな感じがしちゃいますよね。このモヤモヤは何なのかを取り上げます。そしてこのモヤモヤの解決策となる技術が紹介する技術になります

1-1. ギークな西部劇

この記事ははてなで書いているのですが(初稿)村と呼ばれていたころのこの界隈は何というかモヒカン族がたくさん住む荒野な西部劇なようなところだったそうです。今じゃ長文のTB(トラックバック)をぶん投げてくるような人はいないはずなので雑に書いていきます。ざっくり誤解を恐れずに書くと今のWebにおけるサービスは信頼できるできないなどに価値はなく、価値あることは3つのみ!

  1. 便利であること convenient
  2. 快適であること comfortable
  3. 正確であること correct

あとの価値観は取るに足らないことなので無視してよしの世界線です。ユーザーが求めるのは上記3つ、サービス提供者が競うのも上記3つ。他の価値にリソースを割く間抜けは市場から退場してしまい存在しなくなる、まぁざっとそんな世界線です。いや、皆さん、自分の胸に手を当てて考えてみてください、くそったれに不便な体験をしたサービスに毒づいたことはありませんか?不愉快なプロダクトに腹を立てながらアンインストールしたことは?そーじゃないんだよ、消えろ!って唱えながらレコメンドの広告を消したことは?…あるでしょ?

我々が現在優先しており、高い評価を下している価値は上記の3つなんです。そしてここにいてこの文章を読んでる(or 話を聞いてる)人の多くはこれらの価値観に基づいて何らかのサービスやプロダクトのために日々コードを書いているはずです。ちなみに私はこれを悪いことだとは思っていません。便利さより不便さを選ぶ理由がもしあるとすればそのトレードオフの結果としてより快適であるか、正確であるかのいずれかが得られる場合のみだと思います(他の2つの価値についても以下同文)。実に結構な話です。我々は明日からもより便利で、より快適で、より正確なサービスを市場で選択して、それを自らの手で作り出せればなおよし!と言った所でしょうか。

この世界はこの世界でありだなと思っています。それはたぶん私がサービスをサーブしうる側、別にないなら自分で作るし、市場でプロダクトやサービスを調達するのはそれをするのが理にかなっているからそうするという立場だからかもしれません(言うてここでAWSと同じものを作れと言われたら無理でーすになるんだけど)。

最初の質問にここで戻るのですが、皆さんは日頃自分がよいと思って使っているサービスやプロダクトのこと、その提供者のことを信頼なさってますよね?なんか、技術者向けのLTとかでこの話題を出すとここで話が終わる気がすげーしてるんだけど、まぁ、なんか、イヤ、違和感がまだなんか残るぞ、モヤモヤするぞって建付けで話を進めます。

先ほどまでの世界線ギークな西部劇)で暗黙裡に前提とされているのは市場における競争、そして私有となります。なんか急に話が飛んでしまいましたね。ごめんなさい。先ほどまでのサービス提供者とサービス利用者が市場を介して選び・選ばれる関係によって提供される価値がより高まる世界観では個々人の欲求と個々人の所有が許容されないことにはそもそも論としてシステムが実装できないというなんというか仕様上の制限みたいなもんが存在しています。まぁしょうがないんだ、そういうもんだ、文字通り仕様ですと言うのが適当なもの。そういうゲームバランスで設計されており、設定されてるんです。

ここからが今日の本題なんですが、ちょっとソフトウェア開発者には耳の痛い、イヤな話をしなければなりません。それはそもそもこのシステムのこの振る舞いはバグなのか?それとも求められた通りの正しいものなのか?と言う我々が日常的にいやいやながらも付き合うことになるあの話題と非常によく似た内容になります。その話題は心身の健康を損なうので勘弁して欲しい。せっかくの連休が台無しになってしまうという方がいらっしゃれば、ここで読むのをやめましょう。ここからの話は間違いなくuncomfortableな話となります。(たぶんこの辺で3分すぎてるんでLTはTrusted Webのデモ実装を動かしてみる所と質疑応答に移行)

1-2. ここでちょっと歴史の授業(トイレ休憩とも言う)

日本におけるデジタル社会の実装の流れについて雑に振り返ってみましょう。

Society 5.0 2016年

SIer界隈でよく聞くフレーズになりますが出典は2016年の政府レポートになります。詳細はリンク先参考。 www8.cao.go.jp

スーパーシティ構想 2018年

去年ぐらいまではなんも考えてない自治体の首長とかが呪文として唱えていたやつ。実は最近ではなく平成30年頃から言ってる。詳細はリンク先参考。 www.chisou.go.jp

DFFT(信頼性のある自由なデータ流通) 2019年

これは現行のデジタル政策にも残っていて基礎的な考え方になっている。初手はダボス会議ですが、大阪での主要国首脳会議での取り交わしが基礎になっています。なので国内だけではなく国外とも握っているものになる。詳細はリンク先参考。DFFTのTがTrustになる。ここがTrusted Webの根っこになってる。 www.mofa.go.jp

デジタル市場競争に係る中期展望レポート 2020年

ここからちょっと詳しめに説明を書いてみる。このレポートを策定した会議体は内閣官房の直下に編成されているのだけど所管官庁は公正取引委員会になる。公平取引委員会の役割を雑ー--にちょー雑に説明すると市場と言う場が正常に機能するようにチェックしてエラーやバグがあれば修正する役割と言った感じ。なんかよくわからんけどたぶんそう。(これ書いてるの深夜1時なのであとでちゃんと直す)

この会議、令和元年第1回目の議事を見るのが分かりやすいのですが、アジェンダは3つ。

  1. デジタル市場のルールを整備する
  2. 独占禁止法のルール適用指針の改訂をする
  3. デジタル・プラットフォーマーと呼ばれるサービス提供者に個人情報を提供する消費者の保護

メインは公平取引委員会が仕切るのですが、消費者庁も消費者保護の観点でこの会議に参加しています。2020年に中期展望レポートを発表しておりそこでTrusted Webの世界線が提示されます。詳細はリンク先参考。 www.kantei.go.jp

この会議体は上記の中期展望レポートの翌年にデジタル広告市場に対してのレポートも公表しています。詳細はリンク先参考。 www.kantei.go.jp

Trusted Web ホワイトペーパ ver1.0 2021年

上記の中期展望レポートを受けてTrusted Webを検討議論するためにTrusted Web推進協議会が設置され提出されたのがホワイトペーパになります。 github.com

包括的データ戦略 2021年

Trusted Webも含んだデータガバナンスの戦略を規定するペーパーになります。公共領域や準公共領域と呼ばれるドメインでプロダクト開発する人は読んだほうがよいペーパーです。クソ長いけどね。詳細はリンク先参考。 www.digital.go.jp

トラスト確保したDX推進サブワーキンググループ報告書 2022年

この記事を書いた時点では2022-06-29に公表された案の状態の草稿になる。包括的データ戦略で全体の中に位置づけられたTrustをどのように実装していくのかを検討しているペーパーになる。詳細はリンク先参考。 www.digital.go.jp

1-3. To be, or not to be. That is the question.

さて、お手洗いは済みましたか?OK、それでは話を進めましょう。何が問題なのか?我々は便利になり続けているし、快適になり続けているし、正確になり続けていると言うのに! ちなみにここでWell-beingがーとか、より高次な人間的な欲求がーとか言う一派もいるにはいますが、ここではもうちょい地に足を付けた話をしていきましょう。先ほどの歴史の授業の復習です。大丈夫です、ここで突然の小テストとか、ここにいる誰かにクイズを出して回答を求めるなんてことはしませんから。

Society5.0の世界観で示されたようにフィジカル、つまり我々の現実世界、というと正確ではないな、3次元座標で表記できて、物理法則が支配しているデータ群の世界に対して計算機を使役できる範疇がどんどんと増えていっています。これを一般人の代表である政治家にわかるように命名したのがスーパーシティです。我々の生活の隅々まで計算され、その結果として便利で快適で正確なサービスが提供される生活、人生です。バラ色の未来世界と言うわけです。なんですけども、これがどうもね、なんかうまくいかんのです。これがですね、上手くいくいかないも何もまだ試してないのでなんとも言えないのですが、ここで言いたいのはカナダのトロントでの失敗に典型的に表れている不安や不信と言ったぬぐい難い感情的な問題です。

ギークマインドセットを多かれ少なかれお持ちな皆様にお聞きしたいのですが、あなたは日々の仕事や日々の考えを逐一監視されたいとお思いですか?当然Noだと思います。そんなの願え下げ。仕事の代わりなんていくらでもあるわけですからそんな職場はさっさとおさらばですよね。

皆様方はクリエイティブマインドも多くお持ちでしょうからお伺いするのですが、あなたがその持てる能力を最大限に発揮するのに必要なものはたくさんあると思いますが(そう、例えばあれとかこれとか)まず第一にはあなたに対しての信頼に基づく自由裁量がまず必要ですよね?

ギークな西部劇の登場人物は皆、人から指図されたり命令されたりなんてごめんな連中ぞろいなはずです。そしてもう一つ、ごめんなさい、これが最後の質問です。あなたは計算機があなたの命じた通りにクラッシュすることを望みますか?ちょっと聞き方が変かな、なぜだか理由がわからないがうまい具合に動いているコードを見たときにぞわぞわって不安になりますか?

現状のWebサービスはサービス価値(先ほどから述べてる3つのCのやつ)を提供してくれているという事実はあります。あなたはその価値を受け取るユーザーであり、あなたが提供されるものの価値を判断できるし、その判断に基づいてサービスを解約することだってできる。あなたは自由です。

ではあなたがサービス提供者に意識してor意識しないで提供しているあなたのデータはどうでしょうか?あなたの価値あるデータはその価値に見合った扱いを預けているサービス提供者に適切に扱われているでしょうか?それをあなたが確かめたいと思ったときに確かめることはできますか?これに関しては残念ながらNoと答えるほかありません。なぜでしょうか?

それはそもそも論として現在のwwwにはデータの扱いをコントロールしたり、マネージするための仕組みが実装されていないからです。いや、まって認証とか認可とかのめんどくさい日頃の実装、あれはなんなのさ?となりますよね。でも、認証や認可の実装をする際の視点と言うか注意をする見方みたいなのを思い出してみましょう。 そこで気を回している対象は自分のサービスを不正に利用され価値を盗まれることではありませんか?勝手に対価をもらっていないユーザーではない輩があなたのサービスを利用して価値をくすねるのを防ぐには?あなたのサービスに蓄積された大事なあなたのデータ資産を保護するには?これが基本的な考え方のはずです。あなたは別にデータベース上のあなたのユーザーのデータを適切に扱うにはとは認証や認可の実装ではあまり考えてはいないのではないでしょうか?

いや!自分はそんなことはない顧客の情報は本人のものであり個人情報を保護する観点から適切に日々の運用では扱うし、実装レベルでもそういった点を常に考慮している、という方もいるかもしれません。そのこと自体を私は否定するつもりはありません、ですがそのTrustはあなたに依拠したものでありそれは仕組、アーキテクチャーによって担保されるものでないのも事実です。個々人の心がけに我々のデータを委ねるのって解決策としてはいまいちイケてないと思いませんか?そもそもそれが技術的な仕組みで解決可能であるならば(銀の弾丸をここで主張するつもりはありませんが)それを実装するのがよいとは思いませんか?

うーん、ちょっとまって言いたいことはわかるのだけど、個人情報、個人のデータってそもそも大事なの?それを明け渡すことでもっと便利で、もっと快適で、もっと正確になるならそっちの方がよいって考えだと問題は問題じゃなくなると思う、という方もいるかもしれません。そりゃまぁそうだよね。それは確かにそう。これは個人情報や個人がプライベートだと判断するデータセットの種類と範囲がどこまでなのかと言う話で、ごめん、これは私も答えがよくわかんない。

自分が自由である(これは自分で自分を治めていると同義)ことを大事にしたい人にとってwww上でデータの扱いをコントロールする仕組みは必要なものです。サービス上に蓄積されるユーザーのデータはユーザーそのものであり尊重しなければならないと考える人にとってもwww上でユーザーからの同意に基づいてデータをマネージするための仕組みは必要なものです。さて、最後の別に個人のデータは個人とは全く関係のない別のものであるし、それを重要視しない人からするとあんまり意味のない仕組みと言えるでしょう(めっちゃ正直に話すとそうなる)。

世界を見てみても個人の情報を権威主義的体制下で管理統制して、彼らの言い分に従うならばそれによって 便利で、快適で、正確な社会を構築している国はあるので必ずしもまだ便利さや快適さや正確さのように万人が合意する価値ではないかもしれない。

Ch2. 実際に動くものを触ってみる

デモがGitHub上にある。リンク先参照。 github.com

リポジトリの指示に従って環境を準備するとローカル機でデモを動かすことができる。これだけ動かしてみてもどういうユースケースでどういう振る舞いをさせたいんか理解できないと思うので(私自身、起動して動かすだけだといったい何をしたいのかよくわからなかった)、下記のデモ動画を見たうえで動かしてみると理解が容易になると思う。


www.youtube.com

Ch3. 今後の展望

やりたいこととしては下記

  • データガバナンスや自己主権型アイデンティティなど基礎的な概念の理解を深める(上記紹介書籍から)
  • 実際のライブラリの使用方法、動作原理等の技術的な知見を深める(そもそもブロックチェーン周りからなんもわからんのでそこから)
  • 実際のユースケースの検討をいつでもどこでも進め。ユースケースの目途がついたら実際にプロダクトを作成する

ちなみに今年の7月下旬から社会実装の公募がはじまる。詳細はリンク先参考。

www.nttdata-strategy.com