※ 引述《greprep (@@)》之銘言:
: 看來看去彼特幣的電腦科學和數學原理沒有清楚的解釋,支持彼特幣的人只是
: 用文字告訴你,解釋彼特幣怎麼運作,實際上的數學和電腦科學原理從沒有看
: 過很好的解釋。或許是我孤陋寡聞吧。
: 有個理論性問題想請教大家。在以下這一段裡面提到了礦工的挖礦機必須"解決
: 複雜的數學問題",這個說法我聽過太多次了。但是到底是什麼數學問題呢?有
: 沒有人知道?有人專門出數學題給挖礦機去解嗎?
一:block的版本version
二:上一個block的hash值: prev_hash
三:需要寫入的交易記錄的hash樹的值: merkle_root
四:更新時間: ntime
五:當前難度: nbits
挖礦的過程就是找到x使得
SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) <
TARGET
上式的x的範圍是0~2^32, TARGET可以根據當前難度求出的。除了x之外,你還可以嘗試改
動merkle_root和ntime。由於hash的特性,找這樣一個x只能暴力搜索。
一旦你找到了x,你就可以廣播一個新的block,其他客戶端會驗證你的block是否合法。
如果你的block被接受,由於每個block中的第一筆交易必須是將新產生25個比特幣發送到
某個地址,當然你會把這個地址設為你所擁有的地址來得到這25個比特幣。