Slide 1

Slide 1 text

Cryptocurrency Blockchain @n11sh1

Slide 2

Slide 2 text

Agenda 1. Cryptocurrency & Keywords 2. What’s Blockchain? 3. Learn Blockchains by Building One with Scala

Slide 3

Slide 3 text

1. Cryptocurrency & Keywords

Slide 4

Slide 4 text

Keywords ● Cryptocurrency(暗号通貨、仮想通貨) ○ Bitcoin ○ Ethereum ● Blockchain ○ Consensus Algorithm ■ Proof of Work ○ Smart Contract

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Bitcoin 「Bitcoin」は、正体不明の「Satoshi Nakamoto」を名 乗る人物によって投稿された論文 「Bitcoin: A Peer-to-Peer Electronic Cash System」 に基づき、2009年に運用が開始された。 トランザクションは、「Blockchain」と呼ばれる 公開分散元帳に記録される。 論文: https://bitcoin.org/bitcoin.pdf 通貨単位:BTC

Slide 8

Slide 8 text

Bitcoin 2017年1月から1年間で取 引価格は約14.4倍に

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Ethereum 2017年1月から1年間取引価格は約168倍に

Slide 11

Slide 11 text

2. What’s Blockchain?

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Proof of Work (PoW) 「Proof of Work (PoW)」とは、 非中央集権的で、誰がノードとして参加しているか分からない分散ネットワークにおいて、 取引の合意形成を可能にした 「Consensus Algorithm」のひとつです。 Blockchainの仕組みにおいて、 支払いや契約といったトランザクションデータを含めた台帳の1ページとしてブロックを生成するが、誰に でも自由にブロックが生成できてしまうと、容易に改竄されたブロックが生成できてしまいます。 PoWでは、これを「CPUの計算量」に応じてブロックを生成できる権利を与えることにしました。 具体的には、膨大な計算量を要する問題(特定の条件を満たすハッシュを探す)を最初に解いたノード に権利を与えます。 また、この承認作業を 「Mining」を言い、Bitcoinでは最初にブロックを生成したノードには報酬として、 BTCが付与されます。

Slide 15

Slide 15 text

Fork ブロックが同時に 生成され、Fork 長い方をメインチェーンとする

Slide 16

Slide 16 text

メリット ● 信頼性の向上 「中央集権化(一元管理)」を防ぐことで、システム が実質的にダウンしない。(分散することで他所 で復旧できる) ● セキュリティ ハッシュ技術、公開鍵暗号や電子署名の技術を 用いることでデータ改竄や 2重支払いを防止し、 高いセキュリティを保っている。 ● 送金コストの削減 仮想通貨においては、特定の金融機関を介さな いことにより、送金コストを大幅に削除できる。 Blockchain デメリット ● データの巨大化 すべての取引をすべてのノードで管理する必要 があるため、今後、莫大なデータ量 vs ネットワー クやコンピューターの高速化・大容量化の競争に なる。 ● リソースの問題 ハイパフォーマンスなサーバーへの設備投資 や、PoWのように消費電力に頼るマイニング方法 は、CO2排出量などが環境に与える影響を無視 できない。 ● 本物の証明ができない 51%問題でも挙げられるように、 Blockchainで管 理しているものが改竄されたかどうかは分かる が、その管理しているデータ自体が正しいかどう かの判断はできない。 Bitcoin における Blockchain Technology のメリット・デメリット

Slide 17

Slide 17 text

3. Learn Blockchains by Building One with Scala

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Model

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

WoF

Slide 22

Slide 22 text

Fork

Slide 23

Slide 23 text

coincheck 取引所 bitFlyer

Slide 24

Slide 24 text

Thanks!