QTUMとは何ですか? [最も包括的なガイド] -Blockgeeks

Qtum(クォンタムと発音)は、暗号空間で多くの注目を集めています。 Qtum Foundationはシンガポールで登録されており、アジア、南北アメリカ、アフリカ、ヨーロッパにチームを置くグローバルプロジェクトです。その人気の急上昇の背後にある理由は、そのUSP –イーサリアムのEVMにビットコインの安全なUTXOモデルを提供することです。その上、彼らはプルーフオブステーク3.0(POS 3.0)アルゴリズムでコンセンサスを確保します。このガイドでは、Qtumを詳しく見て、開発者がプラットフォームの実験を開始する理由を確認します。.

両方の長所を組み合わせる

現在、世界で最も人気のあるブロックチェーンはビットコインとイーサリアムです。すべてを開始したビットコインは、今でもこの分野で最も安全なブロックチェーンです。そのUTXO(未使用トランザクション出力)モデルは、トランザクションの高いトレーサビリティにも役立ちます。これが、Qtumがビットコインブロックチェーンを基盤として決定した理由です。方程式の反対側には、イーサリアムブロックチェーンがあります。イーサリアムはスマートコントラクトの時代を先導しました。突然、ブロックチェーンはもはやお金を送金するための単なる空想的な方法ではなくなりました。イーサリアムは、世界中の開発者がチェーンの上に分散型アプリケーション(dApp)を構築することを可能にしました。スマートコントラクトを組み込むために、Qtum開発者は「アカウント抽象化レイヤー(AAL)」と呼ばれる抽象化レイヤーを作成し、イーサリアム仮想マシン(EVM)がQtumのUTXOブロックチェーンの上に存在できるようにしました。この単純な革新により、Qtumは、ビットコインとイーサリアムの両方と相互運用可能な安全なスマートコントラクトメカニズムをユーザーに提供します。ビットコイン(ライトニングネットワーク)とイーサリアム(ライデンネットワーク、プラズマなど)の両方で取り組んでいるスケーラビリティ技術は、コミュニティが存在する限り、Qtumで操作できるため、これは通常のユーザーと開発者の両方にとって非常にエキサイティングな提案です。それに同意します。相互運用性について言えば、さらに2つの魅力的な側面に留意する必要があります。

SegWitの互換性

SegWitを完全に理解するには、こちらの詳細ガイドをご覧ください。非常に簡単に理解できるように、SegWitは「SegregatedWitness」の略です。 SegWitを実装する前は、ビットコイントランザクションは不必要にかさばっていたため、スケーラビリティの問題に悩まされていました。署名データは余分なバルクを追加しました。 SegWitを実装することにより、署名データはブロックから取り出され、メインのビットコインブロックチェーンと並行して実行されるサイドチェーンに保持されました。 QtumはSegWitと互換性があるため、そのメリットを享受できます.

イーサリアムスマートコントラクトの互換性

QtumはEthereum仮想マシン(EVM)を使用して、EthereumスマートコントラクトがQtumで実行されるようにします。その逆も同様です。これは非常に重要な機能です。イーサリアムには、世界で最も強力な開発者コミュニティがあります。この機能を介して、Qtumはこれらの開発者をプラットフォームに吸い上げることができます。イーサリアムdAppはQtumに簡単に移植することもできます。これはまた、開発者がすでに確立された言語であるSolidityを使用して、Qtumでスマートコントラクトを作成できることを意味します.

QtumとUTXO

UTXOを理解するには、ビットコインでトランザクションがどのように機能するかを理解する必要があります(Qtumでも同じように機能します)。 UTXOがどのように機能するかを素人が理解するには、基本的な現金取引がどのように機能するかを考えてください。あなたの友人があなたに$ 6を借りているとしましょう。彼女は財布に手を伸ばし、5ドルと1ドルの紙幣を取り出し、それであなたに返済します. 

今、あなたが誰かに$ 8を借りている場合、あなたはあなたの友人が以前にあなたに支払った$ 5と$ 1と、他の誰かがあなたに以前に支払った$ 2を取り出します。.

これがビットコインでのトランザクションの仕組みとほぼ同じです。前のトランザクションの出力は、将来のトランザクションの入力になります。それで、これを覚えておいて、ビットコイン取引がどのように機能するかを見てみましょう.

トランザクション入力

アリスがいくつかのビットコインをボブに送信する必要があるとします。このトランザクションを実行するために、アリスのウォレットは以前のトランザクションの出力を新しいトランザクションの入力にします.

したがって、アリスがTX(0)、TX(1)、TX(2)という名前の次のトランザクションからビットコインをプルする必要があるとします。これらの3つのトランザクションが合計され、TX(Input)と呼ばれる入力トランザクションが得られます。.

概略的には、次のようになります。

qtumとは

それで、入力側からです。出力側がどのようになるかを確認しましょう。.

トランザクション出力

出力には基本的に、ボブがトランザクション後に所有するビットコインの数と、残っている変更が含まれ、それがアリスに返送されます。この変更は、将来のトランザクションの入力値になります.

出力側の図解は次のようになります。

qtumとは

さて、これは(CHANGEを除いて)出力が1つしかない単純なトランザクションであり、複数の出力でいくつかのトランザクションが可能です。.

では、なぜQtumはUTXOモデルを採用したのでしょうか。主な理由は2つあります。

  • まず、ビットコインブロックチェーンから広く理解されている成熟した安定した安全なトランザクションモデルを使用する.
  • 次に、UTXOモデルは、Simple Payment Verification(SPV)の実装に役立ちました。 SPVにより、ライトノードはスマートコントラクトと対話し、トランザクションを検証できます。ライトノードは、完全なブロックチェーンではなく、ブロックチェーンの一部のみをダウンロードするノードです。.

QtumとEVM

前述のように、イーサリアムはスマートコントラクトの時代を先導しました。スマートコントラクトは、2つ以上の当事者間の自己実行型の自動化された契約であり、法的な仲介者を必要としません。それはかなり素晴らしいですね。?

しかし、これらの契約はどこで正確に実行しますか?スマートコントラクトは、次の2つのシステムのいずれかで実行できます。

  • 仮想マシン: イーサリアムはこれを使用します.
  • Docker: ファブリックはこれを使用します.

これら2つを比較して、どちらがより良いエコシステムになるかを判断しましょう。簡単にするために、Ethereum(仮想マシン)とFabric(Docker)を比較します。.

qtumとは

そのため、仮想マシンは、スマートコントラクトのためのより優れた決定論的で、終了可能で、分離された環境を提供します。 EVMはガスメカニズムを統合して、無限ループとスパムを防止します(コントラクトコールのガスがなくなると実行が終了します)。ガスについてもっと知りたい? ここをクリック.

UTXOとEVMの接続

UTXOとEVMは大きく異なる概念であるため、QTUMはどのようにしてそれらをプラットフォームに接続することができましたか?アカウント抽象化レイヤー(AAL)の追加を介して。 AALは、UTXOとEVMの間のインターフェイスレイヤーとして機能します。 AALの利点は、EVMだけに限定されないことです。 AALと互換性のあるすべての仮想マシンは、AAL上で実行できます。. 

したがって、AALにさらに踏み込む前に、抽象化の意味を理解しましょう。.

抽象化とは、インとアウト、およびすべての技術的な詳細を完全に知らなくても、誰でも任意のシステムまたはプロトコルを使用できることを意味します。例えば。 iPhoneを使用する場合、iPhoneを操作するのにプログラマーやエンジニアである必要はありません。画面を押してアプリをアクティブにするか、通話ボタンを押して誰かに電話をかけるだけです。特定のアプリを押すと電話内の回路がどのようにアクティブになるか、または特定のアプリがどのようにプログラムされているかを知る必要はありません。抽象化は、複雑さを隠すことにより、洗練されたテクノロジーを大衆が利用できるようにします.

スマートコントラクトプラットフォームとdAppの場合、抽象化はほとんど聖杯です。大量採用が本当に目標である場合、dAppは通常のアプリケーションと同様に実行する必要があります。同様に、Qtumは、ユーザーと開発者がEVMとUTXOを簡単に操作できるようにEVMとUTXOを統合する必要があります。. 

したがって、AALがどのように機能するかをよりよく理解するために、単純なビットコイントランザクションがコードレベルでどのように機能するかを見てみましょう。トランザクション中に、ウォレットはマシン上で次のオペコードを実行します。これは基本的に、トランザクションの公開鍵が署名と一致するかどうかを確認するようにソフトウェアに指示します。

qtumとは

「スクリプト」列には、オペコードと呼ばれる一連のキーワードがあります。ビットコイントランザクションは、これらのオペコードの組み合わせによってスクリプト化されます。 AALは、スマートコントラクトのサポートを可能にするために、元のビットコインリストにさらに3つのオペコードを追加します.

  • OP_CREATE:新しいスマートコントラクトを作成するために使用されます. 
  • OP_CALL:既存のスマートコントラクト内でコードを実行するために使用されます.
  • OP_SPEND:スマートコントラクトで価値を使うために使用されます.

では、これらのオペコードはどのように処理されますか?見てみましょう.

  • バリデーターのソフトウェアは、Qtumトランザクションのスクリプトを解析します.
  • これらの3つのオペコードのいずれかに遭遇すると、EVMによって処理されるように取っておきます。.
  • 次に、EVM契約トランザクションは、バリデーターノードによって実行される特別な「期待される契約トランザクションリスト」に処理されます。.
  • 次に、これらのトランザクションはEVMに対して実行され、結果の出力は使用可能なQtumtxに変換されます。. 
  • コントラクトの実行中に、コントラクトが値を持つ別のコントラクトを呼び出す場合、そのトランザクションも明示的なQtum txに変換され、現在のブロックにアタッチされます.

Qtum UTXOのサイズは、OP_CREATE、OP_CALL、およびOP_SPENDトランザクションがすべて使用可能であるため、かなり適切に管理できます。コントラクトが自己破壊すると、OP_CREATEトランザクションが消費され、UTXOプールから削除されます。.

Solidity開発者の場合、QtumはすでにEVMを活用しているため、コーディングを開始するのは非常に簡単です。あなたが興味を持っているなら、私たちはあなたが彼らを始めることをお勧めします 包括的な開発者ガイド.

ただし、前述のように、スマートコントラクトの実行にQtumで使用できる仮想マシンはEVMだけではありません。 Qtumチームは、Qtum用のx86スマートコントラクト仮想マシンを開発しています。このx86VMにより、開発者はRustなどの一般的なプログラミング言語でスマートコントラクトを柔軟にコーディングできます。. 

Qtum and Proof of Stake(POS)

すでに何度も述べたように、QtumはPOSコンセンサスモデルを使用しています。最新のブロックチェーンの多くは、従来のPOWモデルに勝る利点があるため、POSモデルを選択しています。 POWまたはプルーフオブワークは、ビットコインによって導入されたコンセンサスモデルであり、マイナーと呼ばれる特殊なノードがASICを使用して暗号的に難しいパズルを解きます. 

プルーフオブワークの問題.

  • プルーフオブワークは、それが消費する膨大な量の電力とエネルギーのために、非常に非効率的なプロセスです。.
  • より高速で強力なASICを購入できる人や組織は、通常、他のASICよりもマイニングの可能性が高くなります。これは、ビットコインマイニングが私たちが望むほど分散化されていないことを意味します.
  • POWマイニングは実世界の資源を消費するため、環境に非常に有害です。.

一方、プルーフオブステークは、マイニングプロセスを完全に仮想化します。 POSの仕組みの概要を簡単に説明しましょう。

  • バリデーター/マイナーは、コインの一部をステークとしてロックします.
  • その後、ブロックの検証を開始します。つまり、チェーンに追加できると思われるブロックを発見すると、500回の確認のために1つ以上のUTXOをステーキングして検証します。..
  • ブロックが追加されると、バリデーターはブロック報酬を受け取ります。ブロック報酬の頻度は、そのバリデーターによって賭けられた金額に比例します。.

プロジェクトが異なれば、POSアルゴリズムのバリエーションも異なります。イーサリアムはキャスパープロトコルを使用しますが、アルゴランドは純粋なPOSを使用します。次に、委任されたPOSを使用するEOSのようなプロジェクトがあります

Qtumは、UTXOベースのブロックチェーン用に構築されたPOSバージョン3またはPOSv3を使用します。 POSv3に到達する前に、以前のバージョンを見てみましょう。.

POSv1:

「コインエイジ」は、UTXOがブロックチェーンに費やされていない期間を表すために使用される用語です。 POSv1はコインの年齢に大きく依存します。コインの年齢が高いほど、難易度は低くなります。しかし、このアプローチの問題は、人々がコインを使うのをやめたことです!人々は、ステーキングに必要なときにだけ財布を開けました。コインが十分に古い場合、それはほぼ瞬時に新しいステーキングブロックを生成します. 

POSv2:

このバージョンは、コンセンサスからコインエイジの概念を根絶することにより、以前のバージョンを改善しています。彼らが多数のアップデートで行ったもう1つの重要な変更は、v1とはまったく異なるステーク修飾子メカニズムを使用することでした。このステーク修飾子には、たまたま前のブロック時間が含まれていました。 v3について説明するときは、このことを覚えておいてください。.

POSv3: 

POSv2に含まれるブロック時間は、前のブロック時間を繰り返すことによって代替ブロックチェーンをマイニングすることが可能であった「短距離」攻撃に対して脆弱にする可能性があります。このような変更により、POSv3はPOSv2のはるかに優れたバージョンになります. 

POSv2はまた、ブロック時間とトランザクション時間を使用して、コインの年齢とは異なるUTXOの年齢を決定しました。 POSv3は、ブロックチェーンでのUTXOの深さを判断することにより、UTXOの年齢を決定します(確認など). 

注意: Qtumは最近、完全なPay-to-pubkeyスクリプトを必要とせずに、ブロックに署名するための公開鍵をvoutに含めることができるOP_RETURNオペコードのサポートを追加しました。これは、dAppプロバイダーが新しいdAppユーザーにガスを支払うことができることを意味し、より簡単なオンボーディングを可能にします.

POSv3を詳しく調べる 

POWシステムでは、ランダムなナンスがブロックヘッダーのハッシュに追加され、結果が再度ハッシュされます。このハッシュは、ネットワーク全体の難易度よりも小さいはずです。その場合にのみ、ブロックがメインブロックチェーンに追加されます.

一方、POSv3にはカーネルハッシュがあります。カーネルハッシュは、現在のブロックでは簡単に変更できないいくつかのデータで構成されています。 QtumのPOSシステムについて覚えておく必要のあるその他の機能は次のとおりです。 

  • すべてのブロックの2番目のトランザクションは「コインステークトランザクション」と呼ばれ、最初のトランザクションは空のコインベーストランザクションです。.
  • 各ブロックには、少なくとも1つのステーキングトランザクションが必要です.
  • ブロックタイムスタンプは、ブロックタイムを16秒間隔でのみ表すことができるように、下位4ビットを0に設定する必要があります。.
  • UTXOを使用してステーキングトランザクションを生成できるのは、500ブロックごとに1回(約18時間)のみです。.

それでは、POSv3のカーネルハッシュが何から構築されているかを見てみましょう。

  • PoSブロック内のprevoutトランザクションのハッシュである前のブロックのステーク修飾子と前のブロックのステーク修飾子.
  • 前のトランザクションからのタイムスタンプ. 
  • 前のトランザクションのハッシュ.
  • prevoutの出力番号(これは、ステーキングトランザクションによって費やされたトランザクションの出力です).
  • 下位4ビットが0に設定されている現在のブロック時間。この特定の機能は、ステーキングプロセス中に変更されます。.

注:prevoutトランザクションは、ステーキングトランザクションを作成するために使用されるUTXOです。現在のカーネルハッシュを変更する唯一の方法は、ブロックの作成に使用しているUTXOを変更するか、現在のブロック時間を変更することです。.

QtumのPOSv3がどのように機能するかがわかったところで、POSの最大の欠陥である何の問題もない問題をどのように軽減するかを見てみましょう。.

「何も問題がない」問題とは何ですか?

次の状況を考慮してください。

qtumとは

上の図には、ブロック#53まで採掘されたメインチェーン(青)があります。ただし、ブロック#50(赤)から始まる並列分岐があります。悪意のある鉱夫が集まって、青い鎖を追い抜くまで赤い鎖で採掘を続けるとどうなりますか?青いブロック51、52、および53で行われたすべてのトランザクションは、即座に無効になり、無効になります。.

POWブロックチェーンは、ハッシュパワーを短期的にレンタルできるため、この51%の攻撃に対して脆弱です。.

悪意のある鉱山労働者のアリスが赤い鎖で採掘したいとします。彼女がすべてのハッシュパワーをそれに捧げたとしても、彼女は他の鉱夫を新しいチェーンに参加させることはありません。より長いチェーンでマイニングする方が収益性が高く、リスクがないため、他のすべての人は引き続きブルーチェーンでマイニングを続けます.

POWは、レンタルされたハッシュパワーで51%の攻撃を簡単に実行できます。したがって、チェーン分割は、最大のPOWブロックチェーン(ビットコイン)を除くすべての場合に問題があります.

ただし、POSを導入すると、状況が少し異なります。バリデーターであれば、影響をまったく恐れることなく、赤のチェーンと青のチェーンの両方にお金を入れることができます。何が起こっても、あなたの行動がいかに悪意のあるものであったとしても、あなたは常に勝ち、失うものは何もありません。ただし、レッドチェーンを成功させるには、より多くのコイン(ネットワークの重み)を賭ける必要があり、攻撃者がハッシュパワーを借りることができるPOWとは異なり、POSには実際のコインの所有権が必要です。.

これは「何も問題がない」問題と呼ばれます.

イーサリアムのCasperプロトコルは、罰メカニズムを使用してこれを軽減します。基本的に、悪意のあるバリデーターは、賭け金を削減することで罰せられます。 Qtumは 別のソリューションを提供する 何の問題もない問題に対処し、ネットワークから追い出す以外に誤動作するスタッカーを罰することは決してありません。彼らは、完璧なソフトウェアを作ることはできないと信じているので、バグが原因でステーカーが誤動作し、数百万ドルを失うリスクは受け入れられません。 Qtumが問題のない問題を軽減することを理解するには、次の点に留意する必要があります。

  • チェックポイントと500の確認満期をステーキングトランザクションに使用する. 
  • 彼らは、後でSPVを介して検証できるビットコインブロックチェーンにデータの一部を配置します。これにより、攻撃者は特定のブロックがいつ作成されたかについて嘘をつくことができなくなります.

また、Qtumは、特に次の理由により、問題のない問題は少し誇張されていると感じていることに注意する必要があります。

  • 攻撃のセットアップを構築するのは非常にコストがかかる可能性があります.
  • すべてがセットアップされている場合でも、残りのノードはリードに従う必要があります。これはロングショットです。.
  • ブロックエクスプローラーなどの一元化されたオフチェーンリソースをチェックすることで、誰でも簡単に検出できます.
  • チェックポイントをより頻繁なペースでコードに追加して、より高速なリリースを行うことができます。これにより、これらの悪意のある何も問題のないチェーンが大きな力を持つことは決してありません。.

分散型ガバナンスプロトコル

Qtumのもう1つの機能は、ハードフォークを必要とせずにブロックチェーンパラメーターを迅速かつシームレスに変更するために導入されたDGP(分散型ガバナンスプロトコル)です。 DGPはスマートコントラクトテクノロジーを使用して構築されており、ブロックサイズ(最大32 MB)を調整し、さまざまなスマートコントラクト操作のガス量を変更できます.

そのため、ブロックサイズとガスパラメータは、ネットワーク上のガバナンスプロセスを通じて変更でき、新しいソフトウェアをダウンロードする必要はなく、ネットワークの利害関係者やノードオペレータからアクションを実行する必要もありません。たとえば、コンセンサスや新しい仮想マシンの変更には、引き続きハードフォークが必要です。.

結論

Qtumは、この分野で最もエキサイティングなプロジェクトの1つです。 UTXO、EVM、およびPOSを組み合わせることにより、Qtumは、独自の安全で本質的にスケーラブルなプラットフォームを提供します。 Qtumは、EVMとの接続により、すでに活気に満ちた堅牢性開発者コミュニティを簡単に引き付け、dAppをプラットフォームに移植するオプションを提供できます。このプロジェクトが近い将来どのように成長するかを見るのは非常に興味深いでしょう.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me