比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > ETH > Info

科普 | 以太坊 2.0 中的Custody Game及MPC實現_ETH

Author:

Time:1900/1/1 0:00:00

本文作者:DankradFeist、謝翔

來源:Unitimes

編者注:本文作了不改變作者原意的刪減。

以太坊2.0

以太坊是當前世界上使用最為廣泛的區塊鏈系統之一。經過約五年的發展,目前已進入第四個階段——『寧靜』,也就是廣為所知的以太坊2.0,通常簡稱為ETH2.0。

以太坊2.0將會成為迄今為止最具雄心的一次升級,其設計目的涉及到改善去中心化系統的各個方面。一旦升級成功,目前以太坊網絡的兩大難題將會被解決,它們分別是可擴展性和可持續性。

01?可擴展性

當前以太坊網絡的能力大約為20TPS,這遠無法滿足成百上千個應用程序的使用需求。以太坊社區提出了許多解決擴展性的方案,Eth2.0最終決定采用分片的方式來實現Layer1層的擴展。

簡而言之,通過分片的方式可將系統分為可管理的較小部分,并且每一分片各自獨立并行處理。最后,每個分片的結果將通過交聯到信標鏈連接在一起。

舉一個簡單的例子,假設一個區塊包含三筆交易。在當前的以太坊網絡中,每個節點必須驗證所有交易。若算力最差的節點需3秒來驗證該塊,則系統的吞吐量為1TPS。顯然,系統的可擴展性取決于單個節點的處理能力。

在分片中,交易可被分配給不同的分片鏈,每一個節點僅需驗證其中一個分片即可。交易也被分成三部分,每一部分在單獨的分片中分別進行驗證。假設每筆交易可以在1秒內完成驗證,那么整個系統的吞吐量將變為3TPS!此外,每個節點不需要存儲鏈中的所有數據,它們僅需負責在某些時期對于一些特定分片數據的存儲。

當然,在實際情況中,每一分片可被多個驗證人節點驗證。若對此感興趣,可進一步參考ShardingFAQ。ETH2.0目標是打造1024個分片,其吞吐量相比當前網絡預期將提高1000倍,加上layer2層的擴展機制,其性能將會進一步提高。

人民數字FINTECH推出區塊鏈科普動畫:人民日報數字傳播發布微博稱,人民數字FINTECH出品《趣味科普|區塊鏈動畫》。[2020/3/31]

02?ProofofStake

當前的以太坊和比特幣一樣,依賴于工作量證明來保證系統的共識。在PoW系統中,“礦工”通過消耗電力資源來解決密碼學難題,并且會因為解決難題而獲得獎勵。安全性源于計算問題的難度,由于“挖礦”所存在的巨額收益,因此造成一些礦池的中心化和壟斷,使得系統的安全性大大折扣。不僅僅是中心化,挖礦/工作量證明還存在許多其它的問題。譬如,由于計算所消耗的電力資源引起的極大浪費,而消耗能源本身是用來保證系統安全性的,所以這在PoW范式中很難解決。另外,系統只有獎勵機制,卻不會因為惡意行為而受到懲罰。因此實際上,安全性的開銷要比所需的遠高的多。

為了解決這些問題,以太坊2.0將會切換到ProofofStake,該協議稱為Casper。在PoS系統中,“挖礦”過程替換為一個投票系統,驗證人節點需要質押32個以太幣才能參與系統并進行投票。為了達成共識,驗證人節點輪流對下一個區塊進行提議和投票。如EthereumProofofStakeFAQ所述:

?此區塊鏈系統維護一組驗證人節點列表,任何持有其基礎密碼貨幣的用戶,都可通過發送特定類型的交易進行“鎖倉”來成為驗證人節點。生成并就新區塊達成一致的的過程通過共識算法來完成,共識過程所有節點都可參與。

信標鏈將成為以太坊2.0的核心,它存儲并維護所有驗證人節點的注冊,處理跨分片通訊以及最終一致性的確認。所有的分片始終遵循信標鏈,持有32個ETH的用戶可成為驗證人節點。在一個周期中的每一時段,系統從信標鏈中隨機選擇委員會指派給不同的分片。驗證人節點最終被劃分為多個不同的委員會,每個委員會至少由128位驗證人節點組成。該委員會負責在特定的分片上生成區塊。

另一方面,驗證人節點也會因出現不良行為或不誠實行為而受到懲罰,最嚴重的的一種懲罰,將會銷毀節點所有質押的以太幣。其他一些情節輕微的懲罰行為包括:不在規定時間正常運行,證明尚未最終確定的區塊等。對于雙簽或者對錯誤的計算進行簽名都會施以最嚴厲的處罰

動態 | 報告:區塊鏈等熱點詞促使童書科普百科類成交額同比增速最高:近日,京東圖書與艾瑞咨詢聯合發布了《2019中國圖書市場報告》。報告指出,AI、5G、區塊鏈、機器人、VR、智能家居、AR這些熱點詞,不斷點燃科技熱潮,科技在改變大眾生活的同時,也吸引了越來越多家長的關注,從小培養孩子對科技的興趣和熱愛。因此童書中科普百科類成交額同比增速最高,占比將近40%。[2020/1/8]

數據可用性問題

數據可用性問題與欺詐證明高度相關,簡要說明如下。更多詳細信息請參見這篇。

01?欺詐證明

在上面對區塊鏈中的節點的描述中,我們實際上指的是全節點。全節點產生鏈的區塊,下載每個節點中的所有數據,并驗證所有交易和狀態的有效性。一個全節點要求機器配置大量的內存,強大的計算能力以及非常高的帶寬。而像手機這樣的受限設備很難滿足這樣的配置要求。輕節點或者輕客戶端是全節點的一種低成本替代方案。它們至少連接到一個全節點上,并且僅下載區塊頭和想要的區塊數據。他們信任全節點來檢查數據的有效性,并假定惡意全節點無法創建一條有效的分叉鏈。欺詐證明是針對輕節點的一種機制,它用于降低被非法鏈欺騙的安全風險。每當誠實的全節點發現某種不一致的狀態時,全節點就會生成一個欺詐證明,并為輕節點發出“警報”。此欺詐證明很小,并且可快速在網絡進行分發,而且可以肯定地證明某些鏈的確存在故障。這樣,輕節點就可以完全忽略此非法的鏈,并避免其可能導致的系統狀態不一致。

例如,若全節點發現一筆交易t是錯誤的,此交易的前后狀態分別為S_in和S_out。那么全節點構造出此筆交易對應的欺詐證明為以及相應的Merkle根。證明本身非常小,很容易廣播以及驗證。輕節點可通過驗證Merkle根和交易三元組確定交易的非法性。

數據可用性證明指的是,若某些惡意的全節點對區塊頭進行了簽名,但卻不發布區塊中的某些數據,該怎么辦?特別是如果數據里包含了一筆無效交易該如何?在這種情況下,誠實的全節點無法生成欺詐證明,這是由于缺乏生成欺詐證明所必需要的數據。

動態 | 幣安科普MimbleWimble算法:幣安官方推特今日發布隱私算法Mimblewimble的科普貼,在下方留言區大量網友留言猜測是否是基于 Mimblewimble算法的隱私幣Grin或者Beam即將登陸幣安交易所,其中猜測Grin的呼聲更高。[2019/9/2]

02?分片中的數據可用性

數據可用性問題在分片中也尤其重要。如前所述,ETH2.0中的驗證人節點不會驗證所有區塊,也不會去下載所有數據。這是為了讓分片機制充分發揮效用,并減輕單個驗證人節點的負擔。分片區塊將由委員會驗證,并且只有承諾值會存儲在信標鏈中。從這個角度來看,驗證人除了需要一直持續性的參與網絡獲得之外,它們實際上可看做是大多數分片上的輕節點。分片中的數據可用性問題描述如下圖所示:

整體過程可用以下步驟說明:

分片數據以Merkle結構存儲得到Merkle根。事實上這是交聯數據根,為簡便起見,將其稱為Merkle根;

提議人節點生產新區塊并對Merkle根進行簽名;

其他驗證人節點對此區塊進行投票并簽名。其中,BLS簽名可聚合成一個簽名;

當簽名的數量超出門限時,簽名的Merkle根就會被添加到信標鏈上。

在其它分片上發揮作用的分片無法獲知完整的區塊鏈數據,并且也不會去下載,否則,這會直接消除分片所帶來的優勢。這種情況下的數據可用性問題指的是,如何能夠驗證分片1中的數據確實可被任何想要下載或驗證此數據的全節點所獲取。

托管策略

Eth2.0假定2/3的驗證人節點是誠實的,并且以這樣一種方式將驗證人節點分配給對應的分片:若滿足2/3的驗證節點誠實,則永遠不會將不可用或者不正確的區塊包含在一個交聯中。但是,這里的“誠實”意味著什么呢?可能有一些驗證人節點“誠實但懶惰”:鑒于在大多數情況下,沒有人試圖作弊,因此節點可能永遠都需要真正驗證任何內容,而只是對任何傳入的區塊頭進行簽名。或者,為了更加安全一些,可先等待該區塊頭積攢了一些簽名之后,然后再繼續簽名。這種方式仍然可以獲得獎勵,但卻幾乎不需要做任何工作。如果發生這種情況,攻擊者可以依靠這些驗證人節點促進無效區塊的傳播。這對于系統的整體運行狀況將會帶來災難性的影響。因此,我們希望盡可能避免使用“誠實但懶惰”的驗證人節點,這也正是采用CustodyGame的目的。

聲音 | ETC Labs主管:科普教育是未來幾年公鏈面臨的巨大挑戰:ETCLabs主管Darin Kotalik認為,科普教育是未來幾年公鏈面臨的巨大挑戰,人們必須要對區塊鏈有基本的認識,分清楚公鏈和私鏈的區別。[2019/8/25]

CustodyGame本身不能完全解決數據可用性問題。因此,需要額外進行數據可用性檢查。但是,它可以確保至少在分片1中對此區塊進行簽名的驗證人節點都擁有數據。

粗略來說,在CustodyGame中,每一個驗證人節點必須計算出另外的一個托管比特。此托管比特僅可由持有“秘密”密鑰和數據的驗證人節點計算出來。在公布托管密鑰后,任何人都可使用數據來驗證這一托管比特。若發現一個無效的托管比特,可在鏈上對此進行挑戰。如果挑戰者是正確的,那么他們將得到獎勵,并且托管比特生成方將會被處罰。

托管證明存在以下幾個關鍵點:

托管密鑰是從驗證人節點密鑰中確定性地計算出來,以避免采用新的密鑰增加系統復雜性。托管密鑰會周期性地生成,并且在托管周期結束時公布出來。任何人都可驗證托管密鑰的有效性。它也被稱為臨時密鑰,因為它僅在一個托管周期階段有效。

若沒有托管密鑰和數據,那么生成托管比特的方式與隨機猜測并無太大區別。

任何人都可以使用托管密鑰和數據來檢驗托管比特的有效性。

在Eth2.0中,驗證人節點的公鑰將是BLS簽名系統的公鑰。一旦質押以太幣成為驗證人節點,對應的運營者將生成一個公私鑰對。對于每一個托管周期,驗證人節點都能夠生成臨時托管密鑰ek。臨時密鑰實際上是對計數器的BLS簽名。由于BLS的簽名過程是確定性的,因此所有的臨時密鑰都可預先由公鑰完全決定。除了驗證人節點本身之外,任何人都無法計算出臨時密鑰。

聲音 | 火星人朋友圈科普RAM:火星人在朋友圈發文稱,“什么是RAM?簡單來說就是EOS這個國家的土地,所有的經濟行為都離不開土地。只要EOS的BP們能投票形成一個穩定的供給預期,并且不改變目前的Bancor算法,那么RAM后續的價格有可能會像北上廣深的房價走勢。房價下跌不行,房價過快上漲也不行,EOS的生態越來越像某國了,真有意思。”[2018/7/6]

托管比特是通過某一類mix函數計算而來,盡管函數的具體形式仍在討論中,但其規范傾向于使用MPC友好的構造,詳見eth2.0-specs。總的來說,托管比特的生成方式為b=mix(ek,D),其中D為區塊數據。

目前,mix函數的構造使用了通用哈希函數和勒讓德偽隨機函數。這些函數均為帶密鑰的函數并且是確定性的。因此,給定一個密鑰ek,將其表示成兩個元素ek0,ek1。然后,驗證人節點可計算出托管比特b=Leg_PRF(ek0,UHF(ek0,ek1,D)),如下圖中的流程所示:

簡而言之,UHF用于擴展輸入數據空間,同時避免外包計算。采用LegendrePRF的緣由主要有兩點:其一,它在MPC的計算中非常高效;其二,其可確保托管比特具備更好的隨機性。可參考這篇文章獲取更多細節,并且,我們將會在后續的文章中給出更加深入的解釋。MPC友好性Eth2.0的設計目標之一是使其對MPC友好。其中包含了兩個原因:其一,通過允許運營節點在多個計算機甚至不同的數據中心之間分布其驗證人節點,從而避免單點故障,這可以帶來額外的安全性;其二,通過一個無需信任的驗證人節點池,能夠使資金較少的人可以參與Eth2.0驗證。因此,托管證明也應該對MPC友好,這也是使用LegendrePRF的主要原因。由此,這或許會開啟一種全新的業務模式,并產生許多其它有趣的應用。請參見此處獲取更多細節。

文中鏈接:

https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ

https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html

https://github.com/ethereum/eth2.0-specs/blob/dev/specs/phase1/custody-game.md#misc

https://ethresear.ch/t/using-the-legendre-symbol-as-a-prf-for-the-proof-of-custody/5169

https://slideslive.com/38920085/ethereum-20-trustless-staking-pools

https://github.com/PlatONnetwork/proof_of_custody

參考文獻:

TheBeaconChainEthereum2.0explaineryouneedtoreadfirst.https://ethos.dev/beacon-chain/

Ethereum2.0:ACompleteGuide.https://medium.com/chainsafe-systems/ethereum-2-0-acomplete-guide-d46d8ac914ce

Ethereum2.0:ACompleteGuide.Scaling,PartOne.https://medium.com/chainsafesystems/ethereum-2-0-a-complete-guide-3739a74be61a

Ethereum2.0:ACompleteGuide.ScalingEthereum—PartTwo:Sharding.https://medium.com/chainsafe-systems/ethereum-2-0-a-complete-guide-scaling-ethereum-parttwo-sharding-902370ac3be

ProofofStakeFAQ.https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ

Dataavailabilitychecks.https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html

Anoteondataavailabilityanderasurecoding.https://github.com/ethereum/research/wiki/Anote-on-data-availability-and-erasure-coding

1-bitaggregation-friendlycustodybonds.https://ethresear.ch/t/1-bit-aggregation-friendlycustody-bonds/2236

UsingtheLegendresymbolasaPRFfortheProofofCustody.https://ethresear.ch/t/using-thelegendre-symbol-as-a-prf-for-the-proof-of-custody/5169

Proofofcustodygamedesign.https://github.com/ethereum/eth2.0-specs/issues/568

Theproofofcustodygame.https://notes.ethereum.org/@vbuterin/rkhCgQteN#The-proof-ofcustody-game

Ethereum2.0TrustlessStakingPools.https://slideslive.com/38920085/ethereum-20-trustlessstaking-pools

Tags:ETHTHETPSREUSTKETH幣ethereum怎么讀tps幣圈THOREUM

ETH
人民網、新華網雙雙“上鏈”,區塊鏈版權進入生產方主導時代?_人工智能

文丨互鏈脈搏·元尚 未經授權,不得轉載! 4月22日,新華網發布了《改革發展三年行動計劃》,當中提出要用區塊鏈建設“源數據”平臺。在此之前,人民網2019年7月推出了“人民版權”平臺.

1900/1/1 0:00:00
談去中心化:還沒走兩步,就要往回逃_DEFI

作者:NEST愛好者_DW1987最近有人因為312DeFi事件開始批判去中心化,有點像吃了帶毛豬就罵豬肉垃圾。這些人不去想想事情的根源,是屠夫沒有剃好毛呢,還是豬肉本身就不值一試.

1900/1/1 0:00:00
馬化騰:“用鏈量”或成為數字時代的重要指標_數字貨幣

本文為馬化騰為《產業區塊鏈》一書所作推薦序。經過50年的發展,互聯網從少數學者的“玩具”,逐漸變為全球數十億人日常生活與工作不可或缺的工具.

1900/1/1 0:00:00
密鑰繁多難記難管理?認識高效密鑰管理體系_DGE

作者:嚴強 來源:微眾銀行區塊鏈 密鑰設置是否只要夠安全就能夠重復使用?定期修改密鑰到底有沒有必要?密鑰不幸遺失該如何恢復?素未謀面的雙方,如何才能安全地進行密鑰協商?上一論我們了解到.

1900/1/1 0:00:00
Libra發布2.0白皮書,推出單貨幣穩定幣,并放棄向無許可系統過度_LIBRA

北京時間4月16日晚間,沉寂一段時間的Libra再次出現在社區眼前。由Facebook打造的Libra發布了白皮書更新版——Libra2.0,其中對Libra的設計進行了多處重大更改.

1900/1/1 0:00:00
深度解析 Libra 2.0 的取舍與堅持_區塊鏈

撰文:鄭嘉梁,HashKeyCapital研究總監。HashKeyCapital是香港數字資產集團HashKeyGroup旗下的區塊鏈投資基金.

1900/1/1 0:00:00
ads