今週の注目トピック
Taisho Nishiiより
今週のTech編は、まず、2018年より世界経済フォーラム(WEF)が取り組んできた「Known Traveller Digital Identity(KTDI)」のホワイトペーパーの公表について取り上げています。続いて、人との接触情報を直接扱う際の代表的な問題であるプライバシー課題に対して取組む、プライバシーを保護したデバイス追跡技術「CEN Protocol」の開発とZcash Foundationが協働したトピックについて。コロナウイルスが社会的に問題になっている中であり、注目です。そして、最後に、開発者friendlyな実装が進むSolidityがアップデートされ、Solidity 0.6.5がリリースされた、というトピックをpickしています。List編と合わせてご覧ください。
Section1: PickUp
●世界経済フォーラムが「KnownTravellerDigital Identity」のホワイトペーパーを発表
世界経済フォーラム(WEF)が「Known Traveller Digital Identity(KTDI)」のホワイトペーパーを公表した。これは、2018年6月により、WEFより発表された官民のパートナーが共同で考案したイニシアチブであり、旅行者の行動や期待の変化、グローバルレベルでの旅行者の増加、リスクベースのセキュリティへの注目の高まりなどを先取りして、よりシームレスで安全な旅行を促進するためのもの。
KTDIの目的は、旅行者が、自らのdigital identityの証明やその証明方法を管理を可能にしている。digital identityには、旅行者の生体情報、略歴、移動ルートといった履歴データが含まれており、セキュリティチェック時の リスク審査や認証・認可の際に必要とされる個別の情報(パスポートナンバーや銀行口座情報など)を選択して提示する(ゼロ知識証明なども活用)ことが できるようになります。このdigital identityが活用できれば、セキュリ ティを維持しつつ旅行者のシームレスな移動を実現できるようになるため、増加し 続ける海外旅行者とそれに伴うセキュリティ対策のコストの増大に対する有効な ソリューションになるとみられている。
本ホワイトペーパーにおいてはKTDIのコンセプトの技術的基礎と過去の実証実験が紹介されている。
内容を簡単に紹介すると、概要として、KTDIは以下のような分散型identityモデルに基づき構築されており、World wide web Consortium(W3C)が開発中のVerifiable ClaimsやDID標準などにも準拠。
出典:http://www3.weforum.org/docs/WEF_KTDI_Specifications_Guidance_2020.pdf
この分散型identityモデルは以下4つのレイヤーに分割できる。なお、このペーパーでは、技術にフォーカスした1~3のレイヤーのみ解説し、ビジネスにフォーカスしたLayer4は扱っていない。
出典:http://www3.weforum.org/docs/WEF_KTDI_Specifications_Guidance_2020.pdf
Layer1は基礎となるレイヤーであり、DID Networkと呼ばれ、さらにブロックチェーンネットワークと分散型identityオーバーレイに分けられる。また、Layer2はDID Communication Protolocolと、Layer3はCredential Exchangeと呼ばれる。この2つのレイヤーでwalletsとagentsをカバーしており、両者は複雑に絡み合っているため、Layer1のようにさらに細分化した整理は不可とされている。ここではP2PコミュニケーションやVerificationが行われる。Layer4はGovernance Frameworkと呼ばれるが上述のとおり本ホワイトペーパーでは対象外。
また、 Layer1とLaye2は、暗号化されたアルゴリズムに制御されたcryptographic trustを構成し、Layer3以降は、人間によりコントロールされるという意味でhuman trustを構成するとされている。
冒頭でも紹介したが、すでに2019年6月より、カナダとオランダにて、両国間の空の移動でパスポートをペーパーレス化する実証実験が行われている。保安検査場や搭乗口において、生体認証で乗客の身元確認を行うことでパスポートを不要にしようという試み。
プロジェクトには、Air Canada、KLM Royal Dutch Airlinesのほか、カナダのモントリオール、トロント、オランダ・アムステルダムの各空港が参加。また、Accenture、Vision Box、Idemiaが支援していた。
この取り組みはまだ現在進行中であり、基準や仕様のオープン化はまだ先であるが、テクノロジープラットフォームとして、Hyperledger Indyを用いることは確定しているとのこと。ブロックチェーンに紐づいた独立したdigital identitiyを生成・使用するためのツール、ライブラリ、再利用可能なコンポーネントを提供しており、分散型identitiyに適したものであり、また、サイロ化された領域やアプリケーション間でidentityに相互運用性をもたらしてくれるとのこと。さらに、いくつかのIndyのコンポーネントは、Hyperledger AriesやUrsaに統合されれつつあり、その結果、よりテーラーメイドな解決策なども提示ようになるという。
ホワイトペーパーでは、締めくくりとしてとして、国際的標準化、仕様のオープン化、ベストプラクティスの蓄積を目指した先の、この開発の広範な応用にあたっては、データ交換の相互運用性と信用の向上が重要な役割を果たすという。グローバルでの官民協力の牽引役となるグローバルプラットフォームとして、WEFがさらなる意欲を見せる中、このKTDIだけでなく、分散型アイデンティティの今後には引き続き注目していく。
●コロナウイルス対策へ向けプライバシーを保護したデバイス追跡技術「CEN Protocol」の開発にZcash Foundationがコラボ
コロナウイルス感染者が潜伏期間中に接触した可能性のある人を追跡することは感染症蔓延を防ぐために有効な手段である。この追跡は従来、感染者への直接の面談により行われてきたが、スマホなどのデバイスを用いてテクノロジー的に追跡技術を活用することで、より効率的にかつ正確に実現する可能性がある。
しかし、このような接触情報を直接扱うことの代表的な問題がプライバシーであるが、この課題に対しいくつかのプロジェクトが発足し、実際に開発も進められている。
DP-3T(Decentralized Privacy-Preserving Proximity Tracing)と呼ばれるプロジェクトは欧州の8大学を中心としたアカデミアグループにより進められ、White Paperがgithub上に公開されている。
また、CoEpiとCovid-Watchのジョイントプロジェクトとして進められていたCEN Protocolの開発にはZcash Foundationもコラボレーションする形となった。DP-3TもCEN Protocolもユーザーが所有しているスマホデバイスを使ったBluetoothのブロードキャストを利用する。Bluetoothを介して短期間のみ利用可能な擬似乱数値をブロードキャストし、近くのスマホデバイスはそれを保存する。
これはあくまでも擬似乱数なのでユーザーのアイデンティティや位置情報などのセンシティブな情報には一切関係しない。その後、コロナウイルスの感染が発覚したユーザーはサーバーに生成した擬似乱数値を含めたレポートを送信する。一方で、ユーザーは過去に接触したデバイスから受け取った擬似乱数値がサーバーにアップロードしていないかチェックを定常的に行う。
まとめると以下の3つのフェーズが存在することになる。
ブロードキャストフェーズ:ユーザーは擬似乱数値を生成し近くのデバイスへBluetoothを介しブロードキャストする
レポートフェーズ:感染者がある一定期間において接触した可能性のあるユーザーへ通知するために、サーバーへレポートを送信する
スキャンフェーズ:デバイスに保存している擬似乱数値を含むレポートがサーバーへアップロードされていないかチェック
DP-3Tと比べてCEN Protocolが特徴的なのは、鍵導出のためのratchetプロセスを加えることでレポートデータに所定期間の擬似乱数値を全て含めず、小さなサイズのシード値だけを含めるだけの仕組みを可能にし、このレポートデータに対して擬似乱数に依存した署名を与えることで、レポートを受信したユーザーは確かに過去接触したユーザーから送られてきたレポートであることが検証可能であることである。
引用:https://github.com/TCNCoalition/TCN
より詳細な内容はこちらの記事を参照:コロナ対策へ向けプライバシーを保護したデバイス追跡技術CEN Protocol
●Solidity 0.6.5がリリース、メモリのバグ修正や新たなステート変数immutableの 導入
今回の主なアップデートは動的に生成される可変長配列のメモリーにおけるバグ修正と、新しいステート変数であるimmutabaleの導入。
ランタイムにおいて動的に作成される可変長配列がアロケートするメモリーを64bit未満に制限:これまでSolidityでは動的に作成する配列の長さを制限せず、動的的に与えられた可変長の配列はそのまま作成されるが、必要なメモリーは配列の長さの数十倍であった。この掛け算によって生じるオーバーフローは考慮されておらず、長い配列を指定した場合にはオーバーフローを起こす可能性があった(メモリのアロケーション詳細)。そこで、今回のアップデートではメモリーのアロケートを2**64–1bitに制限しオーバーフローを防ぐ実装を施した。new T[](length)を実装で使っている開発者は注意が必要。
また、バグ報告のレポートによると配列を作成後にコピーや移転をした場合は、ガス欠によりトランザクションはrevertし安全だが、そうではない場合はメモリーから誤ったデータを取得する恐れがあるとのこと。
Read-onlyのステート変数であるimmutable を導入:この変数の値は、コントラクト作成時にconstructorで設定可能である。同様にRead-onlyのステート変数であるconstantとの違いは、constantはコンパイル時には値が決まる一方で、immutableはデプロイ時に決まるという点であり、immutableは若干制限が緩和されている。ただし、現在、immutableに対応しているのはvalueの型のみ。
Solidityには、開発者フレンドリーな機能が着々と実装されており、今後も注目が集まる。
Section2: ListUp
1. Bitcoin
●カナダでLiquid Network用いたLiquid Canadian dollars (L-CAD)がリリース
2. Ethereum
●Ethereum のMainnet Working Group(MWG)が、Ethereum Mainnet(パブリックチェーン)のエンタープライズユースについて動画を発表している
●Ethereum 2.0 フェーズ1のバグfix版リリース
●blockchain.tokyoで発表された、LayerXの研究開発プロジェクト紹介・シャーディング概論・Ethereum 2.0概論
●深層学習モデル用いたスマートコントラクトの脆弱性検知について
3. Bitcoin/Ethereum以外
●ブロックチェーンの相互運用性についてのアプローチ「Blockchain Integration Framework」
●Ant Blockchain、TEEを用いて商用グレードのプライバシー保護を提供する技術を公開
4. 統計・リスト
●3月に開催されたHyperledger Global Forum 2020の動画リンク集
●Hyperledger Certified Service Provider (HCSP) のリスト
5. 論考
●IEEEが発行した「The Trust over IP Stack」ペーパー。デジタルネットワーク上のピア間でトラストを構築する4階層アーキテクチャ
●Mozillaが発行したデジタルIDホワイトペーパー「Technical and Policy Choices for Open National ID Systems」
Disclaimers
This newsletter is not financial advice. So do your own research and due diligence.