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

Cryptocurrency and Blockchain

525c91be370a79cab50579086a70b3d7?s=47 Niishi Kubo
January 15, 2018

Cryptocurrency and Blockchain

エンジニア向けの仮想通貨とブロックチェーンに関する入門スライドです。

アジャンダ
1. 仮想通貨とそれに付随するキーワード
2. ブロックチェーン概要
3. ブロックチェーンを作ることで学ぶ(Scala)

525c91be370a79cab50579086a70b3d7?s=128

Niishi Kubo

January 15, 2018
Tweet

Transcript

  1. Cryptocurrency Blockchain @n11sh1

  2. Agenda 1. Cryptocurrency & Keywords 2. What’s Blockchain? 3. Learn

    Blockchains by Building One with Scala
  3. 1. Cryptocurrency & Keywords

  4. Keywords • Cryptocurrency(暗号通貨、仮想通貨) ◦ Bitcoin ◦ Ethereum • Blockchain ◦

    Consensus Algorithm ▪ Proof of Work ◦ Smart Contract
  5. “ Cryptocurrency とは、 Blockchain Technology を根幹としており、 分散型のコンピューターネットワークで、 中央集権を置かずにしてコンセンサス(信憑性のある合意) を到達する方法を可能にするソフトウェアです。

  6. None
  7. Bitcoin 「Bitcoin」は、正体不明の「Satoshi Nakamoto」を名 乗る人物によって投稿された論文 「Bitcoin: A Peer-to-Peer Electronic Cash System」

    に基づき、2009年に運用が開始された。 トランザクションは、「Blockchain」と呼ばれる 公開分散元帳に記録される。 論文: https://bitcoin.org/bitcoin.pdf 通貨単位:BTC
  8. Bitcoin 2017年1月から1年間で取 引価格は約14.4倍に

  9. Ethereum 「Ethereum」は、「Vitalik Buterin」が19歳の時に考案した 分散アプリケーション(DApp)プラットフォーム。 通貨単位は「Ether」。 Ethereumの特徴は、「Smart Contract」と呼ばれる 各ユーザーが独自に設定した契約を扱えること。 Smart Contractの一例として、ICOなどが挙げられる。

    通貨単位:ETH
  10. Ethereum 2017年1月から1年間取引価格は約168倍に

  11. 2. What’s Blockchain?

  12. Blockchain 中央集権型ネットワーク (従来) 分散型ネットワーク (P2Pネットワーク)

  13. Blockchain • Tx(トランザクションデータ):ユーザー間のやり取りした決済情報などの取引 • Nonce:ハッシュを計算するための鍵を握る値 • Prev Hash(前ブロックのハッシュ値):ブロック同士を連携させるための情報 • Block:上記3つを1つの塊としたデータ

  14. Proof of Work (PoW) 「Proof of Work (PoW)」とは、 非中央集権的で、誰がノードとして参加しているか分からない分散ネットワークにおいて、 取引の合意形成を可能にした

    「Consensus Algorithm」のひとつです。 Blockchainの仕組みにおいて、 支払いや契約といったトランザクションデータを含めた台帳の1ページとしてブロックを生成するが、誰に でも自由にブロックが生成できてしまうと、容易に改竄されたブロックが生成できてしまいます。 PoWでは、これを「CPUの計算量」に応じてブロックを生成できる権利を与えることにしました。 具体的には、膨大な計算量を要する問題(特定の条件を満たすハッシュを探す)を最初に解いたノード に権利を与えます。 また、この承認作業を 「Mining」を言い、Bitcoinでは最初にブロックを生成したノードには報酬として、 BTCが付与されます。
  15. Fork ブロックが同時に 生成され、Fork 長い方をメインチェーンとする

  16. メリット • 信頼性の向上 「中央集権化(一元管理)」を防ぐことで、システム が実質的にダウンしない。(分散することで他所 で復旧できる) • セキュリティ ハッシュ技術、公開鍵暗号や電子署名の技術を 用いることでデータ改竄や

    2重支払いを防止し、 高いセキュリティを保っている。 • 送金コストの削減 仮想通貨においては、特定の金融機関を介さな いことにより、送金コストを大幅に削除できる。 Blockchain デメリット • データの巨大化 すべての取引をすべてのノードで管理する必要 があるため、今後、莫大なデータ量 vs ネットワー クやコンピューターの高速化・大容量化の競争に なる。 • リソースの問題 ハイパフォーマンスなサーバーへの設備投資 や、PoWのように消費電力に頼るマイニング方法 は、CO2排出量などが環境に与える影響を無視 できない。 • 本物の証明ができない 51%問題でも挙げられるように、 Blockchainで管 理しているものが改竄されたかどうかは分かる が、その管理しているデータ自体が正しいかどう かの判断はできない。 Bitcoin における Blockchain Technology のメリット・デメリット
  17. 3. Learn Blockchains by Building One with Scala

  18. Learn Blockchains by Building One with Scala • 英文ソース(Medium) :https://hackernoon.com/learn-blockchains-by-building-one-117

    428612f46 • 翻訳(Quiita) :https://qiita.com/hidehiro98/items/841ece65d896aeaa8a2a • 自作ソース :https://github.com/n11sh1/learning-blockchain-with-scala
  19. Model

  20. Mining マイニング報酬の受け取り PoW

  21. WoF

  22. Fork

  23. coincheck 取引所 bitFlyer

  24. Thanks!