當前位置:首頁 » 算力簡介 » 算力筆記

算力筆記

發布時間: 2023-02-01 14:11:20

㈠ 011:Ethash演算法|《ETH原理與智能合約開發》筆記

待字閨中開發了一門區塊鏈方面的課程:《深入淺出ETH原理與智能合約開發》,馬良老師講授。此文集記錄我的學習筆記。

課程共8節課。其中,前四課講ETH原理,後四課講智能合約。
第四課分為三部分:

這篇文章是第四課第一部分的學習筆記:Ethash演算法。

這節課介紹的是以太坊非常核心的挖礦演算法。

在介紹Ethash演算法之前,先講一些背景知識。其實區塊鏈技術主要是解決一個共識的問題,而共識是一個層次很豐富的概念,這里把范疇縮小,只討論區塊鏈中的共識。

什麼是共識?

在區塊鏈中,共識是指哪個節點有記賬權。網路中有多個節點,理論上都有記賬權,首先面臨的問題就是,到底誰來記帳。另一個問題,交易一定是有順序的,即誰在前,前在後。這樣可以解決雙花問題。區塊鏈中的共識機制就是解決這兩個問題,誰記帳和交易的順序。

什麼是工作量證明演算法

為了決定眾多節點中誰來記帳,可以有多種方案。其中,工作量證明就讓節點去算一個哈希值,滿足難度目標值的勝出。這個過程只能通過枚舉計算,誰算的快,誰獲勝的概率大。收益跟節點的工作量有關,這就是工作量證明演算法。

為什麼要引入工作量證明演算法?

Hash Cash 由Adam Back 在1997年發表,中本聰首次在比特幣中應用來解決共識問題。

它最初用來解決垃圾郵件問題。

其主要設計思想是通過暴力搜索,找到一種Block頭部組合(通過調整nonce)使得嵌套的SHA256單向散列值輸出小於一個特定的值(Target)。

這個演算法是計算密集型演算法,一開始從CPU挖礦,轉而為GPU,轉而為FPGA,轉而為ASIC,從而使得算力變得非常集中。

算力集中就會帶來一個問題,若有一個礦池的算力達到51%,則它就會有作惡的風險。這是比特幣等使用工作量證明演算法的系統的弊端。而以太坊則吸取了這個教訓,進行了一些改進,誕生了Ethash演算法。

Ethash演算法吸取了比特幣的教訓,專門設計了非常不利用計算的模型,它採用了I/O密集的模型,I/O慢,計算再快也沒用。這樣,對專用集成電路則不是那麼有效。

該演算法對GPU友好。一是考慮如果只支持CPU,擔心易被木馬攻擊;二是現在的顯存都很大。

輕型客戶端的演算法不適於挖礦,易於驗證;快速啟動

演算法中,主要依賴於Keccake256 。

數據源除了傳統的Block頭部,還引入了隨機數陣列DAG(有向非循環圖)(Vitalik提出)

種子值很小。根據種子值生成緩存值,緩存層的初始值為16M,每個世代增加128K。

在緩存層之下是礦工使用的數據值,數據層的初始值是1G,每個世代增加8M。整個數據層的大小是128Bytes的素數倍。

框架主要分為兩個部分,一是DAG的生成,二是用Hashimoto來計算最終的結果。

DAG分為三個層次,種子層,緩存層,數據層。三個層次是逐漸增大的。

種子層很小,依賴上個世代的種子層。

緩存層的第一個數據是根據種子層生成的,後面的根據前面的一個來生成,它是一個串列化的過程。其初始大小是16M,每個世代增加128K。每個元素64位元組。

數據層就是要用到的數據,其初始大小1G,現在約2個G,每個元素128位元組。數據層的元素依賴緩存層的256個元素。

整個流程是內存密集型。

首先是頭部信息和隨機數結合在一起,做一個Keccak運算,獲得初始的單向散列值Mix[0],128位元組。然後,通過另外一個函數,映射到DAG上,獲取一個值,再與Mix[0]混合得到Mix[1],如此循環64次,得到Mix[64],128位元組。

接下來經過後處理過程,得到 mix final 值,32位元組。(這個值在前面兩個小節《 009:GHOST協議 》、《 010:搭建測試網路 》都出現過)

再經過計算,得出結果。把它和目標值相比較,小於則挖礦成功。

難度值大,目標值小,就越難(前面需要的 0 越多)。

這個過程也是挖礦難,驗證容易。

為防止礦機,mix function函數也有更新過。

難度公式見課件截圖。

根據上一個區塊的難度,來推算下一個。

從公式看出,難度由三部分組成,首先是上一區塊的難度,然後是線性部分,最後是非線性部分。

非線性部分也叫難度炸彈,在過了一個特定的時間節點後,難度是指數上升。如此設計,其背後的目的是,在以太坊的項目周期中,在大都會版本後的下一個版本中,要轉換共識,由POW變為POW、POS混合型的協議。基金會的意思可能是使得挖礦變得沒意思。

難度曲線圖顯示,2017年10月,難度有一個大的下降,獎勵也由5個變為3個。

本節主要介紹了Ethash演算法,不足之處,請批評指正。

㈡ 初識挖礦——心得筆記

1.背景

因利益驅動,且對挖礦產業產生較大的興趣,作為小白一枚,近期做出投資挖礦的決定。經過了兩天的學習和跟入行的前輩咨詢,對挖礦行業有了一個淺顯和初步認知,在這里做一個簡要的筆記。

2.挖礦的目的及動機

從宏觀的比特幣產業角度來看,挖礦是比特幣區塊鏈的上游產業,挖礦的目的是通過工作量證明(POW)機制,來維護比特幣區塊鏈的安全運行,以防止雙重支付。其本質是爭取鑄幣的權利。

以礦工角度來看,礦機消耗自身的算力及電力,通過運算出隨機散列值的結果,來爭奪比特幣區塊鏈上的記賬打包權,並向全網節點廣播新產生的區塊,以此獲取新產生區塊的比特幣獎勵及交易手續費。

3.挖礦的時機

2020年之前區塊鏈獎勵減半,對這個產業的受益影響未知,或許在這個之前都是好機會。對於想要了解挖礦知識,並想要投資礦機的小白來說,最好的時機就是現在。就算是失敗了,那就當試錯了唄,快速的試錯,才是最正確的失敗姿勢,萬一成功了呢?

4.區塊獎勵數量減半及不確定性

政策的影響是最大的不確定性因素,今年9月金融監管部門揮舞大棒,已讓國內的交易所陸續關門歇業。而對礦場的態度依然朦朧,目前來看還算風平浪靜,對於這個暫不落地的靴子,時間是最好的答案,投資挖礦者需有清醒的認識,做好風險防範,控制投資比例,必要時候做出止損措施。

5.挖礦的投資邏輯

和區塊鏈投資虛擬貨幣一樣,挖礦是一個必須穿越牛熊才能穩定地長期獲利,即在熊市的時候,雖然價格不美麗,但由於競爭的算力要求低,可以在單位時間獲取更多的比特幣,這個時間段是低成本囤積比特幣的大好時機,可以囤積最大數量的比特幣。在牛市的時候比特幣價格持續上漲,對算力要求增大,雖然收入比特幣的數量會減少,但價格變得美麗了,熊市囤積的比特幣在這個時候,才是真正收貨的季節。

當然這個投資邏輯是基於比特幣價格的長期增長。那麼在宏觀時間的尺度上,基於它內在強大的邏輯架構,所帶來的先進的區塊鏈技術,基於它在未來的廣泛應用,而我選擇相信。在微觀的當下,就個人投資而言,做好風險防範與對沖准備,且走且看且分析,畢竟小心使得萬年船!

㈢ 002:以太坊簡介|《ETH原理與智能合約開發》筆記

待字閨中開發了一門區塊鏈方面的課程:《深入淺出ETH原理與智能合約開發》,馬良老師講授。此文集記錄我的學習筆記。

課程共8節課。其中,前四課講ETH原理,後四課講智能合約。
第一課分為四部分:

這篇文章是第一部分的學習筆記:以太坊簡介。

以太坊是目前公認的區塊鏈2.0,相比於區塊鏈1.0(比特幣),其最大的特點是引入了智能合約,從而從單一的數字加密 Token 技術轉化為一個區塊鏈分布式應用的平台。以太坊本身不包含任何具體的應用,它主要是提供基礎平台和工具,使得開發者可以在其基礎之上開發出各種各樣的應用。可以說,以太坊有著巨大的潛力,它最終可能會發展出分布式、自動化、自組織的最高形態。

第一,我們可以通過學習以太坊的技術,領會區塊鏈技術發展的脈絡,改進的思路/路徑,從而緊跟區塊鏈技術發展的前沿,預測下一步的趨勢。
第二,DAPP(分布式應用)生態系統目前的發展也是蒸蒸日上,蓬勃發展,據不完全統計,現在有數百種應用之多,顯而易見的,對於開發人員的需求也是水漲船高,需要大量的開發人員。目前非常有名的應用有加密貓、各類側鏈應用、ERC20 Token如幣安幣火幣等等。

2013年,創始人 Vitalik Buterin 針對比特幣存在的一些問題以及局限性,提出把「智能合約」構想應用於區塊鏈領域,希望打造一個基於區塊鏈的多方計算的智能化通用平台,並通過比特幣融資進行開發。

2014年,以太坊基金會在瑞士成立,管理並運營整個項目。

前5大礦池佔83%的算力,很集中。

目前大約有16000個全節點,其中,美國5461(34%),中國1839(11.5%),俄羅斯963(6%),德國920(5.7%),加拿大875(5.45%)。全節點每天都有動態變化。分布情況也反映出各個國家的參與熱度。

熱點內容
移動寬頻挖礦怎麼樣 發布:2024-12-27 02:48:33 瀏覽:466
設置挖礦軟體中參數 發布:2024-12-27 02:47:50 瀏覽:824
騰訊王卡輕合約版流量怎麼用 發布:2024-12-27 02:40:41 瀏覽:17
冒險與挖礦契約哪個 發布:2024-12-27 02:34:36 瀏覽:921
合約的持倉量怎麼算的 發布:2024-12-27 02:29:31 瀏覽:703
eth成績 發布:2024-12-27 02:29:17 瀏覽:691
同步比特幣錢包加速 發布:2024-12-27 01:50:45 瀏覽:178
我的世界虛無世界連鎖挖礦怎麼添加 發布:2024-12-27 01:20:09 瀏覽:193
國內手機如何下載比特幣錢包 發布:2024-12-27 01:15:05 瀏覽:850
以太坊chaindata 發布:2024-12-27 01:06:48 瀏覽:290