原標題:區塊鏈抽象和互操作性2.0
比特幣于2009年誕生后,我們很快就迎來了所謂的「山寨幣」時代。人們在比特幣的基礎上衍生出了諸多想法,并付諸實驗,一時間涌現出成千上萬種加密貨幣。一些新的加密貨幣活了下來,另一些很快消失在我們的視野中。其中最成功的莫過于以太坊了。為什么是以太坊?
在以太坊之前,每當有人推出新的區塊鏈應用,就會有一種新的「山寨幣」被創造出來以實現該應用。以太坊終結了這種繁瑣的創新方式,通過引入一種通用編程模型讓開發者可以在其上構建任意去中心化應用。有了以太坊,開發者得以卸下編寫共識代碼和構建點對點網絡的負擔,將更多寶貴時間投入到商業邏輯上。以太坊之于其它「山寨幣」就像iPhone之于它的功能手機?前輩,為我們開啟了dApp的寒武紀大爆發。
回顧這段歷史的時候,我們很容易理解以太坊之所以能發展成最有價值的區塊鏈的原因——在其它項目還在一次解決一個問題的時候,它就通過系統化的方法一舉解決了成千上萬個問題。而以太坊提供系統化解決方案的方法,是通過在一個不同的層級解決問題:不滿足于回答如何構建下一個應用,而是要回答如何更方便的去構建接下來的一萬個應用——有沒有比「一個應用一條鏈」更好的方法?這樣一種對其它「山寨幣」的降維打擊,開啟了屬于以太坊的新時代。由于開發成本大幅降低,dApp得以蓬勃發展。如今,幾乎所有dApp都在以太坊上運行,這讓以太坊成為加密貨幣的佼佼者。
常有人問:以太坊會是區塊鏈的終極形態嗎?還是說未來會出現一個新的區塊鏈,其之于以太坊就像以太坊之于比特幣一樣?下一個時代會是什么樣子?
區塊鏈抽象
以太坊的主要突破是由EVM和賬戶模型構成的通用編程模型,在其上開發者可以實現各類應用邏輯。智能合約模型是一個中間層,將開發者與開發應用不需要關心的區塊鏈底層細節隔絕開來,同時又為開發者提供極好的編程靈活性。以太坊所做的事情正是抽象,如維基百科上對抽象的定義??所說:
加密研究員:“以太坊信標鏈區塊重組”情形在合并之后不會發生:5月29日消息,對于在5月25日以太坊信標鏈發生7個區塊的重組,加密研究員Barnabé Monnot發布文章分析表示,這種情況在以太坊實行POS后不會發生。重組突出了動態可用鏈的一個失敗案例,這在理論上是可能的,但實際上是不可想象的,就像長期重組在工作量證明中是可能的,但在實踐中很少見到(除非是敵對行為)。因此,必須認識到,目前重組的促成因素純粹是偶然的。如果所有驗證節點都運行相同的配置,問題就不會發生,特別是合并之后不會發生。因為所有驗證節點都必須在合并之前進行硬分叉,否則會被完全排除在共識之外。
此前消息,以太坊預測平臺Gnosis創始人Martin K?ppelmann表示,大約2.5小時前,以太坊信標鏈經歷了7個區塊的深度重組。這表明應該重新考慮當前節點的證明策略,V神文章的“重組穩定性將在POS中優于POW”的觀點分析過于樂觀。多年來,我們還沒有在以太坊主網上看到7次區塊重組。目前還不清楚重組是由攻擊引起的,還是只是網絡狀況。[2022/5/29 3:48:46]
在軟件工程和計算機科學中,抽象指的是:
在研究某些對象或系統時忽略其物理、空間或時間上的細節或屬性,只關注更重要細節的過程。其本質上與泛化過程相似;
通過復刻各種非抽象對象或系統的共同特征或屬性來創建抽象概念對象。
從這個角度來看,以太坊就是比特幣和所謂「山寨幣」的抽象。抽象是系統演化的永恒主題,在歷史上發生過很多次。在編程技術的早期階段,我們只能寫著匯編代碼直接與機器打交道,后來人們創造出了高級編程語言和編譯器,將我們從繁瑣的機器細節中解放了出來,只需關注更重要的問題。
起初,我們直接在自己的程序內管理硬件資源,后來我們構建了操作系統作為中間層,代理我們處理那些繁重的任務。再往后,我們又實現了硬件虛擬化,于是應用可以在云端運行。早期的互聯網只有少數幾層協議,如TCP/IP,后來發展出應用層,于是有了HTTP、FTP和SMTP等。如你所見,抽象的例子比比皆是。
Gerber Kawasaki首席執行官:比特幣和以太坊就像蟑螂,它們不會死:金色財經報道,Gerber Kawasaki首席執行官Ross Gerber在最近接受雅虎的采訪時將比特幣和以太坊比作“蟑螂”,以強調這兩種最大的加密貨幣的彈性。Gerber稱:“比特幣和以太坊就像蟑螂,它們不會死。從長遠來看,比特幣和以太坊一直是參與這些資產的最佳方式。在這七年里,我目睹了它們幾次差點被殺死,它們就像蟑螂一樣存活了數千年甚至數百萬年。”Gerber說他不想對沒有任何效用的加密貨幣做任何事情,因為他認為自己是一個長期投資者。他還警告加密貨幣群體稱,下一個加密冬天終將到來,而且將是“殘酷的”。[2021/12/11 7:32:06]
因此,我想說的是,新的抽象是演化的標志,下一代區塊鏈必須比上一代更加抽象。從比特幣到以太坊的跨越是初代區塊鏈抽象,同時我相信抽象的進程不會就此終止。如果想要知道后以太坊時代會是什么樣子,我們首先應該思考的是,還可以從以太坊中進一步抽象掉什么。
新的抽象
與比特幣相比,以太坊的通用智能合約模型是一大進步。若要再進一步抽象,一個方向是基于以太坊智能合約模型創建一個更抽象的模型。如果我們更深入探究以太坊模型,我們會發現該模型融入了很多特定的設計選擇,其中比較主要的有:
賬戶地址。用戶需要通過EOA來發起交易。EOA地址是公鑰的?Keccak256哈希值。
發送方身份驗證。以太坊使用Secp256k1和Keccak256這兩種特定的密碼學算法對交易發送方進行身份認證。要想創建一筆有效的以太坊交易,客戶端必須實現Secp256k1和Keccak256算法以簽署該交易。這也導致客戶端需要一種安全的方法來管理Secp256k1密鑰對。
密碼學原語。為了給開發者提供便利,一些事先選擇好的特定密碼學原語被硬編碼到EVM中作為預編譯合約,例如,ECDSA簽名驗證和SHA256哈希函數。同樣的算法,被硬編碼到EVM中比利用Solidity實現要高效得多,前者因此獲得實用性。
跨鏈協議Ren與以太坊隱私技術解決方案Aztec合作,實現BTC的隱私持有和交易:跨鏈協議Ren宣布與以太坊隱私技術解決方案Aztec繼續建立長期合作伙伴關系,將renBTC帶入Aztec的隱私Rollup。Aztec的zk.money可通過Aztec隱私Rollup在以太坊上實現完全私密的交易,通過此次zkrenBTC合作,用戶現在可以私下持有和交易BTC,方法是將BTC存入RenBridge并在zk.money中屏蔽renBTC。并且在2021年7月9日之前Aztec會補貼renBTC的交易費用。另外,合作雙方還將在未來幾個月內通過RenJS將本地RenVM集成到zk.money中,添加Aztec到Greycore中,以及Ren可以運行Aztec驗證器。[2021/7/2 0:22:42]
世界狀態結構。以太坊的世界狀態是一個巨大的MerklePatriciaTree(MPT),賬戶就是葉節點。其中每個賬戶也以MPT的形式維護一個自己內部的鍵值數據庫。MPT是眾多可驗證數據結構的選項之一。
對于非技術背景的用戶來說,這些設計選擇看上去不明所以,但是其重要性不亞于共識算法或經濟模型參數的選擇。這些選擇影響著以太坊的方方面面,就好像對普朗克常數?進行微調也會給我們的宇宙帶來翻天覆地的變化。構建一個新的去中心化生態就像是創建一個新的宇宙,而這些設計選擇就像是這個宇宙中設定好的物理規律。
當時有這些設計選擇是為了幫助以太坊實現其初始目標,事后看來它們并非最佳選擇。例如,發送方身份驗證算法Secp256k1對設計者來說可能就是順手一選,但是在不支持secp256k1的環境中?它帶來了不必要的障礙;通過一份小小的白名單內嵌預編譯合約的做法,使得大部分廣泛使用中的密碼學原語被排除在應用之外;狀態數據結構中使用的MPT也被證明是效率非常低下?的,不僅加劇?了狀態爆炸問題,還導致了與IO相關的EVM操作碼?的定價困難,而定價不當可能會引發DoS攻擊等安全問題。
V神:以太坊即將過時的采礦硬件可以直接用于零知識證明:在采訪中,Ethereum聯合創始人V神(Vitalik Buterin)被問及一旦網絡從其當前的共識算法切換到不再需要這種專用硬件的模型時,人們應該如何使用以太坊礦工。Ethereum聯合創始人表示,以太坊即將過時的采礦硬件可以直接用于零知識證明。(cointelegraph)[2020/4/26]
以太坊社區和其它一些新型協議也注意到了這些問題,并嘗試了不同的解決方案。例如,以太坊通過一系列硬分叉來增加更多有用的預編譯合約,并對操作碼重新定價;Tezos增加了Secp256r1作為新的發送方身份驗證算法,等等。
問題在于,這與人們當時在「山寨幣」時代解決應用需求的方式毫無區別。更麻煩的是,這些設計選擇可能比應用程序更加復雜和難以理解,而且通常不存在最佳解決方案。面對不同的情況,可能會有不同的最優解。即使遇到極少數存在一般最優解的情況,我們也無法保證當下的最佳選擇在將來還是如此。因此,更好的方式是,我們再次從新的層面去思考:與其繼續通過需要核心團隊協調的硬分叉來增加新功能,我們是否可以創建新的抽象并給予智能合約開發者充分的自由?
NervosCKB回答了這個問題,并創建了新抽象的層級。例如,CKB交易是抽象的,因為用戶和開發者不僅限于使用默認的Blake2b-Secp256k1驗證算法,任何人都能將其替換成?諸如Blake2b-Secp256r1、Keccak256-ED25519或Blake2b-SHA3-Schnorr的其他方式;CKB-VM是抽象的,里面不包含任何預編譯合約,即使是像哈希函數Blake2b和簽名驗證算法Secp256k1這樣的默認密碼學原語也只是在虛擬機中運行的智能合約,換言之,這些密碼學原語與應用開發者創建的智能合約在同一個環境中運行,沒有任何特權;Cell模型是抽象的,其中每個Cell只是單純的數據存儲空間,沒有任何內部結構,其布局完全取決于開發者,就像我們在sUDT?和xUDT看到的那樣。
V神:從未組織及參加多倫多以太坊管理委員會秘密會議:對于近期要在多倫多舉辦的以太坊管理委員會秘密會議V神轉發其推特稱:“我沒有組織和參加過這個會議,老實說,我真的不知道這個會議都發生了什么。”[2018/5/8]
由于CKB在很多方面都是抽象的,開發者被賦予了更多的自由和新能力。CKB是以太坊的抽象,正如以太坊是比特幣的抽象那樣。抽象讓CKB成為了簡單卻又強大的區塊鏈,并將很多工作轉移到了鏈下。以太坊對比特幣進行抽象的結果是將開發者分成了兩部分:一部分是聚焦于底層區塊鏈的區塊鏈開發者,另一部分是構建應用的智能合約開發者。可以預見CKB對以太坊進行抽象也會將智能合約開發者分成系統合約開發者和應用合約開發者,前者聚焦于系統級智能合約,如密碼學原語、lockscript,甚至是內存管理模塊。
最近以太坊社區已經認識到了區塊鏈抽象的重要性并提出了一些相關的改進。如果這些改進得以實現,我認為它會讓以太坊變得比現在更加抽象,并與其它做不到這一點的項目拉開更大的距離。然而我不認為這些關于區塊鏈抽象的提案能讓以太坊達到與CKB同等的抽象層級,因為要對一個正在運行的生態系統做如此底層的改變是極其困難的,就像我們無法在不破壞宇宙的情況下改變普朗克常數那樣。例如,賬戶抽象會為交易池等重要模塊引入新的安全復雜性——此時每當簽署新的交易時,驗證節點都需要處理任意計算,而非固定的簽名驗證。
抽象也可以從可擴展性入手。分片和Layer2解決方案都存在同樣的問題,即,在某些方面改變了應用的開發方式。例如,跨分片調用?或跨Layer2交易在處理方式上可能與Layer1上的合約調用完全不同。Layer2應用開發者還可能會在不同分層上遇到不同的智能合約模型。我們該如何屏蔽這些細節,為應用開發者提供無異于Layer1的流暢開發體驗?這個問題尚無定論,這是我們正在積極挑戰的問題之一。
CKB上的首個通道設計,GenericPaymentChannel(GPC),就是遵循這個思路構建的。GPC旨在為Layer1上的UDT提供一個「透明的」性能擴展層,以便任何UDT從一出生就可以被「通道化」,而無需UDT開發者做任何另外的事情。在GPC中,我們為UDT開發者抽象掉了支付通道協議的細節。Godwoken和Polyjuice是我們的另一個嘗試,這兩個解決方案可以認為分別是CKB上的可擴展性和計算抽象。
互操作性2.0
每一個區塊鏈抽象層級都會給我們帶來新的東西,我們在之前的抽象層級上從未見過的東西。第一次區塊鏈抽象為我們帶來了通用可編程性和互相連接的去中心化應用。下一次區塊鏈抽象將為我們帶來什么?
互操作性2.0必將是新抽象層級孕育的果實之一。我們對數字經濟未來的設想是,公有鏈、許可鏈和中心化系統都將并存。有了互操作性,我們就可以在彼此獨立的系統之間轉移資產并調用智能合約。近年來,人們已經進行?了很多關于互操作性?的研究和嘗試?,并且相信該問題可以通過一系列互操作基礎原語解決,例如多簽公證、中繼和哈希鎖定。
雖然區塊鏈互操作性目前在技術上是可行的,但是與具備無縫互操作性的數字經濟之間還存在缺失環節。
第一,目前的互操作性嘗試只會導致更加嚴重的網絡分裂。Polkadot?和Cosmos?等項目都定義了自己的標準,并試圖圍繞自己的「交換鏈」建立一個多鏈網絡。此外還有努力搭建直接橋梁的項目,例如實現比特幣和以太坊之間的直接跨鏈。我們很難想象,這些獨立網絡的核心團隊和社區有朝一日能夠坐下來共同商定出一個所有人都遵守的互操作性標準。
第二,更重要的是,即使這些區塊鏈網絡之間具備完美的技術互操作性,用戶依然會被糟糕的互操作體驗勸退。從用戶的角度來看,如果我是一名比特幣用戶,想要將我的比特幣轉移到以太坊上參與DeFi應用,我必須先運行我的比特幣錢包,發起一筆跨鏈交易,然后使用另外一個以太坊錢包。為了完成一次跨鏈操作,我必須安裝兩個錢包應用,保管兩組助記詞,使用兩個地址。這個過程本身非常復雜,而且僅適用于兩條區塊鏈的情況。如果用戶想要與更多區塊鏈交互,必須管理更多助記詞/地址/密鑰對。用戶體驗問題不僅阻礙了dApp的廣泛落地,還破壞了去中心化——區塊鏈的核心價值——因為用戶不得不且一定會選擇中心化服務來避免所有這些麻煩。
為解決上述兩個問題,我們需要一種新的互操作性,我們管它叫互操作性2.0。具備這種新型互操作性的區塊鏈就像是一個「萬維交換港」,可以在無需對方知覺的情況下實現與其它區塊鏈的互操作。想要做到這一點,「萬維交換港」就必須要能理解并執行其它區塊鏈的協議,而非創建自己的協議并要求其它鏈來學習。它就好比是一個「語言通」,能主動學習并會說其他人的語言,這樣就能與使用不同語言的人交流,其他人也更愿意與他交流。
在加密貨幣世界中,所有協議都由密碼學技術構建。這也意味著「萬維交換港」必須廣泛支持各種密碼學原語,無論其是在現在還是將來的區塊鏈中被使用到。另外,「萬維交換港」還要能理解各種錢包所簽署的交易,讓用戶使用任意一個錢包都能夠使用這個「萬維交換港」上運行的一切應用。
互操作性2.0的這些需求恰好可以通過上面說的新抽象,密碼學原語和身份驗證來滿足。這就是為什么以太坊用戶可以使用MetaMask錢包操控NervosCKB上的資產和dApp?而無需進行任何手動設置,甚至不會意識到自己正在使用Nervos應用。不僅是以太坊用戶,EOS、Tron以及其他區塊鏈的用戶也可以在NervosCKB上操控資產或dApp。如果當前的支持列表中沒有你喜歡的區塊鏈,不用擔心,你自己就可以通過創建并部署智能合約來添加支持。這一切都可以通過編寫智能合約來完成,無需請求核心開發團隊和/或實行硬分叉。
在Nervos上運行的應用可以免費獲得互操作性2.0帶來的好處。每一個Nervos應用都可以被所有的區塊鏈用戶群體訪問到,我們將這種應用稱為萬維應用。
作為一名開發者,你可以通過學習如何在Nervos上構建應用獲得比任何其他區塊鏈平臺能提供的更廣泛的用戶群。
作為一名用戶,你只需使用現在用的順手錢包和賬戶即可訪問Nervos上的萬維應用,無需安裝新的應用或適應新的學習曲線。
你可能會感覺自己在使用以太坊或EOS上的dApp,而實際上底層管道和基礎設施都是Nervos提供的。我相信這才是生活應該有的樣子,就像一位互聯網用戶在訪問網站時才不會關心這個網站是用PHP還是JAVA編寫的,使用的是MySQL還是PostgreSQL。用戶根本不關心這些,而這才是對的。
身為開發者,我們有責任創建抽象,向用戶隱藏實現細節,這樣我們就可以持續的用更好的軟件來取代已有的實現,從而不斷提供更好的用戶體驗。互操作性2.0可以將加密貨幣世界變得像如今的互聯網這樣,而這需要通過新的區塊鏈抽象來實現。
更妙的是,除了區塊鏈用戶之外,萬維應用甚至可以觸及一個遠比區塊鏈用戶更大的群體。加密貨幣世界依然是個很小的圈子,我們可以「破圈」而出。區塊鏈錢包和賬戶只不過是另一個賬戶/身份系統,而互聯網世界早已確立了多種身份/賬戶體系和驗證標準,如OpenID、人臉識別和指紋識別等。通過密碼學原語和身份驗證抽象,NervosCKB同樣可以理解廣泛使用的互聯網協議。這樣一來,用戶就能使用瀏覽器和手機來訪問萬維應用,無需安裝任何區塊鏈錢包,無需生成密鑰對,甚至無需保管任何助記詞。通過這種方式,我們可以主動適應現有的互聯網生態,而非創建一個全新的生態。我們的爺爺奶奶不需要費力去學習一些看起來像是魔法的東西就能享受到技術帶來的便利。阻礙互聯網用戶進入加密貨幣世界的壁壘在這里不再存在。
新的大都市
許多現代大都市都是從貿易樞紐或港口發展而來的。威尼斯、紐約、香港、上海和新加坡都是憑借自身的港口優勢而成為高度商業化的城市。在工業時代,我們利用GPS、貨船和集裝箱這樣的互操作技術在不同城市之間轉移資產。如今,我們有了加密資產、區塊鏈和互操作性2.0。更好的互操作性會為城市帶來更多移民、貿易和活力。高樓將會聳立,貨物川流不息,資產在此棲息,人們在此聚集,一座新的大都市從此誕生。
Tags:以太坊區塊鏈比特幣CKB以太坊最新價格行情美元wpc幣區塊鏈比特幣價格今日行情多少錢一個ckb幣為什么會到4元一個
小白知識點區塊鏈手書,第四段:前面寫到,跟別人做交易會有很多網點幫你記錄。但是別的網點也不是閑著沒事做來幫你記錄,那要怎么才能讓別人來幫你記錄你的信息呢?沒錯,要獎勵,你沒有獎勵別人沒有這個義務.
1900/1/1 0:00:00鏈聞消息,由前NBA新媒體分發部門高級副總裁JeffMarsilio等人共同成立的專注于NFT的社交媒體平臺Nifty’s宣布,完成前種子輪融資.
1900/1/1 0:00:00活動預告 imToken新增自定義節點功能,更快的轉賬,更低的費用,更多的公鏈體驗。自定義節點,帶你探索無限可能!參加文末活動,最高可得100Dai.
1900/1/1 0:00:00DeFi生態的分流現象:自2021年初以來,以太坊上公鏈的DeFi生態發展趨勢放緩,鮮有現象級應用問世,總鎖倉量在350至450億美元區間震蕩.
1900/1/1 0:00:00截至2020年,全球互聯網用戶數量超46億人,占世界人口的比重達到59.6%。46億用戶分布在全世界各地,每天訪問互聯網所產生的海量數據滋生了一個新興市場:數據存儲.
1900/1/1 0:00:00Gate.ioRNDR超級空投福利活動已圓滿結束,根據活動規則,我們已為符合規則的用戶發放了活動獎勵。用戶可進入“賬戶管理—我的資金—賬單明細”查詢獎勵發放情況。活動詳情及規則請點擊查看.
1900/1/1 0:00:00