技術
2018/12/13KyberNetwork 『ERC1257』がメインネット実装! 概要を解説!
Kyber Networkは、オンチェーンでの分散型取引(ETH/ERC20)を様々なDApps上で実現させるための、分散型のプロトコルです。 先日、アプリケーション上でスマートコントラクトを利用してい行われた決済を追跡することが難しいことから、Kyber Networkはこの問題を解決するための規格『ERC1257』を開発しメインネット上にローンチしました。 本記事では、アプリ上でのスマコン決済を追跡し記録することを可能とする規格『ERC1257』についての解説を行っていきます。 ERC1257の概要を解説! ERC1257は、スマートコントラクトを介して(或いは人間によって)執行されたトランザクションを記録することのできる機能を持つトークン規格です。 ソースとなるKyberNetowrkの公式Mediumでは『Proof of Payment Standard』と記載されており、この規格が『支払いの証明』としてのものであることが示唆されています。 先日、Kyber Networkの公式TwitterにてERC1257のローンチ発表が行われました。 https://twitter.com/KyberNetwork/status/1070307717380694016 現状の支払いのシステムにおける問題とERC1257開発動機 現状、例えば仮想通貨の決済に対応しているE-コマース事業主などのケースでは、ユーザーのアドレスや指定したデポジットのアドレスを利用して支払いの追跡を行うことが通常です。 しかし、マルチシグアドレスなどで行われるスマートコントラクトなどによって執行された支払いを管理するとなると、内部のトランザクションを追跡する方法が存在しないため、支払いの証明を行うことが難しくなります。 日々複雑化していく、スマートコントラクトを利用して行われる支払いの仕組みに、共通して適用することのできるソリューションが存在しないことで、支払いの管理なども同時に難易度を増すことになります。 そこで、注文IDなどの情報を含める際に必要とされた面倒な複数のアドレスの準備を省略し、スマートコントラクトを利用する際に複雑化する支払いの追跡などを可能とする標準規格として『ERC1257』の構想が誕生しました。 ERC1257規格の技術仕様を理解する ERC1257では、上述の問題解決に必要とされる情報をEVM logへと記録していくため、以下の5つの項目を標準化しています。 パラメータとその内容は項目は以下の通りです。 event ProofOfPayment(address indexed _payer, address indexed _payee, address _token, uint _amount, bytes _data) _payer:支払いを行う人物 _payee:支払いを受け取る人物 _token:支払いの対象となったトークン _amount:支払いが行われたトークンの数量 _data:アプリケーション固有の補助データ 以上の情報が標準化されているこのERC1257規格を利用することで、これまで難しいとされてきたスマートコントラクトを利用した支払いなどの追跡などが可能となります。 潜在的なユースケースを考えてみる ERC1257規格を採用した場合、ログとして以上のようなデータがアウトプットされ、その結果支払いの追跡が容易になるという説明をこれまで行ってきました。 この具体的なユースケースですが、Kyber NetworkのMediumでも言及されている通り、支払いにまつわる標準化されたデータを利用する必要がある事業体によって利用されることが主となるのではないかと考えています。 ERC1257のGitHubにはBitcoinでピザが購入されたという事例をもとに、ピザ屋が分散的に支払いを完了させ、ログを排出するためのサンプルコードが記載されています。 まとめ Kyber Networkが分散型決済の更なる促進を目指してメインネット上にローンチした『ERC1257』についてをまとめていきました。 マルチシグアドレスなどにおけるスマートコントラクトを利用した支払いの記録が難しいということは知りませんでしたが、標準化された規格の登場により、さらに幅広く分散型決済が応用されていくための地盤が固まったのかなと思います。 今回執筆の参考にした記事のソースは以下からご覧いただくことができます。 Introducing ERC1257: Proof of Payment by Smart Contracts ERC 1257: Proof of Payment by smart contracts #1257
技術
2018/12/12スマコンを利用したサブスクリプション(定期購読)型モデルが実現? EIP1337について解説!
こんにちは。Shota(@shot4crypto)です。 今回は、スマートコントラクトを利用してサブスクリプション型のビジネスモデルを実現するというEthereumの新たな規格『EIP1337』に関して、この概要や特徴を紹介していきたいと思います。 本記事の執筆にあたって、1337AllianceのKevin氏による以下のMediumの記事の内容・構成を参考にさせていただきました。ありがとうございます。 記事ソース:EIP 1337 (Subscriptions) Launches EIP1337とは? 画像では、『ERC1337』となっていますが、現在はまだProposal段階で『EIP1337』とした方が正しいでしょう。 このEIP1337ですが、タイトルにもある通り、これはスマートコントラクトを利用したサブスクリプション(定期購読)型モデルを実現するための規格です。 サブスクリプション型モデル自体は以前にもEIP948という規格を用いて構想が練られていたそうなのですが、今回紹介するEIP1337は、これに対するフィードバックを受け改善を施したものであるとされています。 なぜサブスクリプション型モデルなのか? Webにおけるマネタイズ手段は、広告やスポンサーシップから様々ですが、1337AllianceのKevin氏は、『定期購読モデルはWebビジネスにおいて最も健全なものである』としています。 また、多くの場合トークンベースの経済システムと比較しても、サブスクリプション型のモデルの方が優れているケースが多いと考えられます。 以下はユーザー側・運営側・エコシステム全体がこのモデルを採用した場合に享受することのできる恩恵になります。 ■ユーザー側の利点 DAppsのユーティリティを利用するために複雑なホワイトペーパーを読む必要がない Dappsを利用するという点以上に複雑なVestingやCrypto-economic的な概念を理解する必要がない いつでもキャンセルを行うことができる ■運営の利点 購読者やコンバージョン等のデータを活用して、継続的なキャッシュフローを獲得・把握することができる 二面的なユーザーの構造(投機家・ユーザー)を考える必要がないので、サービスの質を改善することにフォーカスすることができる 長年かけて証明されてきた既存のビジネスモデルを活用することができる 規制面での不確実性が少ない ■エコシステム全体としての利益 サブスクリプション型モデルのような既存のシステムを構築していくことは、Ethereumのエコシステム拡大を考える際に、仕組みが非常にシンプルなものとなります。 オンチェーンのサブスクリプション型モデルにより、開発者は複雑なトークン設計などを意識せずとも、UIやUXの改善にコミットすることができるようになるため、Mass-Adoption(大多数への普及)という課題の解決に、より集中して取り組むことが可能になります。 結果として、利用者が増えることでEthereumのエコシステム全体へ対する利益へ繋がります。 EIP1337の現在の状況は? 情報ソース:Subscription Services on the Blockchain…Are Here ConsensysによってMediumにポストされた投稿によれば、このモデルを利用したサービスのプロトタイプがコミュニティから開発されており、サービスの機能面における監査も既に完了しているようです。 Token Subscription - DAIやWETH等10種類のトークンを利用した定期購読が可能 上のイメージのように、Metamaskを利用することで、ガス価格や数量、支払い頻度などを指定し定期購読を行うことができます。 ETH Grants - サブスクリプション型のコントラクトを作成可能 ETH Grantsでは期間やゴールを指定し、サブスクリプションの概要を記載していくことで、自身のサブスクリプションモデルを作成することが可能です。 EIP1337の今後の可能性は?EIP1337まとめ 個人的な意見となってしまいますが、個人的にはサブスクリプション型のモデルは必要であり、これが広く採用されればDAppsは間違いなく流行ると考えています(これに関しては、以前執筆させていただいたContentBOXの記事でも少し触れています)。 今回のリサーチでは、僕自身がエンジニアではないためDApps内の詳細の仕組みまではつかめなかったのですが、サブスクライブ(定期購読)の仕組みを利用することで、DApps内で行われるマイクロトランザクションを開発元が代替してくれるような仕組みまで実現できれば、これまでボトルネックとされてきたUX部分の大幅な改善が見込めるのではと思います。 一方で、記事内イメージのフレーズ「Monetize with subscription, not ICOs (ICOではなく定期購読でマネタイズしよう)」という形で、ICOの代替手段として広がるのみでは、まだまだ課題も残るのかなと感じます。 ありがとうございました。
技術
2018/11/08EthereumとEOS間のクロスチェーン取引を可能にするBancorXの仕組みを解説
こんにちは、Shota(@shot4crypto)です。 BancorXは取引所やオーダーマッチングなどを必要とせずに、Ethereum上の資産とEOS上の資産の交換を可能とするプロトコルです。 本記事では、そんなBancorXが具体的どのような仕組みの元で、Ethereum-EOS間のクロスチェーン取引を可能にするのかを開設していきます。 BancorXとは?BNTトークンを利用したクロスチェーン取引の仕組みを解説! BancorXでのクロスチェーン取引におけるカギを握るのが、BNT(Bancor Network Token)です。 BNTのスマートコントラクトは、EthereumとEOS上で同時に機能し、この設計故にクロスチェーンでの変換が可能となっています。 世界初のスマートトークンであるBNTのクロスチェーンでの機能性の軸には、複数のブロックチェーン上で同時にトークンの発行や破壊を行うことのできる点にあります。 BNTトークンはチェーン間を移動する際、送信元のチェーン上の循環からは除去され、送信先の目的アドレスで再生成される形を取ります。 このプロセスにより、クロスチェーンにおけるトークンの変換及びBNTの循環枚数を一定に保つことができるようになります。 例:Ethereum上のトークンをEOS上のトークンに変換する際のプロセス BancorXを利用してEthereum上のトークンをEOS上のトークンに変換するプロセスは以下の通りです。 トークン変換のプロセスは上記イメージのように、左側のEthereum、中央のOracle(オラクル)、右側のEOSの3つに分割して段階的(同時)に行われていきます。 Ethereum側でのプロセス Ethereum上のトークンをBNT(Bancor Network Token)に変換 BNTがEthereum上のBancorXのスマコンに送信される。この時、EOSチェーン上の目的地となるアカウント情報の受け取りも行われる。 BNTと目的地となるアカウントがBancorXのコントラクトに送信されると、Ethereumチェーン上からBNTの循環が除去される。 Oracle側でのプロセス OracleがEthereum上のBancorXコントラクトを監視、EOS上のBancorXコントラクトにBNTの枚数と目的地となるアドレスの情報が受け渡される。 EOS側でのプロセス EOS上のBancorXコントラクトがEOSのブロックチェーン上で同数のBNTトークンを発行 Bancorネットワークのリレーを通じて、発行された同枚数のBNTをEOS或いはEOS上のあらゆるトークンへと変換することができる このように、BancorXのスマコンを通して、BNTトークンの焼却・ミントが同時に行われることで、BNTトークンの循環枚数(Ethereum+EOS)を一定に維持しながらクロスチェーンの取引を行うことも可能となります。 また、逆のプロセス(EOS-Ethereum間)での取引も同様に行われていくようです。この部分の説明に関してはEthereumとEOSを逆にしただけの仕様となっているため割愛させていただきます。 まとめ BancorXのEthereum-EOS間におけるクロスチェーン取引のプロセスについてをまとめました。 クロスチェーン間での取引はまだまだ主流ではありませんが、Web3.0系のウォレットなどと統合していくことで、従来の単一のチェーンではなくよ巨大なエコシステムが完成していくのではないでしょうか? 執筆の参考とした英語の原文はこちらからご覧いただくことができます。
技術
2018/10/11Ethereum系のスケーリングのソリューションを詳しく解説!
こんにちは。Shota @shot4crypto です。 今回はスケーラビリティ問題を解決するPlasmaとその派生であるMVPやPlasma Cash、Plasma XTなどを詳細に比較、それぞれのドローバックなどを解説していければと思います。 技術的に難しい部分ですので、一部誤りがあるかもしれませんが、その際は気軽にTwitterのほうからご指摘いただければ幸いです。 Ethereumの仕組みと現状をもう一度把握 スケーリングのソリューションについて説明する前に、Ethereumの設計がどのようなもので、この何が問題であるのかを確認していきたいと思います。 また現段階でPlasma以外だと、どのようなスケーリングのソリューションが存在するのか?実装はされているのか?なども一応確認しておきます。 Ethereumの設計とその問題 EthereumのTXsがブロックチェーンに記録されるまでの仕組みを簡単に説明します。 ①ユーザーが最初にTXsをノードに対してブロードキャスト。 ②ブロードキャストされたTXsに対して、世界中のノードによりその報酬(Gas)を競う形で検証作業が行われる。 ③検証が成功すると他のノードが承認作業を行いこれによりブロックチェーンがアップデートされる。 Ethereumではこの①~③の作業が繰り返し行われる感じの仕組みになっています。 しかし、TXs数が増えてきた場合、スループットを向上させるためにはEthereumの場合ですとGas Limit(ガスリミット)を増やす必要がありますが、闇雲にこれを行うわけにはいきません。 というのも検証や承認を行うノードがより集権的になりDecentralizedの部分が失われてしまう可能性があるからです。 この問題をDecentralizedの部分を犠牲にせずに解決を図るソリューションがPlasma以外にもいくつか存在するので、参考程度に紹介します。ここではそれぞれのメリットやドローバックなどは紹介しません。 Sharding(シャーディング) このソリューションの一つにSharding(シャーディング)と呼ばれるものがあります。 Shardingを簡単に説明すると、ノードごとにTXsの検証を分担(並列検証)することで一つ一つのTXsに対して上記①~③のプロセスを行わせる必要性をなくすことができる、というソリューションになります。 この作業は子チェーンと呼ばれるサイドチェーン上で行われます。 Shardingの実装には、EthereumのプロトコルがCasperへとアップグレードされる必要があるため、現段階ではこれを実装することができません。 Raiden Network(ライデン) Raiden(ライデン)はShardingとは違い、ステートチャネル技術を利用したオフチェーンでのソリューションになります。 RaidenはIoTデバイスやアプリなどで頻繁に行われるマイクロトランザクションなどの問題を効率的に解決します。 これは、ステートチャネルの開閉のみがオンチェーン上で検証 / 承認の作業の対象となるためチャネル内でのトランザクションの速度を大幅に改善することができるというものです。 Plasmaについて 2017年8月11日にEthereumの考案者であるVitalik Buterin氏とLightning Networkの生みの親であるJoseph Poon氏によってPlasmaの構想が発表されました。 その後、Plasmaには様々な派生となる提案がなされています。 Plasma Cash Plasma XT Plasma Debit 本記事では、この全種類を詳細に比較・解説していきます。 まずはすべてのソリューションの親となるPlasmaを利用するメリットやその他のソリューションとの比較を行っていきたいと思います。 Plasmaの概要を詳細解説 PlasmaはRaidenに次ぐブロックチェーンのスケーリングに対するソリューションです。 Plasmaのスケーリングへのアプローチは子チェーンを利用したMapReduceによる階層化という形を取っています。 MapReduceとは MapReduceは巨大なデータセットを持つ高度に並列可能な問題に対して、多数のコンピュータ(ノード)の集合であるクラスター(各ノードが同じハードウェア構成を持つ場合)もしくはグリッド(各ノードが違うハードウェア構成を持つ場合)を用いて並列処理させるためのフレームワークである。 引用元:Wikipedia Shardingと同様に並列処理や階層化というアプローチをとっているPlasmaですが、この場合サイドチェーンはマークルツリーのような構造になっておりルートチェーンに対してリレーで情報の伝達を行うことで効率的な処理の分割を可能にします。 このように、親チェーン上の情報を最適化することで、スマートコントラクトやDAppsにおける手数料を削減しながらスケーリングにおける問題も同時に解決することができます。 Plasmaブロックに対してETHをデポジットする際に、スマートコントラクトにより親チェーンと子チェーンの総量に整合性を持たせるような仕組みとなっており、万が一子チェーンから上位チェーンに対する不正な報告(リレーによる情報伝達)などが発覚した場合、Exitプロセスにより親チェーンへ資産が戻されます。 Plasmaと他のソリューションを比較 Plasmaの概要をざっくりと説明しましたが、ここでShardingやRaiden Networkなどのソリューションと比較を行っていきます。 【Raidenとの比較】 チャネルの開閉をオンチェーンで、オフチェーンでマイクロペイメントなどの細かな処理を行うのに適しているRaiden Networkと比べて、Plasmaは複雑な処理などを効率的に行うことを可能にするソリューションであると考えることができます。 マイクロトランザクションなどを頻繁に行うアプリなどでは、Raidenのチャネルを利用したソリューションの方がUX的には使いやすいのかなといった感じですが、Plasmaはどちらかというと複雑な処理を効率化することに長けているイメージです。 【Shardingとの比較】 Shardingは、親チェーンでそれぞれが検証を行うものを子チェーンで分割して並列的に検証を行うことでその時間をシャードの数だけ短縮できるというものですが、Plasmaはスマコンで階層ごとに最適化などを行うことが可能です。 これらのソリューションは組み合わせることができるため、この辺に関しては適材適所という言葉にもある通り、それぞれのアプリなどに適したものを利用していけば問題ないと思います。 Plasmaの種類を確認 その後Plasmaの問題を解決していくために『Plasma Cash』、『Plasma XT』、『Plasma Debit』などの新たなアイデアが続々と登場しています。 ここでは、その派生についても解説していきます。 Plasma Cash Plasmaにおいて、あるPlasmaブロックの検証を担当する際、すべての子チェーンにおいてDouble Spending(二重支払い)等の不正なデータがないかを確認してセキュリティを担保するため、子チェーンのすべての情報を保持している必要がありました。 しかし、将来的に指数関数的に増加するPlasmaのデータ量の問題を解決するため、今年の3月9日にパリで行われた「イーサリアムコミュニティ会議」でVitalik氏ら3名によってNFT(Non Fungible Token)を利用したPlasma Cashの構想が発表されました。 ユーザーはPlasmaにおいてすべてのPlasmaブロックをダウンロードする必要がありましたが、Plasma Cashではこの必要はありません。 Plasma Cashでは、サービスにEtherの預け入れを行うと同等の量のPlasma Coinと呼ばれるものが改竄・分割不可能なユニークIDと共に生成されるため、ユーザーが保持すべきデータ量を「log(コイン発行枚数)」に抑えることが可能になります。 このPlasma CashはNFTを利用したスケーラビリティ問題へのソリューションとして、取引所などに関連したセキュリティなどにおいても大きく期待されています。 Plasma XT このPlasma Cashからさらにユーザーが保持する必要のあるデータ量を削減したものがこのPlasma XTの構想になります。 Plasma Cashにおいてユーザーが保持する必要のある情報量はPlasmaと比較して大幅に削減されまhしたが、長期間これを運用した場合Plasma Cashであってもそのデータ量が再び問題となります。 Plasma XTにおいて、オペレーターはチェックポイントとして設定しブロックのファイナライズを行うことで、後にユーザーが保持する必要のある情報量を大幅に削減することができます。 チェックポイントの設定はオペレーターによって行われますが、ここで不正がなかったという証明は複数による署名によって達成されます。 ここまで解説を行ったPlasma CashとPlasma XTですが、両者ともNFTを利用しているためデポジットの分割(1ETHのデポジットに対して0.5ETHの引き出し)などが課題として残っているようです。 Plasma Debit Plasma Debitはこの分割不可能なNFTの問題を解決するソリューションです。 詳しく解説すると、例えばAとBがPlasmaチェーンにそれぞれ6ETHのデポジットを行ったとします。 このときオペレーターがAとBからそれぞれ3ETHを預かる形になります。 AがBに対して半額の1.5ETHを送金するとオペレーターの3ETHからAが送金した1.5ETH、Bが受け取った1.5ETHがそれぞれ足し引きされ、このプラマイが0となった場合、残高に整合性が保たれることになるので、残高情報の更新が行われるといった仕組みになっているようです。 ただ、これに対してVitalik氏は自身のMediumで以下のように語っています。 Plasma Debit (see https://ethresear.ch/t/plasma-debit-arbitrary-denomination-payments-in-plasma-cash/2198) explicitly calls itself a Plasma flavor, and is arguably much closer to an account-based model than a UTXO-based one; 【和訳】Plasma Debitは自身をPlasmaの問題を解決するソリューションとしているが、UTXOベースのモデルというよりアカウントベースのモデルに近いものとなっている。 Plasmaの派生が多く登場していますが、Vitalik氏は「コミュニティはより明確なPlasmaの定義を探し出す努力をするべきだ」としています。 まとめ Ethereumでよく話題になるスケーラビリティ問題とそのソリューションに関して、Plasmaをメインに一通り解説しました。 Ethereumはよく他のインフラ系のプロジェクトと比較されがちですが、こういったソリューションを抑えておくことでより中立な目線で比較をすることができると考えています。 一部複雑な部分もあるかと思いますが、是非この記事を読んで頭に入れておいていただけたらと思います。
技術
2018/09/07新たなトークン規格『ERC1155』はDAppsゲームの革命となるか?その特徴とは?
Ethereum(イーサリアム)のプラットフォームでは、これまでERC721などのトークン規格などを利用したDAppsゲームなどの開発が盛んに行なわれてきました。 本記事執筆辞典でも、そんなイーサリアム上で開発が行われているDAppsの数は1800を超えています。(参考:State of the ÐApps) 今回は、6月の中旬に新たなトークンの規格として発表された「ERC1155」についてまとめていきたいと思います。 ERCトークンについて簡単におさらい 一般的にEthereum(イーサリアム)のブロックチェーン上で発行されるトークンは、ERCと呼ばれるトークン規格に則ったものとなっています。 現存の多くのDAppsやICOなどはイーサリアムのブロックチェーンを利用しているため、これらのトークンはすべて「ERC」という規格でEVM(Ethereum Virtual Machine)との互換性を持つ形で発行されています。 ERCトークンについての詳細はこちらをご覧ください。 Ethereum(イーサリアム)の”ERC”って何?メジャーな規格を徹底解説! - CRYPTO TIMES DAppsでは主に以下の「ERC20」と「ERC721」の二種類のトークン規格が採用されているのでこれを紹介していきます。 ERC20 ERC20は2014年に開発され2015年に導入された規格で、現在はEthereum上に存在する多くのトークンがこの規格を採用しています。 この規格は、設計がとてもシンプルで小数点以下の桁数や発行枚数など簡単な設定を行うのみで発行することができます。 DAppsはゲームからギャンブル、分散型取引所(DEX)などと様々な種類がありますが、こちらのERC20と呼ばれる規格は分散型取引所のトークンなどに多く採用されています。 ERC20を採用しているDApps Kyber Network (KNC) IDEX (Aurora) 0x (ZRX) Decentraland (MANA) 基本的にサービスやDApps内で通貨として利用するようなものがERC20を採用しているイメージです。 上述の例ではほとんどの例が分散型取引所のトークンですが、最後のDecentralandはゲームで採用されるトークンとなっています。 ERC721 ERC20トークンがDApps内で通貨のような役割を果たすトークンとして扱われると説明しましたが、ERC721はどうでしょうか? DAppsにおいてゲーム要素(成長・競争・発展)などの要素をERC20(通貨)だけで表現しようとすると、Pay to Win(P2W)に寄る仕組みとなってしまい、その面白さが損なわれてしまいます。 Pay to Winとは? 基本無料で課金システムもある(フリーミアム型の)ゲームにおいて、課金システムを利用したユーザーが圧倒的に有利になるようなゲームバランスのゲームのことである。 引用元:Weblio辞書 ソーシャルゲームなどは通貨(日本円)の数字(課金額)に応じてある程度の実力差が出てしまいます。 これを解決するのがERC721が採用する代替不可能なトークン(Non-Fundgible Token - NFT)でしたね。 ERC721ではこれまでのようにゲーム内のトークンが枚数ではなく、トークンが持つ性質が価値となります。日本のゲームですと以前Crypto Timesでも紹介した「くりぷ豚」などがこれを採用しています。 ERC721に関しての詳細はこちらをご覧ください Ethereum(イーサリアム) ERC721の特徴は? ERC20やERC223との違いを徹底比較! 新たなトークン規格「ERC1155」とは? 6月中旬、ENJINと呼ばれるDApps開発プラットフォームのWitek Radomski氏により「ERC1155」という規格が発表されました。 この規格はERC20の特徴とERC721が持つ代替不可能という特徴のハイブリッド型と呼ぶことができます。 ERC1155はGithubを見ると「Crypto Item Standard」と記載されており、主に個数の概念を用いるアイテムの導入を目的としていることがわかります。 以下でこのERC1155の特徴を紹介していきます。 複数のアイテムの一括交換 マルチプレイヤーのゲームにおいて例えばトラストレスな形で名前も顔も知らない第三者とアイテムなどの交換を行う際アトミックスワップというマルチシグアドレスを利用したTXsが必要になります。 しかし、EnjinのMediumで以下の図に示されるように、これには4つの承認ステップを踏む必要があります。 これは、ゲームにおけるユーザビリティを大きく損なう可能性があります。 ERC1155を利用することで、以下の図のように複数のアイテムをまとめて交換することが可能になり、承認のステップも大幅に削減することができます。 RPGなどのゲームで、装備Aと装備Bの作成に必要な素材がそれぞれ3種類あるシナリオを想定して、これに関して考えていきましょう。 従来の場合だと、おそらくプレイヤーが一つのマルチシグアドレスに3つの素材をデポジットすることで、その装備を受け取ることができる仕組みでした。この場合、プレイヤー側だけで考えても2つの装備の受け取りに12ステップの承認が必要な計算になります。 ERC1155では、この12回の承認を必要としていたものを一つにまとめることができます。従来のゲームで言えばレシピのようなイメージです。 交換する場所に必要なアイテムを持っていくことで、武器を受け取るいままでのようなゲームをプレイヤー間で実現できるようになる可能性を秘めています。 複数のユーザーに一括送信 タイトルが少しわかりにくいかもしれないですが、上の図をご覧ください。 ERC1155では一つのコントラクトで複数のアイテムを一括で複数のユーザーに送信することができます。 マルチプレイヤーでのボス戦などを想像するとわかりやすいかもしれません。 従来の規格では、複数人でボスを倒したときアイテムごとにコントラクトを設ける必要性がありましたが、ERC1155を利用すると一つのコントラクトで、条件を分岐させて複数のプレイヤーに同時にアイテムが付与される仕組みを実装することができます。 まとめ これまでERC20だとFungibility(代替可能)の概念しか取り入れることができず、一方でERC721では個数が限られていたため、ゲームのシステム自体に制約がありましたが、ERC1155を利用することでこれらを解決し、より現代的なゲームに近づけることができると考えます。 将来的に、ERC721のコレクタブルなどのシンプルなゲームから、オンラインでマルチプレイヤーと協力するようなゲームの開発も見られてくるのではないかと思います。
技術
2018/06/03Loom Network – Zombieチェーンとは? 既存のチェーンとの違い
こんにちは!Shota(@shot4crypto)です。 本記事では、Loom Networkによって開発が進められていて既にローンチが決定しているZombie チェーンについて紹介をしていきます。 Loom Networkって何だっけ?って方は以下の記事を参考にしていただければ、と思います。 Loom Network(ルームネットワーク)とは?-ゲームdAppsに特化したプラットフォーム- Zombieチェーンの概要 dAppsチェーンとの違いは? Loom Networkは主にdApps(分散型アプリケーション)におけるスケーラビリティ問題へのソリューションとして機能していました。 これは、それぞれのdAppsにそれぞれのdApps特化型のチェーンが存在することで、必要最低限のメインチェーンとのやりとり(Relay)しか必要としないため、Ethereumのメインチェーン上で各ノードがトランザクションを1つ1つ検証する際に起こるスケーリングの問題を解消することができるというものでした。 しかし、デベロッパーがdAppsチェーン上に自身のアプリを特化dAppsチェーン上にデプロイし、Validator(承認者)の設定などを行う必要がある点は、開発を加速させるための障害となっていました。 そこで登場したのがこのZombieチェーンです。 Zombieチェーンは、誰もが自身のdAppsをDPoSを採用した共有サイドチェーンであるZombieチェーン上にデプロイすることのできるチェーンです。 DPoS(Delegated Proof of Stake)とは ステークホルダーの投票により代表者が選出され、選出されたノードが代表者としてトランザクションの承認を行う合意形成アルゴリズム このDPoSを採用した共有サイドチェーンにより、既存のdApps特化型チェーンにおいて問題視されていた、デベロッパー側の障壁を取り除くことが可能になると考えられます。 Zombieチェーン自体はメインネットではないのですが、デベロッパーがZombieチェーンという機能を共有できる基盤をもとに簡単にアプリを開発することのできる、dAppsゲームのプラットフォーム的な役割を果たすと考えられます。 Zombieチェーンの特徴 前項では、既存のdApps特化型チェーンの問題とZombieチェーンの違いに関して言及しましたが、Zombieチェーンの特徴に関しても詳しく見ていきたいと思います! Zombieチェーンではデベロッパー側のエクスペリエンスだけでなく、ユーザーエクスペリエンスを大事にしていることがわかると思います。 固定月額ホスティング料金制 既存のdApps特化型チェーンのケースにおいてLOOMトークンは、アクセス権のような機能を果たしていました。 デベロッパー側は自身のdAppsチェーンにアプリをデプロイし、それを利用するユーザーがトランザクションごとにガスを手数料として支払っている形です。 ガスとは? PoWのイーサリアムのメインチェーンで行われるトランザクションに対して支払われる手数料のこと。トークンのトランザクションがメインチェーン上で承認を受ける場合、トークンではなくEtherとして支払われなければならない。 一方で、共有サイドチェーンであるZombieチェーンでは、Zombieチェーンの承認者(DPoSなので投票によって選ばれた代表者)への手数料として、チェーンを利用する(自身のアプリをチェーンにデプロイする)デベロッパーのLOOMトークンの残高から差し引かれる形で支払われます。 これがローンチされると何がどう変わるのかってことなんですが、dAppsの利用者にトランザクション毎のガスを支払わせる必要がなくなり、単純にゲームを楽しみたいというユーザーに対してのUX(ユーザーエクスペリエンス)の向上に繋がります。 ローンチ当初は、これは月額1LOOMトークンと格安で提供されますが、アプリ数の増加に伴ってこの価格は適当に設定されていくようになるとのことです。 デベロッパーは、ユーザー数の多いアプリを高い月額を払ってZombieチェーン上で動かすこともできますが、自身のdAppsチェーン上にこれをフォークさせて独自のチェーン上で月額を支払わない形に移行することも可能です。 極めて高速なブロック生成時間 DPoSを採用していて、トランザクションの承認速度が速いことは既に解説をしましたが、Zombieチェーンではブロックの生成時間も1秒以下と極めて速いです。 一点だけ、必ずしも生成速度が速いことが善で遅ければそれが劣っているということではありません。 しかし、Zombieチェーンにおいてトランザクションが承認され、トランザクション速度が1秒以下であることには以下のような特徴があります。 Zombieチェーンにおける平均1秒以下のブロック生成速度の特徴 Plasma Cashにより資産が保護されているので、短いブロック生成時間にもかかわらず高い安全性を持つ ターン性のゲームなどにおいてユーザーの待ち時間が短縮できる 既存のdAppsゲームと比較した際に段違いなユーザーエクスペリエンスを提供できる 上述の通り、dAppsを動かすベースとなるチェーンにおいてはこのような高速なブロック生成時間は武器になりますが、他の用途では1秒ではない方がいいケースなどもありますので、こちらは各自調べてみるといいかもしれません。 Zombieチェーンの今後のR&D / 将来性 Zombieチェーンは、現在ローンチを待っている状態となりますが、R&D(Research And Development)においても素晴らしいビジョンや構想を持っています。 Zombieチェーンが現段階どのように開発を進めようと画策しているのかを以下に紹介し、各項目に関する将来性についての考察をしていきます。 Plasma Cashのサポート Plasma Cashは2018年3月にEthereumの共同創設者であるVitalik Buterin氏らから発表された構想で、Plasmaのセキュリティをさらに向上させるような仕組みになっています。 Plasma Cashのユースケースに関しては、以下の記事で少し触れているのでよかったら参考にしてみて下さい。 Plasma Cashのモデルが取引所にハッキング耐性を付与する可能性をもたらす ZombieチェーンがPlasma Cashをサポートすることで、Ethereumネットワーク上のコレクタブル(ERC721)トークンなどを参照しながら、Loomチェーン上のゲームにそれを安全に移植するようなことができるようになります。 Mediumでの言及はなかったのですが、おそらくEthereumチェーン上のCryptoKittiesなどのゲームで自身が持っているコレクタブルなどを自身がZombieチェーンにデプロイしたゲーム上に登場させたりすることができるようになると考えています。 更に、Plasma Coinが生成されることでdAppsゲーム同士の相互運用性が生まれ、ゲームのメインとなる機能はZombieチェーン上で、その他トランザクションは別のサイドチェーン上でなどと、『サイドチェーンのサイドチェーン』のような仕組みを作ることのできる可能性が十分にあります。 更なる分散化 Zombieチェーンでは、ローンチの初期段階においては、ネットワークの初期の安定化のためにトランザクションのValidator(承認者)がLoom Networkのチーム自身によって担われます。 しかし、今後Zombieチェーンが安定してくるとともにこのValidator(承認者)は、LOOMトークンを十分に保有する人物に任されるようになります。 これによりネットワークの更なる分散化が実現されます。 まとめ 本記事では、Loom Networkから新たに発表された、Zombieチェーンの構想について紹介させていただきました。 Zombieチェーンは、dAppsの共有サイドチェーンとして機能し、従来のdAppsのユーザーエクスペリエンスを格段に向上させる仕組みとなっています。 Loom SDK(Software Development Kit )上でデベロッパーがより多くのアプリを紹介した形で開発をすることができるようになり、それに更なる相互運用性が伴うようになれば、dAppsのゲームが指数関数的に成長していくきっかけになるのではないかと思います。 Loom Networkに関して、個人的にも今後の進捗に期待しています! 読了ありがとうございました! ※本記事で使用している画像に関しては、Loom Networkチームより使用許可をいただいています。
技術
2018/05/31サイドチェーンとは?ブロックチェーンの機能を拡張する技術を解説
こんにちは、kaz(@kazukino11111)です。 今回の記事ではブロックチェーンの発展に伴って話題に上がるようになってきたサイドチェーンという技術について紹介していきます。 サイドチェーンとは?基本的な仕様を解説 サイドチェーンというのはメインとなるブロックチェーンの他に複数のブロックチェーン間でトランザクションや情報を共有し、ブロックチェーン全体の機能を拡張したり、処理速度を向上させる技術です。 サイドチェーンを導入する事で、ブロックチェーン同士が相互接続され、仮想通貨のネットワーク全体を一つのブロックチェーンとして転送することが可能になるとされています。また、親チェーンからサイドチェーンへの資産の移行も簡単に行えます。 例えばビットコインは一ブロックが10MBで承認時間が10分となっています。しかし、これでは増加するユースケースに対応できません。また、イーサリアムには搭載されているスマートコントラクト機能がないなどのデメリットが露見してきました。 そこでサイドチェーンを活用すれば後からでもブロックチェーンのスペックを向上させたり機能を付加することが可能になります。 サイドチェーンは2014年にBlockstreamという企業がその概念を発表しました。2016年にはサイドチェーン技術に関する特許が取得されました。 最初にサイドチェーンが実装された際は親チェーン→サイドチェーンという一方通行でしたデータを送れませんでしたが、現在は上記の画像のようにTwo Way Pegと呼ばれる双方向に通信可能なサイドチェーンが開発されています。 サイドチェーンでできること・3つのメリットとは? サイドチェーンは大きな可能性をひめたテクノロジーです。ここではサイドチェーンがどのように役立つのかをご紹介します。 ハッキング被害の軽減 The DAOのハッキング事件からもわかるように、イーサリアムのようにスマートコントラクトのコードを全て親チェーンに記述しているとハッキングされた際に被害が拡大してしまいます。この場合はハードフォークなどをしてメインチェーンを分裂させなければなりません。 一方で、サイドチェーンにスマートコントラクトのコードを記述しておけば、ハッキングされたとしてもサイドチェーンを切り離すだけで事が済み、被害を最小限に抑えることができます。 処理能力の向上 サイドチェーンと情報を共有したり、新たな技術を搭載することで、ブロックの承認時間を短縮する事ができます。 ビットコインでいうライトニングネットワークがこれに当たります。ライトニングネットワークではサイドチェーンでビットコインを高速で処理し、親チェーンに戻します。これによって手数料の削減と承認時間の短縮が可能になっています。 新た機能の付加 上でも説明したようにサイドチェーンを使えばブロックチェーンに大掛かりな変更を加えることなく新たな機能を追加することができます。 これによって今ある通貨のアドバンテージを活かしながら、他の通貨の特徴も取り入れる事が可能になり、両者のいいとこ取りができるようになります。 サイドチェーンの3つの問題点 一方でサイドチェーンにはまだ問題点が複数存在します。今後はこれらの問題点を解決することに焦点 が当てられることが予想されます。 ハッキングの被害をゼロにすることはできない 先ほどメリットとして紹介したハッキング被害の軽減ですが、サイドチェーンを親チェーンから切り離したと言ってもそれはあくまで被害をサイドチェーンの中で抑えただけにすぎません。 このサイドチェーンの中に存在する資金はハッキングされたままで、資金が戻ってくる訳ではありません。あくまで被害の範囲を狭めるというものになります。 堅牢なセキュリティを築くのが難しい サイドチェーン技術のセキュリティに関する懸念で親チェーンとの接続に際しての脆弱性という問題が挙げられています。 サイドチェーンと親チェーンの接続がしっかりとしたセキュリティの下で行われていないと広く普及するのは難しくなってきます。 さらに、サイドチェーン自体のセキュリティもしっかりしていないと、サイドチェーン内でのハッキングを許すことになってしまうため、堅牢なセキュリティが求められています。 承認作業の増加 サイドチェーンと情報を共有し、処理を行うということは、親チェーンでの承認作業の他にサイドチェーンでの承認作業、さらにはサイドチェーンと親チェーンの間での取引の承認作業とサイドチェーンの導入により作業量はかなり増えることになります。 そのため、大量に承認作業をできる仕組みをもったサイドチェーンを開発していくことが求められています。 サイドチェーンを実装する3つの仮想通貨・プロジェクトを紹介 ここでは実際にサイドチェーンを実装した例として3つのプロジェクトをご紹介します。 Liquid Liquidは先ほど紹介したBlockstreamの最初のサイドチェーン実装のプロダクトで、複数のビットコイン取引所とウォレット間での共同の保管場所を提供します。 仕組みとしては、親チェーンのビットコインと1:1のレートで交換できるビットコインをサイドチェーン上に展開する事で、即時換金性を確保し、保管場所としての機能を果たしています。 通貨の交換は瞬時に完了するため、サービス間でのビットコインの移動は瞬間的に行えます。そして、共同で保管する事によって、それぞれの取引所や企業が破産するリスクを抑えることが可能になります。 さらに、Liquidではトランザクションを隠す機能が実装されており、プライバシーにも十分に配慮されて設計されています。 Rootstock Rootstockはサイドチェーンを用いてビットコインのブロックチェーンにスマートコントラクトを実装する事を目標とするプロジェクトです。 詳しく説明すると、Rootstockはビットコインの特徴を活かしながら、イーサリアムのような複雑なスマートコントラクトをビットコインのサイドチェーン上で可能にしようという内容になっています。 Rootstockでは取引承認にDECOR+やFastBlock5と呼ばれるプロトコルを採用しており、サイドチェーン上のブロック生成時間を10秒ほどにまで短縮しました。これにより、送金速度の向上やスケーラビリティ問題の解決に繋がると期待されています。 RootStockは下記の記事でも紹介しています。 ビットコイン + スマートコントラクト RootStock(ルートストック) / RSKとは? - CRYPTO TIMES LISK Liskでは分散型アプリケーションのサイドチェーン上にスマートコントラクトを記述することで、親チェーンに記述する情報量を減らし、高速かつ安全な取引を実現しています。 親チェーンに全てのスマートコントラクトのコードを記述しているイーサリアムでは親チェーンがハッキングされるとそれに続けて次のブロックが生成されるので混乱を招いてしまいます。 これに対してサイドチェーン上にスマートコントラクトのコードを記述すれば、ハッキングの被害を最小限に抑えることが可能になり、セキュリティの向上に繋がります。 まとめ ビットコインに存在するアドバンテージを活かしつつも新たな機能を追加したり、欠点を改善する事ができるサイドチェーンという技術は今後ブロックチェーンがさらに発展していく中で欠かせない技術になってくるのではないでしょうか。 今後もブロックチェーンとサイドチェーンの発展から目が離せない展開となりそうです。
技術
2018/05/30クロスチェーンとは?ブロックチェーン間接続を可能にする技術を解説
こんにちは、kaz(@kazukino11111)です。 あまり鳴かず飛ばずな相場が続いてはいますが、みなさんいかがお過ごしでしょうか? 今回の記事では、今年大きく注目されるであろうクロスチェーンという技術について紹介および解説していきます。 クロスチェーンとは?基本的な仕組みを解説 クロスチェーンは異なるブロックチェーンをまたぐことを意味します。現状互換性がないブロックチェーンに存在する二つの通貨を交換するには取引所などで取引をして交換する必要があります。 一方で、クロスチェーンがあれば取引所等の第三者を介することなく直接交換することが可能になります。これによってユーザーは手数料の問題やセキュリティリスクを回避することができます。 クロスチェーンを実現可能にしているのはアトミックスワップと呼ばれる技術で、2017年の9月にビットコイン(BTC)とライトコイン(LTC)の間で世界初のアトミックスワップが成功しています。 アトミックスワップとは?アトミックスワップは、異なるブロックチェーン上に存在する通貨を取引所などの第三者を介さずに直接的に交換する技術をさします。 仮想通貨自体は非中央集権や分散型を採用していますが、通貨を交換する際の取引所がどうしても完全な非中央集権や分散型の障壁となってしまっています。そのため、ブロックチェーンをインターネットのように相互接続するクロスチェーンに注目が集まっているんです。 4つのクロスチェーンプラットフォームを紹介 ここではクロスチェーンに焦点を当てたプロジェクトをご紹介します。 Cosmos Cosmosには異なるブロックチェーン間の通信プロトコルを持ったハブ(Cosmos Hub)と一つ一つが特立したブロックチェーンであるゾーン(Cosmos Zone)の2種類のブロックチェーンから構成されています。 Cosmosではこの二つのブロックチェーンが画像のように相ハブを中心として続されています。ゾーン同士は互いには接続していませんが、ハブを介することによってトークンの送受信が可能になります。 例えば上の画像のようにBTCとETHのブロックチェーンは繋がっていません。しかし、お互いがゾーンとしてハブに繋がっていれば取引所を介することなくビットコインブロックチェーン上のトークンをイーサリアムのブロックチェーンに送ることが可能になります。 詳しくは、COSMOSの下記の記事を参照ください。 クロスチェーンプロトコル COSMOS(コスモス)に関して徹底解説 - CRYPTO TIMES Polkadot Polkadotはweb3という団体によるプロジェクトで、完全な分散型のウェブをビジョンとして掲げています。 Polkadotは複数の異なる特性を持つパラチェーン(Parachain)によって構成されており、これらは匿名性や検証を簡単に行うことができます。独立したブロックチェーンを接続する際にはブリッジ(Bridge)と呼ばれる特殊なパラチェーンを用います。 そしてトランザクションはチェーン全体へと広がるため、同時に複数のトランザクションを処理することが可能になります。 そしてPolkadotではこれらのブロックチェーン一つ一つが信頼できるものであり、取引が確実に実行されることを保証しています。 WanChain Wanchainは異なるブロックチェーンをシームレスに接続する分散型金融インフラストラクチャーを目指しています。セキュリティ性が高く、クロスチェーンにも対応しているというプロジェクトです。 Wanchainではリング署名、ワンタイムアドレス、プライベート・センドという三つの技術を用いてトランザクションの匿名性を確保しています。これらの技術はモネロ(XMR)やダッシュ(DASH)といった匿名通貨でも採用されている技術です。 そしてWanchainはクロスチェーンはもちろん、イーサリアムのブロックチェーンをベースに開発されているので、スマートコントラクトも搭載されています。 つまり、開発者はイーサリアム上の分散型アプリケーションをそのままWanchainに移行することができます。 WanchainのBeyondBlocksの初日レポートも下記よりご参照ください。 【BeyondBlocks初日レポート】Wanchain(ワンチェーン) 基調講演 - CRYPTO TIMES AION Aionは昨今叫ばれているスケーラビリティ、プライバシー、相互互換性といったブロックチェーンの問題を解決するべく開発された多層型のブロックチェーンプラットフォームです。 Aionでは高性能なブリッジメカニズムを用いて異なるブロックチェーン間でのデータの移動を可能にします。「Aion-1」というプラットフォームを使ってユーザーが簡単にブロックチェーンを作成し、管理することができます。そして、このブロックチェーンは他の全てのAionネットワークに繋がっているので、情報の移動も可能です。 さらに、Aionではアプリケーションを複数のブロックチェーンで展開することによって、パフォーマンスを向上させる他、大量のデータを記録することが可能になり、スケーラビリティ問題の改善にも繋がるとしています。 仮想通貨AIONの特徴・将来性を解説!取引所/買い方・チャートまとめ まとめ ERC20トークン同士であれば同じイーサリアムのブロックチェーンを使用しているため比較的に簡単に交換が可能ですが、全ての通貨がそう簡単に交換できるわけではありません。 また、相次ぐハッキング等のニュースが報じられているように取引所を介して通貨を交換するということは、リスクを増やすということにつながりかねません。 仮想通貨がさらに信頼性があり、快適に使えるようになるためにはブロックチェーンを相互接続するクロスチェーンという技術は必須と言えるでしょう。 すでにCosmosやPolkadotといったプロジェクトが登場しているように、2018年にはクロスチェーンに関連した新たなプロジェクトや新技術が多数登場してくることが予想されます。これから必須のテクノロジーとなっていくであろうクロスチェーンに注目が集まっています。
技術
2018/05/29クロスチェーンプロトコル COSMOS(コスモス)に関して徹底解説
こんにちは! 本記事では、EthereumのVitalik Buterin氏がよくPlasmaと並べて口にしているCosmosという、ブロックチェーンのスケーリングや相互運用性(Interoperability)を解決するための分散型ネットワークを紹介していきます。 PlasmaやRaiden NetworkなどのEthereumのスケーリングのみに対応したソリューションと比較して、Cosmosは様々なブロックチェーンに対応するクロスチェーンプロトコルとしてスケーラビリティ問題を解決します。 Cosmosの仕組みは複雑で、記事のボリュームが大きくなってしまっている上に多少予備知識なども必要になってくるので、とりあえず全体のイメージを掴んでいただくために簡単な解説をしたいと思います! Cosmos(コスモス)を簡単に解説! Cosmosは複数のブロックチェーン同士での接続を可能し同時にスケーラビリティ問題を解決する、クロスチェーンプロトコルと呼ばれる分散型のネットワークです。 Cosmosは簡単にいうと以下のようなケースでその力を発揮します。 異なる複数の通貨の交換 例えば、ビットコインとイーサリアムを交換するためには、現状だと取引所を介してこれを行う必要があります。 しかし、保有する銘柄が国内の取引所には対応しておらず、海外の取引所のみといった場合に ①一度日本円に両替してビットコインを購入 ②それを海外の取引所に送金 ③海外の取引所でビットコイン建てで目当ての通貨を購入 といったプロセスを取る必要がでてきます。 このプロセスをCosmosネットワークを介することで一発で欲しい通貨を手に入れることができます。 異なるブロックチェーン間での双方向的なやり取りの可能性は『インターオペラビリティ』と呼ばれます。 ユーザー数増加への対応 仮想通貨を利用するユーザーの数は指数関数的に増加しています。 しかし、例えばイーサリアムではトランザクションの検証はすべて1件ずつ行われるため、トランザクションに詰まりが発生し、ユーザー数の増加に対応できない可能性が危惧されています。 これは『スケーラビリティ問題』と呼ばれます。 ここで、Cosmosのネットワークではこの検証作業を分担するアルゴリズムを採用することで、将来的なユーザー数やトランザクション数の増加に対しても対応できるような設計となっています。 上記2点がCosmosにおいて注目すべきポイントですが、ここからは更にその詳細な設計やクロスチェーンの本質などに迫っていきたいと思います。 クロスチェーンプロトコルの意義 BitcoinやEthereumなどのブロックチェーンは一本のブロックチェーンですべてを完結させるというフィロソフィー的なものを軸に開発がなされていました。 しかしこれには言うまでもなく限界や不都合が伴います。 利用者が増えると、ブロックサイズや生成時間が固定されている一本のチェーンにすべてのトランザクションデータを格納することは徐々に難しくなりトランザクション詰まりが発生します。 また、チェーンの数が増えすぎてしまうとそれぞれが独立しているために、それぞれの機能(決済やDAPPS)に長けたチェーン間での資産の移動を行いたい場合に、集権的な取引所やBTCなどの通貨を介する必要性が出てきます。 さらに、これは利用者やチェーンの数が増えれば増えるだけ指数関数的に利便性を損ない続けていく結果になります。 これらの問題をメインチェーン上で解決しようとすると、新たな機能を実装しようとするたびにフォークを行う必要があり、これは非常に不便です。 ここで、異なるチェーン間での相互運用性やスケーリング、その他機能の補完をそれらのメインチェーン以外の場所で、プロトコルとして標準の規格を作ることで解決していこうというのがこのクロスチェーンプロトコルの意義になります。 Cosmos(コスモス)の特徴 Cosmosはビジョンとして"Internet of Blockchain"を掲げており、インターネットのように誰もが簡単に開発に参加することができ、スケーリング+相互運用性を実現することを目指しています。 CosmosはTendermintに搭載されたメインチェーンに平行的な複数のチェーンにより成り立つ分散型のネットワークとして機能します。 各チェーンにおける合意形成は、Tendermintにより2014年に開発された、PoSをベースとする一方で、Nothing to Stake問題を解決した『BFT(Byzantine Fault Tolerance)』が採用されています。 BFT(Byzantine Fault Tolerance)とは? ビザンチン故障に対しての耐性を持つ合意形成モデルです。合意形成の際にビザンチン故障を起こしたValidator(検証者)の閾値を定めておくことで一部で故障が起こっても問題なく合意形成ができるようになります。 また、Ethereumにおいてノードはすべてのトランザクションを検証していましたが、Tendermintの提供するBFTを採用する各チェーンではSharding(後述)を利用しているため、より効率的で素早い承認を得ることができ、TPSは4,000程度まで対応しているようです。 今年2018年の4月にはICOも行われましたが、17,000,000USDのキャップはわずか27分で達成されたことからも、このソリューションに対する期待度の高さを伺うことができます。 Cosmos(コスモス)の設計 上述の通り、Cosmosは様々なブロックチェーンに対して平行的なスケーリング、相互運用性を付与するネットワークとしてのソリューションを提供します。 この設計が少し複雑なので可能な限りわかりやすく説明していければと思います。 Cosmos(コスモス)と既存のブロックチェーン 上の画像の中心にあるHubと呼ばれるブロックチェーンこのシステムの根幹をなすブロックチェーンで、Cosmosにおいても初めて形成されたのがこのCosmos Hubになります。 このHubはMulti-Asset Distributed Ledger(マルチ資産対応ブロックチェーン)として機能します。 イメージ的には、このHubの周りにはZoneと呼ばれる、様々なコインやトークンのブロックチェーンが存在し、Hubを介することによって各Zone同士のやり取りができるようになります。 上述したShardingのイメージを思い浮かべていただくとわかりやすいと思いますが、Hubは各ブロックチェーンの最新ブロックの情報を各Zoneから受け取ることによって総供給量などの整合性を保っています。 これはHubだけでなくZone上でも機能することができ、例えば一つのZoneでTPS以上のやり取りが発生している場合、上の画像のように、一つのZoneに平行的な同一のZoneを作成することができます。 Zone-AにTPS以上のトランザクションが発生した場合にAaとAbのZoneにこれを分担させることができる感じです。マークルツリーのモデルとかと似ています。 この分担はBFTを合意形成のアルゴリズムに利用している上、理論上無限に作成することができるので非常に強力なスケーラビリティ問題へのソリューションとなり得ます。 更に、様々なブロックチェーンを接続することのできるハブとして標準規格的な機能を果たすCosmosのネットワークが存在することで、各ブロックチェーン同士の機能の統合(互換性の付与?)もフォークという形を取らずに行うことが可能になります。 例えば、BitcoinのトランザクションとEthereumのトランザクションの間に共通のHubを通すことで互換性が生まれるので、RootstockのようにBitcoinにスマコンを搭載させるようなことも可能になります。 Cosmos(コスモス)のトークン【Atom】について 上で軽くICOが行われたことについて言及しましたが、ここでCosmosのトークンであるAtomやその他エコシステム内で利用されるトークンの使い道に関しても触れておきたいと思います。 現在、CosmosのトークンであるAtomは取引所における扱いがないため購入することができません。このトークンを手に入れたい場合、Cosmosネットワークのローンチや取引所への上場まで待っておく必要があります。 2017年4月に終了した資金調達に参加した人々向けにAtomの分配が行われたようで、こちらをチェックしても2017年4月で調達が終了していることがわかると思います。 Cosmos(コスモス)におけるAtomトークンのユースケース CosmosのトークンであるAtomの使い道を以下に簡単にまとめておきます。 Atomの使い道 全体の流通量に対する保有量に応じた新規ブロック生成の提案権(Proposer) 新規ブロック生成の提案に対する投票権(Validator) ValidatorやProposerの不審な挙動に対するAtom没収のペナルティ ネットワーク内(Zone⇄Hub⇄Zone)での手数料 通常のPoSのモデルと同様に、HubやZoneに預け入れられているトークン保有量がStakeの割合を決める感じになっています。 また、悪意のあるアクションを起こした人間に対して罰がなかった従来のPoSにおける『Nothing to Stake問題』を解決しており、悪意のあるアクションが確認された場合はデポジットされているAtomが没収される形となります。 このようにAtomはネットワーク維持のインセンティブとして主な役割を果たします。 Cosmos(コスモス)における【Photon】のユースケース 一方で、Photonと呼ばれるトークンもCosmosのネットワークでは利用されます。 Photonの使い道 ネットワーク内(Zone⇄Hub⇄Zone)での手数料 ここで、なぜAtomで手数料を支払うことができるのにPhotonというトークンが存在するのか、という疑問を抱くと思います。 手数料にAtomではなくPhotonを採用することには、Atomの流動性を下げる意図があります。 Atomを手数料としてメインで採用された場合、トークン自体の流動性が増し、ZoneもしくはHubにおいてAtomの入手可能性(取引所などで安値で購入される可能性)が増え攻撃に対して脆くなってしまいます。 そこで、Photonを手数料の用途のみ(Stakeとは別で)のトークンとして導入することで、市場でAtomトークンを入手しづらい状況にあえておくことで、Validator(承認者)の安定(=ネットワークの堅牢性)を高めることができます。 このようにAtomトークンだけでなく手数料用にPhotonトークンを導入することで、更にネットワークが強力なものになると考えられます。 Cosmos(コスモス)と他の競合との比較 本記事では、クロスチェーンプロトコルとしてCosmosを紹介し、その役割の一つとしてスケーラビリティ問題の解決が挙げられているので、クロスチェーンプロトコルの競合であるPolkadotとの比較を行っていきたいと思います。 両者が捉える問題と対するソリューション CosmosとPolkadotは一見すると両者とも、ブロックチェーンのインターオペラビリティ(相互運用性)とスケーラビリティ問題にたいするソリューションとして考えることができます。 しかし、これら2つのプロジェクトが問題として捉える部分は異なっています。 Cosmosは、既存のブロックチェーンが適用されている形、例えばPoWの合意形成アルゴリズムやそれぞれのブロックチェーンの乏しいパフォーマンス(スケーラビリティ)、またEthereumのガバナンスなどを問題視しています。 しかし、現状ではこれらを改善する手段として代表的なものはフォークを行うことや、新たなコインを創り上げることでしか達成することができず、非常に非効率的です。 Cosmosはこれらの問題へのソリューションとして新たな切り口でクロスチェーンプロトコルという形の標準規格を創り上げることでアプローチを図ります。 一方で、Polkadotは現状でもブロックチェーンの技術は素晴らしく約束されているものだと考えます。 しかし、Polkadotのホワイトペーパーによれば、Cosmosではサイドチェーンを利用した資産のやり取りは可能である一方でデータのやり取りが難しいとしており、資産だけでなくデータのやり取りも可能にするというのがPolkadotになります。 技術面での比較 スケーラビリティ問題 これに関しては両者とも、現状ノードは全てのトランザクションを検証する必要がある点を非効率的と捉え、検証を分割させるソリューション(シャーディング)を採用している点は非常に似ていると言えます。 TPSに関して、Polkadotは1,000TPS程度と言われている一方で、Cosmosは4,000TPS程度と言われています。しかし上述の通り両者ともにシャーディングを採用していることから一概にCosmosが優れているということではなさそうです。 セキュリティ CosmosではPoSをベースにしたBFTを採用しており、Cosmosにおいては2/3以上の各Zoneでのビザンチン故障がない限り安全であるとしています。 一方で、PolkadotではNominated PoSというアルゴリズムをベースとしたBFTを採用しており、Stakeの多少にかかわらずすべての人間が公平に合意形成をする機会を得る可能性があること、またゲーム理論的に悪意のある人間がStakeを失う仕組みから安全であるとしています。 インターオペラビリティ(相互運用性) CosmosではHub同士が同様の合意形成アルゴリズムで無数にやり取りをすることができるようですが、PolkadotではEthereumなどの他のチェーンと交信する役割を果たすHubに該当する存在はブリッジチェーンと呼ばれます。 Cosmosにおいてそれぞれの異なるZone(ETH ZoneやZcash Zone)とのやり取りはHubのIBC(Inter Blockchain Communication)により一括して行われますが、Polkadotの仕組みですと、最終的な合意形成はオリジナルのメインチェーンに合わせたものが採用されていくようです。 結論 色々比較していきましたが、CosmosとPolkadotの違いはチェーン間で何のやり取りにフォーカスをしているかという部分と言えるでしょう。。 両者ともプロトコルとしてブロックチェーン同士をそれぞれの方法で繋ぐという点は変わりませんが、資産の数値を安全にやり取りすることに比重を置いているCosmosと、ScalabilityとIsolatabilityに比重を置きstateのやり取りを可能にするPolkadotという感じでしょう。 まとめ EthereumのVitalik Buterin氏がよく口にするCosmosですが、いろいろ調べてみた結果他のスケーラビリティ問題に対するソリューションと比べ物にならないほどのポテンシャルを感じました。 公式サイトのロードマップを見ると、Cosmos HubやSDKなど、それぞれの進捗は80%を超えていてこれからの実装にも十分期待ができるプロトコルだと思います。 また、インターオペラビリティ(相互運用性)は個人的にもアツい分野だと考えているので、CosmosだけでなくPolkadotやAionなども是非注目していきたいですね。 読了ありがとうございました。
技術
2018/05/29【初心者向け】仮想通貨(ブロックチェーン)におけるコンセンサスアルゴリズムとは?
こんにちは、ぼにふぁ(@bonifasan)です。 近頃、仮想通貨の盗難事件などが発生する中、コンセンサスアルゴリズムという言葉をよく耳にするようになりましたよね。 こちらのページでは、コンセンサスアルゴリズムの概要と種類についてまとめています。 ブロックチェーンにおいて非常に重要な仕組みですので、是非最後までご覧ください。 仮想通貨(ブロックチェーン)のコンセンサスアルゴリズムとは? コンセンサスアルゴリズムとは、ブロックチェーン技術の非常に重要な仕組みの一つで、合意形成ともいわれます。 ブロックチェーン技術(分散型台帳技術)は、ネットワーク上の様々なノードのもとにデータを分散的に記録する仕組みです。 銀行のような中央管理者がいないので、ネットワーク上のノードが取引の承認、つまりはその取引が正当なものであると認める作業をしています。 銀行のように中央管理者がいれば、その管理者が取引の承認作業を行う、ただそれだけの話です。 しかし、ビットコインはその承認作業がネットワーク上の多数のノードに分散されています。 このように承認作業が複数の人に分散されていると、ノードAは取引を承認したが、ノードBは取引を否認(正当なものではないと判断)した、ということが生まれてしまいます。 そこで、正しく合意が形成されるように生み出された仕組みが、コンセンサスアルゴリズムです。 かつてブロックチェーン技術は分散型ゆえに、ビザンチン将軍問題の発生が懸念されていました。 ビザンチン将軍問題 参加者間で合意を形成することができず、トラブルが発生すること。 ブロックチェーン技術では、このコンセンサスアルゴリズムにより’’取引を「誰が」「どのようにして」承認するか’’が明確に定められているため、トラブルなく取引が承認されるのです。 仮想通貨のコンセンサスアルゴリズムの種類と比較 PoW PoS DPoS PoI PoC 基準 仕事量 保有量 投票 重要度 特定のノード メリット データ改ざんに強い PoWのデメリットを改善 民主主義的側面がある 流動性の向上 承認スピードの向上 デメリット 電力の大量消費 51%攻撃 流動性の低下 経済的不平等 中央集権的になる恐れ 不完全な経済的平等 中央集権的 主な採用通貨 BTC・BCH・LTC ETH・ADA・XP LSK・EOS XEM XRP ※ETHは2018年にPoWからPoSに移行予定で現在はPoWを採用 PoW(Proof of Work)の仕組みを解説 まずは一番基本となるPoWについて理解しておきましょう。 PoW(Proof of Work)の概要 PoWとはProof of Workの略で、約10分間に及ぶ膨大な量の計算処理を最初に成し遂げたノードを取引承認者とするコンセンサスアルゴリズムのことです。 ぼにふぁ PoWは仕事の量によって承認するノードが選ばれるんですね! PoWにおいて、この承認にかかる及ぶ膨大な量の計算処理のことをマイニングといい、マイニングを行い報酬を受け取る人をマイナーといいます。 PoWは、この膨大な量の計算処理を一番早く成し遂げた人が承認者となる仕組みであるため、データを改ざんするのが難しいという特徴があります。 不正な取引を承認する、つまりデータを改ざんするためには、他の多くのマイナーよりも早く膨大な計算処理を済ませなくてはならず、それにはマイニング機材や電気代といった膨大なコストがかかります。 PoWでは、このように膨大な計算処理を承認作業に用いることによって、改ざんに強くしているのです。 PoWの問題点・デメリット コンセンサスアルゴリズムでは非常に代表的なPoWですが、デメリットがあります。 マイニングに膨大な電気を要すること 先ほど述べたように、PoWは仕事の量によって合意が形成される仕組みですので、マイナーは取引の承認し報酬をもらうため性能のいいコンピュータを使って膨大な電気を使いマイニングを行います。 電気を大量消費することは、月々の電気代が高額になるだけでなく、地球環境にも非常に悪影響を及ぼします。 昨今、仮想通貨マイナーによる電力消費は国際問題にまで発展しており、大きなデメリットといえます。 51%攻撃へのリスクがある 先ほど、PoWは改ざんに強いと述べました。 PoWは仕事の量によって合意が形成される仕組みであるため、不正な取引を承認したいユーザーは、世界中の強力なマイナーがする仕事量を上回らなければなりません。 しかし、ビットコインなどはともかく、他の有名ではない通貨ではそもそも他のマイナーが強力ではなく、膨大なコストをかけずにハッシュレートの過半数を占めることができてしまう場合もあります。 ある特定のノードがハッシュレートの過半数を占めてしまえば、そのノードが取引を承認することになるので、不正な取引を承認も承認できてしまうわけです。 このような問題を、過半数つまり51%以上を占めることから、51%攻撃といいます。 これらのデメリットがあることから、ETH(イーサリアム)は2018年にPoSへの移行を予定しています。 PoWを採用している代表的な通貨BTC・BCH・LTC・ETH(2018年にPoSに移行予定)など PoS(Proof of Stake)の仕組みを解説 先ほど述べたように、PoWには問題点がいくつかあります。 以下ではそのPoWの問題点を改善したコンセンサスアルゴリズムを紹介します。 PoSの概要 PoSとはProof of Stakeの略で、その通貨の保有量が多ければ多いほど、取引を承認できる仕組みのコンセンサスアルゴリズムです。 ぼにふぁ PoSは保有量によって承認するノードが選ばれる! PoSは、通貨の保有量によって承認をするノードが決まるため、PoWのように電力を大量に消費することはありません。 また、PoSは承認に膨大な計算作業を必要としないため送金スピードが比較的早いという特徴もあります。 PoWのデメリットであった51%攻撃へのリスクですが、PoSでは通貨の51%を保有する必要があり、ハードルが非常に高くなっています。 また、データが改ざんされるとその通貨への信用問題にかかわるため価格が下落します。 PoSでは、たとえ51%以上を保有しデータを改ざんできたしても、被害を受けるのは51%以上も保有している自分であるため、データ改ざんのメリットがありません。 このように、PoSはPoWの抱える沢山のデメリットを解決しているのです。 ぼにふぁ ここまで聞くとPoSは非常に優秀な仕組みであるように思うかもしれませんが、、、 PoSの問題点・デメリット PoWのデメリットを解決しているPoSですが、メリットばかりではありません。 流動性が低下してしまう PoSは、保有量で承認をするノードが決まるため、保有者は取引を承認し報酬を得ようと通貨を貯め込むことになります。 これにより市場に出回る通貨の量が少なくなるため、通貨の流動性が低くなってしまうのです。 経済的に不平等である PoSは、通貨を多く保有する人が承認をするため、承認の報酬も通貨を多く保有する人が貰うことになります。 簡単に言えば、お金持ちがさらにお金持ちになる仕組みなのです。 PoWは高性能なコンピュータを使い、電力を大量に消費して承認を行う仕組みでした。 これも、言い換えれば’’高性能なコンピュータを沢山揃え、高額な電気代を支払うことのできるお金持ち’’がさらにお金持ちになれる仕組みです。 このように、PoWとPoSは資金力がある人が得をするという経済的に不平等な仕組みという一面があるのです。 PoSを採用している代表的な通貨ETH(2018年に移行予定)ADA・XPなど DPoS(Delegated Proof of Stake)の仕組みを解説 コンセンサスアルゴリズムの中には、日本の選挙制度のような仕組みをとったものもあります。 DPoSの概要 DPoSとはDelegated Proof of Stakeの略で、保有量によって投票する権利が与えられており、その投票で選ばれたノードが承認を行うコンセンサスアルゴリズムです。 ぼにふぁ DPoSは投票によって承認するノードが選ばれる! DPoSは、簡単に言えば選挙で承認するノードを決めるアルゴリズムです。 PoSでは先ほど述べたように、通貨の保有量によって承認をするノードが決められていました。 しかし、DPoSでは保有量によって投票する権利が与えられる仕組みです。 通貨を保有している人には投票権が与えられており、通貨所有者の中で承認者に立候補している人を選び投票します。 その選挙ではあらかじめ決められた人数のみが当選し、その選ばれたノードのみが承認者となり報酬を得られる仕組みになっているのです。 DPoSはこのように選挙で承認者を決めることから、民主的な仕組みであるといわれます。 取引を承認をするまでの流れには多くの保有者が関わっていますが、実際に取引を承認するのは選挙で選ばれたごく少数のノードです。 そのためDPoSは、PoWのように膨大な計算処理をして承認者を決めるわけではないため、承認スピードがはやいというのも魅力のひとつです。 DPoSの問題点・デメリット 中央集権的になる恐れ 先ほど述べたように、DPoSは民主的で、承認もスムーズとメリットは多いです。 しかし、取引を承認する選挙での立候補者たちが裏で徒党を組んだり、通貨を大量に保有する人が集まって独裁的に立候補者を選出したりすれば、不正な取引を承認、つまりデータを改ざんできてしまいます。 このように、民主的な仕組みではあるものの、中央集権的に承認をコントロールする危険性を消し切れていないのも覚えておく必要があります。 PoI(Proof of Importance)の仕組みを解説 PoWやPoSは非常に経済的に不平等なコンセンサスアルゴリズムであるため、PoIでは経済的平等が目指されました。 PoIの概要 PoIとはProof of Importanceの略で、ネットワークへの貢献度によって承認を行うノードが選ばれるコンセンサスアルゴリズムです。 ぼにふぁ ネットワークへの貢献度って? このネットワークへの貢献度というのは具体的には、その通貨の保有量や取引回数などのことです。 通貨を多く保有することや、積極的に取引に参加することがネットワークへの貢献となっている、つまりはImportance(重要性)があるというわけです。 この仕組みにより、コインの流動性が高まることが期待できます。 また、PoWやPoSに比べて少額しか通貨を持たない人も報酬を得ることができ、比較的平等といえます。 PoIの問題点・デメリット 不完全な経済的平等 PoIは通貨の保有量や取引回数のよって貢献度が決まります。 たしかに、通貨を少額しかもっていなくても報酬は得られます。 しかし、貢献度に保有量が関係しているのは事実で、保有量が多ければ取引を承認できる確率は高くなり、報酬を得られる確率も高くなります。 PoIは悪く言えば不完全な経済的平等であるというのも覚えておかなくてはなりません。 PoIを採用している代表的な通貨XEM PoC(Proof of Consensus)の仕組みを解説 今まで紹介してきたコンセンサスアルゴリズムは、どのノードが承認者になるかがまちまちでした。 しかし今度は、一風変わった仕組みのコンセンサスアルゴリズムです。 PoCの概要 PoCとはProof of Consensusの略で、事前に信用のできる承認者を決めており、その承認者の80%が有効と認めた取引のみを承認するコンセンサスアルゴリズムです。 ぼにふぁ 非中央集権の仮想通貨には珍しい仕組みですね! PoCのメリットはやはり承認スピードが速いことです。 ブロックを承認するノードが決まっているため、不特定多数のノードが承認する権利を争う必要が無いからです。 また、いい加減なノードに承認を任せているわけではなく、承認は信用のおける組織が行っています。 PoCの問題点・デメリット 中央集権的である 承認者が事前に決まっていることで承認スピードが非常に早いのがメリットではありますが、その一方で中央集権的であるともいわれます。 しかしながら、信用のおける組織に承認をさせることで、安定したネットワークが構築できるとプラスに捉えることもできるのです。 PoCを採用している代表的な通貨XRP コンセンサスアルゴリズムまとめ 今回は、仮想通貨におけるコンセンサスアルゴリズムについて解説しました。 コンセンサスアルゴリズムは、ブロックチェーン技術において非常に重要な仕組みの一つになります。 ブロックチェーン技術についてもっと知りたいと思った方は、ぜひCRYPTO TIMESの他の記事も読んでみてください。 ぼにふぁ 以上、ぼにふぁ(@bonifasan)でした。ご覧いただきありがとうございました。