挖礦時到底在計算什麼意思
⑴ 挖礦是什麼意思
「挖礦」,顧名思義,就是我們腦海中能出現的動作,就是用鐵鍬在土裡挖,但現在我們用的不再是鐵鍬,而是電腦。我們不是在土壤中挖掘,而是在一個數據池中挖掘,我們不再挖掘黃金和煤炭等實物,而是爭奪記賬的權利。1.挖礦是對一段時間內比特幣系統中的交易進行確認,並記錄區塊鏈上新區塊形成的過程。這些礦工被稱為礦工。2.采礦是記賬的過程,礦工是記賬員,區塊鏈是總賬。3.比特幣系統的記賬權是去中心化的,即每個礦工都有記賬權。成功搶到記賬權的礦工將獲得系統新的比特幣獎勵。挖礦就是生產比特幣的過程。
⑵ 比特幣挖礦究竟在計算一個什麼問題手動驗證區塊鏈給出答案
簡單回顧下挖礦的流程。
首先先要對所有的交易做驗證,剔除有問題的,然後通過一套自定義的標准來選擇哪些交易希望打包進區塊,比如說提供的交易費與交易佔用的位元組大小的比值超過某個門檻,這樣的交易才被認為有利可圖。當然,節點也可以特意選擇要加入某條交易,或者故意忽略某些交易。如果是通過礦池挖礦的話,礦池的伺服器會去篩選交易,然後分配給每個參與的礦機一個獨立的任務。
一旦篩選好交易數據,層層約減,通過這些交易就可以計算出一棵Merkle樹,可以確定一個唯一的摘要,這就是Merkl樹的根。
然後我們再依次獲取挖礦需要的其他信息,這些信息組成一個區塊的頭。
區塊頭的位元組分配
區塊頭只有80個位元組,挖礦只需要對區塊頭進行運算即可。交易數據都通過merkle樹固定了下來,不需要再包含進來。
這些信息中大部分已經是固定下來的,或者是可計算的。
我們以區塊277316為例,其信息來自網站 http://blockchain.info
Bitcoin Block #277316blockchain.info
選擇這個區塊的原因是在《Mastering Bitcoin》一書中,中文社區譯本和英文原版在介紹這部分內容時有出入,而且作者Antonopoulos並沒有提到一個關鍵點,就是位元組順序的問題,相信很多人可能會踩這個坑。這里還原的細節可以幫助讀者與書籍做相互參考。
請大家注意下面的每個步驟,注意每一個變化,這是比特幣最核心的演算法。
轉換時間,記住,一定要轉為utc的時間戳,此處遇到過坑,小心。
這一步的發現異常艱辛,耗費了大量的查詢,大坑,大坑,謹記。發明人中本聰可能為了讓機器計算更快,而變為了更接近機器的編碼方式little-endian.
最終得到的結果就是
16進制下前面15個0,然後是1; 而難度目標對應的數字是
16進制下前面15個0,然後是3. 計算結果小於難度目標,符合要求。這個結果與網站上公布的數字一致。
在挖礦時,nonce隨機數是未知的,要從0試到2^32,但是這個數字其實不大,只有4294967296,以現在的礦機動輒14T每秒的算力,全部算完到上限也不需要一秒。剛才提到在這種情況下,需要使用創幣交易中的附帶信息,額外的字元串成為extra nonce。
另外,創世區塊也可以通過上面的方法來驗證,有好奇的朋友可以嘗試下。
提示:
⑶ 數字貨幣挖礦,什麼是算力挖礦算力單位怎麼換算
數字貨幣挖礦 我們經常提到的一個詞就是 礦機的算力,
比如:挖BTC比特幣的螞蟻礦機T9+ 算力10.5TH/S,
挖LTC萊特幣的螞蟻礦機L3+ 算力504MH/S,
挖LCC數字鏈的好礦機Ubuntu×64 算力180KH/S.
那究竟算力是什麼意思呢? 算力代表了什麼 算力單位是怎麼定義的呢?
其實算力的意思很簡單,他就是代表礦機的計算能力、計算性能的衡量 他具體代表的是每秒礦機的整體hash演算法運算次數。
我們先要知道挖礦的本質就是解決一個數學計算,誰先算出來誰就獲得獎勵(幣),這個數學計算方式也很簡單,就是一直不斷的嘗試碰撞結果