礦工btc算
① 比特幣如何算出來的
要想了解bitcoin的技術原理,首先需要了解兩個重要的密碼技術: HASH碼:將一個長字元串轉換成固定長度的字元串,並且其轉換不可逆,即不太可能從HASH碼猜出原字元串。bitcoin協議里使用的主要是SHA256。
公鑰體系:對應一個公鑰和私鑰,在應用中自己保留私鑰,並公開公鑰。當甲向乙傳遞信息時,可使用甲的私鑰加密信息,乙可用甲的公鑰進行解密,這樣可確保第三方無法冒充甲發送信息;同時,甲向乙傳遞信息時,用乙的公鑰加密後發給乙,乙再用自己的私鑰進行解密,這樣可確保第三者無法偷聽兩人之間的通信。最常見的公鑰體系為RSA,但bitcoin協議里使用的是lliptic Curve Digital Signature Algorithm。 和現金、銀行賬戶的區別? bitcoin為電子貨幣,單位為BTC。在這篇文章里也用來指代整個bitcoin系統。 和在銀行開立賬戶一樣,bitcoin里的對應概念為地址。每個人都可以有1個或若干個bitcoin地址,該地址用來付賬和收錢。每個地址都是一串以1開頭的字元串,比如我有兩個bitcoin賬戶,和。一個bitcoin賬戶由一對公鑰和私鑰唯一確定,要保存賬戶,只需要保存好私鑰文件即可。 和銀行賬戶不一樣的地方在於,銀行會保存所有的交易記錄和維護各個賬戶的賬面余額,而bitcoin的交易記錄則由整個P2P網路通過事先約定的協議共同維護。 我的賬戶地址里到底有多少錢? 雖然使用bitcoin的軟體可以看到當前賬戶的余額,但和銀行不一樣,並沒有一個地方維護每個地址的賬面余額。它只能通過所有歷史交易記錄去實時推算賬戶余額。 我如何付賬? 當我從地址A向對方的地址B付賬時,付賬額為e,此時雙方將向各個網路節點公告交易信息,告訴地址A向地址B付賬,付賬額為e。為了防止有第三方偽造該交易信息,該交易信息將使用地址A的私鑰進行加密,此時接受到該交易信息的網路節點可以使用地址A的公鑰進行驗證該交易信息的確由A發出。當然交易軟體會幫我們做這些事情,我們只需要在軟體中輸入相關參數即可。 網路節點後收到交易信息後會做什麼? 這個是整個bitcoin系統里最重要的部分,需要詳細闡述。為了簡單起見,這里只使用目前已經實現的bitcoin協議,在當前版本中,每個網路節點都會通過同步保存所有的交易信息。 歷史上發生過的所有交易信息分為兩類,一類為"驗證過"的交易信息,即已經被驗證過的交易信息,它保存在一連串的「blocks」裡面。每個"block"的信息為前一個"bock"的ID(每個block的ID為該block的HASH碼的HASH碼)和新增的交易信息(參見一個實際的block)。另外一類指那些還"未驗證"的交易信息,上面剛剛付賬的交易信息就屬於此類。 當一個網路節點接收到新的未驗證的交易信息之後(可能不止一條),由於該節點保存了歷史上所有的交易信息,它可以推算中在當時每個地址的賬面余額,從而可以推算出該交易信息是否有效,即付款的賬戶里是否有足夠余額。在剔除掉無效的交易信息後,它首先取出最後一個"block"的ID,然後將這些未驗證的交易信息和該ID組合在一起,再加上一個驗證碼,形成一個新的「block」。 上面構建一個新的block需要大量的計算工作,因為它需要計算驗證碼,使得上面的組合成為一個block,即該block的HASH碼的HASH碼的前若干位為1。目前需要前13位為1(大致如此,不確定具體方式),此意味著如果通過枚舉法生成block的話,平均枚舉次數為16^13次。使用CPU資源生成block被稱為「挖金礦」,因為生產該block將得到一定的獎勵,該獎勵信息已經被包含在這個block裡面。 當一個網路節點生成一個新的block時,它將廣播給其它的網路節點。但這個網路block並不一定會被網路接受,因為有可能有別的網路節點更早生產出了block,只有最早產生的那個block或者後續block最多的那個block有效,其餘block不再作為下一個block的初始block。 對方如何確認支付成功? 當該筆支付信息分發到網路節點後,網路節點開始計算該交易是否有效(即賬戶余額是否足夠支付),並試圖生成包含該筆交易信息的blocks。當累計有6個blocks(1個直接blocks和5個後續blocks)包含該筆交易信息時,該交易信息被認為「驗證過」,從而該交易被正式確認,對方可確認支付成功。 一個可能的問題為,我將地址A裡面的余額都支付給地址B,同時又支付給地址C,如果只驗證單比交易都是有效的。此時,我的作弊的方式為在真相大白之前產生6個僅包括B的block發給B,以及產生6個僅包含C的block發給C。由於我產生block所需要的CPU時間非常長,與全網路相比,我這樣作弊成功的概率微乎其微。 網路節點生產block的動機是什麼? 從上面描述可以看出,為了讓交易信息有效,需要網路節點生成1個和5個後續block包含該交易信息,並且這樣的block生成非常耗費CPU。那怎麼樣讓其它網路節點盡快幫忙生產block呢?答案很簡單,協議規定對生產出block的地址獎勵BTC,以及交易雙方承諾的手續費。目前生產出一個block的獎勵為50BTC,未來每隔四年減半,比如2013年到2016年之間獎勵為25BTC。 交易是匿名的嗎? 是,也不是。所有BITCOIN的交易都是可見的,我們可以查到每個賬戶的所有交易記錄,比如我的。但與銀行貨幣體系不一樣的地方在於,每個人的賬戶本身是匿名的,並且每個人可以開很多個賬戶。總的說來,所謂的匿名性沒有宣稱的那麼好。 但bitcoin用來做黑市交易的還有一個好處,它無法凍結。即便警方追蹤到了某個bitcoin地址,除非根據網路地址追蹤到交易所使用的電腦,否則還是毫無辦法。 如何保證bitcoin不貶值? 一般來說,在交易活動相當的情況下,貨幣的價值反比於貨幣的發行量。不像傳統貨幣市場,央行可以決定貨幣發行量,bitcoin里沒有一個中央的發行機構。只有通過生產block,才能獲得一定數量的BTC貨幣。所以bitcoin貨幣新增量決定於: 1、生產block的速度:bitcoin的協議里規定了生產block的難度固定在平均2016個每兩個星期,大約10分鍾生產一個。CPU速度每18個月速度加倍的摩爾定律,並不會加快生產block的速度。 2、生產block的獎勵數量:目前每生產一個block獎勵50BTC,每四年減半,2013年開始獎勵25BTC,2017年開始獎勵額為12.5BTC。 綜合上面兩個因素,bitcoin貨幣發行速度並不由網路節點中任何單個節點所控制,其協議使得貨幣的存量是事先已知的,並且最高存量只有2100萬BTC
② 比特幣的挖礦到底在計算什麼
比特幣的挖礦計算其實就是大家一起做數學題,題干是需要被記錄的交易,大家通過做題搶奪記賬權,搶到的礦工就能獲得系統獎勵和交易手續費。比特幣用的SHA256演算法的特點是已知答案驗證正確很容易,但是要得到答案非常麻煩,需要一個一個數字去試。最先得到答案的礦工大家就都認可他是搶到了記賬權,獎勵就歸他了。大家繼續搶下一題的記賬權。簡單來說這些計算的意義只在於保證整個系統的穩定安全,並沒有更多的意義。
把比特幣看作是計算的副產品是不全面的,比特幣的產生發行、比特幣鏈上所有的交易流通、比特幣系統的穩定性,都是計算的目的,是一體的。當然除了維護這個系統之外,的確並沒有產生其他的價值和產物。這也是比特幣被指責不環保浪費資源的一個黑點。總的來說,比特幣作為一個里程碑式的區塊鏈數字貨幣,其源於大量的算力投入和用戶信任的巨大價值。這一點還是毋庸置疑的。
③ 如何計算礦工這10分鍾競爭中能夠獲勝的概率
通過算力進行計算。算力可以簡單地理解為計算能力。 計算能力,也稱為哈希率,是衡量比特幣網路處理能力的指標。即,為計算機(CPU)計算哈希函數輸出的速度。 礦工掌握的所有采礦機器在比特幣網路總計算能力中所佔的百分比代表TA在10分鍾競爭中獲勝的概率。 計算力的單位包括H/s、KH/s、th/s、pH/s等。
拓展資料:
一.什麼是挖礦?
挖掘是在一段時間內確認比特幣系統中的交易並在區塊鏈上記錄新區塊形成的過程。采礦的人叫礦工。 采礦是記賬的過程,礦工是記賬人,區塊鏈是分類賬。 比特幣系統的記賬權力是分散的,即每個采礦者都有記賬的權利。成功獲得記賬權的礦工將從系統中獲得新的比特幣獎勵。采礦是生產比特幣的過程。 在采礦之前,我們首先應該知道什麼是礦山。例如,當我們使用人民幣時,我們可以發現每個人民幣都有一個數字。那麼誰能猜到人民幣上的數字,誰就能得到人民的貨幣。如果一個人很難猜對,那麼我們組織一些人一起猜對,猜對後,猜對次數最多的人可以按比例得到獎勵。這是礦坑。首先,這只是一個簡單的類比。 簡言之,挖掘是一個猜測數字和求解演算法的游戲。優先解決問題的人將獲得象徵性獎勵。
二.采礦的原理是什麼
1.任何人都可以在特殊的硬體上運行軟體,成為比特幣礦商。挖掘軟體通過P2P網路監控事務廣播,並執行適當的任務來處理和確認這些事務。比特幣礦商可以賺取用戶支付的交易費用,以加速交易處理,並根據固定公式發行額外的比特幣。
2.新的事務需要包含在一個塊中,並帶有待確認的數學工作量證明。這個證明很難生成,因為它只能通過每秒數十億次的計算生成。礦工們需要在他們的區塊被接受和獎勵之前進行這些計算。隨著越來越多的人開始挖掘,網路將自動增加查找有效區塊的難度,以確保查找區塊的平均時間保持在10分鍾。因此,采礦業的競爭非常激烈,沒有一個采礦者能夠控制區塊鏈中包含的內容。
3.接下來,讓我們談談比特幣挖掘工具。采礦軟體的操作需要計算能力。CPU最初用於采礦。隨著越來越多的人湧入,采礦設備得到了升級。在CPU之後,使用GPU進行挖掘。GPU管線具有更高的濃度和更多的數量。並行計算非常便宜。GPU比CPU效率更高,計算能力/功率比更低。它很快取代了CPU,後來又改用FPGA,與GPU相比,FPGA的性能/功耗有了進一步的提高,最終成為市場上的ASIC礦工。
④ 加密貨幣挖礦什麼意思
所謂加密貨幣挖礦,是指礦工藉助挖礦工具暨礦機獲得加密貨幣的過程。
一、比特幣BTC(區塊鏈1.0)
比特幣2009誕生以來作為一種新型的數字貨幣和全球支付網路而出現,BTC也是區塊鏈最成功最成熟的應用,現在很多情景下BTC的名氣要比區塊鏈還要響亮得多。
二、什麼是礦工:
在加密貨幣如比特幣網路中,競爭計算能獲得新生的比特幣獎勵,很像開采埋在地底下的礦物的過程形象地叫做「挖礦」,競爭挖礦的人或組織,叫「礦工」。
三、什麼是算力:
可以簡單理解成計算能力。礦工是通過「計算能力」的競爭提供「計算服務」獲得比特幣的。「計算服務」其實就是通過哈希演算法去計算區塊頭的哈希值。在通過「計算服務」得到比特幣的過程中,我們需要找到其相應的解,即區塊頭哈希值,而要找到其解,並沒有固定演算法,只能靠計算機隨機的哈希碰撞。一台計算機伺服器每秒鍾能做多少次哈希碰撞,就是其「算力」的代表,單位寫成hash/s。
四、什麼是工作量證明:
英文名POW,一種「多勞多得」的共識機制,比特幣就是典型的POW機制。礦工通過獲得算力後,最先算出正確答案的將被記錄為「工作量」,這些工作量會被記錄在一頁賬本里,然後同步給他人,以此證明礦工付出了工作量。
五、什麼是權益證明:
英文名POS,一種「持有越多獲得越多」的共識機制。這種共識機制是根據代幣持有者持有的代幣數量決定權益大小,從而競爭記帳權。持有代幣數量越多,權益越大,則成為下一個記賬者的概率越大。這種機制,在一定情況下縮短了共識的達成時間,也不再需要消耗大量的能源挖礦
⑤ 比特幣到底在計算什麼
比特幣礦工們通過計算,其目的在於找到一個計符合函數要求的隨機數。一旦找到了這個隨機數,就獲得了鏈上打包區塊的資格,進而賺取交易手續費和比特幣獎勵。
⑥ 自學區塊鏈(六)BTC-挖礦難度
我們來看下挖礦的計算公式
H(block header) target,這個target就是 目標閾值
BTC用的哈希演算法是SHA-256,它產生的哈希值是256位,那麼就有2^256種取值,這個就是他的輸出空間,要增大挖礦難度, 就調節目標值在這個輸出空間所佔的比例 。
挖礦難度和目標閾值是成反比的, 當算力強時,調節難度,使目標閾值變小 。
不調節難度,隨著礦工數量增多,隨著算力的上升,那麼挖到區塊的時間就會變短,從10分鍾縮短到1分鍾甚至幾秒鍾,這個會帶來什麼樣的問題呢?可能很多人覺得這不是挺好嗎,交易等六個確認就會縮短時間了,交易就會變快了。其實出塊時間縮到很短,風險是很大的,因為網路延遲,出塊時間變短,不同節點很可能接到不同的區塊信息,導致會有很多分叉節點出現。礦工會根據自己認為正確的區塊接著挖。這種情況下,惡意節點發動分叉攻擊就比較容易成功,因為誠實節點的算力被分散了。
導致不需要51%的算力就能成功,所以縮短出塊時間是不利於BTC系統的穩定的。雖然10分鍾不一定是最優的時間,但是也算是比較合理的。
下面是 算力增長曲線
下面是 挖礦難度曲線
下面是 平均出礦時間
我們來看下難度公式:每2016個區塊調整一次挖礦難度,10分鍾出一個平均算下來是兩星期調整一次。
previous_difficulty是上一次的挖礦難度,分母是最近2016個區塊花費的時間
每個節點挖礦是獨立的,BTC的協議也是開源的,會不會有礦工不修改挖礦難度呢?可能性是存在的,但是不影響結果,因為廣播給其他節點需要獨立驗證block header的哈希值, 這個header裡面有難度的一個壓縮編碼,修改難度產生的結果是不會被誠實的節點認可的。
⑦ 比特幣挖礦計算的是什麼
1、計算的就是比特幣本身。這一計算過程就是比特幣的發行過程。
2、因上述原因,我覺得可以理解為沒有實際意義。
3、你說的是貨幣包的數目吧?那個就是你連接的其他客戶端的數量(畢竟是P2P),這很重要!這個數值要達到一定程度賬戶才可正常運作。一直開著就好了。
⑧ 比特幣挖礦到底在計算什麼
要知道挖礦到底在計算什麼,首先得知道比特幣的本質及產生的過程。比特幣是基於網路的電子貨幣,實際是互聯網的一串代碼,依靠演算法計算得出。挖礦是完成演算法的過程,也是生產比特幣的唯一方式。而且由於演算法規定,比特幣目前只有2100萬個。
1、挖礦既能生產比特幣,又能保障交易信息
類似於,一個數學系統包含2100萬個數學題,需要通過龐大的計算量不斷的去尋求這個每個數學題的特解。另外,特解是唯一的。
下面來具體解釋挖礦,從作用來說,挖礦不僅可以增加比特幣貨幣供應,而且還可以保護比特幣交易安全、防止欺詐交易。從過程來說,比特幣網路是一個點對點的支付系統,任何人都可以通過交易程序進行交易。
為了確保交易過程被如實記錄,就需要「礦工」這個角色來負責記錄比特幣交易信息,這個時間間隔是10分鍾,礦工中記賬最好的交易記錄就會被打包存儲到一個新的區塊中,相應的礦工也會得到一定數量的比特幣獎勵。
2、挖礦過程極其復雜,非人力所能為
具體的流程如下,當某一個礦工監聽到這筆交易時,首先會對交易信息進行驗證。通過驗證的交易則會被礦工記錄下來,保存在自己的資料庫裡面。全世界可能有成千上萬個礦工在進行同一件事,但在每十分鍾內,只有一個礦工有權創建新的區塊,使自己記錄的交易信息被大家所承認並永久地存儲下來。
接下來,礦工們就需要爭奪記賬權,這是一場算力競賽的比拼,其核心是用計算機完成大量的計算任務,找到一個超難的隨機數,這個隨機數就是第一段所說的方程特解,最先算出正確隨機數的礦工勝出。根據游戲規律,一個礦工獲得記賬權的幾率與其算力佔全網算力之和的比例成正比。換句話說,找到該隨機數的概率相當於將一億個骰子扔出,最後骰子總和小於1億零50。因此,挖礦需要大量的計算機,安裝特定的演算法軟體,日夜重復運行,非人力所能為。
3、比特幣挖礦其實就是「村民記賬」
可能還是有網友不懂,那就舉個例子。在一個村裡,村民之間經常會發生借款行為,哪怕寫了字據也有違約的風險。那麼,在每次村裡有借款行為發生的時候,就用村裡的大喇叭告知大家,所有的村民(礦工)就在自己的賬簿里記下所有交易記錄。
⑨ 礦機多長時間能挖一個btc
這跟礦機算力、全網難度都有關系,挖礦不需要了解多久能挖出來一個,只需要計算自己的回報率,和每天的收入費用,了解其風險和運行需要具備的條件就可以,可以到彩雲比特或者今日礦工官網看看。