ETHEREUM

【相場】イーサリアム チャート6月15日価格推移

【相場】イーサリアム チャート6月15日価格推移

2018/06/15 at 5:13 PM 0 comments
6月15日(金)現在、時価総額2位のイーサリアムの価格、イーサリアムチャート、ETH/USDやETH/BTCに関する今後の相場/価格/レート推移について、チャート分析を基にしたイーサリアムフォーキャスト(予想/予測)レポートです。 6月14日予測:ETH、$500.00レベル以上維持できるか? ETH価格はUSD、BTCに対し大きく回復しました。ETH/USDがさらに回復するには$500.00レベル以上に留まる必要があります。 ETH価格分析 ETHは昨日の弱気な状態から一転して、大きく上昇することに成功しました。ETH/USDは$450.00レベルが強いサポートとなり、$500.00以上へ上昇することに成功しました。 ETH/BTCは00750BTCピボットレベルを超えることに成功し、現在0.0800BTCに向かって上昇していると考えられます。 【ETH/USD2時間足チャート】 ・ETH/USD2時間足チャート上、$490.00~500.00付近で強いレジスタンスをブレイクしました。 ETH/USD2時間足チャートを見ると、$460.00でサポートが形成されていることがわかります。強い下降トレンドにより、$460.00~450.00のサポートゾーンがブレイクされる可能性も危惧されました。しかし、$460.00付近で大量の買い注文が入り、1本のロウソク足で下降トレンドラインと$500.00レジスタンスを超えることに成功しました。 【ETH/USD30分足チャート】 ETH/USD30分足チャートに移ると、$450.00付近まで下落した後、緩やかな上昇トレンドラインが形成されたことがわかります。上昇トレンドラインはブレイクされましたが、$460.00付近でサポートされ短時間で$520.00まで上昇しました。 【ETH/BTC30分間足チャート】 ・ETH/BTCは0.0750BTCピボットレベルを大きく超え、0.0780BTCレジスタンスにチャレンジしました。 ETH/BTCもETH/USD同様大幅に上昇し、0.0770BTC付近で安定しています。 ETH/USD 重要レジスタンスレベル:$520.00と$550.00 重要サポートレベル:$500.00と$450.00 Forecast(予測) 上昇が急であったため、短期的には下方修正を行う可能性も考えられます。しかし$500.00レベルを下回らない限り、上昇を継続するでしょう。$520.00レベルをブレイクした場合、重要である$550.00~560.00レジスタンスゾーンをテストすると予想されます。 (リアルタイム買い圧売り圧比較 引用:https://www.tradingview.com/symbols/ETHUSD/)  
イーサリアム (Ethereum)のトランザクションはどのように承認されるのか?

イーサリアム (Ethereum)のトランザクションはどのように承認されるのか?

2018/06/15 at 2:07 PM 0 comments
はじめに 今回は、イーサリアム のトランザクションについて詳しく解説します。はじめに、トランザクションとは何かを説明し、次に二種類のトランザクションについてそれぞれを詳しく説明します。最後にユーザーが発行したトランザクションが最終的にブロックに格納されるまでの過程を追っていきましょう。ブロックに格納される過程で、トランザクションはマイナーによって検証され、不正なトランザクションは弾かれるようになっています。どのような項目をチェックして、正式なトランザクションとして認めているかについても解説していきます。   今回までの4回の記事でイーサリアム のブロックチェーンについて人に語れるくらい詳しくなれると思います。まだ読んでいない項目がある方は以下から順に読むことをおすすめします。   イーサリアム(Ethereum)のブロック構造とその仕組み イーサリアム(Ethereum)のデータ構造~マークルパトリシアツリー イーサリアム(Ethereum)における手数料Gasとは?     トランザクションとは、   wikipediaによると、トランザクションは、以下のように表現されています。 「トランザクション (英: transaction)とは、データベース管理システム(または類似のシステム)内で実行される、分けることのできない一連の情報処理の単位である。」 (引用:wikipedia トランザクション)   ここで、一連の処理とは、例えば自動販売機で飲み物を買う作業です。自動販売機で飲み物を買うときには、①お金を入れて、②飲み物を選んでボタンをおし、③飲み物を受け取る、の一連の処理を行うことで完了します。このような一連の処理の中で特に情報処理に関するものをトランザクションと呼びます。   一方、イーサリアム の場合トランザクションとは、仮想通貨やトークンの所有権の移動などの情報処理を行うためのデータのことをさします。ユーザーは外部アカウントを通してイーサリアム上でトランザクションを発行することで、マイナーがそのトランザクションにしたがって一連の情報処理をしてくれます。   また、イーサリアム のシステムのデータの変更は、全てトランザクションによって行います。   二種類のトランザクション イーサリアム(Ethereum)のブロック構造とその仕組み で解説したようにイーサリアム には、二種類のアカウントがあります。外部アカウント:EOAとコントラクトアカウント:CAの二つです。 また、トランザクションにも二種類が存在します。①アカウント間での送金やトークンのやりとり、コントラクトアカウントのコード呼び出しなどに用いるメッセージコール(Message call)と、②コントラクトアカウントを作成する場合に使うコントラクト生成(Contract Creation)です。   次節以降で、コントラクト生成とメッセージコールについて説明します。 コントラクト生成   コントラクト生成では、まずはじめにコントラクトアカウントのアドレスを設定します。以前の記事で紹介したように、コントラクトアカウントには、秘密鍵がありません。そのため、アカウントのアドレス生成の仕方がユーザーの通常のアカウント(外部アカウント)とは、異なります。 (イーサリアムアドレス生成については、イーサリアムアドレス 〜EIP-55によるチェックサムの導入〜が参考になります。) コントラクトアカウントの場合では、コントラクトアカウントを作成するアカウント(これは外部所有アカウントのみできるか? )のアドレスとnonceを組み合わせてハッシュ化することでアドレスを作ります。コントラクトを作ろうとするアカウントのアドレスは、常に同じです。しかしnonceはコントラクト生成ごとに値が異なるので、生成されるコントラクトアカウントのアドレスは全く異なる値になります。アドレスが生成されたら、そのコントラクトアカウントの初期設定をし、コントラクトに関するコードを送信することで、スマートコントラクトが実行できる環境を作ることができます。 また最終的に、Ethereum上でコントラクトのコードを保存するために使用するメモリに応じてにユーザーはGasを支払います。   メッセージコール   メッセージコールは、新たにアカウントを生成するトランザクションではなく、送金やコントラクトのコード、関数などを呼び出すときに使われます。メッセージコールで発行されたトランザクションは、マイナーによって検証されます。その後、検証されたトランザクションを元にイーサリアム のWorld State(送金の場合は、送信者と受信者のAccount State)を変更します。変更すべきアカウントは,以前の記事で解説したパトリシアツリーを用いて探します。また、トランザクションの送信者はStateが変更される際に必要なGasを支払う必要があります。 4つのmessage call   イーサリアムには、二種類のアカウントがあることは先ほど述べた通りです。つまり送信者と受信者それぞれで,2×2=4種類のメッセージコールの使い方があります。 ①は、通常のユーザー間の送金です。②は、スマートコントラクの実行などのトランザクションを表します。③は、コントタクトアカウントから別のコントラクトを呼び出す的に使われます。④は、コントラクトアカウントから外部アカウントへのメッセージや送金です。 ③のコントラクトアカウント同士のメッセージは特にインターナルトランザクションと呼ばれます。イーサリアム では、このように様々なメッセージを組み合わせることで複雑なコントラクトを処理します。   トランザクションには、何が書かれているのか   ここまで、トランザクションとは何か、トランザクションにはどのような種類があるのかがわかりました。そこで次に、発行されるトランザクションには、何が書かれているかについて見ていきます。 to トランザクションは、コインやトークンなどの所有権などの移動を行うためのデータであったので、送金する相手のアドレスが必要です。コントラクト生成の場合には、0が入ります。これが以下の図のtoに含まれます。   r.s.v 他にもそのトランザクションが誰から送られたか、さらに本当にその人が送ったトランザクションかを判定するための署名なども必要です。これは、r,s,vという値で管理されます。sの値に対して一定の処理をしたものがrに一致するかを検証することで、なりすましの送金を防ぎます。また、vの値はテストネットのETHをメインネットで使われてしまうことを防ぐのと、検証されるアドレスを一つに定めるために用いられれます。(参考;https://zoom-blc.com/what-is-ecdsa)   Gas Price・Gas Limit ・Gas priceとGas limitはマイナーへ支払う手数料に関連する変数でした。詳しくは、前回の記事を参考にしてください。   value valueは送金するETHの量です。例えば、3 etherを送金する場合は、wei表示で300000000000000000と表示されます。 nonce nonceには、そのトランザクションの発行者が何度目に発行したトランザクションであるかが書かれています。2回の送金のみを行ったことがあるユーザーの場合、次にトランザクションを発行すると、nonceには3が入ります。   init initには、コントラクト生成のときに必要なコントラクトのコードが入ります。一方、コードに関係するデータのアップデートはdataに必要な情報を入れてトランザクションを発行します。 トランザクションが実行されるまでのライフサイクル   最後に、どのようなプロセスを経てトランザクションが実行され、それがブロックに書き込まれるかについて解説していきます。   ①はじめに、ユーザーは外部アカウントを通じてイーサリアム上にトランザクションを発行します。トランザクションは、基本的にユーザーがETHを保持しているウォレットを通じて、登録されているマイナーノードにブロードキャストされます。   ②ノードに送信されたトランザクションは、マイナーによって検証されます。検証は、以下の条件が満たされているかチェックします。   1.トランザクションがイーサリアムで扱うデータ形式になっている。(RLPフォーマット呼ばれる形式になっているか検証します。) 2.トランザクションを実行するために必要なGasよりも大きなGasLimitになっている 3.送信者が、設定した手数料を支払うことができる。 4.送信者の署名が正しい。 5.トランザクションに記述されているnonceがトランザクションを発行したアカウントのnonceと一致している。   4番目の条件は、他のユーザーになりすましをした送金を防ぐ役割をします。5番目の条件は、二重の支払いや、送金の順序を正すために検証されます。ただし、トランザクションに記述されているnonceがアカウントのnonceと異なる場合があります。この場合については、③のQueued poolで説明します。   ③ ①と②までの検証が終わると、トランザクションはブロックに書き込まれる前にMempoolと呼ばれる一時的にトランザクションをためておくプールに貯められます。このプールは二種類に別れていています。Pending poolとQueued poolです。Pending poolには、②の検証でnonceが一致したトランザクションが入っています。一方、Queued poolには、nonceが一致しないトランザクションが入ります。   トランザクションを短い時間に連続して発行した場合、マイナーに順番通りにトランザクションが届かない場合があります。この場合、nonceの値が一致しないため、一旦、Queued poolへ送られます。Queued pool入っているトランザクションは、受信が遅れているnonceが一致するトランザクションが承認された段階で、Pending poolに移動されます。   ④トランザクションが実行され、実際にWorld State(Account State)が変更されます。 また、実行したトランザクションは、ブロックに刻まれます。また、実行後にどの程度Gasを消費したか、どのブロックに格納されたか、トランザクションのハッシュ値などを含めたレシートが発行されます(Transaction Receipt)。   最後に、トランザクションの結果によって変わった部分をマークルパトリシアツリーによって再計算し、それぞれのハッシュ値をまとめたRoot値をブロックに格納します。 例えば、ブロックに取り込まれたトランザクションは、マークルツリーによってTransaction Rootとしてトランサクションとは別に、ブロックヘッダーに刻まれます。 同様に、それぞれのトランザクションに対応するTransaction Receiptも上のマークルツリーでRoot値を計算し、Receipts Rootとしてブロックヘッダーに刻まれます。 まとめ これまで四回に分けてイーサリアムのマシーンの仕組みについて解説してきました。最終回は、今までの知識をフル活用することで理解できたかと思います。全四回の解説で。よりイーサリアムについて興味を持ってもらい、理解を深めてもらえると幸いです。
【β版公開】Golemの仕組みと展望〜次世代のビジネスモデル〜

【β版公開】Golemの仕組みと展望〜次世代のビジネスモデル〜

2018/05/24 at 3:08 PM 0 comments
はじめに 今回は、ベーター版がリリースされ、大手取引所のBinanceに上場したばかりのGolemについて解説します。 Golemは、パソコンの計算能力を他人にかしたり、他人から借りれるレンタルサービスです。詳しい仕組みや、機能などを以下で見ていきましょう。 Golemとは 概要 GolemはEthereum上に敷かれた分散型のクラウドコンピューティングを実現するアプリケーションです(DAPP)。普通、機械学習や、DNA解析などの高度な計算を行う場合には、計算能力の高いスーパーコンピュターなどを使わないと計算に途方もない時間がかかってしまったり、できないことが多いです。そのため、スーパーコンピュータを持たない、高度な計算を行いたいユーザーはAmazonなどのクラウドコンピューティングのサービスを使い計算などを行います。 一方、GolemではこのクラウドコンピューティングサービスをAmazonなどの管理者がいないP2Pで実現します。 具体的に説明していきます。Golemの提供するネットワークでは,高度な計算をしたい人と、ネットワーク上にいる計算リソースが余っているコンピューター所有者をつなげる事ができます。所有者の使用していないリソースを無駄なく他者に使用してもらうことができます。この事業形態は、まさにUberやAirbnbといった事業とランスフォーメションを起こしたシェアリングエコノミーの1つです。 使用しきれていないリソースを他者に提供し利益を得るモジュールを備えたアプリケーションプラットフォームがGolemなのです。 「Golem is a worldwide, decentralized supercomputer that combines the computing power of every machine on its network. In the Golem ecosystem, you can loan out your computer’s spare resources to others who need the additional power to perform complex computations and tasks. Following the same trend that led to Uber and Airbnb, this is a solid way to make some extra money with your unused and/or underused resources.」(引用:https://coincentral.com/golem-gnt-beginners-guide/) ICO Golemは.今から約1年と半年前にICOを行いました.ICOを行った結果、提供予定であった10億Golem Network Token(GNT)は即完売、約9億円を調達することに成功しました。 「そして2016年11月のクラウドファンディング(ICO)において販売された10億GNTが30分程度で完売し、当時のレートで約860万ドルもの資金調達に成功しました。」(引用:http://coinpost.jp/?p=1832#golem_overview) しかし、プロジェクト期間が4年ということで、上昇したGNT価格は低迷することとなりました。 仕組み Golemネットワークに参加するユーザーは次の3種類があります。 リクエスタ・・・Golemネットワーク上にあるマシーンの処理能力を利用する人 プロバイダ・・・Golemネットワーク上でマシーン能力を提供する側の人 ディベロッパー・・・Golemネットワーク上で計算用のアプリを開発する人 これらのユーザーがどのようにGolemのネットワークを利用していくのかのフローを次で説明します。 1・まず。リクエスタはGolemのネットワーク上でタスクをサブタスクに分割してリクエストを発行します。リクエストは難易度(レベル)が存在します。そこで、Golemはいくつかのテンプレートを設定し、依頼者はそれに沿って、自身の依頼内容のレベルを設定します。そのレベルによって払われる料金基準が変わってきます。もし、その設定されたテンプレートに当てはまらない場合、依頼者は自身で依頼内容のフレームワークを書き出し、コードを記述しなければなりません。しかし、このテンプレート以外の依頼内容を依頼することは、今までにリリースされたGolemでは不可能です。 2・コンピューターの提供者は、上で発行されたサブタスクのリクエストの内容を確認し、自身にあう条件を選択し、作業に取り掛かります。(マッチング)  提供者が自身に見合った依頼を選択し、価格設定を行い、コンピューター情報を依頼者に送付します。 3・依頼者はその条件を確認し、依頼を任せるか決定します。(マッチング完了) 「A provider (party providing the computing power) receives all the broadcasted task offers and selects the best one. In doing so, it also checks the reputation of each node broadcasting the tasks and rejects ones with a poor reputation. When a provider finds a suitable offer, it sends a price and its computing power information to the requestor. In return, the requestor verifies that the provider has a high enough reputation to work with.」(引用:https://coincentral.com/golem-gnt-beginners-guide/) 4・一度依頼を遂行したら、IPFSネットワーク上を通し、依頼者に結果が届きます。それからタスクマネージャーが適切なノードを送り、結果を確認します。 5・その全ての結果が確定したのち、Ethereumのスマートコントラクトによって支払いが行われます。依頼者、提供者共に信頼度を示すために、支払い等全てのプロセスが時間通りに行われた場合、Golemネットワーク上での両者の評価は優良と評価され、他者からも確認することができます。もし、プロバイダが不正な計算や、きちんとした値を出してくれない場合、リクエスターは後からプロバイダに対してレビューをすることができ、以降そのプロバイダには、悪い評価のせいでリクエスストが来づらくなります。このようにして、不正をするものは、Golemネットワークから淘汰されます。 「If all is kosher, the provider receives the appropriate resources via IPFS and begins the computation on the task computer. Once the task is complete, it sends the results to the requestor back through the IPFS network. Then, the task manager passes the information to the appropriate node to verify the results. The requester may decide to send it to multiple nodes for redundant verification. Finally, the payment system is notified through an Ethereum smart contract, and funds move from requestor to provider. If the provider sends accurate results and the requestor pays on time, both parties will see an increase in their reputation.」(引用:https://coincentral.com/golem-gnt-beginners-guide/) ここで、計算を並列で分散して行うことは、大規模な計算ではとても重要です。そのため上の処理は、何人ものプロバイダーが並列で同時に計算を行います。したがって、報酬を払う相手が多くなり、報酬自体もマイクロペイメントになります。このときに、問題になるのが、多くのプロバイダーに報酬を送金するため、報酬に対して送金手数料が多くなってしまうことです。 そこで、golemでは報酬が支払われるプロバイダを確率的に決める仕組みを取っています。こうすることで、報酬を支払う人を少人数にでき、またビットコインのマイニングと同様の確率的に報酬が手に入る仕組みを作り上げています。 セキュリティ このように、不特定多数のマシーンで計算を行うため、計算するほうも、タスクをリクエストする方もセキュリティについて気に留める必要があります。 プロバイダは、リクエスターから送られてきたデータをもちいて計算を行うので、悪意のあるデータを送信することもできます。そのため、プロバイダは、自らのマシーンの中にサンドボックスと呼ばれるインターネットと接続がない環境をつくりそこで計算を行います。 リクエスト側にも危険があります。プロバイダに計算してもらうためには、データそのものを送信しなくてはいけないため、プライベートの情報などが混ざっている場合、プロバイダに見られる危険性があります。そのため現在のバージョンでは、そのようなデータを送らないように注意しなくてはなりません。 機能 Ethereumのスマートコントラクト技術により、開発者がGolem上にて自身のアプリケーションを開発することが可能です。これがディベロッパーです。ディベロッパーは、ユーザーが必要とするツールをいち早く提供することを目指します。ディベロッパーの作った計算のためのアプリ利用された場合、その作成者に対しても、報酬が支払われるような仕組みになっています。 「Outside of the scenario outlined above, Golem contains two other related features. Application Registry – An Ethereum smart contract for developers to publish their own Golem applications. This makes it easier for developers to find users and requestors to find the tools they’re looking for. Transaction Framework – A set of requirements that a developer must follow when implementing a transaction model for their self-made Golem application.」(引用:https://coincentral.com/golem-gnt-beginners-guide/) Golem Network Token (GNT)の役割 GNTはERC20トークンです。Ethereumの分散型プラットフォーム上で使用することが可能です。GNTはコンピューター使用依頼完了後の支払いに使用されます。提供者は、自身でGNTによる価格設定を行うことができます。 「GNT is an  token that you use to pay for the computing power that you rent. As a provider, you’re free to set your GNT rental price at whatever you deem is appropriate. Because Golem is a marketplace, these prices should find an equilibrium over time. You’ll also need GNT to submit deposits as a provider and participate in the Application Registry. The Golem team minted 1,000,000,000 GNT during the ICO of which 82% was distributed to the crowdsale participants.」(引用:https://coincentral.com/golem-gnt-beginners-guide/) β版公開 プロジェクト開始から約1年半の時間を経て、ようやく今回β版がリリースされました。 このベータ版により、GolemのP2Pマーケットプレイスが真に利用価値のあるものかを判断するが可能です。というのも、どれほどの市場規模を有し、どれほどの金銭が流通するのかをリアルに把握することできるからです。 「And this current release, Golem Brass Beta, is an effort to test whether the technology functions in real market conditions with real money. "We have to see how it behaves in the wild," Zawistowski said.」(引用:https://www.coindesk.com/golem-arrives-one-ethereums-ambitious-apps-finally-live/) 今後の開発 GolemはEthereum同様、4つの段階で開発されていきます。 ICO の節でも述べたように、Golemの開発は、かなりの開発力と長い年月が必要だと考えられておます。 第一段階 Brass Golem・・・アルファ版でコンセプトの実装の段階です。限定的な計算にしか使用できません。 第二段階 Clay Golem・・・Task APIとApplication Registryが導入される予定です。この段階で多目的な汎用分散計算ができるようになります。 第三段階Stone Golem・・・ストーンゴーレムでは、前段階のクレイで提供していた機能を強化し、高度なAPIを用いた開発が可能になります。またセキュリティや安定性が向上されます。 第四段階Iron Golem・・・インターネット接続を利用するGolemアプリケーションやサンドボックス外で動作するアプリケーションを作成することができるようになります。 また、アプリケーション開発をサポートする様々なツールをディベロッパーに提供していきます。 まとめ Golemのβ版公開はGolemプロジェクトの進展を強く証明することとなりました。その結果GNT価格も上昇しました。今後、このプロジェクトが完全成功を収めるには長く時間を費やすと考えられます。次の進展が早いタイミングで報告されることに注目しましう。
イーサリアム(Ethereum)における手数料Gasとは?

イーサリアム(Ethereum)における手数料Gasとは?

2018/05/15 at 6:58 PM 0 comments
はじめに 今回と次回の記事で、イーサリアム(Ethereum)上での様々なトランザクションについて解説します。トランザクションは、誰かに仮想通貨を送金をしたり、コントラクトを実行するときに発生します。このようなトランザクションは、マイナーによって承認され、ブロックに記録されます。 その際、ユーザーはマイナーに対してインセンティブとなる報酬として、手数料を払う必要があります。イーサリアムではスマートコントラクトという複雑処理が実行可能であるがゆえに、手数料の算出方法がビットコイン等のシンプルなトランザクションのみ実行するシステムとは異なります。つまり、少々複雑なのです。 そこで今回は、この手数料がどのようにして決まるのかについて解説します。 イーサリアム(Ethereum)の手数料 ~Gas~ ユーザーは、イーサリアム(Ethereum)上で、送金や(スマート)コントラクトといったトランザクションを実行します。それらは、マイナーによって処理され検証されます。このとき、それぞれの操作に使われたマシーンパワー、すなわちマイナーの作業コストに対する対価が手数料として支払われます。手数料はGasという考え方で計算され、ETHで支払われます。 Gasの概念を理解するために、車の運転に必要なガソリンのアナロジーから考えて見ましょう。 長い距離を走ったり、より速い速度で走るには、それに応じた燃料が必要になります。そのため、ガソリンという燃料が必要で、ガソリンを燃やして車を動かします。 イーサリアムでも同様で、マイナーがマシーンを動かして計算をするための燃料が、Gasです。ユーザーは送金やイーサリアム上でトランザクションを発行したとき、マイナーに対して手数料をETHで支払います。一方で、マイナー達は手数料をインセンティブとして、そのトランザクションを承認/計算します。 では、実際にイーサリアム上でマイナーの原動力になる、支払うべき手数料は、どのように算出されるのでしょうか?  簡潔に述べると、手数料としてマイナーに支払われるETHは、 手数料(Gas)総量 =  GasPrice × GasUsed で決まります。GasPriceはGasの単価で、GasUsedが使われたGasの総量です。この総量をマイナーが受け取ることになります。次の節では、GasUsedとGasPriceについて詳しく解説して行きます。 GasUsed この節では、上で出てきたGasUsedについて解説します。 GasUsedは、ガソリンの例で考えると、自動車を運転した時に使われるガソリンの量です。 長い距離を走ると、使用する燃料であるガソリンを多く使います。GasUsedも同様で、マイナーがトランザクションを処理し、検証するときに、使ったマシーンの計算量などによって決まります。したがって、複雑な処理の方が、単純な処理を実行する時よりもより多くのGasが必要になります。具体的な処理とそれに必要なGasの量は、イーサリアムのBeige Paperに書かれています。例えば、前回の記事で述べたハッシュ化(SHA3)の作業には、30Gasが必要になることが書かれています。 正確には、Gasは高級言語で記述されたcontract(コード)を、低級言語であるアセンブラに直した時に、アセンブラで処理する各プロセス(opecode)、計算ごとに消費するGasが定義されています。 トランザクションを生成するユーザーはあらかじめ、そのトランザクションで消費しても良いと思う、十分なGasの量を指定します。この指定されたGasの量をGasLimitと呼びます。 先ほども述べたように、スマートコントラクトのトランザクション実行時に消費されるGas量を前もって正確に見積もることは困難です。しかし、使われなかったGasはユーザーに返却されるため、多めにGasLimitを設定しておくのが良いでしょう。というのも、もしトランザクションの処理中にGasが切れた場合は(必要なGasがGasLimitを上回ったら)、そのトランザクションは中断されます。さらに、使われたGasはユーザーには返却されず、マイナーが受け取ります。 ここで重要なのは、ユーザーの設定したGas Limitを超えては、Gasも手数料も取られないような仕組みになっていることです。もし、実行しようとしているプログラムに誤りがあり、無限に同じ操作を繰り返えすように設定されていたとしましょう。この場合、ユーザーは、無限にマイナーに対して手数料を払わなくてはいけない状態が発生します。(車の例だと、車が故障して家の周りを無限に回り続けるイメージです。しかし、燃料は決まった量しかないので減り続けていつか車は停止します。)。 そのため、GasLimitは、払うGasの限界を定め、不必要に手数料を払い過ぎないような安全装置として機能します。プログラムに誤りがあり、何度も同じ操作が繰り返された場合は、設定しているGasLimitに対して使用するGas(GasUsed)が多くなり、そのトランザクションが中断されます。 Gas Price 再びガソリンの話に戻りましょう。GasUsedが使われたガソリンの量であったのに対して、GasPriceはガソリン1リットルあたりの価格(単価)に対応します。 イーサリアムの場合、マシーンパワーを使って実行した仕事の単価がGasPriceです。 先ほどユーザーが確実にトランザクションなどの処理を実行してもらえるように、十分な量をGas Limitとして設定しなければいけないことを述べました。GasPriceも同様に、ユーザーに決定権があります。では、このGasPriceが低いとどうなるのでしょうか。 マイナーのインセンティブは手数料ですので、単価が安い仕事はやりたくないでしょう。したがって、GasPriceの安いトランザクションは後回しになってしまいます。安すぎる場合は、そのトランザクションは永遠に処理されないことになります。できるだけ早く承認してもらいたい場合は、このGasPriceを高く設定しましょう。 Ethereum gas stationでは、現在の設定するGasPriceに対応する承認時間が書かれています。またMyEtherWalletでは、通常時(トランザクション詰まりなどが起きていないとき)の基準として 40 GWEI Gas Price・・・ほとんどの場合、当該のトランザクションが次のブロックに格納される。 20 GWEI Gas Price・・・ほとんどの場合、2~3個後のブロックに格納される。 2 GWEI Gas Price・・・ほとんどの場合、8-12個後ブロックに格納される。 と書かれています。 ただし、通常の取引所ではこれらを自動で行ってもらえるので気にしなくても問題ありません。 (ここで出てきたGas Priceの単位であるGWEIについては、次の節で説明していきます。) Example 上記の復習として、Meta Maskの設定を参考にしながら、一度計算をしていきましょう。 Meta Maskでは以下のように、はじめにGasLimitとGasPriceを設定する欄があります。 今回はこの例にあるように、GasLimitを21000にして、GasPriceを1GWEIに設定しました。ここで、1 GWEI は 0.000 000 001 etherのことです。ETHの単位変換は以下の表を参考にしてください。 単位 ether wei(最小) 0.000000000000000001ether kwei 0.000000000000001ether mwei 0.000000000001ether gwei 0.000000001ether szabo 0.000001ether finney 0.001ether ether 1ether 上記のようにユーザーが設定したとしましょう。したがって、ユーザーは最大の手数料(Gas)として、 最大手数料= 0.000 000 001 ether × 21000 = 0.000 021 ether を支払うことになります。しかし、実際にマイナーが処理したところ、使用されたGasが19000だったしましょう。これがちょうどGasUsedです。この時実際に支払われる手数料は、 手数料= 0.000 000 001 ether × 19000 = 0.000 019 ether で、差額分の0.000 002 etherはユーザーに返却されます。 まとめ 今回の記事では、イーサリアムにおける手数料の仕組みであるGasについて説明しました。 GasPriceとGasLimitを独立させることで、1)トランザクションに取り入れるか入れないかのマイナー心理と、2)プログラムでエラーが起きた時にお金を使い切らないような構造を独立させています。このような特徴もビットコイン(Bitcoin)にはない工夫されている部分です。
イーサリアム(Ethereum)ブロックチェーンを活用し、UNICEFやWFPが人道支援を活発化

イーサリアム(Ethereum)ブロックチェーンを活用し、UNICEFやWFPが人道支援を活発化

2018/05/15 at 4:10 PM 0 comments
近頃、仮想通貨やブロックチェーン技術を活用した慈善活動が増えてきています。 2018年4月、シリアのアサド政権が一般市民に対し化学兵器を使用した疑いから、ついにアメリカ、イギリス、フランスの3カ国が武力攻撃を開始しました。シリアや他中東の国々は混乱を極めており、多くの人々が故郷から去ることを余儀なくされました。 そんな中、このような難民を対象に、UNICEFやWFPなどの慈善団体によるブロックチェーン技術や仮想通貨を使った最先端の人道支援プロジェクトが動き出しています。ブロックチェーンなどの技術を活用し、人道支援の効率化を図る今回の取り組みは大きな意味を持つと同時に、科学技術や最先端デジタル技術の発達が社会解決へ繋がることを表しています。 イーサリアムブロックチェーン技術を使い難民の食糧支援、個人情報の保護 難民を支援するために、WFP(国連世界食糧計画)と業界パートナーによって、ブロックチェーンを用いたプロジェクト「Building Blocks」が開発されました。このプロジェクトは食糧支援の効率化と支援対象者(主に難民)のIDの管理、プライバシーの保護を目的としています。「Building Blocks」は開発パートナーであるドイツの「Datarella」や英国の「Parity」との提携のもと、ブロックチェーンの代表的なプロトコル、イーサリアム(Ethereum)ブロックチェーンをベースとしています。 「The United Nations agency in charge of food aid—often billed as the largest aid organization in the world—is betting that an Ethereum based blockchain technology could be the key to delivering aid efficiently to refugees while slashing the costs of doing so.」 (引用:https://qz.com/1118743/world-food-programmes-ethereum-based-blockchain-for-syrian-refugees-in-jordan/) 中東でのWFPの食糧支援は、現金や電子マネー、デビットカード、引換券などを配布し、支援対象者はこれらを使って地域の小売店で自由に食糧を購入する方法を採っていますが、このやり方では決済のたびに金融機関への手数料が発生する上、第三者機関を介在させることによる個人情報の漏洩や取引に関わるセキュリティ上のリスクがありました。 そこで、イーサリアムブロックチェーンを活用することによって、WFPが食糧支援を行う際の現金の移送をより早く、より低コストに実行することができます。また、WFPが行うすべての取引をリアルタイムに記録し、認証されるシステムとなっているため、機密データを第三者と共有する必要もなく、難民のセキュリティとプライバシーはさらに強化されます。 「The WFP’s move to adapt Ethereum was part of an effort that explored better, cheaper, and less risky means to deliver cash-based transfers. It had to be secure and fast at the same time. Blockchain, being the decentralized digital ledger that it is, seemed to be the most viable option. It offers a level of transparency, coupled with cryptography-based security, that makes it ideal for monitoring transactions. 」 (引用:https://futurism.com/blockchain-is-helping-us-feed-the-worlds-hungriest-families/) 2017年5月にシリア難民1万人以上が、ヨルダンのアズラック難民キャンプでの食糧支援において「Building Blocks」を試験的に導入したところ、地元の金融機関に支払う手数料の98%削減に成功し、支援対象者の個人情報を国連以外の第三者に提供することもありませんでした。これまで金融機関への手数料の支払いにかかっていたコストが大幅に削減されることになり、そのコストを生活の再建費に回せるようになります。 「For instance, the WFP would usually deliver food to people like the Syrian refugees in the Jordanian camp. But instead, they’re empowering these individuals by giving them money instead. The blockchain-fueled program cuts out much of the friction tied to bank transfers and the fees that accompany them, as evidenced by a 98% reduction in those costs. That leaves the refugees more money with which to rebuild their lives.」 (引用:https://www.ccn.com/an-ethereum-blockchain-is-restoring-the-identity-of-syrian-refugees/) 2018年以降、さらに多くの地域で「Building Blocks」の導入を引き続き検討し、ブロックチェーン技術を用いたデジタルID管理やサプライチェーンオペレーターなど、現金送金以外の利用についての応用も模索され始めています。イーサリアムブロックチェーンの活用により、慈善活動の効率化を進める取り組みは、最先端テクノロジーが社会課題の解決に大きく貢献できるることを示しています。今後のさらなる発展が期待できるでしょう。 社会的/経済的の両面でメリット このプロジェクトは社会的、経済的なメリットがあり、厳しい状況下にある人々の生命を救い、彼らの人生の質を高める事に大きく貢献します。人道的側面から、人生を再建するチャンスを与えるでしょう。プログラムの設計者、Houman Haddad氏は、シリアの難民たちが身分証明書からなる単一のデジタルウォレットから、ブロックチェーンIDシステム経由で取引できることを期待しています。 「The architect behind the program, Houman Haddad, hopes to see these Syrian refugees one day be able to transact from a single digital wallet comprised of a record of their purchase history, identification and “access to financial accounts” via a blockchain-fueled ID system, as per MIT Technology.」 (引用:https://www.ccn.com/an-ethereum-blockchain-is-restoring-the-identity-of-syrian-refugees/) 透明性向上により多くの資金が慈善事業に流れる ブロックチェーンを基盤とした支援システムは、慈善活動への信頼向上にもつながります。第三者機関を通しての支援活動は、資金の多くが諸経費に充てられ、プログラムに直接投入されているかを疑問視する声が多数あります。 そこで、ブロックチェーン技術を活用し、仲介機能をなくすことができれば、直接支援者と受給者を繋げることができます。諸経費を減らすことによって運営効率をさらに上げることができれば、懐疑的な資金提供者の慈善行為に対する信頼を回復させることができるかもしれません。 これがやがては、慈善活動への関与や、資金を提供するという行為の全般的な高まりにつながります。 「The WFP’s move to adapt Ethereum was part of an effort that explored better, cheaper, and less risky means to deliver cash-based transfers. It had to be secure and fast at the same time. Blockchain, being the decentralized digital ledger that it is, seemed to be the most viable option. It offers a level of transparency, coupled with cryptography-based security, that makes it ideal for monitoring transactions. 」 (引用:https://futurism.com/blockchain-is-helping-us-feed-the-worlds-hungriest-families/) このように可能性は無限大ではありますが、多くの懸念すべき点があることは事実です。 一番の問題は、デジタル通貨による資金提供やブロックチェーンによるシステムは、いまだ慈善活動分野では新しい挑戦であり、実証されていないことが多く、個人の寄付提供者や慈善団体のなかでもなかなか周知されていないのが現状です。 しかし、長期的に考えると仮想通貨やブロックチェーンプラットフォームは、これまでの慈善事業や人道支援の在り方を著しく変えながら取って代わる可能性を秘めています。ビットコインやイーサリアム、その他の仮想通貨による寄付が今後より活発に行われ、仮想通貨市場の繁栄がこの先も続くと認識されれば、仮想通貨による慈善事業はより身近なものになってくるでしょう。 まとめ 発展途上国や政情が不安定な地域では、国際機関や非営利団体の活動も困難を極めます。そこで、いくつかの団体は仮想通貨やブロックチェーン技術を活用することで、最大限の支援を得られる事を望んでいます。ブロックチェーンは、暗号化されたデータの記録や転送が効率的で、透明性も高いとされています。金融業界のみならず、政府やNGOなど様々な機関や団体がこれらを積極的に導入していくことでしょう。 また、イーサリアム上で寄付、追跡を管理するスマートコントラクト契約やブロックチェーンについての研究をさらに重ね、それらが実証されれば、資金を寄付する者と受益者が直接的につながります。これにより、寄付やその結果の透明性が著しく増すことで慈善活動への信頼が高まり、現状より多くの資金が社会問題の解決に充てられるでしょう。
イーサリアム(Ethereum)のデータ構造~マークルパトリシアツリー

イーサリアム(Ethereum)のデータ構造~マークルパトリシアツリー

2018/05/10 at 5:55 PM 0 comments
はじめに 前回の記事で説明したように、イーサリアム(Ethereum)上ではユーザーの残高は、Account Stateで管理されています。そしてこのAccount Stateは、ブロックチェーンには含まれません。しかし、この仕組みでは異なるノード(マイナー)同士で各アカウントが持っている残高などの合意が取れないため、発行された全てのアカウントから抽出されるState rootという値を、ブロックチェーンに刻むことによって合意を取ることを説明しました。その際、State Rootはマークルツリーなどを用いて計算されることを述べましたが、その詳細は割愛しました。 そこで今回は、①State Rootの計算方法と②State変更が生じた際のState Rootの再計算方法について解説します。まずはじめに、Sate Rootがどのように計算されるのかについて説明します。さらに、トランザクションによってアカウントのStateが変更された時に、どのようにその変更が伝わって、State Rootが計算され直すかについて説明していきます。 イーサリアム(Ethereum)上でのデータ管理 前節で述べたように、各アカウントの状態はブロックチェーンには刻まれません。そのため、改ざんに対して耐性を持たせる必要があります。また、全てのStateをノードのコンピュータに保存するので、データ容量を小さくする必要もあります。さらに、約15秒に1度ブロックが生成されるので、その都度、アカウントの状態(残高など)の変更をState Rootに反映させる必要があります。State Rootに変更を反映するには、はじめに当該アカウントの検索をし、当該アカウントの状態を変更した後、変更があった全てのアカウントを元に計算されたハッシュ値をブロックに書き込む、といったステップが必要です。 そのためアカウントの状態は、以下の条件を満たすように保存されるのが望ましいと考えられます。 データ構造が改ざんに対して耐性を持っている。 データ容量を抑えられる。効率的に保持できる。 検索、データの挿入、削除が早く容易。 イーサリアムのKeyとvalue イーサリアム(Ethereum)では、各アカウントのアドレスとそのアカウントの残高が紐づいています。そのため特定のトランザクションがあった時に、トランザクションに記述されているアドレスをもとに、コンピューターが変更を加えるべきアカウントを探しに行きます。 このとき、特定の情報を探すためのキーワードをKeyと呼び、探すもの自体をvalueとよびます。イーサリアム(Ethereum)の場合、Keyはユーザーのアドレスに対応し、ValueはAccount Stateとなります Tree(ツリー) ここまでで準備ができたので、上であげた要件を満たすための仕組みについて考えていきましょう。ここでは、まず基礎となるPrefix Treeについて説明します。その後、Patricia TreeとMerkle Treeについて説明し、最後にイーサリアム(Ethereum)で用いられているMerkle Patricia Treeについて述べます。 Prefix Tree(プレフィックスツリー) イーサリアム(Ethereum)では、トランザクションに応じてアカウント状態をその都度変更する必要があります。その際、状態に変更があったアカウントの検索を高速にする必要があります。 イーサリアム(Ethereum)における検索の仕組みに入る前に、まずは検索のイメージを掴んでもらいたいと思います。例としてA,B,C,D のアルファベットからなる4文字の文字列を複数並べて見ました。並べ方は二種類用意してあります。文字列を不規則に並べた場合と、樹形図状に並べた場合です。 それでは以下に示す二つの図からBCDAという文字列を探してみてください。 不規則に並ぶ文字列(下図) すぐに見つけられたでしょうか? では、同じBCDAを次の樹形図状の配列の中から探してください。これは簡単ですね。この樹形図がBから始まる図では、上から順にB→C→D→Aというように探している文字を追って行くことで、目的物にたどり着ける構造になっています。 樹形図状に並ぶ文字列(下図) どうでしょうか? 仕組みさえわかってしまえば、樹形図状の構造の方が整理されていて、すぐに見つけられることが実感できたと思います。また、データの数がさらに多くなると、この樹形図はさらに威力を増します。(辞書などが良い例です) 。このデータ構造のことをPrefix Treeと呼びます。 EthereumにおけるPrefix Treeの考え方 これをEthereumに対応させて考えて見ましょう。上の文字列でBCDAなどのアルファベットに対応する部分は、Ethereumのアドレスに対応します。例えば、6f46cf5569aefa1acc100929・・・というkeyに紐づくアカウントの状態(value)を探す場合は、6→f→4→6・・・のようにtreeをたどることですぐに見つけることができます!! Patricia Tree(パトリシアツリー) Patricia Treeは、Prefix Treeをデータの容量面でさらに進化させて、データ量を軽量化させた構造です。比較のために先ほどのPrefix TreeとPatricia Treeの図を示します。 Prefix Tree(下図) はじめにあげた図とは異なり、BACD、BCADというアドレスをもつアカウントがないとしましょう。このとき、一番左側(BADCの枝)の経路のようにAからは必ずDに行く分岐のない経路が現れます。このような場合、AとDを別々に保存する必要がなくまとめてしまおうというのがPatricia Treeの考え方です。以下のようにADをまとめて保存することでデータ容量を節約して軽量化した構造を作ることができます。ちなみに、Patricia Treeは、Radix Treeとも呼ばれることもあります。 Patricia Tree(下図) Merkle Tree(マークルツリー) Merkle Treeは、大きなデータを要約し、その値を検証することでデータが改ざんされていないかを検証できる構造のことです。要約の際に、ハッシュ関数を用います。そのためハッシュツリーとも呼ばれます。ハッシュ関数とは任意の長さの文字列を入力したとき、一定の長さの入力文字列を反映した文字列を出力する関数です。早速、Ethereumの場合でこの要約の方法について見ていきましょう。 EthereumにおけるMerkle Treeの考え方 前回の記事でも述べたように、Account Stateには四つの情報(nonce,code,storage,残高)がありました。この情報をつなぎ合わせて要約(ハッシュ関数に入れる)して、一つのハッシュ値(要約した値なのでダイジェスト値とも呼びます)を得ます。例えば、 hash(nonce)が17で、codeはなくて残高は0.17ethでstorageには何もない)=ba57d3f1ef8・・・ というようにです。(実際には日本語ではありません。) アカウントの情報が要約できたら、この要約を他のアカウントの要約値と合わせてさらに要約します。 下図は、その要約構造を示しています。HAはアカウントA(一番左のアカウント)を、HBはアカウントB(左から二番目のアカウント)を要約したハッシュ値です。これらをまたハッシュ関数に入れてさらに要約値を得ます。これを繰り返すことで、図の一番上のRoot値が得られます。 注意すべきことは、最下層のアカウントの情報が少しでも書き変わると、このRoot値が全く異なる値に変化します。このようにして、アカウントの状態が改ざんされていないかどうかを、この要約値を使って瞬時にチェックできる仕組みがMerkle Treeです。 また、前回の記事で紹介したTransaction RootもReceipts Rootも、どちらもこの構造を用いていて、データの検証を行なっています。 Merkle Tree(下図) ハッシュ化、ハッシュ関数に関しては、以前の記事を参考にしてください。 [イーサリアムアドレス 〜EIP-55によるチェックサムの導入〜](https://consensysmediajapan.com/4443.html#chapter-4) Merkle Patricia Tree(マークルパトリシアツリー) 上であげたPatricia TreeとMerkle Treeを合わせることで、三つの要件を満たすデータ構造が作れます。それがMerkle Patricia treeです。 はじめに述べたように、Ethereumではブロック生成時間が15秒程度に一度なので、トランザクションが起きたらすぐに関連するアカウントをPatricia Treeから探してきて残高などを変更し、さらに改ざんに対して耐久を持たせるために、変更後の要約(ハッシュ)値をすぐに計算する必要があります。 実は、Merkle Treeは以下の図にあるように、変更が加えられたハッシュ値以外は変わらないので、着目しているトランザクションに関係ないアカウントの要約値は変更しないような仕組みなっています。そのため例えば、アカウントC(左から三つ目)の状態が変わったとしても左側の分岐のハッシュ値は変わらないので、ハッシュをすぐに計算する構造も備わっています。 Merkle Tree(Account Stateの変更)(下図) それでは、最後にMerkle Patricia Treeがどのような構造でできているか考えていきましょう。 以下では、Key(ユーザーのアドレスに対応する値)が7b2d(便宜上、4桁の場合を考えています。)であるアカウントに紐づくAccount Stateを見つけにいきましょう。7→b→2→dとたどることでアカウントにたどり着けるはずです。そこで、下図にあるように、16進数なので0,1,2,・・・fの中から7の四角に進みます。 ここで、ポインターと呼ばれる次にどこのデータの塊を参照すればいいかを示すある値を得ます。今回、7に紐づく値は、a85fだったとしましょう。(もちろん、他の値にもそれぞれ特定のポインターが紐づいています。) 今度は、この値を参考にa85fに紐づくデータの塊のなかで、ユーザーのアドレスの7の次のbの値に対応するポインターを参照します。そこには、3aa7とかいてあるのでその値に対応するデータの塊を参照します。これを繰り返すことで、目的であるアドレスが0x7b2dのAccount Stateにたどりつけます。 ここで、ポイントとなるのは、今まで参照してきた謎のポインターの値は、実は複数のアカウントから抽出された要約(ハッシュ)値であったということです。Merkle Patricia treeの最下層には、全てのAccount Stateが紐づきそれの要約値が、まとめられてその情報の塊を参照するポインターの役割をしているわけです。   このような構造によって、Etherrumのカウント構造は効率よく変更され管理されているわけです。この構造は、うまくできていて感動します。 まとめ Merkle Patricia Tree の構造は、少々複雑です。ですが、解説記事があまり少なかったため今回まとめました。もっと詳しい実装に関しては、Ethereumのgithubが参考になります。わからないところがあれば下記のコメントからも質問を受け付けます。 [Patricia Tree](https://github.com/ethereum/wiki/wiki/Patricia-Tree)
イーサリアム(Ethereum)のブロック構造とその仕組み

イーサリアム(Ethereum)のブロック構造とその仕組み

2018/04/17 at 4:44 PM 0 comments
はじめに 今回の連載記事では、イーサリアム(Ethereum)ブロックの構造を、ビットコイン(Bitcoin)などと比較しながら解説します。 はじめに、イーサリアム(Ethereum)におけるユーザーのアカウントや、スマートコントラクトなどの情報がどのように管理されているかについて、解説します。次に、Ethereumブロックの構造をBitcoinなどと比較しながら解説します。 ぜひ、この機会にEthereumのブロックがどのような情報を持っていて、どのように承認されるかについて学んでいきましょう。 Ethereum Account イーサリアム(Ethereum)のアカウントには、以下の二種類があります。 外部アカウント・・・EOA(Externally Owned Account)とも呼ばれます。Ethereumを利用するユーザーが保持しているアカウント。秘密鍵によってコントロールされます。 コントラクトアカウント・・・CA(Contract Account)とも呼ばれます。コントラクトに紐づくアカウントでコントラクトに関するコードや情報を持つアカウント。コントラクトアカウントは、秘密鍵は持っていません。 これらのアカウントは、どちらも20byteのアドレスと状態(State)と呼ばれる情報を持っています。このStateについては以下で説明します。また、コントラクトアカウントは、外部アカウントから作成されます。 実際にどのようにしてアドレスが生成されるかなどの詳細は、以下の記事が参考になります。 (参考:イーサリアムアドレス 〜EIP-55によるチェックサムの導入〜https://consensysmediajapan.com/4443.html) Account State アカウントの状態には、以下の4つの情報が含まれます。 どちらのアカウントも共通して、「残高(Balance)、nonce」を記録する部分を持っています。アカウントが持つnonceは、二重支払いを防ぐ役割をしています。着目しているアカウントが行うトランザクションの回数を記録するカウンターとして作用し、トランザクションは、このnonceの小さい方から順にブロックに詰められるようになっています。 そしてコントラクトアカウントのみが、コード(code)、ストレージ(storage)というスマートコントラクトのコードとデータを保存する部分を持っています。外部アカウントの場合、コード、ストレージは無く、空です。 このように、Ethereumでは、アカウントごとの残高が明示的に管理されています。これは、Bitcoinと異なる点です。Bitcoinでは、各アカウントごとに残高が管理されていません。散らばっているUTXOをかき集めることによって、着目しているアカウントがもつ残高を計算しています。そのため、Bitcoinではブロックチェーンから残高を導出する時間計算量も問題視されています。ビットコインのUTXOについては以下の記事が参考になります。 (参考:イーサリアムを理解するためにビットコインの基本を理解しようhttps://consensysmediajapan.com/2485.html) State Root 上であげた全てのアカウントの状態をEthereumのブロックに入れておこうとすると、ブロックのサイズがとてつもなく肥大化してしまいます。そこで、Ethereumでは以下の図に表すように、全てのアカウントの状態をマークルパトリシアツリー(下図の木構造のこと)によって管理しています。(Ethererumでは、すべてのアカウントの状態を記録して管理している全体を特にWorld Stateと呼びます。) すなわち、全てのアカウントの状態ではなく、全てのアカウントのハッシュ値を掛け合わせて作られたState rootと呼ばれるハッシュ値のみがブロックの中に格納され記録されます。このState rootは全てのアカウントのハッシュから計算されるので、いずれかのアカウントの状態が改ざんされると、このstate rootも変わってきます。そのため改ざんなどを防ぐ役割も担っています。 ちなみに、アカウントのStateはブロック内には保存されませんが、マークルパトラシアツリーの状態で各ノードに保存されています。また、全てのアカウントのStateは、ブロック内に保存されている全てのトランザクションから推測、生成することができます。 一番下の段が各アカウントであり、複数のアカウントがもつStateを繋げてハッシュ化することで、全てのアカウントの情報を含む一番上のState Rootが作られます。(マークルツリーなどでは一番上の値をRootと呼びます。) 今回は、あくまでブロックの構造を知ってもらうことをメインに解説しています。 そのためマークルツリーについては次回の記事で詳しく取り上げることにします。 次に、ブロックの中に保存されている項目について整理していきましょう。 ブロック構造 イーサリアム(Ethereum)のブロック構造は、ビットコイン(Bitcoin)のそれに対して複雑です。まず、ハッシュ化されるブロックヘッダーと呼ばれる「ブロックの核」となる部分について比較してみましょう。 BitcoinのBlock Header Bitcoinの場合は,ブロックヘッダーには以下の情報が含まれます。 - nVersion・・・現在のBitcoinのバージョン - hashPrevBlock・・・一つ前のブロックのブロックヘッダーのハッシュ値 - hashMerkleRoot・・・複数トランザクションを先ほど述べたマークルツリーで処理したRoot値 - nTime・・・現在のタイムスタンプ(おおよそ現在の時刻が記録されます) - nBits・・・difficulty(難易度)に関する値。目標とするbit数が入り、この値よりも小さな値になるよう計算を行います。 - nNonce・・・マイナーが選べる任意の値。上にあげたハッシュなどと合わせて、現在のblockから計算されるハッシュが、設定されているtargetよりも小さな値になるように決定します。 これら6つの要素から成り立っています。 ビットコイン(Bitcoin)のブロックチェーンに内包されるBlock header(下図) EthereumのBlock Header 次に、Ethereumのブロックヘッダーについてです。こちらは、項目がBitcoinに比べ格段に多くなります。 Ethereumは、ブロック生成時間が10分であるBitcoinとは異なり、13~15秒と40倍も速い速度でブロックの生成が行われます。 しかし、承認速度が早いということは、計算の難易度が比較的に容易で、すぐにフォークが起きてしまいます。そのため、Ethereumには、承認されなかったブロックに対しても分け前を与えるシステムがあります。また、このときに、承認されずフォークしてしまったブロックのことをUncleブロックと呼びます。このUncleブロックのハッシュ値なども現在のブロックに取り入れられる構造になっています。また、Gasと呼ばれるマイナーに働いてもらうための手数料も特徴的です。 - ParentHash・・・一つ前のブロックのブロックヘッダーのハッシュ値 - UnclesHash・・・Uncle ブロックのブロックヘッダーのハッシュ値(OmmersHash/sha256Unclesとも呼ばれる) - Timestamp・・・現在のタイムスタンプ - Difficulty・・・ブロックを生成する難易度.これ以前のブロックの難易度とTimestampから算出される.Bitcoinとは異なり難易度調整はブロック毎に変動します。 - Nonce・・・マイナーが選べる任意の値。ここにあげたhashなどと合わせて、現在のblockから計算されるhashが、設定されているtargetよりも小さな値になるように決めます。 - TxTrieRoot・・・トランザクションをマークルツリーで処理したRoot値 - Coinbase・・・ブロック生成のマイニング報酬を受け取るアドレス(minerとも呼ばれる) - LogsBloom・・・トランザクションに関連する内容と、それに付随する内容がブルームフィルタと呼ばれる空間効率の良い形で保存されています。(詳しくは,次回以降の記事で紹介する予定です。) - Number・・・ブロック高,現在のブロック数を表します。 - GasLimit・・・このブロックで使用できる最大のGasサイズ - GasUsed・・・このブロックで使用されたGasの使用量 - ExtraData・・・ブロックに関連する任意の情報を記録する場所. - MixHash・・・このブロックで十分な計算が実行されたことを証明するハッシュ - ReceiptsRoot・・・ブロックに入っているトランザクションの実行結果を先ほどのマークルツリーで処理して保存しています。. - StateRoot・・・先述した通り、Ethereum上の全アカウントの情報から得られるハッシュ値(KECCAK-256)。アカウントのstateはblockの外で管理され、ノード値のみブロックに格納されます。 合計15個から構成されています。(正確には、UncleBlockのhash値とUncle BlockのBlockheaderも含まれます。これを含めれば17個の要素から構成されていることになります。) 下図のように、BitcoinとEthereumとの対応が取れるものについては、上図と同じ色で統一しました。 イーサリアム(Ethereum)のブロックチェーンに内包されるBlock header(下図) イーサリアム(Ethereum)ブロック構造のまとめ 今回は、Ethereumのブロック構造について解説しました。今までよりも、ブロックにどのようなデータが格納されているか、具体的に理解が深まったのではないでしょうか。 最後に、イーサリアムのブロック構造をまとめます。上で述べたブロックヘッダーは、ブロックの中でたくさんの要素が含まれている大切な部分です。 Ethereumのブロックには、他にも各ブロックごとに、その時起きたトランザクションを保管する部分があります。これには、Uncleブロックの分も含まれます。このように大きく分けると三つの要素からブロックが構成されています。(下図) このブロックが連続的に繋がっていくことでブロックチェーンが長く長く伸びて行くのです。 イーサリアム(Ethereum)のブロックに格納される3要素(下図) 次回以降は、今回触れることができなかったトランザクションやGasなどについても詳しく解説して行きます。
イーサリアムアドレス 〜ICAPとENSへの発展〜

イーサリアムアドレス 〜ICAPとENSへの発展〜

2018/04/11 at 4:38 PM 0 comments
ETHの送金などを行う際には、0xから始まる42文字のアドレスを使用します。このイーサリアムアドレスは一文字でも間違えると正しく送金することができません。通常、間違ったアドレスに実際に送金が起こってしまえば、送金したETHは戻ってきません。連載記事の前半では、このようなアドレスの打ち間違いによる誤りを検出する技術 -Capitals-based checksum-について解説しました。 連載の後半にあたる本記事では、イーサリアムアドレスをより使いやすく、送金時のミスを減らせるよう提案された、ICAP(Inter exchange Client Address Protocol)やENS(Ethereum Name Service)について解説していきます。 イーサリアムのアドレス形式 連載前半の記事にて、イーサリアムのアドレスはHEX(16進数)形式であり、この形式であることを示す0xから始まる42文字となっていることを示しました。 例:0x001d3f1ef827552ae1114027bd3ecf1f086ba0f9 HEX形式は、よりコンピューターが扱いやすい形式であって、一般的に私達人間が扱いやすいものではありません。試しにイーサリアムアドレスを暗記したり、書き写したりすれば、その難しさを簡単に実感できるでしょう。 またこのイーサリアムのアドレス形式は、チェックサムと呼ばれるアドレスが間違えているのかどうかを検証するための文字列を含みません。 これは後ににICAPやENSといった仕組みによってチェックサムを追加したり、より人間に読みやすい形式に見せたりする意図が設計時にあったために、あえてそのようなチェックサムの追加がなされなかったのです。 ICAP ICAP(Inter exchange Client Address Protocol)はイーサリアムのアドレスの誤りを検出可能にし、国際送金の規格に準じてアドレスを表記する方法として提案されました。ICAPは、銀行間で取引する際にその所在地や、支店、口座番号といった情報を特定する国際標準規格であるIBANコードを参考に設計されています。対応したICAPコードはIBANコードと互換性があります。 IBANコード IBANコードは最大で34文字のローマ字と数字からなる文字列です。ただし、最初の2文字は所在国を示すローマ字2文字、次の2文字は送金情報の誤りを検出するチェックサムに使われることが決まっています。 例えばイスラエルにある銀行では、IBANコードは以下の様になります。   例: IL## AAA BBB CCCCCCCCCCCC IL…イスラエルを表す国名コード ##…チェックサム AAA…銀行コード BBB…支店番号 CCC …口座番号   IBANコードを採用している国同士での送金であれば、IBANコードを使用することによって常に正しく送金を行うことができます。 3つのICAPコード方式 ICAPコードはIBANコードのイーサリアム版と言えます。全てのICAPコードは、どこの国にも属さないイーサリアムのアドレスを意味するXEから始まるという特徴があります。XEのEはEthereum、Xはextendedを表しています。 ICAPコードはその形式でDirect、Basic、Indirectの3つの方式があります。この中で、IBANコードとして使用することができるものは、DirectとIndirect方式のICAPコードの2つです。Basic方式は、IBANとの互換性も無く、チェックサム機能も無いため事実上利用する価値はあまり無いものです。よって以下でDirectとIndirect ICAPコードについて紹介します。 Direct ICAPコード この方式でのICAPコードは、数字とアルファベットを合わせた36種類の文字で表すことができ、最大で34文字となります。Direct ICAPコードの例を示します。   例: XE60HAMICDXSV5QXVJA7TJW47Q9CHWKJDA(34文字)   最初の”XE”はイーサリアムを表しており、次の”60”はチェックサム、それより後ろのHAMI….KJDの部分がイーサリアムアドレスを示しています。 元々のHEX形式のイーサリアムアドレスとの大きな違いは、チェックサムが付いていることによって、アドレス入力時の誤り検出ができることです。 またアドレスの部分が通常のアドレスと少し異なる形をしていることに気付きましたか?HEX(16進数)形式のイーサリアムアドレスでは、使用できる記号は数字およびa〜fまでのローマ字でした。Direct ICAP形式では、数字と全てのローマ字を表記に使用することが可能です。Direct ICAP形式ではbig-endianという方式で、HEX形式からローマ字と数字の形に変換されています。 これはIBANの形式に合わせて変換されていますが、依然として人間が読みやすい形にはなっていません。 Indirect ICAPコード Indirect ICAPコードは、より人間が読みやすい形式を意識した方式です。この方式もXEから始まり、2文字のチェックサムと続きますが、その後にアドレスの代わりになる任意の16文字の文字列(通常ある単語など)が続きます。例を示します。   例: XE##ETHXREGKITTYCATS(20文字)   ここでチェックサムの##部分の以降は、資産の種類を示す3文字(ETH)、4文字のネームーサービス名(XREG)、そして9文字のアカウント名(KITTYCATS)となります。この形式であれば、HEX形式に比べて人間でも覚えやすい形になっているかと思います。 しかし、このアドレスのKITTYCATSの部分から、実際の送金先のHEX形式のアドレスを明らかにすることはできません。Indirect形式では、事前にKITTYCATSというアカウント名に紐付いたイーサリアムアドレスをどこかに登録しておく必要があります。 事前に9文字の文字列とそれに対応するアドレスが対応したデータベースがあり、送金時にはこのデータベースを参照することによって、文字列に紐付いた送金先にイーサリアムを送金できることになります。 ICAPコード利用現状 IBANコードに準拠した形でチェックサムによる誤り訂正機能を持っているICAPコードですが、あまり使用されていないのが現状です。Direct ICAPコードは対応したウォレットを使うことによって生成することができますが、ICAPコードによる取引が可能な取引所はKrakenなど極一部に限られています。 またIndirect ICAPコードについては、文字列とイーサリアムアドレスを結びつけるデータベースをどのように作るのかという現実的な部分は提示されていません。 現状でもICAPの定義には曖昧な部分が多く、これはEIP-57, 70, 77で議論されています。とはいっても現在でも議論open状態として進行中のEIP-77についても、最後の投稿が2016年の3月であり、あまり活発な議論は進んでいないようです。 Indirect ICAPコードはイーサリアムアドレスをより人間が扱いやすい形にするという取り組みの試験的なものとして示されましたが、現在ではこの考え方をより一般的に拡張したENS(Ethereum Name Service)による解決が期待されています。 ENS ENS(Ethereum Name Service)は、イーサリアムのアドレスに対してある文字列を指定することで、送金時にその文字列を使って送金処理を実現させる技術です。 普段私達がインターネットブラウザからホームページにアクセスする際には、URLを使いますが、これはDNS(Domain Name Service)と言って、インターネット上の住所であるIPアドレスに対してURLという形の文字列を指定することによって実現しています。ENSはイーサリアムアドレスにおける、DNSのようなサービスだと言えます。 ENSを使うことによって、   例:0x001d3f1ef827552ae1114027bd3ecf1f086ba0f9   このようなHEX形式のイーサリアムアドレスを、   例:consensysmediajapan.eth   のような7文字以上のドメイン名として分かりやすい形に置き換える事が可能になります。ENSではチェックサムの様な機能はありませんが、アドレスに対して好きな文字列を選ぶことができます。人間が扱いやすい単語などを使うことができるため入力時の誤りを減らすことが期待できます。 ENSの取得手順 あるアドレスとそれに対応するドメイン名の関係は、イーサリアムブロックチェーン上のスマートコントラクトに保存されます。この登録は、MyEtherWalletなどから誰でも行うことができます。 ENSの取得は大きく分けて以下の手順になります。ドメイン名の取得は合計5日間のオークションによって行われます。オークションは、入札価格を公開しない3日間と公開できる2日間に分かれています。以下にその手順を示します。  1・準備 ドメイン名と紐付けるイーサリアムアドレスを選択します。そして、自分がオークションで支払える最大額のETHを指定します。(この時、オークションのトランザクションを処理するために0.01ETHが追加で必要です。)  2・オークションの開始(72時間/3日間) あなたは、名前と入札額を提示しますが、この情報はこの段階では公開されません。  3・入札額の開示(48時間/2日間) あなたは、この期間で自分の入札額を公開することができます。入札額を公開した場合、もしこのドメイン名を落札した際に、2番目に高い入札額と自分の入札額の差額の返金を受けることができます。  4・オークションの最終処理 合計5日間のオークションが終了すると、オークションでの落札者は最終処理を行い落札したドメインを自分のものに確定させます。3.にて入札額を公開していた場合は、差額の返金を受けることができます。もし入札者が自分だけだった場合には、トランザクションの処理にかかる0.01ETH以外の全てのETHが返金されることになります。 取得したENSの有効期限 このようなオークションプロセスによって落札したENSは、落札から1年間、所有権が有効になります。落札から1年が経過した時、落札者は所有権を放棄することでオークションによってロックアップしたETHの返却を得ることができます。 また、現段階で取得したENSには1年の期限が設けられていますが、今後永続的に取得したENSを保持できるようなシステムも開発途中です。有効期限が存在しないシステムに移行した場合には、既に所有している期限付きのドメインを、所有権が無期限なシステムに登録し直す事ができるようです。 ENSの価値 企業を立ち上げる際、”屋号” つまり会社名はとても重要なものです。同様にインターネット上で何かしらのサイトを立ち上げる際にも、取得したドメインの名前はサイトの認知度合いに何らかの影響を持つでしょう。もし今後、イーサリアムによる支払いやスマートコントラクトを利用したサービスが一般化したならば、イーサリアムアドレスのドメイン名もまた大きな価値を持ってくるでしょう。 既にこのENSの取得競争は始まっています。Cointelegraphによると既に、仮想通貨の取引所を意図するexchange.ethが6,660ETH、foundation.ethが300ETHなど、非常に高額な入札が行われています。 まとめ この2回の連載記事では、イーサリアムのアドレスにまつわる誤り訂正技術や、アドレスをより人間にとって可読性が高い形式に置き換える技術について紹介しました。現在は、まだ一般社会でブロックチェーンを利用したDappsが浸透してはいませんが、今後Dappsやイーサリアムを用いた支払いが一般的になったとき、このような誤りを訂正する技術がより重要になってくるでしょう。
イーサリアムアドレス 〜EIP-55によるチェックサムの導入〜

イーサリアムアドレス 〜EIP-55によるチェックサムの導入〜

2018/04/04 at 8:03 PM 0 comments
はじめに 今回の連載記事では、イーサリアムの”アドレス”について解説します。読者の皆さんは、自分が保有するイーサリアムアドレスについて気にかけたことはありますでしょうか?イーサリアムアドレスは0xから始まる合計42文字の文字列です。これを正確に記憶している人はなかなかいないのではないでしょうか。 イーサリアムに限らず仮想通貨におけるアドレスは、銀行口座の口座番号のようなものです。送金・受金の際に、この長いアドレスを1文字でも打ち間違えてしまうと、保有する仮想通貨を失うことになりかねません。このような背景から、打ち間違えた際に誤りを検出する技術や、より覚えやすい文字列に置き換える技術が開発されています。 連載記事の前半では、イーサリアムアドレス生成の流れと現状取り入れられている誤り検出の技術(Capitals-based checksum)を解説します。 後半では、イーサリアムのアドレスを国際送金の基準に準じ、より扱いやすくするICAPコードや、覚えやすい文字列に置き換えるENS(Ethereum Name Service)について解説します。 必要な知識 本連載記事を読み進めるにあたり、必要となる前提知識について、簡単に解説します。秘密鍵/公開鍵・一方向ハッシュ関数・チェックサムといった用語について既に知っている場合、読み飛ばしていただいて構いません。 秘密鍵/公開鍵 暗号技術を用いて、他者に知られたくないコミュニケーションをしたい場合は、内容を暗号化および復号化する必要があります。暗号化と復号化には、それぞれ”鍵”が必要となります。 暗号化と復号化に同じ鍵を用いる場合は、共通鍵認証と呼ばれています。一方で、イーサリアムをはじめとする仮想通貨においては、暗号化と復号化に異なる鍵を用いる公開鍵認証と呼ばれる暗号方式が利用されています。公開鍵認証自体にはいくつかのアルゴリズムが存在しますが、イーサリアムでは、楕円曲線DSA(ECDSA)を採用しています。 この公開鍵認証においては、秘密鍵と公開鍵と呼ばれる二つの鍵が存在します。両者の特徴は以下の通りです。 秘密鍵 他者には知られてはいけない鍵(銀行の暗証番号に相当) ランダムに生成 公開鍵 他者に知られても良い鍵(銀行の口座番号に相当) 秘密鍵を元にして生成 公開鍵から秘密鍵を推測することは困難 より詳しく知りたい場合は、ビットコインやイーサリアムの保管、仮想通貨の公開鍵と秘密鍵が参考になります。 一方向性ハッシュ関数 ハッシュ関数(要約関数)とは、ある任意の長さのインプットのデータを与えた時に、アウトプットとして固定長の文字列や数値列に変換する関数です。インプットとアウトプットは、それぞれ”メッセージ”と”ハッシュ値”と呼ばれます。このハッシュ関数の重要な特徴として、”一方向性”が挙げられます。 一方向性とは、メッセージからハッシュ値はアルゴリズムによって計算されるものの、ハッシュ値からメッセージを逆に計算することは非常に困難であることを意味しています。このような特徴から、一方向性ハッシュ関数と呼ばれています。またハッシュ関数にインプットするメッセージが僅かでも変化すると、アウトプットされるハッシュ値が大きく変化することから、データ改竄の検出等に使うことが可能です。 一方向ハッシュ関数の重要な特徴を以下にまとめます ハッシュ値は固定長の文字列/数値列となる メッセージが僅かでも変化するとハッシュ値は大きく異なる ハッシュ値からメッセージを推測することは非常に困難 チェックサム インターネットをはじめとする情報通信においては、必ずしも送信したデータが正確に受信されるとは限りません。データの一部が誤って受信側に伝わることは頻繁にあることです。そのような状況が生じた時に、受け取ったデータが”誤っている”ことを検出できれば、送信側に対して再度送信を要求するなどの対応を取ることが可能になります。このような誤り検出を可能にする手法の一つが、チェックサムです。 チェックサムの仕組みを簡略化して説明します。 例として、”462565”というデータを送信するとします。ただし、”462565”をそのまま送信するのではなく、ある数字Sを追加して誤り検出をできるようにします。 まず”462565”のそれぞれの桁の合計値をSとして、それを計算します。   S = 4+6+2+5+6+5   = 28   この合計値 S を送信するデータ”462565”の末尾に付けて送信することにしましょう。送信データは、”462565+S” = “46256528”となります。このチェックサムの仕組みを、受信側が理解していれば、受信したデータの一部が誤っていた場合に誤りを検出することができます(データの合計値と付加したSの間に不一致が生じるため)。 例えば、チェックサムをつけた状態の正しいデータは”46256528”ですが、何らかの原因によって”46256628”とデータが受信されたとします。   正しいデータ:”46256528” 誤ったデータ:”46256628”   この時、誤ったデータのチェックサムを取り除き、”462566”の合計値S’を計算してみましょう。   S’ =  4+6+2+5+6+6   = 29   受信したデータ“46256628”から、チェックサムSは28であることが分かっています。一方で、誤ったデータを元に再度計算して求めたチェックサムS’は29です。この違いから、データに誤りがあることがわかります。 上記の例では非常に簡略化した例を用いてチェックサムの概念を紹介しました。イーサリアムにおいては、Capitals-based checksumと呼ばれる手法を用いることで、入力したアドレスが誤っているかどうかをその場で判断することができます。Capitals-based checksumについては、後ほど詳しく説明することとします。 イーサリアムアドレス生成 生成の手順 前節において解説した前提知識を用いて、イーサリアムのアドレス生成の手順を説明します。手順は以下の通りです。 ※以下で用いられるアドレス等の文字列は、Mastering Ethereumから利用しています。   秘密鍵 k を生成(32バイト) 例:k = f8f8a2f43c8376ccb0871305060d7b27b0554d2cc72bccf41b2705608452f315   秘密鍵 k から楕円曲線DSA(ECDSA)を用いて公開鍵 K を生成(64バイト) 例:K = 6e145ccef1033dea239875dd00dfb4fee6e3348b84985c92f103444683bae07b83b5c38e5e2b0c8529d7fa3f64d46daa1ece2d9ac14cab9477d042c84c32ccd0   公開鍵 K から一方向性ハッシュ関数 Keccak-256を用いてハッシュ値を計算(32バイト)    例:Keccak256(K) = 2a5bc342ed616b5ba5732269001d3f1ef827552ae1114027bd3ecf1f086ba0f9   先頭12バイトの文字を消去し20バイトのイーサリアムアドレスを取得    例:001d3f1ef827552ae1114027bd3ecf1f086ba0f9   アドレスが16進数であることを示すために 接頭辞”0x”をアドレスに付加    例:0x001d3f1ef827552ae1114027bd3ecf1f086ba0f9   さてこのようにして得られるイーサリアムアドレスは、HEX(16進数)形式のアドレスと呼ばれています。HEX形式のアドレス生成においては、チェックサムを付加するステップはありません。つまり1文字でもアドレスを打ち間違えた場合には、誤りを検出することができず、ETHを失うことになります。 イーサリアムがチェックサムを持たない理由 イーサリアムのアドレスがチェックサムを持たない理由として、将来的にアドレスをより可読性の高いネーム形式(ENS: Ethereum Name Service)に移行するためだと言われています。ネーム形式とは、”consensysmediajapan.eth”のような任意の文字列が、あるHEX形式のアドレスに対応している形式です。ユーザーはHEX形式のアドレスを利用する代わりに、より可読性が高く、記憶のしやすい文字列を使えるようになります。これは現在のインターネットのURLのドメインに相当する概念です。 加えて、イーサリアムアドレスはICAP(Inter exchange Client Address Protocol)形式のアドレスといったフォーマットも検討されています。このICAP形式のアドレスは、デフォルトでチェックサムが付加されていることから、誤りを検出することが可能になっています。 上述のENSとICAPについては、連載の後半で詳しく説明します。 EIP-55 イーサリアムはICAP形式を用いることで、誤り検出が可能になると述べました。しかしICAPへの移行はあまり進んでおらず、多くのユーザー、取引所、ウォレットがHEX形式のアドレスを利用しているのが現状です。 しかしICAP形式が広まるまでHEX形式のイーサリアムアドレスの誤り検出ができないのは大きな問題です。そこで2016年1月にイーサリアム創設者のVitalik Buterin氏が提案したのが、Capitals-based checksumと呼ばれる誤り検出方法です。これはEIP-55において議論され、最終的に正式に採択されています。 Capitals-based checksumとは Capitals-based checksumとは、HEX形式アドレスのローマ字の小文字を、ある一定の手順によって大文字に置き換えることで、誤り検出の機能を持たすことが可能なチェックサムです。変換されたアドレスは大文字・小文字が混在していますが、小文字のみのHEX形式アドレスと下位互換性があります。 つまりCapitals-based checksumに対応していない取引所やウォレットおいて、Capitals-based checksumに基づいて変換されたアドレスを用いても何も問題は生じません。 先ほどアドレス生成の流れで説明したアドレスをCapitals-based checksumを用いて変化すると以下のように変換されます。ローマ字の一部が大文字に変換されています。 変換前:0x001d3f1ef827552ae1114027bd3ecf1f086ba0f9 変換後:0x001d3F1ef827552Ae1114027BD3ECF1f086bA0F9 自分のイーサリアムアドレスを取引所やウォレットで確認してみましょう。おそらく大文字と小文字が混在したアドレスが表示されているのではないでしょうか?これはCapitals-based checksumによって誤り検出を可能にした形式のHEXアドレスなのです。 Capitals-based checksumの仕組み Capitals-based checksumによってアドレスを変換する方法と誤りを検出する方法を解説します。 アドレス変換方法 変換前のイーサリアムアドレスから接頭辞である”0x”を削除し、一方向性ハッシュ関数Keccak-256を計算してハッシュ値を得ます。 ハッシュ値 = Keccak-256(“イーサリアムアドレス”) ハッシュ値 = Keccak-256("001d3f1ef827552ae1114027bd3ecf1f086ba0f9") = 23a69c1653e4ebbb619b0b2cb8a9bad49892a8b9695d9a19d8f673ca991deae1   アドレスのローマ字部分に対応するハッシュ値の値が、16進数で8以上の場合(8,9,A,B,C,D,E,F)は、アドレスのローマ字の小文字を大文字にします。   表1:ハッシュ値と変換後アドレスの関係 表1にアドレスとハッシュ値の先頭10文字を示しました。アドレスの4文字目はローマ字の”d”です。対応するハッシュ値は6ですので、8以下ですので大文字には変換しません。次にアドレスの6文字目を考えてみましょう。対応するハッシュ値はcですので、これは16進数では8以上の値です。よってアドレスのローマ字を大文字に変換します。この手順によって、アドレスの全てのローマ字を大文字に変換するかを確認します。この際、比較されるハッシュ値は先頭20バイト(40文字)のみです。これはアドレスの長さが20バイト(40文字)であるためです。 誤り検出方法 次に誤り検出の方法について説明します。今、変換されたアドレスの一部を誤ってウォレットにタイプしたとしましょう。最後から2文字目”F”を誤って”E”とタイプしてしまいました。   正しいアドレス:0x001d3F1ef827552Ae1114027BD3ECF1f086bA0F9 誤ったアドレス:0x001d3F1ef827552Ae1114027BD3ECF1f086bA0E9   誤ったアドレス(を全て小文字に置き換えて)の再度ハッシュ値を計算します。使用する一方向ハッシュ関数は、アドレス変換時と同じくKeccak-256です。   ハッシュ値(誤)  = Keccak-256(”誤ったアドレス”) ハッシュ値(誤) = Keccak-256( "001d3f1ef827552ae11114027bd3ecf1f086ba0e9") = 5429b5d9460122fb4b11af9cb88b7bb76d8928862e0a57d46dd18dd8e08a6927   このハッシュ値(誤)を、正しいアドレスの場合のハッシュ値(正)と比較してみます。   ハッシュ値(正):23a69c1653e4ebbb619b0b2cb8a9bad49892a8b9695d9a19d8f673ca991deae1   ハッシュ値(誤):5429b5d9460122fb4b11af9cb88b7bb76d8928862e0a57d46dd18dd8e08a6927   たった1値文字のアドレス違いから、全く異なるハッシュ値が得られました。このハッシュ関数の特性が誤り検出をする際のキーポイントとなります。 表2:アドレスの入力を誤った場合のハッシュ値(誤)と変換後アドレス 誤ったアドレスに基づいて得られたハッシュ値(誤)を元にして、もう一度元のアドレスの大文字小文字を変換しました。表1と表2の変換後アドレスを比較してみましょう。先ほどまでは小文字であったdが大文字に変換されていることがわかります(4文字目)。他にも大文字であったFが小文字に(6文字目)、小文字であったeが大文字(8文字目)などに変換されてしまっています。 上記の例に示したように、正しくCapitals-based checksumによって変換さえれていたアドレスを1文字でも打ち間違えると、元のアドレスとは異なった位置のローマ字が大文字・小文字に変換されてしまいます。 この違いを検出することで、入力されたアドレスに誤りがあることを示すことができます。Capitals-based checksumは99.986%の精度で誤りを検出できるとされています。また実装も簡単なことから、現状ではイーサリアムアドレスのチェックサムとして活用されています。 まとめ イーサリアムアドレスに関する連載の前半では、アドレス生成の流れとCapitals-based checksumを利用したアドレスの誤り検出について説明しました。連載の後半では、ICAPやENSといった将来的なイーサリアムのアドレスの進展について解説します。
イーサリアムはビットコインを超える日は来るか?イーサリアムが支持される技術的理由

イーサリアムはビットコインを超える日は来るか?イーサリアムが支持される技術的理由

2018/03/22 at 7:52 PM 0 comments
ブロックチェーン技術を用いて仮想通貨発行の構想を発表する国や企業の増加に伴い、国内外当局からの規制に注目が集まっています。ビットコインやイーサリアムの下落、仮想通貨に関してまだまだ話題が絶えない状況が続いています。 採用しているコンセンサスアルゴリズムやベースとなる台帳の違いによってビットコイン、イーサリアム、リップル等の仮想通貨は各々異なる機能や性質を持っています。その違いを背景に、それぞれの仮想通貨を熱烈に支持する投資家や技術者が多くいるようです。本記事では、ビットコインに続く市場規模を持つイーサリアムが支持を集める理由を著名人の見解から読み解いていきます。 イーサリアムの支持を公言する著名人 Roger Ver - 初期のビットコイン投資家 / Bitcoin.comのCEO (引用:http://www.scmp.com/news/hong-kong/law-crime/article/2021631/bitcoin-investor-sues-hong-kong-firm-over-contract-breaches) <人物> Roger Ver氏は、初期のビットコインや仮想通貨関連スタートアップ投資家の一人であり、日本でビットコインの普及活動を活発に行ったことで著名です。2011年初めにはビットコインへの投資を始めており、他にRipple、Blockchain.info、Bitpay、Karaken等のスタートアップにも投資しています。 Bitcoin.comのCEOでもあり「ビットコイン界のイエス・キリスト」とも呼ばれている彼はリバタリアン・無政府資本主義者であり、ビットコインが経済的自由権を促進する手段であると考えています。 Roger Verはビットコインがずっとトップに君臨し続けるとは考えておらず、最近のインタビュー(2018/3/5)ではイーサリアムの市場規模が近い将来ビットコインを追い抜く可能性について述べています。 <発言> インタビュアー:イーサリアムは年内にビットコインを上回る可能性が高いと多くの人が言っていますが、この予測は当たると思いますか? Roger:ビットコインは様々な観点でもはや頂点にはありません。たとえば、1日あたりのトランザクション数です。 イーサリアムは既にビットコインよりもはるかに多くのトランザクションを処理しています。 イーサリアムがビットコインを超える可能性はどちらかというと高いでしょう。イーサリアムの時価総額がビットコインを上回るためには一度価格が倍になる必要があります。 インタビュアー:仮想通貨やプロジェクトで特に熱烈に支持しているものはありますか? Roger:私は1日あたりのトランザクション数は素晴らしい指標だと思っていて、その点でイーサリアムが一番でしょう。 (Interviewer : A lot of people are saying that Ethereum is likely this year, surpass Bitcoin. Do you think that is a likely forecast?) Bitcoin core has already lost the top spot in a bunch of different metrics. For example, in terms of number of transactions per day. Ethereum already processes far more transactions per day than Bitcoin core. I think it’s much more likely than not if you look at it. Ethereum only has to double in price one more time in order to surpass bitcoins market cap. (Interviewer: What other cryptocurrencies and projects in particular do you respect for and are you enthusiastic about? ) I think the number of transactions per day is a fantastic metric. If you look at the metric, ethereum is already the top spot. (参考:https://www.youtube.com/watch?v=VsHnlTk6zhI&feature=youtu.be&t=2420) Olaf Carlson-Wee - 仮想通貨ヘッジファンドのCEO (引用:https://www.forbes.com/sites/laurashin/2017/07/10/the-emperors-new-coins-how-initial-coin-offerings-fueled-a-100-billion-crypto-bubble/2/#582e94dab2cc) <人物> もともとCoinbase(米国最大手仮想通貨取引所)最初の社員であり、現在は独立し仮想通貨ヘッジファンド、Polychain CapitalのCEOを務めています。多くのベンチャーキャピタルが投資しており、着実に知名度を上げています。2016年に400万ドルで設立されたこのファンドは一年経過した今、運用総額が2億5000万ドルに達したとされています。 <発言> イーサリアムは開発が非常に迅速に行われる有機的なエコシステムであり、それがイーサリアムの価格上昇の原動力となっています。ビットコインよりもはるかに勢いがあります。(2017年5月時点) 「“What we’ve seen in Ethereum is a much richer, organic developer ecosystem develop very, very quickly, which is what has driven Ethereum’s price growth, which has actually been much more aggressive than Bitcoin.”」 (引用:https://www.bitsonline.com/olaf-carlson-wee-eth-tops-btc/) 以前私は、イーサリアムが2018年末までにビットコインを超えると言いましたが、いまだに考えは変わっていません。イーサリアム上で構築されているものの殆どがSFのようなものに感じられるくらい、プロトコルが非常に高度な機能を持っているからです。 これまで可能だとされていたレベルを超えています。私が興味深く思っているのは、すでに他のサービスが提供しているような支払い処理速度や財産管理の改善といったことではなく、この技術によって可能になるアプリケーションです。 インターネットと同様に、ネット上で構築された画期的なものの多くはアナログの世界で実現不可能です。例えばFacebookであれば、そのオフライン版はなかったはずです。だから私が探しているのはイーサリアムの技術によって可能となるユースケースです。(2017年12月時点) 「Last time I was on here I said Ethereum would pass bitcoin by the end of 2018. I would actually hold to that right now … I would. It’s because of the more advanced capabilities of the protocol, so the types of things we’re seeing built on Ethereum are almost a bit sci-fi. “It’s beyond anything that you would reasonably think was possible. So, to me, a lot of what I’m interested in are the applications that will be natively enabled by this technology. Not an improvement in payment speed or an improvement in store of wealth, where there are many other services that offer those things. But like the internet, the most breakthrough things built on the internet were not possible in an analog world. “[With] Facebook, say, there was not an offline version of Facebook. So what I’m looking for and what I’m excited about are those uses cases that are natively enabled by [Ethereum’s] technology.”」 (引用:https://www.bitsonline.com/olaf-carlson-wee-eth-tops-btc/) インフラとしてのイーサリアム 以上で見たRoger Ver氏、Olaf Carlson-Wee氏は、両者とも仮想通貨界隈では著名な投資家で、イーサリアムがビットコインを超える日がくるという予測を立てています。現在市場規模の一番大きいビットコイン以上の性能を持っていること、分散型アプリのインフラとして価値増加が見込めることなどの根拠はいくつかあるようです。 イーサリアムが支持される所以がこの技術的要因であるため、ビットコインを超えるという予測が正しいのかは、短期間でわかるものではありません。現在は、どの種類の仮想通貨にも大量に投機マネーが流れており、本質的価値に相応する適正価格が誰にもわからない状態です。イーサリアムブロックチェーンの普及に応じたイーサの価格上昇は長期的視点で見込むべきものかもしれません。
イーサリアム資金盗難の救済措置 EIP-867にまつわる議論と平井氏の懸念

イーサリアム資金盗難の救済措置 EIP-867にまつわる議論と平井氏の懸念

2018/03/06 at 3:07 PM 0 comments
イーサリアムなどの仮想通貨/暗号通貨を利用したICOによる資金調達額は、2017年に約40億USドル相当に達しました。このように近年ICOによる資金調達の活発化に伴い、ICOプロジェクトを狙ったハッキングによる盗難や、実装されたコードの不備による資金凍結(誰も取り出せなくなること)の被害も増加しています。そこでETHが盗難・凍結した場合に、そのETHを取り戻す方法がEIP-867として提案されました。 本記事は盗難・凍結したETHを取り戻す方法を提案したEIP-867にまつわる連載記事の後半です。前半記事では、EIP-867で提案されたETH回収の仕組みについて解説しました。本記事ではこの提案に関する考察と、イーサリアムEIPコミュニティの編集者である平井氏が示した2つの懸念に焦点を当てて解説をします。 ハードフォークによる救済 当時最大級のハッキング被害が発生したThe DAO事件では、イーサリアムがハードフォークすることによってハッキングが無かったことになり、ETHは取り戻されました。ハードフォークではブロックチェーンに大幅な仕様変更を加えるために、それまでのブロックチェーンとの互換性は保たれなくなります。 ハードフォークする新たなブロックチェーンが提案された際、この新しいブロックチェーンを正当なものとして受け入れるかどうかは、ネットワーク上の各ノード(ブロックチェーンの管理やマイニングを行っている世界中に分散したコンピュータ)が選択します。 The DAO事件では、ある特定のハッキングのみを無効にするということが、ブロックチェーンの特長である ”過去に起こったことが変更不可能である” という性質に反するとして、1割程度のノードから反対されました。結果として、9割方のノードが採用した新しいブロックチェーンが正式なイーサリアムとなり、反対の立場にあるノードが元のブロックチェーンを運用し、これがイーサリアムクラシックとなりました。 このようにハードフォークを行うには、その提案を行う事自体の労力に加えて、ノード全体の半分以上の同意が必要であり、簡単に実現できるわけではありません。 EIP-867によるソフトフォーク EIP(Ethereum Improvement Proposals)コミュニティでは、現状のイーサリアムの問題に対する解決策が議論され、一般的に現状のイーサリアムに互換性のある形式の提案が承認され、アップデートとして配信されます。 EIP承認の流れやERCについての記事はこちら ネットワーク上のノードは、このEIPで承認されたアップデートをマイナーな公式アップデートとして受け取り有効化していきます。 EIP-867で提唱されたETHの救済方法は、このEIPの承認手順に則ったソフトフォーク的な方法だと言えます。 EIP Editorとは? EIPコミュニティには、EIP Editorという権限を持つ人物がいます。彼らは新たな提案を受け取り、その提案が適切である場合はEIPとして番号を与えて、EIPに関するGithubレポジトリに提案を検討(Draft)状態として公開します。 また、公開された提案に対する議論の末、EIPが公式アップデートとして取り込むべきと判断した場合には、提案を承認(Accept)し最終版を確認(Final)した上で公式なアップデートとします。 (提案されたEIPが経るプロセスフローチャート 引用:https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md ) 2018年2月22日現在、EIP Editorはイーサリアムの開発者であるVitalik Buterin氏を含め6名です。EIP EditorやEIPコミュニティの目的やガイドラインについてはEIPの1番としてGithub上に掲げられています。 EIP Editor 平井洋一氏の懸念と辞職 2017年2月上旬に、6名いるEIP Editorの一人であった日本人論理学者の平井洋一氏が、EIP-867に関する提案を以下の2つの懸念事項を理由に受け入れられないと表明しました。平井氏はその後、この件をきっかけにEIP Editorを辞職します。この一件は、今回巻き起こっているEIP-867に関する倫理的な議論を象徴する出来事だと言えるでしょう。以下に平井氏の懸念事項を紹介し考察します。 平井氏の懸念 ① 〜イーサリアムの分散自治的な側面〜 ブロックチェーン技術に根ざしているイーサリアムは、そもそも国家や政府はもちろんのこと、どの様な立場の人や組織も管理権限を持たない分散自治組織的な設計がされています。この組織では権限者が居ないかわりに、全ての意思決定で全ユーザーの投票により過半数以上の賛成を必要とします。 しかし、そうとは言ってもイーサリアムの技術的な変更も公平なユーザーの投票によって過半数を得る事が最善とは言い切れません。イーサリアムは元々Vitalik氏を中心とした天才的なプログラマ達によって開発されている緻密な暗号理論に基づいたシステムです。これを正しく更新し続ける為には高度な専門知識が必要になります。そのため、イーサリアムEIPではこの様な背景から、EIP Editorが改善案の承認を最終的に行う事で初めて公式なアップデートとなるような一部の管理権限を認める仕組みを設けています。 この様な理由から権限を持つEIP Editorは慎重に検討して、イーサリアムコミュニティ全体にとって公平な改善案のみを承認するべきだと言えます。 平井氏の懸念事項の一つ目はこの点です。つまり、もし今回提案されたEIP-867が承認されれば、今後不正(と思われる)ETHの盗難や凍結があった場合に、この資金を最終的にどのように処理するのかと言う、極めて特定の利益に関わる決定権をEIP Editorが持つことになります。 これは上述したイーサリアムの分散システムの哲学に反します。EIP Editorはイーサリアム利用者の信任を得て決定される訳でも無く、また、その存在についても一般に高く認知はされていません。よってEIP Editorが特定のアカウントの残高情報を変更する強い権限を持つべきではない、というのが平井氏の指摘です。 “I don't think anybody has the authority to make an irregular state change. I don't think I have the authority to review processes regarding who has the authority to make an irregular state change. These beliefs come from the lack of authorizations from Ethereum users. I don't think all users of Ethereum gave authorization to this EIP process, or know about the EIP process. The EIP process is not mentioned in the licenses of Ethereum clients. EIP editors are not chosen democratically either.” (引用: https://github.com/ethereum/EIPs/pull/867#issuecomment-365541405 ) 平井氏の懸念 ② 〜日本の刑法との抵触の可能性〜 また日本人である平井氏がEIP Editorとして今後このEIP-867で述べられたERPを承認した場合に、日本の刑法 ”電磁的記録不正作出及び供用” に抵触する可能性があることを述べています。この刑法は、ある電磁記録に関する権限を持っていない状態で記録を作り出す・改変することを罰するという内容のものです。 例えば他人の預金残高の記録を持ち主の許可無く改変することはこの刑法で罰せられる可能性があります。 平井氏は直接的にどのように抵触するかについては言及していませんが、おそらく、EIP Editorとして他人のETH資金の情報を所有者の許可なしに書き換えるERP案を承認する行為が、この刑法での犯罪の幇助にあたると考えているのでしょう。 The Japanese penal code defines a crime called "Unauthorized Creation of Electromagnetic Records". (edit: this item applies also outside of Japan) I'm currently not in Japan but in Germany. I suspect there might be a similar rule in Germany, and I don't know how broadly that applies. Once I thought it's enough not to touch individual cases because I had civil cases in mind. After realizing the penal code aspects, I'm not sure if I can do anything here in this pull-request. (引用: https://github.com/ethereum/EIPs/pull/867#issuecomment-365541405 ) 平井氏の辞職 平井氏は当初、上述した2つの懸念事項を理由にEIP-867に対する否定的なコメント寄せました。ただし平井氏はその後の議論を経て、イーサリアムの哲学に反するという①の懸念事項については解釈を無視することで解決できるとしました。しかし、②の刑法への抵触については無視できないとしました。 平井氏が否定的なコメントを寄せる一方、イーサリアムのコミュニティマネジメント及びParityのテクニカルコミュニケーションを担当しているアフリ氏は、今回のERPの提案を強く支持しています。 そして、アフリ氏はTwitter上にて、日本という一つの国の法律に抵触する恐れがあるという理由で、イーサリアムに有用な提案が拒否されることは、イーサリアムコミュニティで起こるべきではないという旨の意見を表明し、平井氏がEIP Editorを辞任することを呼びかけました。 平井氏はこれに応答し、もし平井氏自身が辞任したとしても、それは後続のEIP Editorが刑法を無視することになるだけだという意見を表明しました。結果として、その10時間後にEIP Editorを辞任するに至りました。 各国の規制と分散自治組織の対立 今回紹介したEIP-867に関する議論は、イーサリアムにて大きな問題となっている盗難・凍結された資金の回収に関するものでした。しかしここから、イーサリアムと言う分散型システムを開発・推進するコミュニティが実際に存在することによって発生する、日本の法規制との対立構造が浮き彫りになりました。 公開されたブロックチェーンによって作られるシステムは、一般的に国などの従来の枠組みを超えた分散自治的な特徴を持っています。しかし、そのコミュニティに参加する人々は、何処かしらの国籍を持ち、自国の法規制に束縛されます。 今後ブロックチェーンをベースとした分散自治的な組織が更に拡大するでしょう。そして、そこで発生する従来の国や政府などの枠組みによる規制との対立をどのように解決していくのかは、分散自治組織を現実社会で利用する上で非常に重要な視点となるでしょう。
ビットコインやイーサリアムのベース技術「ブロックチェーンが創るWeb3.0の世界」

ビットコインやイーサリアムのベース技術「ブロックチェーンが創るWeb3.0の世界」

2018/03/02 at 5:49 PM 0 comments
ビットコインやイーサリアムに代表される、最近の仮想通貨ブームが訪れたことによって、“ブロックチェーン”と言う言葉が広く知られる様になりました。しかしこのブロックチェーン技術を使って、いったい何がどう変わるのでしょうか?またどの様なアプリケーションが生まれてくるのでしょうか?読者の中には、そのような疑問を持っている方は多いかもしれません。もしくは身の回りの人から聞かれたりするのではないでしょうか。 ブロックチェーン技術が広く社会に浸透した後に、このことを振り返るのは簡単でしょう。しかし今この瞬間に先を見通すことは非常に難しいことです。今回の記事は、“ブロックチェーンが創るWeb3.0の世界”と言う視点で、ブロックチェーン技術が社会に与えるインパクトを読み解いていきたいと思います。また代表的なブロックチェーン技術を用いたアプリケーションに関しても簡単に紹介します。 Web 3.0とは? Web 1.0とWeb2.0の時代 Webの移り変わりを区分する説明として、Web 1.0やWeb 2.0といった言葉がよく使われます。まずはweb 1.0とWeb 2.0から振り返りましょう。 Web 1.0の時代はWebが誕生した黎明期を指しており、情報の発信は一方向であったと言えます。誰もが相互に情報をやり取りする訳ではなく、多くの人にとってはWebページ上の情報をただ受け取るだけでした。 Web 2.0の時代は、SNSが広まった時期でしょう。Facebook, twitter, Youtube...これらのSNSの登場によって、私たちの情報発信の仕方は大きく変わりました。情報の発信は双方向であり、誰もが情報の発信者になれる時代です。また、このWeb 2.0と言う概念は2005年にティム・オライリーが提唱したものです。Web 1.0と言う言葉が誕生したのも、それまで存在していたWeb自身がWeb 2.0に置き換えられたからこそです。 ブロックチェーン技術が創るWeb3.0 それではWeb3.0とはいったい何なのでしょうか。冒頭に述べた様に過去を振り返ることは簡単ですが、未来を見通すことは非常に難しく、まだWeb3.0の定義ははっきりとは定まっていません、一つ言えることは、 Webにおける新たなパラダイムの到来ということだけです。ある人は“人工知能が活用されるWeb(The Artificially Intelligent Web 3.0)”を意図するかもしれませんし、また別の人は“人間の意図を理解できるWeb(The Web 3.0 Semantic Web)”を意図するかもしれません。 そんな中、Essentia.one.のファウンダーであるMatteo Gianpietro Zago氏が「Why the Web 3.0 Matters and you should know about it」という記事をMediumに公開し、注目を集めました。記事中ではブロックチェーン技術を元にして、どのようにWebの世界が変わるかが考察されており、一読に値する素晴らしい記事です。また日本語訳は、WEB3.0の衝撃とは??ブロックチェーン・仮想通貨が実現するネットの未来!にて紹介されています。全文を読みたい方は参照されると良いかと思います。 この記事では、Web3.0にはブロックチェーン技術が使われることが前提として話が進んでいます。しかしWeb 3.0が実際にどのようなものになるかは、まだ誰にもわかりません。そこで私は、Matteo氏の考えるWeb3.0を“ブロックチェーン技術が創るWeb3.0の世界”と呼びたいと思います。以下ではMatteo氏の考えるWeb3.0の世界を要約して紹介します。 ブロックチェーン技術が創るWeb3.0の時代 Matteo氏の記事の要約 Matteo氏の記事では、様々な具体例を挙げてWeb3.0の特徴を解説しています。記事からキーワードを抽出すると以下の様になります。 非中央集権 個人によるデータ管理 セキュリティの向上 相互運用可能 ボーダーレス ダウンしないネットワーク Web2.0の時代では、ユーザーは中央集権的な巨大IT企業のプラットホーム上で、データを双方向的にやり取りすることができました。そして数多くの便利なサービスが誕生しました。しかし、莫大な人数が利用する巨大IT企業のプラットフォームでは、大量の個人情報がサーバーに蓄積される結果となりました。つまりユーザーの個人情報は一部の巨大企業に管理されているのです。あまり信じたくはありませんが、ユーザーの嗜好・検索履歴等の情報は売買されているのです。 一方で、ブロックチェーン技術が創るWeb3.0においては、ブロックチェーン技術を利用したトラストレスでセキュアなプラットフォームが提供されます。そこには中央集権的な管理者は存在しません。その様なWebにおいては、個人データの管理は個人に委ねられるようになり、必要に応じて情報の開示を選択できるようになるのです。 Matteo氏の記事に対する補足 Matteo氏の記事ではさまざまなWeb3.0の特徴が挙げられていますが、ブロックチェーン技術が創るWeb3.0の本質は何なのでしょうか?それは“非中央集権化”と“個人によるデータ管理”だと考えています。 Web 3.0のように高度に分散化され、かつセキュアなプラットホームにおいては、これまでWeb2.0には載せることの出来なかった重要度の高い個人情報を載せる事が可能になるかもしれません。つまりWeb 2.0をスキップして、いきなりWeb3.0に現れるアプリケーションやサービスが存在するでしょう。 例えば、本人確認のために必要な身分証明が良い例です。これまで本人確認をおこなうには、中央管理機関に保存されている個人情報を元にして発行された証明書が多くの場合で必要でした。身分証明を必要とするようなサービスを利用するには、中央管理機関から発行された公的な証明書を取得し、提出する必要があります。これらの個人情報にいつでも自由にアクセスできる訳ではないため、身分証明の度に公的な証明書を取得するのは大変な負担です。 しかしブロックチェーン技術を用いた分散型IDがこの状況を変える可能性があります。ConsenSys社が開発しているuPortは、イーサリアム上で動作する「身分証明情報管理システム」です。個人情報をuPortで一元的に管理し、状況に応じて必要な個人情報を自由にアクセスし開示する事ができるのです。  個人情報の管理権限が個人に帰属することは大変素晴らしいですが、しかしそこにはデメリットもあります。Matteo氏の記事では強調されていませんでしたが、全ての情報を個人が管理することには大きなリスクが伴います。分散型ID管理サービスのuPortにおいては信頼すべき第三者機関は必要ありません。しかしユーザーは個人情報を開示するにあたって、信頼できる第三者を自分自身で見極め、情報を提示する必要があるのです。もしあなたが 個人情報を誤って流出させてしまったらどうなるでしょうか。仮想通貨の秘密鍵を流出させてしまった場合にと同様に、あなたの責任を取ってくれる人は誰もいないのです。 具体的なアプリケーション ここまでは主にWeb 3.0の概念を説明してきました。実際にはWeb3.0の世界においては、どのようなアプリケーションが実際に使われるのでしょうか。Matteo氏の記事では、 Web 2.0とWeb 3.0における主要なサービスに対して、比較する形を取りながらアプリケーションが紹介されています。Web3.0の時代に向けて、誰もが日常的に利用している“ブラウザ”と“メッセージングアプリ”に関するアプリケーションを簡単に紹介します。 ブラウザ ウェブサイトを閲覧するためのブラウザは誰もが使った事があるでしょう。普段利用しているChrome/Firefox/Safariといったアプリケーションは、Web2.0時代の代表的なブラウザです。現代のブラウザとウェブサイトの問題点として、広告ブロックが挙げられます。広告はウェブサイトの運営側にとっては貴重な収入源ですが、閲覧者にとっては邪魔なものです。ユーザー側の対策としては、ブラウザにアドオンを追加して広告をブロックする事が考えられます。しかし、広告ブロックにかかる処理によって、ウェブページを表示する速度が遅くなるという問題があります。 そこで現在開発が進んでいるのが、Web3.0時代のブラウザであるBraveです。Braveはブロックチェーン技術を基盤とするブラウザです。2017年6月に実施されたICOでは、30秒で3500万ドルを調達し、大きなニュースとなりました。Braveには広告ブロック機能が標準で装備されており、ユーザーは広告を見ないか、Braveが挿入する別の広告を見るかを選べます。広告を見ないことで非常に高速なページ表示が可能になるばかりでなくユーザーは通信費を節約できます。逆に広告を見ることを選ぶと、ユーザーは見た広告に応じて広告料を得ることが可能になります。これはWeb2.0ではgoogleなどの広告仲介業者がすべて利益にしていたお金です。このようにWeb3.0では従来中間にいた第三者が得ていた利益をユーザーに還元することが可能になります。 メッセージング メッセージングアプリは、現代人のコミュニケーションには欠かせないツールです。日本ではLINE、中国ではWeChatといったメッセージングアプリが人気です。これらメッセージングアプリでは、メッセージの送受信はもちろん、独自の電子マネーのやり取りが可能です。 ただしLINEやWeChatは非常に便利なアプリなのですが、いくつかの問題点もあります。その一つにメッセージングアプリが中央集権的に管理されている都合上、メッセージの通信内容を傍受されるという事が挙げられます。実際にWeChatでは、通信内容が検閲されています。 一方でStatusは、イーサリアム上に構築されたWeb3.0時代の分散型モバイルメッセージジングプラットフォームです。メッセージの送受信内容は暗号化されており、通信が傍受される恐れがなくなります。またStatusのメッセンジャー上では、ETHといったデジタル資産を安全に送受金することが出来ます。その他にもイーサリアム上で動作しているDapps(uPort, Gnosis...etc)にアクセスすることが出来ます。Web2.0時代のメッセージングアプリをより安全かつ便利に使えるようになるでしょう。 まとめ 私たちは今、Web 2.0からWeb 3.0への時代の転換期にいます。Web 3.0がどの様な世界になるかは完全に予測することは出来ません。ブロックチェーン技術によって創られる“個人情報を個人が管理できる非中央集権的なWeb”は、Web3.0の定義に関する一つの答えかもしれません。
イーサリアム資金盗難の救済措置 EIP-867の仕組みとは?

イーサリアム資金盗難の救済措置 EIP-867の仕組みとは?

2018/02/28 at 7:41 PM 0 comments
イーサリアムなどの仮想通貨/暗号通貨を利用したICOによる資金調達額は、2017年に約40億USドル相当に達しました。このように近年ICOによる資金調達の活発化に伴い、ICOプロジェクトを狙ったハッキングによる盗難や、実装されたコードの不備による資金凍結(誰も取り出せなくなること)の被害も増加しています。そこでETHが盗難・凍結した場合に、そのETHを取り戻す方法がEIP-867として提案されました。 本記事では2本連載にて前半ではこの提案の内容について、後半でこれにまつわる議論や出来事を整理して解説していきます。 ERCとEIPについて ERCとして公開された技術仕様に関する文章は、まず単なる問題提起からスタートします。提案された問題や技術が重要であれば議論が進み、最終的にはEIP(Ethereum Improvement Proposals)として採択されます。 EIP採択までの過程には、Draft(検討段階)→Accepted(承認済み段階)といったステータス(状態)があります。AcceptedされたEIPは最終的にまとめられ、イーサリアムの仕様として正式に採用(Final)されることになります。採用されたものは、イーサリアムの公式なアップデートとしてネットワーク上のクライアントに組み込まれていきます。 イーサリアムのバージョンアップや仕様変更などは、全てこのプロセスを経て行われることになっています。この一連のプロセスの解説については本メディアの過去の記事で解説しております。 EIP-867の概要について EIP-867は前述した通り、ICOなどによって調達したETHがハッキング被害やコードの不備などによって意図せず盗難・凍結した際に、被害者が資金を取り戻すリクエスト(ERP: Ethereum Recovery Proposals)を行い、これが承認された際にその資金が取り戻せる方法を標準化しようと試みた提案です。 これは2017年2月2日に、Musiconomiの開発者であるDan Phifer氏、そしてTapTrustの開発者であるJames Levy氏、Reuben Youngblom氏によって提案されました。 過去の被害と対処例 この提案が行われた背景には、過去に多発したICOで調達した資金の盗難・凍結があります。代表的な例として、The DAOでのハッキングやマルチシグウォレットサービスParityでのバグによる被害が挙げられます。 The DAO The DAOは非常に大きな注目を浴び、短期間で1億米ドル以上の資金を調達し、クラウドファンディングによる史上最高記録を塗り替えました。しかし調達直後に致命的なコードのバグによって、ハッキングの被害に遭い8000万米ドル相当の資金を盗難されました。 これはイーサリアム自体にとってもその価値を下げる大きな問題であった為に、イーサリアム自体がハードフォークし、このハッキングを無かったことにし、資金を元のウォレットに戻すという対応が取られました。最終的に、The DAOはこの対処によって盗難した資金を取り戻すことに成功しました。 Parity 次にParityの例について見てみましょう。 Parityは、スマートコントラクト上で実行されるウォレットサービスです。このParityの2017年7月20日にリリースされたバージョンにて、あるバグが報告されました。 このバグは、ある操作で通常のウォレットがマルチシグウォレットに意図せず変更されてしまい、この際にウォレットを開けるために必要な秘密鍵が資金と共にウォレットの中に保存されてしまうというものでした。 これはある部屋に入るために必要な鍵が部屋の中にある言わば”閉じこもり状態”であり、このマルチシグウォレットの中に保管されていたETHは事実上凍結されて、誰も移動することができなくなってしまうものでした。 プライベートブロックチェーンとパブリックブロックチェーンをリンクさせるというアイディアで、ICOにて1億4000米ドルを調達したPolkadotもこの被害にあっており、その調達資金のうちの60%が影響を受けているとされています。 Unfortunately, our multi-sig is among those frozen. @ParityTech is working on the situation and will provide updates when available. — Polkadot (@polkadotnetwork) 2017年11月7日 EIP-867の提案者であるDan氏が、ICOを行った音楽系のサービスMisiconomiも被害を受けています。そして昨今このような被害報告が急増しています。しかし、それに対する救済措置は殆ど行われていないのが現状です。むしろThe DAOで行われたハードフォークは、イーサリアム開発者の全面協力による特例的な対応であったと言えるでしょう。 そこで資金盗難・流出が発生した際に、大規模なハードフォークを行わずに資金回収をする方法がEIP-867で具体的に提案されました。 EIP-867で提案された資金回収方法 この提案では、実際に起こったParityの事件に限らず、ハッキングやコードの不備など様々な原因によって、あるウォレットからの資金が意図せず盗難・凍結した場合に、これを取り戻す方法が示されています。ここではある誤送金の例を用いて資金を取り戻すまでの一連の流れを解説します。 あるICOプロジェクトにてプロジェクト責任者が、誤ってテストネット(プログラムの評価や動作確認に使用する実際の金銭価値の無いネットワーク)で作成した振込先のアドレスをホームページ上に掲載した場合を考えます。 このアドレスはメインネット(金銭価値がある本物のネットワーク)でも有効ではありますが、秘密鍵はテストネットのものとは異なるために、この責任者はここに振り込まれた資金を利用することはできません。 問題が発覚した時には既に100人の投資家によってこの間違ったアドレスに500ETHが送金され、この500ETHは実質的に凍結されてしまいました。 ここでこの責任者は凍結した資金を解除するリクエストERP(Ethereum Recovery Proposals)によって、500ETHを投資家の元のアドレスに戻すような送金をすることを試みます。 まず責任者は、ERPの提案者としてイーサリアムのEIPコミュニティに、ERPの原案をEIP-xxx(xxxには提案番号が入る)として投稿します。 ERPの原案の中身 ERP原案には主に以下の内容が含まれています。 Verification script(検証コード) Verification scriptとは、イーサリアムのブロックチェーン上に存在するデータなどの事実を使って、State Change Actionsによって凍結資金の解除を実行するかどうかを決定する検証を行うコードです。 検証コードに具体的に記述された条件が満たされた場合に、検証コードはイーサリアムクライアントが実行できる形式のState Change Objectを生成して、凍結資金解除のトランザクションを生成します。 ここでは検証コードの例として、 ブロック番号○○~xxまでの取引にて誤ってメインネット上のテストネット用アドレスに500ETHが送金されたこと テストネット上でのこのアドレスには確かにICOプロジェクトのスマートコントラクトが実装されていたこと(つまり確立論的にメインネット上にこのアドレスの所有者は存在し得ないこと) 上記の全てが真実である場合には全ての送金者に投資されたイーサリアムを返却するState Change Objectを生成する と言った内容が書いてあるとします。 State Change Object これはイーサリアムネットワークのクライアントによって実行されるファイルの標準形式です。 この中には、ERPの番号(ERP id)や変更を要するブロック番号(Target Block)、そして検証コードを実行した際のブロック高(sourceBlock)と検証コードのバージョン(version)に加えて、資金返還を行うトランザクションがState Change Actionsとして記述されます。 State Change Actions この中には送金元のアドレス(凍結資金が保管されているアドレス)と送金先のアドレス(合計500ETHを送金した100人のアドレス)と返金するべき金額など、トランザクションの情報が具体的に記載されます。 (ERPの構造) ERPが承認されるまでの流れ EIPコミュニティに投稿されたERP原案は、以下の2つの立場の人たちからのフィードバックを受け、最後にEIP編集者の承認を受けます。 この資金凍結の関係者 プロジェクト関係者や実際に送金を行った投資家などがあたります。 特に被害に遭った投資家は、ERP原案のState Change Actionの中に確かに振り込んだ金額のETHが自分のアドレスに戻るようなコードが書かれているかを確認し、何かしらの誤りがあればコミュニティ上で指摘することができます。 非関係者 この資金凍結に関係が無い立場の人間が、検証コードに書かれている内容などが正しく実際に発生した事を記述できているか、これが実行された際に正しい資金凍結の解除がされるのかを判断します。これは裁判で言う陪審員や裁判官の役割に近いでしょう。 EIP編集者(EIP Editorship)による承認 フィードバックの期間は最低でも30日程度が必要だと述べられています。このフィードバック作業は、公開にて行われコミュニティ上では色々な議論が巻き起こるはずです。そして最終的にEIPの編集者が、コミュニティでの議論内容を踏まえてこのERPの提案を承認(Accept)するかを決定します。 ここで承認された提案はEIP可決案となり、公式なイーサリアムのアップデートとしてイーサリアムネットワークに拡散されることになります。 (ERP承認までの流れ) ERP承認から資金凍結解除までの流れ クライアントノードに伝わったERP可決案は、それぞれのクライアントノードで実行されていきます。まず検証コードが実行され、この時確かに検証内容が正しいと判断された場合には、State Change Actionsを含むState Change Objectを生成し、実際に資金凍結解除のトランザクションがイーサリアムネットワーク上に書き込まれていきます。 通常のトランザクション同様に、この凍結解除処理トランザクションも一定の時間が経過すれば有効となり、無事凍結した資金は送金者の元に戻っていくことになります。 (可決されたERP案はクライアントノードにて実行される) 以上がEIP-867で提案された凍結されたETHの取り戻しに関する仕組みになります。しかし凍結資金の取り戻しは非常にセンシティブな問題であり、議論が間違った方向に進めば誤って人の資金を不正に送金するツールになってしまう可能性も孕んでいます。後半の記事ではこの様なEIP-867に関して巻き起こっている様々な議論について解説していきます。
イーサリアム基盤技術を始めとしたエンタープライズ・ブロックチェーンの未来

イーサリアム基盤技術を始めとしたエンタープライズ・ブロックチェーンの未来

2018/02/19 at 7:13 PM 0 comments
ブロックチェーン(Blockchain)技術は2018年、企業の中枢を担う1つの要素になると考えられています。ブロックチェーン技術自体は、ビットコイン(Bitcoin)が誕生して以来、イーサリアム(Ethereum)等の仮想通貨の基盤技術として活用されてきましたが、仮想通貨の注目度が高まることで、多くの企業がブロックチェーン技術を積極的に取り入れ活用、革新しようと試みています。 仮想通貨としては時価総額第2位のイーサリアムブロックチェーン技術を活用しようと、2017年春にEEA(Enterprise Ethereum Alliance)が設立されたこともその証拠と言えます。 本記事では、企業向けのブロックチェーン技術であるエンタープライズ・ブロックチェーン(Enterprise Blockchain)について解説した後、エンタープライズ・イーサリアム(Enterprise Ethereum) の未来を考察していきます。 エンタープライズ・ブロックチェーン(Enterprise Blockchain)とは? ブロックチェーンには大きく分けて2種類あります。 パブリック・ブロックチェーンの特徴(Public Blockchain つまり Bitcoin or Ethereum, etc...) 匿名性が高い データがすべてのユーザーに共有されている コンセンサスアルゴリズムが現行はPoW エンタープライズ・ブロックチェーンの特徴(Enterprise Blockchain つまり  Hyperlegder, Ethereum Enterprise, Ripple,etc...) すべてのユーザーまたデジタルアイデンティティは特定の信頼の置ける組織によって認識されている データの読み書きはロールベースで幾つかのユーザーによる許可をもとに行われる。 複数のアルゴリズムがコンセンサスに使用される 多くの企業がブロックチェーン導入を試み、失敗を重ねているのが現状です。というのも、パブリック・ブロックチェーンを使用していたことが原因とされています。パブリックのものでは、各企業の持つ特殊なプロトコルを採用することが困難であったからです。 そこで、エンタープライズ用のブロックチェーンを代わりに使用することが考えられています。エンタープライズ・ブロックチェーンにも、さらにプライベートとコンソーシアムの2種類が存在します。 プライベート・エンタープライズ・ブロックチェーン 名前の通り、1つの組織または企業によって管理されるブロックチェーンのことです。 コンソーシアム・エンタープライズ・ブロックチェーン 複数の組織または企業によって管理されるブロックチェーンのことで、新規に参加する場合、複数の参加組織または企業からのコンセンサスが必要となります。 エンタープライズ・ブロックチェーンの強み、活用方法 エンタープライズ用のブロックチェーンを作り使用することは、企業にとって幾つかのメリットを提供します。そのため、大手IT企業(マイクロソフト、IBM、SAP、オラクル、etc.)や、様々なプロジェクトがエンタープライズ・ブロックチェーン技術を改良しようと研究開発を行っています。 活用方法 多くの業種や業務において将来を嘱望されています。 例えば・・・ サプライチェーンにおいて、全体の透明性と説明責任を改善する可能性があります。現在は材料の供給元の追跡、信憑性やオリジナルの証明、先行リコール、商品流通の加速などの用途において使われています。 資産管理の新たな方法として公共機関(国)からも新規需要を見出しています。 エネルギーの新たな売買方法を提供します。 これらを実現するためのプロジェクトは、上記の大手IT企業やプロジェクトによって推進されています。 メリット 全般的なメリットとしては、企業の取引や作業の効率化、迅速化。仲介者を減らすことによるコスト削減や時短。それによる収入の増加が見込めます。 エンタープライズ・イーサリアムの強み 各々の企業がブロックチェーン技術を改善している中、仮想通貨イーサリアムもエンタープライズ向けにブロックチェーン技術を提供しようと動いています。 エンタープライズ・イーサリアムの強みを、パブリックイーサリアム・ブロックチェーンと比較した場合と、他のエンタープライズ・ブロックチェーンとの比較に分けて解説していきます。 パブリックイーサリアム・ブロックチェーンと比較して 先述したように、イーサリアムはパブリックブロックチェーンであり、エンタープライズ向きではありません。一方でエンタープライズ・イーサリアムは非公開のブロックチェーンとして、その名の通り企業用途に合わせて設計されていることがあげられます。また、イーサリアムの特徴であるスマートコントラクトは実装されており、コンソーシアム型として使用するのには最適であると考えられます。 他エンタープライズ・ブロックチェーンと比較して 元々イーサリアム技術を使用していることで、最終的にパブリックのブロックチェーンとも連携することが考えられる点です。それにより、より信頼性の置けるデータ管理、取引契約を実施することが期待されます。 冒頭で記述したEEA(Enterprise Ethereum Alliance)が存在し、多くの企業が参加していることは産業横断型のベストプラクティスやブロックチェーンナレッジを、全業界に適宜に提供可能であることもさらなる魅力です。 エンタープライズ・イーサリアムの課題 全企業(全業界、業種)向けのベストプラクティスを目指しているため、より多くのEEA加盟企業が必要となります。それから技術面において、パブリックのイーサリアムプラットフォームとの連携を実現するための手段を模索している段階であり、今後、セキュリティ、スケーラビリティに関係した面を改善していく必要があります。 第一に、エンタープライズ・イーサリアムの実用例がないため、まだ改良、実用段階に移るための時間は必須と考えられます。 「EEA also plans to develop open industry standards. "This open source framework will enable the mass adoption at a depth and breadth otherwise unachievable in individual corporate silos and provide insight into the future of scalability, privacy, and confidentiality of the public Ethereum permissionless network," according to the press release.」(引用:https://www.techrepublic.com/article/growth-of-enterprise-ethereum-alliance-signals-blockchains-impact-on-future-of-business/) エンタープライズ・イーサリアムの未来 ブロックチェーンを導入する大手ライフサイエンス企業は、この5年間で83%にまで到達するといった予測が立てられています。それに準じて、その他多くの業界/企業も活用していくことは明白です。事実、ブロックチェーン技術を検討している北米とヨーロッパの大手銀行の割合は90%にまで達しております。 (引用:https://www.sap.com/japan/products/leonardo/blockchain.html#) 様々な競合、別プロジェクトが活発に動いている中、エンタープライズ・イーサリアムが先陣を切ってブロックチェーン技術を多くの企業に提供する未来は、もう数年の月日がかかると予想されます。しかしその時、世界の全企業の間で革新が起こることに疑いはありません。ブロックチェーン技術の動向、それに伴うイーサリアム・エンタープライズの飛躍に今後も注目です。 参考記事: https://www.linkedin.com/pulse/blockchain-enterprise-new-tech-old-problems-chad-woodward/ https://www.coindesk.com/enterprise-blockchain-may-finally-ready-breakout/ https://azure.microsoft.com/ja-jp/blog/accelerating-the-adoption-of-enterprise-blockchain/ https://prtimes.jp/main/html/rd/p/000000647.000000183.html https://www.sap.com/japan/products/leonardo/blockchain.html# http://gaiax-blockchain.com/enterprise-ethereum)
単なる仮想通貨を超えたイーサリアムブロックチェーン/スマートコントラクトが可能にする未来

単なる仮想通貨を超えたイーサリアムブロックチェーン/スマートコントラクトが可能にする未来

2018/02/15 at 9:17 PM 1 comment
ビットコイン(Bitcoin/BTC)やイーサリアム(Ethereum/ETH)に代表される仮想通貨に対し、疑心を抱いている方は多いでしょう。価格の推移(ボラティリティ)やチャートの動きは日々激しく、他の金融市場に比べると圧倒的に不安定です。 しかし現在人々の考える当たり前とは、過去当たり前であったのでしょうか。今回、仮想通貨の中で今年最も注目度の高いイーサリアムに焦点を当て、それが未来に及ぼす可能性について言及していきます。 未来。NO ONE KNOWS. ONLY FEW PEOPLE BELIEVE WHAT THE FUTURE CAN BE CREATABLE. 実現困難だと思われていた技術 冒頭で問いましたが、今の当たり前は過去当たり前だったのでしょうか。想像をふくらますためにも、複数の具体例を挙げてみたいと思います。 飛行機 飛行機が登場した当時、誰もが夢のように感じていた事が可能になりました。「空を飛ぶ」です。想像はできても、誰もが不可能だと考えていた事です。周知の通り、アメリカ出身の発明家ライト兄弟によって世界初の有人飛行機が誕生しました。現在では誰もが飛行機を使用することは当たり前ですが、飛行機が発明されるまでは多くの人が疑い、不可能だと考えていました。 しかし、ライト兄弟に他者からの大きな出資金はなく自己負担で、数人のそれを可能だと信じる者の助けを借り、夢に描いていた想像を実現するため尽力し成功させました。 携帯電話、スマートフォン 世界中の人と即時に連絡が取れる、離れていても話せる、カメラにもなる、音楽を聴ける、欲しい情報が手に入る。こんな製品を2,30年前に想像していた人は何人存在したのでしょうか。今では世界中ほとんどの人が当然に使用していますが、昔の人からしたら想像不可能であり、疑いを抱かざるを得ないのです。ガラパゴス携帯が誕生し、その後のスマートフォンでさえ疑い深い物でした。 現在私たちが使用している物すべてと言えるほど、普及当初は賛否両論で、疑いの念を抱かずにはいられなかったのです。コンピューターの誤作動が頻発した2000年問題後に、コンピューターの動きが完全停止する時が来ると多くの人が懸念した事が良い例です。 イーサリアムの技術 イーサリアム、その他の仮想通貨と同様に基盤となる技術はブロックチェーンです。イーサリアムはさらにスマートコントラクト技術も持ち合わせています。(詳細参照:https://consensysmediajapan.com/3429.html) イーサリアムを使用している個人個人が、各々のプラットフォームを共有することで改ざんを防ぎ、信頼のおけるデータを保管、管理していくことが可能です。また、イーサリアムのプログラム構造を理解してさえいれば、自由にイーサリアム技術を個人や企業が使うことができます。その例が、DApp(Decentarised Application)になります。(詳細参考:https://consensysmediajapan.com/3531.html) 現在は自社でアプリケーションを開発するとなると、各々にカスタマイズした管理システムであったり、基盤を構築しなくてはいけません。イーサリアムはそうではなく、イーサリアムプラットフォームという同一基盤上に、自由にアプリを作成することが可能な世界を創り出そうとしています。 「『失敗するとも、消えてなくなるだろうとも考えていない。しかし、同様に世界のあらゆるものを分散化する、バックボーンになりうるソフトウェアではないことも確かだ。イーサリアムはそうではない。例えば、今存在する、独自の台帳を持つあらゆるアプリケーションは、もはや台帳を持たずにすむようになるかもしれない。つまり、アプリケーションに特化した台帳が必要なくなるかもしれない。』」 (引用:https://btcnews.jp/vitalik-buterin-talked-ethereum-longtail/) イーサリアムが活用、応用された未来 上述したDAppのように、多くの人々がイーサリアムの技術を使用して新たなアプリケーション、ソリューションを提供しています。参考サイトには紹介のないDAppの1つに”Status”(https://status.im/)といったものがあります。このDAppは簡単に言ったらLINEのようなチャットツールです。 コミュニケーションツールは躍進し続けています。文通から電話回線、メール、アプリ(LINE,WhatsApp,WeChat,その他SNS)そして次はイーサリアムを基盤としたStatus等のDAppかもしれません。 現在普及している中でも、中国で主に使用されるWeChatの機能は群を抜いています。中国人は財布はおろかカード、現金さえも携帯しない時代なのです。それもすべてWeChatといったアプリが支払い、その他機能を兼ね備えてしまっているためです。 Statusがイーサを使用した決済機能を提供するにとどまらず、例えばメルカリのようなサービス、契約の絡む案件においてもまかなうことが可能になるかもしれません。その頃には現存するアプリケーションサービスは、すべてイーサリアムベースで稼働している可能性すらあります。 以上のように考えると、イーサリアムにすべてを管理されているように感じる方もいるかもしれません。しかし先述したように分散型でP2Pの世界であることは、自己アイデンティティの自己管理が可能なのです。出す相手によって、出す情報も、自分の管轄下です。これは、イーサリアムによって他者とつながっているのみにすぎないのです。 Facebookの場合、すべての個人情報はFacebookに管理監督されているが、イーサリアムは違います。これはイーサリアムを創造した若き天才ヴィタリック・ブリテン氏の想像、夢の果なのです。 「たとえば、ぼくらはいま、いくつかのデジタルアイデンティティをもっているけれど、それぞれのデジタルアイデンティティはひとつの企業によってコントロールされている。さまざまなサーヴィスにログインするためにGoogleアカウントとTwitterアカウントとFacebookアカウントを使うけれど、それはグーグルやツイッターやフェイスブックといった企業がぼくらのデジタルアイデンティティを管理下に置いていることにほかならない。ヤツらはぼくらがどんなサーヴィスを使っているかを知っているし、アカウントを閉鎖することだってできる。そして誰かがそうした企業をハッキングしたら、別のアカウントになりすますこともできる。」 (引用:https://wired.jp/special/2017/vitalik-buterin/) イーサリアムがもたらす現状改善 IoTとイーサリアムを組み合わせることで、ビジネスの様々な契約を簡略化していくことが可能になります。これはBtoCとBtoB両者に言えることです。 例えば、BtoBでは発注や受注の管理を効率化することで、全体の業務効率を改善していきます。BtoCに関しては、顧客の情報管理や契約に関する全プロセスをより効率に、安全に行うことが可能です。個人情報の漏洩が発生することのない、安全な世界が実現される可能性を秘めています。それでいて、情報の質も高いことに文句の言いようはないでしょう。 「例えば、IBMはモノのインターネット(IoT)にブロックチェーンを利用するプロジェクトをイーサリアムを使って進めています。この中のサムスンとの実験では家庭用洗濯機が洗剤残量を感知し、自動的に報告すると共に、洗剤の発注書を自動作成し、実際に発注を行う。これを受けた洗剤販売会社も自動的に洗剤を発送し、発送通知を行う。そして、代金の決済も自動的に行われます。」 (引用:http://cryptpark.com/%E3%82%A4%E3%83%BC%E3%82%B5%E3%83%AA%E3%82%A2%E3%83%A0%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%8B%EF%BC%9F%E4%BD%95%E3%81%8C%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%AE%E3%81%8B%EF%BC%9F/) 多くの銀行では、イーサリアムのスマートコントラクト技術を使用することで、業務の多くを自動化しようと研究が行われています。銀行振込、決済等にかかる時間をリアルタイムで完遂することは、今の銀行を利用する顧客の利便性を圧倒的に改善することでしょう。(参照:https://consensysmediajapan.com/3463.html) 現在のイーサリアムの課題、改善点 イーサリアムの現状の課題は、トランザクションに要する時間です。トランザクション詰まりが起こる根本的な原因としては、ある一つのブロックに書き込めるトランザクションのデータ量に限りがあることです。その解決策としてオフチェーン処理(プラズマ、ライデン)または、PoSの導入、シャーディングが挙げられます。詳しくは下記を参照ください。(参照:https://consensysmediajapan.com/3860.html) さらに、DAppに関する課題として、現在稼働しているDAppまた構想段階の物の中に、イーサリアムの技術でしか生み出せない物がないことです。イーサリアムを基盤にするメリットはあっても、Only1の存在には未だなりきれていないのです。  「イーサリアムのための具体的なユースケース、特に、『ブロックチェーンを使用しなければ作れないアプリケーション』は、残念ながら現状存在していないと話した。」(引用:https://btcnews.jp/vitalik-buterin-talked-ethereum-longtail/) まとめ 冒頭で述べたように、ライト兄弟は夢をあきらめず理想と格闘し続けました。その結果、現代の人々には欠かせない移動手段である「飛行機」が生み出されたのです。現存する全ての製品や技術は誰も知らないところから、誰かによって生み出された”ZERO TO ONE”の物なのです。 イーサリアムもまさにゼロから生み出され、今後50にも100にも成長していく技術なのです。創造者である23歳のブリテン氏が、今後も理想を追い続け苦闘していく中で、社会から真の信頼を掴み取る技術となりうるでしょう。 NO ONE KNOWS, ONLY FEW PEOPLE BELIEVE WHAT THE FUTURE CAN BE CREATABLEと記述しましたが、ブリテン氏の今の活動を知り、期待を持つこともFEW PEOPLEに該当すると考えられます。今後の彼の夢や、コミュニティの努力を信じることくらいは、誰にでもできるのではないでしょうか。 今後のイーサリアムコミュニティの活躍、エコシステムの飛躍は彼の理想の実現であり、世界に飛行機や携帯電話が生まれたときのような衝撃を残すことになるかもしれません。また、それが全ての人々の当たり前となる日も近いのかもしれません。
Lightning&Raiden ビットコインとイーサリアムのオフチェーン技術とは?

Lightning&Raiden ビットコインとイーサリアムのオフチェーン技術とは?

2018/02/10 at 3:28 PM 0 comments
  スケーラビリティ問題 ビットコインやイーサリアムを始めとした仮想通貨は近年非常に注目されており、利用者は急激に増加しています。そこで問題になるのが利用者の増加にシステムが追いつかなくなり送金・着金に非常に長い時間がかかってしまう「詰まり」と呼ばれる現象です。 本メディアでは過去の記事で、この「詰まり」がなぜ発生してしまうのか解説しています。これの問題はスケーラビリティ問題と呼ばれており、これを解決する有力な方法の一つとして、ステートチャネルを利用したオフチェーン処理が開発されています。 これは具体的にはビットコインでは「Lightning」、イーサリアムでは「Raiden」という名前で開発が進められています。 本記事ではステートチャネルについて簡単に触れた上で、LightningとRaidenについて紹介します。 オフチェーン処理 オフチェーン処理とは、本来ブロックチェーンの上で行われる取引を、ブロックチェーンに書き込まずに行うことを意味します。 トランザクションの詰まりの原因は、そもそもブロックチェーンがある時間内に処理できるトランザクションの量に限りがあるからです。この時間内で処理できる取引数は、ビットコインで1秒あたり7件程度、イーサリアムで15件程度とされています。 そこで、取引の一部をブロックチェーンに書き込まないオフチェーン処理を利用することによって、実際のブロックチェーンに書き込まれる取引数を減らし、時間あたりの取引数制限の影響を大幅に減らすことができるようになります。 オフチェーン処理の分かりやすい例として、「取引所内での取引」を挙げましょう。本来ビットコインの取引が成立するまで30~60分待つ必要がありますが(詰まりが起こればこれ以上に待ち時間は長くなります。)、取引所内での取引が一瞬のうちに完了するのは、取引所内での取引はブロックチェーンに書き込まれず、取引所のサーバー上でのみ処理されているからです。 ただし、取引所におけるオフチェーン処理のセキュリティ管理は各取引所によるため、オンチェーン処理ほど安全ではありません。そこで、このようなオフチェーンの取引をセキュアに個人間でも実現しようとしているのがLightningやRaidenです。 ステートチャネル ​LightningとRaidenは共に、ステートチャネルと言われる技術に根ざしています。ステートチャネルとは「ある2者間でオフチェーン取引を行うための場」の事を指します。 一つのステートチャネルでは、チャネルが開かれてから決められた時間内で起こった取引については、ブロックチェーン上に記録されません。 そしてチャネルを終了する時(予め決められた時間内か、又は両者がチャネルを閉じる事に同意した時)、元々の2者の残高から、チャネル内の全ての取引を行った後の2者の残高になるよう、ブロックチェーンに取引が記録(オンチェーン処理)されます。 特に金銭の支払いに関するステートチャネルのことを、ペイメントチャネルと呼びます。 ここで、AさんからBさんへのペイメントチャネルを用いた支払いについて考えます。 Aさんは、Bさんが経営するカフェの常連客で、週に5回もやって来て数百円のドリンクを注文し、ビットコインで支払おうとしています。ビットコインでの送金手数料が1回0.001BTCだとすると、Aさんは手数料だけで週に0.005BTC(1BTC=100万円だとして5000円)も支払うことになります。 また支払いがブロックチェーン上で承認されるまで、毎回1時間ほど待たなければいけません。 そこでAさんは、Bさんとの間にペイメントチャネルを作りました。このチャネルの有効期間が1週間だとすると、この期間の間にAさんがカフェで支払った5回の支払いは全てペイメントチャネル上で行われブロックチェーンに記録されません。そして、1週間が経過してペイメントチャネルを閉じる時、AさんからBさんへ支払った総額が計算され、一つのトランザクションとしてブロックチェーンに記録されます。 このような取引の方法を取ることで、ペイメントチャネルの中で取引を行う分には手数料が掛からず、またマイニングによる承認も必要ない為、ブロックが承認される時間を待つ必要ありません。 ペイメントチャネルを利用するために掛かる手数料は、最後にチャネルを終了する際に、Aさん・Bさんの最後の残高の状態を反映する為に行うトランザクションにかかる手数料だけになります。 ステートチャネルを利用したオフチェーンでの支払いの仕組みについては、こちらの記事で詳しく解説されています。 LightningやRaidenが実現されれば、この手数料の掛からない2者間でのステートチャネルが、複数の参加者の間に複数ある場合でも、ネットワークを辿って支払いが可能になります。この仕組みを利用することによって、以下のメリットがもたらされます。 スケーラビリティ問題の解決 ステートチャネル内で行われた支払いは、ブロックチェーン上には記録されません。そのため、十分なステートチャネルが存在すれば、理論的には現在の数千〜数万倍の数のトランザクションの処理が可能になると言われており、現在問題になっているトランザクションの詰まりの問題を解決することが期待されています。 手数料の削減 1つのステートチャネルを使用する際の手数料だけを支払えば、ステートチャネル内での支払いに対する手数料は実質掛からなくなります。これは一回のトランザクションの手数料を大幅に安くすることを意味しています。 トランザクション処理の高速化 ステートチャネルでの支払いは、マイニングによる承認が必要ないので非常に高速に行う事ができます。 LightningとRaidenの相違点 Bitcoin Lightningとイーサリアム Raidenの考え方は、どちらもステートチャネルが複数繋がったネットワークを利用して、オフチェーンで取引を行うという仕組みを採用しており、基本的にアイディアは同じです。但し両者の間には、利用目的の違いがあります。 ビットコインは元々、ブロックチェーンを利用した新しいお金として開発されており、Lightningネットワークはビットコインを通じた支払いを、より便利に行う事を目的にしています。 対してイーサリアムは、お金としての機能に加えて、分散型アプリケーション(DApps)やスマートコントラクト機能を持つトークンが利用できるプラットフォームとして開発されており、RaidenネットワークではDAppsの運用やトークンの交換をサポートしています。 例えばRaidenを使うことによって、Youtubeに代わる分散型のDTubeというサービスを作ることもできます。DTubeはイーサリアム上で動作するDAppsであり、DTuber(YoutubeでのYoutuber)は一定の金額以上を獲得しないと広告料が引き出せないYoutubeと違い、自分の動画が見られたその瞬間に少額の広告料の支払いを得る事が可能になります。 “Additionally, many decentralized applications can run on the speed and scalability of the Raiden Network. For example, a decentralized payment appreciation service. Think of dTube, Steem's decentralized video service, yet instead of creators being paid only when the user chooses to upvote them, they get paid constantly for every second watched. This can set things up to compete better with Youtube, where creators are paid for every ad watched, yet get rid of all of the paywalls and ads in the process.” (引用:https://steemit.com/bitcoin/@mooncryption/scaling-cryptos-bitcoin-lightning-network-vs-ethereum-raiden-network) その他にもRaidenでは、イーサリアム準拠のトークンを扱えることから、分散型取引所(DEX)への応用にも期待されています。DEXについては本サイトのこちらの記事に詳細が解説されています。 LightningとRaidenの開発状況 LightningのDeveloperチームがMediumに掲載したポストによると、Lightningは全てのテストを完了し、現在実際のビットコインのメインネットで動かすことができる1.0RC版がリリースされています。 実際にLightning LaboのYoutubeページでは、Lightningを使って高速にコーヒーの支払いを行っているデモ動画が上がっており、たった1秒ほどで支払いが完了している事が確認できます。 また2018年1月24日には、シリコンバレー地区のあるコーヒーショップでBitcoin Lightningを利用した支払いが始まったようです。 Setup Backyard Brew https://t.co/aGFHfUOfMP with a Lightning-Mainnet coffee storefront interface. If you are near Palo Alto come by if you want to test buying coffee with Lightning! I bought the first cup, coffee tastes so much better with Lightning 😬 pic.twitter.com/8JWo3gcCbR — Alex Bosworth ☇ (@alexbosworth) 2018年1月23日 イーサリアムのRaidenについても、既にイーサリアムのテストネットであるRopsten上で動かすことができるRiden Network v0.1.0が公開されています。 LightningとRaidenの懸念点 これら2つのアルゴリズムが用いているステートチャネルには、いくつかの懸念や問題点が提起されています。 ルーティング問題 1対1でのステートチャネルでの支払いの考え方はとてもシンプルです。しかし、これがステートチャネルを連結させたネットワーク上での話しになると、どのステートチャネルを経由すれば目的の取引を効率的に成立させられるのかを計算する必要があります。 これはルーティング問題として議論されていましたが、現在ではインターネットで用いられているBroader Gateway Protool(BGP)に似た手法を用いて解決されています。 流動性の問題 ステートチャネルを介した多くの支払いが成功するには、ある程度の金額がデポジットされたステートチャネルができるだけ多く開かれていて、かつオンラインである必要があります。 しかし、ユーザーが多くの仮想通貨をデポジットしておくことは、オフチェーン処理にとって良いことではありますが、そのユーザー個人には何の利益もありません。 よって、ステートチャネルネットワークには十分な流動性が確保されないという問題があります。数学的なシミュレーションからも、ステートチャネルネットワークを利用したシステムが非合理的であるといった厳しい批判も見られます。 まとめ 近年急激にユーザーが増加し、スケーラビリティ問題に直面しているビットコインやイーサリアムについて、それぞれの解決策として開発されているLightningとRaidenについて解説しました。 ステートチャネルネットワークを利用することによって、大きく利便性を向上することが期待されますが、まだモデルとしては不完全な部分があるのが現状です。しかし、両者共に積極的に新しい解決策が提案されており、問題が解決されリーズナブルな処理が実現されるのも時間の問題なのかもしれません。
ビットコインやイーサリアムの保管、仮想通貨ウォレットの種類や仕組み

ビットコインやイーサリアムの保管、仮想通貨ウォレットの種類や仕組み

2018/02/08 at 7:42 PM 0 comments
ビットコイン(Bitcoin,BTC)やイーサリアム(Ethereum,ETH)をはじめとした仮想通貨、ホット/コールドウォレットやハードウェアウォレット等、様々な保管方法があり、セキュリティ対策が必要です。日本の大手取引所コインチェックで盗難事件が起き、仮想通貨のセキュリティに関心を寄せた方も多いでしょう。 本記事では、仮想通貨取引所に保管するリスク、ウォレットの種類や特性を解説し、適切な保管方法を考察します。仮想通貨における暗号技術や送金の仕組み、セキュリティに関する基礎について詳しく知りたい方は、こちら。 取引所で頻発していた盗難事件 コインチェック事件 2017年1月26日に、ビットコインやイーサリアムなどを取り扱う日本最大手の仮想通貨取引所/販売所の「Coincheck」に保管されている、5億2300万XEM(約580億円相当)がハッキングされました。読者の皆さんにも被害に遭われた方がいたのではないでしょうか。Coincheckは被害に遭った26万人に対する全額保証を発表しましたが、日本では仮想通貨への不安感を強く印象付ける事件となりました。 過去の盗難事件 しかし、日本のメディアではあまり報道されていないだけで、同様の被害は世界中で発生しています。仮想通貨に関するハッキング被害は一番有名なもので、2011年にあったマウントゴックス(Mt.Gox)での75万ビットコインの消失事件(2018年1月31日の価値にして約8000億円に相当)。最近では、2017年12月19日にも、韓国の仮想通貨取引所Youbitが、当時での換算レートで約7600万円相当の資金をハッキングによって盗難されています。 過去にあった仮想通貨取引所の大規模なハッキング被害についてはCoinDatabaseにまとめられています。 取引所に預けている仮想通貨は安全? これらの事件から総じて学べることは、取引所に預けることが安全とは言い切れないという事です。そこで本記事では取引所より安全と言われている仮想通貨の保有方法であるウォレットでの保管の基本的な仕組みや、種類、そしてそれぞれの特徴について解説します。 仮想通貨のウォレットとは? 仮想通貨はブロックチェーン技術に基づいています。ブロックチェーンの基本的な仕組みについては過去の記事を御覧ください。また、この記事をより深く理解するために、仮想通貨の取引で用いられる公開鍵と暗号鍵に関する記事を読むことをお勧めします。 仮想通貨のウォレットとは簡単に言ってしまえば、その名の通り仮想通貨を保管する ”お財布” です。ですが厳密には仮想通貨の所有権を示す ”秘密鍵” と呼ばれる文字列がその中に保管されています。 仮想通貨の管理は全て秘密鍵によって行われます。秘密鍵を使うことでその鍵に紐付いた資金をブロックチェーン上で動かすことができます。逆にこの秘密鍵が盗み出されることは、その鍵に紐付いた資金が盗まれることと同然だと言えます。 仮想通貨取引所が被害に合っているハッキングでは多くの場合、顧客から預かっている大きな金額の仮想通貨が紐付いた秘密鍵が盗み出される事で被害が発生しています。 取引所での保管 取引所で仮想通貨を管理していると、パソコン・スマートフォンのブラウザから、取引所のサイトにアクセスして利用することができます。取引所では、秘密鍵の管理を自分で行う必要はなく、必要な処理は全て取引所側が行います。 そのため、仮想通貨に関する知識が無くても、メールアドレスとパスワードでログインするだけで送金・受金・交換などの取引ができ、便利である反面、セキュリティは取引所に委ねられます。また取引所によって、セキュリティの高さはまちまちであり、そのセキュリティレベルは外部の利用者からはなかなか分かりません。 加えて、どんなにサービス自体のセキュリティが高くとも、サービスにログインするパスワードを盗み出されてしまってハッキング被害に合うというケースもあります。TNWの記事によると、香港の仮想通貨取引所「Binance」の偽サイトを通じて、ログインパスワードが盗み出された被害が報告されています。 bitFlyerでは、この様な事態に備えて、三井住友海上火災保険と保険契約を提携しており、不正ログインにて日本円が出金された際には500万円まで保証するサービスを行っています。 セキュリティレベルを高める努力を行なっている仮想通貨取引所ですが、多くのユーザーの資金を一括で管理している限り、ハッキングの攻撃対象になることは避けられません。この点で、取引所に仮想通貨を預けるということは、ウォレットでの保管よりも危険と言えるでしょう。 取引所のメリット・デメリット ○仮想通貨の知識が無くても簡単かつ便利に利用できる ○どこからでもブラウザを通じてアクセスできる ○場合によっては取引所側での補償制度がある ☓セキュリティレベルは取引所に委ねられている ☓ハッキングの対象になりやすい 仮想通貨のウォレットでの保管 ウォレットと一口に言っても、その形や特長に幾つかの種類があります。以下に代表的なウォレットとそのメリット・デメリットをまとめます。 ローカルウォレット(クライアントウォレット) ローカルウォレットは、自分のパソコンやスマートフォンに、それぞれの仮想通貨専用のソフトウェアをインストールして使うタイプのウォレットです。ビットコインのBitcoin coreが代表的なものとして挙げられます。 ローカルウォレットでは、秘密鍵の情報は自分のパソコン・スマートフォンに保存されるので、紐付けられた仮想通貨を完全に自分の手元で管理していることになります。ローカルウォレットでは、状況に応じてオフラインでの管理なども可能であり、自分で適切に管理することで、取引所より安全に仮想通貨を管理できます。 しかし、秘密鍵はウォレットがインストールされている端末に保存されているので、他の端末では仮想通貨を管理できないことや、その端末がウィルスに感染したり故障した際に、仮想通貨が盗まれてしまったり、取り出せなくなってしまうことがありえます。 ローカルウォレットのメリット・デメリット ○仮想通貨を自分で管理(取引所の倒産・サービス停止の影響を受けない) ○仮想通貨取引所に比べて安全性は高い ▲自分で秘密鍵の管理が必要(ある程度の仮想通貨の知識が必要) ☓パソコンのウィルス感染によるハッキング、故障による損失の可能性 ペーパーウォレット 仮想通貨の秘密鍵を紙に印刷して保存する方法が、ペーパーウォレットです。ペーパーウォレットはインターネットから隔離されているので、ハッキングをすることはできず、印刷された秘密鍵を誰にも見られることが無い限り、最も安全に仮想通貨を保管することができます。 ペーパーウォレットは以下の作成支援サイトから印刷して作成することができます。 Bitcoin: https://www.bitaddress.org/ Ethereum: https://www.myetherwallet.com/ しかし、ペーパーウォレットはただの暗号文字列が書かれた紙であり、他のコンピューター上で使うウォレットでできる、残高の確認や取引の作成などの基本的な機能はもちろんありません。 このような作業をペーパーウォレットで行うには、ウィルスに感染していない安全なパソコンを使ってペーパーウォレットの暗号鍵を読み込む必要があります。また、物理的にペーパーを紛失した際に、仮想通貨が取り戻せないので管理方法には気をつけなければいけません。 ペーパーウォレットのメリット・デメリット ○ハッキングされることはない ○紙などに印刷して簡単に管理可能 ☓操作性が悪い(資金移動、残高の確認などが単体でできない) ☓盗難や紛失の可能性 ビットコインペーパーウォレットの例(https://www.bitaddress.org/にて作成) ハードウェアウォレット ハードウェアウォレットはペーパーウォレットの安全性と、ローカルウォレットの利便性を併せ持ったウォレットです。その見た目は小さなデバイスであり、数多くの仮想通貨の保管に対応している「Ledger Nano S」や、古くからハードウェアウォレットとして定評のある「Trezor(トレザー)」があります。 ハードウェアウォレットでは、ペーパーウォレット同様に秘密鍵がインターネットから隔離されます。この秘密鍵は、ハードウェアウォレットの中の専用のICチップに保管されており、パソコンやスマートフォンから簡単にアクセスして、秘密鍵に紐付いた資金を移動させたりすることができます。 ハードウェアウォレットに保存した秘密鍵を使用する際には、専用のパスコードの入力が求められるようになっているので、ペーパーウォレットと違い、もしそのウォレットを誰かが盗んでも悪用することは簡単にはできません。 また、紛失や故障の際には、事前に紙に書き留めた復元用キーワードを使って、全ての資金を新しく購入したハードウェアウォレットに移動が可能です。 総合的に見ても、数あるウォレットの中でも便利かつ安全なハードウェアウォレットですが、唯一のデメリットとしては、購入時のコストや手に入れるまでの時間がかかることです。 ハードウェアウォレットは、改造されている可能性などを避けるために新品を正規販売社から購入する必要があります。2018年1月31日現在、Legder Nano Sは79EUR(約10,700円)、Trezorは89EUR(約12,000円)であり、Ledger Nano Sについては在庫がなく最短の発送まで2ヶ月程待つ必要があります。 ハードウェアウォレットのメリット・デメリット ○ハッキングの可能性は極めて低い(ペーパーウォレット並のセキュリティ) ○操作性が高い(資金移動、残高確認などPCに接続して簡単に行える) ○紛失時の安全性・バックアップ ☓購入時のコスト、時間 (左: Ledger Nano S, 右: Trezor, それぞれ公式サイトより) ハードウェアウォレットでの保管が現実的か? ここまでで、ハッキングの攻撃対象になりやすい仮想通貨取引所に対して、ローカルウォレット、ペーパーウォレット、ハードウェアウォレットで保管する方が原理的に安全であるという事を解説しました。 これら3つのウォレットは、確かに原理的にはどれも安全であると言えます。しかし、現実的にこれらのウォレットを準備する流れを考えると、ローカルウォレットは常にウィルスに感染していないコンピューターで使用する必要があり、ペーパーウォレットも作成から印刷までの経路では、ウィルスに感染していない事が確認できたコンピューターを使用する必要があります。どれだけ安全なウォレットであっても、作成時にその情報が誰かに盗まれてしまえば、対策のしようはありません。 ハードウェアウォレットは購入コストがかかってしまいますが、この安全なコンピューターを用意するという最も面倒な問題を解決します。 詳細な説明は割愛しますが、ハードウェアウォレットでは組み合わせて使用するコンピューターに、マルウェア・キーロガー・ウィルスといったものが侵入していても、秘密鍵の作成や使用時にコンピューター単体ではその情報が読み取れない仕組みがあります。 この仕組みによって、正しい方法で購入したハードウェアウォレットさえあれば、併せて使用するコンピューターの安全性を証明できない状態であっても、安全な仮想通貨の保管や取引を実現することができます。 保有する仮想通貨の金額にもよりますが、自分が所有している仮想通貨に対する安全をお金で購入することができるのがハードウェアウォレットの特徴だと言えるでしょう。 ウォレットにまつわる事件簿 本記事では仮想通貨をより安全に保存する各種のウォレットについて紹介しました。記事ではそれぞれのウォレットが何故安全なのかを簡単に示しましたが、現実にはウォレットの仕組みを悪用して内部の仮想通貨が抜き取られる事件が多数起こっています。 仮想通貨の保管については、100%安全な手法は存在しません。例え最も安全だと言われているハードウェアウォレットでも、幾つかの被害事例が報告されており、その安全性を過信するべきではありません。むしろ自分の保管方法が潜在的に孕んでいる危険性を知っておくことが、最大のリスクヘッジになると筆者は考えています。 そこで本記事では、最後に過去に起こったそれぞれのウォレットのハッキング事件について紹介します。仮想通貨の保管は、ハッキングや偽物のサービスを提供する詐欺師とのイタチごっこです。過去の事例を学んで自分の保管方法を再度考え直してみましょう。 ペーパーウォレットにまつわる事件 ペーパーウォレットが作成できるMyEtherWalletの偽サイトMyEther”a”Walletが発見される。https://steemit.com/ethereum/@dhumphrey/scam-warning-fake-myetherwallet-phishing-site また同サービスのiOS版にも偽物が登場し、一時App Storeランキングで3位になる。(既に削除済)https://www.blockchain-labo.jp/news/fake-app ハードウェアウォレットにまつわる事件 非正規販売者から購入したハードウェアウォレットに付属のキーワードを使用したことが原因で、保存した仮想通貨が盗難。本来自分で決定する復元用コードが、紙に印刷されて販売者によって同梱されていた。http://doublehash.me/do-not-buy-hardware-wallet-from-amazon/ ハードウェア的な脆弱性を利用して、Trezorの復元用キーワードを本体から抽出に成功。 (これは本体のファームウェアバージョン1.5.2以上で対策済) https://www.wired.com/story/i-forgot-my-pin-an-epic-tale-of-losing-dollar30000-in-bitcoin/
ビットコインやイーサリアムの保管、仮想通貨の公開鍵と秘密鍵

ビットコインやイーサリアムの保管、仮想通貨の公開鍵と秘密鍵

2018/02/08 at 7:35 PM 0 comments
ビットコイン(Bitcoin,BTC)やイーサリアム(Ethereum,ETH)をはじめとした仮想通貨、ホット/コールドウォレットやハードウェアウォレット等、様々な保管方法があり、セキュリティ対策が必要です。日本の大手取引所コインチェックで盗難事件が起き、仮想通貨のセキュリティに関心を寄せた方も多いでしょう。 本記事では、仮想通貨における暗号技術や送金の仕組み、セキュリティに関する基礎を技術的に解説します。どのウォレットに保管すべきか詳しく知りたい方は、ウォレットの記事をご覧ください。 Coincheck NEM盗難事件 2018年1月26日、日本の大手取引所 Coincheckから5億2千3百万XEM(時価580億円相当)がハッキングされるという事件がおきました。XEMの総発行数は約90億ですので、全体の6%ほどが盗まれたことになります。また実際に被害を受けたアカウント数は、約26万とアナウンスされています。被害総額・人数が非常に大きいことから、仮想通貨史に名を残す大事件であったと言えるでしょう。 この事件を巡っては、Coincheckのセキュリティ管理の甘さが指摘されています。確かに、取引所として然るべきセキュリティ対策を怠っていたことは、重大な問題です。ただ、この事件を取引所だけの出来事として捉えるのではなく、ユーザー側の仮想通貨に関するリテラシーを改善する機会として捉えることもできます。 今回の記事では、仮想通貨のセキュリテイを支える公開鍵暗号方式(公開鍵/秘密鍵)とその他の技術(マルチシグ/コールドウォレット)を紹介します。この記事を読むことで、仮想通貨をより深く理解し、安全に保管できるようになるでしょう。 公開鍵暗号方式 ビットコインやイーサリアムをはじめとする仮想通貨を送金する際には、“秘密鍵”と“公開鍵”と呼ばれる二つのペアになった暗号鍵が使われています。この秘密鍵と公開鍵を用いた仕組みは、公開鍵暗号方式と呼ばれています。この暗号化の仕組みは、仮想通貨だけではなく、暗号化を必要とする様々な通信において利用されています。 秘密鍵、公開鍵は、その名前からイメージできるように、それぞれ“秘密にしておくべき鍵”と“公開してもよい鍵”です。秘密鍵はランダムに生成され、公開鍵は秘密鍵から生成されます。しかし公開鍵から秘密鍵を知ることはできません。ですので公開鍵が公開されているからといって、他人があなたの秘密鍵を推測できる訳ではありません。 まずは、仮想通貨における秘密鍵と公開鍵の役割を解説する前に、公開鍵暗号方式をより深く学んでみましょう。データの送信者と受信者の間において、どのようにして秘密鍵と公開鍵を利用して暗号化/復号化を実行するか説明します。 データの送信者は、受信者が公開している公開鍵を取得する。 データの送信者は、取得した公開鍵を用いてデータを暗号化&送信する。 データの受信者は、秘密鍵を用いてデータを復号化する。  公開鍵を用いて暗号化されたデータは秘密鍵でしか復号化することができません。つまり、公開鍵暗号方式のポイントは、開けることしかできない鍵と閉めることしかできない鍵が存在するということです。 このやり取りは、“南京錠(公開鍵)”と“南京錠の鍵(秘密鍵)”の関係に非常に近いです。南京錠と南京錠の鍵の例を用いて、再度、暗号化/復号化の手順を考えてみましょう。 データの送信者は、受信者から南京錠をもらいます。この時、南京錠の鍵は開いたままです。 送信者は、もらった南京錠を用いてデータに鍵をかけ、送信します。 データの受信者は、南京錠の鍵を用いてデータに付けられた南京錠を開けます。 南京錠を使った例は非常に分かりやすいですね。この例を通じて、開けることしかできない鍵(南京錠の鍵)と閉めることしかできない鍵(南京錠)の重要性がわかったかと思います。 電子署名 さて、先ほどの例では公開鍵を暗号化、秘密鍵を復号化に使用しましたが、この逆は可能でしょうか。つまり秘密鍵を暗号化、公開鍵を復号化に使用するということです。 これは実際に可能で、秘密鍵を閉めることしかできない鍵、公開鍵を開けることしかできない鍵、として利用することができるのです。 ここで疑問となるのが、公開鍵は公開されているのだから、秘密鍵で暗号化したところで、誰にでも復号化されてしまうのではないか?ということです。一見すると、このような暗号化は無意味に思えるかもしれません。 しかし秘密鍵での暗号化は、送信者の「電子署名」として利用することができるのです。例を考えてみましょう。 データの送信者は、自分自身の秘密鍵を用いて、データを暗号化する。 データの送信者は、同時に、自分自身の公開鍵を公開する。 データの受信者は、公開鍵を取得し、データを復号化する。  この一連の流れによって、受信者は、データが確かに送信者のものであると確かめることができます。なぜならば、受信者がデータを公開鍵で復号化できるということは、そのデータが送信者の秘密鍵で暗号化されていることに他ならないからです。秘密鍵は送信者しか持っていませんので、署名したのが送信者本人であるという理屈は成り立ちます。 秘密鍵を用いた仮想通貨送金プロセス 仮想通貨における秘密鍵・公開鍵の利用方法を考えて行きましょう。送金は以下の手順で実行されます。 Aさんは、送金情報を自分自身の秘密鍵を用いて“電子署名”する。 Aさんは、この電子署名された送金情報と自分自身の公開鍵をセットにして、ビットコインネットワークに送信する。 Bさんは、公開鍵を用いて、電子署名された送金情報の有効性を確認する。 このように秘密鍵を用いた電子署名によって、送金情報がAさんのものであると証明することができます。 では秘密鍵が盗まれてしまった場合はどうなるでしょう?秘密鍵を盗んだ人は、その秘密鍵を使って電子署名ができる=送金することができるので、あなたの仮想通貨は盗まれてしまうことになります。秘密鍵は仮想通貨を送金できる唯一の鍵です。絶対に他人に知られてはいけません。 秘密鍵の管理 取引所での管理 Coincheckのハッキング事件でも問題になりましたが、多くの人が取引所に仮想通貨を預けているのが現状です。通常、取引所に預けている仮想通貨の秘密鍵は、取引所が保管しており、ユーザーが目にすることはありません。 秘密鍵は絶対に他人に知られてはいけないものですが、それを取引所が管理している(預けている)ということは、ユーザーが取引所を信用していることに他なりません。 取引所も秘密鍵の保管には細心の注意を払っていますが、残念ながらハッキングによって秘密鍵が盗まれ、送金されてしまう事件は度々起きています。 取引所に預けているからといって、あなたの仮想通貨が100%安全であるという保証はどこにもないのです。 ウォレットでの管理 取引所に仮想通貨を預ける以外に、ウォレットを利用する方法があります。 ウォレットには、その種類・性質に応じてホットウォレット、コールドウォレット、ハードウェアウォレット、ソフトウェアウォレットなどの分類が存在しますが、どれもお財布のようなものだと思っていただいて構いません。ウォレットに関する詳細は、本メディアのウォレットに関する記事が参考になるでしょう。 ウォレットの利用においては、秘密鍵の保管はユーザー自身に任されています。取引所に秘密鍵を預けていない分、セキュリティが高いように思えます。しかし、あなたが保管する秘密鍵が誰かに盗まれてしまう可能性がありますし、また秘密鍵を紛失してしまう可能性もあります。あくまでも自己責任において保管しなければならず、盗まれてしまった場合は誰も補償してはくれません。 セキュリティを高める技術 秘密鍵の保管が仮想通貨の保有において非常に大切であることは、先に述べた通りです。以下では、秘密鍵をより安全に保管するいくつかの方法について解説します。 マルチシグ 秘密鍵を複数に分割し分散して保管する手法があり、これは”マルチシグ”と呼ばれています。複数に分割された秘密鍵が一定数以上揃わない限り、送金が実行できない仕組みになっています。 いくつの秘密鍵を揃えば送金ができるかに関しては、“2/3”のように表記されています。この意味は、3つに分割された秘密鍵のうち、2つで署名が行われた場合に送金を実行する、ということです。 分割された秘密鍵は、通常異なる場所に保管されるため、ハッキングによる仮想通貨流出のリスクを下げることが可能です。マルチシグに対応した一部の取引所やウォレットは、高いセキュリティを提供していると言えるでしょう。 マルチシグを用いることで、確かにハッキングのリスクを下げることができますが、100%安全という訳ではありません。もし取引所が保管する分割された秘密鍵が一箇所で保管されていたらどうなるでしょう。これは秘密鍵を分割していないに等しく、ハッキングされた場合はマルチシグの意味がありません。 実際に取引所がどのようにして分割された秘密鍵を保管しているかは明らかにされていない場合が多く、ブラックボックスとなっています。とはいえ、マルチシグに対応した取引所が絶対に安全であるという確固たる保証はありませんので、取引所の利用には十分に注意しましょう。 コールドウォレット 秘密鍵が盗まれてしまうことが問題ならば、インターネットから隔絶したウォレットに保管すれば安心かもしれません。このようなインターネットから切り離されたウォレットのことを“コールドウォレット”と呼んでいます。一方で、インターネットに接続されたウォレットのことを“ホットウォレット”と呼びます。 コールドウォレットの種類としては、秘密鍵を紙に書き出して保管する“ペーパーウォレット”や、特別なデバイスに入れて保管する“ハードウェアウォレット”が存在します。 しかしコールドウォレットも100%安全であるとは言えないでしょう。例えばペーパーウォレットを物理的に盗まれたり、紛失してしまった場合には、仮想通貨を失ったことと同じになります。金庫等で保管するといった、さらなる対策も必要になるでしょう。 まとめ 仮想通貨のセキュリティを支える技術として公開鍵暗号方式を紹介しました。その中でも特に、秘密鍵が仮想通貨の送金において重要な役割を果たしていることは理解していただけたと思います。 秘密鍵の管理に細心の注意を払うことはもはや大前提です。確かに、マルチシグやコールドウォレットを使うことで、ハッキングの被害に遭う確率は下げることができます。しかし、今回の事件のように、取引所内に保管していては、肝心の秘密鍵は取引所任せとなってしまいます。取引所にある、あなたの仮想通貨も自身のコールドウォレットに移した方がいいかもしれません。
仮想通貨イーサリアムの技術標準 ERCとは何か?ERC-20,223,721の違い

仮想通貨イーサリアムの技術標準 ERCとは何か?ERC-20,223,721の違い

2018/02/01 at 6:58 PM 0 comments
ERCとは?なぜ必要? 市場規模第2位の仮想通貨イーサリアム、そのイーサリアムベースのトークンに関わり始めると、”ERC”や”ERC-20”といった言葉を耳にする機会が多いかと思います。今回の記事では、このERCやERC-20(ERC-223, ERC-721含む)について解説します。本記事を読めば、ERCとは何なのか?またERC-20/ERC-223/ERC-721のそれぞれの違いは何か?といった点について理解することができるでしょう。 インターネットの仕様は誰が決めてきたか?IETFとRFC ERCについて話す前に、インターネットの技術仕様がどのようにして決められているかについて説明します。インターネットの技術仕様の成り立ちを理解することで、より良くERCについて知識を深められます。 さて、今、みなさんが使っているインターネットですが、どうして異なるOSのコンピュータを、誰もがどこでも同じように使えて、相互に通信できるのでしょうか。ここから話を進めていきましょう。 理由の一つに、全員が共通の技術を使っている、ということがあげられます。インターネットは様々な技術の集合体です。しかし、もしもインターネットを構成する一つ一つの技術が、コンピュータや国や地域ごとに異なっていたら、相互接続し利用することは困難でしょう。 今では考えられませんが、昔は異なるOSのコンピュータ間でのデータ通信はできませんでした。異なるOSのコンピュータは、異なる仕組みや技術で動いていたからです。この問題を解決するために、アメリカのいくつかの大学によって結成されたのが「Networking Working Group」です。それは1969年の夏のことでした。 そして1986年、この活動はIETF(Internet Enginnering Taks Force)に引き継がれることとなりました。 インターネットに関連して広く公開されるべき技術は、このIETFへ提唱&議論されることになります。最終的に承認された技術仕様は、RFC(Request For Comments)という名前で文章化され、インターネット上で誰もが参照できるようになります。 参照:IETF | RFCs トークンの技術仕様は誰が決める?EIPとERC ここまでIETF/RFCに関して話してきましたが、ここから先はイーサリアムベースのトークンに関する、技術仕様を決定する方法について説明します。 ERCとは? ビットコインやイーサリアムをはじめとするブロックチェーン技術は、まだまだ歴史が浅く、誕生して10年すら経過していません。しかしブロックチェーン技術は日進月歩のスピードで、日々めまぐるしく開発が進められています。 この状況はまさに、インターネット技術の開発が始まった1960~1980年代と同じと言えるでしょう。ブロックチェーン技術の開発は、インターネット技術の開発から学ぶべきことが多くあり、その一つに技術の標準化があります。 特にイーサリアムは、ブロックチェーン上で動作するアプリケーションのプラットフォームとなることを目指して開発を続けてきていますので、技術の標準化は重要なテーマです。最近はICOなどを通じて、多くのイーサリアムベースのトークンが発行されています。 もしこのトークンがイーサリアム上で動作するにも関わらず、それぞれ別々の技術仕様で設計されていたらどうなるでしょう?取引所やウォレットの開発などが困難になることが想像できると思います。共通のトークン仕様を策定し、それに従う方が、イーサリアムコミュニティにとってもユーザーにとっても大きなメリットがあるでしょう。 実際にイーサリアム・コミュニティは、技術仕様の標準化に対して非常に積極的です。そしてイーサリアム・コミュニティでの標準化の流れによって生み出されたのがERC(Ethereum Request For Comments)です。 ERCは、イーサリアム上における技術仕様を文章化したもので、これは先ほど述べたIETFにおけるRFCに相当します。ERCもRFCも”Request For Comments”  ということで、広くコメントを集め、オープンに技術を発展させていく姿勢が伺えます。 EIP採択までの過程 ERCとして公開された技術仕様に関する文章は、まず単なる問題提起からスタートします。提案された問題や技術が重要であれば議論が進み、最終的にはEIP(Ethereum Improvement Proposals)として採択されます。EIP採択までの過程には、Draft(検討段階)→Accepted(承認済み段階)といったステータス(状態)があります。AcceptedされたEIPは最終的にまとめられ、イーサリアムの仕様として正式に採用(Final)されることになります。 例えば20番目に提案されたERC文章は、トークン仕様について議論されたもので、 ERC-20と呼ばれています。このERC-20はトークンの共通仕様を決める重要なものであったため、EIP20として採択(Final)されています。 このEIP20は、Github上にて公開されていますので、興味のある方は覗いてみると良いでしょう。EIP-20-Token-Standard またEIP/ERCでは、トークン仕様だけでなく、イーサリアムに関する様々な技術 - 例えば、EIP-669 ディフィカルティボム調整 - が議論されていることもわかるでしょう。 ERC-20/ERC-223/ERC-721とは ここまで読んでいただいた方は、ERCとは何か、また、ERCとERC-20の違いは何か、といった点に関して理解できたと思います。ここからは、数多く存在するトークン仕様の中で、実際に広く使われているERC-20, ERC-223, ERC-721について解説します。 ERC-20 ERC-20は、2015年11月19日にERCに提案されたトークン技術仕様です。ERC-20が採択されたことにより、イーサリアム上で発行される多くのトークンはこれに従うようになりました。結果として、異なるトークンでも同一ウォレット上で残高一覧を確認できたり、取引所はトークンのアドレスだけで、トークンを上場させることができるようになりました。 ERC-20の致命的欠陥 ERC-20は非常に成功し、広く使われているトークン仕様と言えるのですが、一つ重大な欠点があります。それは、ERC-20準拠のトークンをユーザーの通常のアドレスではなく、コントラクトアドレスに送金してもトランザクションが承認されてしまい、送金したトークンが取り出せなくなってしまう事です。 誤送金されたトークンは二度と取り出すことができなくなってしまい、事実上消滅することになるので注意が必要です。実際に失われたトークンの例が以下になります。日本円換算で3.6億円程度が失われているようです。 「How much ERC20 tokens are currently lost (27 Dec, 2017): QTUM, $1,204,273 lost. watch on Etherscan EOS, $1,015,131 lost. watch on Etherscan GNT, $249,627 lost. watch on Etherscan STORJ, $217,477 lost. watch on Etherscan Tronix , $201,232 lost. watch on Etherscan DGD, $151,826 lost. watch on Etherscan OMG, $149,941 lost. watch on Etherscan STORJ, $102,560 lost. watch on Etherscan」 (引用:https://github.com/ethereum/EIPs/issues/223) ERC-223 ERC-223は、ERC-20の問題を解決した上位互換の新規格で、2017年3月5日にERCに提案されました。223番目のERC提案ですので、ERC-223と呼ばれています。ERC-20と同様にGithub上で議論がなされています。現段階ではERC-223は”Draft”のステータスですので、まだEthereumで正式に承認されている訳ではありません。 参照:ERC 223 token standard token Fallbackとは? ERC-223の重要な機能の一つが”token Fallback”です。これはERC-20の欠陥であると上述した、誤送金を防ぐために実装されています。具体的には、コントラクトアドレス宛にコントラクトに対応していないトークンの送金がされた場合、元の送り主にトークンを送金し返します。一方で、コントラクトアドレス宛にコントラクトに対応したトークンが送金された場合、通常の処理をします。この機能を実装することで事実上、ERC-20トークンであったような誤送金を無くすことができます。 ERC-721 ERC-721は、2017年9月20日に提案された、ERC-20, ERC-223とは異なる方向にトークンを発展させる技術仕様です。注目すべき特徴はNFT(Non-Fungible Token)と呼ばれるトークン仕様を持っている点です。”Fungibility”とは”代替可能性”という意味です。つまり”Non-Fungible Token”とは、”代替不可能なトークン”と言えるでしょう。 Non-Fungible Tokenとは? Non-Fungible Tokenの説明に移る前に、まずは理解を深めるために、身近なFungibleの例を考えてみましょう。一番簡単な例としては、通貨が挙げられます。みなさんのお財布の中の1000円札は、隣の人のお財布の中の1000円札と基本的には同じです(プレミアがついていなければ)。そしてどこでもその1000円を使って、1000円分の買い物をすることができます。このように通貨の果たす機能や価値は同等ですので、”通貨はFungible”であると言えます。 一方で、Non-Fungibleな例としては、オリジナリティを持ったものが挙げられます。美術作品や、ゲーム内であなたが一生懸命育てたキャラクターなど、それ自体にオリジナリティやアイデンティティがあるものは代替不可能であると言えます。この概念をトークンに拡張すると”代替不可能なトークン”にたどり着くことができます。つまり「それぞれのトークンに独自の価値と保有者が結び付けられている」と言えるでしょう。 NFTの応用事例 このERC-721に準拠したトークンを用いて、昨年大ブレイクしたのがCrypto Kittes(クリプトキティーズ)です。Crypto Kittesは、イーサリアム上で「仮想の子猫」を育てるゲームです。ユーザーの育てた一匹、一匹の子猫がそれぞれアイデンティティ(猫の外見や性格など)を持っていて、飼育者に紐づけられています。まさにERC-721のNFTの概念と一致していることがわかるでしょう。 ERC-721の今後 ERC-721によって、イーサリアム上では代替不可能な物をトークン化して扱うことができるようになりました。今後は、このNFTを応用した例が増えてくるかと思います。 例えば、ゲーム内のキャラクターなどは、Crypto Kittesと同じぐオリジナリティを持つ場合が多いため、NFTが活用される機会があるでしょう。しかし、このERC-721はGithub上のERCにおいて議論の真っ最中であり、ERC-223と同じく”Draft”のステータスです。まだイーサリアムに正式に承認された訳ではないことに注意して、今後の動向を見守りましょう。 ERC: Non-fungible Token Standard
イーサリアムブロックチェーンの仕組み PoSが解決すること

イーサリアムブロックチェーンの仕組み PoSが解決すること

2018/01/25 at 7:06 PM 0 comments
この2回の連載記事では、仮想通貨イーサリアムやビットコインブロックチェーンの基本的な仕組みと、その核となる考え方 ”コンセンサスアルゴリズム”  について簡単に解説します。 前回の記事ではブロックチェーンの仕組みと、コンセンサスアルゴリズムであるPoW、そしてその問題点について触れました。 2回目の本記事ではPoWが持つ、51%攻撃、マイニングコスト、スケーラビリティなどの問題を解決する可能性を持つコンセンサスアルゴリズム、Proof of Stake (PoS) について解説します。 Proof of Stake(PoS)の仕組み PoSを直訳すると、”所持金額による証明” となります。PoSを採用している仮想通貨では、ブロックチェーンに新しいブロックを追加する際、よりその通貨を所有している金額が高い人ほど、ブロックをチェーンに繋ぎやすくなる仕組みです。 PoWとの違い 前回の記事で書いた通りビットコインが採用しているPoWでは、より多くの計算を行った人が計算問題の答えを見つけて、ブロックを繋いで報酬を得ることができました。対してPoSでは、計算能力によってではなく、元々持っている通貨の量によって計算の成功率が変わってきます。前回同様に数独を例にすると、PoSでは持っている通貨の量に応じて最初に与えられる問題の難しさが違う、つまり既に埋まっている数字の数が違うことになります。 上図を見ると、右の問題の方が簡単に解けそうな事は一目瞭然です。 またPoSアルゴリズムではどんな人でもある時間のうちに行える計算の回数が決まっています。そのため、PoWの様に計算が難しい分を高性能な計算機を用意して太刀打ちするということはできず、計算を成功させる可能性を上げるには純粋にその通貨の保有量を増やす必要があります。 PoSのメリット PoWに対して、PoSは直感的に分かりにくいと感じた人も多いのではないでしょうか。なぜ保有量に応じて問題の難易度を変える必要があるのでしょうか?ここからは、PoSの仕組みを利用するメリットの側面からこの疑問に答えます。 51%攻撃を行う目的を無くす PoWでは、ネットワーク全体の計算力の50%以上を持つことによって不正な取引情報をブロックに追加することが可能です。これを「51%攻撃」と呼びます。PoSでは、保有する通貨の量でマイニングの可能性が決まるので、同じように全体の通貨の50%以上を保有することによって「51%攻撃」を仕掛けることは依然可能です。しかしPoSでは51%攻撃ができる立場の人がそれを踏みとどまるような仕組みが確立されています。 もしある通貨の50%以上を持つ人が、51%攻撃によって不正な取引情報が入ったブロックを誰よりも早くブロックチェーンに繋げたとしましょう。その時確かに、攻撃を仕掛けた人はその取引によって不正にそのブロック内の通貨を得ることができます。しかし攻撃を仕掛けた直後には、攻撃された側がその不正を暴いてしまい、その事実を世界中に発信するでしょう。 この攻撃の事実が知れ渡ると通貨の信用は大幅に下がってしまい、これは通貨自体の価値(価格)の暴落を招きます。 結果として攻撃を仕掛けた人は、不正なブロックによって多少の通貨を得られても、自分が元々保有していた50%以上の通貨の価値が暴落してしまうため、結局はトータルで損をします。 この様にPoSでは51%攻撃ができる人は攻撃をするメリットが無く、51%攻撃は起こらないとされています。また資金的に考えても、ある通貨の50%以上を保有する事は容易ではありません。 莫大な電気代・専用装置を必要としないマイニング PoSでは、計算できる量に制限があることから、PoWの様に膨大な計算を行うコンピューターを必要としません。よって、マイニングに大量の電力を消費するといった事も起こらなくなります。 実際のPoSでのマイニングは非常にシンプルで、一般的に使用されているコンピューターにPoSを行うソフトウェアをインストールして、常時起動しているだけです。 前回の記事で、PoWでは莫大な電気代がかかる為に電気代の安い中国でマイニングが集中している問題を書きましたが、PoWでは通貨を保有さえしていれば良いので電気代などの地理的な条件でマイニングが集中することも無くなります。 その一方で、例えばイーサリアムの様な市場規模が非常に大きな通貨の場合、ある程度の量の通貨を保有できる人は大口の投資家、大企業、又は初期段階で大量にその通貨を購入して保有し続けた人(多くの場合はこれも大口投資家や開発者達)と限られてきます。そのため、やはり一部の人たちが殆どのマイニング報酬を寡占してしまう問題が指摘されています。 スケーラビリティへの対応 ビットコインでは利用者が多すぎる為に、リクエストされた取引をシステムが処理しきれない”詰まり”問題が発生しています。これはPoWシステムの弱点と言えます。詳細はこちらの記事に解説がありますが、PoSを採用することによってサイドチェーンやシャーディングといったスケーラビリティ問題を解決するアルゴリズムをシステムに組み込むことが可能になります。 PoSが持つ問題点 Nothing at Stake Nothing at Stakeを直訳すると”掛け金がない” という状態です。PoWでは不正なブロックを作るのにも、ある程度のコンピューターで時間をかけたマイニング作業が必要です。特に既にブロックチェーンに書き込まれた情報を書き換えようとすると、それ以降のブロック全ての計算を解き直す必要があるため、そのようなハッキングはかかる手間を考えると現実的ではありませんでした。 しかしPoSでは、もしある程度の通貨を保有していれば簡単に、手間を要さずにブロックを作る事が可能になります。これは彼らにとって、なんのリスクもなくハッキングが可能になることになります。これをNothing at Stake問題と呼びます。 Long-range攻撃 PoSアルゴリズムが持つ別の問題としてLong-range攻撃があります。もしあるPoSアルゴリズムを採用する通貨で、初めの頃のブロックに記録されている通貨を全体の1%程度の少量でも持っていれば、そこから不正なブロックチェーンをNothing at Stakeな状態で長く繋いでいくことができ、簡単に本物のチェーンと同じ長さのものを作ってしまう可能性があるという問題です。この問題の仕組についてはイーサリアムの生みの親Vitalik氏によって解説されています。 “A version of this attack also exists for naively implemented proof of stake algorithms. In a naively implemented proof of stake, suppose that there is an attacker with 1% of all coins at or shortly after the genesis block. That attacker then starts their own chain, and starts mining it. Although the attacker will find themselves selected for producing a block only 1% of the time, they can easily produce 100 times as many blocks, and simply create a longer blockchain in that way. ” (引用:https://blog.ethereum.org/2014/05/15/long-range-attacks-the-serious-problem-with-adaptive-proof-of-work/) イーサリアムのPoS移行 イーサリアムでは、ホワイトペーパーに則ってFrontier, Homestead, Metropolis, Serenityの4段階に分けて主要なアップデートが予定されています。現在は、2017年10月にMetropolisの中のByzantiumへのアップデートが完了し、次期constantinopleへのアップデートを待っている状態ですが、その次のSerenityへのメジャーアップデートではコンセンサスアルゴリズムをPoWからPoSへと変更する予定です。 イーサリアムのMetropolisや全体のロードマップについてはこちらの記事で詳細に解説しています。 イーサリアムでは、基本的なPoSアルゴリズムに独自の要素を加えたCasperと呼ばれるPoSアルゴリズムの開発が進んでいます。このCasperアルゴリズムでは基本的なPoSの流れを汲むことで、スケーラビリティへの対策を打ちつつ、Nothing at Stake, Long-rangeといった問題への解決策が組み込まれています。既にCasperのテスト版は稼働しており、PoSへの移行への準備が着々と進んでいると考えられます。 Casperのαテスト版は2017年12月31日から稼働しており、Karl Floersch氏のTwitterで稼働中の様子が報告されています。 Casper testnet stats! So much love to all the Casper implementers on the Ethereum research team! @changwu_tw, @ChihChengLiang, @davidlknott, @jon_choi_, and of course @VitalikButerin ❤️ pic.twitter.com/LIt60NjLm4 — Karl Floersch (@karl_dot_tech) 2017年12月31日 まとめ 如何でしたでしょうか、簡潔ではありますが本連載でブロックチェーンの基本的な仕組みから始めて、核となる考え方であるコンセンサスアルゴリズムについて主要な方式であるPoWとPoSの基本やその特徴について解説しました。
イーサリアムのスケーラビリティ問題とその解決策

イーサリアムのスケーラビリティ問題とその解決策

2018/01/24 at 7:47 PM 0 comments
本記事ではイーサリアムのスケーラビリティ問題とその解決について説明します。そもそもスケーラビリティ問題とは一体何なのでしょうか?なぜイーサリアムは“詰まって”しまうのでしょうか? なぜイーサリアムは詰まるのか イーサリアムに関わらず、ビットコインをはじめとする仮想通貨はブロックチェーンと呼ばれる分散型台帳システムに取引(トランザクション)の記録を書き込むことによって動いています。ある一定時間内におけるトランザクションは、最新のブロック(ブロックチェーンの先頭)に書き込まれることになりますが、書き込むことができるトランザクションの量(容量)には限りがあります。よって、あるブロックに収まりきらなかったトランザクションは、次のブロックに書き込まれるのを待つことになります。 例えば、一つのブロックは10件のトランザクションを取り込めるとし、100件の未承認のトランザクションが存在するとします。現在のブロックは10件しかトランザクションを取り込めないため、ブロックに入ることが出来なかった残りの90件のトランザクションは、次回以降のブロックを待つことになります。この状態においては全てのトランザクションが承認されるのは9ブロック先となります。(実際には常に新しいトランザクションが発生しているため、9ブロック先までに取り込まれる保証はありません。) イーサリアムのブロック生成時間は15秒~17秒と言われており、1ブロック待つ程度であれば人によっては気にならないかもしれません。しかしこれが1ブロック、2ブロック…と待たされることになると、トランザクションが“詰まった”と感じるユーザーが多くなるでしょう。 最近はこのトランザクション詰まりが頻発するようになってきており、それに対する解決策の導入が期待されています。このことを「イーサリアムのスケーラビリティ問題」と呼んでいます。このスケーラビリティ問題に関して私たちができることは、イーサリアム送金時の手数料を高めに設定することぐらいです。これは高い手数料が付加されたトランザクションほどブロックに取り込まれやすいためです。 ここで”一度に取り込めるトランザクション数を増やせば良いのでは?”と思いつく方もいるかもしれません。一つの方法としてブロックの容量を増やす必要があります。しかし単純にブロックサイズを大きすることには次のようなデメリットがあります。 それはマイニングに関わる者(マイナー)に、より高性能な計算機リソース(ストレージ容量、通信速度...etc)が求められることです。マイナーには個人から企業まで様々な規模が存在します。しかし肥大化したブロックチェーンの処理が、企業のような大規模マイナーでしか処理できないようになってしまうと、イーサリアムネットワークの分散化が妨げられ中央集権化が進む恐れがあります。これはイーサリアムにとって望ましい状況とは言えないでしょう。 数字で見るトランザクション詰り ここで実際にどれほどのトランザクションがイーサリアム上で実行され、詰まっているのかを確認してみましょう。 次の図はイーサリアムのトランザクション数の日時推移を示したものになります。一目見て分かるように、トランザクションの数は2017年の7月あたりから大幅に増加していることが分かります。グラフを見る限り、このままトランザクションの数は増え続けることが考えられます。 (12月12日午前11時点 引用:https://ethgasstation.info/gasguzzlers.php) 一方で、下図はPending transactions Queueの数、つまりどれだけのトランザクション数が詰まっているか(送金待ちか)を示したグラフになります。2018年1月12日~2018年1月17日の状況が掲載されており、1分間あたり2万~3万件ほどのトランザクションが詰まっていることが分かります。 (引用:https://etherscan.io/chart/pendingtx) トランザクション詰まりの要因 トランザクション詰まりが起こる根本的な原因としては、ある一つのブロックに書き込めるトランザクションのデータ量に限りがあることは先に述べた通りです。ここでは、トランザクションのデータ量が増えてしまういくつかの要因について説明します。 ユーザー数の増加 トランザクションの数が増える要因として、真っ先に思い浮かぶのがユーザー数の増加です。具体的にイーサリアムを利用しているユーザーの人数を正確に知ることは難しいので、代わりにイーサリアムのアドレス数で考えてみましょう。下図はイーサリアムのアドレス数の増加を示したグラフになります。 (12月12日午前11時点 引用:https://etherscan.io/chart/address) 2018年1月18日現在、アドレス数は2200万を超え、約20万/日の勢いで増加しています。さらにグラフの傾きを見ると急激にアドレス数が増加していることが分かり、今後も増え続けるものと考えられます。ユーザー数が増加している背景としては、イーサリアム上で動作するアプリーケーションの開発(ICO,Dapps)が活発化していること、イーサリアムの価格が高騰していることなどが挙げられます。これらに関しては下記の記事が参考になるでしょう。 「ICOが変える世界(2017年概況と2018年再加熱の可能性)」 「2018年イーサリアムとDAppは飛躍するか?」 「【イーサリアム】2017-2018 相場高騰 価格変動 チャート」 当然、ユーザー数(アドレス数)が増加すればするほど、トランザクションの数も増えることになります。一方で、イーサリアムの一つのブロックの容量は簡単に増やすことができません。ですので、多くのユーザーが一度にイーサリアムの送金を試みた場合(価格が暴騰、暴落した場合など)、トランザクションが詰まる状況が発生してしまいます。 ICO, DAppの増加 イーサリアムは、ブロックチェーン上で動作するアプリケーションのプラットフォームを目指してこれまで開発を続けてきました。簡単にトークンの発行/スマートコントラクトの実行ができることから、ICO(Initial Coin Offering/新規仮想通貨公開)やDApp(Decentralized Application/分散型アプリケーションサービス)にイーサリアムが用いられています。 これらのアプリケーションの実行には、当然イーサリアムのブロックチェーンを利用することになります。そうするとイーサリアム自身は単純に「送金情報」のトランザクションを取り込むだけでなく、「送金+様々な情報(スマートコントラクト)」のトランザクションを取り込む必要があります。最近はICOやDAppの数が爆発的に増加していることもあり、それ自体は悪い事ではないのですが、イーサリアムに対して負荷となっています。 ノード数 イーサリアムをはじめとする仮想通貨の多くは、P2Pと呼ばれるネットワーク上で動いています。P2Pネットワークを結ぶ一つ一つの点をノードと呼ぶのですが、イーサリウム上には32,000ほどのノードが存在しています。これらノードには様々な種類がありますが基本的にはトランザクションの処理 – 検証作業(マイニング)および情報の伝搬- を行なっています。 ノードの数が多いことは、それだけネットワークが分散化しており、非中央集権化されているということになります。このオープンなネットワークは、誰でも参加できるものであるがゆえ、各々のノードのスペック(処理速度、通信速度…etc)は大きく異なります。低スペックのノードはそれだけトランザクションの処理・伝搬が遅く、ネットワークにとっては足手まといになってしまいます。なぜならトランザクションはすべてのノードの行き渡り検証される必要があるからです。 このノード数という点に関しては、分散化とトランザクションの処理速度はトレードオフの関係にあります。また今後イーサリアムの拡大に伴い、各ノードに求められるスペックが上がってくると、当然脱落するノードも出てきます。こうなるとある特定のノードしかトランザクションを処理することができなくなり、非中央集権化→中央集権化の流れが進むことになってしまいます。 スケーラビリティ問題の解決策 今後のイーサリアムの発展のためには、非中央集権化とセキュリティーを維持しながら、トランザクションの処理速度を上げていく必要があります。現在、スケーラビリティ問題に対してどのような解決策が考えられているのでしょうか?いくつかの手法がオフチェーン処理、オンチェーン処理として考えられています。 オフチェーン処理における解決 まずオフチェーン処理とはそもそもなんでしょうか?オフチェーン処理とは、本来ブロックチェーン上で処理されるトランザクション(の一部)を、ブロックチェーン外で行うことです。これによって、ブロックチェーン本体で処理されるトランザクションの情報量を減らすことができ、トランザクションの処理速度を高めることができます。 プラズマ(Plasma) プラズマは、イーサリアムのブロックチェーンから不必要なデータを取り除き、トランザクションを高速化することを試みているプロジェクトです。プラズマは2017年8月にイーサリアム創設者のヴィタリック氏によって発表されました。 現在起きているスケーラビリティ問題は、イーサリアムのブロックチェーンにトランザクションの全ての情報が記録されてしまうことが原因とも言えます。そこでブロックチェーンに記録されるデータ量を減らしてあげることが一つの解決策となりえます。 階層構造を持ったサイドチェーンをブロックチェーンとは別に用意することで、トランザクションの拡張が可能です。後述するライデンネットワークは、マイクロペイメント(少額支払い)に焦点を当てた解決策ですが、プラズマはより複雑なトランザクション処理に焦点を当てているためイーサリアム上で動作するDApp等が恩恵を受けられると考えられます。 ライデン(Raiden) ライデンとは、現在イーサリアム上で処理されているEtherやERC20に準拠したトークンの送金をオフチェーンにおいて行うスケーラビリティ解決策です。ライデンネットワークの導入によって、イーサリアムの1秒あたりのトランザクション数の引き上げとトランザクション手数料の引き下げが可能とされています。主にライデンネットワークはマイクロペインメントをターゲットとしており、以下のような特徴を持った支払いが可能です。 高速性:1秒以内に送金完了 安い手数料 秘匿性:ブロックチェーンには個々の取引は記録されない 拡張性:100万トランザクション/秒 ライデンネットワークに参加するユーザーは、送金の際にある金額のEtherをデポジットし、支払いのための専用チャンネル(ペイメントチャネル)を開きます。このペイメントチャネルを利用することによって二者間の送金が実質無制限に(ただしデポジット金額を超えない範囲で)行えます。 取引の途中経過は記録されず、最終的な結果のみがメインのブロックチェーンに記録されます。また複数のユーザー間における送金もカバーしています。ライデンネットワークはマイクロペイメントに焦点を当てているため、イーサリウム上で動作するDApp等はその恩恵を受けづらいと考えられます。 オフチェーン解決策として、プラズマおよびライデンを取り上げましたが、これらの技術は実装に向けて開発中の段階で、実用化の目処は今のところ公表されていません(2018年1月23日現在)。 オンチェーン処理における解決 オフチェーンの対義語として、オンチェーンが挙げられます。オンチェーンとはブロックチェーン自身のことを指しており、本記事における”オンチェーン処理における解決”とは、イーサリウムのプロトコル基盤自身を変更することを指しています。 PoSの導入 現在、イーサリアムの合意形成(トランザクションの検証作業)はプルーフ・オブ・ワーク(PoW)と呼ばれるアルゴリズムによって行われています。しかし将来的にはプルーフ・オブ・ステーク(PoS)と呼ばれるアルゴリズムに移行することが予定されています。 簡単にPoW/PoSの違いを述べると、PoWはトランザクションの検証作業(マイニング)に最も貢献した者が報酬をもらえますが、PoSは仮想通貨をより多く、そして長く保有している者が報酬をもらえる仕組みになっています。 より詳細なPoW/PoSの仕組みに関しては、こちらの記事が参考になります。 「ビットコイン&イーサリアムブロックチェーンの仕組み PoWの特徴と課題」 PoWからPoSへ移行することによって、検証作業に割かれる時間がなくなりブロックの生成時間を早めることが出来ます。結果として、1秒あたりに処理できるトランザクションが増えるため、スケーラビリティ問題を解決する一つの手段になりえるでしょう。 シャーディング ノード数増加において、検証作業を担う全てのノードが全部のトランザクションの処理を行う必要があると述べました。これではイーサリアムネットワークの処理能力は一つのノードの処理能力と同じになってしまいます。そこでイーサリアム創設者のヴィタリック氏が提唱しているのがシャーディング(Sharding)です。 シャーディングとは、処理すべきトランザクションをいくつかのシャード(Shard:破片)に分割し、それをいくつかのノードが集まったグループが役割を分担しながらトランザクションを並列的に処理することです。普段は割り当てられたトランザクションのシャードをグループごとで処理し、定期的にその結果をグループ同士で同期し合うことになります。 このシャーディングによって、大幅に処理速度を上げることができ、スケーラビリティ問題を解決することができると考えられています。なおこのシャーディングの導入にはセキュリティの観点からPoSの導入が前提とされています。シャーディングにPoSの導入が必要な理由は以下の記事に分かりやすくまとめられています。 「シャーディングは、全てのノードが全てのトランザクションの検証作業を行うのではなく、複数のノード群でトランザクションの検証作業を役割分担していくことでした。つまり、それぞれのシャードごとに状態が異なり独立して成り立っています。なので、少ないマイナーのハッシュパワーによってセキュリティが維持されているシャードに対して、攻撃が簡単になってしまうという問題があります。例えば、シャードAとシャードBをという2つのシャードに分かれて検証作業を行っているとします。そして、シャードAが全体の10%のハッシュパワーを持っていて、シャードBが90%のハッシュパワーを持っている場合、シャードAに対してはたった5.1%のハッシュパワーで51%攻撃が可能になってしまいます。」(引用:https://zoom-blc.com/sharding-ethereum)
ビットコイン&イーサリアムブロックチェーンの仕組み PoWの特徴と課題

ビットコイン&イーサリアムブロックチェーンの仕組み PoWの特徴と課題

2018/01/19 at 5:20 PM 0 comments
近年ブロックチェーンは革新的な技術だと騒がれ、そんなブロックチェーン技術をベースにした仮想通貨が大きなトレンドになっています。なんとなく多くの人が認知しているブロックチェーンですが、その仕組など技術的な部分を調べてみるとなかなか難しく理解しずらいと感じている方が多いのではないでしょうか。 そこでこの2回の連載では、ブロックチェーンの基本的な仕組みとその核となる考え方 ”コンセンサスアルゴリズム”  について簡単に解説します。第一回目の本記事のテーマは「 ビットコイン&イーサリアムブロックチェーンの仕組み PoWの特徴と課題」です。第二回目の記事「イーサリアムブロックチェーンの仕組み PoSが解決すること」はこちら。 ブロックチェーン ブロックチェーンとはその名前の通り、ビットコインなどの取引のデータの塊、つまり “ブロック” を ”チェーン状” に連ねたものです。新しい取引データは新しいブロックとなりブロックチェーンに繋がれていきます。 ビットコインやイーサリアム等の仮想通貨のブロックチェーンはインターネット上で世界中に公開されており、誰でも同じ一つのブロックチェーンを信用して取引内容を確認することができます。 ここで、誰でも ”同じ一つのブロックチェーンを信用して” 取引できる仕組みがブロックチェーン技術の革新的な所です。この仕組みが無いと人によって異なるブロックチェーンを信用したり、そもそもブロックチェーンの内容を信用できなくなったりしててしまい、そのデータを信用した仮想通貨の取引等は行なえなくなってしまいます。 ここからどのようにして同じ一つのブロックチェーンを信用するのかを解説します。 ブロックチェーンに新しいブロックを繋げる方法はとてもシンプルです。手順は、まず新しいブロックを作りその中に取引の情報を入れます。チェーンを繋げる際には、一個前のブロックの情報と、ある計算問題の答えをブロックの中に一緒に入れなければなりません。 この計算問題は答えを見つける事はとても難しく、答えが合っているかどうかはとても簡単に確かめられるという特徴を持っています。数独がとても良い例になります。 数独は3x3のマス、縦、横の列全てで1~9までの数字を1回づつ使ってマス目を全て埋めるゲームです。答えを探すには色々なパターンの数字を入れてみるので時間がかかる一方で答えを見ればそれが合っているかどうかはとても簡単に確かめられます。 またあるブロックでの計算問題は”一つ前のブロックの情報の一部を使って問題が作られている” という仕組みがあります。例えば新しい数独の問題に前のブロックの数独の答えの一部を持ってくるような感じです。(但し実際には数独ではなくハッシュ関数という暗号理論が用いられています。) このように問題が順番に解かれることで繋がっているブロックチェーンは、それぞれのブロックの中の数独の答えが合っているか確認することで、正しく繋がっているチェーンなのかを確認できます。 正しいブロックかを確認するのは簡単ですが、内容を自分に有利な様に書き換えようとすると、書き換えたブロックの次のブロックの計算問題が変わってしまうので問題の答えも書き換えなければなりません。更に、この問題の答えが変わるということは、その次のブロックの問題も変わるので…と言った具合に、既に繋がっているブロックの情報を改ざんするには途方もない計算問題を解き直す必要が出てきます。これは内容を改ざんする事は事実上不可能だということです。 このようにブロックチェーンの内容は改ざんが途方もなく難しいので、あるブロックチェーンに記録された取引情報は信頼することができます。 そしてブロックチェーンでは、更に”幾つかの正しいブロックチェーンがある時は、一番長く繋がれた物が正しいので皆で信頼する” というルールがあります。これに皆が従うことで「同じ一つのブロックチェーンを信用して」取引できることになります。 ブロックチェーンの世界では、世界中の至る所にブロックを繋げる計算に挑戦する人がいますが、その半分以上が悪巧みを考えていない正直な協力者だと考えています。もしこれが本当であれば、いつでも悪巧みを考えている人より正直な人たちの集団が作ったブロックチェーンが一番長くなることになります。 コンセンサスアルゴリズム ブロックチェーンに新しいブロックを追加する作業を通称 ”マイニング” 、それを行う人を ”マイナー” と呼びます。仮想通貨ではマイニングをすることによって、新しい取引の記録をブロックチェーンに記録し有効にし、またマイニングに成功した人(計算問題の答えを見つけた人)はその時に報酬として新しく発行された仮想通貨を貰うことができます。 コンセンサスアルゴリズムとはこのマイニングをする際に、誰がどうやって問題の答えを見つけるのかを決めているルールです。 実際のコンセンサスアルゴリズムには代表的なものとしてビットコインが採用しているProof of Work (PoW)やイーサリアム(現在はPoWを採用)が今後採用予定のProof of Stake (PoS)があります。 Proof of Work(PoW)とは? Proof of Workでは世界中のマイナーが同じ計算問題を解きます。計算問題には特に攻略法は存在しないので、ただ繰り返し適当に数字を入れてみて合ってるか検算するしかありません。この繰り返しをより多くするほど答えを見つける可能性が上がるので、マイニングはどれだけ多くの繰り返し計算ができるかの競争になります。 Proof of Workの問題点 Proof of Workは計算の競争を続けることでブロックチェーンの信頼性を上げる革新的な方法としてビットコインの発明者 ”サトシ・ナカモト” によって提唱されました。(Bitocoinのホワイトペーパーでは半ページ程でPoWについて説明されています。) しかしPoWには幾つかの問題があると言われています。 51%攻撃 ブロックチェーンでは、マイナーの半分以上(50%以上)が悪巧みを考えていない正直な協力者だと考えました。しかし、もしそうでなかったら、つまり誰かが全体の50%以上の計算量を持つことができた場合、彼らは自分たちにビットコインの支払いが行われるような不正な取引にブロックの情報を書き換えて、誰よりも早く計算結果を見つけてブロックに繋げてしまうことが可能になります。 これは通称 ”51%攻撃” と呼ばれており、Proof of Work の根本的な問題点だとされています。CoinDeskによると過去には、Ghashという当時最大規模のマイニング業者のマイニング量が全体の50%を超えそうになり、ビットコインの価値(信頼)が大きく下がるという事が発生しました。 マイニングに掛かるコストの増加 ビットコイン等のマイニングに掛かる電気代は急激に上昇しています。当初ビットコインは研究者やエンジニアの研究や実験として2009年に始まりました。しかし、それが通貨として認知され始めると、一気にビットコインを使おうとする人や、マイニングに参加して利益を得ようとする人が増えました。 ビットコインは計算問題の難しさが自動でコントロールされる設計になっています。よって、もしより沢山のマイナーがビットコインを得る為に計算してブロックを繋ごうとすると、自動的に計算問題が難しくなります。数独で言うと、最初のマス目の空白が増えることになります。 問題が難しくなるにつれて、マイナーはより高性能なコンピューターを用意したり、沢山のコンピューターを用意したりする必要が出てきます。一般的に沢山のコンピューターを繋げたり性能を上げたりすることで消費電力は高くなります。 事実、ビットコインマイニングにかかる電力は急上昇しており、Expressによる記事では既にデンマーク一国分の消費電力に相当し、このペースで上昇を続けると2020年までに全世界の消費電力に追いついてしまうとも言われています。 これはマイナーが高い電気料金の支払いを強いられるだけでなく、環境面でも非常に深刻な問題です。 限られたマイナーによる寡占 計算の難しさが上がるに連れて、かつては家庭用のコンピューターでも出来たマイニングが、普段では使用しない様な高性能なコンピューターが必要になり、しまいにはASICと呼ばれるビットコインの計算問題だけに特化した装置を使わないと利益が上がらなくなりました。 計算装置がより専門的になったこと、マイニングにかかる電気代が上昇したことによって、一般の人がマイニングを続けることは困難になりつつあります。 その代わり、中国など世界的に電気代が安い地域にある大手のマイニング業者がその大部分を行うようになりました。更にこの様な業者同士の中でも熾烈な効率化競争が進み、淘汰が進んでいます。結果としてビットコインのマイニングでは、ほんの数社の企業がマイニング量の半分以上を占めています。(このシェアはリアルタイムでBlockchain.infoで確認できます。)BBCの記事によれば地域別でも、中国内でのマイニングが世界全体の7割以上を占めています。 2017年8月1日にビットコイン(BTC)からハードフォークしてできたビットコインキャッシュ(BCC)は、中国のマイナー達に強く後押しされて作られた仮想通貨だとされています。このような一部の強力なマイニング能力を持つ集団によって彼らに有利な形で中央集権的に物事が進むということも実際に起きたのです。 これは本来何者にも管理されない世界中に分散された取引システムを目指すビットコインの考え方と矛盾していると言えます。 スケーラビリティ問題 PoWを採用するシステムでは一定の時間で処理できる取引量に限界があり、大量の取引が行われた時に、ブロックチェーンへの取引情報の追加に時間がかかる”詰まり”という現象が発生します。このあるシステムの利用者が増えた時に発生する問題は一般に ”スケーラビリティ問題” と呼ばれています。 この問題については本メディアの以下の記事で詳細に説明しています。 ・イーサリアムのスケーラビリティ問題とその解決策 Proof of Stake(PoS)とは? これらPoWの問題点の解決策としてPoSを始めとした新たなコンセンサスアルゴリズムが開発されました。そこで次の記事ではPoSがどのようにこれらの問題点を解決するのかを解説します。 第二回目の記事「イーサリアムブロックチェーンの仕組み PoSが解決すること」はこちら。
2018年イーサリアムとDAppは飛躍するか?

2018年イーサリアムとDAppは飛躍するか?

2018/01/12 at 7:00 PM 0 comments
2018年、新年を迎えイーサリアム価格が大きく高騰しました。 その要因の一つがイーサリアムのブロックチェーンプラットフォーム上で作動している”DApp”です。 それは、”CryptoKitties”=”仮想通貨子猫”というDAppゲームのことです。現在、CryptoKittiesは全イーサリアムの日計トランザクションボリュームの20%を占めており、イーサリアムの価格設定に大きな影響を与えています。(参照:こちら) そこで今回は、イーサリアムの価格価値に影響を与えるDAppについて説明、考察していきます。 DAppとは まずは簡単にDAppの説明をしていきたいと思います。DAppとは、Decentralized Applicationの略で、つまり、ブロックチェーン技術によって構築された分散型のアプリケーションサービスのことを示します。現在は、基本的にスマートコントラクトを活用、実装することで利用価値を高め、サービス提供しています。そのため、スマートコントラクト技術を有するイーサリアムを基盤に作られることが多いのです。 DAppの特徴はネットワーク上に広がるサーバーとコミュニティにより共同的に管理していくことが可能なことです。従来の集中型アプリケーションと違い、主体の単一障害点(単一箇所が働かないと、システム全体が障害となるような箇所を指す)がなく、オープンソースであるため、データ改ざん不可能、よって透明性が非常に高いのです。簡単な図で説明すると以下のようになります。 また、イーサリアムのDAppは主に3つの種類のアプリケーションに分類されます。 ①Financial Applications:お金が絡む契約に関してより良い管理方法を提供するもの ②Semi-Financial Applications:お金が関係するしないに関わらず、重要事項を提供するもの ③Governance Applications:オンライン投票やお金に関連しないdecentralized governanceを提供するもの 現在イーサリアム上のDAppは約1000種類存在し、稼働しているDAppはおよそ300アプリケーションになります。こちらのサイトから全てのDAppを確認することができます。(参考:https://www.stateofthedapps.com/) 現在進行しているDAppのプロジェクト例 2018年最初のイーサリアム価格高騰の要因にもなったと考えられているDAppのプロジェクトを二つ紹介します。 Gnosis https://gnosis.pm/ Gnosis(ノーシス)はイーサリアム上に構築された分散型予測市場プラットフォームです。Gnosisは誰でもあらゆるイベントの結果を予測できるオープンなプラットフォームを提供し、予測市場アプリケーションの作成やカスタマイズを劇的に単純化させることを計画しています。 2017年12月に、Gnosis Olympia(誰でも参加可能のイーサリアム推移予測トーナメント)が開催され、Gnosisの注目度が上昇しました。そして、2018年1月末に携帯やタブレット端末で使用できるアンドロイド版イーサリアムウォレットアプリケーションがリリースされることがイーサリアム価格高騰に影響を与えたといった考えがあります。 「The Gnosis Safe wallet for Ether and other ERC-20 tokens is geared towards single users using 2 or more factor authentication. The additional factors can be held by mobile devices (phones, tablets) and hardware ledgers. We plan to release an MVP for Android by the end of January 2018.」(引用:https://gnosis.pm/timeline) Airswap https://www.airswap.io p2pで直接ERC20トークンの売買が可能なプラットフォームです。 注文処理のみにオンチェーンを利用しており、トークンを交換したいパーティー/トレーダー同士をマッチングさせ、オフチェーンで取引のレートを決めさせ、両パーティー/トレーダーが合意する条件で取引を成立させます。この時AirSwapは、オラクルにより適切なレートを提案することが特徴です。また、取引処理のみオンチェーンで行うため、取引スピードが速く、GASも安く済むというメリットがあります。  そして、新年を迎えAirswapは1月16日にトークントレーダーをプライベートリリースすることを発表しました。この新たなプロダクトは今までのプロダクトが保有していない新しい機能を備えており、今回のリリースに対して多くの期待が集まりました。よって、これがイーサリアムの年始高騰に影響を与えた可能性は十分に考えられます。 (参照記事:https://consensysmediajapan.com/3357.html) 「We’ve scheduled a private release of the Token Trader for January 16th. We’ll be working with our beta tester group to start making our first mainnet trades, and look forward to open a public release soon thereafter. This release will also include some new key features that we’re excited to share.」(引用:https://blog.airswap.io/airswap-team-update-jan-5-2018-662bc4696172) DAppの課題と解決策 DAppは確かにイーサリアムの価格を高騰させる影響力を有し、いくつかのDAppは画期的な機能を兼ね備えています。しかし、DAppの課題も同時に挙げられます。 影響力の強いDappはでてくるか? DAppが今後、冒頭で挙げたCryptokittiesほどの影響力を生み出すことは難しいと考えられていることです。Cryptokittiesの需要はほんの短期間の間に著しく上昇しました。しかし、それはたった一度の出来事で、今後これに似た急需要が起こることは考えにくいでしょう。現に、新たなCryptokittiesを目指そうとCryptoPuppiesやCryptoPetsといったDAppが開発されています。 「CryptoKitties was a one-time success story of a decentralized application that reached large-scale commercial success. It did so through extensive mainstream media coverage triggered by a sudden increase in demand. It is extremely rare for an app on the Ethereum protocol to achieve the level of success that CryptoKitties did.」(引用:https://cointelegraph.com/news/dapp-browsers-will-radically-accelerate-mainstream-ethereum-adoption) Dappダウンロードプラットフォーム 現在の時代背景に関連することから一つ挙げられます。現代社会を生きる私たちは普段様々なアプリケーションをインストールする際、基本アップル社のApp Storeかグーグル社のGoogle Play Storeから取得します。携帯やパソコンから簡単にダウンロードできることが当たり前になっているのです。そのため、特定の代理店、webサイト、デベロッパーからアプリケーションをダウンロードすることは手間を要し、需要を高めることが難しくなっています。 数ヶ月前からこの問題を解決すべく、イーサリアム上にApp StoreやGoogle Play Storeのようなプラットフォームを形成するよう開発が進んでいます。現在では以前よりも使い易いDAppダウンロードプラットフォームが登場しています。 「To imagine the current structure of Ethereum’s decentralized application market, one has to consider the mobile app era prior to the existence of Google Play Store and Apple App Store. At that time, users had to download apps from websites directly from the distributors and developers. The process was highly inefficient and for apps to gain popularity, a significant amount of capital had to be allocated to marketing. Over the past few months, Ethereum-based browsers have provided a better platform for users to search for innovative decentralized applications. These browsers are essentially operating similarly to the Google Play Store and the Apple App Store in terms of aggregating decentralized apps for users to peruse.」(引用:https://cointelegraph.com/news/dapp-browsers-will-radically-accelerate-mainstream-ethereum-adoption) トランザクションの遅延 イーサリアム上のトランザクション速度を遅延させてしまうことです。分散化ネットワークでは、ブロックチェーン上の一つのブロック内に収まるデータ/取引情報の容量には限度/制限があります。その結果として、処理能力の低下、送金遅延、手数料の増加やノードの詰まり(集中化)等の問題が顕在化しています。これらを一括して「スケーラビリティ問題」といいます。DAppもこの問題を引き起こす一因と考えられています。 現在、その改善のためにシャーディングを行うことを公表しています。(参照:https://consensysmediajapan.com/3512.html) 注目のDApp Etherions https://www.etherions.com/ 2018年1月9日に公開された、今最も注目されているドラゴン育成DAppゲームです。これはCryptokittiesと似ているアプリケーションです。しかし、Cryptokittiesよりも豊富なファンクションを兼ね備えています。例えば、3Dでキャラクターが表されること、戦闘が可能であることが挙げられます。しかし現在はデモ版のみの配信に限ります。今後完全公開され、Cryptokittiesのような需要を獲得することができるのか楽しみなDAppです。 APPIAN https://appian.io/index.html APPIANは未だ開発段階ではありますが、DAppを世界に広めることをビジョンとして持つ世界初のDApp Storeを備えたアプリケーションです。上述しましたが、AppleのApp StoreやGoogle Play Storeのような存在を構築することが今後のイーサリアム又Dappの需要を高めることは間違いありません。近い将来APPIANが完全公開され、DApp全体の需要が伸びることが期待されます。 今後のイーサリアムとDApp イーサリアムとDAppは、DAppがイーサリアムのブロックチェーン技術を使用していることから密接に関係しているといえます。その結果として、イーサリアム価格の高騰の一因にもなりました。上記のDAppやその他今後出現してくるDAppが脚光を浴び、需要を高めることで自然とイーサリアムの価値は右肩上がりとなるでしょう。 しかし、DAppには長期の開発期間が必要不可欠であるため、現状を変えることには長期的視点が求められます。DAppとその基盤技術イーサリアムの成熟は、新しいアプリケーション時代の到来の鍵であると考えられるでしょう。
【イーサリアムとは?総集編】仮想通貨/ブロックチェーン技術仕組み/変遷

【イーサリアムとは?総集編】仮想通貨/ブロックチェーン技術仕組み/変遷

2017/12/22 at 6:00 PM 0 comments
「仮想通貨」「暗号通貨」「ビットコイン(Bitcoin/BTC)」「イーサリアム(Ethereum/ETH)」。様々な媒体を通して、これらの単語を頻繁に耳にするようになったのではないしょうか。 本章では「イーサリアムとは何か?」をテーマにし仮想通貨・暗号通貨の定義、ブロックチェーンの技術や、イーサリアムに関する情報をまとめていきたいと思います。 第1章【イーサリアムとは?】 仮想通貨/暗号通貨とは? 「仮想通貨」とは、「インターネットを通じて不特定多数の間で物品やサービスの対価に使用できる通貨」です。特徴として、完全に分散化された仮想通貨は、中央銀行や国等の発行主体・管理者が存在しません。(一部、発行主体が存在する仮想通貨もあります) 「仮想通貨とは、インターネットを通じて不特定多数の間で物品やサービスの対価に使用でき、中央銀行などの公的な発行主体や管理者が存在せず専門の取引所を介して円やドル・ユーロ・人民元などの通貨と交換できます。仮想通貨の種類は600種類以上あるといわれています。」 (引用:https://bitflyer.jp/ja/glossary/virtual_currency) 「暗号通貨」とは、仮想通貨の一種であり、暗号技術を応用したものです。暗号技術を用いる事によって、取引上の記録の改ざんや詐称を阻止し、安全性を保証します。 暗号通貨の例として、ビットコイン、イーサリアム、リップル、ライトコイン等が挙げられます。この章では、イーサリアムについて解説していきたいと思います。 「暗号通貨とは、セキュリティ対策として暗号技術が利用されている通貨です。Virtual Currencyとも価値記録とも呼ばれます。公開鍵暗号、ハッシュ、その双方を用いた電子署名等の技術が利用されています。暗号通貨の対義語として法定通貨があげられることが多いです。法定通貨は日本円や米ドルなど法律で価値が保証された通貨です。法定通貨はFIAT通貨とも呼ばれます。電子マネーなどの第三者式支払手段は暗号通貨に含まれません。」 (引用:https://bitflyer.jp/ja/glossary/cryptcurrency) ブロックチェーンとは? イーサリアムの説明に入る前に、まずは仮想通貨にとって必要不可欠な技術「ブロックチェーン」の仕組みを説明したいと思います。 「ブロックチェーン」とは、仮想通貨における「取引データ」の技術です。取引履歴は「トランザクション」と言い、一定期間における複数のトランザクションの集合体が「ブロック」となります。「ブロックチェーン」とは、これらのブロックが鎖状で保存されたものになります。 「ブロックチェーン」とは、ビットコインの中核となる「取引データ」技術のことを指します。取引のデータ(履歴)を「トランザクション」と呼び、そして、複数のトランザクションをまとめたものを「ブロック」と言います。このブロックが連なるように保存された状態が「ブロックチェーン」です。 (引用:https://ferret-plus.com/7706) ブロックチェーンの特徴として、P2P (Peer to Peer) ネットワークを利用しているため、中央集権的な管理組織が存在しません。つまり、ブロックに記録された取引情報がネットワーク上で共有され、ユーザー同士又は複数のコンピューターが「分散」して管理しあう仕組みとなっています(これを分散型取引台帳と言います)。 更に、「分散型自動化組織」(Decentralized Autonomous Organization / DAO)というシステムを採用しているため、管理主体を持たずに、一定の「ルール」や「プロトコル」に基づいた組織として機能しています。 「DAOとはDecentralized Autonomous Organizationの略称であり、日本語では一般的に自律分散型組織と呼ばれている。これは2013年ごろから、ビットコイン・ネットワークの運営体制から着想を受けて提唱されたコンセプトで、分散的に、組織や会社、コミュニティ自体が自律して運営されることを表している。組織を会社と言い換えて、DAC(Decentralized Autonomous Corporation)と呼ぶこともある。DAOには特定の主体がおらず、いかなるビジネスルールや制御下に置かれていない。意思決定や意思決定に至るためのプロセス、実行、組織全体のガバナンスや紛争解決は人ではなく、プロトコルが予め定めたルールに従って執行する。これを実現するためには、自律分散型である必要がある。」 (引用:https://btcnews.jp/dao-and-the-dao-and-bitcoin-governance/) なぜブロックチェーン上のデータは改ざんが難しいのか? ①P2Pネットワーク ユーザー間でデータが共有されているので、改ざんが難しい。 ②中央サーバーが存在しない 「特定の中央サーバー」が無いため、データ破損が生じた場合においても、他データやブロックから復元可能。 ③ブロックは「ハッシュ化」されている 取引件数、取引量、ハッシュ値、前ブロックのハッシュ値等のデータが、全て鎖状で記録され、取引内容の改ざんやハッキングはほぼ不可能。 ④プルーフ・オブ・ワーク(Proof of Work / PoW) コンピュータの演算処理によって、取引承認/マイニング(採掘)が行われる合意形成アルゴリズム。ネットワーク全体の51%以上のコンピュータパワーが無いと改ざんできない。 ブロックチェーンの種類? パブリック型とプライベート型の二種類があります: 「パブリック型(パブリックチェーン)は、中央集権的な管理期間を持たず、不特定多数のだれでも自由に参加でき、だれでもマイニングに参加できるブロックチェーンを指します。ビットコインが代表的です。」 「プライベート型(プライベートチェーン)は、管理者がいるのが特徴です。マイニングを行うためには、管理者の許可によってコントロールできるため(パブリック型はマイナーの賛同を得なければならない)、金融システムの管理などに活用できるでしょう。」 (引用:https://ferret-plus.com/7706) イーサリアムとは?/ビットコインに次ぐ市場規模 イーサリアムとは、スマートコントラクトの実装・分散型アプリケーション(DApps)の構築が可能な「分散型」ブロックチェーンプラットフォームです。また暗号通貨・仮想通貨の一種で、通貨単位はイーサ(Ether / ETH)です。ETHは様々な仮想通貨取引所/プロジェクト/DApps等において使用/売買されています。 「分散型グローバルコンピューティングプラットフォーム」又は「だれでもスマートコントラクトベースの分散型アプリケーション(DApps: Decentralized Applications)を作り、保存して実行できるバーチャルマシンです。」 (引用:https://gatecoin.com/ja/ethereum/) 「ブロックチェーンを使った様々プロジェクトの総称」  (引用:http://crypto-currency.site/?p=909) 「スマートコントラストを実行することができる分散型プラットフォーム」 (引用:https://ethereum.org) coinmarketcap.comによると、ビットコインの時価総額は$286,070,473,640(約32兆円)で、イーサリアムの時価総額は約$81,331,473,019(約9兆円)です。イーサリアムはビットコインに次ぎ、2位の時価総額を誇ります。 仮想通貨全体の時価総額$638,237,664,633(約72兆円)で、ビットコイン及びイーサリアムで全体の約57.6%となります。 (12月21日午後13時調べ 引用:https://coinmarketcap.com) イーサリアム・クラシックとは? イーサリアム・クラシック(ETC)とは、ハードフォークによってイーサリアムから分家した仮想通貨です。イーサリアム上で、「The DAO」というプロジェクトが約150億円に及ぶ資金をICOによって調達しました。しかし、The DAOのスマートコントラクトコードの脆弱性により、日本円で約50億円程の資金が不正に送金されました。これを「The DAO事件」と呼びます。 事件発生後、イーサリアムコミュニティは「ハードフォークによって、不正送金が行われる前の状態に戻す」という決断に至りました。しかしコミュニティ内では反対派も存在し、この決断に反発したコミュニティによって「イーサリアム・クラシック」が作られました。 「イーサリアムクラシックが生まれた契機は、イーサリアムを利用したプロジェクトであるThe DAOのスマートコントラクトコードの脆弱性を突いて当時の金額で約65億円相当のイーサリアムが不正に送金された『TheDAO事件』と呼ばれる事件です。これに対しイーサリアム開発チームは『ハードフォークによって不正送金が行われる前の状態に戻す』という手段を取ることで解決を図りました。そして最終的にはコミュニティの約90%がこれに賛成し、ハードフォークが実行されイーサリアムの不正送金は無効化されました。」 (引用:http://businessblockchain.org/about-cryptocurrency-ethereum-classic) イーサリアムの需要と供給 <供給> currexy.comによると、12月19日午前11時時点のイーサリアムの供給・発行量(下記を参照)は96,426,711 ETHです。2014年の初期発行量の7200万ETHに比較すると、約2200万ETH増加しています。今後更に増加する可能性があり、増加以降は一定量に保たれると考えられます。 (12月19日午前11時調べ 引用:https://www.currexy.com/cryptocurrency/ethereum) <需要> 今後、イーサリアムの需要は更に高まることが予想されます。 現在、多くの人々・団体・企業がイーサリアムの独自の技術「スマートコントラクト」に注目している為、一種の投資対象として多くの投資家を引き寄せています。 又、イーサリアムを用いて、他のICOプロジェクトへ投資することが出来ます。今後、ICOが継続的に実施されれば、ICOに投資するためのイーサリアム買い需要が更に高まるでしょう。 更に、イーサリアムやスマートコントラクト技術を応用した分散型アプリケーション(DApps)の構築数増加による需要増大も考えられます。Investing Havenの研究チームによると、約5〜7年後には、DApps数が20〜30倍程の増加が予測されています。 a. The current and future supply of Ethers There are currently 92 million coins of Ether in circulation. Although this number is likely to increase over the next couple of years, it will probably flatline after that. Which means that the developers in charge of Ethereum will make sure that the number of circulating coins stays constant. b. Ether applications The edge Ether has over Bitcoin is the ability to use smart contracts. These are contracts that are automatically executed without any human intervention the instant their terms are met. However, Ethereum also permits developers to build decentralized apps, also known as dapps, on top of its blockchain technology. Interestingly, the more apps are built, the more valuable the Ether becomes. The research team at Investing Haven expects that 5 to 7 years from now, we will see a 20 to 30-fold increase in the number of decentralized blockchain apps from the numbers we have today. c. Ether demand Demand for Ether will be driven by one of two things. Either for its functionality as a currency that is built on a blockchain with several applications. Or as a possible investment vehicle that keeps appreciating in value. When it comes to the functionality of Ether, the technology behind smart contracts is what interests people most. However, as we just saw, the building of new applications on top of the Ethereum blockchain will also drive up demand. (引用:https://investingpr.com/ethereum-price-predictions-for-2018/) Who is Vitalik? ヴィタリック・ブテリン(Vitalik Buterin)氏は、イーサリアムを考案/構想した人物です。彼は幼い頃から仮想通貨に魅了されていました。大学時代には、世界中のビットコインプロジェクトを見回る旅を5ヶ月間続け、ブロックチェーンの更なる潜在性及び可能性に気づきました。同氏は19歳という若さでブロックチェーンの「分散型」という特徴に着目し、イーサリアムの開発に至りました。 経歴  1994年:ロシア・モスクワにて生まれる  2011年:仮想通貨に特化した出版社「Bitcoin Magazine」社の共同設立者となる      「Thiel Fellowship」(大学中退者に10万ドル支援するプログラム)に選抜  2012年:ウォータールー大学在学中、情報科学国際オリンピックでメダル獲得  2013年:19歳の時、イーサリアムを考案する  2016年:「Fortune」誌の「40 Under 40」に選出 (写真:http://crypto-currency.site/?p=909) 何の課題解決を目指しているのか  ・より安全な仮想取引を実現、透明性の向上 過去の契約内容が半永久的に保存され、信用情報が自動的に蓄積されます。P2Pネットワーク及びブロックチェーンの仕組みによって、改ざんや偽造を困難にします。 ・マイナーの寡占化や集中化問題の解消 「Proof of Work」という合意形成/承認アルゴリズムは(第2章で説明)、演算が早ければ早いほど、報酬を得られる確率が上がります。例えば、スーパーコンピュータ等の技術を持つ人は、圧倒的に有利です。 イーサリアムは今後のハードフォークを通して「Proof of Work」(以下PoW)から「Proof of Stake」(以下PoS)に移行する予定です。PoSに移行した場合、「コイン(資産)保有量」によって報酬が貰えるようになり、上記のようなマイニング(採掘)の集中化を避ける事が可能になります。 ・コストの削減 第三者や仲介者を必要とせず、ユーザー間で取引を行うので、コストの低下に繋がります。 第2章【他暗号通貨/ブロックチェーンとの違い】 ビットコインとの違い/スマートコントラクト イーサリアムの最大の特徴は、「スマートコントラクト」という技術です。 「スマートコントラクト」という呼称及び概念は、1994年に暗号学者Nick Szaboによって提唱されました。Szabo氏は、自動販売機を同概念の「起源」としました。彼によると、自動販売機はとても「シンプルなメカニズム」により、表示価格に基づき硬貨(コイン)を受け取り、商品を提供します。これは一種の契約として成立し、硬貨を持っている人は取引参加者として、業者(仲介者)の介入無しに取引を執行できます。更に、金庫によって、硬貨は攻撃者(窃盗)から守られます。 「A canonical real-life example, which we might consider to be the primitive ancestor of smart contracts, is the humble vending machine. Within a limited amount of potential loss (the amount in the till should be less than the cost of breaching the mechanism), the machine takes in coins, and via a simple mechanism, which makes a freshman computer science problem in design with finite automata, dispense change and product according to the displayed price. The vending machine is a contract with bearer: anybody with coins can participate in an exchange with the vendor. The lockbox and other security mechanisms protect the stored coins and contents from attackers, sufficiently to allow profitable deployment of vending machines in a wide variety of areas.」 (引用:http://www.fon.hum.uva.nl/rob/Courses/InformationInSpeech/CDROM/Literature/LOTwinterschool2006/szabo.best.vwh.net/idea.html) イーサリアムにおけるスマートコントラクトの概念もSzaboの思想に基づきます。 ブロックチェーン技術を応用したアプリケーションやプラットフォーム上で、コントラクト(契約)の「自動化」によって契約の条件確認から決済/履行までの過程を自動的に執行するプロトコル/プログラムを指します。 (引用:http://gaiax-blockchain.com/smart-contract) スマートコントラクトのメリット ①トラストフリー(契約相手方を信用する必要/カウンターパーティリスクが無い) 契約のプログラムに沿って自動的に実行され、改ざんや詐欺を防ぎ、相手の契約を「信用」する必要性を排除します。同時に、取引履歴が公開される為、透明性の向上に貢献します。 ②コスト低下 第三者機関/仲介者を必要とせず、契約に関する訴訟等も減少し、コスト削減に繋がります。 コンセンサスアルゴリズム ブロックチェーン上の取引承認プロセスは、予め定められたルール「コンセンサス(合意形成)アルゴリズム」に基づいて実行されます。代表的なアルゴリズムは2つあり、プルーフ・オブ・ワーク(Proof of Work / PoW)とプルーフ・オブ・ステーク(Proof of Stake / PoS)と呼ばれています。 プルーフ・オブ・ワーク(Proof of Work / PoW) 「演算量(Work)による証明」を意味し、投入した演算量が多いほど、ブロック承認の成功率が上がります。よって、より多くの報酬をもらえる仕組みとなっています。 プルーフ・オブ・ステーク(Proof of Stake / PoS) 「コイン保有量(Stake)による証明」を意味し、保有量が大きいほど、ブロック承認の成功率が上がり、報酬をもらえる仕組みとなっています。 現在イーサリアムは、ビットコイン同様にPoWを採用しています。しかし、2018年に実施予定である第四段階のセレニティへの移行アップデートでは、PoSアルゴリズムへの移行が完了すると見込まれます。 DApps(分散型アプリケーション)構築プラットフォーム Decentralized Applications(以下DApps)とは、直訳すると「非中央集権型・分散型のアプリケーション」です。 DAppsに投資するDavid Jonston氏のVCファンドの定義によると、DAppsとは、下記要件を全て満たすものを指します: ①アプリケーションはオープンソースである。オペレーションは自動であり、中央のコントロール主体を持たない事。トークン・データ・レコード等につき、暗号化・分散化されたブロックチェーンを利用している事。 ②アプリケーションは、オープンに流通可能な、暗号トークンを持っている事。アプリケーションの利用に際してトークンを利用する事。参加者には、そのトークンによってリワード(報酬)が支払われる事。 ③アプリケーションは、マーケットやユーザーからの改善要求によりプロトコルを改善していく事。この改善は、ユーザーのコンセンサスによる事。 (引用:http://doublehash.me/what-is-dapps/) (英語版原文:https://github.com/DavidJohnstonCEO/DecentralizedApplications) 第3章【イーサリアムのロードマップ・課題・どう解決していくか】 4段階の説明 イーサリアムのアップデートは、大きく分けて、フロンティア、ホームステッド、メトロポリス、セレニティの第4段階に分かれています。各段階における詳細は、下記の通りです: 第一段階:フロンティア Frontier( 2015年7月〜2016年3月) イーサリアムネットワークの初期リリース DAppsのツール構築が可能 イーサリアムネットワークとの適合性テストが可能 第二段階: ホームステッド Homestead( 2016年3月〜2017年10月) 商業企業向けのプロダクションをリリース プロトコルの改訂:ネットワークアップグレードやトランザクションの高速化 MicrosoftやIBMを含む大手がイーサリアムベースのプラットフォーム開発を開始 第三段階:メトロポリス Metropolis ( 2017年10月〜2018年??) ビザンチウム(2017年10月17日〜)及びコンスタンティノープルの二つのハードフォークに分かれている 4段階において、大きな「肝」と言われている 第四段階:セレニティ Serenity(2018年〜2019年??) イーサリアムの最終段階  最大の目標は、コンセンサスアルゴリズムをPoWからPoSに移行する事 Frontier The initial release of the Ethereum network that went live in July 2015. It was a bare bones beta release that allowed developers to learn, experiment, mine Ether (ETH), and begin building Dapps and tools. Homestead The second major version of the Ethereum platform and the first production release of Ethereum, which was made public in March 2016. It included several protocol revisions and a network change that provided the ability for further network upgrades and sped up transactions.」 (引用:https://www.ethnews.com/ethereums-road-map-for-2017) 今後の課題・具体的な解決策(主にMetropolisアップデートにおいて) ①プライバシー保護の強化 メトロポリスアップデートにおける目玉となるのが、ゼロ知識証明技術です。EIP96、197によって、zk-SNARKs(ゼロ知識証明の手法)が適用されます。zk-SNARKsとは、Zcashの暗号ツールの一つであり、取引内容の詳細を必要とせず、取引の正誤の確認を可能にするプロトコルです。ユーザーの匿名性及びプライバシー保護の向上に繋がります。 zk-SNARKs:Zcashの基礎となる暗号ツール。取引内容を確認する事なく、ユーザーのプライバシーを保護しながら、情報の正誤を証明するシステム zk-STARKs:zk-SNARKsの改良版。コスト面・スピード面・スケーラビリティ・安全面において優位性が保証されている(https://www.coindesk.com/zk-starks-new-take-on-zcash-tech-could-power-truly-private-blockchains/を参照) ゼロ知識証明:暗号理論において、当事者が真実が偽の記述以上の物を受け取ることなく、声明が正しいかどうかを検証する事を可能にする技術(引用:https://consensysmediajapan.com/3181.html) ②セキュリティの強化 The DAO事件等、ハッキング被害による問題が顕在化し、セキュリティ面において懸念視されていました。今回のアップデートで、「マスキング」が可能となり、ユーザー自ら秘密鍵のアドレスを決める事が可能となります。セキュリティ強化により、量子コンピュータ等の攻撃に対しても安全となります。 ③スマートコントラクトの簡略化・プログラミングの負担軽減 スマートコントラクトの簡略化により、プログラミングが簡素化され、プログラマーの負担を減らします。更に取引実行において、ガスコストの節約にも繋がります。 ④スケーラビリティ問題/マイニング難易度の向上 マイナーによって、手数料の高いトランザクションが優先的に処理されます。よって、安い手数料のトランザクションが残り、送金や取引が完了せず、取引承認の遅延が発生しています。これをスケーラビリティ問題と言います。 解決方法として、承認アルゴリズム/マイニング方式の移行(PoW→PoS)があげられます。PoS移行によって、マイニング時の電力消費量の低減や、処理速度の加速化に繋がります。今回のメトロポリスのビザンチウム・ハードフォークでは、PoS移行は途中段階にあります。移行を完成させる為には、先に「ディフィカルティボム」という問題を解決する必要があり、現在は「エテリアムアイスエイジ」に突入しています。 ディフィカルティボム問題・アイスエイジとは? 現在のイーサリアムの平均ブロック生成時間を確認すると30秒に到達しており、15秒の2倍のブロックタイムになっていることがわかり、つまり単純に考えて送金時間が通常の2倍であることがわかります。またこのディフィカルティ増加は指数関数的に増えていくため最終的には恐るべき速度でブロック生成できなくなっていきプロトコルが停止してしまいます。これを通常アイスエイジ(イーサリアムの氷河期)と呼んでいます。 (引用:https://ethereum-japan.net/ethereum/metropolis-hardfork-byzantium/) もう一つの解決策として、「シャーディング」(Sharding)があります。シャーディングとは、マイニングを実施する端末を複数のサーバーに繋げ、作業を分散させる事を言います。承認作業が分散される事によって、各端末の作業負荷の減少に繋がります。 PoS移行時への懸念 PoSのメリット: ①51%問題への対抗力向上 51%問題とは、個人・団体によって、51%以上が支配される事により、不正に二重支払いになってしまう事があります。この問題は、PoWで生じる問題として取り上げられていて、PoSに移行する事によって、51%問題に対して、より強力になります。 ②コスト削減 PoWにおけるマイニング(計算・演算)の際、高額な電気代が発生します。PoSの場合、マイニングを行う必要が無い為、電気代や設備代等のコストを大幅に削減できます。 ③競争に参入しやすい PoS移行によって、高性能コンピュータ等の高価な設備・技術を持たない一般人が競争に参入しやすくなります。 PoSのデメリット: ①一極集中が起こりやすい PoSでは、資産を保有する事によって利益が得られる仕組みとなる為、売買せずに溜め込む人が多くなります。しかし、Proof of Stake Velocity(コインの古さによって持ち分評価を下げる事)等の対策によって、この問題は解決します。 ②Stake Grindingやロング・レンジ等の攻撃 PoSに移行する事によって、Stake Grindingやロング・レンジ等(下記を参照)、様々な攻撃への対抗力が弱まります。 「There are also “stake grinding” attacks which require a trivial amount of currency. In a stake[2] grinding attack, the attacker has a small amount of stake and goes through the history of the blockchain and finds places where their stake wins a block. In order to consecutively win, they modify the next block header until some stake they own wins once again. This attack requires a bit of computation, but definitely isn’t impractical.」 (引用:https://en.bitcoin.it/wiki/Altcoin#Proof_Of_Stake) ロング・レンジ攻撃とは、攻撃者が、コインもデポジットもない”古い”鍵を持っていて、イベントに匹敵するバージョンを作り出すのにその鍵を使うことができるという攻撃 この攻撃は、伝統的なproof-of-stakeとセキュリティ・デポジットを基にしたPoSに対して、ジェネシス・ブロックで認証が終わるまで起きる基本的な攻撃 (引用:http://block-chain.jp/tech/long-range-attack/) 第4章【イーサリアムベースの他暗号通貨/トークン紹介】 イーサリアム・トークンとは? 「トークンセール、イニシャルコインオファリング(ICO)、イニシャルトークンオファリングまたはトークンジェネレーションイベント(TGE)として知られるプロジェクト開発のクラウドファンディングの方法として、dapp創設者によってよく作られます。ほとんどの場合、dappがリリースされるとき、トークンはそのdappの通貨または燃料として使われ、AWSクレジットと似たような役割を演じます。」 (引用:https://gatecoin.com/ja/ethereum/) それでは、DAppsの事例やDApps内で使用される通貨・燃料として頻繁に使用されるトークンの例を見ていきましょう。 AirSwap https://www.airswap.io プロジェクト概要 AirSwapとは、Michael Oved氏及びDon Mosites氏によって開発された「分散型ERC20トークン交換プラットフォーム」です。ERC20トークンを交換するための分散型P2PプロトコルであるSwapを実装したサービスであり、「取引所を介さずに個人対個人で直接ERC20トークンの売買」が可能になります。 オプションとして「Oracle」という機能を提供しています。 この機能を通じて、トークンの適正価格を世界中のマーケット/外部データソースから引っ張り出し、取引の際に参照する事ができます。AirSwapは、柔軟且つオープンな環境を提供し、トランザクションを促進すると共に、コスト削減や公正性(フロントランニングの防止等)を実現します。 AirSwapは一言でいうと、「分散型のERC20トークン交換プラットフォーム」です。この分散型交換システムは、英文表記するとDecentralized Exchangeとなり一般的に「DEX」と呼ばれます。ERC20トークンとは、ERC20という規格/基準に則って発行されたイーサリアムベースの仮想通貨で、この規格は9月12日にEthereum Foundationのエンジニアよって正式に制定されました。AirSwapは、Ethereumブロックチェーン上で、ERC20トークンを交換するための分散型ピアツーピアプロトコルであるSwapプロトコルを実装したサービスです。要約すると、Swapはプロトコルで、Swapを使ったサービスがAirSwapということです。 (引用:https://consensysmediajapan.com/2763.html) 今後のロードマップ AirSwapの公式ブログにて今後のロードマップが紹介されています。 (引用:https://blog.airswap.io/the-airswap-roadmap-1c1a3c3b20d3) Q4 2017 Token Trader:マーケットメーカーにP2Pを提供する Q1 2018 Token Market Place:DEXにおいて、P2Pを「当たり前の選択」にする Q2 2018 Partner Network:パートナーと組み、グローバルなP2Pネットワークを提供する   ICO概要 ・日時:2017年10月10日 午前10:10から午後10:10(EST) ・参加者数:12,719名 ・調達額:$12,600,000(約14億円)※2017年10月10日付近のレートで計算 ・トークン供給数:42,000,000AST Gnosis https://gnosis.pm プロジェクト概要 Co-Founders、Martin Koppelmann氏及びStefan D George氏によって、2015年1月より始動したプロジェクトです。Gnosisとは「イーサリアムベースの分散型予測市場プロジェクト」です。特徴としては、株式市場等の場面において、クラウド(群衆)の知恵を通じて将来の出来事を予測する先物取引のような仕組みとなっています。ユーザーはイベントの結果についてYESかNOを選択し(バイナリーポジション)、購入・トレードができます。 世界中のユーザーを接続するパブリックネットワークを提供し、限られた人材のみが意思決定を行う「中央集権型意思決定」から世界中の群衆が意思決定を行う「分散型意思決定」への移行を促進します。Gnosisは今後、保険、IoTやAI、金融市場等の様々な場面における活躍が期待されています。ConsenSys社も支持しています。 Gnosis(ノーシス)はイーサリアム上に構築された分散型予測市場プラットフォームです。Gnosisは誰でもあらゆるイベントの結果を予測できるオープンなプラットフォームを提供し、予測市場アプリケーションの作成やカスタマイズを劇的に単純化させることを計画しています。 GnosisはConsenSys社が支持するプロジェクトで、マーティン・コッペルマンとステファン・ジョージによって創業、2015年1月よりプロジェクトが始動しています。このFounderの2名は2013年に、ビットコインブロックチェーン上に予測市場プラットフォーム「Fairlay.com」を創業しています。 (引用:https://consensysmediajapan.com/2546.html) 今後のロードマップ Gnosisの公式ブログにて今後のロードマップが紹介されています: (引用:https://blog.gnosis.pm/2017-retro-and-the-year-ahead-42959d1380b5) Q2 2018 Crytoeconomic Experiments:暗号化経済における実験 Q1 2018 Reality Keys/Oracle Integration:Reality Keys等のプロバイダー統合 Q1 2018 GNO/WIZ Functionality:GNO/WIZ機能のリリース   ICO概要 ・日時:2017年4月24日 開始 ・参加者数:??? ・調達額:$12,500,000(約14億円)※2017年4月24日付近のレートで計算 ・トークン供給数:10,000,000GNO Blockmason https://blockmason.io/#home プロジェクト概要 Blockmasonは主に4つのプロジェクト(Credit Protocol, Foundation, Friend in Debt, Giftchain)に取り組んでいます。最終的にはこれらの4つのプロジェクトが相互的に連携しあい、一つのまとまったプロトコル/システムとして機能します。「送金=価値の移動」という概念から「権利の取引」への移行、また「分散型経済」における次ステップである「信用の民主化」の実現を図ります。チームはJared Bowie氏、Timothy Galebach氏及び Michael Chin氏の三名のCo-foundersを含みます。 Blockmasonはイーサリアムブロックチェーンのテクノロジーを駆使し、複数のプロジェクトを立ち上げ、相互的に連携し合うプロトコル/システムを開発しているチームです。主に貸借/信用に関する情報を、イーサリアム上に記録し取引できるよう目指しています。 今までの「送金=価値の移動」から「権利の取引」へ、本来イーサリアムが目指しているスマートコントラクトの概念を具現化するプロジェクトです。単なるキャッシュフローに留まらず、企業/個人はより大きな経済活動を行うことが可能になる仕組みと考えられます。 (引用:https://consensysmediajapan.com/2865.html) 4つのプロジェクトの基盤となるのが、Credit Protocolです。イーサリアム上で、貸借/信用/債務情報を記録・保管を可能にするプラットフォームです。下記ICO概要はBCPT(Blockmason Credit Protocol Token)のトークンセールに関する情報です。   ICO概要 ・日時:2017年10月8日〜11月8日 ・参加者数:??? ・調達額:$15,300,000(約17億円)※2017年11月8日付近のレートで計算 ・トークン供給数:33,700,000BCPT(トークン全体の29%) (引用:https://blockmason.io/creditprotocol/) Bancor https://www.bancor.network プロジェクト概要 2017年設立以来、イスラエルに本拠を置くBprotocol Foundationがリードし、Eyal Hertzog氏、Guy Benartzi氏、Galia Benartzi氏等のメンバーによって進められているプロジェクトです。「スマートトークン」という新世代の暗号通貨の標準を作る事を目的としています。第2次世界大戦後、ケインズとシューマッハが構想した世界の中央銀行としての役割を担う「幻の世界通貨バンコール」から、思想的影響を受けています。 「バンコール(bancor)は、1940年から1942年にジョン・メイナード・ケインズとエルンスト・フリードリッヒ・シューマッハーが提案した超国家的な通貨のことを言う。第二次世界大戦後に世界経済を安定させるため、英国がブレトン・ウッズ会議でバンコールの導入を公式提案したが、アメリカ合衆国の合意をとりつけることができず、実現には至らなかった。」 (引用:https://ja.wikipedia.org/wiki/バンコール) この新世代の暗号通貨は、市場における取引・売買量のバランスを保ち、継続的な計算に基づいた価格で提供されます。スマートトークンである「Bancor」は、ERC20(イーサリアムのトークン標準)の交換を行う為の「中間トークン」であり、リクイディティ・プールとして機能しながら市場に流動性の向上をもたらす事を目的とします。 プロジェクトはイスラエルに本拠を置くBprotocol Foundation(2017年設立)がリードし、LocalCoin Ltd.の主要メンバーであるエヤル・ハートゾグ、ガイ・ベナッティ、ガリア・ベナッティが中心となり開発が進められている。 バンコール・プロトコルは、イーサリアムのトークン標準であるERC20の交換をスマートコントラクトを用いて行うための中間トークンだ。Bprotocol Foundationは、バンコールのトークンであるBNTを「スマート・トークン」と呼び、イーサリアム・ネットワーク上のリクイディティプールとして機能させることを主眼においている。 (引用:https://btcnews.jp/5k8o872y11509/) 同社の公式ページ(https://www.bancor.network/protocol)によると、Bancorを用いる事によって、様々なメリットがあります: ・Convert tokens directly on-chain:トークンをオンチェインで交換 ・No counter party, no counter party risk:カウンターパーティのリスクを削減 ・All tokens welcome, big and small:値段や規模に関わらず、全てのトークンが対象となる ・Formulaic Price Stability:計算式による価格の安定性 ・Predictable Price Slippage:予測可能な価格スリップ ・Adjustable "Connector", adjustable liquidity:調整可能な「コネクター」及びリクイディティ ・Buy/Sell at same price, no spread:スプレッド無しに、同価格での売買   ICO概要 ・日時:2017年6月12日、10:00GMT 開始 ・参加者:10,885名 ・調達額:$152,300,000(約172億円)※2017年6月12日付近のレートで計算 ・トークン供給数:79,323,978BNT(トークン全体の50%) (引用:https://medium.com/@EthereumRussian/ico-details-of-bancor-network-bnt-tokens-8607bdc1685c)   トークンの配分/用途を表すグラフです: (引用:https://medium.com/@EthereumRussian/ico-details-of-bancor-network-bnt-tokens-8607bdc1685c) (引用:https://medium.com/@bancor/bancor-network-token-bnt-contribution-token-creation-terms-48cc85a63812) Grid+ プロジェクト概要 Grid+とは、ConsenSysチームが手掛ける、電力配電システムプロジェクトです。具体的には、パブリック・イーサリアム・ネットワーク上で登録と支払いを行う「分散型電力供給プロバイダー/マーケット」です。 グリッドの情報処理能力が発達していない為、電力コストの約38%が電力損失によるものです。Grid+は、既存のグリッドに新レイヤーを追加し、エネルギー市場の再定義を行うと共に、効率を上げるエネルギー配分方法を既存インフラに提供します。結果的には、リスクと管理コストを大幅に削減します。 「Grid +は、世界中のエネルギー界を再定義しようとする電力配電システムです。ブロックチェーン・ソフトウェア会社ConsenSysは、Grid +と呼ばれる新たな配電レイヤーの導入を発表しました。 イーサリアム・ネットワーク上に構築されているため、登録ユーザはリアルタイムで支払いを決済し、エネルギー使用を最適化することができます。 これにより、電力損失のために発生した管理コストが大幅に削減されます。」 (引用:https://consensysmediajapan.com/2938.html) ICO概要 ・日時:2017年10月30日 12:00PM(EST) ・参加者数:??? ・調達額:$44,713,000(約50億円)※2017年10月30日付近のレートで計算 ・トークン供給数:90,000,000GRID(トークン全体の30%)
【DEXとは】イーサリアムベースの仮想通貨取引システム(分散型取引所)

【DEXとは】イーサリアムベースの仮想通貨取引システム(分散型取引所)

2017/12/11 at 7:27 PM 0 comments
この記事では、異なる暗号通貨(Bitcoin:ビットコイン、Ethereum:イーサリアムなど)を取引する上で現在、主に使われているセントライズ(中央集権)型取引所(日本では主にBitflyer,Coincheck、海外ではPoloniex:ポロニエックス,Bitfinex:ビットフィネックス等、過去にハッキングにより破綻してニュースになったMt.Gox:マウントゴックス)と、対照的な特徴を持つDEX(分散型取引所)について解説します。 DEXとは? DEXの定義:DEXとは、第三者の関与なしでp2pトレードを可能にする取引システム DEXとは「decentralized(分散型) exchanges(取引所)」の略で、第三者の組織に資産を預けず、ユーザー間で直接取引を行う(p2p)ことを可能にする次世代の仮想通貨/暗号通貨取引所システムです。主にイーサリアム(Ethereum)ベースのERC20トークンを売買する際に使用されます。 DEXは様々な種類があり、ほとんどのプロセスにおいて分散型システムを取り入れているもの、プロセスのスピードをあげるために一部セントライズ型システムを取り入れているものなどがあります。 DEXは主に3つの要素から構成されています。 オン・チェーン上での取引処理 ユーザーによる資産管理権の維持 分散化されたオーダーブック(注文板) このDEXシステムはユーザーが自身の資金を預金し、取引所がプラットフォーム上で自由に取引できるIOU(借用証書)を発行するセントライズ型と対照的なものです。セントライズ型取引所ではユーザーが資金の引き出しを求めると、IOUはそれらが表す暗号通貨に変換され所有者に送られます。 「This system contrasts with the current centralized model in which users deposit their funds and the exchange issues an IOU that can be freely traded on the platform. When a user asks to withdraw his funds, these are converted back into the cryptocurrency they represent and sent to their owner. 」 (https://www.cryptocompare.com/exchanges/guides/what-is-a-decentralized-exchange/ より引用) DEX(分散型取引所)とは… 第三者に資産を預けることなく、ユーザーが直接取引できる取引所 顧客が自身の資金を預金するセントライズ型取引所とは相反するものである DEXのメリット(セントライズ型取引所との比較) DEX(分散型取引所)のメリット ・信用性 資産を預ける必要が無い=>取引所を信用する必要も無い(持ち逃げ、ハッキング)=>ブロックチェーンの特徴である"Trustless"natureの実現。DEXでは資産を第三者に預金せず、個人のウォレット間での直接的な取引を可能にします。自身で資産と秘密鍵を管理する為、取引所の安全性、誠実性を信用する必要がなくなり、ブロックチェーンの特性である”Trustless” natureを実現することができます。 ・ダウンタイムが起こるリスク システム全体が各ノードに分散されているため、セントライズ型取引所システムと違い、ダウンタイムが起こるリスクがありません。 ・個人情報 スマートコントラクトにより不必要に個人情報を開示する必要性がなくなります。スマートコントラクトによりDEXのユーザーは、取引相手に必要最低限の個人情報のみ(ウォレットのアドレスなど)を開示するだけで取引を実行できます。 ・透明性の実現 DEXはユーザーに資産管理権があり、取引所も初めからプログラムされたスマートコントラクトを基に動くため透明性が高いと言えます。これに比べ、現在の金融機関は顧客の資金をどのように運用しているかユーザーは知る方法がなく、透明性が高いとは言えない状態です。そのため将来的にはDEXの「安全性・透明性」の高いブロックチェーンベースのシステムを金融機関に適用することが好ましい考えられます。 ・マイナートークンの取引ほとんどのセントライズ型はICOが終了し一般公開されたばかりのトークンの取り扱い、ハードフォークによって生まれたコインの配布を行いません。しかし、DEXは取扱銘柄が非常に多く、ハードフォーク時もウォレットを自身で管理する為、確実にトークンが付与されます。 セントライズ型取引所のデメリット ・ハッキングに対する脆弱性 ハッキングされると、取引所に資産を預金している全員の資産、個人情報が危険に晒されます。 ・ダウンタイムが起こるリスク 分散化されていないため、極度にアクセスや取引が集中した場合など、ダウンタイムが起こるリスクがあります。 ・信用性、透明性における問題 資金管理権がユーザーにない為、取引所を信用する必要性があり、透明性にも欠けます。 DEXのデメリット(セントライズ型取引所との比較) DEX(分散型取引所)のデメリット ・流動性問題 DEXは現時点では、ユーザビリティ(使いやすさ)が低く未熟なため、取引ユーザーの主流派/多数派を獲得できておらず、リクイディティ(流動性)の乏しさに繋がっています。 現在Etherdelta等のDEXでは、上述の通りトレーダーやマーケットメーカーの絶対数が少なく、流動性が低いため、価格変動が激しい状態が続いています。Bancor Protocolはスマートトークンにより、流動性リスクを取り除くシステムを構築しています。また、AirSwapなどのプロジェクトでは、グローバルトレードプラットフォームを創設する事により、活発なマーケットメーカーを創出し多くのトレーダーをひきつけ、この問題を解決しようとしています。 「リクイディティ(Liquidity) 流動性。豊富に取引されていて、世界中に多くの市場参加者が存在しており、いつでも売買したい時に、すぐにその時の気配値で取引が可能なことをリクイディティが有る、流動性が有る、という。」(https://kotobank.jp/word/%E3%83%AA%E3%82%AF%E3%82%A4%E3%83%87%E3%82%A3%E3%83%86%E3%82%A3%28Liquidity%29-775667より引用) ・低速度な取引処理 DEXが注文板を出してチェーン上で取引する場合(Etherdelta等)、ブロック生成時間が遅いと長い待ち時間が発生します。またブロックの高使用率で処理が滞ることもあります。意図的にネットワークを詰まらせ、流動性が豊富な他のマーケットでアービトラージ(裁定取引)を行う者が現れることも考えられます。Kyber Networkはリザーブ提供によるマッチングの自動化、Leverjは重要な部分のみをブロックチェーン上で処理する事により、安全性を保ちながら取引速度を上げています。またブロックチェーン自体の技術的改善(シャーディング、ライデン)によりスケーラビリティ問題を解決することも考えられます。 ・コーディングの欠陥 悪質なコーディングがスマートコントラクト内に存在する可能性があり、これにより取引の過程で資産が失われるリスクがあります。 セントライズ型取引所のメリット ・利用、アクセスが容易 DEXと違い、セントライズ型は基本的にユーザーフレンドリーで使いやすく、仕組みが単純でアクセスも容易です。 ・素早い取引が可能 セントライズ型はブロックチェーン生成時間の遅れによる取引の遅延がない為、素早い取引が可能です。 ・Fiatの取り扱い DEX ではFiat(法定通貨)と仮想通貨の取引に対応しない為、DEXが主流となってもセントライズ型はFiatと仮想通貨の交換所としての役割を継続すると考えられます。 DEXの仕組み ①ブロックチェーン:ブロックチェーン(スマートコントラクト)技術によるp2p取引の実現 DEXではブロックチェーンにスマートコントラクトを埋め込むことによって、自動的に行われるp2p取引を実現しています。スマートコントラクトとは、ブロックチェーン上で格納、置き換えられるプログラムです。事前にプログラムされた条件が達成されれば、人間の指示なしに自動的に取引の内容を完了します。取引処理、オーダーブック(注文板)などの運用はブロックチェーン上で行われます。 ②第三者に資産を預金しないことによる安全性、透明性の実現 DEXでは第三者に資産を預金せず、個人のウォレット間で直接取引を行うことができます。そのため取引所がハッキングされたとしても自身のウォレットから資産が消えることはありません。また資産管理権がユーザーにあるため、取引所が預金した資金を持ち逃げ、所有者に不利な取引を行うこともなくなり、完全な透明性が実現されます。 複数プロジェクトの比較(AirSwap,0x,Leverj,Kyber) ①Etherdelta:https://etherdelta.com/#PPT-ETH Etherdeltaはイーサリアムベース初のDEX(厳密には取引所ではなく交換所)です。 DEXの中でもオンチェーンで取引工程が多く行われる特徴を持ちます。イーサリアム・ブロックチェーンのブロック生成速度が遅いため、オフチェーン上の注文板を提供しています。買手と売手の自動的なマッチングはなく、買手が注文板にある、売手の価格を選択することで取引が成立し、ブロックチェーンに記録されます。マッチングを達成するためにリレーヤーを利用します。 ②0x:https://0xproject.com 厳密には取引所ではなく、様々な取引所が0xのシステムを利用できるプロトコルです。オフチェーンでマッチ、注文処理はオンチェーンで行います。しかし買手と売手の自動的なマッチングが存在しないため、Etherdeltaと同じく取引のスピードが遅いという問題を抱えています。マッチングを達成するためにリレーヤーを利用します。 ③Kyber Network:https://kyber.network 売手がトークンをリザーブし、買手がリザーブにある通貨を取引する形式をとっています。このリザーブはKYC(本人確認)を通った人がリザーブオペレーターとなり、各トークンの価格を設定することにより成立します。リザーブオペレーターは自身のリザーブで取引が行われるよう、レートの良い価格でトークンを提供しようと、他のリザーブオペレーターと競合します。カイバーネットワークは買手に、複数のリザーブの中からレートの良いものを自動的に選択し提供します。自動的にマッチングが行われる為、取引のスピードを上げることに成功しています。これによりリレーヤーの必要がなく、取引時にGASのみ払えば取引を成立できることになります。 ④AirSwap:https://www.airswap.io p2pで直接ERC20トークンの売買が可能なプラットフォームです。 注文処理のみにオンチェーンを利用しています。トークンを交換したいパーティー/トレーダー同士をマッチングさせ、オフチェーンで取引のレートを決めさせ、両パーティー/トレーダーが合意する条件で取引を成立させます。この時AirSwapは、オラクルにより適切なレートを提案します。取引処理のみオンチェーンで行うため、取引スピードが速く、GASも安く済むというメリットがあります。AirSwapは、12月5日に二番目のプロダクトであるTokenTraderの限定β版を開始しました。 (https://consensysmediajapan.com/3265.htmlより引用) ⑤Leverj:https://www.leverj.io 暗号通貨におけるレバレッジ取引を初めて実現するDEXです。システムの重要な部分は分散型、注文処理やマッチングは集中型を採用することにより、安全性、UXの向上を実現しています。 ⑥Bancor Protocol:https://www.bancor.network スマートコントラクトを基にしたトークンによる取引で流動性問題を解決するプロトコルです。(イーサリアムネットで稼働中) (what is a decentralized exchange? by Jackson Palmer: https://youtu.be/lx6rq0dbcDE ) DEXがもたらす社会変革 DEXは開発が開始されてから時間が経過していないため、まだ普及しておらず、一般的には認知が低い状態です。また流動性、取引処理の速度の問題などシステムとしてまだ未熟な部分が散見されます。しかし近いうちにこれらの欠陥は、様々なプロジェクトが開発を進み、ユーザー数が増えるにつれ改善されるはずです。 ブロックチェーンの特徴を最大限を生かしたDEXは、金融業界に「信用性」「安全性」「透明性」という面で、多大な影響を与えるポテンシャルを持っています。 煩雑な手続きを介して開示しなければならない多くの個人情報、ハッキングに対し脆弱なセントライズ型仮想通貨取引所、自身の資金がどのように管理されているか知る術がない現在の金融機関のシステムは、DEXが取引所として主流となった時、大きく変化すると考えられます。
【音楽販売&著作権】KraftwerkやBjorkがブロックチェーンを活用

【音楽販売&著作権】KraftwerkやBjorkがブロックチェーンを活用

2017/12/06 at 7:05 PM 0 comments
自動的な決済が可能な音楽配信手段として、アーティストがブロックチェーンやスマートコントラクトを使用すると、現在の仲介業者を省いたネットワークを築くことができます。しかし技術進歩のトレンドを追って進化を続ける音楽業界において、ブロックチェーンの導入もまた小さな変化の側面にすぎません。 会場へのアクセスやアルバム提供の手段として、ブロックチェーンテクノロジーの分野に介入するミュージシャンがいます。 世界中の金融機関がブロックチェーンの波に呼応している今、知的財産のクリエイターもブロックチェーンに技術的可能性を見出しているのは当然のことです。 自動的な決済が可能な音楽配信手段として、アーティストがブロックチェーンやスマートコントラクトを使用すると、現在の仲介業者を省いたネットワークを築くことができます。しかし技術進歩のトレンドを追って進化を続ける音楽業界において、ブロックチェーンの導入もまた小さな変化の側面にすぎません。 私たちが音楽を楽しむ媒体は長期に渡って非常にさまざまに変化し、そして常に進化していきます。iPod NanoやShuffleのような比較的新しいものでさえ、音楽ストリーミングサービスが人気を集めているために、ブロックチェーンテクノロジーの分野に足を踏み入れています。MP3ファイルが間もなく廃止され、その代わりにAACのような強力なMPEGコーデックが、より低いビットレートでより良い品質を提供すると言われています。レコードは、ヒップスター愛好家たちのブームとなる機会を逃してしまったようです。 ファンが音楽を聴くためのメディアやプラットフォーム、またその精神までも日々変化していく中で、アーティストは自分たちの音楽を配信する手段として、ブロックチェーンプラットフォームに目を向け始めています。このような傾向がより強まれば、新技術によって混乱を避けられない次なる機関は、音楽出版社やレーベルとなるでしょう。 たとえば、伝説となっているドイツの電子音楽グループである「Kraftwerk」は、モスクワのクレムリン宮殿で、2018年2月13日に予定されているショーのチケット販売を管理するために、Ethereum(イーサリアム)ブロックチェーン使用を予定しています。流行を広める最先端のミュージシャンであるKraftwerkが、Ethereum基盤のチケット販売を始めるのはファンにとってそう驚くべきことではないかもしれません。この方法を使ってコンサートチケットを購入するときには、モバイルアプリに「スタブ(stubs)=半券のようなもの」を保存することで物理的なチケットの必要性をなくし、廃棄物を削減します。会場は、EDCCによって管理されるチケットの販売を通じて、ある程度、自律的管理を達成することができます。ブロックチェーンを利用することで、消費者にもアーティストにも大きな問題であるチケット転売を防止するのに役立つでしょう。 BjorkやImogen Heapのようなアーティストも、暗号化通信とブロックチェーン技術を音楽に取り入れようとしてきました。 Heapは、Ethereumブロックチェーン上にニューシングル「Tiny Human」を公開することで、2015年に歴史に残りました。そしてこのプロジェクトは、Heapによって創られたビットコインウォレットアプリ「Mycelia」として成功しました。ConsenSys社は、バックエンドのエンジニアリングに携わって、スマートコントラクトを介した流通と取引を管理しました。 「Tiny Human」ブロックチェーンプロジェクトは、スムーズな販売ではなかったかもしれません(インターフェイスやEtherを入手する方法に関する知識の一般的な欠如によって、シングルを222販売し総売上額130.20ドルであった)。 しかし、ブロックチェーンが直面している障害=消費者の暗号通貨に対するリテラシーの低さ等、重要な課題に光を当てています。 Bjorkは英国のスタートアップ「Blockpool」と協力して、ブロックチェーンを通じた流通に着手しました。最新アルバム「Utopia」は、2017年11月24日現在、イーサリアム、ビットコイン、その他のさまざまな暗号通貨で購入可能です。アルバムをあらかじめ注文しているファンには、100枚のAudio Coins(プレス時には約0.20ドル相当)が贈られます。これは、限定版アルバムなどの購入をより容易にします。これは小さいながらも面白い仕組みであり、他のアーティストもインスパイアされ、ファンに独占的なコンテンツを提供する方法として暗号通貨のチャンネルを探り始めるかもしれません。 ブロックチェーンシステムが消費者の要求に応えるまでには長い道のりがありますが、技術を活用するアーティストによるこれらの試みはその過程の重要なステップです。   (ソース元記事:https://www.ethnews.com/musicians-are-tuning-in-to-blockchain-technology)  
【ICO】を起点とした価値のトークナイゼーションとは?

【ICO】を起点とした価値のトークナイゼーションとは?

2017/11/30 at 8:01 PM 0 comments
  前回の記事では「ICO」について解説しました。ビットコイン(Bitcoin)やイーサリアム(Ethereum)をはじめとした暗号通貨の誕生、それから「ICO」という新しい資金調達の形が浸透することによって、ここ日本でも暗号通貨/仮想通貨/トークンという言葉が徐々に身近になってきています。新規の暗号通貨/仮想通貨/トークンが発行されることは、様々な価値が「トークン化(電子データに代替化)」されることを意味しています。 本章では、「トークン化=トークナイゼーション(Tokenization)」をキーワードに掲げ、単なるトークン化ではなく、暗号通貨がもたらした「価値のトークナイゼーション」が起きた背景・トークン化の仕組みや利便性について解説を行います。 トークナイゼーション(Tokenization)とは? トークナイゼーション(Tokenization)とは、直訳すると「トークン化する」ことです。 トークンは、「代用貨幣」という意味や、プログラミング上のソースコードを構成する単位要素として用いられたり、様々な意味を持ちます。 企業がクレジットカード情報など機密情報を扱う際に活用されている、利便性の高いセキュリティ対策技術のことも、トークナイゼーション(Tokenization)と呼ばれています。この場合は、機密情報を意味のない文字列などの代理データに置き換えることです。 「新しいデータ保護技術として欧米で注目を集めているのが『トークナイゼーション』である。辞書通りの意味は『トークン(代用券)化する』ということ。セキュリティ対策の文脈では、トークンを『意味のない数列』あるいは『引換券』の意味で使う。クレジットカードのセキュリティ対策基準を発行する団体『PCI SSC』は、トークナイゼーションでクレジットカード情報の保護を大幅に強化できると見ている。」 (http://itpro.nikkeibp.co.jp/article/COLUMN/20101119/354343/?rt=nocnt より引用) 総じて「トークナイゼーション(Tokenization)とは、代用貨幣や代理データに置き換えること」と表現できそうです。その中で本記事では、主にビットコインやイーサリアムに代表される暗号通貨としてのトークンに焦点を当て、「価値のトークナイゼーション」という新しい概念を定義して論じていきます。 トークナイゼーション(Tokenization)とは... 価値のトークナイゼーション(Tokenization):ビットコインやイーサリアム等の暗号通貨をはじめとした価値を代替する「デジタルトークン」によって、価値/資産をトークン化し、非中央集権的に「シームレスな価値移動」を可能にすること 情報を「トークン」と呼ばれる代理データに置き換えること。(例:機密情報のトークン化) 価値のトークナイゼーション(Tokenization)が起きた背景 2009年にブロックチェーン(分散型台帳システム)が初めて構築され、ビットコインが誕生しました。このビットコインやイーサリアム等の暗号通貨は、中央機関の介入なく、プロトコル・発行上限・マイニング・コンピュータによる相互監視のネットワークパワーで、その価値を担保し国境に捉われないシームレスな価値移動を可能にしました。 もともと「お金」の概念は、貝殻や金銀に始まり、現在は紙幣等の不換紙幣/法定通貨が主流です。この法定通貨の価値は「国家の信用力」によって成立しています。日本の場合、中央銀行である日本銀行が発行している紙幣や硬貨は、日本国力が世界から信用されているため価値が安定していますが、万が一、日本の財政や経済が破綻した場合は「ハイパーインフレ」が起こり、一万円は紙切れ同然の価値しか持たなくなります。 実際に政治情勢の悪化や景気後退を原因にハイパーインフレが発生した国家は、歴史を遡ると多数確認できます。最近ではジンバブエ、ベネズエラ、ギリシャの金融危機が報じられました。銀行口座の預金が封鎖され、銀行に駆け寄る人々のニュースが記憶に残っている方も多いかもしれません。現在GDP世界3位の日本における財政破綻は当面起こり得ないと推測できますが、他の国の通貨価値の破綻は今でも実際に起きており、日本でも過去には戦後1945年〜1949年までで約70倍のハイパーインフレが起きました。 「仮想通貨」と、円やドルといった「法定通貨」とは、何が違うのでしょうか。最大の違いは、中央銀行が発行する法定通貨には国家による信用や国力というような裏付けがありますが、仮想通貨にはありません。例えば、資源価格が上がりますと、資源国であるブラジルやオーストラリアなどの通貨が上昇しますが、それは通貨に「国力」という裏付けがあるからです。国力とは、その国の軍事力、経済力、技術力、資源、人口などを総合したものです。その国力によって、為替レートが変動します。一方で、国の裏付けがない仮想通貨の相場がなぜ上がったり下がったりするのかというと、理由は「需給」だけなのです。各仮想通貨には発行の限度額がありますが、あくまでもその時点での需給で価値が決まるのです。 (http://business.nikkeibp.co.jp/atcl/opinion/16/011000037/101100022/ より引用) ジンバブエ・ドル、ついに廃止 壮絶なインフレで300000000000000ドル=1円。財政赤字を埋め合わせるために、中央銀行が政府に求められるがままに紙幣を印刷した結果、ジンバブエでは2008年に5000億%のインフレになった。 [caption id="attachment_3258" align="alignnone" width="630"] A child poses with wads of Zimbabwean dollar notes begged on the streets of Harare Tuesday, Feb. 19, 2008. The official rate of annual inflation in Zimbabwe rocketed past the 100,000 percent barrier, by far the highest in the world, the state central statistical office said Thursday Feb 21, 2008. (AP Photo)[/caption] (2015年06月14日記事/http://www.huffingtonpost.jp/2015/06/12/zimbabwe-dollar_n_7574706.html より引用) こうした国単位の通貨という枠に収まらない新しい価値の形として誕生したビットコインは、国家の通貨危機とも分けて考えることができます。自分以外の誰にも管理されず、中央機関を介さない価値移動の革新性と可能性を支持した潜在的な分散主義者達は、「初期ビットコインコミュニティ」を形成しました。 暗号通貨(トークン)による価値移動=送金における利便性 シームレス:文字列から成る送信先アドレスで世界中どこにでも送金可能(銀行海外送金手続は煩雑) 手数料:数百円(銀行海外送金は3000-6000円程) スピード:数秒〜数時間(銀行海外送金は半日〜祝日挟むと数日) 暗号通貨(トークン)による価値移動=送金における安全性 トレーサビリティ:ブロックチェーン上の記録は消えず永続的に追跡可能 自己管理:ウォレット選定/秘密鍵の管理を怠らなければハッキングによる盗難は有り得ない ビットコイン&ブロックチェーン創成期から開発に携わっていた開発者や資産家は、上記の利便性と安全性にいち早く気付き、潜在的な価値を見出したと考えられます。為替や株式等の既存金融マーケットや、各国家間で区切られた既存の経済圏とは別に、このシームレスな暗号通貨(トークン)によって新しい経済圏を築くことが可能だと考えたのでしょう。ビットコイン&ブロックチェーン自体、中央集権的な社会構造に嫌気がさしていた人々の潜在的な共通意識が成し遂げた「分散型社会組成への挑戦」と表現できます。 価値移動における潜在ニーズの顕在化要素(分散型社会への挑戦) 国家や銀行等の中央機関へ不信を抱く人々 従来の送金システム(煩雑且つ手数料が高い) シームレスな暗号通貨(トークン)による新しい経済圏構築を期待 更に頻発して行われたICO(前章の記事参照)が数々のトークンを生み出しました。取引所上場後に何十倍もの値段をつけたビットコインやイーアリアム。この「ICO連発」と「キャピタルゲイン」による「投機サイクル」が、価値のトークナイゼーションを加速させたと考察できます。 価値のトークナイゼーション(Tokenization)組成〜加速経緯 ビットコインの誕生→シームレスな価値移動が誕生 潜在ニーズの顕在化(効率&利便性:簡単自由に価値移動を行いたい&従来の送金手数料高すぎる / 安全性:銀行や国家等の中央集権機関はそもそも信用できるのか) 潜在ニーズを抱く新しい経済圏を求める人々(Who?=初期ビットコインコミュニティ)→コミュニティ形成 ICOや上場後投機が後押しし、トークナイゼーションが加速 暗号通貨(トークン)の送金/安全性の仕組み では技術的にトークン送金の仕組みや、安全性の仕組みをみていきましょう。 ビットコインやイーサリアムベースのトークンに代表される暗号通貨(トークン)は、送り先のアドレスさえあれば、全世界中に送金することが可能です。 特にイーサリアムでは「ERC20」という規格に準拠し発行されたトークンであれば、一つのイーサリアムアドレス/ウォレットで様々なトークンの送受信が可能です。11月30日(木)現在、https://etherscan.io/tokens に上がっているトークンだけでも49種類確認できます。 ERC20に準拠した暗号通貨(トークン)の一部 Ethereum(ETH) AirSwap(AST) Bancor(BNT) BlockMason Credit Protocol (BCPT) Grid+ (GRID) Basic Attention Token(BAT) Augur (REP) 「通常、ウォレットと呼ばれるものは、1種類の通貨しか保持できませんよね。例えばBTCのウォレットアドレスにETHを送金すると、消し飛んでなくなってしまうかもしれません。しかしこのERC20という規格に対応したイーサリアムウォレットであれば、ERC20に準拠した基軸通貨ETHの「トークン」と呼ばれるものを何種類も保管することができます。」 (http://eiking.asia/article/2017/10/6457/#ERC20 より引用) ERC20トークン管理ウォレット マイ・イーサ・ウォレット:https://www.myetherwallet.com/ imToken:https://token.im/ 暗号通貨(トークン)は、wallet to wallet で仲介者を経由することなく直接送金が実施されます。こうした送金されたトークンの送信履歴は、誰でも何時でもエクスプローラーサイトで調べることが出来ます。ビットコインはhttps://blockchain.info/、イーサリアムベースのERC20トークンは全てhttps://etherscan.io/で検索閲覧可能です。 また全ての取引履歴はブロックチェーン上に記録され、履歴の改ざんや消失は現実的に起こり得ません。詳しく知りたい方は右記サイトhttps://my-ether.net/defensive/やhttp://orekabu.jp/bitcoin-structure/を参照されると良いでしょう。 トークン送信(送金)の仕組み アドレス(文字列)のみで送金が可能。 P2P(Peer-to-peer)技術と、公開鍵暗号などの暗号技術で直接送金 「Bitcoinは、銀行のような中央を経由せず、直接、1対1で通貨のようなものを取引できる仕組みである。これはつまり、サーバー・クライアントモデルに基づいた信用によらず、取引ができるということである。この仕組みは、P2P(Peer-to-peer)技術と、公開鍵暗号などの暗号技術を用いて実現されている。このような「通貨」は、Bitcoinによってはじめて実現されたが、現在、同様の仕組みを用いた通貨は、Bitcoinの他にも多数存在する。(Bitcoinの歴史、Bitcoinの派生通貨)これらをまとめて、「暗号通貨」(Cryptocurrency; クリプト・カレンシー)と呼ぶ。」 (http://bitcoin.peryaudo.org/design.html より引用) 「ブロックと呼ばれる各やり取りはすべて暗号化し、時刻情報を付与し、ほかのブロックと鎖(チェーン)状に連結して管理する。ブロックチェーンに記録された情報の改変は不可能で、真正性が保証される。」 (https://japan.cnet.com/article/35110762/ より引用)
【ICO】ビットコインやイーサリアムを起源とするICOとは?

【ICO】ビットコインやイーサリアムを起源とするICOとは?

2017/11/30 at 7:39 PM 0 comments
ビットコイン(Bitcoin)・イーサリアム(Ethereum)等の暗号通貨/仮想通貨の名前を一般的にも耳にする機会が増えてきたのではないでしょうか。デジタル通貨(トークン)を活用した新しい資金調達の形である「ICO」は、グローバルでは2013年が起源と言われており、2017年に入って一気に加速しました。 本章では「ICOとは何か?」をテーマにし、他資金調達方法との違いにも触れながら、起源や歴史について振り返ってみたいと思います。全2章「トークナイゼーション」についてはこちらから。 ICOとは? ICOは「Initial(最初の)Coin(コイン) Offering(売り物)」の略称で、新規公開株IPO(Initial Public Offering)になぞらえてICOと呼ばれています。広義的に「暗号通貨(仮想通貨/トークン)を発行し、資金調達を行うこと」を意味します。 投資家にとってICOは、取引所上場前に暗号通貨/仮想通貨/トークン/コインを入手できるチャンスで、上場後イグジット(売却)によってキャピタルゲイン(売買差益)を得ることも可能になります。ICO時に設定されたトークンの値段より、上場後高い値段で売却ができれば利益に、反面価格が下がった場合は当然資産が減ることになります。 ICOとは... 暗号通貨/仮想通貨/トークン/コインを発行し、発行側が資金調達を行うこと 英語ではよくクラウドセール/プレセール/トークンセールとも呼ばれる 「ICO(Initial Coin Offering:イニシャル・コイン・オファリング/新規仮想通貨公開)とは、資金調達をしたい企業や事業プロジェクトが、独自の仮想通貨を発行/販売し、資金を調達する手段/プロセスのことを指します。投資家には「コイン」や「トークン」と呼ばれるデジタル通貨(資産)を購入してもらい、原則として対価は支払われません。別名「クルドセール」や「プリセール」、「トークンセール」などとも呼ばれ、株式を利用した従来の方法(IPO:新規株式公開)以外の資金調達手段として注目を集めています。」 (ICOとは何か? / https://www.sbbit.jp/article/cont1/34094 より引用) 「IPOとは、Initial Public Offeringの略で、新規公開株のことです。これは具体的には、企業が資金集めをする際に、一般の投資家に向けて自社の株を売り出すことで株に保有させることを指します。未上場だった企業が、新規に株式上場をし、上場前に株主が保有していた株式を売り出すことからInitial(最初の)Public(公開の)Offering(売り物)と呼ばれています。」 (IPOとは / https://boxil.jp/mag/a3112/ より引用) 他の資金調達方法との違い(メリット/デメリット) 通常企業が資金調達を行う場合、従来の形式は「デットファイナンス」と「エクイティファイナンス」に二分されます。デットは(debt:負債)、エクイティは(equity:株主資本)を意味します。2つの大きな違いは「返済義務の有無(投資家視点では元本保証の有無)」です。 デット・ファイナンス(要返済):金融機関や投資家から借入を行い、負債として資金を調達する エクイティ・ファイナンス(返済不要):株式発行など、資本として資金調達をする ICOはインターネット等を介して資金調達を行うため、デット/エクイティファイナンスとは違い、調達側は比較的自由に資金を調達することが可能です。その反面、投資家側はリスクを伴うため注意を払い投資を判断する必要があります。各国の法規制や法整備が追いついていないからです。日本でも2017年10月27日金融庁が注意喚起を促す文書を公表しました。 「ICO(Initial Coin Offering)について ~利用者及び事業者に対する注意喚起~ 」 ICOのメリット(デット/エクイティファイナンスとの違い) 調達側:利子の支払いが原則ない(デッドファイナンスとの違い) 調達側:配当を支払う必要がない(エクイティファイナンスとの違い) 調達側:株式発行による議決権を渡す必要がない(エクイティファイナンスとの違い) 調達側:比較的多額の資金調達を行いやすい 調達側:少人数プロジェクトや個人でも実施可能/事業価値の提示がゆるい 調達側:インターネットを用い世界中の投資家相手から資金調達が可能 投資家側:殆どがスタートアップ企業やプロジェクトなのでハイリターンを狙いやすい 投資家側:インターネット上で払い込みが完結可能/小額から投資可能 投資家側:取引所やDEX上場後であればいつでも売却(イグジット)可能 ICOのデメリット(デット/エクイティファイナンスとの違い) 調達側:ブロックチェーンやプログラミングに関する技術力が必要 調達側:プログラミングにバグがあった場合ハッキングリスクがある 投資家側:値動きが激しいためハイリスク 下記は、ICOとエクイティファイナンス、双方について言えることです。 「また、投資家やVC側にもメリットはあります。通常、投資家がスタートアップや新興企業へ投資する場合、配当ではなく、成長性に期待して出資が行われます。特に創業期に近ければ近いほど、ハイリスクではありますが、その後のリターンを見込むことができるのです。また、ICOであれば、議決権が付与されないため、経営者も経営に関与されるリスクが極めて低く、早い段階から出資できる点が魅力と言えるでしょう。」 (https://www.sbbit.jp/article/cont1/34094 より引用) ICOの起源/歴史 2009年に最初のビットコインが発行され運用が開始されました。これが暗号通貨/仮想通貨の起源です。その後2013年、J.R. Willett氏がビットコインプロトコルを応用したMastercoin(現Omni)を開始し、初のICOを実施しました。 (J.R. Willett氏 https://www.linkedin.com/in/jrwillett/ / 写真はhttps://www.forbes.com/sites/laurashin/2017/09/21/heres-the-man-who-created-icos-and-this-is-the-new-token-hes-backing/#412217b11839 より引用) 「ビットコインはサトシ・ナカモト[8][9] (Satoshi Nakamoto) を名乗る人物によって投稿された論文[10]に基づき、2009年に運用が開始された[11]。」(https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E3%82%B3%E3%82%A4%E3%83%B3 より引用) 主要ICO事例や経緯 2009年:初のビットコインが発行され運用開始 2013年7月:Mastercoinが初のICO実施 2014年7月:Ehereum ICO実施(約31,500BTC調達/当時約16億円相当) 2015年8月:Auger ICO実施(当時約6億円相当調達)→2016年10月トークン配布 2016年5月:DAO ICO実施(当時約150億円相当調達)→約65億円相当が盗まれる 2017年6月:Bancor ICO実施(当時約167億円相当調達) 初の大型ICOとしてクラウドセール/プレセールを成功に収めたのがイーサリアムです。開始後12時間で3,700BTC/当時約2400万円相当を調達し、最終的には42日間で約31,500BTC/当時約16億円相当を調達しました。このイーサリアムのプレセールでは、購入者が指定されたビットコインアドレスへBTCを送金し、後日ETHが付与されるスキームで行われました。 <イーサリアム開発者ビタリックの当時の投稿> https://blog.ethereum.org/2014/07/22/launching-the-ether-sale/ <イーサリアムICO時に使用されたBTCアドレス> https://blockchain.info/address/36PrZ1KHYMpqSyAQXSG8VwbUiq2EogxLo2   月間ICO調達額(2014年1月-2017年10月/coindesk調べ) (https://www.coindesk.com/ico-tracker/ より引用)   ICO調達累積額の推移(2014年2月-2017年10月/coindesk調べ) (https://www.coindesk.com/ico-tracker/ より引用) 上図Coindeskの集計データに寄ると、2016年5月DAOのICOを起点にその後落ち着き、2017年5月以降、累積額が一気に増加しているのが見て取れます。2014年2月〜2017年11月6日までに行われたICOで、総額約35.18億ドル/約3950億円相当が確認できますが、カウントされていないICOを勘案すると、これ以上の金額になると推定されます。 ICOの仕組みや流れ 企業やプロジェクトがICOを行う際のプロセスは、下記①〜④に大分されるでしょう。 自社HPやmedium等の自社ブログ上で発表される進捗や提携ニュースは、投資家サイドへ適切な情報開示を行う上で重要です。また資金調達側も、マーケティングやPRを行う上で計画的に実施されることが適切と考えられます。 ① 資金調達側が事業概要や進捗状況を随時公開 事業概要:プロジェクトミッション、ビジネスモデル、ロードマップ、トークンデザインの定義(ホワイトペーパーと呼ばれる定義書を公開) PR&マーケティング:HPやブログ上で進捗や提携ニュースの発表 ② ICO概要発表(プレセール・メインセールの概要) 期間:約1ヶ月で設定される場合が多い トークン配布総量:総発行量の内、ICO売却分の数量 交換レート:1トークン=xxETH等の定義 調達上限:ハードキャップ トークン配布方法:コントラクトで自動的にトークン付与、または事後付与 PR&マーケティング:HPやブログ上で進捗や提携ニュースの発表 プレセールの有無等 ③ ICO実施期間中 PR&マーケティング:HPやブログ上で進捗や提携ニュースの発表 ④ ICO終了〜終了後 トークンセールの結果を公表 取引所上場に関する情報を公表 2015年はAugerのように、先に資金調達を行いトークン付与が事後になるケースもありましたが、2016年5月DAOトークンICOが実施された頃から、投資家はETHを特定のアドレスへ送金すると、スマートコントラクトで自動的にトークンを受け取ることが可能になりました。 ICOが向かう先は?期待と懸念 ICOによる資金調達は2017年に入り一気に加速し、多数のプロジェクトが大型資金調達を成功させました。しかしその自由さゆえ、各国の行政機関が警鐘を鳴らし規制を強め、2017年11月現在ようやく本来の落ち着きを取り戻していると感じられます。 資金調達の方法としての「ICO」は、今後然るべき形で規制や整備を受け、資金調達側と投資家側の双方を保護する形で成熟していくでしょう。ここで注目すべきは、単なる資金調達方法としての「ICO」ではなく「トークン」という新しい価値の形式です。 当たり前のように全ての情報がデータ化されて行く中、中央機関の介入なく資産や価値が担保された「トークン」というシームレスなデータ化が可能になりました。suicaや企業ポイントといった閉じた形の価値ではなく、世界中で取引や決済に利用可能なビットコインやイーサリアムがその価値と利便性を証明し続けています。 次章では、この「あらゆる資産のトークン化」が加速することの意味について解説していきます。2章「トークナイゼーション(Tokenization)とは?」をお楽しみに!!
【イーサリアム】ヴィタリック氏によるzk-SNARKs及びzk-STARKsの比較

【イーサリアム】ヴィタリック氏によるzk-SNARKs及びzk-STARKsの比較

2017/11/22 at 5:43 PM 0 comments
イーサリアム開発者、ヴィタリック・ブテリン氏、ブログにてZk-STARKSについて語る イーサリアム開発者ヴィタリック氏は、11月9日に自身のブログにてzk-SNARKs及びzk-STARKSを比較。投稿では、イーサリアムブロックチェーンのプラットフォームにおける様々な課題(及び今後顕在化するであろう問題)に対する解決策として、zk-STARKsの魅力や特徴が紹介されています。 zk-SNARKsにおけるゼロ知識証明の応用により、ユーザーのプライバシーの保護及び匿名性を可能とします。この点が、多くのブロックチェーン開発者の注目を集めています。 zk-SNARKs:Zcashの基礎となる暗号ツール。取引内容を確認する事なく、ユーザーのプライバシーを保護しながら、情報の正誤を証明するシステム zk-STARKs:zk-SNARKsの改良版。コスト面・スピード面・スケーラビリティ・安全面において優位性が保証されている(https://www.coindesk.com/zk-starks-new-take-on-zcash-tech-could-power-truly-private-blockchains/を参照) ゼロ知識証明:暗号理論において、当事者が真実が偽の記述以上の物を受け取ることなく、声明が正しいかどうかを検証する事を可能にする技術 通常のイーサリアム取引においては、送信先、受信先、ETH量が公開されます。zk-SNARKsを実装する事によって、これらの情報の開示を防ぎ、プライバシーを重視するユーザーにとって魅力的なプラットフォームを提供します。 匿名性の向上に大きく貢献する点としてあげられるのが、正にノンゼロの「random secret number」の使用です。取引の証明者(prover)は、この数字を二つの関数の積と掛け、検証者(verifier)にrandom secret numberの値と共に送信します。この情報を通じ、受信者ノードは、取引の具体的な内容を確認せずとも、正誤の確認ができます。 現在、取引内容の認証・正誤の確認における迅速化が、イーサリアム取引における中心的な課題となります。zk-SNARKsを導入する事によって、プライバシー保護の向上以外にも、取引内容の認証の迅速化等、様々なメリットがあると考えらます。 ブテリン氏によると、Zk-STARKs及びzk-SNARKに共通する短所として、「信頼できるセットアップ」への依存等があげられます。更に同氏は、この技術は倫理上、「量子コンピュータに攻撃されても、安全だ」と述べました。 zk-SNARKsの288KBに対し、zk-STARKsのプルーフ・サイズはおよそ「数百KB」と予想されます。特に、「トラストの最小化が必要とされる、パブリック・ブロックチェーン・アプリケーションにおいて、このトレードオフは価値があるものとみなされる」と主張。又、楕円曲線が壊れた場合や、量子コンピュータが出現した場合、更に必要性が増します。 エリー・ベン・サソン教授のPPTによると、「セットアップ及び全ての認証クエリーがパブリック・ランダム・コインに該当する場合、計算上のインテグリティ及びプライバシー・システムが透明化する」。これに比べ、zk-SNARKSは「不透明なセットアップ・フェーズ」が必要となります。 詳細については、ブテリン氏のブログを参照。 (ソース元記事:https://www.ethnews.com/ethereum-creator-vitalik-buterin-explores-zk-starks-in-new-blog-post)
【イーサリアム】EIP156が脆弱性を改善

【イーサリアム】EIP156が脆弱性を改善

2017/11/20 at 7:52 PM 0 comments
  イーサリアムのParity(パリティ)事件後、EIP(Ethereum Improvement Proposal:イーサリアム改善提案)No.156が見込みのある解決策として提案されました。パリティ事件以外にも、EIP-156は改善に大きく役立つことになります。 THE DAO事件(イーサリアム上のスマートコントラストを利用した新プロジェクトICO時に起きたハッキング事件)の数か月後、2016年10月14日、イーサリアムの創設者であるVatalik ButerinがGitHub上でEIP-156を提案しました。仮想通貨/暗号通貨ウォレット「パリティ」におけるバグの影響で500,000イーサリアム以上が凍結したことを受けて、この案は「凍結したイーサリアムの復活システム」と評されました。 EIP-156はハードフォーク(ブトックチェーンを分岐させ新ルールを適用する仕様変更の方法)によって実行され、パリティの深刻な問題に見込みある解決策として挙がっていたのです。あいにく、ブロックチェーン企業ConsenSysの開発者Alex Millerは、それを単純な問題ではないと注意しています。 Note: EIP156 does not apply to the Parity situation. EIP156 covers contracts with no code. Parity multisigs have code - dependency is erased — Alex Miller (@ethereum_alex) 2017年11月7日 パリティの件を考えなくとも、とにかくEIP-156はイーサリアムの脆弱性の改善に成功し、完全にその脆弱性を修正できた、ということなのでしょうか。 理論的に考えると、「EIP-156はコードを用いず誤ってつくられたコントラクトから資産を引き出すことを可能にする」とButerinは説明しました。よりわかりやすく言うと、あなたが存在しない事業に間違って小切手を送ってしまったことを想像してください、EIP-156が適切に働けばその取引を元に戻すことができるということです。 実行されれば、そのプロトコルは「イーサリアムアドレスを間違った計算した旧Ethereum JavaScript library」の脆弱性を改善します。さらにEIP-156は、「ETC(イーサリアムクラシック)で作成されたコントラクトによるリプレイアタックの損失や、ETHでコントラクトが作成されていないETHの送金」も処理するとButerinは記述しています。 EIP-156が悪意を持って使われることを心配する暗号通貨/仮想通貨の持ち主もいます。しかし昨年、Buterinはこの心配は不要だとしており、「すべての場合で資産の〝正当な所有者〟は明らかで数学的に証明可能であり、資産が奪われるユーザーもいない、そしてこの提案は個人のアカウントや申請に対して贔屓することはない。」と言及しました。 Buterinは先制して分析しています。「これらの提案は以上の理由でこれまでより立ち入ったものではあるが、EIP-156は、議論を伴って“技術改良”というより”救済”といった観念で、議論を伴い、またみなされるリスクがあるかもしれない。EIP-156の提案はコミュニティーの議論や討論を可能にするためにつくられたもので、完全な支持を表しているわけではない。」   (ソース元記事:https://www.ethnews.com/rescuing-stranded-ether-with-ethereum-improvement-proposal-156)