以太坊共識(shí)算法是什么?ETH使用的共識(shí)協(xié)議介紹
以太坊共識(shí)算法是什么?
以太坊中設(shè)計(jì)了一套基于POW的Ethash共識(shí)算法。以太坊中共識(shí)設(shè)計(jì)的主要思想是設(shè)計(jì)一大一小的2個(gè)數(shù)據(jù)集,初始大小是:小:16M的cache 大:1G的dataset(DAG)
設(shè)計(jì)一大一小的目的是:大的數(shù)據(jù)集是小的cahce通過(guò)計(jì)算生成的,礦工為了能更快的挖礦只能保存大的dataset,以免重復(fù)計(jì)算耽誤時(shí)間,而輕節(jié)點(diǎn)只需保存保存小的cache即可驗(yàn)證。
大小數(shù)據(jù)集的生成原理
1.小cache:
初始大小為16M,容量大小以后每30000個(gè)區(qū)塊會(huì)更改一次。
通過(guò)Seed種子進(jìn)行一些運(yùn)算得到第一個(gè)數(shù),之后在小cache中的每個(gè)數(shù)都是前一個(gè)數(shù)取哈希后得到的,一般輕節(jié)點(diǎn)存儲(chǔ)此小cache。
2.大DAG:
大的數(shù)據(jù)集中的元素都是通過(guò)小的cahe計(jì)算得到的,小cache中通過(guò)偽隨機(jī)順序先得到一個(gè)位置的元素A的值,再通過(guò)A計(jì)算哈希得到B位置的值,循環(huán)迭代256次后得到了大數(shù)據(jù)集中的第一個(gè)元素,依次類(lèi)推直到得到全部的DAG元素。
3.挖礦過(guò)程
在以太坊中挖礦成功的條件跟比特幣一樣,找到一個(gè)nonce值,需要滿(mǎn)足H(header) <= target.
嘗試一個(gè)隨機(jī)數(shù)nonce時(shí),在大的DAG中,通過(guò)header及nonce計(jì)算出一個(gè)初始的哈希值映射到初始位置A,然后讀取A位置元素和A的相鄰后一個(gè)位置A'的元素,再通過(guò)(A和A')計(jì)算出位置(B和B'),依次類(lèi)推,迭代64次后,一共讀取出128個(gè)數(shù),最后計(jì)算這128個(gè)數(shù)的哈希值與目標(biāo)值target比較,若滿(mǎn)足<=target,則挖礦成功;否則重新嘗試nonce。如下圖所示:
整體的挖礦過(guò)程如下圖所示:
4.驗(yàn)證過(guò)程
驗(yàn)證過(guò)程跟比特幣類(lèi)似,給定一個(gè)nonce值,只需驗(yàn)證一次即可。
驗(yàn)證過(guò)程跟挖礦過(guò)程類(lèi)似,對(duì)于全節(jié)點(diǎn)來(lái)說(shuō),在內(nèi)存中保存了大的DAG,只需循環(huán)計(jì)算64次后得到最后的哈希值與目標(biāo)值比較即可;對(duì)于輕節(jié)點(diǎn)來(lái)說(shuō),首先通過(guò)小的cache計(jì)算出大的DAG后再計(jì)算,后面過(guò)程跟全節(jié)點(diǎn)一樣了。
ETH使用的共識(shí)協(xié)議介紹
以太坊共識(shí)機(jī)制共有四個(gè)階段,即Frontier(前沿)、Homestead(家園)、Metropolis(大都會(huì))、Serenity(寧?kù)o)。以太坊前三個(gè)階段采用的是POW共識(shí)機(jī)。第四個(gè)階段將采用自己創(chuàng)建的POS機(jī)制,名為Casper投注共識(shí),這種機(jī)制增加了懲罰機(jī)制,并基于POS的思想在記賬節(jié)點(diǎn)中選取驗(yàn)證人。
POW即工作量證明,是比特幣系統(tǒng)中采用的共識(shí)機(jī)制。(本文主要講解以太坊的共識(shí)機(jī)制)
談起Casper投注共識(shí),要先說(shuō)POS。POS即權(quán)益證明,主要特點(diǎn)以權(quán)益證明代替工作量證明,由具有最高權(quán)益的節(jié)點(diǎn)實(shí)現(xiàn)新塊加入和獲得激勵(lì)收益。POS共識(shí)是為解決POW共識(shí)機(jī)制的資源浪費(fèi)和安全性缺陷而提出的替代方案。它的本質(zhì)是采用權(quán)益證明來(lái)代替POW中的基于哈希算力的工作量證明,是由系統(tǒng)中具有最高權(quán)益而非最高算力的節(jié)點(diǎn)獲得區(qū)塊記賬權(quán)。權(quán)益體現(xiàn)為節(jié)點(diǎn)對(duì)特定數(shù)量貨幣的所有權(quán),稱(chēng)為幣齡或幣天數(shù)(Coindays)。
幣齡是特定數(shù)量的幣與其最后一次交易的時(shí)間長(zhǎng)度的乘積,每次交易都將會(huì)消耗掉特定數(shù)量的幣齡。例如某人在一筆交易中收到10個(gè)幣后并持有10天,則獲得100幣齡;而后其花掉5個(gè)幣后則消耗掉50幣齡,顯然采用POS共識(shí)機(jī)制的系統(tǒng)在特定時(shí)間點(diǎn)上的幣齡總數(shù)是有限的,長(zhǎng)期持幣者更傾向于擁有更多幣齡,因此幣齡可視為其在POS系統(tǒng)中的權(quán)益。
投注共識(shí)是以太坊下一代的共識(shí)機(jī)制Casper(鬼馬小精靈)引入的一個(gè)全新概念,屬于POS。Casper的共識(shí)是按區(qū)塊達(dá)成的,而不像POS那樣按鏈達(dá)成。
為了防止驗(yàn)證人在不同的世界中提供不同的投注,還有一個(gè)簡(jiǎn)單嚴(yán)格的條款:如果你兩次的投注序號(hào)一樣,或者說(shuō)你提交了一個(gè)無(wú)法讓Casper依照合約處理的投注,你將失去所有保證金。從這一點(diǎn)可以看出,Casper與傳統(tǒng)的POS不同的是,Casper有懲罰機(jī)制,這樣非法節(jié)點(diǎn)通過(guò)惡意攻擊網(wǎng)絡(luò)不僅得不到交易費(fèi),而且還面臨著保證金被沒(méi)收的風(fēng)險(xiǎn)。
Casper協(xié)議下的驗(yàn)證人需要完成出塊和投注兩個(gè)活動(dòng)。具體如下:
出塊是一個(gè)獨(dú)立于其他所有時(shí)間而發(fā)生的過(guò)程,驗(yàn)證人收集交易,當(dāng)輪到他們的出塊時(shí)間時(shí),他們就制造一個(gè)區(qū)塊,并簽名,然后發(fā)送到網(wǎng)絡(luò)上。投注的過(guò)程更為復(fù)雜一些,目前Casper默認(rèn)的驗(yàn)證人策略被設(shè)計(jì)為模仿傳統(tǒng)的拜占庭容錯(cuò)共識(shí):觀(guān)察其他的驗(yàn)證人如何投注,取33%處的值,向0或1進(jìn)一步移動(dòng)。
而客戶(hù)端確認(rèn)當(dāng)前狀態(tài)的過(guò)程是這樣的:一開(kāi)始先下載所有的區(qū)塊和投注,然后用上面的算法來(lái)形成自己的意見(jiàn),但是不公布意見(jiàn);它只是簡(jiǎn)單地按順序在每個(gè)高度進(jìn)行觀(guān)察,如果一個(gè)區(qū)塊的概率高于0.5就處理它,否則就跳過(guò)它。在處理所有的區(qū)塊之后,所得到的狀態(tài)就可以顯示為區(qū)塊鏈的當(dāng)前狀態(tài)”。
總之,ethash基本思路和比特幣的pow類(lèi)似,都是不斷隨機(jī)nonce得到的值與難度進(jìn)行比較,滿(mǎn)足條件則挖礦成功,否則繼續(xù)嘗試。與比特幣比拼cpu算力不同的是,ethash通過(guò)生成一個(gè)巨大的數(shù)據(jù)集,通過(guò)限制內(nèi)存來(lái)防止具備強(qiáng)大算力的ASIC礦機(jī)壟斷,增強(qiáng)了去中心化能力。
以上就是以太坊共識(shí)算法是什么?ETH使用的共識(shí)協(xié)議介紹的詳細(xì)內(nèi)容,更多關(guān)于以太坊共識(shí)算法知識(shí)分享的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
你可能感興趣的文章
-
加密貨幣空投有哪些類(lèi)型?如何安全領(lǐng)取空投代幣?完整指南
隨著區(qū)塊鏈技術(shù)的不斷發(fā)展,空投(Airdrop)已成為加密項(xiàng)推廣的重要式,簡(jiǎn)單來(lái)說(shuō),空投就是免費(fèi)發(fā)放加密貨幣,的是吸引更多戶(hù)關(guān)注項(xiàng)目并參與其中,對(duì)新來(lái)說(shuō),空投是種低檻的 …
2025-09-23 -
區(qū)塊瀏覽器怎么用?怎么查看鏈上數(shù)據(jù)和轉(zhuǎn)賬狀態(tài)?
區(qū)塊瀏覽器是一種專(zhuān)門(mén)用于查詢(xún)和瀏覽區(qū)塊鏈信息的工具,本質(zhì)上是區(qū)塊鏈的 “搜索引擎”, 它能實(shí)時(shí)瀏覽和查詢(xún)區(qū)塊鏈上的區(qū)塊高度、交易記錄、地址、代幣等信息,將復(fù)雜的鏈…
2025-09-23 -
2025年如何挖掘萊特幣 (LTC)幣?挖礦教程、收益分析
萊特幣誕生于 2011 年,是比特幣的一個(gè)分叉,旨在成為更輕量、更快速的支付網(wǎng)絡(luò),它采用 Scrypt 算法,這是一種不同于比特幣 SHA-256 的哈希算法,最初的設(shè)計(jì)目的是降低挖礦…
2025-09-23 -
什么是跨鏈橋?市面上有哪些跨鏈橋?一文介紹
什么是跨鏈橋?跨鏈橋在加密貨幣領(lǐng)域發(fā)揮著至關(guān)重要的作用,它實(shí)現(xiàn)了不同區(qū)塊鏈網(wǎng)絡(luò)之間的資產(chǎn)轉(zhuǎn)移,這是必要的,因?yàn)槊總€(gè)區(qū)塊鏈都按照自己的規(guī)則獨(dú)立運(yùn)行,因此無(wú)法直接在…
2025-09-23 -
DeFi 3.0是什么?DeFi 3.0 代幣、功能、工作原理介紹
去中心化金融 (DeFi) 已經(jīng)徹底改變了人們對(duì)貨幣、借貸和投資的認(rèn)知,從早期簡(jiǎn)單的借貸協(xié)議到如今高度復(fù)雜的收益挖礦方法,DeFi 不斷發(fā)展演變,這種演變的最新階段就是人們所…
2025-09-23 -
DePINFi是什么?有哪些分類(lèi)?DePINFi的趨勢(shì)的優(yōu)勢(shì)和挑戰(zhàn)介紹
DePINFi 是“去中心化物理基礎(chǔ)設(shè)施網(wǎng)絡(luò)金融”的縮寫(xiě),是去中心化物理基礎(chǔ)設(shè)施網(wǎng)絡(luò) (DePIN) 與去中心化金融 (DeFi) 的交匯點(diǎn),下面小編就為大家詳細(xì)介紹一下它吧…
2025-09-22 -
Base生態(tài)核心項(xiàng)目有哪些?一文速覽值得關(guān)注的20個(gè)Base生態(tài)項(xiàng)目
本文將推薦Base生態(tài)中值得關(guān)注的20個(gè)項(xiàng)目,通過(guò)梳理這些項(xiàng)目的市場(chǎng)定位和資本表現(xiàn),來(lái)判斷Base生態(tài)的真實(shí)厚度,并進(jìn)一步揭示其未來(lái)增長(zhǎng)的動(dòng)力來(lái)源,這不僅是對(duì)Base App轉(zhuǎn)型…
2025-09-22 -
一文盤(pán)點(diǎn)Web3 AI的11個(gè)潛力項(xiàng)目:不要錯(cuò)過(guò)的造富列車(chē)
Web3 AI為普通人提供了參與AI財(cái)富創(chuàng)造的機(jī)會(huì),不同于傳統(tǒng)AI的精英化,以下是我們精選的 Web3 AI領(lǐng)域最具潛力的項(xiàng)目和方向,Web3 AI的造富列車(chē)已經(jīng)啟動(dòng),現(xiàn)在上車(chē)還來(lái)得及…
2025-09-22 -
什么是加密貨幣完全稀釋估值FDV?怎么算?為何代幣解鎖可能意味著上漲
什么是加密貨幣完全稀釋估值FDV?為何代幣解鎖可能意味著上漲?FDV 考慮的是代幣的總供應(yīng)量,而流通供應(yīng)量指的是當(dāng)前市場(chǎng)上實(shí)際交易的代幣,理解 FDV 有助于全面評(píng)估一個(gè)項(xiàng)…
2025-09-20 -
什么是加密貨幣市值?市值為何重要?如何影響加密貨幣價(jià)格?
市值,通常被稱(chēng)為“市值”,是一個(gè)反映加密貨幣總價(jià)值的財(cái)務(wù)指標(biāo),它是通過(guò)將加密貨幣的當(dāng)前價(jià)格乘以其總流通供應(yīng)量來(lái)計(jì)算的,本文深入探討了加密貨幣市值的含義、計(jì)算方法以…
2025-09-19