當前位置:首頁 » 挖礦知識 » B1挖礦

B1挖礦

發布時間: 2024-06-11 18:02:34

比特幣礦池的協議stratum

轉自: https://zhuanlan.hu.com/p/23558268
getblocktemplate協議誕生於2012年中葉,此時礦池已經出現。礦池採用getblocktemplate協議與節點客戶端交互,採用stratum協議與礦工交互,這是最典型的礦池搭建模式。

與getwork相比,getblocktemplate協議最大的不同點是:getblocktemplate協議讓礦工自行構造區塊。如此一來,節點和挖礦完全分離。對於getwork來說,區塊鏈是黑暗的,getwork對區塊鏈一無所知,他只知道修改data欄位的4個位元組。對於getblocktemplate來說,整個區塊鏈是透明的,getblocktemplate掌握區塊鏈上與挖礦有關的所有信息,包括待確認交易池,getblocktemplate可以自己選擇包含進區塊的交易。

挖礦有兩種方式,一種叫SOLO挖礦,另一種是去礦池挖礦。前文所述的在節點客戶端直接啟動CPU挖礦,以及依靠getwork+cgminer驅動顯卡直接連接節點客戶端挖礦,都是SOLO挖礦,SOLO好比自己獨資買彩票,不輕易中獎,中獎則收益全部歸自己所有。去礦池挖礦好比合買彩票,大家一起出錢,能買一堆彩票,中獎後按出資比率分配收益。理論上,礦機可以藉助getblocktemplate協議鏈接節點客戶端SOLO挖礦,但其實早已沒有礦工會那麼做,在寫這篇文章時,比特幣全網算力1600P+,而當前最先進的礦機算力10T左右,如此算來,單台礦機SOLO挖到一個塊的概率不到16萬分之一,礦工(人)投入真金白銀購買礦機、交付電費,不會做風險那麼高的投資,顯然投入礦池抱團挖礦以降低風險,獲得穩定收益更加適合。因此礦池的出現是必然,也不可消除,無論是否破壞系統的去中心化原則。

礦池的核心工作是給礦工分配任務,統計工作量並分發收益。礦池將區塊難度分成很多難度更小的任務下發給礦工計算,礦工完成一個任務後將工作量提交給礦池,叫提交一個share。假如全網區塊難度要求Hash運算結果的前70個比特位都是0,那麼礦池給礦工分配的任務可能只要求前30位是0(根據礦工算力調節),礦工完成指定難度任務後上交share,礦池再檢測在滿足前30位為0的基礎上,看看是否碰巧前70位都是0。

礦池會根據每個礦工的算力情況分配不同難度的任務,礦池是如何判斷礦工算力大小以分配合適的任務難度呢?調節思路和比特幣區塊難度一樣,礦池需要藉助礦工的share率,礦池希望給每個礦工分配的任務都足夠讓礦工運算一定時間,比如說1秒,如果礦工在一秒之內完成了幾次任務,說明礦池當前給到的難度低了,需要調高,反之。如此下來,經過一段時間調節,礦池能給礦工分配合理難度,並計算出礦工的算力。

礦池通過getblocktemplate協議與網路節點交互,以獲得區塊鏈的最新信息,通過stratum協議與礦工交互。此外,為了讓之前用getwork協議挖礦的軟體也可以連接到礦池挖礦,礦池一般也支持getwork協議,通過階層挖礦代理機制實現(Stratum mining proxy)。須知在礦池剛出現時,顯卡挖礦還是主力,getwork用起來非常方便,另外早期的FPGA礦機有些是用getwork實現的,stratum與礦池採用TCP方式通信,數據使用JSON封裝格式。

先來說一下getblocktemplate遺留下來的幾個問題:

礦工驅動:在getblocktemplate協議里,依然是由礦工主動通過HTTP方式調用RPC介面向節點申請挖礦數據,這就意味著,網路最新區塊的變動無法及時告知礦工,造成算力損失。

數據負載:如上所述,如今正常的一次getblocktemplate調用節點都會反饋回1.5M左右的數據,其中主要數據是交易列表,礦工與礦池需頻繁交互數據,顯然不能每次分配工作都要給礦工附帶那麼多信息。再者巨大的內存需求將大大影響礦機性能,增加成本。

Stratum協議徹底解決了以上問題。

Stratum協議採用主動分配任務的方式,也就是說,礦池任何時候都可以給礦工指派新任務,對於礦工來說,如果收到礦池指派的新任務,應立即無條件轉向新任務;礦工也可以主動跟礦池申請新任務。

現在最核心的問題是如何讓礦工獲得更大的搜索空間,如果參照getwork協議,僅僅給礦工可以改變nNonce和nTime欄位,則交互的數據量很少,但這點搜索空間肯定是不夠的。想增加搜索空間,只能在hashMerkleroot下功夫,如果讓礦工自己構造coinbase,那麼搜索空間的問題將迎刃而解,但代價是必要要把區塊包含的所有交易都交給礦工,礦工才能構造交易列表的Merkleroot,這對於礦工來說壓力更大,對於礦池帶寬要求也更高。

Stratum協議巧妙解決了這個問題,成功實現既可以給礦工增加足夠的搜索空間,又只需要交互很少的數據量,這也是Stratum協議最具創新的地方。

再來回顧一下區塊頭的6個欄位80位元組,這個很關鍵,nVersion,nBits,hashPrevBlock這3個欄位是固定的,nNonce,nTime這兩個欄位是礦工現在就可以改變的。增加搜索空間只能從hashMerkleroot下手,這個繞不過去。Stratum協議讓礦工自己構造coinbase交易,coinbase的scriptSig欄位有很多位元組可以讓礦工自由填充,而coinbase的改動意味著hashMerkleroot的改變。從coinbase構造hashMerkleroot無需全部交易,

如上圖所示,假如區塊將包含13筆交易,礦池先對這13筆交易進行處理,最後只要把圖中的4個黑點(Hash值)交付給礦工,同時將構造coinbase需要的信息交付給礦工,礦工就可以自己構造hashMerkleroot(圖中的綠點都是礦工自行計算獲得,兩兩合並Hash時,規定下一個黑點代表的hash值總是放在右邊)

。按照這種方式,假如區塊包含N筆交易,礦池可以濃縮成log2(N)個hash值交付給礦工,這大大降低了礦池和礦工交互的數據量。

Stratum協議嚴格規定了礦工和礦池交互的介面數據結構和交互邏輯,具體如下:

1. 礦工訂閱任務

啟動挖礦機器,使用mining.subscribe方法鏈接礦池

返回數據很重要,礦工需本地記錄,在整個挖礦過程中都用到,其中:

Extranonce1,和 Extranonce2對於挖礦很重要,增加的搜索空間就在這里,現在,我們至少有了8個位元組的搜索空間,即nNonce的4個位元組,以及 Extranonce2的4個位元組。

2. 礦池授權

在礦池注冊一個賬號 ,添加礦工,礦池允許每個賬號任意添加礦工數,並取不同名字以區分。礦工使用mining.authorize方法申請授權,只有被礦池授權的礦工才能收到礦池指派任務。

3. 礦池分配任務

以上每個欄位信息都是必不可少,其中:

有了以上信息,再加上之前拿到的Extranonce1 和Extranonce2_size,就可以挖礦了。

4. 挖礦

1) 構造coinbase交易

用到的信息包括Coinb1, Extranonce1, Extranonce2_size 以及Coinb2,構造很簡單:

為啥可以這樣,因為礦池幫礦工做了很多工作,礦池已經構建了coinbase交易,系列化後在指定位置分割成coinb1和coinb2,coinb1和coinb2包含指定信息,比如coinb1包含區塊高度,coinb2包含了礦工的收益地址和收益額等信息,但是這些信息對於礦工來說無關緊要,礦工挖礦的地方只是Extranonce2 的4個位元組。另外Extranonce1是礦池寫入區塊的指定信息,一般來說,每個礦池會寫入自己礦池的信息,比如礦池名字或者域名,我們就是根據這個信息統計每個礦池在全網的算力比重。

2) 構建Merkleroot

利用coinbase和merkle_branch,按照上圖方式構造hashMerkleroot欄位。

3) 構建區塊頭

填充餘下的5個欄位,現在,礦池可以在nNonce和Extranonce2 里搜索進行挖礦,如果嫌搜索空間還不夠,只要增加Extranonce2_size為多幾個位元組就可輕而易舉解決。

5. 礦工提交工作量

當礦工找到一個符合難度的shares時,提交給礦池,提交的信息量很少,都是必不可少的欄位:

礦池拿到以上5個欄位後,首先根據任務號ID找出之前分配任務前存儲的信息(主要是構建的coinbase交易以及包含的交易列表等),然後重構區塊,再驗證shares難度,對於符合難度要求的shares,再檢測是否符合全網難度。

6. 礦池給礦工調節難度

礦池記錄每個礦工的難度,並根據shares率不斷調節以指定合適難度。礦池可以隨時通過mining.set_difficulty方法給礦工發消息另其改變難度。

如上,Stratum協議核心理念基本解析清楚,在getblocktemplate協議和Stratum協議的配合下,礦池終於可以大聲的對礦工說,讓算力來的更猛烈些吧。

⑵ 虛擬地球DDC是怎麼挖礦的

DDC是虛擬地球生態下的虛擬數字資產,它的產生過程與用戶注冊、登錄DAPP後提供完整的個人信息、參與挖寶速度、持有DDC的數量,分享後朋友注冊數量,以及參與虛擬地球建設等都有較強關聯,用戶必須通過以上方式獲得。DDC在虛擬地球生態系統中,將成為用戶參與虛擬地球建設的交換媒介,保證用戶的權益和義務對等;隨著應用市場規模的提升,DDC具有有廣闊的市場前景;但隨著挖寶難度的增加,用戶的增長,越早參與的用戶獲DDC越多。
挖礦:http://app.dreamworld.io/download.html?invitecode=V3B1ZJ
前1萬名注冊用戶,獲得虛擬地球創世居民身份,達到1萬名創世居民名額後,自動停止授予並推送新系統級公告。
您的專屬邀請碼 V3B1ZJ(不然算力減少)
這個幣已經上了平台了,價格一毛多。

⑶ 原神水晶礦分布圖水晶快速獲取攻略


原神中,水晶作用很大,那麼游戲中水晶礦點分布在哪裡,該怎麼採集,下面一起來看看吧。快速跑圖小技巧:利用shift連續沖刺,可以使角色沖刺兩次,但只會消耗一次體力,大大加快移動速度,低體力時會自動停止奔跑,高體耐沒友力就需要松開W行走(松開過早會頓足),然後兩次沖刺循環。Q:為什麼要挖礦?A:武器強化到滿級(1-90)需要9064450武器狗糧,每天能打造30個魔礦(消耗120個水晶),也就是30w經驗,也就是說每天打造滿。30天才能強化滿武器。每天派遣能獲得3x7-8(21-24),也就是說每天都要保證99個水晶的採集。Q:為什麼要多人組隊挖礦?A:提瓦特總共有164個水晶礦點,採集之後需要72小時(3天)才能刷新,一個人只刷自己的礦是絕對不夠的,也不劃算。但是,進入別人世界,多人游戲中在一定距離內,擊碎礦物,每個人都能獲得礦物掉落。(但是石珀不能,不清楚算不算bug)所以如果想要收益最大化,應該和2到3個好友組成挖礦小隊,每天挖礦,圖中推薦的路線能夠採集到150個礦點,可以根據自己情況制定相應計劃。其中會遇到不少怪物營地,怪物的戰利品掉落也是共享的,所以也有鋤大地+挖礦的玩法(但是除了丘丘人的面具意外,每個玩家缺的材料都不盡相同),這里也不做贅述。路線推薦
蒙德區域
風龍廢墟A(11)+B(11)...
A線路:在第二根柱子爬到平台到達A1(1);直線沖刺到A2(1);跳下平台;背後崖腳A3(1);直線沖刺,路過察陵丘丘人營地爬上平台到達A4(1);直線沖刺到A5(1);朝A6(2)沖刺滑翔到達平台;折返滑到A7(1);依次沖刺到A8(1)、A9(1)、A10(1)B線路:從七天神像傳送,滑翔到西北方平台;從平台滑翔到B1(1);跳下平台,背後崖腳B2(1);沖刺到B3(1);爬上平台B4(1);依次沖刺到B5(1)、B6(1)、B8(1);穿過柵欄,左邊峭壁拐角深處B9(1);沖刺到平台B10(1)、B11(1)奔狼領北部、明冠峽A(3)+散礦(1)...
從南邊傳送點沖刺到A1(1);掉頭沖刺到丘丘人營地A2(1);無視丘丘人沖刺到A3(1)從北邊傳送點沖刺到懸崖邊,跳下散礦(1)奔狼領南部A(5)+西邊丘丘人營地散礦(1)...
從七天神像沖刺、滑翔到A1(1)、A2(1),向A3(2)沖刺,會看到一個獨木橋走上去,在跳上平台採集水晶;跳到對面平台再越過丘丘人營地,沿著小徑走到A4(1)轉頭即可從北風狼下傳送點直接沖刺到峽谷,穿過丘丘人篝火,小樹苗之後散礦(1)銘記之谷A(4)...
爬到[銘記之谷]上方的懸崖,朝東方直行,跳下小坑A(4)望風山地、望風角A(3)+B(2)...
沖刺到A1(2);跳下平台,滑翔後沖刺到A2(1)沖刺翻過石階到B1(1);沖刺滑翔到B2(1)風龍北部散礦(3)...
從風龍廢墟的A路線末尾,爬上破敗城堡的平台,直接朝兩座城牆之間前進散礦1(2)北邊傳送點直線前進,土坡和崖腳的夾縫間散礦2(1)達達烏帕谷散礦(1)...
從[南風之獅的廟宇]爬到北邊的懸崖,沿著懸崖邊向下看,到目標位置即可(1)璃月北
輕策庄A(6)...
爬山、沖刺到大石頭旁A1(2),越過盜寶團到達瀑布A2(4)華池岩岫、絕雲間北邊山地A(2)+B(3)+散礦(2)...
從[華池岩岫]出發直接向東北方滑翔,越過峭壁到A(2)位置,直接下降從傳送點出發,穿過丘丘人營地,即可看到兩塊岩石中間的B1(2),轉頭滑翔昌槐穿過盜寶團到達銀杏樹的小徑,巨岩的夾縫B2(1)挑戰點背後的石頭散礦1(1)道路旁裸岩的背後散礦2(1)奧藏山A(8)+B(3)+散礦(2)...
從傳送點出發,滑翔到A(8)位置,直接下落即可從傳送點向上爬,到達山頂B1(1),依次滑翔到B2(1)B3(1)附近山頭的山頂散礦(2)慶雲頂、絕雲間A(13)+B(7)+C(8)...
(游戲中地圖截圖是中間亮四周暗的變化,作者圖省事直接拼接了)A路線:從上方的傳送錨點滑翔到迎客松下面A1(1);向北滑翔到草地,松樹旁A2(1);往浮生石方向(站在上面可以觸發其他浮生石)滑翔A3(1);向東南方滑翔到凸起的岩石A4(1);跳下一層A5(1);爬上一層,崖壁中間A6(1);繞過石柱(會遇到岩史萊姆擋路),崖腳A7(1);繞到山的另一面A8(1);路過狂風之核,到達A9(1);沿著草地沖刺爬上A10(1)、A11(1);向北滑翔到山頭A13(1);折返跳下峽谷A13(1)B路線:從上方傳送錨點出發,掉頭向東滑翔到B1(4),建議先從北面的礦挖,不容易遺漏;向東南滑翔到歪脖子銀杏樹下B2(1);折返到涼亭背後B3(1);滑翔到山的北面B4(1)C路線:直接從七天神像跳下C1(1);往南沖刺下山C2(1);到達兩個巨石中間C3(1);向西滑翔到有銀杏樹的草地;在死角C4(1);繼續滑翔,兩只丘丘人附近C5(2),滑翔對岸沖刺到峭壁旁C6(1),掉頭往傳送點正北飛,視角往後看,在伸出的黃色楓樹灌木中間隱藏C7(1)C7
天遒谷、南天門A(5)+散礦1(1)+散礦2(1)...
向東沖刺爬上山地,天坑靠里A1(2),向西北沖刺到A2(1),在最突出的石塊跳下即可;同樣的在A3(2)位置跳下即可。向挑戰點爬上平台,從挑戰點對著懸崖爬散礦1(1)從天遒谷南方的傳送點沿著山腳邊緣沖刺散礦2(2)翠_坡A(4)+B(6)...
A路線:大銀杏樹後A1(1);穿過丘丘人薩滿的篝火,在挑戰點的平台往後看A2(2);跑到石塊上A3(1);沖刺穿過丘丘岩盔王,跳下滑翔到對面山的崖腳A4(1)B路線:大銀杏樹後,歪脖子銀杏樹的地方有天坑B(3),穿過丘丘人鎮守的出口,向淥華池方向沖刺,跳下懸崖,正下方B(3)荻花洲到絕雲間的海灘散礦(1)...
從傳送點向A沖刺,跳下小坡,石洞中散礦(1)璃月南
靈矩關北部遺跡、遁玉陵南礦洞A(10)+B(4)...
從七天神像出發,爬上殘垣,滑翔,轉頭飛入礦洞A1(6),藉助丘丘人的梯子爬出礦洞,滑翔到A2(4)從傳送點滑翔到天坑B(4)上方(有一個射氣球的寶箱),出口處丘丘人旁邊也有一塊,很容易漏掉靈矩關下游A(11)...
從傳送點滑翔,裸露的岩石A1(3);向南沖刺,越過岩盾丘丘暴徒,達到礦洞入口,債務處理人旁A2(2);從另一側出口出發,從山腳繞過丘丘人營地(地圖上的棕紅色部分),到達[曲徑通幽之處]下方的礦洞A3(3),需要快速擊殺冰深淵法師;從入口爬出滑翔到A4(3)有火深淵法師,但不影響采礦。天衡山A(6)...
兩處崖腳A1(3)、A2(3)孤雲閣A(3)+B(12)...
巨岩後A1(3)巨岩前、破船後B1(2);山腳B2(2);裸岩B3(1);南方小島B4(7)正面(2)、側面(2)、背面(2)、後面裸岩(1)青墟浦散礦(1)...
從南方的傳送點直線滑翔,進到最中心的地點,圖中位置前面是一塊巨石,打破之後會裡面有夜泊石和散礦(1)

⑷ 對於初次接觸礦機的,挖礦人怎麼去配置屬於自己的礦機呢不要太坑,還是實際點講。

如今各位挖礦的電腦愛好者沒有不知道的。想要在網上獲得高效並且快速的資源,那就需要挖礦,不過挖礦可是高端技術活,考驗的是電腦的CPU與GPU性能,如今的核心顯卡配置根本挖不動。對於喜歡挖礦的用戶來說,選擇一款專業級挖礦機配置就很重要了,

詳情如下:
礦機是需要一個好顯卡和充足的內存的,所以,在組裝之前一定要選擇好的顯卡和CPU,以太幣的發掘過程其實就是一個計算的過程,這樣的計算是非常耗電的,而且也是非常耗能的,尤其是對於顯卡的要求極高,配置越高的礦機所獲得的以太幣越多,獲得的利潤高也就越來越高。

組裝礦機需要注意兩點,1.PCIE插槽越多可連接的顯卡就越多,單個礦機的算力就越大。2.電源功率越大能帶動的顯卡越多。所以大家在選擇配置時一定要根據你的顯卡的數量與功率來選擇相應功率的電源,否則很有可能出現因為電源功率過低而導致顯卡算力不足甚至不工作的情況。

綜上所述,對於想要挖礦的投資者來說,最好還是去專業的網站購買至少一台礦機,而且要配置高的礦機,主要是看礦機的顯卡和CPU,這兩項是決定礦機工作效率的主要因素,所以,在挖礦之前一定要弄清楚這些事項。
配件名稱 品牌型號 參考價格(元)
處理器:Intel酷睿i7-4770k Haswell全新架構盒裝CPU ¥2369
散熱器:盒裝自帶
主板:技嘉Z87-HD3主板 (Intel Z87/LGA 1150) ¥899
顯卡:HIS R9 280X 冰酷版Boost ¥1799
內存:金士頓駭客神條 Blu系列 DDR3 1600 8GB 台式機內存(KHX1600C10D3B1/8G) ¥499
硬碟:西部數據藍盤 1TB SATA6Gb/s 7200轉64M 台式機硬碟(WD10EZEX) ¥419
固態硬碟:浦科特M5S系列 128G 2.5英寸 SATA-3固態硬碟(PX-128M5S) ¥699
機箱:游戲悍將 刀鋒1豪華JD雪裝 中塔機箱 (U3/SSD/風扇調速器/頂部易插拔/雙風扇) ¥239
電源:航嘉jumper500 電源(額定500W/80plus白牌/主動PFC/全電壓/智能溫控/背部走線) ¥299

處理器方面,i74770K處理器可以說是目前Inel最新四代Haswell平台最頂級的一款旗艦產品,性能上自然定位於新頂級高端。該處理器基於更新一代的22mm工藝,最新的LGA1150處理器插槽,基於四核八線程,默認主頻為3.5Ghz,並且還可以睿頻至4Ghz以上,加之還有8M三級緩存,支持自由超頻等特性,整體性能強勁,運算表現極強,可以很好地滿足比特幣挖礦需求。

主板方面,四代新Haswell系列處理器需要搭載8系列主板,鑒於我們已經選擇了性能極強的旗艦級超頻處理器,因此主板非Z87高端可超頻主板莫屬了。技嘉Z87-HD3主板是一款一線技嘉主板品牌高規主板,全高清支持4K超高解析度,是一款做工扎實,超耐久4PLUS主板,保證電腦可以長期穩定運行,這對於掛機挖礦的朋友來說,非常有必要。

顯卡方面,HIS R9 280X 冰酷版Boost顯卡基於AMD最新一代顯卡技術,採用最新28nm工藝,基於R9-280X核心。R9-280X其實就是HD7970GE的改進版,而HD7970GE屬於曾經的頂級產品,在性能方面基本無可挑剔。

事實上,HIS R9 280X 冰酷版Boost顯卡默認主頻達到了850Mhz/6000Mhz,具備3GB超大容量GDR5高速顯存,並且顯卡位寬達到了384bite,是時下相當頂級顯卡,在性能表現行極強,另外字散熱上採用,IceQ X冰立方上其中一款最安靜的散熱器。獨特先進的設計,比公版散熱器更靜,目前多數R9 280X頂級高端顯卡售價在2000元以上,而這款國際知名品牌HIS R9 280X 冰酷版顯卡售價僅1799元,性價比超高。
編後語:以上推薦了一台比特幣挖礦機,比特幣挖礦電腦配置是什麼?可以參考這個組合的相關配置。這套新一代比特幣挖礦機配置採用了Intel最細四代Haswell最頂級旗艦CPU平台,結合了AMD最最新一代高端獨立顯卡,實踐證明A卡在挖礦上表現要比N卡優秀不少,加之屬於新一代N卡,組建的挖光機表現會更為出眾,除此之外,本套配置還選用了HDD+SDD雙硬碟、23英寸大屏高清顯示器,保證了整機無任何硬體瓶頸,大型游戲、比特幣挖礦也均為游刃有餘,由於基本高性價比方面搭配新硬體,整機配置價位也僅8000元出頭,性能並不比曾經那套1.6萬頂級挖礦機配置差,顯然更值得推薦。

當然論配置其實官方的並沒有過多的介紹也沒有去推薦哪些類型但是根據雲立方網的經驗來總結的,具體有什麼需求可以登錄官網查看詳情哦。

⑸ 挖礦難度表示

比特幣的挖礦難度可以使用Target Threshold,nBits或Difficulty表示,它們互相等價:

這三個值的轉化關系可以採用下面的實例來說明:

首先獲取哈希值為 的區塊原生十六進制信息如下:

區塊中nBits採用小端格式表示,解析區塊信息,得到nBits欄位值為0x4c86041b。因此轉化為大端格式為0x1B04864C,這個值是Target Threshold的壓縮格式表示,可以將它轉化成256位的Target Threshold值:

開頭的一個位元組為指數,後面三個位元組為系數,則:

計算出Target Threshold值為 。

再計算Difficulty的值,它有兩個值,計算公式分別為:

由此可以使用 Python 計算出bdiff的值:

因此,得到在比特幣客戶端中的difficulty值bdiff為14484.162361225399。

為了檢驗上述結果,可以在比特幣核心客戶端中使用 getblock "" 命令得到該區塊的json格式信息:

最終,可以發現該區塊的bits和difficulty欄位信息與上面分析計算的相關結果一致。

nBits的大端格式表示法中,其系數最大為0x7fffff,這是因為Target Threshold數據類型是無符號整型,而它繼承自有符號數據類,則在實際中Target Threshold系數的最高位有可能是1,這可能會被解析成一個負數。則在挖礦過程中難度值永遠無法小於一個負數。因此,為了解決這個問題,比特幣核心在生成nBits值時需要首先檢查一下生成的nBits是否會被解析為一個負數。如果是,首先在系數開頭補8位0,即除以256,然後指數再加上1。這樣由nBits轉化為Target Threshold過程中轉化公式就與普通值相同了,即指數位都是減去3,轉化過程上面已經提到。

舉個例子說明:

哈希值為 的區塊信息如下:

發現bdiff值為1,則利用bdiff與Target Threshold關系可以計算出:

將Target Threshold值 轉化為nBits的過程中可以發現其系數為0xffff00,指數為0x1c,這樣:

然而由於系數最高位為1,則如果這樣表示的話就可能將Target Threshold解析為負數。因此,我們將系數除以256,指數加上1,得到系數為0x00ffff,指數為0x1d。這樣:

最終,nBits值為0x1d00ffff(大端表示),與json格式信息一致。

⑹ 有個挖礦是一層一層的游戲

有個挖礦是一層一層的游戲如下:

1.礦業大亨

你是一個偉大的礦業巨頭。這里有很多礦工需要你管理編曲,挑戰不同關卡解鎖更多建築裝飾道具。另外,工人可以通過金幣和經驗升級。

2.采礦的傳奇

加入了元素的挖掘型手游,每一關都需要玩家不斷探索,收集每一關的金幣和鑽石。不過大家收集問題很重要,別忘了突然有搗亂的。

3.「采礦小能手」

在游戲中,你有自己的礦機,你可以在每個隱藏的底部挖出不同的寶藏。隨著寶物的增加,關卡的難度會越來越大,每次操作都很減壓。

4.「一起挖掘寶藏」

來到這個游戲,你可以遇到很多動漫英雄。每個英雄的屬性和技能都不一樣。你可以選擇你喜歡的英雄來幫助你挖掘寶藏,通過收集不同的寶藏來改善你的生活。

5.「我去太空是為了采礦和還債」

這款挖礦游戲融入了很多新元素在裡面,而且非常簡單易操作。即使是新手小白也能在幾秒鍾內輕松挑戰成功。特別的漫畫風格給了玩家更加精緻的視覺體驗。https://android-imgs.25pp.com/fs08/2022/09/21/8/.jpg?x-oss-process=image/watermark,image_=,x_40,y_30,t_75


⑺ 區塊鏈入門的教程


可是,簡單易懂的入門文章卻很少。區塊鏈到底是什麼,有何特別之處,很少有解釋。
下面,我就來嘗試,寫一篇最好懂的區塊鏈教程。畢竟它也不是很難的東西,核心概念非常簡單,幾句話就能說清楚。我希望讀完本文,你不僅可以理解區塊鏈,還會明白什麼是挖礦、為什麼挖礦越來越難等問題。
需要說明的是,我並非這方面的專家。雖然很早就關注,但是仔細地了解區塊鏈,還是從今年初開始。文中的錯誤和不準確的地方,歡迎大家指正。
一、區塊鏈的本質
區塊鏈是什麼?一句話,它是一種特殊的分布式資料庫。
首先,區塊鏈的主要作用是儲存信息。任何需要保存的信息,都可以寫入區塊鏈,也可以從裡面讀取,所以它是資料庫。
其次,任何人都可以架設伺服器,加入區塊鏈網路,成為一個節點。區塊鏈的世界裡面,沒有中心節點,每個節點都是平等的,都保存著整個資料庫。你可以向任何一個節點,寫入/讀取數據,因為所有節點最後都會同步,保證區塊鏈一致。
二、區塊鏈的最大特點
分布式資料庫並非新發明,市場上早有此類產品。但是,區塊鏈有一個革命性特點。
區塊鏈沒有管理員,它是徹底無中心的。其他的資料庫都有管理員,但是區塊鏈沒有。如果有人想對區塊鏈添加審核,也實現不了,因為它的設計目標就是防止出現居於中心地位的管理當局。
正是因為嫌敗無法管理,區塊鏈才能做到無法被控制。否則一旦大公司大集團控制了管理權,他們就會控制整個平台,其他使用者就都必須聽命於他們了。
但是,沒有了管理員,人人都可以往裡面寫入數據,怎麼才能保證數據是可信的呢?被壞人改了怎麼辦?請接著往下讀,這就是區塊鏈奇妙的地方。
三、區塊
區塊鏈由一個個區塊(block)組成。區塊很像資料庫的記錄,每次寫入數據,就是創建一個區塊。
每個區塊包含兩個部分。
區塊頭(Head):記錄當前區塊的特徵值
區塊體(Body):實際數據
區塊頭包含了當前區塊的多項特徵值。
生成時間
實際數據(即區塊體)的哈希
上一個區塊的哈希
...
這里,你需要理解什麼叫哈希(hash),這是理解區塊鏈必需的。
所謂哈希就是計算機可以對任意內容,計算出一個長度相同的特徵值。區塊鏈的 哈希長度是256位,這就是說,不管原始內容是什麼,最後都會計算出一個256位的二進制數字。而且可以保證,只要原始內容不同,對應的哈希一定是不同的。
舉例來說,字元串123的哈希是(十六進制),轉成二進制就是256位,而且只有123能得到這個哈希。(理論上,其他字元串也有可能得到這個哈希,但是概率極低,可以近似認為不可能發生。)
因此,就有兩個重要的推論。
推論1:每個區塊的哈希都是不一樣的,可以通過哈希標識區塊。
推論2:如果區塊的內容變了,它的哈希一定會改變。
四、 Hash 的不可修改性
區塊與哈希是一一對應的,每個區塊的哈希都是針對區塊頭(Head)計算的。也就是說,把區塊頭的各項特徵值,按照順序連接在一起,組成一個很長的字元串,再對這個字元串計算哈希。
Hash = SHA256( 區塊頭 )
上面就是區塊哈希的計算公式,SHA256是區塊鏈的哈希演算法。注意,這個公式裡面只包含區塊頭,不包含區塊體,也就是說,哈希由區塊頭唯一決定,
前面說過,區塊頭包含很多內容,其中有當前區塊體的哈希,還有上一個區塊的哈希。這意味著,如果當前區塊體的內容變了,或者上一個區塊的哈希變了,一定會引起當前區塊的哈希改彎首變。
這一點對區塊鏈有重大意義。如果有人修改了一個區塊,該區塊的哈希就變了。為了讓後面的區塊還能連到它(因為下一個區塊包含上一個區塊的哈希),該人必須依次修改後面所有的區塊,否則被改掉的區塊就脫離區塊鏈了。由於後面要提到的原因,哈希的計算很耗時,短時間內修改多個區塊幾乎不可能發生,除非有人掌握了全網51%以上的計算能力。
正是通過這種聯動機制,區塊鏈保證了自身的可靠性,數據一旦寫入,就無法被篡改。這就像歷史一樣,發生了就是發生了,從此再無法改變。
每個區塊都連著上一個區塊,這也是區塊鏈這個名字的由來。
五、采礦
由於必須保證節點之間的同步,所以新區塊的添加速度芹鬧顫不能太快。試想一下,你剛剛同步了一個區塊,准備基於它生成下一個區塊,但這時別的節點又有新區塊生成,你不得不放棄做了一半的計算,再次去同步。因為每個區塊的後面,只能跟著一個區塊,你永遠只能在最新區塊的後面,生成下一個區塊。所以,你別無選擇,一聽到信號,就必須立刻同步。
所以,區塊鏈的發明者中本聰(這是假名,真實身份至今未知)故意讓添加新區塊,變得很困難。他的設計是,平均每10分鍾,全網才能生成一個新區塊,一小時也就六個。
這種產出速度不是通過命令達成的,而是故意設置了海量的計算。也就是說,只有通過極其大量的計算,才能得到當前區塊的有效哈希,從而把新區塊添加到區塊鏈。由於計算量太大,所以快不起來。
這個過程就叫做采礦(mining),因為計算有效哈希的難度,好比在全世界的沙子裡面,找到一粒符合條件的沙子。計算哈希的機器就叫做礦機,操作礦機的人就叫做礦工。
六、難度系數
讀到這里,你可能會有一個疑問,人們都說采礦很難,可是采礦不就是用計算機算出一個哈希嗎,這正是計算機的強項啊,怎麼會變得很難,遲遲算不出來呢?
原來不是任意一個哈希都可以,只有滿足條件的哈希才會被區塊鏈接受。這個條件特別苛刻,使得絕大部分哈希都不滿足要求,必須重算。
原來,區塊頭包含一個難度系數(difficulty),這個值決定了計算哈希的難度。舉例來說,第100000個區塊的難度系數是 14484.16236122。
區塊鏈協議規定,使用一個常量除以難度系數,可以得到目標值(target)。顯然,難度系數越大,目標值就越小。
哈希的有效性跟目標值密切相關,只有小於目標值的哈希才是有效的,否則哈希無效,必須重算。由於目標值非常小,哈希小於該值的機會極其渺茫,可能計算10億次,才算中一次。這就是采礦如此之慢的根本原因。
前面說過,當前區塊的哈希由區塊頭唯一決定。如果要對同一個區塊反復計算哈希,就意味著,區塊頭必須不停地變化,否則不可能算出不一樣的哈希。區塊頭裡面所有的特徵值都是固定的,為了讓區塊頭產生變化,中本聰故意增加了一個隨機項,叫做 Nonce。
Nonce 是一個隨機值,礦工的作用其實就是猜出 Nonce 的值,使得區塊頭的哈希可以小於目標值,從而能夠寫入區塊鏈。Nonce 是非常難猜的,目前只能通過窮舉法一個個試錯。根據協議,Nonce 是一個32位的二進制值,即最大可以到21.47億。第 100000 個區塊的 Nonce 值是274148111,可以理解成,礦工從0開始,一直計算了 2.74 億次,才得到了一個有效的 Nonce 值,使得算出的哈希能夠滿足條件。
運氣好的話,也許一會就找到了 Nonce。運氣不好的話,可能算完了21.47億次,都沒有發現 Nonce,即當前區塊體不可能算出滿足條件的哈希。這時,協議允許礦工改變區塊體,開始新的計算。
七、難度系數的動態調節
正如上一節所說,采礦具有隨機性,沒法保證正好十分鍾產出一個區塊,有時一分鍾就算出來了,有時幾個小時可能也沒結果。總體來看,隨著硬體設備的提升,以及礦機的數量增長,計算速度一定會越來越快。
為了將產出速率恆定在十分鍾,中本聰還設計了難度系數的動態調節機制。他規定,難度系數每兩周(2016個區塊)調整一次。如果這兩周裡面,區塊的平均生成速度是9分鍾,就意味著比法定速度快了10%,因此接下來的難度系數就要調高10%;如果平均生成速度是11分鍾,就意味著比法定速度慢了10%,因此接下來的難度系數就要調低10%。
難度系數越調越高(目標值越來越小),導致了采礦越來越難。
八、區塊鏈的分叉
即使區塊鏈是可靠的,現在還有一個問題沒有解決:如果兩個人同時向區塊鏈寫入數據,也就是說,同時有兩個區塊加入,因為它們都連著前一個區塊,就形成了分叉。這時應該採納哪一個區塊呢?
現在的規則是,新節點總是採用最長的那條區塊鏈。如果區塊鏈有分叉,將看哪個分支在分叉點後面,先達到6個新區塊(稱為六次確認)。按照10分鍾一個區塊計算,一小時就可以確認。
由於新區塊的生成速度由計算能力決定,所以這條規則就是說,擁有大多數計算能力的那條分支,就是正宗的區塊鏈。
九、總結
區塊鏈作為無人管理的分布式資料庫,從2009年開始已經運行了8年,沒有出現大的問題。這證明它是可行的。
但是,為了保證數據的可靠性,區塊鏈也有自己的代價。一是效率,數據寫入區塊鏈,最少要等待十分鍾,所有節點都同步數據,則需要更多的時間;二是能耗,區塊的生成需要礦工進行無數無意義的計算,這是非常耗費能源的。
因此,區塊鏈的適用場景,其實非常有限。
不存在所有成員都信任的管理當局
寫入的數據不要求實時使用
挖礦的收益能夠彌補本身的成本
如果無法滿足上述的條件,那麼傳統的資料庫是更好的解決方案。
目前,區塊鏈最大的應用場景(可能也是唯一的應用場景),就是以比特幣為代表的加密貨幣。

熱點內容
以太坊幣圈信息預測 發布:2024-11-17 23:13:49 瀏覽:291
最新手機挖礦軟體下載 發布:2024-11-17 23:04:22 瀏覽:512
禁比特幣平台 發布:2024-11-17 22:31:16 瀏覽:286
區塊鏈pdf新浪博客 發布:2024-11-17 22:27:48 瀏覽:531
eth要轉成pos還要等6年 發布:2024-11-17 22:21:49 瀏覽:960
重啟linuxeth0 發布:2024-11-17 22:09:55 瀏覽:975
usdt的trc20是什麼 發布:2024-11-17 21:49:18 瀏覽:564
shib幣首發在哪個平台 發布:2024-11-17 21:28:28 瀏覽:664
比特幣工資演算法 發布:2024-11-17 21:19:48 瀏覽:836
挖礦原理效益 發布:2024-11-17 21:12:20 瀏覽:959