隨著走向成熟的以太坊Layer-2解決方案多了起來,ENS也要能為整個生態系統提供服務,同時讓ENS用戶能夠獲得Layer-2解決方案給他們帶來的效率提升。自Vitalik的一篇帖子提出了一種可能的方法之后,ENS團隊和廣大的ENS和L2社區也一直在開發一種通用的“Layer-2橋”,讓包括ENS在內的應用,能夠以免信任的方式在多個鏈下信源處檢索數據,進而使跨平臺的互操作性成為可能。
在10月27號最新的一次工作會議上,我演示了這個想法的一個初步實現。本文中我會詳細講解這種解決方案。
目標
概要來說,Layer-2和其它相關系統的工作原理都是減少與以太坊交互的需要,它們將原本需要在鏈上保存和訪問的狀態移到了別的地方,同時,保證在以太坊區塊鏈上有足夠多的信息能驗證數據的正確性。舉個例子,在Rollup這種常見的方案中,狀態會存儲在另外一個系統中,只有witness數據例如默克爾根會存儲在以太坊區塊鏈上。有了這些witness數據和Layer-2解決方案的訪問權,一個參與者就可以構建出對任意保護在Layer-2系統中的數據的有效性證明,并且可以由以太坊來驗證。
這個定義比大多數人所認為的“Layer-2”要更加廣泛——它還包括了其它一些減少鏈上數據存儲的工具,比如使用賬戶余額默克爾樹的空投,以及會觸發事件但并不在鏈上存儲余額的代幣。
動態 | 報告:區塊鏈等熱點詞促使童書科普百科類成交額同比增速最高:近日,京東圖書與艾瑞咨詢聯合發布了《2019中國圖書市場報告》。報告指出,AI、5G、區塊鏈、機器人、VR、智能家居、AR這些熱點詞,不斷點燃科技熱潮,科技在改變大眾生活的同時,也吸引了越來越多家長的關注,從小培養孩子對科技的興趣和熱愛。因此童書中科普百科類成交額同比增速最高,占比將近40%。[2020/1/8]
對于ENS和其它應用來說,關鍵問題在于,在一個存在許多互不兼容的Layer-2方案的世界里,如何能以信任最小化的方式——也就是不引入任何新的信任假設——從某個系統中檢索數據,且不需要變成所有Layer-2方案的客戶端、自己來存儲可能有用的數據。
一個幼稚的方法是,要求所有的系統都使用同樣的witness數據格式。但這一點是不可能的,兩個原因:第一,witness數據的格式和類型都高度依賴于相關系統的實現細節,ZKRollup和OptimisticRollup使用的元件必定不同;第二,客戶端仍然無法實際獲得數據。
實用的方法必須滿足下列條件:
客戶端不需要為它們可能與之交互的每一個系統提供顯式支持。
客戶端必須能夠驗證返回的數據是有效的,最好無需引入除相關L2方案自帶假設以外的信任模型。
動態 | 鏈客社區聯合北京交通廣播推出區塊鏈技術科普節目:12月11日15:15—16:00,區塊鏈技術社區——鏈客區塊鏈技術社區將聯合北京交通廣播FM103.9從零開始為大眾科普解碼區塊鏈技術,蜻蜓FM及北京廣播網同期進行全球直播。首期做客嘉賓為鏈客區塊鏈技術社區創始人郄建軍和百度區塊鏈產品負責人于雅楠。[2019/12/11]
解決方案不會要求接入的L2平臺產生結構性的變更。
第三方必須能夠為L2平臺開發接口,無需平臺維護者的支持和參與。
解決方案概覽
我們提議的方案的核心是一種標準化的工具,讓客戶端能夠從一個外部系統——一個網關服務——處檢索數據;以及一種標準化的方法,來驗證返回的數據是正確的。
相應地,這里有兩個主要的組成部分:第一個,是一個放在以太坊Layer-1上的智能合約,向客戶端提供一個發現網關并驗證網關響應正確性的工具;第二個,是一個網關服務,理解如何與給定的L2系統交互、以及如何為合約的用途而格式化數據。
在該模型下,獲得數據的過程分三步:
這里的網關服務只需要為客戶端所發送的claim調用解碼函數調用數據,組裝一個證明——或者,在一個實際的L2方案中,參考L2來組裝出一個證明——然后將結果編碼放在對claimWithProof的調用中,返回給客戶端。
最后,客戶端驗證返回的calldata是否以合約所斷言的前綴開始,如果是,則使用交易發送calldata給合約。
claimableBalance的實現也差不多,只是客戶端使用calldata來調用合約,將返回值作為調用的最終結果。
安全考慮和信任模型
假設客戶端信任了原始合約——我們的意思是,期望該合約會以特定的方式運行,而這可以通過檢查它發布的源代碼來驗證——那么這個系統就不會引入任何新的信任假設。雖然網關的響應是一個外部流程,但其不良行為的范圍僅限于拒絕服務。
首先,如果我們信任合約,我們同樣也會信任它來制定一個網關URL來回應我們的查詢請求。其次,我們也可以信任它來實現充分的驗證、保證網關的響應是準確的,既可以通過在第一步中指定calldata前綴、也可以通過在最后一步中驗證網關的響應來保證。
因此,一個嘗試用不正確的值來響應的網關——無論是提交了不正確的數據,還是不正確的證明——都會被執行驗證步驟的合約發現。一個嘗試正確響應、但使用非用戶所發出請求的對應結果來響應的網關,會在用戶的calldata前綴檢查中發現。客戶端可以通過檢查合約的行為來保證這些——或者依賴于某些人對合約的檢查——都可以在開始交互前實現。
網關可以完全拒絕響應,也就是拒絕服務,而且這種情況確實可能因為網關惡意或者故障而發生。因為這一點,我們提議,任意最終規范,都應該讓用戶易于fork服務,并提供自己的網關;就像現在用戶能夠forkdApp的前端一樣。
ENS應用
ENS使用這套系統也會相對直接一些。解析器可以實現本文所述的協議,用于解析任何的數據字段,然后每一個希望支持ENS數據的存儲和檢索的L2都可以部署新的解析器實現和相應的網關。希望使用L2的用戶只需存儲自己的記錄到合適的L2中,并在以太坊上發送一筆一次性的交易來指定相關的解析器地址,來使用自己的域名。
為了讓這個方案更通用,ENS也應該改進,以支持某種形式的通配符解析,使得搜索域名失敗時會向解析器咨詢該域名的父域名——如果“foo.example.eth”不存在,那客戶端就會在解析器內搜索“example.eth”。這一功能使得其它系統可以存儲ENS的整個子樹,而不僅僅是單個域名的記錄。
未解決的問題
雖然某些應用可以從合約指定網關URL所創造的額外間接層中獲益,另一些應用,比如上文所示的token合約,最好把這些編碼為該合約ABI的一部分來,使得用戶更容易fork。一個終極的解決方案最好能支持兩種選擇,且不會強加不必要的負擔。
目前,客戶端無法分別出一個返回無效calldata的網關和一個無論如何都會回滾的調用。需要作出一些規定來區分這兩種情況——舉個例子,如果證明數據的驗證不通過的話,要求合約使用一個特定的回滾理由。
它需要一個比“以太坊L2通用橋”更吸引人的名字。
自己試試
我文章所有demo的源代碼都可以在這里找到。
本報告由火鏈科技研究院出品報告發布時間2020年11月13日作者:袁煜明、李慧、范戴芫 摘要: 區塊鏈作為比特幣的底層技術進入人們的視野,目前其應用領域已大大擴展,主要可分為兩類.
1900/1/1 0:00:00比特幣的價格延續漲勢,在今天早些時候飆升至19412美元,創下今年新高。 每日加密貨幣市場表現來源:Coin360確定比特幣的實際歷史最高紀錄多少有些爭議,因為不同的交易所列出了不同的數據.
1900/1/1 0:00:00通過捐款、設立選舉合約等舉措,SBF與他的FTX深度介入了本次美國總統選舉,不僅反映出加密貨幣市場對全球社會愈發增長的影響力以及對更優政策環境的訴求,還反映出SBF越來越龐大的加密市場野心.
1900/1/1 0:00:00比特幣的反對者、曾準確預言2008年經濟危機的“末日博士”魯比尼表示,央行數字貨幣革命將在三年內到來.
1900/1/1 0:00:00就在昨天,比特幣突破了15000美元,比特幣達到這個價位在圈內引起了巨大的關注。據歷史數據顯示,歷史上只有17天比特幣的價位比這個高,這17天全部都在2017年12月7日至2018年1月10日這.
1900/1/1 0:00:00原文標題:《Non-FungibleTokens(NFT):Beginner''sGuide》原文作者:MelanieKramer編譯:0x13,律動BlockBeats非同質化代幣,即NFT.
1900/1/1 0:00:00