ブロックチェーン大学校講義1日目

技術メモ

ブロックチェーン大学校に今回参加することになったので、講義1日目のメモ。
印象に残ったところのみ。ブログに概要書いてOKの許可をもらったものの、もはや概要ではないかもしれない・・・

ブロックチェーン、ビットコイン、暗号金融技術の概要

講師:ジョナサン・アンダーウッド

– Electrumの開発やDark Walletにて主にステルスアドレス周りを手伝った
– BIP39の他言語化に対応する際のバグを多数発見及び修正
– Copayの開発に参加など

講師としては申し分ない人。

石貨(せきか) : 物理的なビットコイン?

– とても大きい石を通貨とした
– 街の広場において、みんなの頭の中で管理をしていた。総量は街の広場でわかる。
– ビットコインとの共通点
 - 新しく作るのが非常に難しい。働いて石をつくった証でもある。Proof of Work
 - 所有権の管理は社会全員で担う

ビットコインのブロックチェーンの外観

– ブロックには取引データとProof of Workのハッシュ値が含まれている
– 全てのブロックが前のブロックを参照するデータが含まれる
– 各取引は前の取引の出力を参照するデータが含まれる
– ブロックのつながり(単一のチェーン)、取引のつながり(トランザクションチェーンはたくさんある)、の2つがある
– Genesis Block(最初のブロック)
– Coinbase Transaction(コインベース取引)
 - ブロックの最初の取引
 - 採掘の報酬が含まれる
 - 「null」の入力(前取引参照値)がある

ビットコインのブロックチェーンの概要

– 各ブロックに含まれるもの:
 - Proof of Work Hash(PoW: 働きをした証)
 - ノンス
 - 自由に変えていいデータ。なぜこの値があるか?
 - 採掘を行うため。ノンスを変えて、正解ノンスを提出するため。
– 先頭2桁が0のhashを出すノンスを求めるには、256通りの可能性があるため、その256くらいの計算はしているのでは?ということになる。

重要な概念

– 4年ごとに半減していく ( 50BTC -> 25BTCなど・・・)。 総量は2100万程度になる。
– CPU -> GPU -> FPGAs -> ASICs のように性能がUPしてきた
– ライトノード(フルエントモード)、SPVはブロックヘッダーのみ認証する
 最新のブロックから100ブロック程度しかもたないようにする、などで対応する。
 全部のノードが上記だとまずい。
 ダブルスペンドしてないか?など、をフルノードに問い合わせることができなくなってします、walletが。
 SPVうたっているwalletもちゃんとソースをみて、本当に照合しているか確認しているかチェックした方が安全
– bitcoinを変更するのが難しい
– 秘密鍵の管理
 - Mt. Goxは全ての秘密鍵をMt. Goxが管理していた。気づいたら、ハッキングされていてbitcoinが全ていつの間にかなくなっていた
 - 自分でbitcoinを持つのは、自分で秘密鍵を持つ。
   大金を持っている方は、取引所に預けるのではなくて自分で管理した方がよい?

ビザンチンの合意

– 複数の将軍が違う方向から都市を襲撃したいが、タイミングが合わないと勝てない
  襲撃の時間について、どういう風に合意を取ればいいか?
  メッセンジャーで、将軍どうしでやりとりするが、メッセンジャーが敵にとらわれて嘘をつかれたらうまくいかない
– bitcoinがはじめてこの問題を解決 = bitcoinは誰にも信用おかずに 時間に対してPoW に対して信用をおくことにした

オルトコイン

– Liteコインがブレイク。採掘アルゴリズムを変更した。
 scryptというhashアルゴリズムを使うことによって、bitcoinの機械が使えなかった。Liteコイン独自の機械を作る必要がある
– Dogecoinでギークのお得意なおふざけ要素もある
– ほとんどのオルトコインは細かな設定の微調整のみ
– ビットコインの時価総額 36,000億円超
– アルトコイン全てあわせて43,000億円。bitcoinよりちょっと上

ブロックチェーンの他の用途(お金以外)

– 株、債権、貨幣など – 所有権だけが分散される
– 身分、ネーミング、PGP鍵の更新、鍵の取り消しなど
– スマートコントラクト
– スマートプロパティ
 自動運転タクシーで燃料が切れそうだ、ガソリンの補給を行うためのお金を送金できたりとか
– 分散の合意が必要なところがあれば、ブロックチェーンは使い道がある

許可権限型ブロックチェーン

– ビットコインは自由参加型。
– 銀行は許可権限型ブロックチェーンを作ろうとしている。
 ビットコインと同じ原理だが、公開されていない。銀行が使用許可を割り振る
– R3
– 金融及びその他のユースケースも両方検討されている

カップ・ブロックチェーン

– OpenChain – 任意でビットコインのブロックチェーンと紐付けることのできるブロックチェーン
– MultiChain – Bitcoin Coreをベースにしたプロジェクトで追加機能や権限管理できる別ブロックチェーンを簡単に作成できる
– 自由参加型、許可型も自由に作れる

Ethereum

– ビットコインのスクリプト言語はチューリング完全な言語ではない。OP_CODEを使われている
  実行できないPGが存在する。for, whileなどのループや再起などができない。if then くらいは頑張ればできる
– Ethereumのスクリプト言語はチューリング完全。スマートコントラクト
– 世界一巨大な分散型コンピューターを目指す
– bitcoinはお金を送るためだけに作られた、Ethereumは全ての契約を行うために作られた
  bitcoinは使い方が限られているのは、電子マネーを作るためだけにブロックチェーンが作られたため

非ブロックチェーン

– Ripple – 分散型の元帳で取引データではビットコインと同じ暗号アルゴリズムを使用しているが、PoWなどの合意アルゴリズムは使用されていない
  -> 何のために作られたか?
   -> IOU を発行して、それを交換する。rippleネットワークの上で。
   第三者のゲートウェイを通じて物理資産との交換はできる。
  既存の銀行のために作られたとしか思えない仕組み。
  当時は誰でもゲートウェイになれた。
  Rippleの方で規制局と面皆やりとりしている
– Stellar – Rippleからフォークされたコピーサービス(ほとんど違いない

セキュリティーについて

– ビットコインの採掘陣は世界惟一のスーパーコンピューターである
– もっと小さいブロックチェーンの場合は何度もハッシュ力のある人に攻撃されやすい

カラードコイン

ビットコインのブロックチェーンを使ったコイン。
– ビットコインの取引データの中にメタデータをつけることで資産をビットコインのブロックチェーンで管理すること
– Open Assets(使いやすい), CoinSpark, Chromaway, Colu, CounterParty などなど
  カラードコインごとに神様秘密鍵がある。その秘密鍵を持ってる人がカラードコインを発行できる。
– 利点: ビットコインのセキュリティー
– 欠点: 限られたブロックサイズと取引量、カラーのルールは採掘者は認証しない。
– 最初発行したときに、発行量が多い少ないで発行量はあまり関係ない。
  ただ、単純に時間がかかっただけであると思われる。

双方向ペグーサイドチェーン

– ブロックストリーム社にて発明
  ビットコインを凍結することで他のブロックチェーンのトークンと交換ができ、またそのブロックチェーンの
  トークンを証明されることで元のビットコインが解凍できる仕組み
– 利点:ビットコインのセキュリティー
– 欠点: まだ実装されていない

ビットコイン実装例

– python caesure

感想

今回は知識的な概要のみ。
もっと、実装的な突っ込んだところも見てみたい

次はいよいよ宿題が出るということで、ワクワクする。はやく実装的なところも試したい。

Sponsored Link

ビットコイン(Bitcoin)、イーサリアム(Ethereum)、リップル(Ripple)、ネム(NEM)などの仮想通貨を買うならコインチェックがおすすめです。

※アプリは指値売買ができず手数料が高いので、アプリをダウンロードするのではなくメール&パスワード登録へ!まずは5万円ほど入金して仮想通貨とブロックチェーンの世界を楽しんでください!

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin

コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


miningpoolhub
miningpoolhubのAPIを使って自動スイッチングを試してみる in ethOS

* アイキャッチの男性は、Flicker上のライセンスフリーの画像ひっぱってきているだけで、本文とま …

NEM
[memo] NEMを送金しようとするとFAILURE_TIMESTAMP_TOO_FAR_IN_FUTUREが出る

Docker上のコンテナで、NEM-libraryを使ってmosaicの送金を試していたところ FA …

NEM
NEMのテストネットワークで独自通貨を試す

NEMアプリケーションを作る際にテストネットワークでのテスト非常に重要になってきます。 このため今回 …