在上篇文章中,我們介紹了Vitalik原始論文中的CasperFFG,其借助PoS對PoW產生的區塊進行確認來提高系統的安全性,但這只是一種過渡的方案,在以太坊2.0中會使用一個純PoS的Casper協議,這篇文章中將為大家介紹在以太坊2.0中將要使用的Casper協議。如何成為Validator
首先我們看看以太坊2.0的架構是什么樣子,如圖1所示,在以太坊2.0中會有一條稱之為Beaconchain的主鏈,其通過PoS的Casper產生。在beaconchain下,存在1024個分片,每個分片可以獨立地處理數據。
圖1以太坊2.0架構從圖1可以看出,以太坊2.0和以太坊1.0將會是兩條鏈,在2.0分片實現之后,1.0將作為以太坊2.0的一個分片繼續運行。在上一篇文章中,我們介紹過可以通過抵押stake成為Validator參與到PoS共識中,為了使以太坊平穩得過度到2.0,如何通過抵押以太坊1.0中的stake成為以太坊2.0中的Validator是Casper需要解決的一個重要問題。在以太坊2.0中,原有的用戶可以通過抵押以太坊1.0中的ETH成為Validator,參與到2.0的PoS中,并且可以通過贖回操作,在2.0的以太坊中取回代幣。這里需要注意的是,以太坊1.0和2.0中的代幣并不相同,用戶抵押的是1.0中的ETH,贖回的是2.0中的代幣。用戶想要成為Validator,首先要向以太坊1.0中的一個特殊合約發送一筆交易抵押一定數量的ETH,然后用戶會得到關于這筆交易的一個證明。用戶通過向以太坊2.0展示這個證明,在驗證通過后成為Validator,如圖2所示:
OKEx開啟BETH交易:12月23日,OKEx官方公告稱即將上線BETH,并對相關交易實行一個月的0手續費優惠。市場交易具體安排如下:
1. BETH/USDT的市場交易:12月23日15:00(HKT)
2. BETH/ETH的市場交易:12月23日16:00(HKT)
BETH是OKEx為參與ETH2.0質押挖礦的用戶發行錨定鏈上質押資產的代幣,是ETH2.0完成升級后,在平臺1:1 贖回ETH的唯一憑證。
此外,OKEx為了支持ETH2.0升級,方便用戶完成ETH2.0質押,面對社群開展了共1萬枚ETH的補貼活動。詳情見官網公告。[2020/12/23 16:15:18]
圖2抵押以太坊1.0中的ETH成為以太坊2.0中的Validator過程為了驗證用戶抵押交易的正確性,以太坊2.0中需要保存當前以太坊1.0中的區塊信息、抵押合約中當前所有交易構成的Merkle的根哈希<root>,用戶向以太坊2.0展示其抵押交易,以及該抵押交易到<root>完整的Merkle樹的證明,就可以驗證這幣交易的合法性。通過驗證的用戶成為以太坊2.0中的Validator。以太坊2.0中Capser的出塊過程
在上一篇文章中,我們介紹的Casper是通過PoW進行出塊,使用PoS對區塊進行最終的確定。因此,純PoS的Casper一個需要解決的問題是如何產生區塊。在正式介紹協議過程前,我們先明確幾個定義:Validators集合:V=V1…Vn,假設每個Validator擁有相同的stake;slot:基本的時間單位,目前設定為6s;epoch:64個slot組成一個epoch;隨機數生成器:根據需要產生一個隨機數;在明確了上述的定義之后我們來進一步描述以太坊2.0中的Capser出塊過程,如圖3所示。
ETH在1小時內漲幅超過3.00%:據火幣全球站數據顯示,ETH/USDT在1小時內出現劇烈波動,漲超3.00%,達到3.01%。當前報價為 435.20 美元,行情波動較大,請注意風險控制。[2020/8/17]
圖3以太坊2.0中Casper共識過程1、每一個epoch開始,通過隨機數生成器產生隨機數,將Validator集合V平均分為64份,得到S1、S2,…,S64。2、在一個epoch中,每一個sloti根據步驟1中產生的隨機數,選取Si中的一個Validator提交一個候選區塊,在sloti中提交候選區塊的Validator寫作proposer_i,提交的候選區塊寫作B_i。3、對于每一個sloti,Si中除proposer_i外的剩余Validator對B_i進行投票,該投票寫作attestation。4、在每一個sloti中,proposer_i負責將上一個slot中的attestation信息打包到當前slot的候選區塊中。即
5、對于每一個sloti,Si中除proposer_i外的剩余Validator在收到了sloti的block或等待了3s后,其公布一個在他看來的當前鏈的頭部。
LMDGHOST
至此,我們介紹了Casper如何進行出塊以及Validator對于候選區塊的投票過程。需要注意的是,上文中提及到Validator需要對在它看來為鏈的頭部進行投票,以太坊2.0使用了一種新的最優鏈選擇算法來選擇鏈的頭部。在介紹這種新的最優鏈選擇算法之前,讓我們回憶一下以太坊1.0的最優鏈選擇算法——GHOST。GHOST算法的主要思想是,對于一條區塊鏈因為時間延遲和惡意節點的存在會產生許多的分叉,當發現分叉時,選擇子樹的總Difficulty最大作為最優鏈,如圖4所示:
動態 | 辟謠:“Tether 不再對標美元”為誤報:今天題為“Tether不再對標美元”的新聞報道有誤報和炒作的嫌疑。 理論上,Tether依然與法幣1:1綁定,但是,隨著Tether重啟新用戶驗證和法幣直接贖回業務,Tether 的核心交易所Bitfinex 宣布解除了 USDT 與美元 1:1 綁定定價的做法,允許 Bitfinex 上交易的 USDT 和其他交易所一樣價格浮動。Tether 平臺上贖回的 USDT 依然和法幣 1:1 綁定。不過,Tether 還設立了新的客戶贖回限額,要求最低贖回金額為 10 萬美元,同時,每周限定只能進行一次法幣贖回的操作。推特上有用戶批評 Tether 設定的法幣贖回限制過高。[2018/11/28]
圖4GHOST協議鏈在紅色的點產生分叉,假設每個區塊的Difficulty相同為1,藍色子樹的總Difficulty為8,紫色子樹的總Difficulty為4,因此選擇藍色作為最優鏈上的點。GHOST協議在在PoW協議中是沒有問題,但是PoS協議天然受到LangRange攻擊的影響,即攻擊者可以通過少量資金購買曾經擁有大量stake但是目前為空的賬戶,回到過去,在過去的位置進行分叉產生大量的非法的區塊,GHOST協議將無法保證系統的安全性。如圖5所示:
圖5:LangRange攻擊攻擊者通過在過去位置產生黃色的區塊,子樹B的總Difficulty為10,紫色區塊將成為最優鏈上的點。雖然在投票前需要抵押token,但是在贖回自己的token后,攻擊者就可以在其還是Validator的epoch中肆意妄為,不擔心token會被罰沒。因此,為了解決這個問題,以太坊2.0設計了一個新的算法——LMDGHOST。LMDGHOST的主要思想是,對一條存在分叉的鏈,在找尋鏈的頭部過程中,當其遇到分叉點時,選擇當前epoch中Validator支持多的那棵子樹。協議的主要過程為:對于一條存在分叉的鏈:1、H等于創世區塊;2、M=是Validator的最新消息;3、選擇M中支持率最多的孩子節點,將其設置為H;4、重復步驟直到沒有孩子節點;雖然LMDGHOST的使用是為了解決LongRange攻擊,但是筆者認為,購買曾經的賬戶相當于時光倒流,形成了一個新的平行宇宙,當一個新用戶進入時,面對兩條分叉鏈在不借助額外信息的情況下很難判斷哪個是攻擊者構造的鏈,因此LMDGHOST無法徹底抵御LongRange攻擊。至此我們已經介紹鏈以太坊2.0中的Casper如何進行出塊,接下來將是最后一個部分,如何對候選區塊進行最終的確認。區塊確認
行情 | OKEx同時段接收16個地址轉入共計5.74萬個ETH:據Searchain.io數據顯示,今日10:49,共16個地址向OKEX在同一時段轉入大量ETH,轉賬總額為57,425個ETH,其中單筆轉賬最高為16,789個ETH,請注意風險控制。(登錄金色財經app—發現,查看更多幣種的獨家點評)[2018/9/30]
在上一篇文章中,我們解釋了justified和finalized的checkpoint,finalized的checkpoint之前的節點被最終確認。概括的說,以太坊2.0中的Casper將每個epoch當成一個checkpoint,attestation對checkpoint進行投票,進而確定checkpoint的justified和finalized狀態,確定justified和finalized的核心邏輯和上文中描述的類似。接下來,來說明一下block如何進入到justified和finalized狀態。如何justifyblock現在Casper將一個epoch分成64個slot,最后一個slot稱之為epoch_boundary_slot,用它的hash寫作epoch_boundary_hash代表一個epoch,將一個epoch看作一個checkpoint。讓鏈維護一個map,我們叫他justified_hashes,存儲的格式是<slot,hash>。為Validator的attestation增加兩個字段epoch_boundary_hash和latest_justified_hash,只有當attestation中的latest_justified_hash等于justified_hashes中的slot最新的hash,這個attestation才合法。鏈會跟蹤最新的justifiedhash,因此選擇相同epoch_boundary_hash會投票給相同的latest_justified_hash。現在我們來看看在一個epochboundary中,狀態是如何轉變的。假設對于一條鏈,最近的4個epoch的epoch_boundary_blockB1,B2,B3,B4其中B4是epoch最新的epoch_boundary_block,他們的slot寫作B1_slot,B2_slot,B3_slot,B4_slot,B3_slot=B4_slot-64,etc。如果有超過2/3的Validator選擇B4作為epoch_boundary_block,那么把<B4_slot,hash(B4)>加入justified_hashes。一個epoch_boundary_block成為justified的條件是超過2/3的Validator在其attestation中epoch_boundary_hash指向該block,當一個block被含在justified_hashes中表示,該block是justified,并且證明該block已經是justified的狀態被記錄到了鏈上。如何finalizeblock在確認了justified的狀態后,下一步需要確定如何讓block進入finalize狀態。如果B4和B3在justified_hashes中,投票給B4作為epoch_boundary_block的attestation選擇B3作為latest_justified_hash,finalizeB3。如果B4、B3、B2在justified_hashes中,投票給B4作為epoch_boundary_block的attestation選擇B2作為latest_justified_hash,finalizeB2。如果B3、B2、B1在justified_hashes中,投票給B3作為epoch_boundary_block的attestation選擇B1作為latest_justified_hash,finalizeB1。可以類比上一篇文章,Validator的投票為<v,s,t,h(s),h(t)>,可以將epoch_boundary_block看成h(t),latest_justified_hash看成h(s),這樣能更方便的理解block的確認過程。其他的一些小事
動態 | 推特正封停假冒賬號 ETH機器人仍猖獗:據bitcoin.com報道,推特每天都在刪除數以百萬計的詐騙賬戶,在5月和6月關閉了7000多萬個。然而,加密貨幣行業仍然存在大量假裝成比特幣名人的“ETH詐騙機器人”,而欺詐者已獲利數百萬。據昨日的截圖,假冒John McAfee和Tone Vays的推特賬戶稱,如果用戶轉給他們5枚ETH,將在用戶發送資金后返還50枚ETH作為回報。[2018/7/17]
為了Casper完整的運行,還有一些小事需要解決,由于篇幅比較短小我們放在一起來說吧。懲罰條件為了抵御notingatstake攻擊,用戶通過抵押token成為Validator進行PoS,當Validator非法操作時,沒收其抵押的token,來防止壞人作惡。Validator的懲罰條件為:1、同一個Validator不能在相同的epoch中發出兩個不同的attestation。2、同一個Validator不能發出兩個attestation,他們的epoch_boundary_block分別為t1和t2,latest_justified_hash為s1和s2,且s1<s2<t2<t1。這個懲罰條件和上一篇文章中的懲罰條件是相同的。Validator更換條件dynasty(B)表示從blockB開始到創世區塊之間,finalizedepoch的個數。兩個dynasty之間可以更換1/64的Validator。分叉選擇條件從最新的finalizedblock開始,進行LMDGHOST。《求真區塊鏈》本系列關于Casper的文章到此為止就結束了,如果大家覺得有疑惑的地方可以搜索FractalPlatform公眾號加入社區討論,Fractal的技工們在線解疑。
Tags:ALIETHIDAVALGALI價格togetherbnb能睡幾個MIDADark Land Survival
自從去年算力大戰后,BCH分叉成BCHABC和BSV兩個幣種。當時,在算力大戰中為BSV提供支持的,就是區塊鏈公司Coingeek的實際控制人CalvinAyre.
1900/1/1 0:00:00曾經,在區塊鏈領域,開發者是底層設施提供商的必爭之地。如今,螞蟻區塊鏈和趣鏈等聯盟鏈公司也開始通過舉辦大賽等方式,爭奪開發者.
1900/1/1 0:00:00編者按:本文部分內容來自cryptopotato,作者GeorgeGeorgive,Odaily星球日報王也編譯.
1900/1/1 0:00:00編者按:本文來自BixinInstitute,作者:DanHeld,編譯:幣信研究院,Odaily星球日報經授權轉載.
1900/1/1 0:00:00上期回顧BTC:短期內BTC仍將在$10,000上下來回震蕩,等待擇向,若市場無法向BTC注入上漲動能,BTC價格方面仍以下降為主。BTC最低下跌至$9,600,之后又無量拉升,市場仍待擇向.
1900/1/1 0:00:00前言:盡管以太坊存在擴展性問題,但基于以太坊之上產生的去中心化金融逐步成長起來。它提供安全的原生貨幣,有ETH的抵押利率、有MakerDAO提供的穩定幣DAI、有Compound的借貸、有基于E.
1900/1/1 0:00:00