n番煎じ 仮想通貨・暗号通貨がわけわかめって人向けに概念レベルの説明をざっくりまとめてみた。


## とは言え

技術的な話が一ミリもわからないとこれを見ても

ﾔｯﾊﾟﾘ ⊂( ・∀・)ﾜｹ ( ・∀・)つﾜｶ ⊂( ・∀・)つﾗﾝ♪

で終わります。またソースコードは０です。概念的な話が全てです。

上記、ご了承下さい。では早速どうぞ。

---

## 仮想通貨・暗号通貨

---

## 仮想通貨・暗号通貨ってなによ

仮想通貨をなにかの暗号理論で取引の安全性を高めたものが暗号通貨。

法定通貨に対して特定の国家による価値の保証を持たないのが仮想通貨。

---

Bitcoinは仮想通貨だけど、どっちかというと暗号通貨と呼ぶほうが正しい。

暗号通貨って呼ぶほうが通っぽいですね。

---

## :laughing: 

---

## 暗号理論 Proof-of-Work

Bitcoinなどの暗号通貨で使われるブロックチェーンなどは

**Proof-of-Work** というアルゴリズムが取り入れられています。

---

SHA-256を取り入れて情報を暗号化するんですが、この暗号を第三者の視点から承認することで、２重決済を防ぎ、改竄されない取引を可能にしているそうです。

peer-to-peerで取引を皆で検証・記録をすることで不正を防ぐ仕組みなんですって。

:thinking: なるほどね、完全に理解したわ（分かってない）

あれ、でも暗号の話がそれなら、例のアレは....

---

## :dollar: Bitcoinといえば？

---

## ブロックチェーン

---

ブロックチェーン！

Bitcoinで使ってるアレだ！　こいつは暗号的な話じゃないのか？

ということで、こいつにも少し触れます。

---

## そもそも、Bitcoinって？

暗号通貨の先駆け。

生成量が2100万枚と決まっていて、2017/12頃には１BTC＝２００万円程になっている。

やばい。

---

## :chains:そのやり取りはどうなっているのか？

---

## トランザクション

取引を行う度に、こいつが生成されます。

トランザクションは自体はデータの固まりです。

いくら動かして、誰が、どこに、どれくらいのお金を移動させるかなどなど。

色々なロジックを経て、ネットワークへと放出されます。

---

## :hammer:マイニング

放出されたトランザクションはマイナー（採掘者）と呼ばれる人々によってマイニング（採掘）されます。

この採掘というのに該当するのが「トランザクションの検証」と、「ブロックの生成」という事になります。

トランザクションには優先度があり、手数料、年齢（古さ）やトランザクション自体のサイズによって変わります。

ざっくりいうと手数料が高くて、古いものほど先に処理されるみたいです。

---

## ブロック

様々なマイナーによって検証されてゆき、各々のメモリプールと呼ばれる場所に蓄積していきます。

これに対して色々な計算を行い、「Proof-of-Work」のアルゴリズムに沿った解となるハッシュを探し当てます。

それをnonce（ナンス、ノンス）と呼びます。

---

アルゴリズム的に、この計算が総当りとなるそうで、莫大な計算量と運が必要です。

ブロック（情報の塊）は約10分に1つ作られるように難易度が調整されていて、これをマイナーたちはこぞって解を探します。

先にその解を見つけたマイナーがその検証結果をブロックとして、ネットワークへ放出するまでがマイニング。

早い者勝ちなんですねぇ。

そうした過程で出来たのがブロックになります。

つまり、ブロックとは様々な取引結果の固まりなんですねー。

---

## ブロックチェーン

こうして出来上がったブロックですが、ネットワークに放出された時点で第三者からの検証が入ります。監査ぁああ！！ :police_car: 

生成したハッシュとトランザクションが正しく計算できているか検証されます。

これで問題ないことが確認されれば、既に生成されているブロックとの親子関係が作られます。

これでようやっと取引が正しいことが全体に周知され、取引が認められます。

---

ブロックの親子関係から過去にあった取引を全て遡ることができるし、取引は安全に終わるし良いことづくめ！

ちなみに、このブロックの生成に難易度というのが設定してあり、１０分間毎にブロックが生成されるように調整されます。

※どうやって生み出してるかの記事はいっぱい出てるので割愛

---

## マイニング報酬

先程でたマイニングですが、ただマイニングしているだけだと電気代ばかりかかって損！

そこで、生成したブロック（承認数）に応じて報酬がもらえる。手数料であったり、ブロック１つ生成することに対して一定量の暗号通貨が生成されます。

ブロックを作ったマイナーにはその生成されたBTCが報酬としてネットワークから支払われる形です。

通貨は誰でも作りまくれるけど、生成した通貨はブロックチェーンに取り込まれてないと有効化されないから皆頑張るわけですね。

---

ただ、さっきも言いましたが生成に死ぬほど計算が必要。

なので、マイニングプールという仕組みがあります。

複数の採掘者（マイナー）で協力して採掘（マイニング）を行ってもらった報酬を皆で分け合う仕組みです。

---

こぞって皆がやるのには理由があります。

2009年の始まりの時には最初は１ブロック生成するに付き50btc貰えてたそうです。

そんなに貰えたらボロ儲けやん。でも2100万枚すぐに枯渇しそう...

---

## :hammer:しかし、BTCは半減期が有ります

---

### :hammer:半減期

ビットコインは210000ブロックごとに半減期を迎える仕組みになっているんですね。

大体、ビットコインの発行速度は4年ごとに半減期を迎えるそうで、だいたい2140年頃に2100万枚程生まれる。

これにより、btcは次第に貴重性を高め、値段を上げていく...という仕組み。

つまり、ブロック数によって現在出回っているbtcの量がわかるってことですね。

この半減期は2016年7月9日に発生していて、今のマイニング報酬は12.5BTCです。

---

## ブロックチェーン凄い！

---

### でも問題も起こってる

---

## 現状起こってるBTCの問題(2017/12頃)

現状BTCの取引がめちゃくちゃ盛んになった。

つまり、ブロックへの書き込み量が半端ない。

なのに、ブロックへの書き込みは手数料が高いほうが優先される。

こぞって皆決済しようと競争する。すると...？

---

- 送金コストが半端ないことになってる
- BTCの取引の量が多すぎてブロックに全て書き込めない
- 送金要求に答えられず、エラーが起こる

などなど、辛い。

> 20万円分送ろうとしたら4万円手数料

> 4000円送ろうとして1000円手数料

なんてことになってるらしいです。（2017/12月ツイッター情報）

参考: [取引量が増えると何が問題になるのか？](https://www.crypto-currencies.jp/bitcoin/structure/blocksize.html)

---

## 解決方法は？

- ビットコインのプログラムを改変して、1ブロックの容量を大きくする。
- 1ブロックの容量を変えずに、1送金あたりに要するデータ量を小さくする
- ブロックチェーンの枠外で送金できるようにする。

などnado etc....

しかし、ここまで大きく成長したもののプログラムの改変とかやってられん。

---

## :fork_and_knife:そこで、ハードフォーク

---

### :fork_and_knife:ハードフォーク？

新仕様を採用し、互換性がなくなった新しいプログラムを作ること。

Bitcoinという元のプログラムから改良などして新しい暗号通貨の仕組みを生み出してる。

例えば... **Bitcoin Cash** というのがあります。

これはブロックサイズの上限を8Mバイトに引き上げ、上記問題を解決しているようです。

---

## ハードフォークする（予定の）通貨

他にも、bitcoinに色々手を加えて

- Bitcoin Platinum
- Super Bitcoin
- Bitcoin God
- Bitcoin Uranium
- Bitcoin Silver
- Bitcoin Cash Plus

というのが生まれて、世の中に出ようとしているらしい。（2017/12）

...いっぱいあってよくわからん。

---

## 他の暗号通貨

最近出たやつから古いのまで300種類くらいあるので、[Coincheck](https://coincheck.com/ja/)で扱っているやつだけ紹介すると

- Ethereum
- Ethereum Classic
- Lisk
- Factom
- Monero
- Augur
- Ripple
- Zcash
- NEM
- Litecoin
- DASH

こんだけあります。

---

## 他の仮想通貨もブロックチェーンなの？

ブロックチェーンは暗号通貨によく使われる技術です。

どの暗号通貨でも大体使われている根幹技術です。

（Rippleとかまたちょっと違う技術だったりしますが、割愛します。）

---

## ところで、暗号通貨って安全なの？

---

安全かどうかはそれぞれの仕組みに依存します。

大体オープンソースなのでエンジニアならSourceを読もう！（ぼくは５分でさじを投げました）

---

### ホワイトリスト

安全かどうか「ホワイトリスト」に入ってるかどうかが大事という話がたまにありますが。

[金融庁ホームページ](http://www.fsa.go.jp/)で閲覧できる[仮想通貨交換業者登録一覧](http://www.fsa.go.jp/menkyo/menkyoj/kasoutuka.pdf)に乗っている仮想通貨のことで

政府が**取引所が取引することを認めた仮想通貨**と言うもので安全にはあんまり関係ない。

参考: [ホワイトリスト入りした仮想通貨について 仮想通貨丸見え](http://kasotsuka-news.jp/news/kasoutuuka-whitelist.html)

---

## 以上

ぼくが暗号通貨のことで気になったことでした。

なにか、圧倒的に間違えている箇所などあれば、教えてください！

リクエストお待ちしておりますm(_ _)m

---

## 全体的な読解のお供

- [ビットコインとブロックチェーン:暗号通貨を支える技術](https://www.amazon.co.jp/dp/4757103670/)
- [ビットコイン wikipedia](https://ja.wikipedia.org/wiki/%E3%83%93%E3%83%83%E3%83%88%E3%82%B3%E3%82%A4%E3%83%B3)

他にも見た気がしたけど、覚えてない。

---

## :money_mouth: おわり