以太幣交易所 以太幣交易所
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...),對方快速計算這個偽造區塊的哈希值之后,發現兩者對不上,就可以合理地拒絕你的偽造區塊。

數據:近85%的執行層客戶端已為以太坊合并做好準備:9月12日消息,據ethernodes披露的最新數據顯示,當前已有84.8%的執行層客戶端為以太坊合并做好準備,仍有15.2%的執行層客戶端尚未升級到支持合并的最新版本。

四個執行層客戶端中:Go-ethereum(Geth)的83%、Erigon的90%、Besu的99%、Nethermind的92%已做好合并準備。[2022/9/12 13:24:01]

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

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

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

Uniswap成為以太坊上首個年收入超過10億美元的DApp:1月4日消息,Uniswap成為以太坊區塊鏈上運行的首個年收入超過10億美元的DApp。數據顯示,該DeFi DApp目前每天處理12.8億美元的交易量,收入為250萬美元。從2020年10月到2021年10月,Uniswap共賺取了11億美元的費用。按目前200億美元的完全稀釋市值計算,該公司的市盈率約為20倍。

在更廣泛的科技行業,市盈率可以達到100甚至1000倍,與此不同的是,人們對Uniswap的估值更像是一家傳統的老公司,業務增長緩慢但穩定。

部分原因可能是以太坊區塊鏈在沒有L2的情況下無法處理更多的流量,因此,在Starknet、zkSync、Optimism和Arbitrum等L2興起之前,以太坊區塊鏈的使用量很難增長10倍。

然而,12月4日,Uniswap確實處理了41億美元的交易量。這意味著它的日營收約為1000萬美元,因此可推算其年內峰值收益為40億美元,或者完全稀釋后的市值為800億美元,這意味著Uniswap的最高定價區間將從目前的20美元升至80美元。(Trustnodes)[2022/1/5 8:25:16]

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

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

數據:當前已有82.7%的節點為以太坊Altair硬分叉完成同步:數據顯示,當前已有82.7%的節點為太坊2.0信標鏈主網的Altair硬分叉完成同步。據悉,Altair硬分叉將于北京時間今日19時左右開始進行。(Nodewatch)[2021/10/27 21:02:09]

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

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

Messari前主管:智能合約平臺推出非美元穩定幣將有機會成為以太坊殺手:Messari前主管、股票及加密貨幣交易員Qiao Wang發推稱,智能合約平臺通過推出非美元穩定幣將有機會成為真正的以太坊殺手,由此而產生的網絡效應將是殺死ETH的唯一方法,這也是目前以太坊生態系統拼圖中明顯缺失的一塊。

王啟奧認為,推出非美元穩定幣的項目第一步可與大型交易所合作,上架以該穩定幣計價的交易對,而投機是分發新加密產品的最佳方法,一旦分布廣泛,DeFi、匯款和國際付款之類的事情就會自然發生。[2020/7/6]

背景知識

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

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

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

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

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

Cardano創始人:不希望再被稱為以太坊聯合創始人,Cardano更讓我自豪:Cardano創始人、以太坊聯合創始人Charles Hoskinson發推稱:“總有一天,加密貨幣媒體將不再稱我為以太坊聯合創始人,而只會提到Cardano,那將是非常美好的一天。在我的整個人生中,沒有任何一個項目或努力比Cardano更讓我感到自豪。”(ZyCrypto)[2020/4/25]

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

部分采用快速同步的協議,比如?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:以太坊VALVALUEALU以太坊最新價格行情昭valuerightzillionValuedefi vSWAPVALUE幣

火幣網下載官方app
股市幣市聚焦美聯儲,“縮表”究竟何時到來?_比特幣

本輪加密貨幣市場牛市背后最大的推手是各央行放水,各國央行為推動經濟迅速走出疫情陰霾積極印錢,造成資金源源不斷涌入風險市場,抬升風險市場的資產價格.

1900/1/1 0:00:00
融資新聞 | 加密貨幣交易所OSL母公司完成7000萬美元融資_ITA

據TheBlock6月13日報道,管理新加坡外匯儲備的主權財富基金新加坡政府投資公司已向香港上市的BCGroup投資5.4319億港元。BCGroup是受監管的加密貨幣交易所OSL的母公司.

1900/1/1 0:00:00
“死多頭”MicroStrategy再度買入 持比特幣超10萬枚 股價一度跌超10%_比特幣

數字貨幣“死多頭”MicroStrategy又買比特幣了,這次的購買也讓該公司的比特幣總持有量超過了10萬枚.

1900/1/1 0:00:00
以太坊EIP-1559將于下個月上線 這會對我們造成什么影響?_以太坊

以太坊即將發生巨大的變化,我們會有Eth2.0、EIP-1559,并且會在主要的以太坊協議中越來越多地采用layer2擴展解決方案.

1900/1/1 0:00:00
V 神最新思考:兩種途徑解決 PoS 共識機制下的 MEV 問題_UND

原文標題:《V神最新思考:兩種途徑解決PoS共識機制下的MEV問題》特別感謝JustinDrake以及Flashbots團隊給予的反饋和討論.

1900/1/1 0:00:00
比特幣 Taproot 升級滿足 90% 的闕值要求_比特幣

Taproot是多年來對比特幣協議最重大的改進,現在有足夠的礦池支持來鎖定激活。根據SpeedyTrial提出的參數,如果在任何一個指定的2周難度調整期挖取的區塊中至少有90%發出支持升級的信號.

1900/1/1 0:00:00
ads