บทเรียนที่ 2

技術アーキテクチャ

このモジュールでは、SKALEネットワークの技術アーキテクチャ、SKALEチェーンの設計と運用、コンセンサスメカニズム、ノードの運用、セキュリティ機能などについて説明します。

SKALE チェーン

SKALEチェーンは、ブロックチェーンのスケーラビリティとパフォーマンスに異なるアプローチを提供するSKALE Networkの重要なコンポーネントであり、特定のアプリケーション向けに調整された独立したブロックチェーンとして、コンテナ化されたバリデーターノードを使用しています。各チェーンは、増加する取引量を処理するために水平方向にスケーリング可能なエラスティックサイドチェーンとして機能します。これは、16ノードのセット全体にわたるネットワークリソースの動的割り当てを通じて実現され、定期的に回転しランダムに選択されることでセキュリティと分散化が強化されています。

SKALEチェーンのアーキテクチャは、高スループットと低レイテンシをサポートするよう設計されています。各チェーンは自律的に動作し、トランザクションを処理し、スマートコントラクトを独立して実行するため、単一の、一枚岩のブロックチェーンの制約に縛られることなく、複雑なdAppの要件を処理できることが保証されます。コンテナ化されたバリデータノードの使用により、効率的なリソース管理が可能となり、Chainsは分散型アプリケーションにとって効果的な環境を提供できます。

SKALEのハイブリッドアーキテクチャは、レイヤー1とレイヤー2の特性を統合しています。レイヤー1のソリューションとして、各チェーンは独自のトランザクション処理、コンセンサス、およびデータストレージを管理し、イーサリアムメインネットによって提供されるセキュリティとオーケストレーションの恩恵を受けつつ、レイヤー2の拡張機能としても機能しています。

コンセンサスメカニズム

SKALEネットワークは、ネットワーク遅延やノード障害などの分散型環境の課題に対処するために特別に設計されたコンセンサスメカニズムに、非同期バイナリビザンチン協定(ABBA)プロトコルを採用しています。このプロトコルは、トランザクションが迅速かつ安全に処理されることを保証し、ブロックがチェーンに含まれるとすぐにファイナリティを達成します。ABBAプロトコルはビザンチンフォールトトレランス(BFT)もサポートしているため、一部のノードが悪意を持って動作したり、ダウンタイムが発生したりしても、ネットワークは動作し続けることができます。

ABBAの仕組み

ABBAプロトコルは、最大三分の一がビザンチン(故障または悪意のある)ノードである分散システムにおいて合意を達成します。任意のメッセージ遅延にもかかわらず、バイナリ値(0または1)について合意を確実にします。以下の手順に従って機能します。

1. ブロック提案の作成:

  • ノードは、トランザクションを含むブロックの提案を作成します。
  • 十分な保留中の取引がある場合、ブロックが提案されます。
  • 取引がない場合、空のブロックが提案されます。

2.信頼性の高い通信:

  • 提案は、データ利用可能性プロトコルを使用して他のノードに送信されます。
  • これにより、提案がノードの過半数(3分の2以上)に達することが保証されます。

3. 投票と署名集約:

  • プロポーザルを受信すると、ノードはそれをデータベースに追加し、部分的な署名を送り返します。
  • ノードが十分な部分署名を収集して超過多数を形成すると、それらを単一の閾値署名に集約し、ブロードキャストします。

4. コンセンサス決定:

  • ノードは提案されたブロックに投票するためにaggreGate.iod署名を使用します。
  • ABBAプロトコルの複数のインスタンスが種々の提案に投票する
  • スーパーマジョリティ投票を行ったブロックは受け入れられ、ブロックチェーンに追加されます。

5. ランダム化:

  • ランダムな値(コイン)は、ビザンチンノードにもかかわらず、進歩を確実にするための意思決定に影響を与えます。
  • 共通のコインメカニズムは、正直なノードが同じ意思決定に収束するのを助けます。

6. セキュリティと最終性:

  • セキュリティのために閾値署名とBFTプロパティを使用します。
  • すべての正直なノードが同じ値で開始した場合、有限回数のラウンドで合意することを保証します。
  • 値が決まると、それが最終的です。

BLS暗号化

BLS(Boneh–Lynn–Shacham)のしきい値暗号は、SKALEのコンセンサスプロセスの一部です。これにより、複数の参加者が協力して署名を生成できます。これは、分散型システムにおいて安全で検証可能なコンセンサスを確保するために特に役立ちます。

BLS ネットワークの各参加者は、秘密鍵と公開鍵を持っています。秘密鍵はメッセージに署名するために使用され、一方、公開鍵は署名を検証するために使用されます。メッセージに署名するために、参加者はその秘密鍵を使用して署名を作成し、それはメッセージに添付されることができる短い文字列です。その後、公開鍵を持つ関係者は、署名が有効であり、対応する秘密鍵の保持者によって作成されたことを検証できます。

しきい値暗号では、有効な署名を作成するために最低限の参加者(n人中t人)が協力する必要があります。このパラメータは、一部の参加者が危険にさらされてもシステムが安全であることを保証します。秘密鍵は、Shamirの秘密分散と呼ばれる技術を使用して複数の共有に分割されます。これにより、各参加者が秘密鍵の共有を受け取ります。

署名を生成するには、少なくとも T 個の参加者が自分の共有を結合し、それぞれが秘密鍵の共有を使用して部分的な署名を生成する必要があります。次に、これらを組み合わせて、公開鍵で検証できる完全な署名を形成します。その後、結合された署名は、通常のBLS署名と同様に、公開鍵を使用して検証できます。

実践では、コンセンサスプロセスは複数の段階を経る。最初に、ノードは新しいブロックを提案し、ネットワーク内の他の検証者と共有する。それぞれの検証者はその後、ブロックの取引を検証し、BLS署名を使用して署名する。これらの署名は一つのグループ署名に集約され、ネットワークにブロードキャストされる。検証者の過半数がブロックに署名した後、それがチェーンに追加され、最終確定が達成される。このプロセスにより、取引が迅速に確認される一方で、高いセキュリティレベルが維持される。

ノード操作

各ノードは、コンセンサスプロセスに参加し、スマートコントラクトを実行できるコンテナ化されたインスタンスである複数の仮想化されたサブノードを操作します。この仮想化により、ノードは複数のチェーンを同時にサポートでき、ネットワークに柔軟でスケーラブルなインフラストラクチャを提供できます。

ノードの操作は、Ethereumメインネット上に展開された一連のスマートコントラクトによって管理されています。これらはSKALE Managerとして知られており、ノードの登録、ローテーション、およびステーキングなどの重要な機能を処理しています。ノードを運営するバリデータは、高い稼働時間と低い遅延を維持するなど、厳格なパフォーマンスおよびセキュリティ要件に従う必要があります。パフォーマンスメトリクスは継続的にモニターされ、ノードはネットワーク規格への適合度に基づいて評価および報酬またはペナルティが与えられます。

ノードの運用の動的性質は、SKALEのアーキテクチャの重要な特徴です。ノードは定期的に異なるSKALEチェーンに回転し、単一のノードが障害の中心点となるのを防ぎます。この回転は、ランダム選択アルゴリズムを使用してノードをチェーンに割り当てるSKALEマネージャーコントラクトによって管理されます。このアプローチにより、ネットワークの分散化とセキュリティが向上し、特定のチェーンに対する制御が多様な検証者のセットに分散されることが保証されます。

セキュリティ機能

SKALEネットワークのセキュリティは、運用を保護するために多面的なアプローチを採用しています。このネットワークのハイブリッドアーキテクチャは、ネイティブプロトコルとEthereumメインネットからセキュリティを派生させています。BLS閾値署名と分散鍵生成(DKG)は、インターチェーンメッセージングのセキュリティを確保し、クロスチェーントランザクションの整合性を確保するために使用されています。この暗号的アプローチにより、データへの不正アクセスや操作が防止され、ネットワークの信頼性が維持されています。

SKALEは、検証者がSKLトークンをステークしてネットワークに参加し、経済的利益として正直に行動しネットワークセキュリティを維持するためのインセンティブを得るプルーフ・オブ・ステーク(PoS)モデルも採用しています。彼らは定期的にローテーションされ、共謀のリスクを最小限に抑え、高い分散レベルを確保するために異なるブロックチェーンからSKALEを差別化する要素の1つとして、悪意あるまたは過失行為に対する罰則措置も含まれており、エコシステムの完全性をさらに保護しています。

ノードの監視とパフォーマンス

各ノードには、ネットワーク内の他のノードのパフォーマンスを追跡するノード監視サービス(NMS)が装備されています。このサービスは、アップタイムとレイテンシを測定し、定期的にピアノードに ping を送信し、これらのメトリクスをローカルデータベースに記録します。各エポックの終わりに、これらのメトリクスが平均化され、メインネットのスマートコントラクトに提出されます。これらのメトリクスは、ノードへの支払い分配を決定するために使用され、パフォーマンスが低いノードは再確認のためにフラグが立てられます。

ノードのパフォーマンスを監視および評価することで、SKALE Networkは迅速に問題を特定および対処することができ、信頼性とセキュリティの高いレベルを維持することができます。NMSはまた、ノードが中央集権的な権威ではなく、仲間によって責任を負うことによって、ネットワークの分散型ガバナンスに貢献しています。

ノードのパフォーマンスは、SKALEネットワーク内の各ノードがコンテナ化されているため、CPU、メモリ、およびストレージリソースを効率的に管理することができ、複数のチェーンを同時にサポートし、スケーラブルで柔軟なインフラストラクチャを提供することができます。リソースの動的な割り当ての性質により、ノードはさまざまなワークロードに適応し、ネットワーク全体で最適なパフォーマンスを維持することができます。

インターチェーンメッセージングと相互運用性

インターチェーンメッセージングは、SKALEチェーンとEthereumメインネット間の効果的なコミュニケーションを可能にし、BLS閾値暗号を使用してこれらの相互作用を保護することで、チェーン間でトークンやメッセージを転送することを容易にします。この機能により、開発者は複数のチェーンとやり取りできる複雑なdAppsを作成し、その機能性と範囲を向上させることができます。

IMAは、ERC-20、ERC-721、ERC-1155など、さまざまなトークン規格をサポートしており、開発者に柔軟性を提供しています。資産やデータのチェーン間の転送を可能にすることで、IMAはSKALE ChainsがEthereumエコシステムが提供する技術を活用しながら、独自の運用を維持できるようにします。これにより、Ethereumの拡張機能として機能し、パフォーマンスとスケーラビリティを向上させることができます。

開発者ツールと互換性

SKALEネットワークは、設計上、開発者向けに作られています。既存のEthereum開発環境との互換性やツールを提供しています。SKALE ChainsはEthereum Virtual Machine(EVM)と完全に互換性があり、開発者は既存のスマートコントラクトを変更することなく展開できます。

ネットワークは、dApp開発をサポートするさまざまな開発者ツールも提供しています。これらのツールには、SDK、API、およびドキュメントが含まれ、開発者がSKALE上でアプリケーションを構築、展開、管理するのを支援します。イーサリアムのスマートコントラクトに使用されるプログラミング言語であるSolidityへのネットワークのサポートは、開発プロセスをさらに簡略化します。包括的なツールスイートを提供し、イーサリアムとの互換性を維持することで、SKALEは開発者にとっての参入障壁を下げ、革新的なdAppsの作成を促進します。

ハイライト

  • SKALEチェーンは、コンテナ化されたバリデータノードと動的なロードバランシングを備えた、スケーラブルで柔軟なブロックチェーン環境を提供します。
  • このネットワークは、BLS閾値暗号でサポートされているコンセンサスにABBA(Asynchronous Binary Byzantine Agreement)プロトコルを使用します。
  • ノードは、イーサリアム上のSKALEマネージャースマートコントラクトによって管理される複数の仮想化されたサブノードを運用します。
  • セキュリティ機能にはBLS署名、DKG、経済的インセンティブと検証者への罰則を備えたプルーフ・オブ・ステーク・モデルが含まれています。
  • ハイブリッドアーキテクチャは、Layer 1 と Layer 2 の特性の両方を使用し、Ethereum のセキュリティを SKALE のスケーラビリティと組み合わせています。
ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn
แคตตาล็อก
บทเรียนที่ 2

技術アーキテクチャ

このモジュールでは、SKALEネットワークの技術アーキテクチャ、SKALEチェーンの設計と運用、コンセンサスメカニズム、ノードの運用、セキュリティ機能などについて説明します。

SKALE チェーン

SKALEチェーンは、ブロックチェーンのスケーラビリティとパフォーマンスに異なるアプローチを提供するSKALE Networkの重要なコンポーネントであり、特定のアプリケーション向けに調整された独立したブロックチェーンとして、コンテナ化されたバリデーターノードを使用しています。各チェーンは、増加する取引量を処理するために水平方向にスケーリング可能なエラスティックサイドチェーンとして機能します。これは、16ノードのセット全体にわたるネットワークリソースの動的割り当てを通じて実現され、定期的に回転しランダムに選択されることでセキュリティと分散化が強化されています。

SKALEチェーンのアーキテクチャは、高スループットと低レイテンシをサポートするよう設計されています。各チェーンは自律的に動作し、トランザクションを処理し、スマートコントラクトを独立して実行するため、単一の、一枚岩のブロックチェーンの制約に縛られることなく、複雑なdAppの要件を処理できることが保証されます。コンテナ化されたバリデータノードの使用により、効率的なリソース管理が可能となり、Chainsは分散型アプリケーションにとって効果的な環境を提供できます。

SKALEのハイブリッドアーキテクチャは、レイヤー1とレイヤー2の特性を統合しています。レイヤー1のソリューションとして、各チェーンは独自のトランザクション処理、コンセンサス、およびデータストレージを管理し、イーサリアムメインネットによって提供されるセキュリティとオーケストレーションの恩恵を受けつつ、レイヤー2の拡張機能としても機能しています。

コンセンサスメカニズム

SKALEネットワークは、ネットワーク遅延やノード障害などの分散型環境の課題に対処するために特別に設計されたコンセンサスメカニズムに、非同期バイナリビザンチン協定(ABBA)プロトコルを採用しています。このプロトコルは、トランザクションが迅速かつ安全に処理されることを保証し、ブロックがチェーンに含まれるとすぐにファイナリティを達成します。ABBAプロトコルはビザンチンフォールトトレランス(BFT)もサポートしているため、一部のノードが悪意を持って動作したり、ダウンタイムが発生したりしても、ネットワークは動作し続けることができます。

ABBAの仕組み

ABBAプロトコルは、最大三分の一がビザンチン(故障または悪意のある)ノードである分散システムにおいて合意を達成します。任意のメッセージ遅延にもかかわらず、バイナリ値(0または1)について合意を確実にします。以下の手順に従って機能します。

1. ブロック提案の作成:

  • ノードは、トランザクションを含むブロックの提案を作成します。
  • 十分な保留中の取引がある場合、ブロックが提案されます。
  • 取引がない場合、空のブロックが提案されます。

2.信頼性の高い通信:

  • 提案は、データ利用可能性プロトコルを使用して他のノードに送信されます。
  • これにより、提案がノードの過半数(3分の2以上)に達することが保証されます。

3. 投票と署名集約:

  • プロポーザルを受信すると、ノードはそれをデータベースに追加し、部分的な署名を送り返します。
  • ノードが十分な部分署名を収集して超過多数を形成すると、それらを単一の閾値署名に集約し、ブロードキャストします。

4. コンセンサス決定:

  • ノードは提案されたブロックに投票するためにaggreGate.iod署名を使用します。
  • ABBAプロトコルの複数のインスタンスが種々の提案に投票する
  • スーパーマジョリティ投票を行ったブロックは受け入れられ、ブロックチェーンに追加されます。

5. ランダム化:

  • ランダムな値(コイン)は、ビザンチンノードにもかかわらず、進歩を確実にするための意思決定に影響を与えます。
  • 共通のコインメカニズムは、正直なノードが同じ意思決定に収束するのを助けます。

6. セキュリティと最終性:

  • セキュリティのために閾値署名とBFTプロパティを使用します。
  • すべての正直なノードが同じ値で開始した場合、有限回数のラウンドで合意することを保証します。
  • 値が決まると、それが最終的です。

BLS暗号化

BLS(Boneh–Lynn–Shacham)のしきい値暗号は、SKALEのコンセンサスプロセスの一部です。これにより、複数の参加者が協力して署名を生成できます。これは、分散型システムにおいて安全で検証可能なコンセンサスを確保するために特に役立ちます。

BLS ネットワークの各参加者は、秘密鍵と公開鍵を持っています。秘密鍵はメッセージに署名するために使用され、一方、公開鍵は署名を検証するために使用されます。メッセージに署名するために、参加者はその秘密鍵を使用して署名を作成し、それはメッセージに添付されることができる短い文字列です。その後、公開鍵を持つ関係者は、署名が有効であり、対応する秘密鍵の保持者によって作成されたことを検証できます。

しきい値暗号では、有効な署名を作成するために最低限の参加者(n人中t人)が協力する必要があります。このパラメータは、一部の参加者が危険にさらされてもシステムが安全であることを保証します。秘密鍵は、Shamirの秘密分散と呼ばれる技術を使用して複数の共有に分割されます。これにより、各参加者が秘密鍵の共有を受け取ります。

署名を生成するには、少なくとも T 個の参加者が自分の共有を結合し、それぞれが秘密鍵の共有を使用して部分的な署名を生成する必要があります。次に、これらを組み合わせて、公開鍵で検証できる完全な署名を形成します。その後、結合された署名は、通常のBLS署名と同様に、公開鍵を使用して検証できます。

実践では、コンセンサスプロセスは複数の段階を経る。最初に、ノードは新しいブロックを提案し、ネットワーク内の他の検証者と共有する。それぞれの検証者はその後、ブロックの取引を検証し、BLS署名を使用して署名する。これらの署名は一つのグループ署名に集約され、ネットワークにブロードキャストされる。検証者の過半数がブロックに署名した後、それがチェーンに追加され、最終確定が達成される。このプロセスにより、取引が迅速に確認される一方で、高いセキュリティレベルが維持される。

ノード操作

各ノードは、コンセンサスプロセスに参加し、スマートコントラクトを実行できるコンテナ化されたインスタンスである複数の仮想化されたサブノードを操作します。この仮想化により、ノードは複数のチェーンを同時にサポートでき、ネットワークに柔軟でスケーラブルなインフラストラクチャを提供できます。

ノードの操作は、Ethereumメインネット上に展開された一連のスマートコントラクトによって管理されています。これらはSKALE Managerとして知られており、ノードの登録、ローテーション、およびステーキングなどの重要な機能を処理しています。ノードを運営するバリデータは、高い稼働時間と低い遅延を維持するなど、厳格なパフォーマンスおよびセキュリティ要件に従う必要があります。パフォーマンスメトリクスは継続的にモニターされ、ノードはネットワーク規格への適合度に基づいて評価および報酬またはペナルティが与えられます。

ノードの運用の動的性質は、SKALEのアーキテクチャの重要な特徴です。ノードは定期的に異なるSKALEチェーンに回転し、単一のノードが障害の中心点となるのを防ぎます。この回転は、ランダム選択アルゴリズムを使用してノードをチェーンに割り当てるSKALEマネージャーコントラクトによって管理されます。このアプローチにより、ネットワークの分散化とセキュリティが向上し、特定のチェーンに対する制御が多様な検証者のセットに分散されることが保証されます。

セキュリティ機能

SKALEネットワークのセキュリティは、運用を保護するために多面的なアプローチを採用しています。このネットワークのハイブリッドアーキテクチャは、ネイティブプロトコルとEthereumメインネットからセキュリティを派生させています。BLS閾値署名と分散鍵生成(DKG)は、インターチェーンメッセージングのセキュリティを確保し、クロスチェーントランザクションの整合性を確保するために使用されています。この暗号的アプローチにより、データへの不正アクセスや操作が防止され、ネットワークの信頼性が維持されています。

SKALEは、検証者がSKLトークンをステークしてネットワークに参加し、経済的利益として正直に行動しネットワークセキュリティを維持するためのインセンティブを得るプルーフ・オブ・ステーク(PoS)モデルも採用しています。彼らは定期的にローテーションされ、共謀のリスクを最小限に抑え、高い分散レベルを確保するために異なるブロックチェーンからSKALEを差別化する要素の1つとして、悪意あるまたは過失行為に対する罰則措置も含まれており、エコシステムの完全性をさらに保護しています。

ノードの監視とパフォーマンス

各ノードには、ネットワーク内の他のノードのパフォーマンスを追跡するノード監視サービス(NMS)が装備されています。このサービスは、アップタイムとレイテンシを測定し、定期的にピアノードに ping を送信し、これらのメトリクスをローカルデータベースに記録します。各エポックの終わりに、これらのメトリクスが平均化され、メインネットのスマートコントラクトに提出されます。これらのメトリクスは、ノードへの支払い分配を決定するために使用され、パフォーマンスが低いノードは再確認のためにフラグが立てられます。

ノードのパフォーマンスを監視および評価することで、SKALE Networkは迅速に問題を特定および対処することができ、信頼性とセキュリティの高いレベルを維持することができます。NMSはまた、ノードが中央集権的な権威ではなく、仲間によって責任を負うことによって、ネットワークの分散型ガバナンスに貢献しています。

ノードのパフォーマンスは、SKALEネットワーク内の各ノードがコンテナ化されているため、CPU、メモリ、およびストレージリソースを効率的に管理することができ、複数のチェーンを同時にサポートし、スケーラブルで柔軟なインフラストラクチャを提供することができます。リソースの動的な割り当ての性質により、ノードはさまざまなワークロードに適応し、ネットワーク全体で最適なパフォーマンスを維持することができます。

インターチェーンメッセージングと相互運用性

インターチェーンメッセージングは、SKALEチェーンとEthereumメインネット間の効果的なコミュニケーションを可能にし、BLS閾値暗号を使用してこれらの相互作用を保護することで、チェーン間でトークンやメッセージを転送することを容易にします。この機能により、開発者は複数のチェーンとやり取りできる複雑なdAppsを作成し、その機能性と範囲を向上させることができます。

IMAは、ERC-20、ERC-721、ERC-1155など、さまざまなトークン規格をサポートしており、開発者に柔軟性を提供しています。資産やデータのチェーン間の転送を可能にすることで、IMAはSKALE ChainsがEthereumエコシステムが提供する技術を活用しながら、独自の運用を維持できるようにします。これにより、Ethereumの拡張機能として機能し、パフォーマンスとスケーラビリティを向上させることができます。

開発者ツールと互換性

SKALEネットワークは、設計上、開発者向けに作られています。既存のEthereum開発環境との互換性やツールを提供しています。SKALE ChainsはEthereum Virtual Machine(EVM)と完全に互換性があり、開発者は既存のスマートコントラクトを変更することなく展開できます。

ネットワークは、dApp開発をサポートするさまざまな開発者ツールも提供しています。これらのツールには、SDK、API、およびドキュメントが含まれ、開発者がSKALE上でアプリケーションを構築、展開、管理するのを支援します。イーサリアムのスマートコントラクトに使用されるプログラミング言語であるSolidityへのネットワークのサポートは、開発プロセスをさらに簡略化します。包括的なツールスイートを提供し、イーサリアムとの互換性を維持することで、SKALEは開発者にとっての参入障壁を下げ、革新的なdAppsの作成を促進します。

ハイライト

  • SKALEチェーンは、コンテナ化されたバリデータノードと動的なロードバランシングを備えた、スケーラブルで柔軟なブロックチェーン環境を提供します。
  • このネットワークは、BLS閾値暗号でサポートされているコンセンサスにABBA(Asynchronous Binary Byzantine Agreement)プロトコルを使用します。
  • ノードは、イーサリアム上のSKALEマネージャースマートコントラクトによって管理される複数の仮想化されたサブノードを運用します。
  • セキュリティ機能にはBLS署名、DKG、経済的インセンティブと検証者への罰則を備えたプルーフ・オブ・ステーク・モデルが含まれています。
  • ハイブリッドアーキテクチャは、Layer 1 と Layer 2 の特性の両方を使用し、Ethereum のセキュリティを SKALE のスケーラビリティと組み合わせています。
ข้อจำกัดความรับผิด
* การลงทุนคริปโตมีความเสี่ยงสูง โปรดดำเนินการด้วยความระมัดระวัง หลักสูตรนี้ไม่ได้มีไว้เพื่อเป็นคำแนะนำในการลงทุน
* หลักสูตรนี้สร้างขึ้นโดยผู้เขียนที่ได้เข้าร่วม Gate Learn ความคิดเห็นของผู้เขียนไม่ได้มาจาก Gate Learn