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

アンティーク「マイニング」 - 秒速 148 EHash で走るビットコイン -

AntiqueR
October 18, 2020

アンティーク「マイニング」 - 秒速 148 EHash で走るビットコイン -

KIT Developers Meetup #5 オンラインLT会で発表した資料です。

AntiqueR

October 18, 2020
Tweet

Other Decks in Programming

Transcript

  1. About Me AntiqueR / アンティーカー - C# 好き。 - 最近は

    .NET Core でコンソールアプリ。 - MVVM 好き。 - 付喪堂骨董店が好き。 - ブロックチェーン好き。 - 儲かってません。 Twitter : GitHub : AntiquePendant AntiquePendulum
  2. Blockchain ブロックチェーン is ハッシュ値の連続体 出典: Block Chain — Bitcoin :

    https://developer.bitcoin.org/devguide/block_chain.html 前のブロック ハッシュ 前のブロック ハッシュ 前のブロック ハッシュ
  3. Blockchain 前ブロックハッシュ タイムスタンプ Difficulty Nonce トランザクション : 0xFFFF.... : 2020/10/17

    : 3 : 2083236893 : Alice から Bob に10コイン { Byte[] } シリアライズ E38193e381aee38199e381b0e381a7e4b880e795aae5 8fafe6849be38184e381aee381afe382a6e382a3e382ba
  4. Blockchain 前ブロックハッシュ タイムスタンプ Difficulty Nonce トランザクション : 0xFFFF.... : 2020/10/17

    : 3 : 2083236893 : Alice から Bob に10コイン { Byte[] } シリアライズ E38193e381aee38199e381b0e381a7e4b880e795aae5 8fafe6849be38184e381aee381afe382a6e382a3e382ba SHA256 ダブルハッシュ 32 バイトの値になる。 これがいわゆるブロックID
  5. Mining あらすじ 超天才美少女のアリスは 10 Bitcoin を支払って AntiqueR から 絵画 を買いました。

    10 Bitcoin の価値はなさそうなので不正して取り返すことにしました。 絵画
  6. Mining 今のブロックチェーンの状態 Block 1 Block 2 Block 3 Block 4

    AからBに 10Bitcoin XからYに 3Bitcoin CからZに 1satoshi アリスから僕に 10Bitcoin 累積 DIfficulty
  7. Mining 不正をすると… Block 1 Block 2 Block 3 Block 4

    AからBに 10Bitcoin XからYに 3Bitcoin CからZに 1satoshi Block 3 Block 4 Block 5 支払った過去 をなくす
  8. Mining while (!token.IsCancellationRequested) { block.Nonce = nonce++; block.Timestamp = DateTime.UtcNow;

    var hash = block.ComputeId(); Console.Write("+"); if (!HashCheck(hash, target)) continue; block.Id = new HexString(hash); return true; } Nonce を増加 => ハッシュ化 => 条件と比較 を繰り返す。 Miner.cs
  9. summary 話したこと - ブロックチェーンとは - ハッシュの連続体 - マイニングとは - ハッシュ値のビーチフラッグス

    - Nonce を変化させてダブルハッシュ - なぜ「51%攻撃」なのか - 世界の半分を手に入れろ。