優化cpu挖礦
1. 挖比特幣為什麼要顯卡而不是CPU
因為需要強大的浮點運算,顯卡這點是強於CPU的
比特幣從發明誕生出來後,比特幣挖礦主要經歷了3個階段(現在的礦池是挖礦的方式,非礦機技術)
CPU→GPU→ASIC專業礦機
一、CPU挖礦
說起CPU挖礦,誰是第一個呢?前面文章也說了,就是比特幣的發明者中本聰(無明確的證據,按邏輯應該是正確的)。
CPU挖礦是第一代的挖礦。2009年1月3日,比特幣創始人中本聰用電腦CPU挖出了第一批比特幣,挖出了第一個創始區塊,區塊里包含50個比特幣。
隨後一些極客、程序員、游戲挖機紛紛加入CPU挖礦,但當時的CPU挖礦,僅僅是一種嘗試和好玩,並沒有現在的商業化。
二、GPU挖礦
GPU(圖形處理單元,即顯卡)挖礦是第二代的挖礦。
從CPU換到GPU挖礦,是因為CPU中央處理器是通用性計算單元,裡面設計了計算機很多的分析處理需求,其綜合能力強但單項能力較弱,而比特幣的SHA256 hash運算,是非常單一的無腦重復計算,而且CPU的並行運算能力不強,後來,有人發現GPU的高吞吐率和高並行處理能力,其運算效率比CPU高10倍以上,並且GPU可以超頻使用以提升性能,適用於大規模的並發運算,比如密碼破解,於是人們紛紛轉向GPU挖礦。
大家肯定都聽說過比特幣歷史上最貴的吃貨、比特幣Pizza的故事了。沒錯,這個人叫Laszlo Hanyecz,他是個程序員,他在2010年5月22日,用1萬枚比特幣購買了兩個披薩,當時這兩個披薩只值不到50美元,但是這一萬枚比特幣拿到現在值幾個億了。
大家都在說Laszlo Hanyecz肯定腸子都悔青了,但是也未必,因為Laszlo Hanyecz是第一個使用GPU挖比特幣的人,他挖到了非常多的比特幣,當時的1萬枚可能只是九牛一毛了。
圖片來源於網上
但是GPU也存在缺陷,就是原本是做圖像處理的,內置的這些硬體非常好電,散熱也是個問題。
三、ASIC專業礦機挖礦
ASIC專業礦機是屬於第三代的挖礦。
ASIC是Application Specific Integrated Circuit的縮寫,是一種專門為某種特定用途設計的電子電路(晶元)。用於挖礦的晶元,就是礦機ASIC晶元了。因為被設計為只進行某一挖礦需要的特定演算法,所以ASIC晶元的設計可以簡單的多,成本也低的多。不過最重要的是,就挖礦算力來說,ASIC可以比同時代的CPU、GPU高出幾萬倍甚至更多。
ASIC礦機的出現,是隨著參與挖礦的人越來越多,算力不段上升,而GPU的算力也達到了極限,為了突破這個局限,就有人開始研發專門的礦機。
世界上第一台ASIC晶元的礦機是誰發明的呢?對,就是人稱「南瓜張」的張楠賡的阿瓦隆礦機。
礦機的晶元,需要非常強的研發技術實力,比如通訊領域,最強的晶元研發企業是高通、華為海思,因此礦機的晶元研發是一場高科技的競賽,最早的礦機廠商有龍礦礦機、閃電礦機、瑞典的KNC Minner,都已經從市場上消失,現在市場上最大的礦機廠商包括比特幣大陸(螞蟻礦機)、嘉楠耘智(阿瓦隆礦機)、Bitfury、Watts Miners等,
現在最火爆的礦機當屬比特大陸的螞蟻系列了,後續再詳細介紹如何挑選和購買礦機。
本文只簡單結束了比特幣礦機從CPU、GPU到ASIC的技術發展歷程,而現在的ASIC礦機尤其比特幣大陸的礦機占據了市場70%以上的算力和市場份額,被質疑為「算力霸權」和跟「去中心化」違背,潛在的「51%」攻擊和不公平等。而現在的礦機已經是一條完整的產業鏈,無論如何發展,也是基於市場和追求利益的行為。後續繼續分析。
3. 為什麼挖礦要用gpu而不是cpu
挖礦的軟體,從編程原理上來說,講究的是大規模並行運算。
顯卡GPU的流處理器數量非常多,比如古老的HD5770內置了800個流處理器,相當於擁有800個計算核心。而近幾年的主流高端顯卡,內置的流處理器個數更多,計算性能更加的強大。利用GPU進行挖礦運算,流處理器進行的就是並行運算,並且挖礦程序還對GPU並行運算進行了專門的優化,運算效率特別高,挖出比特幣的效率獲得了大大的提升。
CPU的核心是比較少,目前最牛逼的主流桌面級處理器核心數也不超過一二十個(很多還是超線程技術虛擬出來的邏輯核心),並行計算能力遠遠不如GPU。
4. top cpu飆高,中了挖礦程序----解決方法
1.發現cpu異常,查看對應的進程信息
2.查看進程發現是挖礦進程在執行
3.確定是挖礦病毒,查看進程的執行文件鏈接到哪裡,發現是jenkins的工作目錄,最後結果發現是jenkins的漏洞導致自動創建CI計劃,進行啟動挖礦腳本
4.查看虛機密碼是否被破解登錄
5.查找挖礦文件
6.檢查定時任務腳本
jenkins CVE-2018-1999002 漏洞修復: https://paper.seebug.org/648/
jenkings漏洞利用: https://xz.aliyun.com/t/4756
CI安全隱患: https://www.jianshu.com/p/8939aaec5f25
jenkins漏洞描述地址: https://www.cyberark.com/threat-research-blog/tripping-the-jenkins-main-security-circuit-breaker-an-inside-look-at-two-jenkins-security-vulnerabilities/
5. 挖礦疑問解答:挖礦為什麼用顯卡不用cpu
沒說CPU不能挖啊,最開始都是用CPU挖,但是隨著對挖礦演算法的深入研究,大家發現原來挖礦都是在重復一樣的工作,而CPU作為通用性計算單元,裡面設計了很多諸如分支預測單元、寄存單元等等模塊,這些對於提升算力是根本沒有任何幫助的。
另外,CPU根本不擅長於進行並行運算,一次最多就執行十幾個任務,這個和顯卡擁有數以千計的流處理器差太遠了,顯卡高太多了,因此大家慢慢針對顯卡開發出對應的挖礦演算法進行挖礦。
以BTC為例,它最基本的演算法原理就是,把已有的10分鍾內的所有交易作為一個輸入,加上一個隨機數,當10分鍾內所有交易記錄加上你的這個隨機數計算出一個SHA256的hash。裡面幾乎都是整數運算,這個根本就像是為顯卡特別打造一樣,顯卡非常適合這種無腦性演算法,流處理器數目越多約占優勢。
就Hash計算而言,它幾乎都是獨立並發的整數計算,GPU簡直就是為了這個而設計生產出來的。相比較CPU可憐的2-8線程和長度驚人的控制判斷和調度分支,GPU可以輕易的進行數百個線程的整數計算並發(無需任何判斷的無腦暴力破解乃是A卡的強項)。
OpenCL可以利用GPU在片的大量unified shader都可以用來作為整數計算的資源。而A卡的shader(流處理器)資源又是N的數倍(同等級別的卡)
不過到了後來大家發現,顯卡還是太弱了,直接上ASIC大規模堆ALU單元就能極大程度提升算力,巴掌大的算力板的算力已經是顯卡的好幾十倍,所以現在比特幣不用專門的ASIC礦機根本挖不動。
盡管後期的幣種LTC所使用的Scrypt演算法還引入了大量相互依賴的、隨機的訪存指令,當Footprint足夠大時,還會在GPU的L2級別、甚至TLB級別出現大量的緩存失效,從而產生更多的DRAM訪問,以弱化礦機(ASIC/FPGA)相較於GPU在整數運算性能上的優勢,但是依然被人針對性研發出礦機,目前也只有專門礦機才能挖。
不過像第二代虛擬貨幣(比如說是ETH、ZEC這種)由於吸取了前輩們被爆演算法的經驗,在挖掘演算法上做了更加特別優化,防止出現無腦的運算,對於顯存要求特別高,因此可以有效抵抗礦機的入侵。
也因為ETH這種只能靠顯卡挖礦,造成了2017年下半年開始的顯卡漲價潮、缺貨潮,很多礦主都賣了成千張顯卡回去組建礦機挖掘這些虛擬貨幣。
久而久之,大家都認為CPU不能挖礦,其實只是效率、效益太低了而已。
6. 如何使用樹莓派CPU挖礦
用cpu挖礦:
CPU 挖礦的命令是:minerd.exe -a scrypt -o stratum+tcp://60.190.233.166:9327 -u 錢包地址 -p X -t 8 -s 15pause其中 -t 8 為使用的核心數! 其它參數沒必要改,對核心也沒有那麼多要求。
要是不需要用電腦, 只要改成比實際核心大就成了。不一定4核就一定得是4. 6 、8 一樣能用。只是每個進程的速度下降而以。總體速度完全一樣。
還有 這個參數改的是對系統的佔用率而不是真的物理核心佔用。 也就是說,是4核系統,要是改成2,並不是100%的佔用2個核心,而是50%系統CPU資源佔用;
順便推薦一個正在挖的礦池地址 stratum+tcp://60.190.233.166:9327
一般的池子默認都是收2%,國內幾個能找到的池子都收3-3.5%, 發現這個池子。
7. cpu挖礦用什麼cpu
有賣專業礦機的,不會用個人電腦挖的。。性能太差。。除非有台高端工作站,不過也沒聽說過有人用工作站挖礦。。工作站又不是挖礦用的
礦機速度當然越快越好,但是也要看你的預算。
高端的,可以選擇若干塊intel xeon e5系列的處理器,配多路的主板。。
低端點可以選擇intel xeon 5600系列或者e3系列。。
挖礦顯卡比cpu快,專業礦機比顯卡快
所以不如去買礦機。。
另外,其實挖礦不好賺錢。。。
8. cpu挖礦電腦會炸嗎
不會。
挖礦就是進行大量的數據運算以後獲得虛擬貨幣的過程,這過程中電腦的各個配件都處於高負荷狀態,而且不停運行,這會對電腦的配件造成不可逆的傷害,尤其是顯卡,主板,電源這三個首當其沖,但是不會炸,只會有損壞。
pu即中央處理器,是一塊超大規模的集成電路,是一台計算機的運算核心和控制核心。
9. 比特幣為什麼用顯卡而不用CPU來挖
應為挖比特幣需要硬體具有非常強的並行數據處理能力以及很大帶寬的存儲能力,CPU屬於傳統的串列計算處理設備,並能計算能力遠不如GPU,而且CPU的cache容量也遠不如GPU配備的顯存容量大,所以用GPU來挖這種虛擬貨幣要比CPU來挖更合適
10. 為什麼挖比特幣靠顯卡而不是cpu
1、 CPU 主要為串列指令而優化,而GPU則是為大規模並行運算而優化。
2 、現代的多核 CPU 針對的是指令集並行(ILP)和任務並行(TLP),而 GPU 則是數據並行(DLP)。
3 、GPU 往往擁有更大帶寬的 Memory,也就是所謂的顯存,因此在大吞吐量的應用中也會有很好的性能。
4、CPU是通用運算簡單說就是無腦算、暴力算不管是100個小朋友分蘋果還是模擬地球都能分解成 1+1=2這類最基本的給暴力算出來。GPU 就是專門來處理高階數學演算法的,比如算出、光源、物體、視點、陰影的相對位置,這就要三角函數給堆出來。而比特幣挖掘器採用的是SHA-256,這是由美國國家安全局發明的一種安全散列函數,一般用於密碼加密與解密。這種演算法會進行大量32位整數循環右移運算(Right-Rotate),很適合擅長大規模並發計算,破解密碼的 GPU來運算。