原標題:區塊鏈抽象和互操作性2.0
比特幣于2009年誕生后,我們很快就迎來了所謂的「山寨幣」時代。人們在比特幣的基礎上衍生出了諸多想法,并付諸實驗,一時間涌現出成千上萬種加密貨幣。一些新的加密貨幣活了下來,另一些很快消失在我們的視野中。其中最成功的莫過于以太坊了。為什么是以太坊?
在以太坊之前,每當有人推出新的區塊鏈應用,就會有一種新的「山寨幣」被創造出來以實現該應用。以太坊終結了這種繁瑣的創新方式,通過引入一種通用編程模型讓開發者可以在其上構建任意去中心化應用。有了以太坊,開發者得以卸下編寫共識代碼和構建點對點網絡的負擔,將更多寶貴時間投入到商業邏輯上。以太坊之于其它「山寨幣」就像iPhone之于它的功能手機?前輩,為我們開啟了dApp的寒武紀大爆發。
回顧這段歷史的時候,我們很容易理解以太坊之所以能發展成最有價值的區塊鏈的原因——在其它項目還在一次解決一個問題的時候,它就通過系統化的方法一舉解決了成千上萬個問題。而以太坊提供系統化解決方案的方法,是通過在一個不同的層級解決問題:不滿足于回答如何構建下一個應用,而是要回答如何更方便的去構建接下來的一萬個應用——有沒有比「一個應用一條鏈」更好的方法?這樣一種對其它「山寨幣」的降維打擊,開啟了屬于以太坊的新時代。由于開發成本大幅降低,dApp得以蓬勃發展。如今,幾乎所有dApp都在以太坊上運行,這讓以太坊成為加密貨幣的佼佼者。
常有人問:以太坊會是區塊鏈的終極形態嗎?還是說未來會出現一個新的區塊鏈,其之于以太坊就像以太坊之于比特幣一樣?下一個時代會是什么樣子?
區塊鏈抽象
以太坊的主要突破是由EVM和賬戶模型構成的通用編程模型,在其上開發者可以實現各類應用邏輯。智能合約模型是一個中間層,將開發者與開發應用不需要關心的區塊鏈底層細節隔絕開來,同時又為開發者提供極好的編程靈活性。以太坊所做的事情正是抽象,如維基百科上對抽象的定義??所說:
以太坊Layer2網絡Arbitrum鏈上總用戶量突破100萬:7月31日消息,據Dune Analytics數據顯示,以太坊Layer2網絡Arbitrum鏈上總用戶量已突破100萬,截至目前為1,025,930。此外,Arbitrum鏈上成功交易量已突破2000萬筆,當前為20,499,780筆(總交易量為21,416,388筆)。[2022/7/31 2:49:56]
在軟件工程和計算機科學中,抽象指的是:
在研究某些對象或系統時忽略其物理、空間或時間上的細節或屬性,只關注更重要細節的過程。其本質上與泛化過程相似;
通過復刻各種非抽象對象或系統的共同特征或屬性來創建抽象概念對象。
從這個角度來看,以太坊就是比特幣和所謂「山寨幣」的抽象。抽象是系統演化的永恒主題,在歷史上發生過很多次。在編程技術的早期階段,我們只能寫著匯編代碼直接與機器打交道,后來人們創造出了高級編程語言和編譯器,將我們從繁瑣的機器細節中解放了出來,只需關注更重要的問題。
起初,我們直接在自己的程序內管理硬件資源,后來我們構建了操作系統作為中間層,代理我們處理那些繁重的任務。再往后,我們又實現了硬件虛擬化,于是應用可以在云端運行。早期的互聯網只有少數幾層協議,如TCP/IP,后來發展出應用層,于是有了HTTP、FTP和SMTP等。如你所見,抽象的例子比比皆是。
因此,我想說的是,新的抽象是演化的標志,下一代區塊鏈必須比上一代更加抽象。從比特幣到以太坊的跨越是初代區塊鏈抽象,同時我相信抽象的進程不會就此終止。如果想要知道后以太坊時代會是什么樣子,我們首先應該思考的是,還可以從以太坊中進一步抽象掉什么。
新的抽象
與比特幣相比,以太坊的通用智能合約模型是一大進步。若要再進一步抽象,一個方向是基于以太坊智能合約模型創建一個更抽象的模型。如果我們更深入探究以太坊模型,我們會發現該模型融入了很多特定的設計選擇,其中比較主要的有:
數據:最近一周,以太坊網絡新增70萬枚NFT資產:NFTScan數據顯示,最近一周,以太坊網絡新增70萬枚NFT資產,平均每天新增鑄造10萬枚NFT資產。[2022/1/6 8:28:01]
賬戶地址。用戶需要通過EOA來發起交易。EOA地址是公鑰的?Keccak256哈希值。
發送方身份驗證。以太坊使用Secp256k1和Keccak256這兩種特定的密碼學算法對交易發送方進行身份認證。要想創建一筆有效的以太坊交易,客戶端必須實現Secp256k1和Keccak256算法以簽署該交易。這也導致客戶端需要一種安全的方法來管理Secp256k1密鑰對。
密碼學原語。為了給開發者提供便利,一些事先選擇好的特定密碼學原語被硬編碼到EVM中作為預編譯合約,例如,ECDSA簽名驗證和SHA256哈希函數。同樣的算法,被硬編碼到EVM中比利用Solidity實現要高效得多,前者因此獲得實用性。
世界狀態結構。以太坊的世界狀態是一個巨大的MerklePatriciaTree(MPT),賬戶就是葉節點。其中每個賬戶也以MPT的形式維護一個自己內部的鍵值數據庫。MPT是眾多可驗證數據結構的選項之一。
對于非技術背景的用戶來說,這些設計選擇看上去不明所以,但是其重要性不亞于共識算法或經濟模型參數的選擇。這些選擇影響著以太坊的方方面面,就好像對普朗克常數?進行微調也會給我們的宇宙帶來翻天覆地的變化。構建一個新的去中心化生態就像是創建一個新的宇宙,而這些設計選擇就像是這個宇宙中設定好的物理規律。
當時有這些設計選擇是為了幫助以太坊實現其初始目標,事后看來它們并非最佳選擇。例如,發送方身份驗證算法Secp256k1對設計者來說可能就是順手一選,但是在不支持secp256k1的環境中?它帶來了不必要的障礙;通過一份小小的白名單內嵌預編譯合約的做法,使得大部分廣泛使用中的密碼學原語被排除在應用之外;狀態數據結構中使用的MPT也被證明是效率非常低下?的,不僅加劇?了狀態爆炸問題,還導致了與IO相關的EVM操作碼?的定價困難,而定價不當可能會引發DoS攻擊等安全問題。
數據:以太坊gas費用自6月以來激增近2300%:10月30日消息,根據BitInfoCharts的數據,以太坊的平均交易費用飆升至51.45美元,自6月底以來增長了2293%。而就在7天前,以太坊的平均交易費用是22.52美元。本月以太坊的gas費用尤其波動。10月15日的平均費用為45.74美元,幾乎是本月1日23.79美元的兩倍。(Decrypt)[2021/10/31 6:22:22]
以太坊社區和其它一些新型協議也注意到了這些問題,并嘗試了不同的解決方案。例如,以太坊通過一系列硬分叉來增加更多有用的預編譯合約,并對操作碼重新定價;Tezos增加了Secp256r1作為新的發送方身份驗證算法,等等。
問題在于,這與人們當時在「山寨幣」時代解決應用需求的方式毫無區別。更麻煩的是,這些設計選擇可能比應用程序更加復雜和難以理解,而且通常不存在最佳解決方案。面對不同的情況,可能會有不同的最優解。即使遇到極少數存在一般最優解的情況,我們也無法保證當下的最佳選擇在將來還是如此。因此,更好的方式是,我們再次從新的層面去思考:與其繼續通過需要核心團隊協調的硬分叉來增加新功能,我們是否可以創建新的抽象并給予智能合約開發者充分的自由?
NervosCKB回答了這個問題,并創建了新抽象的層級。例如,CKB交易是抽象的,因為用戶和開發者不僅限于使用默認的Blake2b-Secp256k1驗證算法,任何人都能將其替換成?諸如Blake2b-Secp256r1、Keccak256-ED25519或Blake2b-SHA3-Schnorr的其他方式;CKB-VM是抽象的,里面不包含任何預編譯合約,即使是像哈希函數Blake2b和簽名驗證算法Secp256k1這樣的默認密碼學原語也只是在虛擬機中運行的智能合約,換言之,這些密碼學原語與應用開發者創建的智能合約在同一個環境中運行,沒有任何特權;Cell模型是抽象的,其中每個Cell只是單純的數據存儲空間,沒有任何內部結構,其布局完全取決于開發者,就像我們在sUDT?和xUDT看到的那樣。
Ethereum 9?創始人發布以太坊二層隱私擴容解決方案 Zkopru:Ethereum 9?創始人Wanseob Lim在太坊技術論壇ethresear.ch發布以太坊二層隱私擴容解決方案Zkopru。該方案采用zk-SNARK 和 optimistic rollup,以實現隱私交易的二層擴容解決方案,支持在二層網絡中以低成本實現ETH,ERC20,ERC721之間的隱私轉移和隱私原子交換,此外,借助預付功能,用戶可以在最終確認之前從第二層提取資產。每筆基于以太坊區塊鏈的隱私交易消耗8800 gas費,當gas限制為11.95M且區塊時間為13.2s時,其最大TPS為105。[2020/7/20]
由于CKB在很多方面都是抽象的,開發者被賦予了更多的自由和新能力。CKB是以太坊的抽象,正如以太坊是比特幣的抽象那樣。抽象讓CKB成為了簡單卻又強大的區塊鏈,并將很多工作轉移到了鏈下。以太坊對比特幣進行抽象的結果是將開發者分成了兩部分:一部分是聚焦于底層區塊鏈的區塊鏈開發者,另一部分是構建應用的智能合約開發者。可以預見CKB對以太坊進行抽象也會將智能合約開發者分成系統合約開發者和應用合約開發者,前者聚焦于系統級智能合約,如密碼學原語、lockscript,甚至是內存管理模塊。
最近以太坊社區已經認識到了區塊鏈抽象的重要性并提出了一些相關的改進。如果這些改進得以實現,我認為它會讓以太坊變得比現在更加抽象,并與其它做不到這一點的項目拉開更大的距離。然而我不認為這些關于區塊鏈抽象的提案能讓以太坊達到與CKB同等的抽象層級,因為要對一個正在運行的生態系統做如此底層的改變是極其困難的,就像我們無法在不破壞宇宙的情況下改變普朗克常數那樣。例如,賬戶抽象會為交易池等重要模塊引入新的安全復雜性——此時每當簽署新的交易時,驗證節點都需要處理任意計算,而非固定的簽名驗證。
抽象也可以從可擴展性入手。分片和Layer2解決方案都存在同樣的問題,即,在某些方面改變了應用的開發方式。例如,跨分片調用?或跨Layer2交易在處理方式上可能與Layer1上的合約調用完全不同。Layer2應用開發者還可能會在不同分層上遇到不同的智能合約模型。我們該如何屏蔽這些細節,為應用開發者提供無異于Layer1的流暢開發體驗?這個問題尚無定論,這是我們正在積極挑戰的問題之一。
動態 | 9.2萬枚ETH轉賬來自以太坊聯合創始人Jeffrey Wilcke:據Trustnodes消息,以太坊開發商、創始團隊之一Jeffrey Wilcke在圣誕節當天向Kraken轉賬了92000 ETH(價值1150萬美元)。該賬戶由以太坊基金會開發錢包資助,這筆資金大概是以太坊成立之初創始團隊獲得的初始分配的一部分。自今年三月以來,Wilcke的github似乎再沒有任何活動,他似乎已經離開了。他的推特暗示他正在工作于某種游戲。Wilcke目前已經證實了對該地址的分析,并稱他的游戲需要錢。此前ViewBase指出,該“巨鯨很可能是ETH開發人員或者是V神本人”。評論者擔心V神或相關投資者正計劃大舉拋售。[2019/12/27]
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。更好的互操作性會為城市帶來更多移民、貿易和活力。高樓將會聳立,貨物川流不息,資產在此棲息,人們在此聚集,一座新的大都市從此誕生。
穩定幣作為DeFi的底層資產,市值已經超過500億美元,且仍在高速增長。作為穩定幣的一個分支,算法穩定幣被人們寄希望于解決法幣抵押型穩定幣中心化的問題,以及抵押型穩定幣資金利用率低的問題.
1900/1/1 0:00:005月22日,被幣圈人稱為比特幣披薩節。2010年5月22日,晦澀難懂的比特幣第一次實現了價值的量化,1萬枚比特幣換了2個披薩.
1900/1/1 0:00:00特斯拉CEO埃隆·馬斯克在推特確認,“現在可以用比特幣購買特斯拉了。特斯拉只使用內部及開源軟件,直接運營比特幣節點。支付給特斯拉的比特幣將以比特幣保留,而不是轉換成法定貨幣.
1900/1/1 0:00:00熱點摘要: 1.?XRP支持者呼吁交易所重新上市XRP。2.六大國有銀行已開始推廣數字人民幣貨幣錢包。3.?門羅幣XMR礦工數量突破8萬,創歷史新高。4.挪威央行行長反對將比特幣作為替代貨幣.
1900/1/1 0:00:00作者:談叔 今年,自從2月23日灰度信托首次出現-0.68%的負溢價之后,截止3月21日,除了2月24日和3月1日出現過兩天的正溢價,其余時間均以負溢價成交.
1900/1/1 0:00:00世界礦業看中國,中國礦業看四川。4月17-18日,“超算·融合,2021全球區塊鏈算力大會”將在四川成都召開。大會由巴比特、鏈節點、幣印聯合主辦,吳說區塊鏈協辦.
1900/1/1 0:00:00