クリプト

Proof of Workの仕組み解説

バオウ's icon'
  • バオウ
  • 2018/05/12 08:54

Content image

撮影場所 日本触媒工場前@兵庫県姫路市

姫路市の夜景スポットで有名な日本触媒工場前です。写真が緑っぽく見えているのではなく、工場自体が本当に緑っぽい光だったので少し幻想的でした。


バオウです。

仮想通貨の認証アルゴリズム比較でちらっと話をしていたのですが、PoWの仕組みについて解説していきたいと思います。できる限り平易な表現に落とし込めるように努力します!

Proof of Work(以下PoW)とは、以前解説した通り、計算を最速で完了させた者に報酬を支払う事仕組みを指します。計算を行う事を”マイニング”と呼んでいますね。概要はこれでOKです(厳密には違いますが)。では実際にはどういった計算を行っているのでしょうか。なぜCPUではなく、GPUやASICが必要なのでしょう。その疑問を解決してみたいと思います。


マイニングで実施している事を一言で表すと、以下の通りです。

ハッシュ値(32bit)の最上位ビットから、”0”が特定回数続くナンスを探索する。なおディフィカルティの調整により連続数がどの程度かは時期によって異なる。

以上です。何を言っているか意味不明かもしれませんが、内容は今から説明しますので焦らないでください笑

解説を続ける上で2つ重要な概念を認識していただきたいと思います。

それが"ハッシュ関数"と"ナンス"と呼ばれるものです。ハッシュ関数の仕組みについては割愛しますが、機能的には以下のものを指します。

任意長のビット列から規則性のない固定長のビット列を生成する関数

言い換えれば、既知のデータから意味の分からんデータを吐き出す関数です。この認識を頭に置いてください。ハッシュ関数の特徴としては、ハッシュ関数は一方向関数である為、出力データから入力データを推測・推定する事が困難であるという事が挙げられます。カンニングして、答えは知っているのに問題文がわからないようなイメージです。(?笑)

ナンス(number used once)とは文字通り、

ナンス=一度だけ使用される数字

を指します。特に意味のない数字を指します。


前準備が整いました。ここでマイニングで行っている計算について説明します。

実際にマイニングでは以下の計算を実施しています。

hash(α+β+nonce) = 0000000000000000111111111111111111

hash:ハッシュ関数, α:以前のブロックのハッシュ値, β:今回の取引履歴, nonce:ナンス, 1は別に1でなくてもOK, 0はディフィカルティの調整に依るので、個数はタイミングによって異なる

α+β+nonceをハッシュ関数に代入する事によって、0が複数個続くハッシュ値を探索します。この際、ハッシュ値からnonceを逆推測する事は困難となる為、マイニングではnonceを総当たりします。(ランダムに代入した値から適切なハッシュ値を得たときのナンスを探索している)

→その結果として膨大な計算量が必要となります。マイニングって面倒ですね。

 →総当たりで計算する事が最も最速の解探索方法となるので、CPUでの演算は  マイニングには不向きとなります。故にGPUやASICでの並列演算が有利で  す。CPUでは逐次演算ですので並列計算は(一般的には)苦手です。


ここで、ディフィカルティとは0が何個続くかを調整する事です。0が1つしかない場合と、0が16個ある場合では難易度に相当な差がある事は歴然だと思います。この個数を調整する事をディフィカルティの調整といいます。ディフィカルティの調整は結構な頻度で発生しているので確認したタイミングで異なる場合は多いです。ちなみにDGBは1ブロック毎でディフィカルティを調整する仕組みを導入しています。(DigiShieldといいます)


ついでに解説ですが、PoWのアルゴリズムってありますよね。SHA-256とか。あれはハッシュ関数の名前を指している事を覚えておくと、どや顔できるかもしれませんね!中身は趣味で調べてみてください!

今回はPoWで実際に計算している事についてまとめてみました。

以上です。次回もよろしくお願い致します。

by バオウ\(^o^)/


書いた人 バオウ(@twitter)

過去記事一覧(抜粋)

・次世代の通貨:ディジバイト(DGB)

・マスターノードとマイニング報酬の違い

・仮想通貨の認証アルゴリズム比較

・ビットコインファミリーの現在

・仮想通貨時価総額 VS 世界株式市場規模時価総額

P.S 仮想通貨と全然関係のないサムネイル画像を使ってみたいと思います笑

私の地元(和歌山県)で撮影した、風景写真がメインです。






公開日:2018/05/12
獲得ALIS:11.29
バオウ's icon'
  • バオウ
  • @nokamiplace0503
バオウです。はじめまして。仮想通貨について情報発信していきたいと思います。最近はPythonにお熱です。仮想通貨×Pythonで、いろんな事に取り組んでいきます。推し銘柄はDGB!

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

Like token Tip token
30.03 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

Like token Tip token
31.32 ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

Like token Tip token
38.10 ALIS
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Like token Tip token
59.99 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

クリプトスペルズで入手したMCHCを引き出す方法

Like token Tip token
196.20 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

UNISWAPでALISをETHに交換してみた

Like token Tip token
39.40 ALIS
Eye catch
クリプト

【DeFi】複利でトークンを運用してくれるサイト

Like token Tip token
54.01 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS