總覽
熟悉Vitalik的都了解其著名的不可能三角理論,相較于傳統貨幣理論,一國無法同時實現貨幣政策的獨立性,匯率穩定和資本自由流動,最多只能同時滿足兩個目標,而不得不一定程度舍棄另一個目標,而區塊鏈所面臨的“不可能三角”則是指無法同時滿足去中心化,安全,可擴展性/效率這三項特征。其最近的文章“Endgame”則再次強調了區塊鏈的終極形態,區塊生產將由中心化的生產者主導,而區塊鏈驗證將由更多資源消耗較低,門檻較低的去中心化部署的,無需許可的節點參與,同時實現真正的防審查的開放網絡。在之前的區塊鏈模塊化演變之路中,我們也多次強調,以太坊的愿景是成為一個以Rollups為中心的,統一的解決和數據可用性協議,通過去中心化的驗證節點,以太坊網絡獲得了較高的安全性,盡管相較于其他Layer1,Rollups的費用較高,并且缺少一定靈活性,但是Rollups在享有Layer1的安全性同時,通過以太坊的結算和數據可用性獲得了一定的擴展性。?
DankSharding
以太坊目前采取了數據層面的分片,Rollups可以通過這種分片方式提交數據,因而摒棄了之前的分片計劃中介紹弱無狀態“WeakStateleness”和沃爾克樹“VerkleTree”的概念,試圖解決狀態驗證和狀態存儲的問題。而Celestia通過將執行層和數據可見層分離的方式,通過引入數據可見抽樣以及輕節點的概念,極大地提升了其可擴展性。
在Sharding1.0的設計中,每個區塊有64個分片,每個分片有單獨的提議者和委員會,輪流通過節集合選舉出來。每個提議者和為委員會負責驗證自己的分片數據(1/64)。而在Sharding1.0中,以太坊并沒有采用數據可見采樣,而是通過每個分片驗證集合大多數誠實節點假設下載全部數據實現。
這個設計顯得冗余和復雜,同時存在攻擊者風險,通過分片來分配節點的方式也不妥。同時,因為信標鏈上的驗證者需要收集所有的委員會投票,這需要時間,所以保證在一個時隙內完成投票也非常困難,除非引入額外假設。
以太坊ZK協處理器Axiom推出演示應用程序:1月31日消息,以太坊ZK協處理器(coprocessor)Axiom旨在提供智能合約對所有鏈上數據的去信任訪問,使得開發人員可以訪問歷史鏈上數據,并通過向Axiom進行查詢來對其執行經過驗證的計算,以通過零知識證明增強區塊鏈共識。
Axiom在以太坊主網上啟動4個演示應用程序,使用戶能夠證明賬戶年限、證明Uniswap v2 TWAP值、訪問RanDAO隨機性等,同時也開源其演示背后的ZK電路和智能合約。[2023/1/31 11:38:17]
而相比于Sharding1.0的設計,Danksharding的設計則引入了大區塊的設計,大區塊將信標區塊和所有分片數據結合并且實現同步確認,大區塊由專門的創建者(Builder)創建,而驗證節點通過數據可見采樣確保所有數據都是可見的。
數據可見采樣
數據可見采樣我們之前在多篇文章中已經介紹過,由于資源和成本限制,大部分節點無法下載全部的數據,如何在不下載全部數據的情況下驗證數據/交易呢?我們需要通過數據可見采樣確保數據的可見性,所以節點可以輕松安全的在無需下載全部數據的情況下驗證數據。?
而數據可用采樣是根據長期存在的數據保護技術刪除碼形成多項式。多項式式中的次數是其最高指數。比如x3+x2+2x-4的次數為3.?而多項式的一個核心特征就是任何次數為N的多項式都可以通過其上任意的N+1項恢復。比如原有數據為a?,a?,a?,a?。那么通過多項式對應的價值分別為f(0),f(1),f(2),f(3),所以f(0)=a?,f(1)=a?,f(2)=a?,f(3)=a?因而我們可以找到其對應的次數為3的多項式。同時,我們可以通過刪除碼技術,將原有數據拓展額外四項數值,我們將其記錄為c?,c?,c?,c?。f(4))=c?,f(5)=c?,f(6)=c?,f(7)=c?因此,我們可以利用多項式的特征,通過其上的任意四個數據樣本恢復多項式,也就是50%(4/8)的數據。比如我們采樣了30次,那么當可見的數據小于50%的時候,就會受到攻擊。而這個概率只有(?)3o。
以太坊Layer2總鎖倉量40.3億美元 7日漲幅3.9%:7月14日消息,據L2BEAT數據顯示,當前以太坊Layer2總鎖倉量漲至40.3億美元, 7日漲幅3.9%。其中,鎖倉量前五分別為Arbitrum(21.7億美元,7日漲幅6.86%)、Optimism(7.68億美元,7日漲幅4.43%)、dYdX(5.45億美元,7日跌幅5.71%)、Loopring(1.79億美元,7日漲幅1.08%)、MetisAndromeda(1.02億美元,7日漲幅5.2%)。[2022/7/17 2:18:47]
KZG多項式承諾
那么我們通過數據可見采樣實現了數據可見性(DAS),基于數據可見性,全節點可以生成欺詐證明,輕節點可以在無需下載全部數據的情況下,驗證全部數據,我們又是如何確保數據被正確的采用了刪碼技術呢?如果被額外拓展的數據是一個空集,或者是垃圾數據,那么我們如何恢復數據呢?
通常情況下,我們通過默克爾根證明某些集合中數據的存在性,而且適用于大量的數據。但是原有數據和通過刪碼技術得到的拓展數據,我們如何保證他們在同一個多項式上呢?那么我們就需要其他方法。而默克爾根無法證明。目前主要有兩個方向:
1)Celestia通過欺詐證明實現。當見證人發現數據沒有被正確采用刪碼技術,那么這個人就會將欺詐證明提交提醒其他人。但是這里需要最少誠實假設和同步假設。
2)以太坊和PolygonAvail則采用了KZG多項式承諾(KZGcommitments)的方法。這里免去了欺詐證明中的包括少數誠實假設和同步假設等的安全假設。當然,在數據恢復和重建的時候,我們不可避免地都需要引入這兩個假設(無論是Celestia還是以太坊,還是PolygonAvail)。
其他的解決方案比如Zk-proofs。但是其現有的計算瓶頸,使得其目前并被推崇為一個可行方案,我們期待未來的技術進步,而以太坊也可能在之后引入其STARKs的技術,因為KZG多項式承諾本質并不防量子計算,而STARKs可以。?KZG多項式承諾我們可以理解為一種通過加密方式承諾價值的多項式承諾方案。
以太坊上代幣化Vault標準ERC4626正式推出:3月18日消息,以太坊上代幣化 Vault 標準 ERC4626 正式推出,目前支持該標準的協議包括 Balancer、Maple Finance、Yearn Finance V3、Convex 等。
目前 Github 上的 ERC4626 報告包含了路由這樣的開源基礎設施以及 Convex 和 Fuse 的策略,其中路由允許在單個交易中將代幣在任何兩個 ERC4626 代幣中轉移。
ERC4626 開發者表示,目前雖然該標準經過審計,但并不意味是完全安全的。[2022/3/18 14:04:09]
而KZG根可以理解為類似于默克爾根的承諾。而我們上文也提到了原有的數據通過多項式匹配到為f(0),f(1),f(2),f(3)),而我們將拓展的數據匹配為f(4),f(5),f(6),f(7)。而f(0)到f(7)將確保在同一個多項式上。
KZG多項式承諾和欺詐證明
KZG多項式承諾并不能保證后量子安全,同時需要可信設置--必須生成具有一定關系的橢圓曲線點,但不允許任何人知道它們之間的實際關系-但可以通過分發信任,允許許多人參與設置,設計為只要一個人是誠實的,它就有效;而STARKs提供了后量子安全,而且其可信設置只需要一個誠實參與者,但是相比于欺詐證明,其無需引入同步假設和最小誠實假設,可以確保刪碼技術被正確使用,延遲性也較低。注意,這個延遲性體現在當采用數據可見采樣的時候,不同節點間需要欺詐證明實現信息互通,而這里欺詐證明會大大提升區塊間隔,而驗證者投票給錯誤編碼塊的風險性也會上升,而KZG則減少了這類問題的發生。
但是在區塊數據恢復的過程中,我們仍然需要用到上述兩個假設:
1)我們需要足夠多的節點去采集足夠多的數據樣本,從而恢復數據,這里需要最小誠實假設,一個全節點可以通過數據可見,生成欺詐證明。
近24小時以太坊上Dex交易量約合6.88億美元,環比下降17.8%:據歐科云鏈OKLink數據顯示,截至今日11:30,近24小時以太坊上Dex協議總交易量約合6.88億美元,較昨日下降17.8%。其中排名前三的分別是Uniswap 3.14億美元(-21.74%),Curve 2.08億美元(-11.83%)以及SushiSwap 0.51億美元(-15.01%)。[2020/9/25]
2)當數據可見后,不同節點需要在某時間段內溝通并且將數據重新組合,比如當區塊數據不完整,部分可見的時候,全節點必須其他節點溝通,將數據拼起來。
協議內提議者創建者分離(PBS)
POW中的礦工以及合并后的驗證者都承擔著類似的角色,他們負責提議,投票和出塊。POW中礦工通過哈希算法計算的形式參與,而合并后,驗證節點直接在區塊鏈上投票。而PBS創建了全新的創建者角色,負責生成包含信標鏈和分片數據的大區塊,同時以向驗證者競價的形式,提交區塊。和Vitalik中endgame的愿景相一致,在PBS中,一個誠實的創建者就可以保證網絡的安全以及抗審查性,而驗證節點則需要大多數誠實假設。?
創建者的收益主要來自于優先小費以及可提取的礦工價值(這等同于只有一個最高利潤的創建者能夠勝出,而其他創建者最終的競價都是一個收支平衡點)而所有的價值都會給到驗證節點集合,因為驗證者將無條件獲得競價金額。
首先,創建者提交區塊頭信息,這里包含執行區塊哈希,競價以及簽名;之后信標鏈提議者選出獲勝區塊頭,并且無條件獲得全部競價金額,而這個無條件支付方式解決了提議者對于創建者的信任問題;委員會成員確定獲勝區塊頭并且簽名,創建者展現區塊身,以及其他相關證明,剩余的委員會將認證獲勝區塊身。
這里我們為什么需要先提交區塊頭,確認之后再展現區塊身體?這里采用了承諾—揭示機制。如果一開始提交大量區塊身體,會造成大量的帶寬擁堵,同時其他的創建者也可以發現其策略,進行MEV攻擊,即使對于一些提議者來說,他們也可以復制這些策略,而并不給創建者任何獎勵和激勵,而MEV攻擊會逐步讓創建者和提議者的角色逐步融合,給整個生態帶來巨大傷害。
動態 | Upbit被盜的以太坊正在被拆分到多個地址 部分資金已流入交易所:Tokenview鏈上數據監控,此前Upbit被盜的以太坊在今日下午被拆分到兩個地址后,再次被分割到11個地址,且仍在繼續拆分轉賬。目前已經有部分以太坊被轉入幣安和火幣的交易所賬戶。[2019/11/29]
當然這里的問題是一個雙時隙的延遲問題,在PBS中整個區塊時間為2個時隙。比如合并后的出塊時間為12秒,而這里在不引入其他假設的情況下應該為24秒。當然我們最終采用8秒/16秒的折中算法。
PBS的設計在一定程度上解決了驗證節點去中心化的問題,同時雖然大區塊需要消耗相當多的資源,比較難創建,但是驗證相對容易,這也和Endgame的理念相一致。所以將創建者和提議者分開,本質上是處理大量資源,數據,難度的機構可以參與搭建,而提議者可以是驗證者。這種設計本質上讓MEV擴展到數以萬計的驗證者身上。
防審查列表(crlist)
當然這里和MEV問題中一樣,創建者和驗證者一樣,會利用自己的權利進行交易的審查,比如優先自己的交易,比如屏蔽其他人的交易等等。這里我們是如何解決的呢?以太坊采用了防審查的列表,提議者將他看到的所有交易都放在這個列表中,所以創建者必須將所有的交易都包含進去。這里的過程類似于PBS的過程,創建者首先需要提交包含所有交易的列表及概述,而后創建者創建區塊身,競價,并且包含交易列表的相應哈希,提議者選擇獲勝的競價和區塊頭。之后創建者展示區塊身并且證明他們已經囊括了所有列表上的交易,或者證明區塊已滿。委員會證明區塊身的有效性。
2DKZG方案
在以太坊中,一個KZG多項式承諾并不能解決所有數據問題,通常一個區塊有很多KZG承諾。在恢復區塊的過程中,我們需要很多低能源消耗的節點參與,所以相對應的KZG承諾也需要進行相應劃分。而為了讓恢復過程更為簡單,這里每個區塊中在m個KZG承諾中編碼m個數據碎片,而這個需要在每個數據碎片上進行數據可見采樣。因此,以太坊再次利用Reed-Solomon技術,將m個承諾擴展至2m。
在Danksharding中,每個區塊中最多有256個數據碎片。KZG承諾0代表的是數據碎片0相對應的原有數據和拓展數據。而和之前1D的承諾一樣,我們能確保0-511的承諾都在同一個多項式上。而至此,我們可以基于此進行數據可見采樣,確保所有分片中的數據可見性。
在1D方案中,我們需要50%的數據恢復所有數據,而在2D中,我們需要75%的數據才可以恢復,因此我們需要采集更多的樣本數據。這里需要強調的是,在1D的方案中,我們得出結論,我們需要采集30個樣本,而數據不可見的概率為(?)3o,?而要達到相同的概率,在2D的方案中我們需要采集75個樣本。讓我們通過帶寬理解2D方案是如何提升效率的:
在Sharding1.0方案中30個采集樣本,需要采集64個分片,所以如果需要檢查所有數據可見性,需要512B*64分片*30樣本/16秒=60KB/秒帶寬。而在2D方案中,我們可以將其考慮為一個區塊,所以需要512B*1*75樣本/16秒=2.5KB/秒帶寬Danksharding(DS)
DS設計基于PBS,其中在特定時間由一個創建者,一個提議者以及一個投票委員會組成。一般的驗證節點無法處理這么大量的帶寬,所以需要引入PBS。在DS中,每個區塊的數據存儲量有多少呢?我們可以計算下,每個數據碎片字段元素*32字節*256數據碎片=32MB。在DS的設計中,由于我們引入了大區塊的概念,盡管數據仍然需要分片,但是整體上你可以理解為一個統一區塊,并且在上進行數據可見采樣。
大多數誠實驗證
在DS中,每個時段都被分為32個時隙,因此每個時隙將匹配1/32節點進行驗證。每個節點在制定時隙驗證相應的2行2列,同時需要下載其他時隙區塊上的該行該列。比如,我需要認證時段2時隙26上對應的2行2列,因此我要確保從上一次我認證的區塊開始到現在,所有時隙上,我需要認證的行列信息都可見。所以DS中需要基于大多數誠實節點假設,確保數據可見性以及負責數據恢復。這個和上文提到的低能源消耗的采集75個樣本的輕節點不是一個概念。上文可以稱為私人隨機抽樣。
恢復/重建
恢復/重建過程中我們需要再此引入最小誠實假設和同步假設。而通過測算,我們需要64,000節點。但是實際情況下,這個數據會大大減少。64,000的節點數量是基于同樣的驗證節點不同時運行多個節點的假設,但這顯然與現實不符,因為以太坊單個節點的質押數量限制為32個,所以很多大戶將倉位分散到多個節點上。如果你采集的數據超過2行2列,那么你會大大提升概率,因為這里面會有很多交集,因此64,000數量要求將會大幅減少。
惡意多數安全的私人隨機抽樣
一旦采用了私人隨機抽樣,任何節點可以采集任意的數據樣本,即使當有惡意多數提醒數據可見的情況下,可以通過私人隨機抽樣高概率的證明數據可見,而上文提到驗證節點的行列數據采樣是基于多數誠實驗證節點的假設
這里私人很重要,如果攻擊者攻擊了匿名性,他們可以賄賂少部分采樣節點,根據你的請求提交數據并且隱瞞其他數據,因為根據你的采樣數據,你無法證明數據可見。
總結:
相比于Sharding1.0我們看到了Danksharding的極大進展,1)委員會的功能被弱化了,他們只需要投票,這個減少了受賄的風險。原來的分片設計中,驗證者每個時間段需要投票,但是每個分片都有自己的提議者和委員會會,所以每個時隙需要1/32*64=1/2-0-4-8的節點集合。而在DS中,驗證者也同樣每個時間段需要投票,而每個時隙需要1/32的節點集合投票。
2)數據碎片的確認不再是單獨的,而是和主鏈同步確認,這確保了rollups和以太坊執行環境中的同步互操作性,我們知道波卡等設計都一定程度上犧牲了可擴展性,而實現同步互操作性,而以太坊的這個設計,在實現分片的同時,確保數據碎片的交易可以立即被確認,同時上傳至L1。這個也將衍生出更多的類似于Cosmos上的互操作性設計,比如共享流動性,比如Superfliod質押,跨鏈安全性和跨鏈賬戶等設計,我們將持續關注。
3)同時我們也在上文提到了帶寬的提升,通過大區塊的設計以及2DKZG承諾,我們發現Sharding1.0中60KB/S的帶寬要求,而在DS中只需要2.5KB/S。
而在可擴展性層面,在模塊化的設計理念中,比如Celestia的設計理念,當輕節點數量越來越多時,我們可以發現區塊容量也越來越大,數據吞吐量也越來越高,所以本質上去中心化促使了擴展性。當然盡管我們看到了擴展性的提高,但是仍然會有一些tradeoff。除了安全可擴展的,允許更多生態搭建的底層以外,我們需要在數據存儲和帶寬上進行提升。?
數據存儲主要包含數據可見和數據可檢索性,而公式層需要保證在足夠的時間段內,任何人在滿足安全假設的基礎上,可以下載相應的數據,之后再存儲至任何地方。當吞吐量指數級上升時,這些假設可能就不成立了。
數據可見采樣中需要足夠的節點數據足夠多的數據,當然如果有惡意節點存在,數據樣本不夠的情況下,就無法恢復原有數據。因此當吞吐量指數級上升時,我們需要越來越多的數據樣本采集節點加入,同時也需要提高帶寬要求。所以對于32MB的KZG證明,需要較好的GPU,CPU,同時至少2.5GBit/s帶寬。
所以我們看到DS是一種簡化為數據分片的新型分片形式,ETH提供了不可擴展的數據,而Rollups將其轉為可擴展的計算,其設計更為簡單,減少了協議本身需要完成的事情,而更專注于與L2s的協作。同時也為EVM的執行分片埋下了伏筆,但是即使在EVM沒有執行分片的情況下,以太坊也是可擴展的。
來源:0xf1E2
Tags:以太坊INGHARDSHAada幣和以太坊幣誰有價值點BINGDWENDWENhardwaretokenUSHA幣
隨著DeFi用戶開始從以太坊主網轉向成本更低的鏈,對跨鏈橋基礎設施的需求也在不斷升級。雖然此時有些橋已經啟動,但大多數仍處于研究階段.
1900/1/1 0:00:00金色晨訊 | 1月16日隔夜重要動態一覽:21:00-7:00關鍵詞:俄羅斯、企業以太坊聯盟、美聯儲、BTCPay 1. 俄羅斯內閣辭職,當地比特幣交易出現溢價.
1900/1/1 0:00:00今日早間,加密貨幣分析師Otteroooo于個人推特發布了一篇關于CeFi巨頭BlockFi資金狀況的詳盡調查,得出結論稱BlockFi很有可能也將陷入流動性危機.
1900/1/1 0:00:00作者:Jiawei,IOSGVentures 1、引子 ComposableFinance的創始人提出了跨鏈互操作性的五個發展階段:0-20%:實現最基本的跨鏈通信和鏈間代幣移動;20-50%:.
1900/1/1 0:00:00第一部分:通往Danksharding之路,內容詳見——以太坊漫游指南及以太坊漫游指南第二部分-歷史和狀態管理在此快速回顧一些基礎知識:歷史——鏈上發生過的一切.
1900/1/1 0:00:00北京時間6月14日9時55分,比特幣跌破21000萬美元。加密貨幣持續走低,持有大量比特幣的公司受影響.
1900/1/1 0:00:00