Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ブロックチェーンの現状と今後 -Ethereumを中心にー

1,303 views

Published on

CSA Japanの勉強会(2017/10/17)で発表した際の資料。
(※引用元はリンク等にて明示。)

Published in: Technology
  • Be the first to comment

ブロックチェーンの現状と今後 -Ethereumを中心にー

  1. 1. ブロックチェーンの現状と今後 - Ethereumを中心に - 2017/10/17 Tomokazu Hatate
  2. 2. 価値のネットワーク • ブロックチェーン技術とは、P2Pネットワーク上において複数のノード間で同じ台帳を共有すること を実現する仕組み。 • ノード同士は互いに知り合っておく必要もなく、信頼を前提とすることなく、価値を交換することが 出来る。 • 信頼を前提としない為、価値の交換を保証する第三者機関は不要となる。 • 第三者機関が不要となる代わりに、ネットワーク全体で価値を保証する仕組みが必要。(コンセン サスアルゴリズム) • ブロックチェーンを使用する場合、価値を定義しその価値がどう動き、どのように保管されるか、の 観点で考える。(※ところで、価値って何?) Don't trust. Verify.
  3. 3. 分散型データベース ≠ DLT
  4. 4. 分散型データベース 出典:「分散データベースと分散台帳」(Corda.net、2016年) • 単一のエンティティ内で複数ノードが合意形成して一意のデータべースを共有。 • 単一のエンティティによって運営されるものである以上、中央管理者が必要となる。 • また、エンティティ内で動作する為、ノード同士による互いの信頼が前提とされる。
  5. 5. DLT(分散型台帳) 出典:「分散データベースと分散台帳」(Corda.net、2016年) Cordaの定義では、 • 互いに信頼することなく、共有レコードを他ノードと共に維持することを可能にする。 • ノードは異なる組織により運営され、また互いに信頼できない。 • 従って、受け取ったデータを個別に検証し、公開して良い範囲内でデータを共有する。
  6. 6. Bitcoin
  7. 7. Bitcoin • Bitcoinは2008年に提唱されたホワイトペーパーを基に構築され、オープンソースプロジェクトの 中で発展してきた暗号通貨BTCのことでありブロックチェーン技術を用いた送金システム。 • Bitcoinの登場によって、誰かのコントロールに依らず、自分で自分の資産を所有し、他者への 移転を可能にする。 ※ 原則として、特定の組織によるサーバで集中管理されない。 • Bitcoinの利点の一つは秘密鍵によりデジタル化された暗号通貨である点。口座開設は不要で WalletアプリをPCないしスマホにダウンロードすれば、即時に暗号通貨の送金と受取及び保有 が可能になる。 ※ Bitcoinの成り立ちについては、実話を基にノベライズされた『デジタルゴールド』がお薦め。
  8. 8. 送金におけるBitcoinの利点 • Bitcoinは特定の組織の保証を必要とせず送金という価値の交換を個人間で行うことが出来る仕組 み。 • より重要なのは、送金や資産管理を(秘密鍵の所有という形で)個人のコントロール下に置くことが できるという点。 A銀行 B銀行 Alice Bob Alice Bob 銀行経由の場合 Bitcoinの場合
  9. 9. Bitcoinとオープンソース • オープンソースにおいて、特定の企業や団体に依らず、世界中の開発者がボランティアとしてソフト ウェアを作成しメンテする。 • Bitcoinの場合、Githubと呼ばれるweb上のバージョン管理システム上にソースを公開している。 ソース開発は、BIP(Bitcoin Improvement Proposals)と呼ばれる改善提案を基に、Github上で オープンな議論を経て採択が決定される。 • Bitcoinのソフトウェア(Bitcoin Core,etc...)は誰でも自由にダウンロード可能で、ノード構築するの も自由。また、contributorとして開発に参加するのも自由。 ※ Bitcoin Core 0.15.0リリースでは、数名の日本人開発者が貢献! 出典:https://lists.linuxfoundation.org/pipermail/bitcoin-core-dev/2017-September/000046.html • オープンソースの利点 1. 誰でもいつでも参加可能でボランティアベースなので、特定のステークホルダーの思惑に縛ら れにくい。 2. 基本的に開発に関わる議論はオープンにされており、一定の透明性が保たれる。 →自由でオープンな暗号通貨の流通を目指すBitcoinの思想に合致。 ※ 但し、Bitcoinでは複数のステークホルダー間の対立があり複雑化。
  10. 10. Bitcoinという社会 • Bitcoinには大きく分けて、以下の参加者類型となる。(※少し簡略化しすぎだが。。。) – 開発者(コアデブ、コントリビュータ) • Bitcoinは建前としてはオープンソースプロジェクトなので、本来、開発者がもっとも影響力を有する。 なお、開発コストを自前で負担し、貢献に対する直接的な報酬はない。従って、現状、様々なブロック チェーン関連のアドバイザを務める等、ネットワーク外で稼いでいる模様。企業や研究機関等スポン サーがついているケースもある。 – 採掘者(マイナー) • 採掘者はフルノードと共にネットワーク維持の役割を担う。トランザクションデータをブロックに取り込 む為のコストを負担(基本は電気代)。その対価として報酬を受け取る。 – フルノード提供者 • 採掘者が生成したブロックが適切か検証する役目とブロックチェーンを管理する役目を主に担う。また、 ネットワークにトランザクションデータを含む様々な情報伝播を行うハブともなるので、基本は常時立 ち上げておくのが望ましい(とされる)。つまり、ここでもコストが発生。 – ライトウォレット利用者(エンドユーザ) • 端的には消費者(*大衆)。ただ彼等がいなければ、ネットワークに経済的な流動性が生まれないので、 実際には大きく貢献している。 ※ それぞれの参加者(互いに互いを知らない。)は、それぞれの仕方で貢献しており、かつ互いに牽制しつつ も上手く共存しあっており、トラストレスで表現される世界観、"Don't trust. Verify."を体現していると言える。
  11. 11. Ethereum
  12. 12. Ethereum • Ethereumとは、ブロックチェーン技術を用いた分散型台帳の一種。 • Bitcoinと同じく誰でも参加可能型でオープンソースプロジェクト。 • Github上でソース管理され、修正案はEIP(*Ethereum Improvement Proposal)で出され、オー プンな議論後、採用可否が決定される。 • 隔週金曜日にてコアデベロッパーがテレコンでEthereumの開発状況(EIPの内容が中心)を話し 合う「Core Devs Meeting」を開催している。テレコンはYouTubeでライブ配信されるため、世界中 の誰でも参加可能なオープンな場となっている。(※現在、日本人も1名コアデブとしてテレコンに も参加している模様。) (参考リンク: https://www.youtube.com/channel/UCNOfzGXD_C9YMYmnefmPH0g)
  13. 13. Ethereumの主な特徴 • Ethereumブロックチェーン基盤上にDapps(*Decentralized Applications)と呼ばれる分散型アプ リケーションを作成することができる。 • ブロックチェーン基盤とDappを媒介する実行プログラムをSmart Contractと呼び、Smart Contractを介してアプリケーションからデータをブロックチェーンに記録したり、呼び出すことがで きる。 • Ethereumには2タイプのアカウントがある。通常のアカウント(EOA: externally owned accounts)とコントラクト用のアカウント(Contract Account)。 • Ethereumにおいて、暗号通貨Ether(ETH)は送金手段や売買の手段としてではなく、Smart Contractを実行するための燃料(gas)の位置付けとなっている。 • EtherをEthereumにおける基軸通貨としてDapps上でトークン(独自通貨)を発行し、トークンを やり取りすることでDAO(*Decentralized autonomous organization)と呼ばれる独自の経済圏を 作ることも可能。
  14. 14. Ethereum • Ethereumブロックチェーンネットワーク構造 geth Contract DL EOA Dapp Node 1 Node 2 Node 3 A B C D E Dapp Dapp Ethereum Network 参考:『ブロックチェーン イーサリアムへの入り口』(Kindle版) 「図11:処理の流れ」を基に作成。
  15. 15. Smart Contract • Smart Contract(賢い契約)とは、元々、1990年代にNick Zsaboによって提唱された概念。 • プログラミングされた契約という考え方で、Zsaboによれば自動販売機もSmart Contractの一形 態と言うことになる。 • Smart Contractの主な特徴としては、以下の特徴を挙げることができる。 1) 仲介者を介さず直接的に契約 2) 一定条件を満たせば契約は必ず実行
  16. 16. EthereumにおけるSmart Contract • Ethereumでは、Smart Contractを実装しやすいようSolidityと呼ばれるJava Scriptライク な言語が用意されている。(※Solidity以外にもある。) • Solidityは初心者向けにも優しい言語で、Mistと呼ばれるEthereum Projectが提供する Ethereum用Walletにも標準実装されている。 • Ethrereumでは、Smart Contractは通常の送金トランザクションと同様にマイニングに よってブロックチェーン上に登録され、Cotract Accountを通じて呼び出す形となる。 • Smart Contractのブロックチェーンへの登録時及び実行時には一定量のgasを手数料と してマイナーに支払う必要がある。(※プログラム暴走や悪意ある攻撃への対策としての 効果もある。)
  17. 17. Smart Contract実装例 • お試しに触る場合、Ethereum公式によるBrowser-Solidityを使用すると良い。 • Browser-Solidity : https://remix.ethereum.org/ • デプロイまでの基本的な流れ: http://qiita.com/tomohata/items/27d3cf2f5400ebab6f51 • 実装例:寄付の自動化: http://qiita.com/tomohata/items/637e5b8715e217796d3b
  18. 18. Ethereumの課題 • スケーラビリティ  垂直問題: データサイズ肥大化 ※ 現状、Bitcoinより2倍弱程度のサイズ(http://bc.daniel.net.nz/)  水平問題: トランザクション詰まり ※ 2017年4月以降、急激にトランザクションが増加(https://etherscan.io/chart/tx) • 送金コスト ※ 特にICO人気によりSmart Contract実行時の大量のgas使用が主要因と思われる。Smart Contrractの開 発自体イケてない。(※無駄なコードが多い、とか。。。) • 匿名性 ※ パブリック型は誰でも自由にトランザクション情報を追うことができるので実質、匿名性は担保されていない。 • Smart Contract作成時のバグによる資金流出 ※ 2017年7月にはParityのMultiSigに関するSmart Contractのバグをついて数十億円のEtherが流出。 (https://ethereum-japan.net/ethereum/parity-maltisig-vulnerability-hacked-150keth/) • 現実世界(リアル)の情報をどうやってブロックチェーン上で利用するか ※ Oracleの活用が課題解決への道: 参考(http://block-chain.jp/tech/oracle-blockchain/) 注)ここで言うOracelとはDBのOracleではないので要注意!
  19. 19. Ethereum - 4つのバージョン • Ethereumはあらかじめ、4回のHard Fork(メジャーアップデート)が予定されている。  第一段階: Frontier - 2015/7/15 済  第二段階: Homestead - 2016/3/14 済  第三段階: Metropolis - BizantiumとConstantinopleの2回に分けて実施  Byzantium - 2017/10/16予定 ⇒ 済(4,370,000ブロック以降)  Constantinople - 未定  Release Step Four: Serenity - 未定 ※ PoWからPoSへの移行予定 • Bizantium Forkによる主な変更点  EIP197: zk-SNARK(zero-knowledge Succinct Non-interactive ARgument of Knowledge)の導入によ り匿名性のある取引が可能となる。  EIP649: 採掘難易度を上げるディフィカルティボムの延期。但し、採掘報酬は5ETHから3ETHへの変更は 実施。 ※ ディフィカルティボム: PoWからPoSへの移行に際し、マイナーがPoWチェーンへForkし採掘し続ける リスクを回避する為に採掘難易度を採掘による収益が見込めないほどに困難なものに調整する仕組 み。
  20. 20. スケーラビリティ改善への挑戦 • パブリック型ブロックチェーンはコンセンサスアルゴリズムの仕組み上、高速処理には不向き。 →On-ChainとOff-Chainで処理を分け、Off-Chain側でのスケーリングを目指す。 例)Raiden Network(*単一方向型のµRaidenもある。), Plasma • Raiden Network (https://raiden.network/)  Off-Chain処理の一つ一つはブロックチェーン上へ記録されない為、高速取引が可能。  多対多による多方向型の取引が可能。(*µRaidenは一体多の単一方向型)  処理にかかるコスト(gas)がOn-Chain上と比べ100万分の1となり少額取引も可能。  個々の取引情報は公開されないため、秘匿性が担保される。  Raiden用のトークンを仲介としてERC20トークン同士を交換することも可能とする為、管理者不在による DEX(*Decentralized exchange)への応用が期待される。 • Plasma (http://plasma.io/plasma.pdf)  Plasma Chain(*Off-Chain)上でSmart Contractを自律的に実行することで、理論上、秒間数十億回の Smart Contract実行と言う高速処理を実現する。  Off-Chain上での処理の為、Smart Contract実行時のfee自体もOn-Chain上での実行に比べて極めて安 価となる。  Plasma ChainはPoS(*Proof of Stake)を採用する。(※高速処理の秘訣)
  21. 21. Off-Chainスケーリング • On-ChainとOff-Chainとに分け、通常の取引はOff-Chain上で行い、On-ChainはOff-Chain上の 取引をファイナライズし、トークンの基軸通貨として価値担保の機能を担うようになる。 • 但し、On-ChainからOff-Chainへのチャネルの窓口を担うノードに頼る必要がある為、ノードへの 信頼が必要となる。 ※ チャネルの窓口を担うノードがエスクローの役割を担うイメージ。
  22. 22. ERC725 : Identity • ERC(*Ethereum Request for Comment)725(https://github.com/ethereum/EIPs/issues/725) – Ethereum開発者のFabian Vogelsteller氏により2017/10/2に公開された議論。EIPへの採択待ち。 – プロトコルレベル(ブロックチェーン上)でのKYC機能を取り込む。 – このKYC機能により、従来、アプリケーションレベルで実装する必要のあったKYCへの考慮が不要となる。 • 取引の秘匿化とKYCの両立がもたらす意義 – Bizantium Forkによって組み込まれるzk-SNARK(EIP197)は、取引の秘匿化が実現できるようになる。 – ただし、取引の秘匿化のみ実現した場合、ダークマーケット等で悪用される恐れも生じる。 ⇒結果として、規制の対象にもなり兼ねない。(取引を秘匿化する暗号通貨:Zcash, Monero, Dash等) – ERC725で提案されたプロトコルレベルでのKYCが実現できるようになると、取引を秘匿化しつつKYCも自 動確認できるようになり、ブロックチェーン上での取引の利便性が格段に高まる。 – ユーザから見ると、取引が秘匿化されるので安心して取引できるようになる。 – サービス提供側からみると、個々の取引がKYC確認できるので悪質な取引へ利用されにくくなる。
  23. 23. 終わりに
  24. 24. トークン・エコシステムへの道 • Bitcoin誕生は、第三者機関を不要とするインターネット上での見知らぬ当人同士による直接的 な通貨(価値)交換の可能性を我々に示した。この実験は現在も続いている。 ※ 言い方を変えると、「価値を特定の機関が担保するのではなくプロトコルが全て。」 • その後、Ethereumの登場により、ブロックチェーン上でETHを原資として発行されたトークンによ る経済圏(DAO)を築く可能性を広げた。 • Raiden NetworkやPlasmaと連携できるようになることで、On-Chain上のみではスケールしない 問題をOff-Chainスケーリングにより解決することが出来る。 • また、取引の秘匿化とKYCへの対応をプロトコルレベルで両立させることで、従来、第三者機関 が担ってきたサービスレベルをブロックチェーン上に構築されたDappsを通じて享受できるし、提 供することもできるようになる。 • DEXを通じてトークン同士を交換可能とするブロックチェーン上に構築された様々なDAOの経済 的交流を可能とする。異なる目的を有するトークンの交換はブロックチェーン上に交易ネットワー クを生み出すことに繋がり、トークンを消費したり獲得・保有するエコシステムが形成される。

×