當前位置:首頁 » 比特幣問答 » 比特幣挖礦確認流程

比特幣挖礦確認流程

發布時間: 2023-03-20 20:00:11

比特幣怎麼挖桌面小人挖礦

操作步驟如下:
步驟一、注冊賬號以及賬號設置
1、首先,我們需要找一個操作方便產出穩定的比特幣礦池,然後通過挖礦客戶端軟體連接到指定的伺服器上挖礦。這里以「 BTC Guild 」網站為例,先打開這個網站,點擊左邊的用戶注冊。注冊過程比較簡單,輸入英文用戶名,密碼和確認密碼即可。
2、注冊成功之後,我們會在網頁上看到一條這樣的信息「 Your account has been successfully registered and logged in! 」,意思是注冊成功並已登錄。
3、我們點擊左上角的「 Dashboard 」按鈕,可以看到賬戶的整個監控狀態,如圖所示

註: 在這個監控儀表盤中我們最為關心的是「 Total Earnings 」,這就是我們當前賬戶所掙的比特幣。以後只要我們打開網站,進入監控儀表盤就可以看到自己賬戶的相關信息了。
4、接下來請點擊頁面導航欄中的「 Settings 」。在設置頁面中,我們可以設置電子郵件地,比特錢包地址,更改密碼等。

5、如果在帳戶中設置電子郵件地址,日後要是忘記密碼或者被盜的情況下,可以通過設置的電子郵件來恢復密碼。首先在「Email Address」一欄輸入我們的常用的電子郵件地,然後點擊「 Change 」按鈕。

6、接下來頁面中會顯示一封確認郵件已經發送到我們之前設置的郵件中。

7、然後我們打開自己的電子郵箱,找到 BTC Guild 發送的郵件。點擊確認鏈接即可,之後會在頁面中顯示我們的郵箱已經成功設置。

8、如果我們在帳戶設置中設置了電子郵件的話,我們還可以對開采礦工的行為設置郵件通知。在設置頁面上找到「Idle Warnings」一欄,點擊下拉列表,選擇想要發送郵件的時間,然後點擊右邊的「Change」按鈕即可。當我們設置10分鍾以後,如果有礦工停止開采,系統會在10分鍾後自動向我們的郵件發送一封通知郵件,收到郵件以後,我們就知道具體是那個礦工罷工了。

9、另外在設置中,我們比較關心一個是「Bitcoin Wallet」即錢包地址。這個地址可以先不用設置,等我以後真正開採到了比特幣是再填寫也不遲。

10、帳戶設置完成以後,接下來我們要對「Worker」進行設置。什麼是 Worker 呢?就是我們之後在比特幣開采客戶端上要用到的登錄礦工帳戶名。系統會默認為我們創建一個礦工名,礦工名是以我們注冊帳戶名加一個下劃線和數字組成。比如我們注冊的帳戶是XXX,那第一個礦工名就叫「XXX_1」。

11、如果我們要設置多個礦工名的話,在「Create Worker」一欄中輸入一個數字如「2」,再點擊「 Create 」按鈕即可添加一個新礦工的帳戶名。

12、在 Worker 設置頁面里,我們還可以分別對礦式帳戶的開采支付模式進行設置。Payment method,即開采支付方法。這里有二種類型可供選擇,PPS和PPLNS,區別在於開采模式和手續費上。PPS的手續費為7.5%,而PPLNS的手續為3%。系統默認為採用 PPLNS,如果要更改,請點擊 Payment method 下方的「 change 」按鈕。

13、另外我們還可以對開采模式的難度進行選擇,如果我們的電腦有多個顯卡GPU,或者一些專用的機器的話,可以在 Minimum Difficulty 下對分別對礦工帳戶名進行設置。

步驟二、下載挖礦客戶端軟體

1、當我們注冊設置完成以後,接下來請點擊頁面導航菜單中的「 Support 」,我們會看到客戶端的下載鏈接。
挖礦客戶端軟體有二種類型:
BFGMiner: 命令行操作界面,可直接下載。
CGMiner: 也是命令行格式操作的,不過下載步驟過於復雜。
我們這里以下載 BFGMiner 為例,點擊如圖所示下載。
2、隨後會跳轉到挖礦工具的下載頁面,挖礦工具有二種格式,一種是32位系統,另一種是64位系統。根據自己的系統位數,下載相應的工具版本。

3、挖礦工具客戶端大小不足5M,是一個 ZIP 壓縮文件。下載完成之後,找到並打開文件。點擊滑鼠右鍵,選擇 「復制」 選項。
4、這里我以粘貼提取到桌面為例。
步驟三、挖礦客戶端軟體詳細設置

1、打開挖礦目錄以後,雙擊點擊打開目錄下的 「bfgminer」 文件。
2、接下來來看到 BFG minier 的窗口,在 URL 處輸入礦池的地址。礦池地址可以在 BTC GUILD 的 support 頁面中看到,如 stratum.btcguild.com:3333 ,按回車鍵。

3、然後在 Username 後輸入自己先前在 BTC GUILD 網站上設置的礦工名,按回車鍵。

4、隨後在 password 密碼處,可任意輸入。

5、最後就可以看到上面有很多數字在變化,表示正在挖礦了。值得注意的是如圖標注的地方表示當前機器按鈕的速率。
6、除了開采客戶端軟體上可以看當前開採的速度,我們還可以在 BTC Guild 網站上的 「Dashboard」 頁面中的 「Active Worker Summary」 列表中看到每上礦工開採的具體速度。
7、如果要關閉挖礦工具,直接 X 掉即可,也可以直接按 Q 鍵退出。如果想要多開幾個的話,在 BFG miner 目錄中再打開一個挖礦工具即可。

步驟四、CGminger命令行客戶端軟體
1、如果真要想挖礦的話,官方是推薦我們用「CGMiner」,也就是在命令提示符下運行的。在 BTC Guild 頁面上點擊「 Support 」,再點擊「CGMiner」下載鏈接頁面,選擇對應系統的版本。
2、隨後會跳轉到 CGminer 的下載頁面,點擊如圖標注的鏈接。
3、然後選擇一個 CGminer 的版本,我這里下載一個 Windows 版本為例。

4、這里以 Windows 版的 CGMiner 為例,下載完成以後,解壓到電腦中。
5、打開CGMiner的目錄,找到「 CGMiner 」。
6、用滑鼠雙擊「CGMiner」會彈出一個命令行窗口,提示我們輸入連接伺服器的 URL 地址。輸入「stratum.btcguild.com:3333」,按鍵盤上的回車鍵。

7、然後提示我們輸入「 Username 」即礦工帳戶名,按鍵盤上的回車鍵。

8、接著輸入「password」密碼,按鍵盤上的回車鍵。

9、稍等片刻,當客戶端與服務在建立連接之後就會看到機器開始開采了。

10、若要退出開采,請在窗口上按鍵盤上的「 Q 」鍵。
注意
如果你是用 CGminer 的話,顯卡一定要是支持通用計算標準的顯示才行,否則會不能挖礦。

❷ 比特幣挖礦究竟在計算一個什麼問題手動驗證區塊鏈給出答案

簡單回顧下挖礦的流程。

首先先要對所有的交易做驗證,剔除有問題的,然後通過一套自定義的標准來選擇哪些交易希望打包進區塊,比如說提供的交易費與交易佔用的位元組大小的比值超過某個門檻,這樣的交易才被認為有利可圖。當然,節點也可以特意選擇要加入某條交易,或者故意忽略某些交易。如果是通過礦池挖礦的話,礦池的伺服器會去篩選交易,然後分配給每個參與的礦機一個獨立的任務。

一旦篩選好交易數據,層層約減,通過這些交易就可以計算出一棵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。

另外,創世區塊也可以通過上面的方法來驗證,有好奇的朋友可以嘗試下。

提示:

❸ 比特幣挖礦教程 知道下面幾步你就會挖礦了

1、首先安裝一個比特幣錢包,獲得一個比特幣的地址,去 Bitcoin 官方網站,下載比特幣錢包 Bitcoin-Qt ,適用於多個平台。當然你也可以下載到你安卓手機上,在 Google Play 中搜索 Bitcoin Wallet 就可以簡單安裝了。

2、 找一個礦池,注冊一個賬號我們就可以開始挖礦啦。

3、 注冊完畢後,在網站中選擇挖礦方式,然後我們就可以用 GUIMiner 開始挖礦了,在 GUIMiner 中填入剛剛注冊的礦池賬號信息,然後點擊開始挖礦即可。

❹ 天天說挖礦,比特幣挖礦流程概述。

通俗易懂的大概流程

如果你之前對挖礦根本沒有了解,這段介紹就適合你閱讀,進入狀態後再進行更深層次的學習。

其實通俗來講原理很簡單,比特幣作為一種點對點的電子貨幣體系,挖礦的過程就是一個紀錄數據的過程,因為整個系統是開放的,人人可參與的,所以人人都可以進行挖礦,雖然理論上人人都可以參與,但無利不起早沒有人會平白無故的參與到網路的建設中,中本聰就利用Hash函數設計了一種激勵和競爭方式。

大家都進行數據的處理工作,誰處理的又快又准確,誰就獲得記賬權,同時獲得該區塊的獎勵。既有獎勵又有競爭才使得比特幣網路得以正常運轉。

想要競爭成功就要經歷幾個基本的流程。

一、首先你要將沒有被記錄的交易信息檢查並歸集到一個數據塊中。

二、數據塊打包好後,進行哈希運算,算出哈希值,哈希值這個概念在昨天文章中已經詳細的介紹過。

三、算出哈希值後進行全網廣播,其他礦工接收到後進行驗證,驗證沒有問題就會將這一個數據塊連接到整個區塊鏈上,就可以獲得這個區塊的獎勵了。

大致過程了解後就可以開始詳細的了解整個過程了。

開始挖礦前的准備工作

這里所說的准備,可不是讓你准備買礦機或者給礦機通電,說的是在進行POW工作量證明之前記賬節點所作的准備工作。也就是前面流程的第一步的具體解釋。

想要收集齊全交易信息,第一步就是收集廣播中還沒有被記錄賬本的原始交易信息。收集完成後就要自己先進行驗證,主要驗證兩個方面,1.每個交易信息中的付款地址有沒有足夠付款的余額。2.驗證交易是否有正確的簽名。這兩項必不可少,通俗一點就是你給別人打錢銀行需要確認的就是兩點,你賬號里到底有沒有那麼多錢,是不是你本人或本人同意的行為。

這兩項驗證完後就可以將驗證好的數據進行打包,打包完成後當然沒有完,因為還有對於礦工來說最最重要的 一 步,添加一個獎勵交易,寫一個給自己地址增加6.25枚比特幣的交易。

如果你競爭成功,那麼你的賬戶地址內就會增加6.25枚比特幣,在這里也順便提一下減半,最開始一個區塊的記賬獎勵是50個比特幣,比特幣大概每4年獎勵就進行減半,前一段時間的減半過後比特幣一個區塊的獎勵已經變成了6.25枚。

值得一提的是前兩次減半後都伴隨著牛市的來臨,現在第三次減半已過,在之後會有什麼樣的變化呢?

准備工作完成後就要正式的爭奪了

因為10分鍾左右就一個記賬的名額,在這個階段全世界的礦工,都進行著一場沒有硝煙的戰爭。

那這場仗怎麼打呢?其實就是計算Hash函數,礦工算力的比拼,所以說在比特幣網路哪裡都離不開Hash函數。為了保證在10分鍾只有一個人能夠成功,這個哈希函數的難度必須適當。直接哈希難度過低,所以規定Hash出的結果必須以若干個0構成。

可能直接這么說開頭若干個0還沒有什麼難度概念,那就簡單分析一下,進行這樣的計算有多難 , 也就順便可以解釋為什麼單打獨斗的礦工已經不吃香了。

Hash值跟平常我們設置的密碼要求相似,是由數字、字母組成,其中字母區分大小寫。也就是說每一位都有62種可能,哈希運算本質就是試錯,相當於給你一個不限出錯次數的手機讓你開鎖一樣 。 而比特幣的哈希值是以18個0開頭的,理論上需要進行62的18次方,這個數字在普通計算器上都是以科學計數法顯示的,結果為1.832527122*10的32次方。

指數爆炸式的運算次數增長保證了其挖礦的難度。同時也因為難度大帶來了一些爭議,有人就會說耗費那麼大卻不產生價值,之前挖礦還在一份意見徵集稿中放到了落後產能里。可以說對於挖礦行業的爭議是一直存在的。

最後一步驗證

找到哈希值後,進行廣播打包區塊,網路節點就會進行驗證。

情況無非就是兩種,一種是驗證通過,那麼表明這個區塊成功挖出,其他礦工就不再競爭,選擇接受這個區塊,將這個區塊進行記錄,挖出這個區塊的礦工就獲得了該區塊的獎勵,並且進入下一個區塊的競爭。

另外一種就是不通過,那麼前面的那些工作都白費了,投入的成本就沒有辦法收回,所以礦工們都自覺的遵守著打包和驗證的規則,因為作惡成本較高,也就維護了比特幣網路的安全。

相信你讀完文章已經大致了解了比特幣挖礦的整個流程,不過挖礦實際操作起來又是另一個概念了,其中什麼時候適合進場挖礦、入手什麼樣的礦機進行挖礦、通過什麼樣的方式參與挖礦都是有一定學問的。

挖礦有風險投資需謹慎呀,搞懂再行動,沒搞懂之前就要多學習。

❺ 什麼是挖礦

挖礦就是利用比特幣挖礦機,就是用於賺取比特幣。

用戶用個人計算機下載軟體然後運行特定演算法,與遠方伺服器通訊後可得到相應比特幣,是獲取比特幣的方式之一。

比特幣為一種虛擬的貨幣,比特幣挖礦制度為通過計算機硬體為比特幣網路開展數學運算的過程,提供服務的礦工可以得到一筆報酬,因為網路報酬依據礦工完成的任務來計算,為此挖礦的競爭十分激烈。

挖礦實際是性能的競爭、裝備的競爭,由非常多張顯卡組成的挖礦機,哪怕只是HD6770這種中低端顯卡,「組團」之後的運算能力還是能夠超越大部分用戶的單張顯卡的。

而且這還不是最可怕的,有些挖礦機是更多這樣的顯卡陣列組成的,數十乃至過百的顯卡一起來,顯卡本身也是要錢的,算上硬體價格等各種成本,挖礦存在相當大的支出。

(5)比特幣挖礦確認流程擴展閱讀:

比特幣挖礦流程:

1、找到礦池

開始挖礦必須要有一個操作方便、產出穩定的礦池,它的作用就是為各個終端細分數據包,可以通過精密的演算法將終端計算好的數據包按照比例,支付相應數量的比特幣。

2、下載比特幣挖礦器(軟體)

其實這種挖礦器也有很多種,大家可以去官方網站下載。

3、設置挖礦軟體

GUIMiner是個綠色軟體,安裝完成後我們可以先設置下語言,以便更方便進一步設置。接下來需要對采礦器設置伺服器、用戶名、密碼、設備等。一般伺服器從BTCguild系列裡面選一個網路較好的就行,用戶名和密碼就是我們之前自己設置的。

4、比特幣挖礦開始

當我們確認都設定無誤後,點「開始挖礦」按鈕之後就開始挖比特幣了,隨之顯卡很快就會進入全速運行狀態,溫度升高、風扇轉速提高,你可以通過GPU-Z或顯卡驅動來監控狀態。

❻ 如何挖礦 新手挖礦的方法

1、挖礦其實就是使用計算機依照演算法進行大量的運算來「開采」比特幣,用電腦搜尋64位的數字,然後通過反復解密來為比特幣網路提供所需的數字,如果用戶的電腦成功地創造出一組數字,那麼就可以獲得25個比特幣。

2、而之所以是25個比特幣,這是因為比特幣系統採用了分散化編程,因此在每10分鍾內只能獲得25個比特幣。

3、不過因為挖礦的人是相當多的,全網的礦工都會在每10分鍾內計算一道算術題,而只有最先算出答案的礦工才能獲得系統新生的比特幣獎勵。所以想要挖到比特幣的話,就必須得准備專業的設備。

4、需要准備礦機、礦池,注冊礦池賬號,設置常用的電子郵件,還要下載比特幣挖礦器,設置伺服器、用戶名、密碼、設備等等。而設置好挖礦機之後,就可以挖礦了。

❼ 比特幣怎麼挖

第一步:准備礦機和礦池 如果你想挖比特幣,你必須准備好專業的設備。 目前市面上有很多專業的礦機,礦池也是必不可少的。 在選擇礦池時,還應該比較每個礦池。 產出和收入差距,然後選擇最合適的礦池。 第二步:注冊礦池賬號並設置 准備好礦池後,需要注冊一個礦池賬號,設置一個普通的郵箱。 設置礦工賬號時,每個CPU或GPU都需要設置一個礦工賬號。 第 3 步:下載比特幣礦工 注冊並設置帳戶後,您需要下載比特幣礦工。 下載礦機時,一定要選擇能最大限度發揮你的CPU和顯卡性能的礦機。 下載後,設置伺服器、用戶名、密碼、設備等。 第 4 步:采礦 設置好礦機後,點擊「開始挖礦」按鈕,礦機進入全速運行狀態,礦機自動開始挖礦。

❽ 詳解比特幣挖礦原理

可以將區塊鏈看作一本記錄所有交易的公開總帳簿(列表),比特幣網路中的每個參與者都把它看作一本所有權的權威記錄。

比特幣沒有中心機構,幾乎所有的完整節點都有一份公共總帳的備份,這份總帳可以被視為認證過的記錄。

至今為止,在主幹區塊鏈上,沒有發生一起成功的攻擊,一次都沒有。

通過創造出新區塊,比特幣以一個確定的但不斷減慢的速率被鑄造出來。大約每十分鍾產生一個新區塊,每一個新區塊都伴隨著一定數量從無到有的全新比特幣。每開采210,000個塊,大約耗時4年,貨幣發行速率降低50%。

在2016年的某個時刻,在第420,000個區塊被「挖掘」出來之後降低到12.5比特幣/區塊。在第13,230,000個區塊(大概在2137年被挖出)之前,新幣的發行速度會以指數形式進行64次「二等分」。到那時每區塊發行比特幣數量變為比特幣的最小貨幣單位——1聰。最終,在經過1,344萬個區塊之後,所有的共20,999,999.9769億聰比特幣將全部發行完畢。換句話說, 到2140年左右,會存在接近2,100萬比特幣。在那之後,新的區塊不再包含比特幣獎勵,礦工的收益全部來自交易費。

在收到交易後,每一個節點都會在全網廣播前對這些交易進行校驗,並以接收時的相應順序,為有效的新交易建立一個池(交易池)。

每一個節點在校驗每一筆交易時,都需要對照一個長長的標准列表:

交易的語法和數據結構必須正確。

輸入與輸出列表都不能為空。

交易的位元組大小是小於MAX_BLOCK_SIZE的。

每一個輸出值,以及總量,必須在規定值的范圍內 (小於2,100萬個幣,大於0)。

沒有哈希等於0,N等於-1的輸入(coinbase交易不應當被中繼)。

nLockTime是小於或等於INT_MAX的。

交易的位元組大小是大於或等於100的。

交易中的簽名數量應小於簽名操作數量上限。

解鎖腳本(Sig)只能夠將數字壓入棧中,並且鎖定腳本(Pubkey)必須要符合isStandard的格式 (該格式將會拒絕非標准交易)。

池中或位於主分支區塊中的一個匹配交易必須是存在的。

對於每一個輸入,如果引用的輸出存在於池中任何的交易,該交易將被拒絕。

對於每一個輸入,在主分支和交易池中尋找引用的輸出交易。如果輸出交易缺少任何一個輸入,該交易將成為一個孤立的交易。如果與其匹配的交易還沒有出現在池中,那麼將被加入到孤立交易池中。

對於每一個輸入,如果引用的輸出交易是一個coinbase輸出,該輸入必須至少獲得COINBASE_MATURITY (100)個確認。

對於每一個輸入,引用的輸出是必須存在的,並且沒有被花費。

使用引用的輸出交易獲得輸入值,並檢查每一個輸入值和總值是否在規定值的范圍內 (小於2100萬個幣,大於0)。

如果輸入值的總和小於輸出值的總和,交易將被中止。

如果交易費用太低以至於無法進入一個空的區塊,交易將被拒絕。

每一個輸入的解鎖腳本必須依據相應輸出的鎖定腳本來驗證。

以下挖礦節點取名為 A挖礦節點

挖礦節點時刻監聽著傳播到比特幣網路的新區塊。而這些新加入的區塊對挖礦節點有著特殊的意義。礦工間的競爭以新區塊的傳播而結束,如同宣布誰是最後的贏家。對於礦工們來說,獲得一個新區塊意味著某個參與者贏了,而他們則輸了這場競爭。然而,一輪競爭的結束也代表著下一輪競爭的開始。

驗證交易後,比特幣節點會將這些交易添加到自己的內存池中。內存池也稱作交易池,用來暫存尚未被加入到區塊的交易記錄。

A節點需要為內存池中的每筆交易分配一個優先順序,並選擇較高優先順序的交易記錄來構建候選區塊。

一個交易想要成為「較高優先順序」,需滿足的條件:優先值大於57,600,000,這個值的生成依賴於3個參數:一個比特幣(即1億聰),年齡為一天(144個區塊),交易的大小為250個位元組:

High Priority > 100,000,000 satoshis * 144 blocks / 250 bytes = 57,600,000

區塊中用來存儲交易的前50K位元組是保留給較高優先順序交易的。 節點在填充這50K位元組的時候,會優先考慮這些最高優先順序的交易,不管它們是否包含了礦工費。這種機制使得高優先順序交易即便是零礦工費,也可以優先被處理。

然後,A挖礦節點會選出那些包含最小礦工費的交易,並按照「每千位元組礦工費」進行排序,優先選擇礦工費高的交易來填充剩下的區塊。

如區塊中仍有剩餘空間,A挖礦節點可以選擇那些不含礦工費的交易。有些礦工會竭盡全力將那些不含礦工費的交易整合到區塊中,而其他礦工也許會選擇忽略這些交易。

在區塊被填滿後,內存池中的剩餘交易會成為下一個區塊的候選交易。因為這些交易還留在內存池中,所以隨著新的區塊被加到鏈上,這些交易輸入時所引用UTXO的深度(即交易「塊齡」)也會隨著變大。由於交易的優先值取決於它交易輸入的「塊齡」,所以這個交易的優先值也就隨之增長了。最後,一個零礦工費交易的優先值就有可能會滿足高優先順序的門檻,被免費地打包進區塊。

UTXO(Unspent Transaction Output) : 每筆交易都有若干交易輸入,也就是資金來源,也都有若干筆交易輸出,也就是資金去向。一般來說,每一筆交易都要花費(spend)一筆輸入,產生一筆輸出,而其所產生的輸出,就是「未花費過的交易輸出」,也就是 UTXO。

塊齡:UTXO的「塊齡」是自該UTXO被記錄到區塊鏈為止所經歷過的區塊數,即這個UTXO在區塊鏈中的深度。

區塊中的第一筆交易是筆特殊交易,稱為創幣交易或者coinbase交易。這個交易是由挖礦節點構造並用來獎勵礦工們所做的貢獻的。假設此時一個區塊的獎勵是25比特幣,A挖礦的節點會創建「向A的地址支付25.1個比特幣(包含礦工費0.1個比特幣)」這樣一個交易,把生成交易的獎勵發送到自己的錢包。A挖出區塊獲得的獎勵金額是coinbase獎勵(25個全新的比特幣)和區塊中全部交易礦工費的總和。

A節點已經構建了一個候選區塊,那麼就輪到A的礦機對這個新區塊進行「挖掘」,求解工作量證明演算法以使這個區塊有效。比特幣挖礦過程使用的是SHA256哈希函數。

用最簡單的術語來說, 挖礦節點不斷重復進行嘗試,直到它找到的隨機調整數使得產生的哈希值低於某個特定的目標。 哈希函數的結果無法提前得知,也沒有能得到一個特定哈希值的模式。舉個例子,你一個人在屋裡打檯球,白球從A點到達B點,但是一個人推門進來看到白球在B點,卻無論如何是不知道如何從A到B的。哈希函數的這個特性意味著:得到哈希值的唯一方法是不斷的嘗試,每次隨機修改輸入,直到出現適當的哈希值。

需要以下參數

• 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可以根據當前難度求出的。

簡單打個比方,想像人們不斷扔一對色子以得到小於一個特定點數的游戲。第一局,目標是12。只要你不扔出兩個6,你就會贏。然後下一局目標為11。玩家只能扔10或更小的點數才能贏,不過也很簡單。假如幾局之後目標降低為了5。現在有一半機率以上扔出來的色子加起來點數會超過5,因此無效。隨著目標越來越小,要想贏的話,扔色子的次數會指數級的上升。最終當目標為2時(最小可能點數),只有一個人平均扔36次或2%扔的次數中,他才能贏。

如前所述,目標決定了難度,進而影響求解工作量證明演算法所需要的時間。那麼問題來了:為什麼這個難度值是可調整的?由誰來調整?如何調整?

比特幣的區塊平均每10分鍾生成一個。這就是比特幣的心跳,是貨幣發行速率和交易達成速度的基礎。不僅是在短期內,而是在幾十年內它都必須要保持恆定。在此期間,計算機性能將飛速提升。此外,參與挖礦的人和計算機也會不斷變化。為了能讓新區塊的保持10分鍾一個的產生速率,挖礦的難度必須根據這些變化進行調整。事實上,難度是一個動態的參數,會定期調整以達到每10分鍾一個新區塊的目標。簡單地說,難度被設定在,無論挖礦能力如何,新區塊產生速率都保持在10分鍾一個。

那麼,在一個完全去中心化的網路中,這樣的調整是如何做到的呢?難度的調整是在每個完整節點中獨立自動發生的。每2,016個區塊(2周產生的區塊)中的所有節點都會調整難度。難度的調整公式是由最新2,016個區塊的花費時長與20,160分鍾(兩周,即這些區塊以10分鍾一個速率所期望花費的時長)比較得出的。難度是根據實際時長與期望時長的比值進行相應調整的(或變難或變易)。簡單來說,如果網路發現區塊產生速率比10分鍾要快時會增加難度。如果發現比10分鍾慢時則降低難度。

為了防止難度的變化過快,每個周期的調整幅度必須小於一個因子(值為4)。如果要調整的幅度大於4倍,則按4倍調整。由於在下一個2,016區塊的周期不平衡的情況會繼續存在,所以進一步的難度調整會在下一周期進行。因此平衡哈希計算能力和難度的巨大差異有可能需要花費幾個2,016區塊周期才會完成。

舉個例子,當前A節點在挖277,316個區塊,A挖礦節點一旦完成計算,立刻將這個區塊發給它的所有相鄰節點。這些節點在接收並驗證這個新區塊後,也會繼續傳播此區塊。當這個新區塊在網路中擴散時,每個節點都會將它作為第277,316個區塊(父區塊為277,315)加到自身節點的區塊鏈副本中。當挖礦節點收到並驗證了這個新區塊後,它們會放棄之前對構建這個相同高度區塊的計算,並立即開始計算區塊鏈中下一個區塊的工作。

比特幣共識機制的第三步是通過網路中的每個節點獨立校驗每個新區塊。當新區塊在網路中傳播時,每一個節點在將它轉發到其節點之前,會進行一系列的測試去驗證它。這確保了只有有效的區塊會在網路中傳播。

每一個節點對每一個新區塊的獨立校驗,確保了礦工無法欺詐。在前面的章節中,我們看到了礦工們如何去記錄一筆交易,以獲得在此區塊中創造的新比特幣和交易費。為什麼礦工不為他們自己記錄一筆交易去獲得數以千計的比特幣?這是因為每一個節點根據相同的規則對區塊進行校驗。一個無效的coinbase交易將使整個區塊無效,這將導致該區塊被拒絕,因此,該交易就不會成為總賬的一部分。

比特幣去中心化的共識機制的最後一步是將區塊集合至有最大工作量證明的鏈中。一旦一個節點驗證了一個新的區塊,它將嘗試將新的區塊連接到到現存的區塊鏈,將它們組裝起來。

節點維護三種區塊:

· 第一種是連接到主鏈上的,

· 第二種是從主鏈上產生分支的(備用鏈),

· 第三種是在已知鏈中沒有找到已知父區塊的。

有時候,新區塊所延長的區塊鏈並不是主鏈,這一點我們將在下面「 區塊鏈分叉」中看到。

如果節點收到了一個有效的區塊,而在現有的區塊鏈中卻未找到它的父區塊,那麼這個區塊被認為是「孤塊」。孤塊會被保存在孤塊池中,直到它們的父區塊被節點收到。一旦收到了父區塊並且將其連接到現有區塊鏈上,節點就會將孤塊從孤塊池中取出,並且連接到它的父區塊,讓它作為區塊鏈的一部分。當兩個區塊在很短的時間間隔內被挖出來,節點有可能會以相反的順序接收到它們,這個時候孤塊現象就會出現。

選擇了最大難度的區塊鏈後,所有的節點最終在全網范圍內達成共識。隨著更多的工作量證明被添加到鏈中,鏈的暫時性差異最終會得到解決。挖礦節點通過「投票」來選擇它們想要延長的區塊鏈,當它們挖出一個新塊並且延長了一個鏈,新塊本身就代表它們的投票。

因為區塊鏈是去中心化的數據結構,所以不同副本之間不能總是保持一致。區塊有可能在不同時間到達不同節點,導致節點有不同的區塊鏈視角。解決的辦法是, 每一個節點總是選擇並嘗試延長代表累計了最大工作量證明的區塊鏈,也就是最長的或最大累計難度的鏈。

當有兩個候選區塊同時想要延長最長區塊鏈時,分叉事件就會發生。正常情況下,分叉發生在兩名礦工在較短的時間內,各自都算得了工作量證明解的時候。兩個礦工在各自的候選區塊一發現解,便立即傳播自己的「獲勝」區塊到網路中,先是傳播給鄰近的節點而後傳播到整個網路。每個收到有效區塊的節點都會將其並入並延長區塊鏈。如果該節點在隨後又收到了另一個候選區塊,而這個區塊又擁有同樣父區塊,那麼節點會將這個區塊連接到候選鏈上。其結果是,一些節點收到了一個候選區塊,而另一些節點收到了另一個候選區塊,這時兩個不同版本的區塊鏈就出現了。

分叉之前

分叉開始

我們看到兩個礦工幾乎同時挖到了兩個不同的區塊。為了便於跟蹤這個分叉事件,我們設定有一個被標記為紅色的、來自加拿大的區塊,還有一個被標記為綠色的、來自澳大利亞的區塊。

假設有這樣一種情況,一個在加拿大的礦工發現了「紅色」區塊的工作量證明解,在「藍色」的父區塊上延長了塊鏈。幾乎同一時刻,一個澳大利亞的礦工找到了「綠色」區塊的解,也延長了「藍色」區塊。那麼現在我們就有了兩個區塊:一個是源於加拿大的「紅色」區塊;另一個是源於澳大利亞的「綠色」。這兩個區塊都是有效的,均包含有效的工作量證明解並延長同一個父區塊。這個兩個區塊可能包含了幾乎相同的交易,只是在交易的排序上有些許不同。

比特幣網路中鄰近(網路拓撲上的鄰近,而非地理上的)加拿大的節點會首先收到「紅色」區塊,並建立一個最大累計難度的區塊,「紅色」區塊為這個鏈的最後一個區塊(藍色-紅色),同時忽略晚一些到達的「綠色」區塊。相比之下,離澳大利亞更近的節點會判定「綠色」區塊勝出,並以它為最後一個區塊來延長區塊鏈(藍色-綠色),忽略晚幾秒到達的「紅色」區塊。那些首先收到「紅色」區塊的節點,會即刻以這個區塊為父區塊來產生新的候選區塊,並嘗試尋找這個候選區塊的工作量證明解。同樣地,接受「綠色」區塊的節點會以這個區塊為鏈的頂點開始生成新塊,延長這個鏈。

分叉問題幾乎總是在一個區塊內就被解決了。網路中的一部分算力專注於「紅色」區塊為父區塊,在其之上建立新的區塊;另一部分算力則專注在「綠色」區塊上。即便算力在這兩個陣營中平均分配,也總有一個陣營搶在另一個陣營前發現工作量證明解並將其傳播出去。在這個例子中我們可以打個比方,假如工作在「綠色」區塊上的礦工找到了一個「粉色」區塊延長了區塊鏈(藍色-綠色-粉色),他們會立刻傳播這個新區塊,整個網路會都會認為這個區塊是有效的,如上圖所示。

所有在上一輪選擇「綠色」區塊為勝出者的節點會直接將這條鏈延長一個區塊。然而,那些選擇「紅色」區塊為勝出者的節點現在會看到兩個鏈: 「藍色-綠色-粉色」和「藍色-紅色」。 如上圖所示,這些節點會根據結果將 「藍色-綠色-粉色」 這條鏈設置為主鏈,將 「藍色-紅色」 這條鏈設置為備用鏈。 這些節點接納了新的更長的鏈,被迫改變了原有對區塊鏈的觀點,這就叫做鏈的重新共識 。因為「紅」區塊做為父區塊已經不在最長鏈上,導致了他們的候選區塊已經成為了「孤塊」,所以現在任何原本想要在「藍色-紅色」鏈上延長區塊鏈的礦工都會停下來。全網將 「藍色-綠色-粉色」 這條鏈識別為主鏈,「粉色」區塊為這條鏈的最後一個區塊。全部礦工立刻將他們產生的候選區塊的父區塊切換為「粉色」,來延長「藍色-綠色-粉色」這條鏈。

從理論上來說,兩個區塊的分叉是有可能的,這種情況發生在因先前分叉而相互對立起來的礦工,又幾乎同時發現了兩個不同區塊的解。然而,這種情況發生的幾率是很低的。單區塊分叉每周都會發生,而雙塊分叉則非常罕見。

比特幣將區塊間隔設計為10分鍾,是在更快速的交易確認和更低的分叉概率間作出的妥協。更短的區塊產生間隔會讓交易清算更快地完成,也會導致更加頻繁地區塊鏈分叉。與之相對地,更長的間隔會減少分叉數量,卻會導致更長的清算時間。

❾ 如何挖比特幣

1、首先連接好網線,把網線插進礦機的網線介面,記得插緊一點哦。只有連接上網線礦機才能挖礦,寬頻沒有限制。

(9)比特幣挖礦確認流程擴展閱讀

用戶可以買到比特幣,同時還可以使用計算機依照演算法進行大量的運算來「開采」比特幣。在用戶「開采」比特幣時,需要用電腦搜尋64位的數字就行,然後通過反復解謎密與其他淘金者相互競爭,為比特幣網路提供所需的數字,如果用戶的電腦成功地創造出一組數字,那麼就將會獲得25個比特幣。

由於比特幣系統採用了分散化編程,所以在每10分鍾內只能獲得25個比特幣,而到2140年,流通的比特幣上限將會達到2100萬。換句話說,比特幣系統是能夠實現自給自足的,通過編碼來抵禦通脹,並防止他人對這些代碼進行破壞。

❿ 比特幣是怎麼產生的

比特幣是一種P2P形式的虛擬的加密的數字貨幣,它並不依靠特定的貨幣機構發行。比特幣於2009年1月3日正式誕生,最初是由中本聰在2008年11月1日首次提出的。它是依據特定的演算法,通過大量復雜的計算所產生的。比特幣誕生之後遭到了很多人的不認可,但是發展到今天,比特幣已經成為了全球投資市場上最熱的點之一。
拓展資料:一.挖礦比特幣的基本流程:
1.買一張像樣的GPU卡,注冊一個比特幣錢包,然後下載一個免費的挖礦應用。
2.選擇一個比特幣礦池注冊並建立賬戶。
3.選擇一個交易平台進行注冊,並將挖出的比特幣暫時存儲在這里。
4.挖出比特幣後,通過平台導入國內網站,將想要出售的比特幣掛在網站上或留待升值。
操作環境:UC瀏覽器13.6版本
二.比特幣的價值,意思及原理
1.價值:(1)比特幣是一種數字虛擬貨幣,它的數量有限的,但是可以兌換大多數國家的貨幣,這是比特幣目前的最大價值。(2)可以用比特幣進行充值和購買游戲中的設備,在虛擬世界中,比特幣的價值是高於真實貨幣。
2.含義:(1)比特幣設計者的初衷是建立一個自由、沒有中心中心但是卻有秩序的貨幣兌換世界。比特幣的出現實現了設計者的這一最初想法。(2)比特幣的計算時間是無限的,而人的生命是有限的,這在一定程度上維持了比特幣長期而永恆的發展。(3)系統的加密技術保證了比特幣的安全性,而且使用和包裝也很好。
3.原理:與真正的貨幣不同,比特幣不是由特定的貨幣機構發行的。它是由基於特定演算法的大量計算產生的。就其本質而言,比特幣是由一些復雜演算法生成的特殊解決方案。每個特解都是方程的唯一解,一旦解出來,你就擁有了這種特殊的貨幣。

熱點內容
usdt承兌商條件 發布:2025-06-21 21:33:42 瀏覽:467
比特幣使用區塊鏈屬於 發布:2025-06-21 21:07:45 瀏覽:105
數字貨幣cvt最新報價非小號 發布:2025-06-21 20:59:02 瀏覽:12
以太坊產量減半時間表 發布:2025-06-21 20:12:42 瀏覽:805
支持heco鏈的usdt錢包 發布:2025-06-21 20:12:38 瀏覽:154
韭菜幣圈的缺點 發布:2025-06-21 20:00:46 瀏覽:17
幣圈怎麼防止虧錢 發布:2025-06-21 19:46:05 瀏覽:181
AE幣的礦池 發布:2025-06-21 19:41:46 瀏覽:831
區塊鏈為什麼要和幣圈結合 發布:2025-06-21 19:34:23 瀏覽:930
btc531 發布:2025-06-21 19:24:59 瀏覽:293