挖礦及其演算法機理

2021-08-22 07:06:35 字數 1096 閱讀 7732

pow(工作量證明):通過乙個hash函式找到乙個滿足當前難度的nonce(包含在區塊頭里)的值,礦工用一些交易構建候選區塊,然後計算區塊頭的hash值看是否小於當前目標值,如果小於就修改nonce值繼續計算直到得到合適的nonce值,使得區塊頭hash滿足當前難度,這個即是pow(工作量證明)演算法的原理。

pos(股權證明):類似於股東機制,擁有股份越多的人越容易獲取記賬權,同時越傾向於維護網路正常機制,持有幣等相關資產作為保證金來對賭乙個合法的塊成為新區快,並從中獲得收益,提供的保證金越多獲得記賬權的概率越大。持有的幣乘以持有時間為幣齡,每發現乙個pos區塊幣齡會被清空,同時獲得0.05個幣利息。

dpos(股份授權證明):由位元股bitshares提出,以位元股為例dpos機制是讓每乙個持有bts的人對整個系統資源當代表的人進行投票,而獲得票數最多的101個代表將進行交易打包計算。

以位元幣挖礦為例挖礦任務及計算原理及位元幣挖礦軟體cgminer使用

幾個概念理解如下:

礦機:由cpu,gpu,fpga,asic這類裝置充當,用於完成具體的計算,礦機從礦池處獲取任務,並提交完成後的結果給礦池,礦池按算力佔比,分配收益給礦機主人。

礦場:部署大量礦機的地方

挖礦軟體cgminer對於cpu平台不限,x86、arm、mips均可支援,為保證軟體執行效率,cpu可選4核1.2g以上,記憶體4g以上,帶有網口、串列埠、spi、usb介面等。cgminer對算力晶元主要是任務下發和nounce回讀,與礦池之間通過stratum協議進行互動。

原始碼各主要檔案作用如下:

配置檔案主要設定礦池位址、礦工使用者名稱和密碼等。

cgminer.c,cg的主程式,完成初始化、命令列引數或cgminer.conf檔案解析、對挖礦晶元的檢測、執行緒管理的初始化、迴圈產生work等。

btc.c,位元幣挖礦相關功能實現;

ltc.c,萊特比挖礦相關功能實現;

scrypt.c,萊特比挖礦演算法相關功能實現;

sha2.c,位元幣挖礦演算法相關功能實現;

晶元物理算力  = 晶元在工作的核心數量 * 核心的計算效能

晶元物理算力為晶元在工作的核心數量乘以核心的計算效能。

礦池算力統計是基於礦池分配的難度和礦機返回結果的時間間隔來估算礦機的算力。

挖礦演算法簡單理解

每個區塊的hash值是由以下幾點決定 f index previous hash data timestamp nonce hash previous hash 上乙個區塊的hash值 data 當前區塊的交易資料 乙個有效的區塊有乙個帶有四個前四位為零的hash,前面的零的個數成為difficul...

什麼是挖礦和Ethash演算法?

挖礦這個詞源於對加密貨幣與 的模擬。或 很稀有,電子代幣也是,增加總量的唯一方法就是挖礦。以太坊也是這樣,發行的唯一辦法就是挖礦。但是不像其他例子,挖礦也是通過在區塊鏈中建立 驗證 發行和傳播區塊來保護網路的方法。以太坊,和所有區塊鏈技術一樣,使用激勵驅動的安全模式。共識基於選擇具有最高總難度的區塊...

以太坊之六挖礦演算法

6.1 scrypt演算法 pow本身是為了能讓記賬權能夠隨機分給各個節點而產生的,但是現在有人用了專用的asic晶元,而且迭代速度非常快,把挖礦當做一種職業已經普及開了,這已經違背了pow的初衷。中本聰用位元幣是當作一種去中心化的加密貨幣,可以理解為電子 的投資或者保值類產品。所以需要使用一種as...