網上有很多關于有沒有懂pos機的大神,你真的很懂PoW嗎的知識,也有很多人為大家解答關于有沒有懂pos機的大神的問題,今天pos機之家(www.bangarufamily.com)為大家整理了關于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
有沒有懂pos機的大神
我們都知道,比特幣的POW(工作量證明)使用的是SHA256算法,最初個人還能通過CPU參與挖礦,但是當比特大陸、阿瓦隆等芯片廠商研發了ASIC芯片之后,挖礦就不是個人可以干的事情了。后來隨著顯卡挖礦以及礦池的出現,社區開始擔心礦池會導致算力集中,違背中本聰“一CPU一票”的最初設計理念。在那段時間,中心化的焦慮非常嚴重,比特幣社區討論非常激烈,論壇里比特幣一次又一次的“被死亡”,直到現在,針對礦池是否違背去中心化原則的爭論仍在繼續。
萊特幣的SCRYPT算法
有人將原因指向了SHA256算法,認為礦機和礦池出現是算法太容易導致的,于是試圖尋找更優的算法。
恰逢其時,基于SCRYPT算法的萊特幣(Litecoin)橫空出世。據說SCRYPT是由一位著名的黑客開發,由于沒有得到諸如SHA系列的嚴格安全審查和全面論證,一直沒被廣泛推廣使用。與SHA256算法相比,SCRYPT對硬件要求更高,占用更多的內存,耗費更長的計算時間,并行計算異常困難。很顯然,SCRYPT算法具有更強的抵御礦機性。此外萊特幣還將區塊時間改為2.5分鐘。在那個山寨幣還鳳毛麟角的年代,萊特幣依靠這兩點創新大獲成功,長期穩坐山寨幣第一寶座位置。
再到后來有人在SCRYPT算法的基礎上稍作修改形成Scrypt –N算法,改進思路都一樣,都是追求更大的內存消耗和計算時間,以有效阻止ASIC專用礦機。
很快,萊特幣的成功催生了各種各樣的算法創新。2012至2014年間,算法創新一直都是社區討論的熱門話題,每一個使用創新算法的幣種出現,都能刮起一陣波瀾。
串聯算法與達世幣
在人類慣常使用的發明創新的方法中,重新排列組合可以算是最常用的了。在增加內存消耗和增長計算時間的思路之外,有人開始思考:“能不能使用多種哈希算法,而不僅僅使用單一的某一種算法”?
于是2013年7月,夸克幣(Quark)發布了,首創使用多輪Hash算法。聽起來很高大上,但實際上其實很簡單,就是對輸入數據連續做9輪哈希運算,前一輪運算結果作為后一輪運算的輸入。這9輪哈希運算使用的6種加密算法為BLAKE, BMW, GROESTL, JH, KECCAK和SKEIN,都是公認安全的哈希算法,并且現成的實現代碼早已存在。
這種多輪哈希的方式一出現就給人造成直觀上很安全很強大的感覺,追捧者無數。
達世幣(DASH,前身是暗黑幣,Darkcoin,)在此基礎上再進行微創新,使用BLAKE, BMW, GROESTL, JH, KECCAK, SKEIN, LUFFA, CUBEHASH, SHAVITE, SIMD, ECHO 這11種加密算法,名曰X11,再后來X13,X15這一系列就有人開發出來了。
這類算法實際是一種串聯思路,其弊端是只要其中一種算法被破解,整個算法就被破解了。好比一根鏈條,環環相扣,只要其中一環斷裂,整個鏈條就一分為二。
并聯算法與Heavycoin
有了串聯,就自然會想到并聯,Heavycoin(HVC)就率先做了嘗試。雖然如今的它在國內名不見經傳,但是首次實現了鏈上游戲,可謂名噪一時。
HVC算法細節:
1. 輸入數據,進行一次HEFTY1哈希運算,得到結果d1
2.以d1為輸入,再依次進行SHA256、KECCAK512、GROESTL512、BLAKE512運算,分別獲得輸出d2,d3,d4和d5
3. 最后分別提取d2-d5前64位,混淆后形成最終的256位哈希結果,作為區塊ID。
為什么要先進行一輪HEFTY1 哈希運算呢?因為HEFTY1 運算起來極其困難,其抵御礦機性能遠超于SCRYPT。但與SCRYPT一樣,安全性沒有得到某個官方機構的論證,于是加入后面四種安全性已得到公認的算法來增強安全性。
PRIMECOIN與素數幣
正當一部分人如火如荼的探索算法,另一部分人指責POW浪費能源,那時POS機制已經實現。支持POW的人雖極力維護,但也不得不承認事實,POW確實耗費能源。這一指責打開了另一條探索之路,即如果能找到一種算法,既能維護區塊鏈安全,又能在其他方面產生價值,那簡直更完美。
在這條探索之路上最振奮人心的成果素數幣(Primecoin)。它是由Sunny King發明的,這位大神之前還開發了點點幣Peercoin。素數幣算法的核心理念是:在做哈希運算的同時尋找大素數。為什么要尋找素數呢?因為素數在數軸上稀有且分布不規律,在數軸上尋找素數只能盲目地搜索探測,這正是POW的特征。
POW還有另一個要求是要容易驗證,這方面人類經過幾百年探索已經獲得一些成果。素數幣使用兩種方法測試,首先進行費馬測試(Fermat Test),通過則再進行歐拉-拉格朗日-立夫習茲測試(Euler-Lagrange-Lifchitz Test),如果兩種測試都通過則可被視為是素數。
需要指出的是,這種方法并不能保證通過測試的數百分百是素數,不過這并不影響系統運行,即便測試結果錯誤,只要每個節點都認為是素數就行。
素數幣是市場上第一個沒有采用Hash工作量證明機制的加密貨幣,挖礦過程本身就有著一定的科學價值。但為什么沒有得到大力的推廣呢?
根據目前掌握的知識來看,素數在數軸上分布不均勻,且數越大素數越稀有,尋找難度不是線性遞增,因此耗時也就不可預估。但是區塊鏈要求出塊穩定,素數幣算法便沒有得到大家的熱捧。但這種探索并不是沒有意義的,利用POW工作量的探索還在繼續。
ETHASH與以太坊
以太坊(Ethereum)最初打算用POS,但由于POS設計存在一些問題,開發團隊決定在以太坊1.0階段使用POW方式。之后在Serenity階段,再將以太坊從PoW轉換到PoS。POW工作量證明意味著將電力轉換為熱量、以太幣和網絡穩定性。
以太坊的POW算法稱為Ethash(Dagger-Hashimoto算法的改良版本),它與比特幣的工作量證明算法稍微有些不同,它使得用普通硬件挖礦成為可能。
最新版本的Ethash設計旨在滿足以下目標:
1. IO飽和度:該算法應該消耗幾乎整個可用內存訪問帶寬,這是實現抵御礦機性能(ASIC-resistance)的一種策略,其針對的是可用RAM,特別是GPU中的顯存,比計算機的內存更接近理論上的最優值)
2. 對GPU友好:盡可能的讓GPU挖礦變得更簡單。針對CPU幾乎是不可能的,因為潛在的專業化收益太大,并且對CPU友好的算法確實存在易受僵尸網絡攻擊的弊病。所以綜合考慮之后,選擇了對GPU友好。
3. 輕客戶端可驗證性:輕客戶端應能夠在C語言的桌面上以0.01秒為單位來驗證一輪挖礦,而在Python或JavaScript中以0.1秒為單位來驗證一輪挖礦,最多占用1 MB內存(但呈指數增長)。
4. 輕客戶端減速:使用輕客戶端運行算法的過程應該比使用完整客戶端的慢得多,以至于在輕客戶端(包括通過專用硬件)運行算法并不是經濟可行的挖礦方式。
5. 輕客戶端快速啟動:輕客戶端應該能夠完全運行,并能夠在Javascript中在40秒內驗證塊。
出于以上考慮,開發團隊最后倒騰出來的Ethash挖礦時基本與CPU性能無關,卻和內存大小和內存帶寬成正相關。以太坊的這種工作量證明算法降低了普遍用于比特幣挖礦的特定硬件ASICs的效率。
此時此刻,除了工作量證明機制的其他共識算法也正在不斷突破、創新。對于區塊鏈這樣協議式、需要大規模社會協作參與的顛覆性技術,值得我們共同期待。
以上就是關于有沒有懂pos機的大神,你真的很懂PoW嗎的知識,后面我們會繼續為大家整理關于有沒有懂pos機的大神的知識,希望能夠幫助到大家!
