技術
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)でした。ご覧いただきありがとうございました。
技術
2018/04/21Ethereum(イーサリアム) ERC721の特徴は? ERC20やERC223との違いを徹底比較!
こんにちは!Shota(@shot4crypto)です。 多くのプロジェクトがイーサリアムのERC20と呼ばれる標準の規格でトークンを発行しますが、これに続き新たにERC223やERC721といった規格が開発されています。 今回は、このERC721という規格が他のERC20やERC223とどのような部分で異なるのか、ERC721の特徴などを解説していきたいと思います。 dAppsゲームなどでも利用されることが多い規格なので、是非頭に入れておいて下さい。 スマートコントラクトには規格がある Ethereum(イーサリアム)のスマートコントラクトにはERCと呼ばれる標準規格が存在します。 このERCとはEthereum RFC(Request for Comment)の略のことで、この後ろにつく番号は単純に規格の種類を表します。 数字が大きければ、必ずしもそれが過去の規格をアップデートして優れた性能を持つわけではないというわけではなく、数字によって異なる特徴を持つ点に注意してください。 現在では、大半のトークンが2014年に開発されたこのERC20を標準規格として採用しています。 その後2017年3月5日に、ERC20のいくつかの問題を解決したERC223が開発されました。 ERC223に関しては以下の記事を参照してください。 関連記事:Ethereum(イーサリアム)のERC20を解決したERC223とは何か? その後2017年9月に登場した新たな規格がERC721になります。 ERC721とは?用途や特徴を解説 このERC721という規格ですが、ERC223と違いERC20における問題を解決するために作られたものではありません。 以下に説明する非代替性などの特徴から、既存の規格における問題を解決するというよりは、別のベクトルでスマートコントラクトに新たな可能性をもたらす規格として作られたと考えるのが妥当です。 ERC721の特徴である非代替性とは ERC721はNFT(Non-Fungible Token)と呼ばれ、それぞれのトークンが固有の希少性や独自性などを持つことができるように設計されています。 『Fungible』とは『代替性を持つもの』のことを意味します。 例えば、友人から100円を借りたとして、それを返すとき100円を渡すことで貸し借りが成立するのは、通貨が持つ『価値の保存』、『価値の尺度』、『交換の手段』の3つがFungibility(=代替性)となり、借りた100円と返す100円が同じ価値を持つためです。 NFTという性質を持つERC721では、トークンがそれぞれが独自の価値(例:レア度、所有権など)を持つために、『AがBにトークンを渡し、3日後にBがAにトークンを返す』といった交換が成立しない可能性が出てきます。 次にこれがなぜ成立しないのかを具体的な用途を交えて解説します。 ERC721の用途 このNFTという性質のために、トークンは主にDappsゲームなどで利用されています。 例えば、CryptoKittiesやChain MonstersなどのDappsにおいて、プレイヤーは自身の猫の育成や交配、モンスターのレベルや世代が独自の価値を生み出すため、マーケットプレイスでは様々な特徴を持った猫やモンスターが売買されます。 上に述べた『AがBにトークンを渡し、3日後にBがAにトークンを返す』といった交換が成立しないのは、モンスターの性質(レベルなど)が変化することで、同等の価値を保つことができなくなるためです。 したがって、この規格は決済手段などとして使われる通貨を目指すマイクロペイメントなどのトークンというよりは、どちらかというとDappsの主にゲームにおいて、育成要素などを付与する際に使われることが多くなります。 ERC721の将来性 育成要素のあるDappsゲームにおけるこの規格の採用はこれからも増えていくと考えられますが、その他の場合だとどのように採用されていくのでしょうか? 僕個人としては、現実的なモノやサービスと連動するのではないか、と考えています。 ERC721の採用例を2つほど挙げさせていただきます。 音楽ライブでのチケット購入 音楽ライブにおいて、座席やライブまでの日付により価格が変動するチケットはERC721の採用により、マーケットプレイスにおいて相対的な価値で公正に主催者のプラットフォームのもとでチケットが売買される環境を構築することができます。 スマートコントラクトにより、主催側のプラットフォーム以外でこれが売買される(現在でいうダフ屋など)場合、このトランザクションを成立させないことも可能になります。 Webサービスにおけるイノベーション 例えば、自身の価値を形にできるWebサービス(タイムバンクやVALU)において、例えばXYZトークン(XYZ)に識別可能な3つの特徴(Aフォロワー数, B秘密鍵, C平均RT数, Dサービスプラットフォーム内での評価)を検出するスマートコントラクトが書いてあるとします。 このときERC721を使ったXYZを僕が発行(プラットフォームから購入)した場合、フォロワーは300人、秘密鍵、平均RT数、プラットフォーム内の評価などから相対的なトークンの価値が算出され、これはリアルタイムで変動します。 仮にきゃんた君がXYZを発行(プラットフォームから購入)した場合、フォロワーが6000人いるのでこのときのXYZトークンの価値は相対的に僕のXYZトークンより高くなります。 これはあくまでも簡単に考えた例でしかないので現実的ではないかもしれませんが、より洗練されたインプットデータを入力することで、正確に公正に価格を設定することが可能な、こういったサービスが登場するかもしれません。 まとめ この記事ではERC721を、ERC20やERC223との機能面や用途に関しての比較という形で紹介させていただきました。 Dappsゲームは、勝ち負けをこだわる際にこういった非代替性が必要不可欠になってくるので、これからはよりERC721を採用したトークンを目にする機会が増えると思います。 要注目です!
技術
2018/04/19ビットコイン + スマートコントラクト RootStock(ルートストック) / RSKとは?
Crypto Times公式ライターのYuyaです。 2008年に登場し、その革新的なテクノロジーで仮想通貨市場を作り上げたビットコイン。 その後2015年に登場したのがイーサリアム。スマートコントラクト機能がブロックチェーンの応用・実用性を飛躍的に向上させました。 ビットコインには価値貯蔵(Store of Value)としての市場最高の知名度・信用があるものの、使いやすさの面ではイーサリウムを始め毎日のように生み出される他のプロダクトに劣るようになりました。 そこでビットコインにスマートコントラクトの機能をつけることによって、ビットコインの通貨としての普及を広めようとしているのがRootStock(ルートストック)です。(以下、RSKとする) 今回は、RSKのプロジェクト内容や魅力について詳しく書いていきたいと思います。 RSKプラットフォームの魅力 それでは、RSKにはどのような特徴があって、何故、今、注目される魅力的なプロジェクトなのでしょうか? RSKにはスマートコントラクトやビットコインとのサイドチェーン、マージマイニングなどなど、たくさんあります。一つ一つ見てみましょう。 RSKバーチャルマシン (RVM) スマートコントラクトの要となるバーチャルマシン。 イーサリアム・バーチャルマシン(EVM)と互換性があるため、イーサリアムのスマートコントラクトがRVM上で円滑に機能するようにできています。 つまり、RSKプロジェクトによってイーサリアムユーザーもビットコインのネットワークの安全性を享受することができる、ということになります。 BTC-RSKサイドチェーン サイドチェインとは、「ツーウェイペグ」とも呼ばれ、ある通貨の価格がもう一つの通貨に連動していることを示します。 RSKの場合、ビットコインとRTC(RSK側の通貨)が1:1で連動しています。 仮に10BTCを両替するとしましょう。 ここでは実際にBTCがRSKに"両替"される訳ではありません。ビットコイン側で10BTCが凍結され、RSK側で10SBTC(Smart Bitcoin, RSK側の内部通貨)がアンロックされます。 逆のトランスアクションを同じで、10SBTCが凍結されると取引先の10BTCがアンロックされる、という寸法です。 マージマイニングとフェデレーション RSKでは、ビットコインとRSKのネットワークを同時にマイニングすることができます。 大まかなフローとしては、マイナーはユーザーのBTC-SBTC間の両替の手数料をSBTCで受け取ることができ、更にそれをBTCに1:1のレートで変換できる、ということになります。 このBTC-SBTC間の変換は前述のツーウェイペグで行われるものですが、RSKはここにフェデーレションというセキュリティチェックポイントを置き、安全性を高めています。 フェデレーションとは学術的権威やエキスパートで構成されたチームで、RSKのハッシングパワーが一定以下になった場合にチェックポイントとして介入することになっています。 フェデレーションのメンバーはマイナー、ユーザー、RSKおよびビットコインのデベロッパー、ビットコイン関連の非営利団体などの投票によって決められるそうです。 効率的ネットワーク RSKではDECOR+やGHOSTといったプロトコルを使用することにより、ネットワークの効率化を図っています。 ビットコインの問題であった決済のスピードを改善し、1トランザクションあたりを10秒で処理できると計算されています。 トランザクションの速さは様々なプロジェクトで大幅に短縮されていますが、RSKはそこにビットコイン連動、スマートコントラクト搭載といった特徴があるのが優れているところだと考えられます。 まとめ RSKはビットコインに連動したブロックチェーンで、スマートコントラクトが使えるプロジェクトということでした。 つまりビットコインにスマートコントラクトの拡張機能を付け加えたようなものですね。 それだけではなく、マージマイニングでビットコインとRSKの両方のネットワークを同時にマイニングでき、フェデレーションが追加のセキュリティチェックポイントになるので安全性も高い訳です。 その上にネットワークの高速化もなされているので、ビットコインの実用性をあげること間違いなしですね! ビットコインにスマートコントラクトがついちゃうのは強すぎるっ!!
技術
2018/03/06Ethereum(イーサリアム)のERC20を解決したERC223とは何か?
どうも、カリフラです(。・ω・。) 今回がCRYPT TIMES公式ライターとしての記念すべき1発目の投稿となりますが、これから読んでいただいている方に分かりやすく、そして楽しんでいただけるように頑張りますのでよろしくお願いします。 それでは早速ですが今回は、ERC20の進化版!?これから需要がさらに伸び話題になっていくであろうERC223とは? というテーマについて説明しながら私個人の見解も交えつつ進めていこうかなと思いますので是非最後まで読んでいただけたらなと思います。 ERC20とは まず最初に、「てかそもそもERC20ってなんなの?」って方向けにERC20について少し説明していきますね。 ERC20というのは皆さんご存知イーサリアムのシステムのことであり、このERC20のシステムを使うことによってイーサリアムのブロックチェーン上に容易にトークンを発行することができます。 現在、イーサリアム上で発行されているトークンの多くはERC20というシステムに従って発行されています。 ERC とは「Ethereum RFC (Request for Comment)」の意味で、その20番目なのでERC20と命名されており、私たちがよく知っているトークンだとOmiseGo、そしてAugurなどがERC20のシステムを利用したトークンとして挙げられますね。 他にもICOをしているトークンでイーサリアムのブロックチェーンを利用しているものは現状ERC20に準拠しているトークンがかなり多いと言えます。 ERC223の特徴 はい、ということでERC223についてお話していきます。 ERC223とはすごくザックリ言うと「ERC20の改良版」です! どういうことかと言うと、大きく分けて2つほど良くなった点があって1つ目は送金の際に必要なGASがERC20の時よりも少なくて済むという点です。 イーサリアムを送金する際にはその燃料となるGASが必要なのですが、必要なGASの量が少なくても動きますよってことですね。 車で例えるなら燃費が良くなったので、少ないガソリンでもいっぱい走りますよーって感じです😊 そして2つ目が、送金先のアドレスを間違えても大丈夫という点です。 現在ERC20のシステムの場合イーサリアム(ETH)やイーサリアム上のトークンを送金する際に送金先のアドレスを間違えて送ってしまうとそのトークンは消滅してしまいます。(正確には消滅というより存在しないアドレスに送られるといった感じでしょうか。) 送金先のアドレスを間違えて「セルフゴックスしちゃった。」なんて話もよく聞きますよね...。実際に日本円にして3億円以上のトークンが闇に葬られてしまっているんです😢 今のご時世、電話ですら番号を間違えたら「おかけになった電話番号は現在....」ってちゃんとお知らせしてくれるのに最新技術であるブロックチェーンがこれではきついですよね(>_<) しかしERC20の上位互換と言われるERC223のシステムを利用した場合、送金先のアドレスが存在しなかった場合は送り主に返還されるのです。 これは送り主が送金先のアドレスを入力し、「送金」を申請するとそのアドレスが存在するのか事前に確かめて確認が完了できたらそのトランザクションの実行が開始されるというわけですね。 このERC223のシステムが導入されることで、「このアドレスで合ってるよな?コピペミスってないよな?ミスってたら100万円消えるぞ....。あと100回は確認しよ!!!」って感じで気づいたら朝になってたなんてこともなくなるわけですね♪ 技術面 じゃあ「どのようにしてERC223のシステムを導入するの〜?」っていう技術的な話なんですけど、システムを変えたり今回のように改良する場合、もちろん「た、たのむ...改良されてくれ....」って念じても何も改良されないわけで、 そうなんですよ。あのヴィタリックの力を持ってしても祈るだけじゃ何も起こらないんすよね。 なのでエンジニアの方がコードを書く(プログラミングする)ことでシステムが変わるわけなんですが、プログラミングをするのにも言語というのがありまして、Java・Java Script・Go言語・C++・pythonなどさまざまで、今回のイーサリアムの場合は「Solidity」というちょっと珍しい言語を使っています。 (SolidityはJava Scriptと似ているので案外いけたりするみたいですが) それで、今回のERC223の話に戻ると、例えば今まで(ERC20の場合)は送り主が10ETHを「送信」ってやると送金先のアドレスを確認せずに手動で、「おっけー。トランザクション開始」って感じのシステムだったのですが、ERC223の場合はそこの手動の作業を自動化することで送金のアドレスに誤りがないか確認された上でトランザクションが開始されるといった感じです。 今後とまとめ とまあこのような感じで、イーサリアムの次の段階でもあるERC223について特徴などご紹介してまいりましたが、冷静に考えると送金先のアドレス(住所)を間違えるとそのトークンを紛失してしまうという状況って結構やばいですよね。 まあ私の友人で、「大学受験の際に住所を間違えて違う大学に受けにいってしまってテストに遅刻した」なんていうほんとにやばいやつもいましたが...。 それは置いといて、これからまだまだイーサリアム上でICOをするというのは主流でありそういったトークンは出てくると思います。 そういった際にやはり既存のERC20を使うトークンは少なくERC223を使ってICOをすることが増えていくだろうと思います。 また、管理方法に関してはERC20とERC223は同一のイーサウォレットで管理することができるので便利だと思いますね。 そして、イーサリアムはEC223以外にも 「フロンティア」→「ホームステッド」→「メトロポリス」→「セレニティ」とアップデートを続けており、これからも欠点であると言われている点が改善されていくことでしょうし楽しみな銘柄ですね。(2018年2月現在は3つ目のメトロポリスの途中) それでは今回はこのへんで終わろうと思います。最後まで読んでいただきありがとうございました(*・ω・)ノ