【技術解説】イーサリアムへの挑戦者:Qtumの場合

スポンサーリンク




こんにちは。

x86VMのリリース以降、Qtumの認知度は徐々に高まっています。今日も面白い記事を見つけたので、翻訳して紹介します。

(元記事)The Ethereum Challengers, ep. 6: Qtum (QTUM)

記事のメインタイトルはThe Ethereum Challengers。

直訳するとイーサリアムへの挑戦者。実に刺激的なタイトルです。
紹介した記事とは異なりますが、このブログはEOSやXEMなど他のコインの技術も解説しています。(英語ですが)他のコインの勉強にもおすすめです。

ではgoogle翻訳さんの力を借りて早速翻訳していきます。
(以下翻訳。一部翻訳者が修正を加えています)

 

イーサリアムの挑戦者たちEp6:Qtum

はじめに

多くの暗号通貨ユーザーと投資家は、BitcoinまたはEthereumのどちらかに賛成しており、多かれ少なかれマキシマリストです。
マキシマリストは、彼らの好きな硬貨が市場を支配し、普及すると信じており、他のすべての暗号通貨は最終的に死ぬか、支配的な硬貨のためのテストネットとして役立つと考えています。

実際、BTCとETHの通貨は今日の最高のデジタル資産であり、近い将来は非常に良い可能性があります。 しかし、BitcoinとEthereumはかなり違っていて、弱点や利点がそれぞれ異なります。
そこで、2016年には簡単なアイデアが生まれました。

「暗号通貨がBitcoinとEthereumの両方の利点を持つことができたらどうだろうか?」

2017年3月までにBitcoinとEthereumを組み合わせたこのアイデアはICOとして成功し、このコインのプロダクトは2017年後半にリリースされました。(これこそがQtumです)

Qtumを見る(”Quantum”と発音される)

Qtumは、BitcoinテクノロジーとEthereumテクノロジーを組み合わせています。

イーサリアムチャレンジャーの記事では、通貨の紹介の前に、いくつかの関連概念の概要が書かれています。 たとえば、RSK、PoS、EOSを搭載したDPoS、Cardanoとの正式な検証でチューリング完全性とサイドチェーンについて話しました。

Qtum(「Quantum」と読んでください)は、そのプラットフォームをBitcoinとEthereumの組み合わせなので、まずは2つの主要なブロックチェーン取引モデルについてお話しましょう。 次に、いくつかの最近の発表を含め、Qtumの他の機能について説明し、7つの大きな質問に対してどのように解決するかを見ていきます。
まずはトランザクションモデルから解説しましょう。 BitcoinはUTXO(Unspent Transaction Output)モデルを使用します。 Ethereumはアカウントモデルを使用します。 Qtumは両方の機能が欲しいのです。

 

UTXOモデル(BTC) vs. アカウントモデル(ETH)

ブロックエクスプローラーであるアドレスから別のアドレスにBTCを送信したときに、あなたのアカウントが実際にははるかに多くのBTCを送信していることを確認したことはありますか?

これはUTXOモデルがどのように機能するかに起因したもので、アカウントモデルに慣れた人にとっては直感的ではありません。 実際、アドレスから明らかに多くのBTCを送ってくるのを見ると、恐怖を覚えるかもしれません。

おそらく、一般の個人はアカウントモデルに慣れています。
アカウントモデルの場合、たとえばEthereumアドレスはあなたの唯一つのEthereumアカウントです。 あなたは残高を使い、あなたの残高に支払いを受け取ることができます。
個人的にはプライバシーとセキュリティの理由からアドレスの使用は1回だけにすることをお勧めしますが、実際アカウントモデルは、アドレスの再利用をユーザーに促します。

アカウントモデルは最も簡単な方法で、銀行口座に似た残高管理システムを使用しています。

しかし(Bitcoinのような)UTXOモデルは異なる

UTXOモデルは、あなたが独占的に小切手で支払いを受けて、それらを費やす必要があるまで周りに置いておけば、人生の感情に似ています。

銀行などで小切手の一部を現金化することができないのと同様にBitcoinではアドレスが一定金額を受け取った後、その金額のうちの一部を使いたいときは、すべての金額を移動させなければなりません。
BTCを送信すると、 “vins”を費やして新しい “vouts”を作成します。UTXOは再利用できないため、voutsを作成してvintを破棄します。
したがって、例えば3.152BTCを受け取り(UTXO)、次に2.1BTCを送信したい場合、実際に3.152BTC全体を送信する必要があります。この場合、2つのvoutsとして①2.1BTCを受信者に、②1.052BTCを自分に送信します。 (実際には少額の手数料がかかりますが)

あなたが以前受け取った3.152BTCのUTXOは再利用することはできませんが、BTCは新しいアドレスで存在しています。
あなたが作成するvoutスクリプト(送信)は、vinスクリプトの許可を必要とします。

言い換えれば、お金を使うためには、過去にその金額(またはそれ以上)を受け取ったことを示す有効なトランザクション履歴を持っていなければなりません。履歴は絶対に必要です。

アカウントモデルでは、残高がチェックされ、借方と貸方に記入されますが、これはBitcoinの仕組みとはまったく異なります。

ブロックエクスポージャーでトランザクションをチェックすればわかる

ブロックチェーンエクスプローラーを見ると、一見任意の量のBTCが送信されています。 送金したい実際の金額は受取人に送られ、残りはあなたが支配する新しいアドレスに行きます。 受信者に送信していないBTCは依然としてあなたのものですが、新しいアドレスに送信されます。
これは、UTXOがどのように機能するかに起因します。 繰り返しになりますが、1.1 BTC(UTXO)と0.8 BTC(UTXO)の送金を受け取ったのち、1.3 BTCを使いたい場合は、両方のUTXOが「使用済み」になり、残りは新しいUTXOとして送信されます。この場合、0.6 BTCから取引手数料を差し引いた額が新しいUTXOになります。

なぜこのシステムがアカウントモデルよりも優れているのでしょうか?

 

UTXOモデルはアドレスの再使用を制限するようユーザーに促す

UTXOモデルは、量子コンピューティングのような進歩があったとしても、あなたが公開鍵を明らかにしなければより安全です。

あなたのパブリックアドレスは、多くの人が間違ってこの用語を同じ意味で使用していますが、あなたの公開鍵自体ではなく、あなたの公開鍵のハッシュです。 公開鍵とアドレスは関連していますが、異なるものです。

ただし、アドレスから送信すると、そのアドレスの公開鍵がブロックチェーンに公開されるため理論的には攻撃に対して脆弱です。
しかし、公開鍵に対する攻撃が成功した場合でも、アドレスの残高が空です。
残高は非公開の公開鍵を使ってあなたが管理している新しいアドレスに送信されますので、BTCが新しいアドレスに「変更」を送信すると、公開鍵が公開されていない分アカウントモデルのアドレスよりもプライバシー上の利点があります。

また、BTCをアドレスからアドレスに送信するこの動作により、個人の追跡を難しくします。 BTC自体は簡単に追跡できますが、多くの場合、関連する多くのアドレスの所有権を判断することは困難です。
他のモデルのコインは、高いレベルのプライバシーおよびセキュリティを他の方法で達成していることもあります。しかし、それでもBitcoinほど長くテストされていないため、予期せぬ問題が発生するかもしれません。
Ethereumのようなアカウントモデルの暗号化方式のユーザーが各アドレスを一度しか使用しないという推奨される方法に従うと、UTXOによって提供されるのと同じセキュリティとプライバシーの利点を享受できます。(が、個人の努力が必要です)

しかし、BitcoinではUTXOがデフォルトの動作であるため、意識することなくベストプラクティスが行われます。

 

Bitcoinの簡易支払確認

UTXOモデルの利点の1つは、クライアントがブロックチェーン全体をダウンロードして検証することなくトランザクションがブロックに含まれていることを検証できる簡略決済検証(SPV)です。誰かの資金を犠牲にして費やすとすぐに忘れることがあるので、UTXO出力はデータを取り出す必要がありません。

ブロックヘッダーはMerkleブランチに「包含の証明」を提供できるので、検証のためには十分です。SPVの背後にあるアイデアは、機能のすべてではありませんが、Satoshiのオリジナルホワイトペーパーに記載されています。

 

Qtumは両方のモデルを組み合わせる


QtumはUTXOモデルとそのSPV機能をベースにしていますが、Ethereum仮想マシンを追加しています。(他の仮想マシンもサポートしていますが、後ほど説明します)




さらに、UTXOモデル(BTC、BCH、LTC、DGBなど)は追加料金の払い戻しをサポートできませんが、Qtumは新しい出力を作成することによって料金を払い戻すことが可能です。 Ethereumの “ガス制限”を設定し、使用していないガスの払い戻しを受けるのは、EthereumがUTXOモデルで実行されていないためです。 しかし、QtumはBitcoinのトランザクションモデルに基づいていてもこの払い戻し機能を有効にしています。
ビットコインのモデルとすることで、QtumはSegWitやLightning NetworkなどのBitcoin開発やBitcoin Improvement Proposalsを容易に採用することができます。
Ethereumの仮想マシンを採用することで、QtumはTuring-completeスマートコントラクトをサポートすることができます。

Bitcoinではサポートできません。

Bitcoinスクリプトが十分でない理由

RSCとCounterPartyはBitcoinブロックチェーンのスマートコントラクトをさまざまな方法で有効にしていますが、Bitcoinはスマートコントラクト能力が非常に限られています。

特に、Bitcoinのスクリプト言語にはループ機能はありません。 コードは、与えられた変数に応じて複数回実行することはできません。 これと同様に、Bitcoin言語は最も単純なタスク以外のすべてを満たすことができないようにしています。

Qtumでは、実際のBitcoinブロックチェーンではなく、BitcoinコードベースのTuringが完全に可能なスクリプトです。Ethereum仮想マシンをBitcoinコードの上に置くことができます。

Qtumがこれを行うには、中間のレイヤーが必要です。

Qtumアカウント抽象化レイヤー(AAL)

スマートコントラクト仮想マシンとそのアカウントモデルをBitcoinのUTXOモデルで動作させるため、Qtumには「アカウント抽象化レイヤー(AAL)」というレイヤーが含まれています。アカウントベースのシステムをアカウントなしの下層レイヤーで実行するには、 AALが作業を担います。

その結果、ユーザーはUTXOのメリットと開発者がTuring-complete Ethereum仮想マシンの利点を得ることができます。

 

新しいオペコード*

オペコード:どのオペレーションが実行されるのかを識別するコード行の部分。 その他の例については、Bitcoinの利用可能なオペコードをチェックしてください。 これらのオペコードはBitcoinスクリプト言語のすべての機能です。

RSKなどのBitcoinにスマートな契約機能を追加しようとするソリューションは、通常、ビットコードがコードをアップグレードするために必要な新しいオペコードをいくつか必要とします。

QtumはBitcoinのコードを新しいプロジェクトにフォークして新しいオペコードを追加するだけで、新しいオペコードを追加することができます。

Qtumは、これらのオペコードとアカウント抽象化レイヤー(AAL)を追加することで、BitcoinコードベースでEthereum仮想マシンをサポートすることができます。
現在、任意のEthereumアプリケーションをQtum上で実行し、UTXOベースの利点を享受することができています。

しかし、待ってください..。Qtumを理解するために説明すべきことはまだあります。

 

Proof of stake(PoS)、テンプレート、後方互換性の証明

QtumのEthereumの仮想マシンの実装は、Ethereumの制限を含んでいるわけではありません。
Ethereumは、Proof of Work(PoW)で構築されています。 ノードは、非常に難しいパズルを最初に解決し、マイニング報酬を得るために大量のエネルギーを費やします。 詳しくはEOSの実証実験を含むコンセンサスモデルの項目をご確認ください。

Qtumは、Proof of stake(PoS)を採用した最初の暗号通貨であるPeercoin(PPC)に由来するPoSモデルの承認に基づいています。

PoSの承認は、Qtumが高いコンピューティングパワー要求なしで、1秒あたりのトランザクション数が増えることなく実行できるようにします。Proof of StakeとProof of Workを比較して読むためには、Ethereumチームのメンバーが執筆したこの記事をお勧めします。 確かに、他のコインはPoSに移っており、イーサリアムもある時点でその一部または全部をPoSにする予定です。

Qtumは、dApps開発を容易にするためのテンプレートも実装しています。これは、NEMなどのコインでも大きな焦点となっており、Crowd Machineなどのプロジェクトを通じてEthereumにももたらされています。

Ethereumにはほとんどの場合後方互換性がないという特徴があります。 Qtumノードは、Qtumの最新バージョンに完全に更新されていなくてもコンセンサスに参加することができます。

 

Qtum X86仮想マシン

Qtumのアカウント抽象化レイヤー(AAL)はEthereum仮想マシンが最も有名ですが、他の仮想マシンも使用できます。

5月23日、Qtumは韓国にてQtum X86仮想マシン(x86VM)のプレゼンテーションを行いました。 X86 VMはCとC ++は、Rust、Python、Goなどの既存の言語でのワークを可能にしています。ロードマップによるとQtumは、X86の統合(インテグレーション)を2018年後半に行う予定です。

 

Qtum Enterprise(Qtum X)とはなにか

Qtum Enterprise(Qtum X)は、企業にアピールするための新しいイニシアチブです。

Qtum Xは、1秒間にさらに多くのトランザクションを可能にする権限証明システムになります。
Qtum XとQtumは、少なくとも現在は別のプロダクトです。2つのプロダクトが相互運用可能かどうか、つまり同じ通貨を共有するかどうかについてはまだ情報が公開されていません。
英語の文献で多くの詳細を期待するのは早すぎるかもしれないので、ぜひ教えてください。

世界につながる

Qtum XとX86仮想マシンに加えて、Qtumは、開発者やビジネスをQtumエコシステムに引き付けるために設計された他のプロジェクトも数多く提供しています。

API。テンプレート。完全な機能を備えたSDKアトミックスワップ。 Qtumの衛星。
衛星は冗談ではありません。 Ntusのように、QtumはSpaceChainと協力して衛星を打ち上げる予定です。(2月に打ち上げに成功しました→仮想通貨で初!Qtumフルノードが宇宙へ!)それは、前者とは違って、検閲抵抗の後であるようです。

Qtumは、現段階では、「世界の主要な暗号通貨の障害とブロックチェーンプラットフォームであるという私たちの決意の明白なデモ」であると主張しています。

話が脱線したので、物事を地球に戻しましょう。

アトミックスワップ:第三者が関与することなく、別のものに対する1つの暗号化の取引。典型的なアトミックスワップでは、1つのブロックチェーンでタイムロックされたスマートコントラクトが開始されます。取引は、他の当事者が設定された期間内に取引される通貨を提供しない場合にキャンセルされる。

 

Qtumは7つの命題にどのように答えるか?

1.スケーラビリティ

BitcoinとEthereumから構築されているため、Qtumには1秒あたりのトランザクション数が多くありません。 PoSが役立ち、SegWitが実装され、TPSが約60に上昇しました。
私が知った最新情報として、Qtumの今後のスケーラビリティ開発には、オフラインチャネルやEthereumの提案するシャーディングと同様の機能が含まれます。
Qtum Enterprise(Qtum X)は、Proof of Authority(PoA)を使用してより高いトランザクションスループットを実現します。この時点でQtum XとQtumがどのように統合されるのかは不明ですが、スケーラビリティの点で企業がQtum Xに関心を持つ可能性はあります。

2.ガバナンス

元々PeerCoinの先駆的なPoSコード上に構築されたQtumのPoSです。 Qtumには分散型ガバナンスプロトコル(DGP)があります。

Qtum Xは証明機関で実行されます。Qtum Blockchain Foundationは、DGPの範囲外の決定を指示します。

3.開発の複雑さ

QtumはEthereumのEVMとSolidityを使用することができますが、新しいQtum X86仮想マシンではC、C ++、Ruby、Go、Pythonなどの既存言語を使用できます。 QtumのEVMはEthereumのものとは異なり、常に下位互換性があります。
eSMLは正式な検証能力を備えたQtumの計画言語です。フォーマルな検証はCardanoの主な焦点であるため、エピソード#3(Cardano)の項をご参照ください。

公平のために申し上げておくと、いくつかのサードパーティのソリューションと、今後の予定のキャスパーも、Ethereumに正式な検証をもたらします。

4.タイムライン

Qtumは稼動しており、新しいX86 Virtual Machineは今年後半に統合される予定です。 Qtum X(Qtum Enterprise)のプロジェクトのタイムラインは、この記事の時点ではまだ不明です。

5.一般化された特徴

上記のように、テンプレートはアプリ開発者に一般化された機能を提供するよう計画されているため、繰り返し作業やエラーの傾向が軽減されます。これを超えて、一般化された機能はまだ出現していません。

X86仮想マシンが統合されている以上、数多くの面白い機能を見てももう驚くことはありません。

6.導入可能性

元帳ウォレットの統合など、いくつかの基本的なQtumの採用機能が用意されていますが、ビジネスに焦点を当てたQtum Xはまだまだ開発段階にあるため、Qtumの最終的なdAppエコシステムがどれほどユーザーフレンドリーになるかは、まだまだゲームの途中です。

Qtumには取引手数料がありますが、Ethereumの手数料のように、最終的には企業によってユーザーから引き離される可能性があります。これについてはまだ非公開のようです。

7.市場ポジション

Qtumには、今まで説明したほとんどのコインと同様に、開発者コミュニティや広範なコミュニティがありません。それにもかかわらず、いくつかのdAppとICOがQtum上で動作しています。 Qtum Blockchain FoundationがQtumのマーケティングを強化しながら、X86 VM、Qtum Xなどの機能を迅速に実装できる場合、QtumはEthereumへの強力な挑戦者になる可能性があります。

 

おわりに

時価総額でリストの下方に移動するにつれて、より早期段階のプロジェクトとなるはずです。 彼らはトッププロジェクトほどの話題はなくお金もありません。

Qtumは、他のスマートコントラクトのプラットフォームの利点の多くをテーブルに持ち込みます。 正直Qtumのロゴはあまり行けていないと思いますが、私はQtumのプロジェクトがどうなるのかを見ることに興奮しています。

NEOの項では、中国のプロジェクトが外国のプロジェクトよりも中国でうまくいく傾向があることについて議論しました。 実際、その通りです。
中国での強力な利点はQtumをEthereumの深刻な挑戦者にするかもしれません。

本シリーズのすべてのプラットフォームと同様、私はX86 VMとQtum Xを出発点として、Qtumを詳しく追っていきます。

何かのことを学んだら、Ethereum Challengersシリーズの残りの部分をチェックしてください。私たちはまだLisk、Stratis、Komodo、CounterPartyのような挑戦者たちを残しています。
しかし、まず、次週にEthereum Classicを公開予定です。それではまたの機会に。

 

追伸

以上、全訳でした。翻訳に間違いがあればコメントにお願いします。

では。