先までは、"愛記"についての記載で、どのようにブロックチェーンSNSに組み込んで実装していけばよいのか、概念的なところからアプローチ方法を記載していった。大まかな概念としてはひとまず終えた。次は、ブロックチェーンの概念設計といえるところまで、基本設計書に着手できるようなところまで、概念を具体化していきたい。
愛記システムのシステム評価について
システム評価とは、つまりは、このシステムを導入して成功だったか失敗だったかという効果検証という意味だ。概念設計をする上で必ず抑えておくべきポイントということだ。それには各項目があり、それぞれの項目を見ていくことで、その結果が得られる。そのシステム評価項目を1つずつ見ていきたい。
システム構築の品質評価のポイント1:理解可能性(Understandability)
システム構築の品質評価のポイント2:完全性(Completeness)
システム構築の品質評価のポイント3:簡潔性(Conciseness)
システム構築の品質評価のポイント4:移植性(Portability)
システム構築の品質評価のポイント5:一貫性(Consistency)と構造化の度合い
システム構築の品質評価のポイント6:保守性(Maintainability)
システム構築の品質評価のポイント7:試験性(Testability)
システム構築の品質評価のポイント8:ユーザビリティ(Usability)
システム構築の品質評価のポイント9:効率性(Efficiency)
システム構築の品質評価のポイント10:セキュリティ(Security)
システム構築の品質評価のポイント9:効率性⑤(Efficiency)
先に、効率性について記載したが、その中には分散性を確認することも重要と記載した。ブロックチェーンSNSの分散型性を確認し、ネットワークの耐障害性をテストする。異なるノードの協調動作やネットワーク分断時の対処など、分散型システムの特有の挙動を理解する。分散型性の検証は、ブロックチェーンSNSが分散型ネットワーク上で適切に機能するかどうかを確認するプロセスであった。
"愛貨"の場合、どうすればノードの分散性を高められるのだろうか?それには、下記のような考え方を用いれば良い。リアルな世界で見ると、加賀市内には居住者がいる。その居住者は、居住者どおしで”愛貨”のやり取りをするだろう。しかし、居住者ではない、一時的に加賀市内にいる人、つまりは仕事や観光で加賀市内に入り込んでいる国内・海外の人々、に対しても”愛貨”のやり取りをすることになるだろう。このような場合、国内・海外の人々も移動しながら、スマートフォンで愛貨のやり取りをするのだが、つまりはノードになり得るということだ。
このような場合、交流が無い閉鎖的な市町村であれば、ノードがその市町村内に偏るので、ブロックチェーンSNSは不安定になるということだ。一方、交流がある開放的な場合、ノードが国内中・世界中に分散することになるので、ブロックチェーンSNSは安定的になる。よって、加賀市のように”愛貨”のブロックチェーンSNSを導入しようとする市町村は、住民に対し、積極的に他国・他府県の人々に愛の行動をしてください!とお願いすることになるのだろう。それがブロックチェーンSNSを安定的に保つ秘訣になるからだ。こう考えれば、”愛貨”のブロックチェーンSNSは成立し得ると思う。とにかく、積極的に他国・他府県の人々に愛の行動をお願いします!というのがキャッチフレーズになるかもしれない。
とはいえ、閉鎖的なブロックチェーンか、開放的なブロックチェーンかによってネットワークの不安定性がどのように変わるかについては、リスクや利点が存在する。
-
閉鎖的なブロックチェーン:
- リスク: ネットワークが閉鎖的であると、新しいノード(居住者や非居住者)の参加が難しくなり、ネットワークが十分に成長しづらい可能性がある。また、一部のノードがネットワークを支配しやすく、セントラル化のリスクが増加する。
- 利点: ノード間の信頼関係が築きやすく、特定の地域やコミュニティによる独自の規則や取り決めが守りやすくなる。
-
開放的なブロックチェーン:
- リスク: ノードが多様であるため、異なる地域や文化からの参加者が相互に協力する必要がある。この多様性がコンセンサス形成や意思決定を複雑にし、一貫性を維持することが難しくなる可能性がある。
- 利点: 新しいアイディアやコミュニケーションが生まれやすく、ネットワーク全体がより広範で分散された形で発展しやすくなる。
ネットワークの不安定性については、閉鎖的なブロックチェーンであっても開放的なブロックチェーンであっても、慎重な設計と実装が求められる。特に、ブロックチェーンのセキュリティ、コンセンサスアルゴリズム、スケーラビリティ、プライバシーなどに焦点を当てる必要がある。適切なメカニズムが導入されていれば、どちらのアプローチも安定的で健全なブロックチェーンネットワークを構築することが可能である。各市町村によってはどちらにもなり得るのだろうから。
Proof of Place(PoP)について
ここでアルゴリズムも問題になってくるので、アルゴリズムについて記載したい。”愛貨”のブロックチェーンSNSを設計する上で、他府県の住民が”加賀市内に流入した!”という事実をどのように確認していくか?ということが、極めて重要な概念になる。これを各トランザクション時に位置情報のような形で組み込むようなアルゴリズムが必要になってくる。当方は、これをProof of Place(PoP)と呼ぶことにしているが、このPoPとPoH(タイムスタンプを用いる)を組み合わせたアルゴリズムになると考えている。
まずは、位置で言うと、世界中の旅行者が加賀市内に流入した場合を考えよう。その場合、加賀市内で行われた愛の行動に対して、時間差で遠くはなれた場所で”愛貨”を受け取ることにした場合を考えよう。分散型ネットワークでも、ノードが世界中に分散していることが理想的である。しかし、地理的に分散したノードが通信する場合には、通信速度などの遅延が発生する可能性がある。以下は、分散型ネットワークにおける通信速度と遅延に関するいくつかの考慮事項である。
-
地理的な遠隔性:
- ノードが地理的に離れているほど、データの送受信にかかる通信遅延が増加する。この遅延は、物理的な距離による通信の制約や、データが通信経路を経由する際のネットワークの影響によるものである。
-
ネットワークインフラの品質:
- 通信速度や遅延は、利用されているネットワークインフラの品質にも依存する。高品質で高速な通信インフラが整備されている場合、遅延が低減し、通信速度が向上する。
-
コンセンサスアルゴリズムの設計:
- ネットワークの分散性を強調する一方で、分散ネットワークにおいてもコンセンサスアルゴリズムの設計が重要である。アルゴリズムが高い通信量を必要とする場合、通信速度の制約が強調される可能性がある。
-
分散型ネットワークの優位性:
- 通信速度の遅延がある一方で、地理的に分散したノードの利点はセキュリティと信頼性の向上である。単一の地域やデータセンターに依存しない構成は、耐障害性や攻撃への強さを向上させる。
-
ネットワークプロトコルの最適化:
- 分散型ネットワークにおいては、ネットワークプロトコルの最適化が通信速度に影響を与える。特に低遅延の通信を実現するために、効率的なプロトコルの利用やネットワークトポロジーの最適化が考慮される。
総じて、分散型ネットワークにおいては通信速度の遅延が一部の制約となるが、それを補う形で分散性、セキュリティ、耐障害性の利点がある。プロジェクトやユースケースによっては、これらのバランスを検討し、最適な設計を追求することが求められる。
では、Proof of Place(PoP)というアルゴリズムについて見てみよう。位置情報がトランザクションにおいて重要な要素となるアプローチは、特に特定のユースケースや分野において有益な可能性がある。コンセンサスアルゴリズムについてだが、当方のフェデレーションモデルの場合、PoPとPoHを組み合わせているのだが、例えば、加賀市で行われた愛の行動に対して、行為者が愛貨額と加賀市内という位置情報を含むトランザクションを送信するが、受信者はその場で受け取らず、半年後、履歴を見て思い出して、そのトランザクションを承認するというボタンを押したら、フェデレーションにトランザクションが送られて、フェデレーションで承認がなされるというアルゴリズムになる。
-
Proof of Placeの取得:
- 行為者が愛の行動を行った場所でProof of Placeを生成する。これには位置情報や他の証拠が含まれる。
-
PoHの生成:
- 行為者が愛貨額と場所情報を含むトランザクションを生成し、PoH(Proof of History)を生成する。
-
トランザクションのブロードキャスト:
- トランザクションが生成されたら、行為者はこれをネットワークにブロードキャストする。しかし、この時点ではフェデレーションによる承認は行われない。
-
承認の遅延:
- 受信者がそのトランザクションを受け取り、承認を遅延させることができる。この遅延の期間は半年など特定の時間で制御できる。
-
受信者が情報を加える:
- 受信者がトランザクションに必要な情報(愛貨額、位置情報、タイムスタンプなど)を加える。これは、受信者が受け取った愛の行動に関連するデータである。
-
トランザクションの生成:
- 受信者が加えた情報を含むトランザクションを生成する。このトランザクションには、送信者が初めに生成したProof of PlaceやPoHなども含まれる。
-
フェデレーションへのトランザクション送信:
- 受信者が承認を行うタイミングで、そのトランザクションがフェデレーションに送信される。
-
フェデレーションによる承認:
- フェデレーションはトランザクションを確認し、条件が満たされている場合、承認を行う。これには、位置情報や愛貨額などが正当であることを確認するロジックが含まれる。
-
承認のブロードキャスト:
- フェデレーションによる承認が行われたら、その結果やトランザクションの承認状態をネットワークにブロードキャストする。
このようなアルゴリズムを実現するには、各段階でトランザクションの状態や条件を適切に管理し、フェデレーションの役割も検討する必要がある。特に、タイムスタンプやトランザクションの状態を管理する仕組みが必要であろう。ただし、注意が必要な点もありますので、以下にいくつかの考慮事項を挙げてみよう。
考慮すべきポイント:
-
プライバシーの問題:
- 位置情報をトランザクションに含める場合、ユーザーのプライバシーが懸念される可能性がある。適切なセキュリティ対策や匿名性の確保が必要である。
-
匿名性の導入:
ユーザーの位置情報や他の個人情報をトランザクションに含める場合、匿名性を確保する仕組みを導入することが考えられる。例えば、ユーザーがトランザクションを行う際に一意の識別子を使用し、その後の処理でこの識別子を元にデータを紐付けることができる。 -
セキュアな通信プロトコル:
トランザクションの送信や受信などの通信には、セキュアな通信プロトコル(例: TLS/SSL)を使用して暗号化し、データの盗聴や傍受からユーザーの情報を保護することが必要である。 -
データの一時的な保持:
フェデレーションが位置情報などのデータを一時的に保持する場合、そのデータを適切に暗号化して保存し、必要な時にのみ複合化するなどの対策が考えられる。 -
ユーザーのコントロール:
ユーザーには、自身のデータの使用や共有についてコントロールできる機能を提供することが重要である。ユーザーがどの情報を共有するか、または共有しないかを選択できるようにする。 -
法的・規制上の準拠:
各国や地域のプライバシー法や規制に準拠することが必要である。ユーザーのプライバシーを尊重し、法的な要件を遵守することが重要である。
-
位置情報の信頼性:
- 位置情報は利用者が提供するものであり、その正確性や信頼性は様々な要因に依存する。誤った位置情報が投入されることを防ぐ仕組みが必要である。
-
位置情報の検証:
ブロックチェーン上で位置情報を利用する前に、その情報の正確性を確認する検証手段を組み込むことが重要であろう。例えば、信頼できる位置情報サービスやオラクルを活用して位置情報の検証を行う。 -
多重認証手段の導入:
ユーザーの位置情報を利用する場合、他の多くの認証手段と組み合わせて使用することが望ましい。例えば、デバイスの認証、生体認証、他の外部データとの照合などが考えられる。 -
ゼロ知識証明 (Zero-Knowledge Proofs) の活用:
ゼロ知識証明は、特定の情報(例: 正確な位置情報)を明示的に開示せずに、その情報が正確であることを証明する手法である。位置情報の一部だけを開示して証明することが可能である。 -
ユーザーへの報酬やインセンティブ:
正確な位置情報を提供したユーザーには報酬やインセンティブを提供することで、ユーザーが正確な情報を提供する動機づけが生まれる。これにより、信頼性の向上が期待できる。 -
位置情報のトークン化:
位置情報をトークン化してブロックチェーン上に格納することで、改ざんのリスクを低減できる。トークンが正確な位置情報を表していることを検証するためには、適切な検証手段を導入する。
-
スパムや不正行為への対策:
- アルゴリズムに位置情報を組み込む場合、スパムや不正行為が発生するリスクがある。これに対する適切な対策やフィルタリングメカニズムが必要である。
-
アクティビティの制限:
短期間に多くのトランザクションを行うユーザーに対して、一定の制限を設けることで、スパム行為の制御が可能である。制限はトランザクション数だけでなく、時間単位での活動制限も考慮される。 -
パターン認識と機械学習:
スパム行為や不正行為のパターンを機械学習モデルで学習し、自動的に検出・制御する手法を導入する。適切なトレーニングデータとリアルタイムのモデル更新が重要である。 -
クラウドソーシングの利用:
トランザクションの正当性を確認するために、クラウドソーシングを利用して、分散されたユーザーによる検証を行う。正確な位置情報を提供したユーザーに対して報酬を与えることで、信頼性が向上する。 -
デバイス認証:
ユーザーのデバイス情報を取得して認証することで、同じデバイスからの大量の不正なトランザクションを検知し、制御することができる。 -
コミュニティフィードバック:
ユーザーコミュニティからのフィードバックや報告を活用して、不正行為やスパムを検知し、適切な対応を行う。ユーザーコミュニティが自主的に行動する仕組みも導入する。
-
コンセンサスの形成:
- 分散型ネットワークにおいて、位置情報を含むトランザクションに対するコンセンサス形成のアルゴリズムを検討する必要がある。位置情報の取得や検証に関する合意プロセスが必要である。
-
分散型署名:
トランザクションに対するコンセンサス形成において、分散型署名を使用することで、複数のノードが同意したことを確認できる。分散署名アルゴリズムを組み込んで、位置情報を含むトランザクションの承認に必要な署名を取得する。 -
タイムスタンプの利用:
トランザクションにはタイムスタンプを含め、時間に関する情報を利用してコンセンサス形成を行う。適切な時間範囲内においてトランザクションが承認されるように調整する。 -
信頼スコアの計算:
各ノードの信頼性をスコア化し、位置情報の提供やトランザクションへの参加において、信頼性の高いノードの意見をより重視するようなアルゴリズムを構築する。 -
クラウドソーシングの活用:
コンセンサス形成において、分散型で確認が難しい場合、クラウドソーシングを活用して、位置情報の確認やトランザクションの合意形成を行う。クラウドソーシングの参加者が確認プロセスに参加し、信頼性を向上させることができる。
-
特定のユースケースの適合性:
- 位置情報が特に有益なユースケースを検討し、それに合わせたアルゴリズムや仕組みを設計することが重要である。たとえば、地域密着型のサービスや物流分野での活用が考えられる。
-
地域密着型のサービス:
特定の地域に焦点を当てたサービスを提供する場合、その地域のユーザーによるトランザクションや情報提供に対して、位置情報を活用する。地域に特有のニーズやイベントへの対応がしやすくなる。 -
地域イベントやプロモーション:
地域イベントやプロモーションに関連するトランザクションにおいて、参加者の位置情報を考慮することで、特定の地域での活動や購買履歴を透明にし、イベントの効果測定が行いやすくなる。 -
地域コミュニティの形成:
地域に関連するトランザクションを通じて、地域コミュニティの形成や交流を促進する。位置情報を活用したコミュニケーションや地域に根ざしたプロジェクトが可能になる。
-
法的・規制上の制約:
- 位置情報の取り扱いは法的・規制上の制約が存在することがある。それらを遵守するための措置が求められる。
-
個人情報保護法への対応:
各国や地域には個人情報保護に関する法律が存在する。位置情報が個人を特定する可能性がある場合、それに基づく法令を遵守する必要がある。トランザクションに含まれる位置情報は、匿名性や擬似性を確保するなどの手段が求められる。 -
同意と透明性の確保:
ユーザーからの同意を得る仕組みを構築し、位置情報の収集・利用目的を透明かつ正確に説明する。同意を得たユーザーによる情報提供が法的に有効であることを確認する。 -
地域ごとの法令遵守:
地域ごとに異なる法令が存在する可能性がある。国や地域に応じて法令遵守を確認し、地域ごとに異なる規制に対応するための柔軟性を持った設計が求められる。 -
データセキュリティの確保:
位置情報を含むデータはセキュアに保管する必要がある。データの漏洩や不正アクセスから保護するため、適切なセキュリティ対策を導入する。 -
データ保持期間の設定:
法令によってはデータの保持期間が規定されていることがある。位置情報を含むデータの保持期間を法令に従って設定し、期限が過ぎたデータは削除するなどの対応が必要である。 -
コンプライアンスの継続的な監視:
法令や規制は変化する可能性があるため、コンプライアンスの継続的な監視が必要である。変更があれば、システムをアップデートして適切に対応する。
いかがであろうか、システムの効率性を考える際に、どうしても位置情報が必要になる。それをProof of Place(PoP)というアルゴリズムにして、トランザクション時に組み込みたいのだ。そのようなアルゴリズムを次回、もう少し詳しく記載したい。