ブロックチェーンSNS概念設計:システム構築の品質評価のポイント10:セキュリティ③ | 続・ティール組織 研究会のブログ

続・ティール組織 研究会のブログ

ティール組織が話題になっているが、具現化するにはどうしたらよいか?
その研究を続けるにあたり、さらに次の形態である、続・ティール組織なるものまで視野に入れ、具体的な施策・行動内容を研究・支援する会。

先までは、"愛記"についての記載で、どのようにブロックチェーンSNSに組み込んで実装していけばよいのか、概念的なところからアプローチ方法を記載していった。大まかな概念としてはひとまず終えた。次は、ブロックチェーンの概念設計といえるところまで、基本設計書に着手できるようなところまで、概念を具体化していきたい。

愛記システムのシステム評価について

システム評価とは、つまりは、このシステムを導入して成功だったか失敗だったかという効果検証という意味だ。概念設計をする上で必ず抑えておくべきポイントということだ。それには各項目があり、それぞれの項目を見ていくことで、その結果が得られる。そのシステム評価項目を1つずつ見ていきたい。

システム構築の品質評価のポイント1:理解可能性(Understandability)

システム構築の品質評価のポイント2:完全性(Completeness)

システム構築の品質評価のポイント3:簡潔性(Conciseness)

システム構築の品質評価のポイント4:移植性(Portability)

システム構築の品質評価のポイント5:一貫性(Consistency)と構造化の度合い

システム構築の品質評価のポイント6:保守性(Maintainability)

システム構築の品質評価のポイント7:試験性(Testability)

システム構築の品質評価のポイント8:ユーザビリティ(Usability)

システム構築の品質評価のポイント9:効率性(Efficiency)

システム構築の品質評価のポイント10:セキュリティ(Security)

システム構築の品質評価のポイント10:セキュリティ③(Security)

システム構築の品質評価に繋がるセキュリティとは文字のごとく、悪意のある操作や不正アクセスからデータをどれだけ守れるかどうかである。これらのセキュリティはある程度開発してから導入するのでは遅いので、要件定義や設計の段階で診断して実施する必要がある。

 

では今回は、悪意あるバリデーターについてのセキュリティについて考えてみよう。悪意あるバリデーター(Validator)に対するセキュリティの確保は、分散型システムやブロックチェーンにおいて特に重要である。Validatorは通常、トランザクションやブロックを検証し、ネットワークの正当性を維持する役割を果たす。悪意あるバリデーターがシステムに影響を与えると、セキュリティや信頼性の問題が生じる可能性がある。以下は、悪意あるバリデーターに対するセキュリティ対策に関する一般的なポイントである:

  1. 分散化と多数決:

    • システム内に多数の独立したバリデーターが存在し、それぞれが分散して機能することで、単一の悪意あるバリデーターが全体の正当性を脅かすのを難しくする。分散化によって、多数決やコンセンサスメカニズムが悪意ある参加者に対して耐性を持つ。
  2. ランダム選出とリーダーレスアーキテクチャ:

    • バリデーターのリーダーシップが定期的にランダムに選出され、リーダーレスアーキテクチャが導入されていると、攻撃者が特定のバリデーターに対して集中的な攻撃を仕掛けることが難しくなる。
  3. 契約と罰則:

    • バリデーターにはシステム内のルールを守ることが求められ、それに違反すると罰則が課せられる仕組みを導入する。これにより、悪意ある行動を防ぎ、正当性を維持する。
  4. 透明性と監査:

    • バリデーターの動作や意思決定プロセスは透明であり、外部から検証可能であることが望ましい。監査が可能であれば、悪意ある活動に対する追跡と対処が容易になる。
  5. 多層セキュリティ:

    • バリデーターが物理的にアクセスできるインフラや通信経路もセキュリティで保護されている必要がある。暗号化、認証、アクセス制御などのセキュリティメカニズムが重要である。
  6. エスクローシステム:

    • トークンやリソースなどの重要な資産は、エスクローシステムを使用して確実に保護されるべきである。契約条件が満たされない場合、エスクローシステムが介入して適切な措置を取ることができる。

これらのセキュリティ対策は、分散型ネットワーク全体の安全性を向上させるために検討される。ただし、セキュリティ対策は状況やプロジェクトによって異なるため、具体的なコンテキストに合わせた詳細な検討が必要であろう。

 

では、愛貨をトークンとした場合はどうなるのだろうか。愛貨は見方を変えると目標管理制度のようなものである。宣言した目標に対して行動することで報酬が得られ、その仕組みをバリデーターに応用するということであろう。では、その場合、バリデーターを選出する際のアプローチについて考えてみよう。

  1. 行動への報酬:

    • バリデーターは、トランザクションを検証することで愛貨を減らすことができる。行動が報酬に直結する仕組みを導入し、バリデーターが積極的にトランザクションを処理するようインセンティブを与える。
    • 契約条件の設定:まずトランザクションに関連する契約条件が設定される。これには、支払いのタイミング、支払い金額、トランザクションの完了条件などが含まれる。

    • フェデレーションメンバーの選定:信頼できる複数のエンティティがDPoSのアルゴリズムでランダムにフェデレーションメンバーとして選ばれる。これらのメンバーは、エスクローシステムの運用と管理に関与する。

    • トランザクションの承認:トランザクションが発生すると、フェデレーションメンバーは契約条件が満たされているかどうかを確認し、トランザクションを承認する。

    • エスクローシステムの介入:契約条件が満たされない場合、エスクローシステムはフェデレーションメンバーの合意に基づいて適切な措置を取る。これには、トランザクションの取り消し、資産の返却、または他の適切なアクションが含まれる。

    • トランザクションの完了:契約条件が満たされ、フェデレーションメンバーがトランザクションを承認した場合、エスクローシステムは資産のリリースを行い、トランザクションを完了させる。

    • フェデレーションモデルを使用することで、複数の信頼できるエンティティが協力してエスクローシステムを管理し、重要な資産を保護することができる。
       

  2. 目標達成の報酬:

    • バリデーターがあらかじめ設定した目標(例: 一定のトランザクション処理量や正確な検証)を達成すると、その成果に応じて愛貨が減る仕組みを構築する。これにより、バリデーターは自らの目標を達成することで報酬を得られる。なお、報酬とは、愛貨の減額である。
    • 報酬の仕組み:

      バリデーターが目標を達成すると、フェデレーションの中央管理機関やスマートコントラクトによって報酬が自動的に支払われるようにする。
    • 目標の設定:

      バリデーターは自身の目標を設定し、それをフェデレーションの管理機関やスマートコントラクトに登録する。目標は、処理量、検証の正確性、可用性などさまざまな形式で設定できるようにする。
    • 成果の測定:

      バリデーターが設定した目標の達成度を定期的に測定する。これは、トランザクション処理量や検証の正確性などのメトリクスを使用して行う。メトリクスの値に基づいて、バリデーターの目標達成度を評価する。
    • 報酬の計算と支払い:

      バリデーターの目標達成度に応じて、報酬が計算される。報酬の計算方法は、目標の種類や重要性に応じて決定される。計算された報酬は、フェデレーションの管理機関やスマートコントラクトによって、愛貨の減額として支払われる。
    • 透明性と公平性の確保:

      報酬の計算方法や支払いプロセスは透明性があり、全てのバリデーターが公平に報酬を受け取れるように設計されている必要がある。バリデーターが達成した目標とその報酬は、公開されるべきである。
       
  3. 報酬と罰則の調整:

    • 愛貨が報酬として与えられる(減る)一方で、不正確な検証や不正な行動に対しては罰則が課せられる仕組みを設ける。これにより、バリデーターは正当な手段で報酬を得ることが強く促進される。
    • 罰則の仕組み:

      罰則として、愛貨の増額、一時的なバリデーター権限の停止、あるいはバリデーターからの除名などが考えられる。
    • 不正行為の監視:

      フェデレーションの管理機関やスマートコントラクトは、バリデーターの行動を監視し、不正確な検証や不正行為を検知する。監視は、トランザクションの検証履歴やその他のメトリクスを使用して行われる。
    • 罰則の適用:

      不正行為が検知された場合、フェデレーションの管理機関やスマートコントラクトが適切な罰則を課す。罰則の種類や厳しさは、不正行為の種類や重大性に応じて異なる。
    • 透明性と公正性の確保:

      罰則の適用方法や条件は透明性があり、全てのバリデーターが公正に扱われるように設計されている必要がある。不正行為が検知された際には、その理由や適用された罰則が公開されるべきである。
       
  4. 愛貨の自己宣言と透明性:

    • バリデーターは自らの愛貨を宣言し、その宣言に基づいて報酬が設定される仕組みを構築する。透明性が確保され、愛貨を持つことでネットワーク内での信頼性が向上する。
    • バリデーターの愛貨宣言:

      各バリデーターは自らの愛貨を宣言する。愛貨の量や性質に基づいて、バリデーターが提供するサービスや報酬が設定される。例えば、愛貨の量が多いバリデーターは、より高い報酬を受け取ることができるか、あるいはより重要な決定に関与する権限を持つことができる。
    • 透明性と信頼性の向上:

      愛貨宣言に基づいて報酬が設定されるため、バリデーター間での報酬の差異や理由が透明化される。透明性が確保されることで、ネットワーク内での信頼性が向上し、バリデーター同士やユーザーとの信頼関係が強化される。
    • 愛貨の動的な変更:

      バリデーターは、愛貨の量や性質を動的に変更することができる。これにより、バリデーターが提供するサービスや役割に応じて報酬を最適化することが可能となる。
    • 公平性の確保:

      愛貨の宣言と報酬の設定は、公平性が確保されるように慎重に行われる必要がある。特定のバリデーターが不当に優遇されないようにするために、公正な基準や手続きが必要である。
       
  5. コミュニティ投票:

    • バリデーターの選出には、愛貨を持つユーザーの投票を導入する。バリデーターがコミュニティの期待に応えるかどうかが、投票によって決定される仕組みである。
    • 候補者の登録: バリデーター候補者がネットワークに登録する。

    • 投票: ネットワーク上のユーザーは、所有する愛貨に応じてバリデーター候補者に投票する。投票権の割り当ては、通常は愛貨の量に比例する。

    • 選出: 一定期間ごと(例えば、3か月ごと)に、投票に基づいてトップのバリデーター候補が選出される。一般的に、愛の行動量が多い候補者ほど選出されやすくなる。

    • バリデーターの役割: ある市町村内で愛の行動をしたときに、行為をしたものが、愛の行動をしたぞ!という愛貨の送信を行う。それが各市町村のブロックチェーンにあげられ、トップバリデーターにより承認されて、メインチェーンへ飛んでいく。一方、その愛の行動をされたぞ!という受信者が受信ボタンを押すと、愛貨の移動を伴う承認依頼がメインチェーンに上がってくる。これを承認するのがDPoSによるランダム選出されたバリデーターである。以下に、具体的な承認手順を示す。
       

    • ユーザーが愛の行動を行うと、その行動がトランザクションとして各市町村のブロックチェーンに送信される。このトランザクションには、送信者の情報、受信者の情報、および行動の内容が含まれる。

    • 各市町村のブロックチェーン上で、トップバリデーターによってトランザクションが承認される。これにより、各地域のブロックチェーン上に愛の行動が記録される。
    • このようなシステムでは、愛の行動がブロックチェーン上で透明かつ不可逆的に記録され、地域ごとに選出されたバリデーターが地域の特性やニーズに応じてトランザクションを承認し、メインチェーンに送信されることで、地域間の連携や分散化が促進されると考えられる。

    • 受信者が愛の行動を受け取り、承認ボタンを押すと、これに関連したトランザクションがメインチェーンに送信される。
    • メインチェーン上で、DPoSによってランダムに選ばれた承認者がこのトランザクションを承認する。承認されたトランザクションは、各市町村のブロックチェーンに戻り、愛貨の移動が行われる。DPoSによるランダム選出の手順は下記の通り。
       
  6. 確率分布の定義:

    ランダム選出のために、各バリデーターに対する確率分布を定義する。この確率分布は、各バリデーターが次のブロックを生成するために選ばれる確率を示す。
  7. 投票ウェイトの計算:

    各バリデーターの投票ウェイトを計算する。通常、これはバリデーターが保持する愛貨の量に基づいて決定される。愛貨量が多いほど、バリデーターの投票ウェイトが大きくなる。
  8. 確率分布の設定:

    各バリデーターの投票ウェイトを元に、確率分布を設定する。通常、投票ウェイトが大きいバリデーターほど、次のブロックを生成する確率が高くなる。
  9. ランダム選出:

    設定された確率分布を用いて、次のブロックを生成するバリデーターをランダムに選出する。この選出は、確率密度関数や乱数生成アルゴリズムを用いて行われる。

これらの要素を組み合わせることで、バリデーターがネットワークに対して貢献し、目標を達成することで報酬を得る仕組みが構築できる。愛貨が目標管理制度として機能する一方で、バリデーターにとってもインセンティブが働くようになる。目標達成に対する報酬が減る仕組みを正しく構築することで、バリデーターは自らの信頼性を維持し、ネットワーク全体の安定性と透明性が向上する。

 

では、バリデーターになるメリットは、目標達成に基づく報酬として愛貨が減ることから生まれるが、具体的に見てみよう:

  1. 目標達成に対する報酬:

    • バリデーターはあらかじめ宣言した目標を達成することで、その成果に応じて報酬を得ることができる。この報酬は愛貨の減額として表れ、目標の達成に対するインセンティブとなる。つまり、宣言目標が高いほど、報酬も高いというステーキング量の変動制を採り入れれば良いのかもしれない。
  2. コミュニティでの信頼の構築:

    • 目標を達成することで、バリデーターはコミュニティ内での信頼を構築できる。コミュニティからの評価が高まることで、他のユーザーやプロジェクトからの信頼も得やすくなる。
  3. ユーザーやデベロッパーからの支持:

    • 目標達成に対する報酬は、ユーザーやデベロッパーに対してバリデーターが本気でネットワークに貢献しようとしていることを示す。これにより、プロジェクト全体の発展に対する支持を得やすくなる。
  4. ネットワークの改善と発展:

    • バリデーターが目標を達成することで、ネットワークの改善や発展に寄与する。これにより、バリデーターはプロジェクト全体の成功に貢献したと認識され、将来的な機会や報酬の可能性が広がる。

バリデーターにとってのメリットは、目標達成に基づく報酬とコミュニティ内での信頼の構築に焦点を当てている。これらの要素が組み合わさることで、バリデーターはプロジェクトに対して積極的な貢献を行い、同時に自身にとっても報酬や信頼を獲得できる環境が生まれる。バリデーターにとっての報酬が愛貨の減額という形式で提供される場合、それが本当にインセンティブとなるかどうかは個々のバリデーターやコミュニティの文化、価値観、および動機付けに依存する。一般的に、お金以外の動機や報酬が人々にとって重要であることがある。以下はその理由である。

  1. 社会的・個人的な満足感: 社会貢献や他者への役立ちを通じて得られる満足感や充足感は、多くの人々にとって重要である。バリデーターがプロジェクトやコミュニティに貢献することで、その活動自体に満足感を得ることができる場合がある。

  2. 認知や評価: バリデーターがコミュニティ内での貢献や活動に対して認められ、評価されることもインセンティブとなる。他のメンバーや利害関係者からの尊敬や信頼を獲得することは、多くの人にとって重要な動機付け要因である。

  3. 自己成長: バリデーターが自身のスキルや知識を向上させ、成長する機会を得られることも重要である。プロジェクトへの貢献を通じて新しいスキルを習得したり、コミュニティ内でリーダーシップの役割を果たしたりすることで、自己成長につながることがある。

  4. コミュニティの一員としての帰属感: バリデーターがコミュニティの一員としての帰属感を感じ、共同体の一部として認められることも重要である。そのような帰属感やコミュニティ内での関係性は、多くの人々にとってインセンティブとなる。

以上の要因から、お金以外の要素がバリデーターにとって重要なインセンティブとなる場合がある。ただし、個々のバリデーターやコミュニティによって異なるため、適切な報酬体系を設計する際には、これらの要素を考慮することが重要である。

 

 

いかがであろうか、このようにバリデーター問題は、コミュニティ内での信頼の構築という愛の行動で成り立つ。結局は、悪意ある行動をした人は信頼を失い、愛の行動をした人が信頼を構築するという単純な仕組みをいかに創っていけるかということだろう。”愛貨”は”お金”とは違う。実行動に裏付けされた価値なのだ。”お金”のように裏付けの無い価値の場合、単純なやり取りや不正などが横行しやすい。それは裏付けが無いからだ。”愛貨”の場合、実行動という裏付けがあるために、不正をしたら直ぐにバレてしまう。だから、バリデーター問題はあまり大きな問題にならないと先に記載したとおりだ。上記のようなアルゴリズムで、バリデーター投票を行えばよいのだろう。