【#區(qū)塊鏈# #.bit : 我們?yōu)槭裁催\行在 Nervos CKB 上#】
報道:作者:timyang.bit
原文鏈接:https://talk.nervos.org/t/bit-nervos-ckb/7835?
.bit 是由去中心化身份服務提供商 (d.id?團隊)開發(fā)的去中心化名字協(xié)議。.bit 致力于為每個組織和個人提供全局唯一的、完全由用戶掌控的去中心化名字。.bit 協(xié)議作為 d.id 去中心化身份藍圖的核心拼圖,于2020年11月啟動,2021年7月上線 Nervos CKB 主網(wǎng),累計融資金額 1800 萬美金。
眾所周知,盡管 Nervos CKB 團隊有頂級的架構(gòu)能力,項目本身也有豪華的投資人陣容,但在相當長的一段時間里,Nervos CKB 都是處于市場關注少、市值偏低、生態(tài)應用少的狀態(tài)。.bit 一度是 Nervos CKB 上最主要的生態(tài)應用,所以也被朋友們戲稱為“荒漠中建高樓”。那么,是什么原因?qū)е逻^去幾年 Nervos CKB 少被市場所關注,又是什么原因讓我們堅持將 .bit 運行在 Nervos CKB 上呢?我將從一個開發(fā)者的視角,談談我的看法。
在我看來,Nervos CKB 之所以在過去幾年少被市場關注,關鍵在于其選擇了與以太坊完全不同的技術路線:堅持 UTXO + PoW;保持與 Bitcoin 同構(gòu);作為 Bitcoin 的 Contract Kernel。而這種技術路線背后的思想在過去幾年 EVM 獨霸天下的市場環(huán)境中,顯得格格不入。選擇與主流不同的技術路線帶來的影響是:1. 市場理解它需要時間;2. 開發(fā)者熟悉新的編程模型需要時間。這些影響進而導致 Nervos CKB 團隊過去幾年的創(chuàng)新性的工作,并未得到關注和認可。
然而如今整個市場氣候已經(jīng)發(fā)生變化,Bitcoin 生態(tài)開始成為市場關注的重點。市場也開始意識到,Nervos CKB 的那些曾經(jīng)看來與主流格格不入的設計,在今天看來是如此地具有前瞻性。
我們現(xiàn)有團隊核心成員之所以離開互聯(lián)網(wǎng)公司進入 Web3 行業(yè),很大程度上是出于對 Bitcoin 開宗立派的敘事認同,以及對其簡潔精妙的設計的欣賞。我們喜歡與比特幣更相近的東西。
.bit 要成為完全由用戶掌控的名字系統(tǒng),就必須運行在足夠堅固可靠的基礎上,因此 PoW 公鏈是必然的選擇。在 PoS 及其變種為主流的今天,我們堅持認為 PoW 機制更加堅固。 在我看來,PoS 及其變種之所以成為主流,并不是因為 PoS 更加合理。其中一個重要的原因是,要成功啟動一條 PoW 公鏈,難度要大得多得多。構(gòu)建 PoW 生態(tài)是一個復雜工程。到目前,Nervos CKB 是少數(shù)成功啟動的 PoW 智能合約公鏈,并且礦機已經(jīng)進化到 ASIC 階段,挖礦產(chǎn)出也完成了一次減半。
Nervos CKB 和 Bitcoin 是同構(gòu)的,是指同樣都是 UTXO 模型。Nervos CKB 中的 UTXO 稱之為 Cell,它本質(zhì)是增強版的 UTXO。在 Bitcoin 的 UTXO 模型中,只能通過表達能力有限的簡單腳本控制 UTXO 的花費條件;而在 Cell 模型中,可以使用圖靈完備的語言對 Cell 的花費條件進行更高級的編程控制。因此,Nervos CKB 在延續(xù)了 Bitcoin 簡潔精妙設計的同時,為開發(fā)者提供了極強的可編程能力。后面我們還會談到,UTXO 模型還能幫助應用更容易地做到 Mass Adaption。
嚴格地說,并不是 .bit 啟動時選擇了運行在 Nervos CKB 上。而是 .bit 是一個原本被放棄了的內(nèi)部項目,因為 Nervos CKB 的出現(xiàn)而被重新啟動。
.bit 最早啟動于2019年初,原本是準備運行在 Bitcoin 上,應用數(shù)據(jù)存儲到 OP_RETURN 中。我們完成了測試版本的開發(fā)和部署,但最終還是選擇斃掉這個項目。我們目標是讓 .bit 能服務廣泛的組織和個人,因此,其依賴的平臺必須同時滿足兩個條件:1. 足夠堅固可靠;2. 使用門檻極低。Bitcoin 足夠堅固可靠,但門檻是極高的。
這些門檻是所有新用戶進入 Web3 都要克服的困難,也是優(yōu)秀的 Dapp 應用很難大規(guī)模出圈的障礙。它們包括:
用戶需要理解并保管好私鑰
用戶需要先擁有用于支付交易費用的代幣
例如,你在以太坊上發(fā)行了新的 NFT,一個沒有 Web3 經(jīng)驗的用戶被你的理念所吸引決定購買的你的 NFT。他接下來將經(jīng)歷一系列陌生的任務:下載錢包、備份助記詞、到某個交易所完成 KYC 并完成法幣入金、再回到你的網(wǎng)站來購買。絕大部分的用戶都沒辦法自主的完成這些任務,到備份助記詞這一步基本都放棄了。
再比如,你把 NFT 送給了一個剛創(chuàng)建好以太坊地址的用戶,但由于他的地址上沒有 ETH,結(jié)果他無法對這個 NFT 進行任何操作。盡管 EVM 存在一些 Gas 代付解決方案,但依然是一個較復雜的解決辦法。
我們可以做這樣總結(jié)過去的局面:所有 Dapp 的用戶都必須首先成為公鏈的用戶;所有 Dapp 都要先幫公鏈獲取用戶,才能從公鏈用戶池中轉(zhuǎn)化出自己的用戶。
那 Nervos CKB 上是如何解決這些問題的呢?答案是:
支持自定義密碼學原語,使得用戶無需再關心私鑰
Cell 作為資產(chǎn)容器,巧妙地使用戶在操作資產(chǎn)時無需再關心交易手續(xù)費
也就是說,與其他公鏈都將密碼學算法硬編碼到共識層不同,開發(fā)者可以在 Nervos CKB 上部署任意的密碼學算法,并在必要的時候調(diào)用這些算法進行驗證。比如,你可以把 Bitcoin 的驗簽算法部署在 Nervos CKB,這樣你的應用就可以驗證 Bitcoin 私鑰的簽名了。也就是說比特幣的用戶可以直接使用比特幣地址管理 Nerovs CKB 上的資產(chǎn)。同樣的原理,以太坊狗狗幣等所有公鏈的地址都可以直接管理 Nervos CKB 上的資產(chǎn)。我們可以總結(jié)為,所有公鏈的用戶,天然就是 Nervos CKB 的用戶。
更進一步,我們還可以將已經(jīng)在互聯(lián)網(wǎng)世界中被廣泛采用的加密算法部署到 Nervos CKB 上,比如 secp256r1。所有的現(xiàn)代瀏覽器都已支持 W3C 的 Webauthn 標準,而 secp256r1 算法正是 Webauthn 的一部分。這意味著,用戶的手機/電腦/平板安全芯片中的私鑰,可以直接管理 Nervos CKB 上的資產(chǎn)。這是天才般的想法!那些沒有任何 Web3 技術知識的用戶,通過簡單的人臉或指紋識別即可簽署交易,并且是完全去中心化的。也就是說,所有的互聯(lián)網(wǎng)用戶,天然就是 Nervos CKB 的用戶。
我認為這是 Nervos CKB 設計中最天才的部分!這也是 .bit 項目被重啟的直接原因。目前,.bit 業(yè)務流程中已經(jīng)全面支持 Passkey,這使得那些沒有 Web3 基礎的用戶也可以直接使用 .bit。
在 EVM 的賬戶模型中,每一項資產(chǎn)都對應一個合約,合約中有一個數(shù)據(jù)表,記錄了每個用戶分別擁有多少該資產(chǎn)。你需要發(fā)送資產(chǎn)時,就需要發(fā)起一筆調(diào)用該合約的交易,并從你的賬戶中支付交易費。常見的問題是,新用戶的賬戶中往往沒有任何代幣,無法支付交易費。EVM 生態(tài)已經(jīng)出現(xiàn)了交易費代付的解決方案,但整體來說還是一個較復雜的方案。這種方案也不能有效解決全新用戶的問題。
在 Nervos CKB 的 Cell 模型中,每項資產(chǎn)也有對應的合約,但用戶擁有多少該資產(chǎn)是存儲在由用戶控制的 Cell 中的。也就是說,沒有一個統(tǒng)一的數(shù)據(jù)表去記錄每個用戶分別持有某項資產(chǎn)的多少;而是每個用戶自己手上的“保險柜”(也就是 Cell)中記錄了用戶持有多少資產(chǎn)。
有意思的點在于,Cell 本身就是由 CKB 這個代幣構(gòu)成的。一個 Cell 包含的 CKB 數(shù)量決定了它的數(shù)據(jù)存儲量上限。這些數(shù)據(jù)可能是某種代幣數(shù)量,也可能是 NFT 的 metadata 和圖片數(shù)據(jù),數(shù)據(jù)的含義由開發(fā)者定義和解釋。同時,網(wǎng)絡交易費也是以 CKB 來進行支付的。那就意味著,在構(gòu)造 Cell 時,除了把資產(chǎn)相關的數(shù)據(jù)存放到 Cell 里,還可以給 Cell 多附加一些 CKB,多附加的 CKB 就作為以后操作該資產(chǎn)時的交易費來源。
這就意味著,即便是一個全新的用戶,當我們把一個資產(chǎn)發(fā)送給他后,他不需要做任何其他準備,就可以操作這個資產(chǎn)了!他不需要關心什么是交易手續(xù)費,因為他收到的資產(chǎn)里面已經(jīng)包含了交易收費了。這是極其巧妙的設計!
@zhixian?曾做出過一個形象的比喻:EVM 上的資產(chǎn)就像是一個沒有油箱的汽車,你每次開車都需要帶一桶油上去,你把車送給別人時,別人也得準備好汽油才能使用這個車;而 CKB 上的資產(chǎn)是裝滿了油的汽車,任何人都可以直接上手開。同時,又由于抽象密碼學的設計,使得這輛車完全不挑駕駛員的技術(即,不需要用戶具備理解和管理私鑰),人人都能開。
總結(jié)起來,.bit 之所以選擇運行在 Nervos CKB 上,是因為只有 Nervos CKB 才能做到在為 .bit 提供堅固可靠的運行平臺的同時,還能極大降低 .bit 的使用門檻,使得 .bit 真正具有面向大規(guī)模用戶的能力。我相信,任何想構(gòu)建偉大產(chǎn)品的開發(fā)者,都希望自己的產(chǎn)品能面向更大規(guī)模的市場,而 Nervos CKB 在我看來是最佳的選擇。
新進入生態(tài)的開發(fā)者很容易帶著賬戶模型的經(jīng)驗來看 Nervos CKB 的編程模型(即擴展的 UTXO 模型),然后感覺到各種不適應。比如,全局狀態(tài)管理怎么這么復雜,Cell 搶占問題好頭疼。對此我的看法是,賬戶模型和 UTXO 模型各有優(yōu)劣。在某些場景下賬戶模型是高效的,比如對全局狀態(tài)的管理;在某些場景下 UTXO 模型是更高效的,比如前面提到的資產(chǎn)內(nèi)置交易費。如果始終站在賬戶模型本位,看 UTXO 模型,就像是看怪物。事實上,在以太坊誕生的初期里,許多習慣了互聯(lián)網(wǎng)應用開發(fā)的開發(fā)者也會不習慣 EVM 上面的編程;比特幣誕生之后的相當長的時間里,都被習慣了法幣系統(tǒng)的人們視為怪物。
剛開始接觸 UTXO 編程,可能會面臨一些棘手的挑戰(zhàn)。但不必擔心,這些往往都可以在 Nervos CKB 的論壇上找到相應的解決方案和討論。我在之前的系列文章《從 DAS 開始了解 CKB 應用開發(fā)》?中,探討了一些我們曾經(jīng)遇到過的挑戰(zhàn)和對應的解決方案。
我認為,隨著 UTXO 公鏈承載的資產(chǎn)越來越多,基于 UTXO 編程的意義和必要性開始變大,開發(fā)者對 UTXO 的理解也會加深。UTXO 編程終將成為一種流行的編程范式。與 Bitcoin 同構(gòu)的,具有強大可擴展性的 Nervos CKB 也將作為 Contract Kernel of Bitcoin 而存在。
小編推薦下載
為什么不問問神奇海螺呢 娛樂消遣
為什么糖不能吃得太多 娛樂消遣
太陽和月亮為什么住在天上 娛樂消遣
為什么要自己動手吃飯 娛樂消遣
你為什么大學不談戀愛 益智休閑
為什么我還是單身蘋果版 動作冒險
為什么說喜鵲是田野衛(wèi)士 娛樂消遣
為什么肚子餓了會叫 娛樂消遣
相關推薦
相關文章
更多>>資訊排行
同類軟件下載
熱門標簽