隨著走向成熟的以太坊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”要更加廣泛——它還包括了其它一些減少鏈上數據存儲的工具,比如使用賬戶余額默克爾樹的空投,以及會觸發事件但并不在鏈上存儲余額的代幣。
IMF今日發布的加密貨幣科普視頻實為兩年前舊聞,且存在諸多疏漏:國際貨幣基金組織IMF今日在推特上發布了一條關于加密貨幣的科普視頻,這段時長兩分鐘的視頻最初發布于2018年6月。該視頻稱加密貨幣是“貨幣進化的下一步”,但沒有特別提到DLT、區塊鏈,甚至是代幣名稱等術語。BTC、XRP和ETH只出現在說明加密交易的圖形中。盡管這段視頻到目前為止已經獲得了超過13.7萬的點擊量和2900個贊,但來自加密社區的許多反應都是批評的,他們指出了信息中的漏洞和似乎具有誤導性的措辭。
Reddit用戶nanooverbtc稱:“他們犯了很多錯誤,比如把私鑰稱為密碼。”該視頻也沒有討論挖礦或加密貨幣供應。Kraken策略師Pierre Rochard等知名人士表示:“可證明的稀缺性是比特幣有趣的原因,你忘了提這一點。”(Cointelegraph)[2020/8/24]
對于ENS和其它應用來說,關鍵問題在于,在一個存在許多互不兼容的Layer-2方案的世界里,如何能以信任最小化的方式——也就是不引入任何新的信任假設——從某個系統中檢索數據,且不需要變成所有Layer-2方案的客戶端、自己來存儲可能有用的數據。
一個幼稚的方法是,要求所有的系統都使用同樣的witness數據格式。但這一點是不可能的,兩個原因:第一,witness數據的格式和類型都高度依賴于相關系統的實現細節,ZKRollup和OptimisticRollup使用的元件必定不同;第二,客戶端仍然無法實際獲得數據。
人大附中物理老師李永樂科普拜占庭將軍問題和區塊鏈:5月14日,人大附中物理老師、科普視頻網紅李永樂在其公眾號發布視頻《拜占庭將軍問題是什么?區塊鏈如何防范惡意節點?》。李永樂老師在視頻中對拜占庭將軍問題和區塊鏈進行了講解,他表示,拜占庭將軍問題本質上指的是,在分布式計算機網絡中,如果存在故障和惡意節點,是否能夠保持正常節點的網絡一致性問題。在近40年的時間里,人們提出了許多方案解決這一問題,稱為拜占庭容錯法。例如蘭波特自己提出了口頭協議、書面協議法,后來有人提出了實用拜占庭容錯PBFT算法,在2008年,中本聰發明比特幣后,人們又設想了通過區塊鏈的方法解決這一問題。區塊鏈通過算力證明來保持賬本的一致性,也就是必須計算數學題,才能得到記賬的權力,其他人對這個記賬結果進行驗證,如果是對的,就認可你的結果。與拜占庭問題比起來,就增加了叛徒的成本。[2020/5/14]
實用的方法必須滿足下列條件:
客戶端不需要為它們可能與之交互的每一個系統提供顯式支持。
客戶端必須能夠驗證返回的數據是有效的,最好無需引入除相關L2方案自帶假設以外的信任模型。
解決方案不會要求接入的L2平臺產生結構性的變更。
第三方必須能夠為L2平臺開發接口,無需平臺維護者的支持和參與。
聲音 | CNBC主持人:加密貨幣最大的缺點之一就是難以向外行快速科普:CNBC主持人Ran NeuNer近期發推稱,加密貨幣最大的缺點之一就是很難向外行快速解釋。當人們要求我向他們解釋比特幣時,我知道他們至少需要一個小時才能真正理解。[2019/9/10]
解決方案概覽
我們提議的方案的核心是一種標準化的工具,讓客戶端能夠從一個外部系統——一個網關服務——處檢索數據;以及一種標準化的方法,來驗證返回的數據是正確的。
相應地,這里有兩個主要的組成部分:第一個,是一個放在以太坊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的源代碼都可以在這里找到。
Tags:LAIAIMcLACLAIMKoolAidAIMS價格futureclasseschainclaim幣圈什么意思
之前,據業內專家預測,由于DAG文件每年增長520M,到2020年12月月底,DAG文件達到4G。這意味著,現存4G的顯卡就再也不能挖礦了.
1900/1/1 0:00:00注:本文最初于2014年4月17日發布在gavofyork的博客「InsightsintoaModernWorld」上,那時Gavin還在擔任以太坊的聯合創始人和CTO.
1900/1/1 0:00:00譯者按:內容翻譯于美國大選出結果之前,當前大選結果已公布。 人類一直對不確定的結果著迷。自從有歷史記載之前,我們就一直在預測那些我們未知的事情,以尋求洞察和樂趣.
1900/1/1 0:00:00編譯▏Damo索隆 Hello,各位老哥們!準備好了32個ETH了嗎?最近,基于POS共識協議的以太坊2.0質押合約已經發布,新的鏈將在12月1日上線.
1900/1/1 0:00:00來源:鏈新原創 作者:銅鐸編輯:尹岳 在區塊鏈和數字貨幣這一前沿創新領域,真正的重要參與者均來自中美兩國。美國勝在協議層創新,中國強在應用層開發,兩國在區塊鏈領域可謂并駕稱雄.
1900/1/1 0:00:00前言:本文既不是研究報告,也不是新聞評論,最多只能算是筆者對于區塊鏈行業發展的感受與思考。可能邏輯不嚴謹、論證不充分,大家權當作一篇隨筆看看,如果贊同,可以鼓鼓掌,或秉持不同意見,歡迎交流探討.
1900/1/1 0:00:00