比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

為以太坊引入 KZG 承諾:工程師視角(上)_以太坊

Author:

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

免責聲明?:本文僅僅是匯集、鏈接了許多已經公開的成果,對應的榮譽應歸屬于相應的作者/開發者。

P.S.?:特別感謝EthereumR&Ddiscord頻道幫助我理解KZG10承諾的某些方面。此外,還要感謝?@vbuterin幫忙審校本文。

PPS?:本文是出于lodestar團隊的利益而撰寫的;lodestar是一個很棒的ETHPoS客戶端,基于typescript,可以讓以太坊的服務?無處不在,也開啟了作者對以太坊生態和創新的理解。

我希望本文也能對全世界的其他開發者/技術人員有所幫助。本文遵循CC0自由創作公約,作者已放棄所有權利。

動機

作為一個有益的指南,幫助讀者熟悉、總結以太坊背景下?KZG10承諾的提議用法,并提供深入理解的指南。

本文的目的更多是總結,而非嚴謹,不過,您可以點擊文中所附的鏈接,它們會有更詳細的解釋。

基礎原理

注-1:哈希值就是一個對被哈希的原像的承諾,用于檢驗被哈希的數據的完整性。

舉個例子,假設?h1=H(t1,t2,t3..),然后把h1交給驗證者,然后給出一個偽造的區塊?(t1,t2',t3...),對方快速計算這個偽造區塊的哈希值之后,發現兩者對不上,就可以合理地拒絕你的偽造區塊。

Rocket Pool發布為以太坊合并準備的新版智能節點堆棧:金色財經消息,以太坊流動性質押協議Rocket Pool工程師jcrtp發推稱,Rocket Pool已發布為以太坊合并準備的新版智能節點(Smartnode)堆棧v1.6.0。舊版本用戶需要盡快更新節點,以為合并做好準備。[2022/8/26 12:49:44]

類似的,一棵默克爾樹的根節點,就是對按特定索引組織起來的所有葉子節點的承諾。或者簡單來說,是對?indexes=>values的映射的承諾。

而這里的“證明”就是一個葉子的?默克爾分支?以及?兄弟哈希值,憑借這些數據,可以逐級向上哈希,并通過最終的哈希值是否與根節點一致來判斷該葉子是否與這棵默克爾樹一致。

可看看這里的介紹?:)。

注-2:數據映射與一個多項式的對應關系

indexes=>values?這樣的數據映射可以表示為一個多項式?f(x),并且?f(index)=value。“f(index)=value”通常被稱為?求值形式,而“f(x)=a0+a1.x+a2.x^2...”則是其?系數形式。直觀來說,我們其實是根據映射中所有的?(index,value)?點,擬合出了一個多項式。

EOS網絡基金會創始人:TrustEVM可成為以太坊可行擴容方案:7月1日消息,關于摩根士丹利報告的一條推文顯示,轉向PoS并不能解決以太坊的擴容問題。EOS網絡基金會創始人和首席執行官Yves La Rose轉發此條推文并表示:合并(The Merge)無助于解決以太坊擴容問題,但EOS可以,Trust EVM推出后,以太坊終于有了一個可行的擴容解決方案。據悉,此前Yves La Rose就曾在推特表示:EOS一直是高性能、低成本的L1區塊鏈網絡。脫離Block.one桎梏之后,EOS社區資金到位、人才回歸,正在重新煥發活力卷土重來。EOS并不旨在成為“以太坊殺手”,EOS推出的Trust EVM或將成為以太坊首選的L2解決方案。Trust EVM是官方EOS EVM平臺,具有確定性的Gas計算、指令集級別的EVM兼容性以及完全的RPC兼容等特性并即將登陸EOS主網。[2022/7/1 1:43:50]

為了簡便計算,并確保多項式與數據映射的一一匹配,我們不使用索引值來作為f(x)的x,用的是?w^index,也就是?f(w^index)=value,其中w是d次單位根,而d是該多項式的次數。因此,我們可以使用快速傅立葉變換來實現高效的多項式計算,比如乘法和除法,在求值形式下其計算復雜度會是?O(d),而且可以在?O(d*log(d))?的復雜度內轉化回系數形式。所以保持?d?數值較小還是很有好處的。

開發者為以太坊開源節省Gas費用的聚合工具GasSaver:開發者EmilianoBonassi發布為以太坊交易節省Gas的智能合約套件GasSaver。通過接入GasSaver,開發者可以調用1inch開發的Chi或者GasToken2的代幣,之后交易中的部分Gas就可以使用這兩種代幣進行支付,節省整體Gas消耗。[2020/8/10]

注-2.1:以太坊的狀態是一個從地址到賬戶狀態的映射。

背景知識

以太坊當前使用默克爾樹作為EVM數據的承諾。此種承諾方式可以:

逐個區塊地插入/更新數據,以增量的方式產生新的根哈希

驗證者可以逐個區塊地校驗和證明

前綴樹結構在這里提供了這種逐塊更新的特性。

分析 | EOS DApp 日活為以太坊的9倍:據PeckShield態勢感知平臺數據顯示,9月18日即EOS主網上線后3個月,EOS DApp日活為12,009首次超過了以太坊 DApp日活的10,136;11月9日即EOS主網上線后5個月,EOS DApp日活為69,363是以太坊 DApp日活 7,764的近9倍,在去除群控賬號之后,EOS當天DApp日活為31,142,也有以太坊的4倍。此外就DApp交易額而言,8月24日即EOS主網上線2個半月后,EOS單日DApp交易額為705萬美元,而以太坊當天DApp交易額為255萬美元,EOS首次超過了以太坊,DApp交易額呈極速增長之勢。值得一提的是,7月21日,以太坊在Fomo 3D類游戲的影響下,DApp交易額達到最高峰值6,800萬美元,而11月08日,在一大波EOS競猜類游戲的涌現的情況下,EOS DApp單日交易額則達到了10,700萬美元,不難看出,EOS DApp生態在高峰期的交易額遠在以太坊之上。[2018/12/1]

給定一個?d?叉的、有?N?個葉子的前綴樹,任意更改一個葉子節點,都需要更新?O(log-d(N))?個節點以計算反映新狀態的新根值;而這需要額外的?(d-1)*O(log-d(N))?個兄弟節點哈希值/承諾來用作時間和空間的見證數據。一個區塊可視為一個需要更改?m?個隨機葉子的批量更新,且?m<<N。因為預計只有一小部分的節點可以共享witness和計算,所以,每次更新的?Order不會有太大改變。

CryptoKitties銷售額達到1200萬美元 可能會成為以太坊的殺手級應用:CryptoKitties銷售額達到1200萬美元,可能會成為以太坊的殺手級應用基于以太坊的數字小貓收藏游戲CryptoKitties已經在其分散市場上處理了超過1200萬美元的銷售額。從本質上講,CryptoKitties是一個類似Tamagotchi的游戲,作為在以太坊協議之上啟動的分散式應用程序(dapp)而開發。[2017/12/11]

在下列情況下,問題還會變得更加嚴重:

部分采用快速同步的協議,比如?beamsync,會下載并快速驗證區塊頭來追上最新的主鏈頂端并參與網絡的共識,注意,它不會先行構建好完整的狀態再參與共識,而是通過獲取錯過的/未加載的狀態的見證數據,來逐步構建出完整的狀態

為?輕節點?服務的時候,他們只關心自己,只想獲得區塊鏈狀態的特定部分

網絡走向完全無狀態時,所有的事務和合約操作,都要附帶相關的見證數據,來證明數據輸入和輸出的正確性

在驗證者會被混洗到不同分片的區塊鏈分片模型中,要讓驗證者每到一個分片就構建完整狀態是不現實的

代碼默克爾化,訪問代碼時需要附帶這些代碼塊的見證數據

在狀態保質期協議中,訪問過期的賬戶需要重新附帶狀態見證數據,以便重建該賬戶的狀態

在無狀態以太坊項目的一個實驗中,出現了?1MB?的區塊證據,在發生攻擊的時候還會膨脹好幾倍。

其中一種解決辦法是轉為使用“二進制默克爾樹”,也就是把?d?降下來,這樣雖然樹的深度會增加,但仍然是?O(log(N))?的規模。

為什么要使用KZG10承諾?

對于要放在區塊頭內承諾數據的承諾方案來說,以下特點是理想屬性:

證據的數據量較小,可以塞進區塊頭里,且仍具有很強的安全保證

易于證明某個承諾是使用分組化數據的一個子集生成出來的

足夠小,最好證據的數據量是恒定的

為了跟蹤數據,承諾應當易于以增量的形式變更

基于KZG10承諾的方案就是大家一番搜尋的結果。

譯者注:可以看到,作者有三個?

什么是KZG10承諾?

KZG10承諾可以視為另一種哈希方案,只不過它哈希的不是“字節”,而是多項式。

實際上,它就是?計算?多項式?f(x)?在秘密的定點?s?上的值,只不過它們都是表示在一條橢圓曲線上的,也即?=f()。這需要一個受信任的啟動設置,來生成、、…?,而?d?就是多項式的最大階數。

這里的??表示點t處的橢圓曲線值,也就是?t,是橢圓曲線加法群的生成點相加t次。橢圓曲線上的所有計算都是對Fp求模,Fp給曲線施加了一定的范圍。

注3.0:在?indexes=>values?的映射中,所有的值都要表示為一條橢圓曲線上的元素,即,以便計算承諾。這就使得value的大小有了限制。在BLS曲線上,大概在31~32字節之間。為了簡便,value的大小就限制在31字節,任意更大的值都要分塊化,并用其索引值來恰當地表示。

注3.1:可以被視為t的哈希值,因為從找回t是個離散對數問題,對于安全的曲線來說,是很難做到的。

注3.2:s是一個秘密的數值,永遠不應泄漏給任何人/所有人,但橢圓曲線點?,?…?及其在另一條橢圓曲線上的值?'?則應生成并公開出來,讓所有人知道。這就是啟動設置要做的事。

這些?系統參數?定義了整個系統的安全性,因為?s?暴露會使得攻擊者可以構建任意內容的?證據。因此,一個有N個參與者共同參與的啟動設置儀式中,他們要通過協議把本地的s結合起來,這樣只要有1個參與者是誠實的、在參與之后就銷毀掉了自己提供的s,這個系統就會是安全的。即,信任模型是1/N模型,N越高,風險就越低。

注3-3:?是一個線性的操作,即+=,而且?a=。

如果上所述,我們將數據映射表示為?f(w^index)=value,即一個多項式的求值形式,也可說,我們用這些?(w^index,value)?點擬合出了一條曲線。

所以,一個多項式f(x)的KZG10承諾c(f)?是一個橢圓曲線點?f(),這個點可以靠在f(x)的展開式中插入?,?…計算得出。

注3-4:f(s)是無法計算的,因為s是個秘密值。但是?C(f)==f()?是可以計算的。

注3-5:f(x)的承諾?C(f)=?也是一個線性的運算符,即,C(f+g)=C(f)+C(g)。

Rollup/聚合器?可以使用這一屬性來更新承諾。在求值形式下,更新一個求值點將導致f(x)完全改變,但因為有這個屬性,其承諾c(f)仍然是易于更新的。

Tags:以太坊EOSAPPDAP怎么得到以太坊幣的錢DEOS價格數字貨幣交易所app下載DAPP

芝麻開門交易所下載
馬斯克暗示特斯拉將重新接受比特幣支付,BTC應聲上漲_狗狗幣

6月14日消息,特斯拉首席執行官埃隆·馬斯克發布推文表示,一旦其確認多數比特幣礦工在利用清潔能源,他的電動汽車公司將重新接受比特幣支付,受此消息影響,比特幣價格一度上漲至39000美元.

1900/1/1 0:00:00
DeFi周刊 | 去中心化交易平臺Uniswap總交易量超3000億美元_RON

DeFi周刊是金色財經推出的一檔每周DeFi領域的總結欄目,內容涵蓋本周重要的DeFi數據、DeFi項目動態等.

1900/1/1 0:00:00
以太坊2.0進展更新:7月進行倫敦硬分叉 8月進行信標鏈升級_以太坊

注:原文作者是以太坊2.0開發者BenEdgington。 本周推薦 與DannyRyan以及Vitalik一同進行的PEEPanEIP會議,是關于理解Altair即將發生變化的極好入門.

1900/1/1 0:00:00
一文縱覽DeFi基礎設施與市場格局:有哪些關鍵組件,與傳統金融有什么區別?_區塊鏈

去中心化金融正在重新定義金融的未來。支持金融應用程序的底層基礎設施正在發生重大轉變,它正在改變我們對許可和控制、透明度和風險的看法.

1900/1/1 0:00:00
NFT 將定義未來文化輸出最終形態_DEFI

A&TCapital介紹了NFT應用變遷,并點明了重點關注的NFT領域投資機會。撰文:JasmineZhang與FionaHe,A&TCapital合伙人與投資經理《三體》中,伊.

1900/1/1 0:00:00
比特幣突破4萬美元 衍生品指標顯示專業交易員尚未看多_HASH

有時候,比特幣抽升10%只需要像埃隆·馬斯克這類人物的一句正面評論。5月12日,在特斯拉宣布出于環保考慮,將不再接受比特幣支付后,該公司首席執行官被認為是近期經濟下滑的罪魁禍首.

1900/1/1 0:00:00
ads