礦工管家偷下級賬號算力
主要還要歸功於51%攻擊,因為在之前全球一些知名的礦池由於費率低、使用方便很多礦工都去那些大的礦池挖礦,導,礦池的算力暴漲,多次接近甚至超過全球51%的算力。
比特幣社區也多次掀起了關於51%攻擊的大討論,。礦池運營商也以負責的態度號召礦工轉移到其它的礦池,最終51%的攻擊獲得解決。中國的礦工有許多都轉移到了魚池。
新的礦工由於對全球礦池的不了解,也大多都加入了魚池,之前也有許多礦池由於經營不善死去。
B. AIMiner挖礦軟體是免抽水的嗎
這么給你說吧,說免抽水的都是耍流氓!天上沒有掉餡餅的好事。開發一款挖礦軟體需要很多的時間精力財力物力,然後說免費給你用,並且不要一點好處,你信嗎?很多軟體打著免抽水的口號,其實抽水比誰也不低!比如長沙礦工!有的檢測確實免抽水,但是偷算力啊,算下來利潤比抽水還要高!所以,有說免抽水的挖礦軟體,果斷放棄吧!
C. 怎麼樣防止運維偷算力呢
選擇互信,認可你相信的礦池。
官方的礦池版本有一個bug會使得惡意礦機可以通過反復提交plicateshares來偽造算力。把一台CPU礦機的算力放大了數百倍,造成數百台礦機在挖礦的假象,從而偷取了礦池收益。當然這種情況很容易被礦池發現,Ulord社區齊心協力之下,很快就封堵了漏洞。如果礦池真的要偷取礦工的算力,基本上是沒有辦法防範的。所以互信非常重要,只選擇你認可的礦池。
在信息網路時代盜竊算力,就如同在電氣時代盜竊電力,兩者都是對主流生產資料進行非法佔有的行為。然而,當下盜竊電力的行為已有了較為清晰的刑法定性,盜竊算力的行為則相比之下迷霧重重。立法上沒有對盜竊算力行為進行專門規制。
D. 新礦工選擇礦機託管需要注意些什麼為何這么說
挖幣便是虛擬貨幣誕生的全過程,根據工作量證明的機制來獲取到對整個互聯網開展奉獻,計算出區塊鏈,因為跟互聯網作出了奉獻,區域的獎賞也屬於挖幣得人,從而獲得一個新的貸幣。現階段挖幣通常是POW的優化演算法,也有根據POW還有一些衍生的優化演算法,現階段絕大部分的BTC、以太幣、以太幣這些都是基於POW的演算法的。算率越大,企業期限內獲得的虛擬貨幣概率就越大。比特幣的挖幣經歷過完整的發展歷程,從初期CPU挖幣到中後期GPU、FPG挖幣並存的時代,成了目前以ASIC挖幣規模性群集挖幣的時代。
所說「挖礦機」便是一台電腦,一台特殊計算機,把一些與挖幣無關的一部分除掉(如顯示屏),與此同時提升能增加挖幣效率的系統配置,那樣「挖礦機」就產生了。實際上家用台式電腦是完全可以挖幣的,無論是BTC還ETH,只不過是沒法跟專業的挖礦機市場競爭,基本上挖不上幣罷了。目前市面上的IPFS挖礦機安專業程度區劃,一般可劃分為家用版,和標准版(或稱商業版、代管版、伺服器版)。在其中家中款身型比較小,合適家中挖幣。標准版一般都是伺服器標准規格型號,能夠代管在IDC機房。
E. 比特幣礦機如何解除已經綁定的礦工
1、去f2pool注冊賬號,礦工界面有挖礦地址和礦工名。
2、登陸礦機(阿瓦隆、烤貓、螞蟻、不同品牌型號的礦機的IP地址都不同,找到型號去網上搜),配置界面刪除老礦池,填入新的挖礦地址和礦工名。
3、登陸f2pool礦工界面,觀察算力大小,如果沒有算力,檢查第二個步驟填寫對沒有(一定要把以前的刪掉,否則你就是在給別人打工)
F. 比特幣礦池的協議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協議的配合下,礦池終於可以大聲的對礦工說,讓算力來的更猛烈些吧。
G. 中本聰為啥有的賬號算力卡沒有呢
沒有領取。根據查看中本聰官網得知,算力卡每天只有五張,別的賬號沒有是因為沒有領取,需要到自己的賬戶中心,進行手動領取,算力卡每天自動生成1張,最多5張,算力卡互換相同礦工之間只允許互換一次。中本聰此人是比特幣協議及其相關軟體BitcoinQt的創造者。
H. 為什麼求兩個函數的交點可以轉化為求他們所構造的新函數的零點
兩個函數的交點,其中的引申含義就是這兩個函數在某一點的X值和Y值是相同的,也就是說在某個X值下對應著相同的Y值,所以為了得到相同的值。我們可以讓這兩個函數的表達式(也就是Y值相等)也就是他們的差值等於0,求出此時的X值,同理,你也可以寫出Y來表達X的表達式,然後令兩個X值相等,也可以得到。