導(dǎo)語:前Bybit技術(shù)負(fù)責(zé)人 / 現(xiàn)極客web3顧問@0xkookoo眼中的ICP與區(qū)塊鏈?zhǔn)澜绲奈磥鞩ntroductionBTC 提出電子現(xiàn)金,開辟區(qū)塊鏈行業(yè)從0到1ETH 提出智能合約,率領(lǐng)區(qū)塊鏈行業(yè)從1到100ICP提出Chainkey技術(shù),驅(qū)動區(qū)塊鏈行 ...
導(dǎo)語:前Bybit技術(shù)負(fù)責(zé)人 / 現(xiàn)極客web3顧問 @0xkookoo 眼中的ICP與區(qū)塊鏈?zhǔn)澜绲奈磥?/p> Introduction BTC 提出電子現(xiàn)金,開辟區(qū)塊鏈行業(yè)從0到1 ETH 提出智能合約,率領(lǐng)區(qū)塊鏈行業(yè)從1到100 ICP提出Chainkey技術(shù),驅(qū)動區(qū)塊鏈行業(yè)可從100到 100,000,000 2009 年 1 月 3 日,BTC第一個區(qū)塊被挖出,自此區(qū)塊鏈激蕩發(fā)展14 年??v觀過去 14 年,BTC的精妙與偉大,Ethereum的橫空出世,EOS 的激情眾籌,PoS&PoW的宿命之爭,Polkdadot的萬鏈互連,一項(xiàng)項(xiàng)驚為天人的技術(shù),一個個美妙絕倫的故事,讓無數(shù)圈內(nèi)人競折腰! 當(dāng)前,2023 年,整個區(qū)塊鏈的格局是怎樣?以下是我的思考,詳見此文中的公鏈格局解讀部分
但未來10年,整個區(qū)塊鏈行業(yè)會如何發(fā)展?以下是我的思考
Why ICP 這里先引入一個故事,2009年阿里巴巴提出“去 IOE”戰(zhàn)略,這也是后來成就阿里“雙十一”的一大里程碑。 去 IOE“去 IOE”戰(zhàn)略的核心內(nèi)容就是要去除IBM小型機(jī)、Oracle數(shù)據(jù)庫及 EMC 存儲設(shè)備,將 “云計算” 的本質(zhì)植入阿里的 IT 基因。其中
去IOE的原因主要有以下三點(diǎn),但第一點(diǎn)是本質(zhì)原因,后兩者更間接:
那為什么是 2009 年提出“去 IOE”戰(zhàn)略而不是更早呢?
但是去IOE不是簡單地改變軟件和硬件本身,用新的軟硬件取代舊的軟硬件,而是用新的方式取代舊的方式,是用云計算徹底改變 IT 基礎(chǔ)架構(gòu)。換句話說,這是行業(yè)的變化導(dǎo)致的,而不是僅僅是簡單的技術(shù)升級。 企業(yè)發(fā)展三大階段一個企業(yè)的發(fā)展可以分為3個階段,
下面把整個區(qū)塊鏈行業(yè)當(dāng)成是一個企業(yè)來分析 Start-up / 區(qū)塊鏈 1.0 / BTCBTC的創(chuàng)新之處在于它解決了數(shù)十年來困擾計算機(jī)科學(xué)家的一個問題,即如何創(chuàng)建一個可以在無需信任任何中央機(jī)構(gòu)的情況下運(yùn)行的數(shù)字支付系統(tǒng)。 但 BTC 在其設(shè)計和開發(fā)中,也確實(shí)存在一些局限性,這些局限性為以太坊(ETH)等后續(xù)的區(qū)塊鏈項(xiàng)目提供了市場機(jī)會。以下是一些主要的局限性: 交易吞吐量和速度:BTC的區(qū)塊生成時間約為 10 分鐘,且每個區(qū)塊的大小限制導(dǎo)致了其交易處理能力的上限。這意味著在網(wǎng)絡(luò)繁忙時,交易確認(rèn)可能需要較長時間,且可能需要支付較高的交易費(fèi)用。 智能合約功能有限:BTC的設(shè)計主要是作為一種數(shù)字貨幣,它支持的交易類型和腳本語言功能相對有限。這限制了BTC在復(fù)雜的金融交易和去中心化應(yīng)用(DApps)方面的應(yīng)用。 不易升級和改進(jìn):由于BTC的去中心化和保守的設(shè)計原則,對其進(jìn)行大的升級和改進(jìn)通常需要社區(qū)的廣泛共識,在實(shí)踐中很難達(dá)成,這也使得BTC的進(jìn)步相對緩慢。 能耗問題:BTC的共識機(jī)制是基于工作量證明(PoW)的,這意味著大量的計算資源被用于礦工之間的競爭,導(dǎo)致了大量的能耗。這在環(huán)保和可持續(xù)性方面受到了人們的批評。關(guān)于這一點(diǎn),大家也可以關(guān)注一下 EcoPoW,算是部分緩解了這個局限性。 Scale-up / 區(qū)塊鏈 2.0 / ETH當(dāng)前以太坊的Layer2擴(kuò)容形式可以看作是一種 “縱向擴(kuò)展”,依賴于底層Layer1的安全性和數(shù)據(jù)可用性保證。雖然看似是2層結(jié)構(gòu),但是最后還是會被Layer1的處理能力所限制,即使換成多層結(jié)構(gòu),即打造Layer3,Layer4,無非也只是增加整個系統(tǒng)的復(fù)雜性,拖延一點(diǎn)時間而已。更何況根據(jù)邊際遞減效應(yīng),后面每多加一層,多出來的overhead就會導(dǎo)致擴(kuò)容效果大打折扣。這種縱向分層的方式可以看作是單機(jī)硬件升級,只不過這個單機(jī)指的是整個ETH生態(tài)。 且隨著使用量增加,用戶對低廉費(fèi)用和高性能需求也會增加。而Layer2 作為Layer1上的一個應(yīng)用,其費(fèi)用只能降低到一定程度,最終仍受制于 Layer1的基礎(chǔ)費(fèi)用和吞吐量。這類似經(jīng)濟(jì)學(xué)中的需求曲線理論 - 隨著價格下降,總需求量會增加??v向擴(kuò)展很難從根本上解決可擴(kuò)展性問題。 以太坊是一棵參天巨樹,所有的人都依靠著那個根,一旦那個根汲取養(yǎng)分的速度跟不上,人們的需求也就得不到滿足; 因此,只有橫向擴(kuò)展才是更容易擁有無限性的。 有人認(rèn)為多鏈跨鏈也算是一種橫向擴(kuò)展方式。 拿Polkadot來舉例子,它是異構(gòu)王國,每一個國家長得不一樣,但每做一個東西就要建一個王國; Cosmos是同構(gòu)王國,每個國家的經(jīng)脈骨骼長得一樣,但也是每做一個東西就要建立一個王國; 但從Infra角度來看,以上這兩者的模式略顯奇怪,每多做一個應(yīng)用就要多建立一整個王國?我們舉個例子來看看有多奇怪, 3個月前我買了一臺Mac,在它上面開發(fā)了一個Gmail應(yīng)用; 現(xiàn)在我想開發(fā)一個Youtube應(yīng)用,但我必須要重新買一臺Mac來開發(fā),這太奇怪了。 且以上這兩種方式都面臨新增鏈時跨鏈通信復(fù)雜度高的問題,因此它們并不是我的首選。 Scale-out / 區(qū)塊鏈 3.0 / ICP想要 scale-out,需要一整套底層的基礎(chǔ)設(shè)施,支持快速地橫向擴(kuò)展,不用重復(fù)造輪子。 一個比較典型的支持 scale-out 的例子就是云計算,【VPC+子網(wǎng)+網(wǎng)絡(luò)ACL+安全組】這些底層模版大家都一模一樣,所有的機(jī)器都帶著編號和類型,上層的 RDS,MQ 等核心組件支持無限擴(kuò)展,如果需要更多的資源,點(diǎn)擊一個按鈕就可以快速啟動。 之前有一位 Leader 給我分享過,如果你想了解互聯(lián)網(wǎng)企業(yè)需要哪些基礎(chǔ)設(shè)施和組件,那你只需要去 AWS 看一下他們提供的所有服務(wù)就行了,那是最全最強(qiáng)的組合。 同理,我們來 high-level 看看 ICP,看看為什么它滿足 Scale-out 的要求。 這里先說明幾個概念, Dfinity Foundation:是一個非營利性組織,致力于推動去中心化計算機(jī)技術(shù)的發(fā)展和應(yīng)用。它是 Internet Computer 協(xié)議的開發(fā)者和維護(hù)者,旨在通過創(chuàng)新的技術(shù)和開放的生態(tài)系統(tǒng),實(shí)現(xiàn)去中心化應(yīng)用的全面發(fā)展。 Internet Computer (IC):是 Dfinity Foundation 開發(fā)的一種高速區(qū)塊鏈網(wǎng)絡(luò),專門為去中心化應(yīng)用設(shè)計。它采用了一種新的共識算法,可以實(shí)現(xiàn)高吞吐量和低延遲的交易處理,同時支持智能合約和去中心化應(yīng)用的開發(fā)和部署。 Internet Computer Protocol (ICP):是 Internet Computer 協(xié)議中的原生Token,它是一種數(shù)字貨幣,用于支付網(wǎng)絡(luò)使用費(fèi)用和獎勵節(jié)點(diǎn) What's ICP 以下許多內(nèi)容會有一些些硬核,但是我已經(jīng)進(jìn)行了大白話描述,希望大家都可以跟得上。如果有更多細(xì)節(jié)內(nèi)容希望與我討論,可以在文章最上方找到我的聯(lián)系方式。 架構(gòu)概述 / Architecture Overview從分層結(jié)構(gòu)看,從下至上分別為 P2P 層,收集和發(fā)送來自用戶、子網(wǎng)中的其他副本和其他子網(wǎng)的消息。保障消息能傳遞到到子網(wǎng)中的所有節(jié)點(diǎn),以確保安全性、可靠性和彈性 共識層:主要任務(wù)是對 input 進(jìn)行排序,以確保同一子網(wǎng)內(nèi)部的所有節(jié)點(diǎn)以相同的順序處理任務(wù)。為了實(shí)現(xiàn)這一目標(biāo),共識層使用了一種新的共識協(xié)議,該協(xié)議旨在保證安全性和活性,并具有抗 DOS / SPAM 攻擊的能力。同一子網(wǎng)內(nèi)部對處理各種消息的順序達(dá)成共識后,這些區(qū)塊會被傳遞到消息路由層。 消息路由層:根據(jù)共識層傳來的任務(wù),準(zhǔn)備好各 Canister 的輸入隊列。執(zhí)行完畢后,它還負(fù)責(zé)接收 Canister 產(chǎn)生的輸出,并按需轉(zhuǎn)發(fā)給本地或其他區(qū)的 Canister。此外,它還負(fù)責(zé)記錄和驗(yàn)證用戶請求的響應(yīng)。 執(zhí)行層:為 Canister 提供運(yùn)行時環(huán)境,按照調(diào)度機(jī)制有序讀取輸入,調(diào)用相應(yīng)Canister 完成任務(wù),并將更新后的狀態(tài)和產(chǎn)生的輸出返回給消息路由層。它利用隨機(jī)數(shù)帶來的非確定性,以保證計算的公平性和可審計性。因?yàn)樵谀承┣闆r下,Canister 的行為需要是不可預(yù)測的。例如,在進(jìn)行加密操作時,需要使用隨機(jī)數(shù)來增加加密的安全性。此外,Canister 的執(zhí)行結(jié)果需要具有隨機(jī)性,以避免攻擊者通過分析 Canister 的執(zhí)行結(jié)果來發(fā)現(xiàn)漏洞或者預(yù)測 Canister 的行為。 (ICP的4層結(jié)構(gòu)) 關(guān)鍵組件 / Key Components 從組成成分看: 子網(wǎng)(Subnet):支持無限擴(kuò)展,每一個子網(wǎng)就是一個小型區(qū)塊鏈。Subnet 之間通過 Chain Key 技術(shù)通信,因?yàn)橐呀?jīng)在子網(wǎng)內(nèi)部達(dá)成共識了,所以只要通過 Chain Key 驗(yàn)證就行了。 副本(Replica):每一個 Subnet 中可以有很多個節(jié)點(diǎn),每一個節(jié)點(diǎn)都是一個 Replica,IC 的共識機(jī)制會保證同一個 Subnet 中的每一個 Replica 都會以相同的順序去處理相同的 input,使得每一個 Replica 的最終狀態(tài)都是相同的,這種機(jī)制被稱為 Replicated State Machine, 罐子(Canister):Canister 是一種智能合約,它是一種運(yùn)行在 ICP 網(wǎng)絡(luò)上的計算單元,可以存儲數(shù)據(jù)和代碼,并且可以與其他 Canister 或者外部用戶進(jìn)行通信。ICP 提供了一個運(yùn)行時環(huán)境,用于在 Canister 中執(zhí)行 Wasm 程序,并通過消息傳遞與其他 Canister 和外部用戶進(jìn)行通信??梢院唵蔚卣J(rèn)為就是跑代碼用的一個 docker,然后你自己注入 Wasm Code Image 在里面運(yùn)行。 節(jié)點(diǎn)(Node):獨(dú)立的服務(wù)器,Canister 還是需要有一個實(shí)體機(jī)器來跑的,這些實(shí)體機(jī)器就是真實(shí)的機(jī)房里面的機(jī)器了。 數(shù)據(jù)中心(Data Center):數(shù)據(jù)中心的節(jié)點(diǎn)通過節(jié)點(diǎn)軟件 IC-OS 虛擬化為一個副本(Replica),從多個數(shù)據(jù)中心中隨機(jī)選取一些 Replica 組成一個子網(wǎng)(Subnet)。這樣可以保證即使一個數(shù)據(jù)中心被黑了或者是遭遇天災(zāi)了,整個 ICP 網(wǎng)絡(luò)還是正常運(yùn)行的,有點(diǎn)像阿里巴巴 “兩地三中心” 容災(zāi)高可用方案的升級版。數(shù)據(jù)中心可以分布在全世界各地,甚至以后可以在火星搭建一個數(shù)據(jù)中心。 邊界節(jié)點(diǎn)(Boundary Nodes):提供外部網(wǎng)絡(luò)和 IC 子網(wǎng)之間的入口和出口,驗(yàn)證響應(yīng)。 身份主體(Principal):外部用戶的標(biāo)識符,由公鑰派生,用于權(quán)限控制。 網(wǎng)絡(luò)神經(jīng)系統(tǒng)(NNS):使用抵押 ICP 進(jìn)行治理的算法 DAO,用于管理 IC。 注冊表(Registry):由 NNS 維護(hù)的數(shù)據(jù)庫,包含實(shí)體(如 Replica、canister、Subnet)之間的映射關(guān)系,跟現(xiàn)在的 DNS 工作原理有點(diǎn)像。 Cycles:本地Token,代表用于支付 canister 運(yùn)行時消耗的資源的 CPU 配額。非要用中文表示的話,我會用 “計算周期” 這個詞,因?yàn)?cycles 主要是指用于支付計算資源的單位。 ICP的關(guān)鍵創(chuàng)新技術(shù)從底層來看,采用了 Chain-key 技術(shù),其中 Publicly Verifiable Secret Sharing scheme (PVSS Scheme):即公開可驗(yàn)證秘密共享方案。在 Internet Computer 協(xié)議的白皮書中,PVSS scheme 被用于實(shí)現(xiàn)去中心化密鑰生成(DKG)協(xié)議,以確保節(jié)點(diǎn)的私鑰在生成過程中不會被泄露。 前向安全公鑰加密方案(forward-secure public-key encryption scheme):前向安全公鑰加密方案可以確保即使私鑰被泄露,以前的消息也不會被解密,從而提高了系統(tǒng)的安全性。 Key resharing protocol:一種基于閾值簽名的密鑰共享方案,用于在 Internet Computer 協(xié)議中實(shí)現(xiàn)密鑰管理。該協(xié)議的主要優(yōu)點(diǎn)是它可以在不創(chuàng)建新的密鑰的情況下,將現(xiàn)有的密鑰共享給新的節(jié)點(diǎn),從而減少了密鑰管理的復(fù)雜性。此外,該協(xié)議還使用閾值簽名來保護(hù)密鑰共享的安全性,從而提高了系統(tǒng)的安全性和容錯性。 Threshold BLS signatures:ICP 實(shí)現(xiàn)了閾值簽名方案,對于每一個 Subnet,有一個公共的可驗(yàn)證的公鑰,而它對應(yīng)的私鑰卻是拆分成多份 share 的,每一份 share 由這個 Subnet 中的一個 Replica 去持有,只有同一個 Subnet 中超過閾值數(shù)量的 Replica 對消息簽名了才被認(rèn)為是有效。這樣 Subnet 之間,Replica 之間傳遞的消息都是加密但可快速驗(yàn)證的,既保證了隱私性,又保證了安全性。其中 BLS 算法就是比較著名的一種閾值簽名算法,它是唯一能產(chǎn)生非常簡單且高效的閾值簽名協(xié)議的簽名方案,且簽名是唯一的,這意味著對于給定的公鑰和消息,只有一個有效的簽名。 Non-interactive Distributed Key Generation (NIDKG):為了安全地部署閾值簽名方案,Dfinity 設(shè)計、分析并實(shí)現(xiàn)了一種新的 DKG 協(xié)議,該協(xié)議在異步網(wǎng)絡(luò)上運(yùn)行且具有很高的健壯性(即使子網(wǎng)中多達(dá)三分之一的節(jié)點(diǎn)崩潰或損壞,它仍然可以成功),同時仍然能夠提供可接受的性能。除了生成新密鑰外,此協(xié)議還可用于重新共享現(xiàn)有密鑰。此功能對于實(shí)現(xiàn) IC 拓?fù)涞淖灾餮葸M(jìn)至關(guān)重要,因?yàn)樽泳W(wǎng)隨著時間推移會發(fā)生成員變化。 PoUW:PoUW 比 PoW 多了一個 U,它代表 Userful,主要是提高了不少性能,讓節(jié)點(diǎn)機(jī)器少做無用功。PoUW 不會人為制造困難的哈希計算,它將算力盡可能的放在為用戶服務(wù)上。大部分資源(CPU、內(nèi)存)用于實(shí)際 canister 中代碼的執(zhí)行上。 Chain-evolution technology:是一種用于維護(hù)區(qū)塊鏈狀態(tài)機(jī)的技術(shù),它包括了一系列的技術(shù)手段,可以確保區(qū)塊鏈的安全性和可靠性。在 Internet Computer 協(xié)議中,Chain-evolution technology 主要包括以下兩個核心技術(shù): 1.Summary blocks:每個 epoch 的第一個區(qū)塊是一個 summary block,它包含了一些特殊的數(shù)據(jù),用于管理不同的閾值簽名方案。其中,一個低閾值方案用于生成隨機(jī)數(shù),而一個高閾值方案用于認(rèn)證子網(wǎng)的復(fù)制狀態(tài)。 2.Catch-up packages (CUPs):CUPs是一種用于快速同步節(jié)點(diǎn)狀態(tài)的技術(shù),它可以讓新加入的節(jié)點(diǎn)快速地獲取到當(dāng)前狀態(tài),而不需要重新運(yùn)行共識協(xié)議。
免責(zé)聲明:本文不構(gòu)成投資建議,用戶應(yīng)考慮本文中的任何意見、觀點(diǎn)或結(jié)論是否符合其特定狀況,及遵守所在國家和地區(qū)的相關(guān)法律法規(guī)。
歡迎轉(zhuǎn)載分享! |