Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Blockchainはどう役に立つのだろうか

drytt
August 16, 2018

 Blockchainはどう役に立つのだろうか

Blockchainの概要、特徴、利用事例、お試し開発をまとめてみました。
1. Blockchainって何?
2. Blockchainって何がすごいの?
3. Blockchainってどう活用されてるの?
4. Blockchainを実際に作ってみた

drytt

August 16, 2018
Tweet

More Decks by drytt

Other Decks in Technology

Transcript

  1. Blockchainの構成技術 主に次の4つの技術から構成される。 (1) 特有のData構造 (2) P2P (Peer to Peer) (3)

    Consensus algorithm (4) Hash化/電子署名 ->それぞれ順に確認していきます。 10
  2. (3) Consensus algorithm Bitcoinでは、Proof of Work(PoW)を採用している。 - 最も仕事(計算処理)をした人がBlockの正当性を 判断する。 -

    「前BlockのHash値」と「任意のNonce」から 特定のHash値を探し、一番早く見つけた人が Blockを追加する権利を持つ。 17 Blockchainの構成技術
  3. (3) Consensus algorithm PoW以外にも考案されている。 19 Blockchainの構成技術 名称 略称 合意基準 Proof

    of Work PoW 仕事量 Proof of Stake PoS 保有量 Proof of Importance PoI 保有量+取引数 Proof of Consensus PoC 予め設定した承認者
  4. (1) Dataの改ざんが困難   前述の構成要素により、改ざん困難である。 - 特有のData構造 -> Blockの連動性 - P2P (Peer

    to Peer) -> Dataの分散管理 - Consensus algorithm -> Block確定/変更に膨大な手間 - Hash化/電子署名 -> Dataの暗号化 36 Blockchainのすごさ
  5. (1) Dataの改ざんが困難   前述の構成要素により、改ざん困難である。 - 特有のData構造 -> Blockの連動性 - P2P (Peer

    to Peer) -> Dataの分散管理 - Consensus algorithm -> Block確定/変更に膨大な手間 - Hash化/電子署名 -> Dataの暗号化 -> 具体例を見てみます。 37 Blockchainのすごさ
  6. (1) Dataの改ざんが困難 攻撃方法は既に存在する。不可能とは言えない模様。 - 51% Attack - Sybil Attack -

    Block withholoding attack - DDos (To Mining pool)  etc. -> ハッキング被害の実例を確認します。 40 Blockchainのすごさ
  7. (参考) Monacoin事件 2018年5月、Monacoinが盗難被害。被害額は推定9万$。 - Monacoinは、Consensus algorithmとしてPoWを採用。 - ただし、Bitcoinとは異なり、必要となる「膨大なComputer Power」  を低く設計していた。(取引速度を早めるため)

    - 同時にBlockが生成された場合、後続Blockが長く連結された方が  採用される特性を活かして、攻撃。 - 一度確定したBlockchainよりも長いBlockchainを隠し持っておき、  Blockを再編成させる。一度送金・出金したBlockchainを、隠し持って  いたBlockchainで再編成し、初めの出金は「なかったこと」にし、  再送金する。(2重支払いの成功) -> 問題の原因は、Blockchain技術自体ではなく、  その設計にある。 41 Blockchainのすごさ
  8. (2) OpenBazaar 仮想通貨で支払い可能な分散型Free Market Place。 - 2014年4月、Amir Taakiらがprototype(Dark market)を  発表。その後Brian

    HoffmanがFolkし、OpenBazaarへ  改名して開発。 - Platform自体ではなく、仮想通貨の支払や、  通貨と商品の交換を安全に行うための仕組みに  Blockchainが利用されている。 54 BlockchainのService
  9. (6) その他 - binded (著作権管理) - Follow My Voat (選挙)

    - LO3 Energy (電力取引) - Provenance (物流管理) - zenport (貿易取引の信用状の電子化)  etc. 59 BlockchainのService
  10. (1) Contractの記述 pragma solidity ^0.4.4; contract Adoption { address[16] public

    adopters; function adopt(uint petId) public returns(uint) { require(petId >= 0 && petId <= 15); adopters[petId] = msg.sender; return petId; } function getAdopters() public returns(address[16]) { return adopters; } } 72 どうやって作った?