比特幣是近年興起的一種新的虛擬貨幣,它的一個突出特徵,就是去中心化,即不存在一個或者多個固定核心做爲交易樞紐。交易只存在於買賣雙方之間。html
現以國內比較流行的礦場模式爲例,整個比特幣的生產流程能夠劃分爲如下幾個環節:算法
1.概念的提出服務器
去中心化和競爭機制,最先存在於中本聰(傳說中的比特幣創始人和開發者)的大腦裏,是其日積月累的思想的產物。在他看來,貨幣做爲一種載體,能夠更好的實現去中心化這個思想。並且這其中也牽扯到中本聰對後續具體工做的一些思考和規劃。工具
在這個環節中,沒有任何算力參與其中,一切運做都是在大腦這個有機體內進行的,但卻能夠稱爲比特幣這個大項目的火種。佈局
2.交易系統的邏輯性能
比特幣做爲一種虛擬貨幣,前期不須要實際的造幣工場或者ATM機的參與。可是貨幣的本質是支付手段,也就是說,它必須能夠進行交易。這個又涉及一個關鍵,兩個核心。一個關鍵是指,一種爲大衆承認的合法憑證;兩個核心是指,交易有效性的確認,以及交易雙方的身份鑑定,也就是對憑證擁有的合法性,或者來源合法性的確認。區塊鏈
要解決上述問題,須要用到密碼學,計算機科學的一些先驗知識,來作可實現性的考量,其中難免須要對實體貨幣交易有必定的理解。但最重要的,這個環節是對上一個環節的產出品,它是對比特幣思想概念的貫徹執行。測試
在這個環節中,不可避免的要用到一些算力,好比電腦,手機,或者搜索引擎,或者Word之類的文本編輯工具。優化
3.交易系統的實現搜索引擎
交易系統的本質就是實現貨幣的流轉和記帳。實際上比特幣系統也只保留了這兩項功能。交易系統的核心工做就是保證公平,即防止假帳本和假的帳本信息。
貨幣的流轉使用到一種叫區塊鏈的技術,其核心功能是對帳本的流通曆史(區塊)進行記錄和加密。簡而言之就是運用屢次哈希防止非法篡改。哈希的原理有點相似二戰時期德國人的恩格瑪加密機(又稱迷機),就是錯亂對應。在算法上,它比恩格瑪先進的地方有兩點,一是用運算替代字母表實現映射關係,二是從單點映射變爲多點映射,即定義域大於(通常狀況是遠大於)值域,這樣一來逆運算是不可能實現的。可是對應的關係,在多機率狀況下依然正確。
因此哈希算法的特色就是,輸入敏感,改動一個bit,結果差異巨大;二是反向運算(暴力攻擊)計算量遠高於正向運算量。
在區塊鏈技術中,實際上運算量更大,由於須要求出一個聯立哈希方程組的解。並且這個帳本的合法性每一個人都是能夠驗證,你只須要從新解一遍帳本的方程組便可。
若是有人要篡改歷史數據,就須要改動方程組,改動一個,後續的全部方程組都須要從新計算,這樣一來運算量就會成倍增長,即攻擊者要比誠實交易者多出成倍的計算量。
這個環節須要運用大量軟硬件算力,好比高性能的PC機或者工做站,集成開發環境(IDE)或者獨立的工具鏈,軟件管理工具,測試工具等。
4.礦機的研發和製造
交易系統裏面須要的一個虛擬物件就是帳本,所謂的挖礦,實際上就是獲取給帳本登記信息的權限。要得到這個權限必須儘量快的解決一道計算難題,最快者將會得到若干比特幣的獎勵。因此,解題速度越快,則獲取比特幣的機率越大。
這道難題就是SHA256算法,裏面牽扯了六種位-邏輯運算,通過循環,補零,翻轉等等步驟,求出一個散列值。這種並行邏輯運算結構極其適合拿GPU或者FPGA進行運算。這也催生了專門用於計算SHA256的設備-比特幣礦機。
礦機設計製造涉及電子機械結構等諸多環節。在電子設計環節,須要CAD工具的參與,包括原理圖-PCB製版工具,GPU開發須要專用的工具鏈,FPGA的實現則離不開佈局佈線,優化和仿真工具;在機械設計環節,則須要2D-3D繪圖或者建模工具,甚至有可能須要進行有限元分析。在製造環節,現代加工設備無一不須要算力的參與,好比加工機牀,工業影像檢測設備得等。
5.集中挖礦
挖礦是能直接產生比特幣的一種方式,也是此次討論的最末端環節,礦場則等效於造幣廠和央行的角色。
挖礦這一環節的算力輸出極大,某國產廠商的熱銷比特幣礦機算力爲6.3TH/s,即每秒能計算6.3x10^12次哈希。甚至出現了每秒能計算1P次,也就是10^15次哈希值得單臺礦機。對比之下,Intel Xeon E5-2670處理器(8核16線程,64bits,主頻2.3GHz),假設它每個線程每個時鐘計算一次哈希,加起來只有36.8GH/s,約爲國產暢銷礦機的百分之0.6。以一個服務器裝兩個CPU計,一臺礦機能夠抵得上86臺E5核心的服務器。以國內某礦場爲例,裏面有約100PH/s(1P=1,000,000G)的算力,超過約13587臺雙U E5服務器的挖礦速度之和。
在礦場這個環節中,輸出的算力爲整個鏈條之最,甚至比以前環節的總和還要多。
總結
下面作一下總結分析:
第一個環節中,調用算力幾乎爲零,概念的產出徹底來源於中本聰本人的思考。這是整比特幣交易系統的的源流,是一個純輸出的過程。
第二個環節中,爲了實現對思考概念的細化,進行了業務邏輯的加工,期間考察了必定資料,並進行可行性評估。此環節依賴於上一個環節,有外部算力的參與。但仍能夠算做一個純算力輸出過程。
第三個環節的主要工做是實現交易邏輯的軟件實現,使用了各類環境,平臺和工具,這些也都是外部算力的體現。此環節亦高度依賴於上述環節和外部算力,可是以源代碼量估計,爲算力輸出過程。
第四個環節的輸出爲礦機,其輸出產品中蘊含了大量算力。此環節調用外部算力資源較多,且一樣依賴於前述環節,但設計輸出(圖紙文檔等)和最後生成的產品,實現了大量算力資源的轉化。
第五個環節既有巨量算力輸入,又有巨量算力輸出,但這些輸出對以前各個環節有較強依賴性。
綜上,能夠用算力的產出和依賴性方面衡量各個環節的貢獻;
依賴性
礦場 依賴於 軟硬件實現 依賴於 方案邏輯 依賴於 源(思想概念)
外部算力轉化(算力增益)
源(思想概念)>方案邏輯 > 軟硬件實現 > 礦場
算力輸出
礦場 > 軟硬件實現 > 方案邏輯 > 源(思想概念)
參考資料:
https://www.zhihu.com/question/20820286,哈希算法說明。
https://www.zhihu.com/question/31112808,區塊鏈原理,蕭蕭的回答。
https://www.zhihu.com/question/28397034,恩格瑪機原理
http://blog.jobbole.com/53433/,比特幣交易原理
http://blog.csdn.net/lwanttowin/article/details/53726450,SHA256算法原理
http://www.wakuangji.cn/ziliao/intel-cpu-su-du/,intel 系列cpu比特幣挖礦算力
http://tech.163.com/17/0111/10/CAGA6AVM00097U7R.html 比特幣礦場
http://detail.zol.com.cn/servercpu/index305392.shtml,intel Xeon E5-2670