[BITCOIN]メモ
情報ソース
大石哲之のビットコインの仕組み入門(1) ビットコインの発掘とは実際には何をしているのか?
http://www.digitalmoney.or.jp/2013/12/bitcoin-sikumi1/
ブロックチェーンの暗号技術を支えるハッシュ関数「RIPEMD-160」
http://gaiax-blockchain.com/ripemd-160
暗号化アルゴリズムを実感しよう その3 ※ RIPEMD-160
http://www.geocities.co.jp/SiliconValley-Oakland/8878/lab19/lab19.html
SHA-256のアルゴリズム
http://wiz-code.net/vb/algorithm/sha256/03_algorithm.html
progranism/Open-Source-FPGA-Bitcoin-Miner
https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner
FPGA Based Bitcoin Mining
http://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1285&context=eesp
公開するよ。ビットコイン マイニング(採掘)は儲かるか? 〜暗号通貨5ヶ月採掘体験記〜
https://matome.naver.jp/odai/2140863521764223901
仕様と呼ばれるもの
・マイニング
> 採掘
> 未承認取引の承認作業
> 承認済み元帳へ、未承認の新しい取引記録のブロックを「つなげて」追加していく作業
> 正しくつなげるために、つなぐための「キー」を探す作業
> 採掘とは、キーを探す作業
> 一度発見出来れば、誰でも、それが正しい事がすぐに確認可能。
> しかし、発見するまでに高速なコンピュータで総当たり
・ハッシュ関数(A、B、N)=256bitの値。
A = 直前ブロックのハッシュ値(承認済元帳の末尾ブロックのハッシュ値)
B = 新ブロックに含まれる取引記録の電子的な指紋
N = nonce値。32bitの任意の値
> その値の先頭16個0並べば、正しいキーと認定して良い決まり。
> これが次のハッシュ値。
> それが得られるまで、nonce値を変えて繰り返す。
・ハッシュ関数
> 任意の長さのデータから、固定長の出力データを返す
> 同じデータを使えば、いつも同じ結果が出る。
> SHA-256(Secure Hash Algorithm 256-bit)では、256bitの結果を返す。
> ビットコインのハッシュ関数は、256bit出力を得る場合は、SHA256を2回適用した結果を使う。
> より短い160bit出力を得たい場合は、SHA256を1回やった後、RIPEMD-160を実施した結果を使う。
> 任意の入力データから、常に固定長256bitの結果を返す。
> つまり、絶対にハッシュ衝突(同じ結果になる)しないハッシュ関数は有り得ない。
> 従って、出力ビット長が長ければ長いほどハッシュ衝突は起こりにくくなる。
・SHA256アルゴリズム
入力データ > 64Byteづつに分割 > 順番にメッセージブロック1(MB1)、メッセージブロック2(MB2)、・・・
> 64byteに満たない部分は、パディング処理
http://wiz-code.net/vb/algorithm/sha256/04_padding.html
ハッシュ値(1回目) = 初期ハッシュ値 (何かの処理) MB1
・ブロック
> 100~1000程度の取引がまとまって記録される単位
いろいろ
・取引状況は例えば以下でリアルタイムに確認可能。
https://blockchain.info/ja/unconfirmed-transactions
疑問
・仕様と呼ばれる決まりは、誰が判定してる?
・決まりを破ったり出来ないのか?
・みなが認識してる仕様で現在稼働している事を、どうやって確認出来る?
・SHA256を2重にして使う、ってどゆこと?
・SHA256の初期ハッシュ値は何? 固定値?
・SHA256 初期ハッシュ値とMB1の間で、具体的にどんな計算する?
・マイニング結果出たら、どのように名乗りを上げる?
大石哲之のビットコインの仕組み入門(1) ビットコインの発掘とは実際には何をしているのか?
http://www.digitalmoney.or.jp/2013/12/bitcoin-sikumi1/
ブロックチェーンの暗号技術を支えるハッシュ関数「RIPEMD-160」
http://gaiax-blockchain.com/ripemd-160
暗号化アルゴリズムを実感しよう その3 ※ RIPEMD-160
http://www.geocities.co.jp/SiliconValley-Oakland/8878/lab19/lab19.html
SHA-256のアルゴリズム
http://wiz-code.net/vb/algorithm/sha256/03_algorithm.html
progranism/Open-Source-FPGA-Bitcoin-Miner
https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner
FPGA Based Bitcoin Mining
http://digitalcommons.calpoly.edu/cgi/viewcontent.cgi?article=1285&context=eesp
公開するよ。ビットコイン マイニング(採掘)は儲かるか? 〜暗号通貨5ヶ月採掘体験記〜
https://matome.naver.jp/odai/2140863521764223901
仕様と呼ばれるもの
・マイニング
> 採掘
> 未承認取引の承認作業
> 承認済み元帳へ、未承認の新しい取引記録のブロックを「つなげて」追加していく作業
> 正しくつなげるために、つなぐための「キー」を探す作業
> 採掘とは、キーを探す作業
> 一度発見出来れば、誰でも、それが正しい事がすぐに確認可能。
> しかし、発見するまでに高速なコンピュータで総当たり
・ハッシュ関数(A、B、N)=256bitの値。
A = 直前ブロックのハッシュ値(承認済元帳の末尾ブロックのハッシュ値)
B = 新ブロックに含まれる取引記録の電子的な指紋
N = nonce値。32bitの任意の値
> その値の先頭16個0並べば、正しいキーと認定して良い決まり。
> これが次のハッシュ値。
> それが得られるまで、nonce値を変えて繰り返す。
・ハッシュ関数
> 任意の長さのデータから、固定長の出力データを返す
> 同じデータを使えば、いつも同じ結果が出る。
> SHA-256(Secure Hash Algorithm 256-bit)では、256bitの結果を返す。
> ビットコインのハッシュ関数は、256bit出力を得る場合は、SHA256を2回適用した結果を使う。
> より短い160bit出力を得たい場合は、SHA256を1回やった後、RIPEMD-160を実施した結果を使う。
> 任意の入力データから、常に固定長256bitの結果を返す。
> つまり、絶対にハッシュ衝突(同じ結果になる)しないハッシュ関数は有り得ない。
> 従って、出力ビット長が長ければ長いほどハッシュ衝突は起こりにくくなる。
・SHA256アルゴリズム
入力データ > 64Byteづつに分割 > 順番にメッセージブロック1(MB1)、メッセージブロック2(MB2)、・・・
> 64byteに満たない部分は、パディング処理
http://wiz-code.net/vb/algorithm/sha256/04_padding.html
ハッシュ値(1回目) = 初期ハッシュ値 (何かの処理) MB1
・ブロック
> 100~1000程度の取引がまとまって記録される単位
いろいろ
・取引状況は例えば以下でリアルタイムに確認可能。
https://blockchain.info/ja/unconfirmed-transactions
疑問
・仕様と呼ばれる決まりは、誰が判定してる?
・決まりを破ったり出来ないのか?
・みなが認識してる仕様で現在稼働している事を、どうやって確認出来る?
・SHA256を2重にして使う、ってどゆこと?
・SHA256の初期ハッシュ値は何? 固定値?
・SHA256 初期ハッシュ値とMB1の間で、具体的にどんな計算する?
・マイニング結果出たら、どのように名乗りを上げる?
スポンサーサイト