——xLog ブロックチェーンブログを例に、DApp についての私の考えを述べます
はじめに:Web2 から Web3 への移行#
Web2 時代の限界#
- 中央集権的リスク
Web2 時代はデータの保存と管理が高度に集中しており、プラットフォームが攻撃を受けたり権力を乱用した場合、ユーザーの権限や権益が容易に損なわれる。 - 情報の孤島
各プラットフォーム間でデータの相互運用が難しく、情報の孤島が形成され、データの価値の十分な掘り起こしと利用が制限され、ユーザー体験が制限される。 - コンテンツの管理権の欠如
クリエイターは Web2 プラットフォーム上でコンテンツを公開する際、作品に対する完全な管理権を失うことが多く、著作権保護や収益分配メカニズムが不十分である。 - 広告モデルの干渉
広告に依存した収益モデルは、ユーザーが無関係な広告に頻繁に遭遇し、使用体験に影響を与え、個人データが精密マーケティングに使用され、プライバシーの境界が曖昧になる。
Web3 のビジョンと目標#
- Web3 の起源:Web3 は Web2 のデータ独占に対する反省から生まれ、分散型ネットワークを利用してユーザーにデータ主権を取り戻すことを目指している。
- スマートコントラクト:スマートコントラクトは自動的にプロトコルを実行し、第三者を必要とせず、取引の透明性と効率を確保し、Web3 の信頼メカニズムの核心である。
- ブロックチェーン技術:ブロックチェーンは改ざん不可能なデータ記録を提供し、Web3 の分散型アプリケーションを支え、情報の安全性とプライバシーを保障する。
- 分散型台帳:Web3 はユーザーが個人データを管理することを強調し、暗号化データでプライバシーを保護し、真のデジタルエンパワーメントを実現する。
Web3、スマートコントラクトとブロックチェーンの核心概念#
正直に言うと、このブログを登録したのは、数年間流行しているブロックチェーンの概念を体験するためです(大学のブロックチェーンコースでは DApp を体験する課題がありました)。この記事を読んでいる皆さんに Web3 の概念を理解してもらうために、Web2 と簡単に比較してみます。
まず、Web3 製品の形態は非常にシンプルで、従来の Web アプリケーションの形態にブロックチェーンを組み合わせたものです。
製品形態 | 定義 | 例 |
---|---|---|
DeFi(分散型金融) | ブロックチェーン技術に基づいて構築された金融サービスプラットフォームで、従来の金融機関を仲介せずに貸付、借入、取引などのサービスを提供する。 | Uniswap, Aave, Compound |
NFT(非同質化トークン) | ブロックチェーン上で唯一無二のデジタル資産を表す技術で、通常はアート作品やコレクションなどの分野で使用される。 | CryptoPunks, Bored Ape Yacht Club, Decentraland |
DApp(分散型アプリケーション) | ブロックチェーン上で動作するアプリケーションで、分散型、不正改ざん不可などの特徴を持ち、ゲーム、ソーシャルなどの多くの分野をカバーする。 | OpenSea(NFT マーケット)、Steemit(ソーシャルメディア) |
他にもたくさん、例えば GameFi など |
ここまで話したので、従来の開発に慣れた視点から比較してみましょう。
登録・ログインプロセスの違いを感じる#
Web2 の登録・ログイン#
これは、ソフトウェア工学や情報セキュリティを学んでいる学生にはお馴染みのものです。
Web3 の登録・ログイン#
- 基盤構造プロセス
バックエンドはほぼすべてスマートコントラクトに置き換えられています。
大体このように考えられます。Web2 のバックエンドはデータベースの CRUD(作成、読み取り、更新、削除)ですが、コントラクトはブロックチェーンの CRUD です。ブロックチェーンはデータベースと見なすことができます。
しかし、Web3 では、コントラクト側で計算を処理する際に費用が発生します。計算量が多いほどコストが高くなり、この費用はユーザーのウォレットからトークンとして差し引かれる必要があります。したがって、一般的にはバックエンドを使用して従来の CRUD 業務を行い、コントラクト側のコストを削減する必要があります。
チャレンジ(Challenge)は、サーバー(またはフロントエンド)によって生成される一連のランダムで一時的な文字列で、ユーザーに署名を要求し、特定のウォレットの管理権を証明するために使用されます。これは「一時的なパスワード」と理解できます。本当にそれを持っている人だけが正しく署名できます。通常の原理は ECDSA(楕円曲線デジタル署名アルゴリズム)に基づいています。興味のある方はさらに学んでみてください。
概念を再説明します#
- ウォレットとトークン
Web3 では、誰もが少なくとも 1 つのウォレットを持ち、資産を保管します。通常の場合、大部分の資産はトークン(Token)であり、トークンは皆さんがよく知っているビットコインやイーサリアムなどです。ウォレットは実際にはコールドウォレットとホットウォレットに分かれます。コールドウォレットは USB ハードウェアデバイスのように理解でき、物理的に接続しないと使用できません。一方、ホットウォレットは MetaMask のようなソフトウェアです。
- ブロックチェーンとブロック
ブロックチェーンは、信頼の問題を解決するために使用できる分散型の台帳技術です。
中央集権:
分散型:
簡単に言えば、これはリンクリストであり、各ノードはブロック(block)と呼ばれ、ブロックには一連の取引記録が含まれます。インターネットに接続できる人は誰でもこれらの取引記録を確認でき、完全にコピーしてバックアップを作成することもできます —— ブロックチェーン上のデータは透明で公開されており、ほぼ改ざんできません。
実験課のコードも書きました。
{
"Header": {
// 親ハッシュ値、つまり前のノードのハッシュで、リンクリストを形成する
"parentHash": "abasbdasbd",
// 作成時間
"timestamp": "2020-02-30",
// 取引ツリーのルートノードのアドレス
// 取引ツリーにはこのブロック内のすべての取引の記録が含まれる
"transactionRoot": "hash22222",
// 状態ツリーのルートノードのアドレス、
// 状態ツリーにはユーザーが生成した情報(取引後の残高、🌟コントラクトコードなど)が含まれる
"stateRoot": "hash21312312", // レシートツリー....、取引履歴(支払い側、受取側、手数料など)
"...": "..."
},
"Body": [
"hash111111",
"hash222222", // ここが上で言及した取引ツリーのルートアドレスです
"hash333333",
"hash444444",
"..."
]
}
ある学生は「ブロックチェーンはいつ新しいブロックを追加するのか?」と尋ねるかもしれません。これはブロックチェーンが採用するプロトコルによります。異なるブロックチェーンのルールはあまり似ていません。例えば、ビットコインのチェーンは PoW メカニズムを採用していますが、イーサリアムのチェーンは PoS メカニズムを採用しています。ブロックチェーンの大まかな構造はこのようになっています。次に具体的な内容について話しましょう。
- スマートコントラクト
スマートコントラクトは実際には一段のプログラムで、テストブロックチェーンにデプロイできます。形は以下のようになります:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;、
contract SimpleVoting {
// 候補者の構造体を定義
struct Candidate {
string name;
uint voteCount;
}
// 候補者情報を保存
mapping(uint => Candidate) public candidates;
uint public candidatesCount;
// 初期化コンストラクタ、候補者を設定
constructor() {
addCandidate("Candidate A");
addCandidate("Candidate B");
}
// 投票関数
function vote(uint _candidateId) public {
// 有効な候補者に投票することを確認
require(
_candidateId < candidatesCount
&& _candidateId >= 0, "無効な候補者ID"
);
// 投票数を更新
candidates[_candidateId].voteCount++;
}
}
バックエンドが提供するインターフェースは API と呼ばれますが、スマートコントラクトのインターフェースアドレスは二進数のハッシュ値で、ABI と呼ばれます。形は:0xhash123123
上記のブロックチェーンデータ構造と組み合わせると、デプロイはこのプログラムの ABI を Body に置き、状態ツリーのノードになります。
これは git の blob tree 管理方式に非常に似ています。どちらもマークルツリー(ハッシュツリー)です。
- 計算コスト
計算コストが必要な理由を説明する前に、背景を紹介します:
PoW または PoS メカニズムの下で、新しいブロックが生成されるとき、ブロック生成を推進する人(マイナーや検証者など)は報酬としていくつかのトークンを得ます(そう、マイニングはこういうことです)。ここで言うのは Gas 費用で、イーサリアムの PoS で最初に提案された料金メカニズムです。以下の目的があります:ブロックチェーンの乱用を防ぐため、各操作にはコストがかかり、これにより高頻度攻撃が効果的に減少します。マイナーを奨励するため、もしあなたがより多くの Gas を支払うことを望むなら、一部の Gas はマイナーへのチップとして使用され、あなたの取引はマイナーによって優先的に処理され、次のブロックにより早く追加されます(ブロックに追加されることは取引の完了を意味します)。
Web3、スマートコントラクトとブロックチェーンの Web2 に対する利点と欠点#
技術面#
まずは性能のボトルネックです。Web3 とブロックチェーン技術は Web2 に比べて取引速度が遅く、処理能力が限られており、スマートコントラクトの実行効率もチェーン上のリソースに制約され、大規模な需要を満たすことが難しいです。
取引所、ウォレット、登録アカウント / 未登録アカウント、パスワード(秘密鍵、リカバリーフレーズ)の記録 / 未記録、操作プロセスが複雑で、Gas 費用が高額で、ネットワーク接続が不安定などの問題が常にユーザーを悩ませています。そのため、Web3 の概念は熱いですが、一般ユーザーの認知度は低く、直感的でわかりやすいアプリケーションシーンが不足しており、技術の普及と一般の受け入れにはまだ大きな改善の余地があります。「群衆から離れている」感じです。
規制面#
このブログはブロックチェーン上に構築されており、アカウントはウォレットアドレス + ブロックチェーンの検証を使用し、ブログの内容は IPFS 分散ファイルシステムに保存されています。数日間体験してみて、この方法の利点を深く感じましたが、欠点も明らかです。最初の問題は規制の問題です。
1. プラットフォームは悪意のあるアカウントやコンテンツを管理する権限がない#
すべての公共の場では、言論の自由を保証する一方で、言論の適法性も考慮する必要があります。分散型ソーシャルプラットフォームの核心理念は分散型ガバナンスであるため、ユーザーが悪意のあるコンテンツを自由に公開したり、プラットフォームを乱用したりすると、コミュニティの環境が悪化します。私個人の意見としては、コミュニティガバナンスのモデルを導入すべきだと思います。例えば、ガバナンストークンを発行し、高トークンアカウントが投票メカニズムに参加し、ユーザーが違反アカウントを禁止または隠すかどうかを決定できるようにするべきです(削除できるかどうかは不明ですが、理論的には IPFS にバインドされたアカウントが公開したコンテンツは削除できるはずですが、チェーン上のアカウントが関与する場合、削除できない可能性があるため、隠すしかないかもしれません)。
2. 敏感情報が誤ってブロックチェーンに記録されると、永久に削除できない#
まず、敏感情報を直接ブロックチェーンに書き込むことを避け、せいぜいハッシュ値を保存し、実際の内容は IPFS に置くべきです。しかし、Web3 が一般家庭に浸透するためには、悪意のある情報がブロックチェーンに上がる可能性があるため、これは非常に悪い状況です。また、IPFS であっても、敏感情報を暗号化してアップロードし、特定の秘密鍵を持つユーザーだけが読み取れるようにするべきです。
3. コミュニティブロックチェーンの存続問題がデータに与える影響#
もしコミュニティが独自に構築したブロックチェーンが「死んで」しまい、その上の内容が公共のチェーンや他のチェーンに統合されなければ、ユーザーは元のネットワークを通じてこれらのデータにアクセスできなくなります。データがまだ存在しても、特殊な手段(ノードのストレージデバイスに直接アクセスするなど)を通じて回復し、アクセスする必要がありますが、これらの分散データはどこにあるのでしょうか?バックアップは大きな難題です。公共のチェーンは少し良いですが、小型のプライベートチェーンは、これらのインフラ問題が発生すると、信頼性が試されます。
4. 法律問題#
このブログを始めたとき、いくつかの適当な記事を投稿しましたが、あまり人が見ていないので、見たとしても匿名なので私が誰かはわからず、ただの「秘密の話をする木の洞」だと思っていました。適当な記事を投稿すること自体は問題ありませんが、こうしたプラットフォームは法律的に(結局、闇市場は BTC で決済されるので、ブロックチェーンはほぼ闇産業の温床になっています)、特に《個人情報保護法》において、既存のシステムに大きな挑戦をもたらします。(この部分は、情報セキュリティ法の課題として書いたものを持ってきました。使えるのは本当に喜ばしいことです。なぜこんなに多くの授業があるのか、私は狂いそうです!)
ブロックチェーンに関して言えば、異なるタイプのブロックチェーン(公共チェーン / 許可不要チェーン vs. プライベートチェーン / 許可チェーン)の技術アーキテクチャの違いは、《個人情報保護法》の遵守可能性を直接決定します。許可チェーンはその参加者が知られ、制御可能な特性により、ガバナンスメカニズムを構築し、法的責任を果たすための可能性を提供します。したがって、既存の法律フレームワークに適応する際に天然の利点があります。例えば、一部の見解では、公共チェーンの発起人やノードの管理者は個人情報処理者としての法的責任を負わないべきであり、非公共チェーンの発起人や限られたノードの管理者はこの責任を負うべきだと提案されています。
スマートコントラクトは「バックエンド」として、事前に設定されたルールや条件に基づいて自動的に契約条項や関連行為を実行、制御、記録します。その運用は「もし - ならば」(if-then)の論理に基づいています。自動化の特性は取引効率を大幅に向上させることができますが、人工的な監視、エラー修正、法的権利や状況の変更が発生した場合の介入方法についての問題を引き起こします。例えば、その実行結果は基盤となるブロックチェーンデータと同様に改ざん不可能です。これは《個人情報保護法》における個人の同意撤回権(第 15 条)や、処理行為が不法または不必要になった場合に調整または処理活動を停止する能力に直接挑戦します。
つまり、問題は大きくなります!前の章で述べたように、個人情報がブロックチェーンに上がることによるプライバシーの懸念や、秘密鍵管理の問題によるデータの懸念、単なる未成熟なブロックチェーン + スマートコントラクトは、一度デプロイされると、自動的に《個人情報保護法》に違反し続け、修正が難しいのです。冷静に考えてみると、データ主体は本当にあなたですか?《個人情報保護法》は個人に一連のデータ主体権利を付与しています。これには知る権利、決定権(第 44 条)、閲覧権、コピー権(第 45 条)、修正、補充権(第 46 条)、そして非常に重要な削除権(第 47 条)が含まれます。さらに、同意撤回権(第 15 条)やデータの携帯権(第 45 条第 3 項)も含まれます。これらの権利、特に修正権と削除権は、ブロックチェーンの改ざん不可能性と直接対立します。あなたの情報は、本当に無制限に、たくさんの部分に分けられ、どのノードに保存されているかわからないまま、永久に匿名で保存されることができます。あなたは削除権、修正権、携帯権、同意撤回権を失い、これらのデータは本当にあなたが管理できるのでしょうか?
したがって、個人情報処理者(分散型組織は責任主体を定義するのが非常に難しいため、ぼかして、組織を処理者主体と見なします)の義務は、全体の安全に責任を持つ必要があります。そうでなければ、ブロックチェーンなどの技術は、真に千家万戸に浸透することは難しいでしょう。冷静に考えてみると、ブロックチェーンは本当に素晴らしいものであり、Web3 も本当に素晴らしいですが、「コードは法律である」という概念は、法律体系が法律を解釈し適用し、救済を提供し、予測できない状況に適応する必要性と対立します。法律フレームワークは動的ですが、一度デプロイされたコードは硬直的である可能性があります。個人情報に関するスマートコントラクトの実行から生じる争いは、依然として《個人情報保護法》の規制を受けます。スマートコントラクトの自動化された実行ルールは、特定のタイプの人的エラーや偏見を減少させることができますが、新しいシステム的な偏見を引き起こす可能性もあります —— その基盤となるコードやデータ入力に欠陥や差別が存在する場合です。ブロックチェーンエコシステムは、新しい参加者のタイプ(マイナー / 検証者、ノードオペレーター、スマートコントラクト開発者、取引を開始するユーザーなど)を生み出し、彼らの《個人情報保護法》における役割と責任はまだ明確ではありません。全体の権利と責任を明確にする前に、どうしてブロックチェーン技術を大々的に宣伝し、制御不能な普及を進めることができるのでしょうか?
毛主席は私たちに教えました。すべての矛盾を一度に解決しようとしないでください。矛盾は無限であり、事務の主要な矛盾を把握すれば、他の問題は自然に解決されます。次に、技術が実際にどのような主要な矛盾をもたらすかを見てみましょう。
《個人情報保護法》条項と核心要求 | 技術特性がもたらす挑戦 | 具体的な挑戦の説明 |
---|---|---|
第 47 条 – 削除権; 第 46 条 – 修正権 | 改ざん不可能性 | すでに記録された個人情報を直接削除または修正することができず、ユーザーの削除または修正の要求を満たすことが難しい。 |
第 73 条 – 「個人情報処理者」の認定 | 分散型 | 公共チェーンや DAO では、唯一または共同で処理目的や方法を自主的に決定する責任主体を特定することが難しい。 |
第 14 条 – 知情同意、明確同意; 第 15 条 – 同意撤回権 | スマートコントラクトの自動化、不可逆的な実行 | ユーザーが複雑なスマートコントラクトの処理ロジックについて十分に知ることが難しい;ユーザーが同意を撤回した後、すでに自動実行された契約を停止または修正することが難しい。 |
第 24 条 – 自動化された決定の規制 | スマートコントラクトの自動化された決定特性 | 自動化された決定の透明性、公平性を保障し、ユーザーが説明を受けたり、自動化された決定のみに基づいて拒否する権利を得ることが難しい。 |
第 38 条から 40 条 – 個人情報の越境移転ルール | ブロックチェーンネットワークのグローバルな分散特性 | データの出境者と受領者を特定することが難しく、安全評価、標準契約などのメカニズムを適用することが難しい;データが複数のノードに複製されることで、事実上の継続的な越境移転が発生する。 |
第 6 条 – データ最小化の原則 | ブロックチェーンの全ノードデータ複製、永久記録特性 | チェーン上の保存と全ネットワークのブロードキャストが、最小限の必要な範囲を超えた個人情報の処理を引き起こす可能性がある。 |
第 51 条 – セキュリティ保障義務 | 分散型、秘密鍵管理の複雑性 | 暗号化などの技術があるが、全体の安全責任の所在が不明確で、チェーン上のデータが漏洩した場合(例えば、秘密鍵が盗まれた場合)制御が難しい;オープンソースコードには脆弱性が存在する可能性がある。 |
したがって、これは単なる技術的な問題ではなく、規制や運営など、多面的な法律問題に関わります。
技術の問題は、結局は技術が適切に対処する必要があります。運営者の問題は、結局は運営者が考慮する必要があります。以下に私の個人的な意見を挙げ、章の締めくくりとします。
戦略カテゴリ | 具体的な戦略 | 説明 | 《個人情報保護法》遵守の効果 | 主な考慮事項 / 制限 |
---|---|---|---|---|
技術 | 個人データのチェーン外保存 | 敏感な個人情報を制御可能なデータベースに保存し、チェーン上にはハッシュまたは参照のみを保存する。 | 削除権 / 修正権の実現を容易にし、チェーン上のデータ露出リスクを低減する。 | システムの複雑性が増す可能性があり、チェーン上のデータの直接管理の価値が一部犠牲になる。 |
技術 | プライバシー強化技術(PETs)の適用 | ゼロ知識証明、同態暗号など、元のデータを露出せずに検証または計算を行う。 | データ処理過程でのプライバシー保護レベルを向上させ、データ最小化の実現に寄与する可能性がある。 | 技術の成熟度や標準化の程度が異なり、法律の認知度が明確でなく、実施コストが高くなる可能性がある。 |
技術 | 堅牢な匿名化 / 仮名化処理 | 個人情報を効果的に匿名化するか、仮名化処理時に再識別リスクを評価し、低減する。 | 匿名化情報は《個人情報保護法》には適用されず;仮名化は直接露出リスクを低減するのに役立つ。 | 真の匿名化を実現するのは難しい;仮名化データは再識別される可能性がある。 |
ガバナンス / 運営 | 許可チェーン / アライアンスチェーンの採用 | 参加者の身元が明確で、明確なガバナンスルールと責任分配メカニズムを構築できる。 | 「個人情報処理者」を明確にし、法的義務を果たすのに役立つ。 | 一部の分散型特性が犠牲になる可能性があり、適用シーンが制限される。 |
ガバナンス / 運営 | データ保護影響評価(DPIA)の実施 | 高リスクのブロックチェーンデータ処理活動に対して事前にリスク評価と記録を行う。 | 法的リスクを積極的に特定し、軽減し、《個人情報保護法》第 55 条、第 56 条の要件を満たす。 | 評価プロセスが複雑で時間がかかる可能性があり、専門知識が必要。 |
ガバナンス / 運営 | 明確なガバナンスフレームワークとユーザー透明性メカニズムの構築 | データ処理ルール、各方面の権利と責任を明確にし、ユーザーに情報処理状況と権利を明確に通知する。 | 責任を強化し、ユーザーの知る権利、決定権を保障する。 | ガバナンスフレームワークの設計と実行は参加者の合意と協力に依存する。 |
法律 / 規制 | 特定の規制ガイドラインと基準の策定 | 規制機関が《個人情報保護法》がブロックチェーンシーンで適用される具体的な指針、標準契約の雛形などを発表する。 | 法的確実性を提供し、遵守実践を指導する。 | ガイドラインの策定には時間がかかり、技術の進展に遅れる可能性がある。 |
法律 / 規制 | 業界の自律と認証メカニズムの推進 | 業界団体が行動規範を策定し、個人情報保護認証システムを構築することを奨励する。 | 法律の規制を補完し、業界全体の遵守レベルを向上させる。 | 自律の効果は限られており、認証メカニズムの権威性と普遍性を確立する必要がある。 |
結論#
ああ、ブロックチェーンの概念が登場した当初、私はまだ小さな子供でした。10 年以上が経ち、今では大学のコンピュータ室でブログを書きながら高談論道しています、ハハハ。リーダーのスピーチを模倣して、この記事の結論としましょう:世界は動いており、前進しています。技術と法律が急速に進化しているため、今日提起された影響と挑戦は一成不変ではありません。技術が成熟し、法律の解釈が深まるにつれて、新しい問題と解決策が次々と現れるでしょう。したがって、すべての利害関係者は、この動的に変化する分野に適応するために、持続的な警戒、深い研究、オープンな対話を維持する必要があります。未来の Web3、スマートコントラクト、ブロックチェーンが本当に新時代のインターネットに力を与え、闇市場が少なくなり、より多くの活用の場が実現され、人と社会が自由かつ全面的に発展することを信じています(私は、この技術が共産主義の雛形を持ち、資本主義の高度な段階の自由と明確な価格設定を持っているので、もしかしたら人類の未来の特異な社会形態の基盤になるかもしれないと思います!!)
以上。