Google ABC Q&A (日本語)

in #quarkchain6 years ago

6月9日、QuarkChainのCEOで創業者であるQi Zhouは、ブロックチェーン技術についてGoogle ABCチームと3時間話しました。

Google ABC Blockchain Communityの略語であるGoogle ABCは、ブロックチェーン技術に興味を持っているGoogleのグループです。私たちはブロックチェーンの技術とプロジェクトについて定期的にディスカッションをしています。彼らは、Building 43、1600 Amphitheater Pkwy、Mountain View、CA、94043に拠点を置いています。

googleabc.jpg

以下、当日のQ&Aです。

Q1:シャードは比較的弱いハッシュパワーでPoWコンセンサスを実行するとされますが、システムはどのようにしてシャードが二重支出攻撃(double-spend attack)などの攻撃を受けることを防ぐことができるのですか?

A1:トランザクションがルートチェーンによって検証されている限り、二重支出攻撃を行うには、より長いルートチェーンフォークを作成することによってルートチェーンを攻撃する必要があります。そしてルートチェーンはネットワークのハッシュパワー(50%)がかなり高いため、ルートチェーンを攻撃するにはコストがかかります。

Q2:ブロックがルートチェーンに含まれる前に、ブロック内のトランザクションが二重支出によって攻撃される可能性はありますか?

A2:PoWの場合、最終性は主観的なものです。すなわち、受信者(例えば、取引所)が、TXの前になされるブロック検証がいくつ完了しているべきかを決定します。 QuarkChainの場合、すべてのトランザクション(ブロック)はシャードチェーンとルートチェーンの両方で二重に確認されます。そして、受信者は、トランザクションの価値に応じて、少数のシャードブロックによる検証のみを待つのか、それともルートブロックによる検証を待つのか決定することができます。したがって、受信者がルートチェーンによる検証を用いる限り、二重支出攻撃の脅威は緩和されます。

しかし、シャードのハッシュパワーが弱いことによって、ブラックリスト攻撃の可能性が生じます。攻撃者は、常により長いフォークを作成することで、シャード内のトランザクション(又はユーザーからのすべてのトランザクション又はシャード内のすべてのトランザクション)をブラックリスト化することができます。これは、攻撃者は、シャードのメインチェーンがルートチェーンに含まれている場合にはフォークが破棄される危険性があることを伴って、シャードのメインチェーンと常に競合する必要がある(他のマイナーがトランザクションを再度含まなければならない可能性があるように)ことを意味します。 攻撃者が攻撃をすることにより現実に利益を得ることができる二重支出攻撃とは異なり、バックリスト攻撃は、長期的な利益なしにトランザクションをブロックするものであって、合理的な経済人の想定に合致するものではないため、滅多に起きないものであるといえます。

Q3:Zilliqaなどの他の競合プロジェクトと技術的比較を示してください。

A3:多くの既存プロジェクトと異なり、私たちのアイデアは、成熟しかつ長年にわたって実績を出しているGoogleとFacebookの中央集権的なスケーラビリティテクノロジーに大きな影響を受けています。 私たちのゴールは、これらのテクノロジーを慎重に選択し、統合することで、ブロックチェーンとの適合の最初のプロジェクトになることです。 Zilliqaとの比較では、いくつかの大きな違いがあります。
QuarkChainはクラスタ内の状態シャーディングに対応していますが、Zilliqaはネットワーク/トランザクションのシャーディングのみに対応しているため、Zilliqaにおけるすべてのノードはネットワーク内の完全元帳(full-ledger)を維持する必要があります。
QuarkChainはチューリッヒ完全仮想マシン(EVMなど)に対応していますが、私達の知る限りでは、Zilliqaのスマートコントラクトはチューリッヒ完全に対応していません。

Q4:QuarkChainはいかなる言語により開発されましたか?

A4:現在のQuarkChainはPythonで開発されています。 私たちはC ++ / Cプログラマです。それにもかかわらずPythonを選択した主な理由は、Pythonは、素早くデプロイできるため、技術面によりフォーカスすることができる点にあります。 実際、私たちは既にかなり良いパフォーマンス結果を得ており、C ++やGoなどの他の高パフォーマンス言語を使用すれば、より高いパフォーマンスを簡単に達成することができます。 初期のEthereum開発ではPythonも使用されていましたが、Ethereumがより注目されるようになった後にはGoの実装が有名になった点にも着目してください。

Q5:テストネットに関する詳細を教えてください。

A5:3月下旬にテストネットのアルファ版をリリースしており、現在はテストネットのベータ版に取り組んでいます。 テストネットは、EVM、128シャード、効率的なクロスシャードトランザクション、JSON-RPC APIなどを介したスマートコントラクトのサポートを含む多くの求められている機能を備えています。現在、100名のボランティアの方々がテストに協力してくださっており、直近のフィードバックはポジティブなものです。テストネットは、6月末または7月初めに公開予定です。プログラムに参加してネットワークの改善に協力してくれる、ブロックチェーン技術に熱心なソフトウェアエンジニアを歓迎しています。