イーサリアムのzkShardingを発表します

上級1/29/2024, 2:34:45 PM
zkShardingは、複数のシャードを統合した統一された実行レイヤー2を提供することを目的としており、代替スケーリングソリューションを提供することを目指しています。この記事では、その特長、アーキテクチャ、そして将来の計画について紹介しています。

要約:

  • =nil; は、Ethereum のダイナミックで安全なスケーリングのための新しいL2コンセプトであるシャーディングされたzkRollupです。このプロトコルレベルの並列トランザクション実行をシャード間で行います。
  • zkShardingを備えた=nil;は、単一の実行レイヤーの利点である統一された流動性と経済的セキュリティを損なうことなく、水平スケーリングを提供します。
  • =nil;透過的で検証可能なイーサリアムデータアクセスを通じて、イーサリアムとの完全なコンポーザビリティをアプリケーションに提供します。
  • =nil;は、zkLLVMでコンパイルされたType-1 zkEVMを紹介します。
  • 高速な証明生成は、=nil; Proof Market-許可されていない証明生成マーケットを通じたオープンマーケット競争によって保証されます。

zkShardingの紹介

現在、レイヤー 2 ソリューションでは、スケーラビリティと状態の断片化がトレードオフになっています。レイヤー2(L2)設計=nil;を導入し、統一された実行環境の利点を損なうことなく、イーサリアムのスケーラビリティの限界を押し広げます。このソリューションは、動的シャーディングメカニズムと、ゼロ知識技術によって保護されたイーサリアムデータへの検証可能なアクセスを組み合わせたものです。主な要素は次のとおりです。

  • Shardingを使用したzkRollup:=nil;の中核は、セキュリティや効率を損なうことなく水平スケーラビリティを実現する証明可能なシャーディングプロトコルです。このアプローチは、垂直スケーリング(L3、L4など)の現在の制約のいくつか、つまりデータと流動性の断片化に対処しています。
  • イーサリアムの直接データアクセス:L2アプリケーションからイーサリアムの元のデータを呼び出す機能により、既に展開されたアプリケーションを再利用できます。L2からのL1データへの直接アクセスにより、より統一されたシームレスな環境が確保されます。

zkSharding =nil;は、単一の設計とモジュラー設計の両方の利点を享受します。

  • スケーラビリティ

    • 実行が並列であるため、スケーラビリティの制限はありません。スループットは、およそ400ノードで約60k ERC-20トランスファー/秒と推定されています。
    • Proof Marketを介した競争力のある証明生成により、最も高速なL1-finalityと最も安い証明生成コストが提供されます。
  • 統一実行環境

    • 統一された実行環境は、各シャードが全クラスターの一部であるため、セキュリティ/流動性の断片化がないことを保証します。
    • イーサリアムからの流動性の移行ニーズの削減= nil;は、各バリデータに完全なイーサリアムの状態を維持することを強制し、展開の一部としてイーサリアムのデータに透明なアクセスを提供し、アプリケーションが=nil;のzkEVMから直接データにアクセスできるようにします。
  • セキュリティ

    • zkLLVMを介してコンパイルされたzkEVMによって保護されたステート遷移。 zkEVM回路は高水準言語で実装された本番で使用されるEVM実装からコンパイルされているため、コードが簡単に検査可能であり、監査可能なセキュリティ(例:制約セキュリティ)を提供します。
    • 初日から分散化、=nilによって可能になる分散型証明の生成; Proof Market。
  • 機能性

    • タイプ1 zkEVM, fully EVM bytecode-equivalent zkEVM compiled via zkLLVM.
    • 時間、メモリ、アルゴリズムの複雑さに関連する要求が高いアプリケーション向けの環境を、単一シャードの一貫性を向上させ、待機時間を削減するためにシャードごとのアプリケーション共有を導入することによって調整します。例には、分散型取引所、証明市場、分散型シーケンサー/ビルダー、共有状態アプリケーション(別名自律世界など)が含まれます。

ダイナミックコンポーザブルスケーリング

下位レベルでは、=nil;の状態が主要なシャードと複数のセカンダリシャードに分割されます。メインシャードの役割は、セカンダリシャードからデータを同期し、統合することです。それは、Typical zkRollups操作と同様に、状態遷移の証明の検証者およびデータ可用性層として、Ethereumを使用しています。

セカンダリシャードは、ユーザートランザクションを実行する「ワーカー」として機能します。これらのシャードは、クロスシャードメッセージングプロトコルを介して統合された流動性とデータを維持し、それらの間の断片化を排除します。

各シャードはバリデータ委員会によって監視されています。これらのバリデータは定期的にシャード間でローテーションされます。さらに、シャードの状態の更新はzkEVMを使用してメインシャードに検証されます。

ユーザーによる開始からイーサリアムでの確認までの取引フローを説明するために、次の手順を考えてみてください。

  • ユーザーはトランザクション (tx) に署名し、ネットワークにディスパッチします。
  • ユーザーのウォレットがあるシャードSのバリデータは、トランザクションをメモリプールに配置します。
  • これらの検証者はその後、新しいブロックB(1/S)を作成します。
  • B(1/S)のハッシュは、ブロックB(1/M)内のメインシャードに記録されています
  • ブロックB(2/M)で、メインシャードによってB(1/S)の状態遷移証明が生成および検証されます
  • B(2/M)の状態遷移証明がイーサリアムに送信され、データの可用性を確保するための必要なデータと結び付けられて検証されます。
  • このプロセスが完了すると、取引はイーサリアムによって確認されます。

この概要では、ユーザーのトランザクションがクロスシャードメッセージングプロトコルをアクティブにしないものと仮定しています。ただし、この場合、トランザクションフローは同じままであり、違いとしては、ユーザーのトランザクションが他のシャードで新しいトランザクションの作成をトリガーできるという点です。

全てのアカウントがシャードに分散されているため、これはアプリケーション固有のロールアップ手法で見られるデータの断片化の問題に似ているように思えるかもしれません。しかし、主な違いはクロスシャード通信の扱い方にあります:これは別々の外部ブリッジによって管理されるのではなく、全体のプロトコルに直接統合されています。

各セカンダリシャードのセキュリティを保証するために、そのバリデータ委員会は、小規模なバリデータグループ内で詐欺が発生していないことを確認するため、主要なシャードに状態遷移を証明する義務があります。各シャードのバリデータ委員会には、シャードのメンテナンスを超えた追加のタスクがあります。バリデータは、「近隣シャード」内のクロスシャードメッセージという特定のイベントを追跡する責任があります。「近隣シャード」は、シャード識別子のハミング距離に基づいて決定されます。

zkEVMをzkLLVM経由で:Type-1セキュア、監査可能でパフォーマンスの高いzkEVM

=nil;s zkEVMは、zkLLVMでコンパイルされたType-1 zkEVMです。より伝統的なzkEVMと=nil;のzkEVMの違いを理解するには、zkEVMの基礎となる回路定義プロセスに関連する制限について議論する必要があります。zkEVM回路は、通常、カスタムzkDSLまたは単純にライブラリで定義されることが多く、状態遷移証明が正しいと見なされるための重要な部分です。このような回路定義方法には、以下の問題が関連しています。

  • セキュリティ: 問題回路のサイズとEVMロジックの手動レプリケーションのため。
  • 監査可能性:限定監査可能性そして検査可能性zkDSLsの複雑さと明確さの欠如のため。
  • アップグレード可能性:手動制約定義要件に起因するメンテナンスおよびアップグレードの複雑さ。 EVMの変更が発生する場合- zkEVM回路の大部分はゼロからやり直す必要があり、再度監査する必要があります。
  • 互換性:実際のバイトコード互換(Type-1とも呼ばれる)zkEVM回路の実装の複雑さは、zkEVMと実際のEVMの動作の違いによるアプリケーションの制限をしばしば引き起こします。

=nil; zkEVMは、以下の課題を効果的に解決しています:

  • セキュア:回路は、実際の稼働中のイーサリアムノードで使用されている高レベルのコードから自動的に生成される必要があり、アルゴリズムの違いがないことを確認します。
  • 監査可能:回路は、一般の開発者にとって簡単に読めるように書かれた高水準プログラミング言語(C++またはRustなど)で表現されるべきです。
  • Upgradeable:回路は、EVM内の変更がzkEVM回路に簡単に変換/コンパイル可能であり、まったく同じ動作を証明/定義できるように定義されるべきです。このようなアップグレードからの完全な再コンパイルや再監査の必要性は生じてはなりません。
  • バイトコード互換(別名タイプ1):高水準言語からの回路コンパイルにより、完全なバイトコードとEVM動作の互換性がもたらされ、EVMアプリケーションの市場投入にかかる時間が劇的に短縮され、そのような互換性を実現するために必要な開発時間/労力が削減されます。

zkLLVMはzkLLVMを介してコンパイルされるzkEVMは、evmoneを活用して設計時にセキュリティが確保されており、Ethereumの本番で使用されているEVMと完全に一貫性を確保しています。 zkLLVM(C++またはRust)は、回路に自動的にコンパイルされるため、回路定義プロセスから人為的なエラーが除去されます。

さらに、=nil; zkEVM は zkLLVM を介してコンパイルされるため、手動で定義された回路よりも自由度が高く(したがって将来にも耐える)ため、自由に調整でき、回路生成が自動的です。また、監査がより可能であり、そのセキュリティはイーサリアムに追加された最新の EIP を含むコストがかかることはありません。

イーサリアムのセキュリティとデータ可用性を備えたzkRollup

プライマリシャードとセカンダリシャードは、それぞれ専用のタスクに関して異なるため、セカンダリシャードはトランザクション処理に焦点を当てており、プライマリシャードはデータ同期に焦点を当てているため、緊急事態で状態データを回復するためにデータ可用性(DA)に異なるアプローチを取っています。つまり:

  • メインシャードはDAとしてイーサリアムを採用しています。
  • セカンダリシャードは、イーサリアムを使用するか、独自のDAを持たないように選択できます。

このアレンジメントは、開始時に2種類のシャードを立ち上げることで確立されます: 外部DAソリューションを持つものと持たないもの。 後続のフェーズでは、同じDAカテゴリのシャードのみがマージできます。 これは、作成時に各アカウントを特定のDAカテゴリにマッピングする必要があることを意味します。

さらに、このフレームワークは他の種類のDAを含めるように拡張することができます。

透明なイーサリアムデータアクセス

私たちの主な目標の1つは、アプリケーションの合成性を最適化し、流動性の断片化を防ぐことです。そのため、zkShardingアプローチは、イーサリアムの状態に対する信頼できないアクセスなしには不完全であるはずがありません。これは=nil;が、データプロバイダーモジュールを介してイーサリアムと完全に合成可能で透明な統合を提供します。

データプロバイダーは、シャードのデータストレージとは独立して運営し、情報を外部データベースと同期させ、最後に監視されたデータベースの状態のイーサリアムのフィンガープリント(イーサリアムのブロックハッシュで表される)をシャードのブロックに注入します。このデータベースの最新の状態は、確認モジュールからの検証を受けます。この確認モジュールは、イーサリアムのCasper FFGコンセンサスプルーフを使用したzkBridgeを使用します。

次は何ですか:

=nil; および zkSharding は、=nil; Foundation が過去4年間に開発してきた製品の集大成です。その目的は、最初の合成可能でスケーラブルかつ汎用性のあるEthereum L2 zkRollup ソリューションであることです。次の数ヶ月でより多くの実装の詳細を共有できることを楽しみにしています。進捗状況について最新情報を入手するには、当社のTwitter をフォローしてください!

技術に精通している方々のために、私たちは開発しました独立した包括的な入門書この入門書は、=nil;およびzkシャーディングの詳細に踏み込みます。この入門書は、このアプローチの裏にある複雑さを理解するためのゲートウェイであり、必要なすべての技術的詳細と予備知識を備えています。

今すぐ技術入門書に飛び込んで、会話に参加しましょうディスコードそしてTelegram. 一緒にzkShardingの無限の可能性を探検しましょう!

免責事項:

  1. この記事は[から転載されましたnil.foundation]. All copyrights belong to the original author [nil.foundation]. If there are objections to this reprint, please contact the Gate Learnチームが promptly に対処します。
  2. 免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他言語への記事の翻訳は、Gate Learnチームによって行われます。特に断りがない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

イーサリアムのzkShardingを発表します

上級1/29/2024, 2:34:45 PM
zkShardingは、複数のシャードを統合した統一された実行レイヤー2を提供することを目的としており、代替スケーリングソリューションを提供することを目指しています。この記事では、その特長、アーキテクチャ、そして将来の計画について紹介しています。

要約:

  • =nil; は、Ethereum のダイナミックで安全なスケーリングのための新しいL2コンセプトであるシャーディングされたzkRollupです。このプロトコルレベルの並列トランザクション実行をシャード間で行います。
  • zkShardingを備えた=nil;は、単一の実行レイヤーの利点である統一された流動性と経済的セキュリティを損なうことなく、水平スケーリングを提供します。
  • =nil;透過的で検証可能なイーサリアムデータアクセスを通じて、イーサリアムとの完全なコンポーザビリティをアプリケーションに提供します。
  • =nil;は、zkLLVMでコンパイルされたType-1 zkEVMを紹介します。
  • 高速な証明生成は、=nil; Proof Market-許可されていない証明生成マーケットを通じたオープンマーケット競争によって保証されます。

zkShardingの紹介

現在、レイヤー 2 ソリューションでは、スケーラビリティと状態の断片化がトレードオフになっています。レイヤー2(L2)設計=nil;を導入し、統一された実行環境の利点を損なうことなく、イーサリアムのスケーラビリティの限界を押し広げます。このソリューションは、動的シャーディングメカニズムと、ゼロ知識技術によって保護されたイーサリアムデータへの検証可能なアクセスを組み合わせたものです。主な要素は次のとおりです。

  • Shardingを使用したzkRollup:=nil;の中核は、セキュリティや効率を損なうことなく水平スケーラビリティを実現する証明可能なシャーディングプロトコルです。このアプローチは、垂直スケーリング(L3、L4など)の現在の制約のいくつか、つまりデータと流動性の断片化に対処しています。
  • イーサリアムの直接データアクセス:L2アプリケーションからイーサリアムの元のデータを呼び出す機能により、既に展開されたアプリケーションを再利用できます。L2からのL1データへの直接アクセスにより、より統一されたシームレスな環境が確保されます。

zkSharding =nil;は、単一の設計とモジュラー設計の両方の利点を享受します。

  • スケーラビリティ

    • 実行が並列であるため、スケーラビリティの制限はありません。スループットは、およそ400ノードで約60k ERC-20トランスファー/秒と推定されています。
    • Proof Marketを介した競争力のある証明生成により、最も高速なL1-finalityと最も安い証明生成コストが提供されます。
  • 統一実行環境

    • 統一された実行環境は、各シャードが全クラスターの一部であるため、セキュリティ/流動性の断片化がないことを保証します。
    • イーサリアムからの流動性の移行ニーズの削減= nil;は、各バリデータに完全なイーサリアムの状態を維持することを強制し、展開の一部としてイーサリアムのデータに透明なアクセスを提供し、アプリケーションが=nil;のzkEVMから直接データにアクセスできるようにします。
  • セキュリティ

    • zkLLVMを介してコンパイルされたzkEVMによって保護されたステート遷移。 zkEVM回路は高水準言語で実装された本番で使用されるEVM実装からコンパイルされているため、コードが簡単に検査可能であり、監査可能なセキュリティ(例:制約セキュリティ)を提供します。
    • 初日から分散化、=nilによって可能になる分散型証明の生成; Proof Market。
  • 機能性

    • タイプ1 zkEVM, fully EVM bytecode-equivalent zkEVM compiled via zkLLVM.
    • 時間、メモリ、アルゴリズムの複雑さに関連する要求が高いアプリケーション向けの環境を、単一シャードの一貫性を向上させ、待機時間を削減するためにシャードごとのアプリケーション共有を導入することによって調整します。例には、分散型取引所、証明市場、分散型シーケンサー/ビルダー、共有状態アプリケーション(別名自律世界など)が含まれます。

ダイナミックコンポーザブルスケーリング

下位レベルでは、=nil;の状態が主要なシャードと複数のセカンダリシャードに分割されます。メインシャードの役割は、セカンダリシャードからデータを同期し、統合することです。それは、Typical zkRollups操作と同様に、状態遷移の証明の検証者およびデータ可用性層として、Ethereumを使用しています。

セカンダリシャードは、ユーザートランザクションを実行する「ワーカー」として機能します。これらのシャードは、クロスシャードメッセージングプロトコルを介して統合された流動性とデータを維持し、それらの間の断片化を排除します。

各シャードはバリデータ委員会によって監視されています。これらのバリデータは定期的にシャード間でローテーションされます。さらに、シャードの状態の更新はzkEVMを使用してメインシャードに検証されます。

ユーザーによる開始からイーサリアムでの確認までの取引フローを説明するために、次の手順を考えてみてください。

  • ユーザーはトランザクション (tx) に署名し、ネットワークにディスパッチします。
  • ユーザーのウォレットがあるシャードSのバリデータは、トランザクションをメモリプールに配置します。
  • これらの検証者はその後、新しいブロックB(1/S)を作成します。
  • B(1/S)のハッシュは、ブロックB(1/M)内のメインシャードに記録されています
  • ブロックB(2/M)で、メインシャードによってB(1/S)の状態遷移証明が生成および検証されます
  • B(2/M)の状態遷移証明がイーサリアムに送信され、データの可用性を確保するための必要なデータと結び付けられて検証されます。
  • このプロセスが完了すると、取引はイーサリアムによって確認されます。

この概要では、ユーザーのトランザクションがクロスシャードメッセージングプロトコルをアクティブにしないものと仮定しています。ただし、この場合、トランザクションフローは同じままであり、違いとしては、ユーザーのトランザクションが他のシャードで新しいトランザクションの作成をトリガーできるという点です。

全てのアカウントがシャードに分散されているため、これはアプリケーション固有のロールアップ手法で見られるデータの断片化の問題に似ているように思えるかもしれません。しかし、主な違いはクロスシャード通信の扱い方にあります:これは別々の外部ブリッジによって管理されるのではなく、全体のプロトコルに直接統合されています。

各セカンダリシャードのセキュリティを保証するために、そのバリデータ委員会は、小規模なバリデータグループ内で詐欺が発生していないことを確認するため、主要なシャードに状態遷移を証明する義務があります。各シャードのバリデータ委員会には、シャードのメンテナンスを超えた追加のタスクがあります。バリデータは、「近隣シャード」内のクロスシャードメッセージという特定のイベントを追跡する責任があります。「近隣シャード」は、シャード識別子のハミング距離に基づいて決定されます。

zkEVMをzkLLVM経由で:Type-1セキュア、監査可能でパフォーマンスの高いzkEVM

=nil;s zkEVMは、zkLLVMでコンパイルされたType-1 zkEVMです。より伝統的なzkEVMと=nil;のzkEVMの違いを理解するには、zkEVMの基礎となる回路定義プロセスに関連する制限について議論する必要があります。zkEVM回路は、通常、カスタムzkDSLまたは単純にライブラリで定義されることが多く、状態遷移証明が正しいと見なされるための重要な部分です。このような回路定義方法には、以下の問題が関連しています。

  • セキュリティ: 問題回路のサイズとEVMロジックの手動レプリケーションのため。
  • 監査可能性:限定監査可能性そして検査可能性zkDSLsの複雑さと明確さの欠如のため。
  • アップグレード可能性:手動制約定義要件に起因するメンテナンスおよびアップグレードの複雑さ。 EVMの変更が発生する場合- zkEVM回路の大部分はゼロからやり直す必要があり、再度監査する必要があります。
  • 互換性:実際のバイトコード互換(Type-1とも呼ばれる)zkEVM回路の実装の複雑さは、zkEVMと実際のEVMの動作の違いによるアプリケーションの制限をしばしば引き起こします。

=nil; zkEVMは、以下の課題を効果的に解決しています:

  • セキュア:回路は、実際の稼働中のイーサリアムノードで使用されている高レベルのコードから自動的に生成される必要があり、アルゴリズムの違いがないことを確認します。
  • 監査可能:回路は、一般の開発者にとって簡単に読めるように書かれた高水準プログラミング言語(C++またはRustなど)で表現されるべきです。
  • Upgradeable:回路は、EVM内の変更がzkEVM回路に簡単に変換/コンパイル可能であり、まったく同じ動作を証明/定義できるように定義されるべきです。このようなアップグレードからの完全な再コンパイルや再監査の必要性は生じてはなりません。
  • バイトコード互換(別名タイプ1):高水準言語からの回路コンパイルにより、完全なバイトコードとEVM動作の互換性がもたらされ、EVMアプリケーションの市場投入にかかる時間が劇的に短縮され、そのような互換性を実現するために必要な開発時間/労力が削減されます。

zkLLVMはzkLLVMを介してコンパイルされるzkEVMは、evmoneを活用して設計時にセキュリティが確保されており、Ethereumの本番で使用されているEVMと完全に一貫性を確保しています。 zkLLVM(C++またはRust)は、回路に自動的にコンパイルされるため、回路定義プロセスから人為的なエラーが除去されます。

さらに、=nil; zkEVM は zkLLVM を介してコンパイルされるため、手動で定義された回路よりも自由度が高く(したがって将来にも耐える)ため、自由に調整でき、回路生成が自動的です。また、監査がより可能であり、そのセキュリティはイーサリアムに追加された最新の EIP を含むコストがかかることはありません。

イーサリアムのセキュリティとデータ可用性を備えたzkRollup

プライマリシャードとセカンダリシャードは、それぞれ専用のタスクに関して異なるため、セカンダリシャードはトランザクション処理に焦点を当てており、プライマリシャードはデータ同期に焦点を当てているため、緊急事態で状態データを回復するためにデータ可用性(DA)に異なるアプローチを取っています。つまり:

  • メインシャードはDAとしてイーサリアムを採用しています。
  • セカンダリシャードは、イーサリアムを使用するか、独自のDAを持たないように選択できます。

このアレンジメントは、開始時に2種類のシャードを立ち上げることで確立されます: 外部DAソリューションを持つものと持たないもの。 後続のフェーズでは、同じDAカテゴリのシャードのみがマージできます。 これは、作成時に各アカウントを特定のDAカテゴリにマッピングする必要があることを意味します。

さらに、このフレームワークは他の種類のDAを含めるように拡張することができます。

透明なイーサリアムデータアクセス

私たちの主な目標の1つは、アプリケーションの合成性を最適化し、流動性の断片化を防ぐことです。そのため、zkShardingアプローチは、イーサリアムの状態に対する信頼できないアクセスなしには不完全であるはずがありません。これは=nil;が、データプロバイダーモジュールを介してイーサリアムと完全に合成可能で透明な統合を提供します。

データプロバイダーは、シャードのデータストレージとは独立して運営し、情報を外部データベースと同期させ、最後に監視されたデータベースの状態のイーサリアムのフィンガープリント(イーサリアムのブロックハッシュで表される)をシャードのブロックに注入します。このデータベースの最新の状態は、確認モジュールからの検証を受けます。この確認モジュールは、イーサリアムのCasper FFGコンセンサスプルーフを使用したzkBridgeを使用します。

次は何ですか:

=nil; および zkSharding は、=nil; Foundation が過去4年間に開発してきた製品の集大成です。その目的は、最初の合成可能でスケーラブルかつ汎用性のあるEthereum L2 zkRollup ソリューションであることです。次の数ヶ月でより多くの実装の詳細を共有できることを楽しみにしています。進捗状況について最新情報を入手するには、当社のTwitter をフォローしてください!

技術に精通している方々のために、私たちは開発しました独立した包括的な入門書この入門書は、=nil;およびzkシャーディングの詳細に踏み込みます。この入門書は、このアプローチの裏にある複雑さを理解するためのゲートウェイであり、必要なすべての技術的詳細と予備知識を備えています。

今すぐ技術入門書に飛び込んで、会話に参加しましょうディスコードそしてTelegram. 一緒にzkShardingの無限の可能性を探検しましょう!

免責事項:

  1. この記事は[から転載されましたnil.foundation]. All copyrights belong to the original author [nil.foundation]. If there are objections to this reprint, please contact the Gate Learnチームが promptly に対処します。
  2. 免責事項:この記事で表現されている意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他言語への記事の翻訳は、Gate Learnチームによって行われます。特に断りがない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
Comece agora
Inscreva-se e ganhe um cupom de
$100
!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.