摘要:為了理解底層公鏈的模型,我們前置了幾篇概念性文章,講述了我們應(yīng)該以狀態(tài)為中心設(shè)計(jì)區(qū)塊鏈系統(tǒng)的,以及這么做帶來的好處。交易依然表示狀態(tài)的變化遷移。
為了理解底層公鏈 CKB 的 Cell 模型,我們前置了幾篇概念性文章,講述了我們應(yīng)該以狀態(tài)為中心設(shè)計(jì)區(qū)塊鏈系統(tǒng)的,以及這么做帶來的好處。并且在上一篇文章中,詳細(xì)分析了比特幣 UTXO 模型和以太坊的 Account 模型,以及進(jìn)行了對比分析。終于,我們要來了解集大成者 Cell 模型了。(前排提示:一遍看不懂沒關(guān)系,多看幾遍就懂了)
秘猿科技區(qū)塊鏈小課堂第 18 期
在設(shè)計(jì) CKB 的時(shí)候,我們想要解決三個(gè)方面的問題:
狀態(tài)爆炸引起的公地悲劇及去中心化的喪失;
計(jì)算和驗(yàn)證耦合在了一起使得無論是計(jì)算還是驗(yàn)證都失去了靈活性,難以擴(kuò)展;
交易與價(jià)值存儲(chǔ)這兩個(gè)目標(biāo)的內(nèi)在矛盾,Layer 2 和跨鏈的出現(xiàn)將放大這種矛盾,并對 Layer 1 的經(jīng)濟(jì)產(chǎn)生非常負(fù)面的影響。
對這些問題沒有答案,Layer 1 就無法長久運(yùn)行,區(qū)塊鏈給我們的種種承諾自然也是無從談起。這三個(gè)問題根植于區(qū)塊鏈架構(gòu)和協(xié)議設(shè)計(jì)的最深處,很難通過打補(bǔ)丁的方式來解決,我們必須從最基本的數(shù)據(jù)結(jié)構(gòu)開始,重新審視問題的根源,尋找更合適的地基。
幸運(yùn)的是,這個(gè)更合適的地基簡單得令人感到幸福,而且一直就擺在我們眼前。(本文會(huì)包含一些非常簡單的代碼,應(yīng)該不會(huì)影響非技術(shù)讀者閱讀……)
從 Bitcoin 中我們學(xué)到了什么Bitcoin 把整個(gè)賬本分割保存在了一個(gè)個(gè) UTXO 里面,UTXO 是未花費(fèi)交易輸出(Unspent Transaction Output)的簡寫,實(shí)際上是交易中包含的輸出(CTxOut)。CTxOut 的結(jié)構(gòu)非常簡單,只有兩個(gè)字段:
class CTxOut { public: CAmount nValue; CScript scriptPubKey; ... }
每一個(gè) CTxOut 代表了一個(gè)面值不同的硬幣(Yay bit-“Coin”),其中 nValue代表這個(gè)硬幣的面值是多少,scriptPubKey 是一段表示這個(gè)硬幣所有者是誰的腳本(通常包含了所有者的公鑰),只有能提供正確參數(shù)使這個(gè)腳本運(yùn)行成功的人才能把這個(gè)硬幣「轉(zhuǎn)讓」給另外一個(gè)人。
為什么要給「轉(zhuǎn)讓」打引號(hào)?因?yàn)樵谵D(zhuǎn)讓的時(shí)候,并不是簡單地把硬幣中的 scriptPubKey 修改或是替換掉,而是會(huì)銷毀和創(chuàng)造新的硬幣(畢竟在數(shù)字的世界中銷毀和創(chuàng)造虛擬硬幣的成本很低)。每一個(gè) Bitcoin 交易,都會(huì)銷毀一批硬幣,同時(shí)又創(chuàng)造一批硬幣,新創(chuàng)造的硬幣會(huì)有新的面值和新的所有者,但是被銷毀的總面值總是大于等于新創(chuàng)造的總面值,以保證沒有人可以隨意增發(fā)。交易表示的是賬本狀態(tài)的變化。
這樣一個(gè)模型的特點(diǎn)是:
硬幣(資產(chǎn))是第一性的;
所有者是硬幣的屬性,每一枚硬幣有且僅有一個(gè)所有者;
硬幣不斷的被銷毀和創(chuàng)建。
是不是很簡單?如果你覺得自己已經(jīng)理解了 Bitcoin 和 UTXO ,恭喜你,你也已經(jīng)理解了CKB 和 Cell!
CellLayer 1 的關(guān)注點(diǎn)在狀態(tài),以 Layer 1 為設(shè)計(jì)目標(biāo)的 CKB 設(shè)計(jì)的關(guān)注點(diǎn)很自然就是狀態(tài)。Ethereum 將交易歷史和狀態(tài)歷史分為兩個(gè)維度,區(qū)塊和交易表達(dá)的是觸發(fā)狀態(tài)遷移的事件而不是狀態(tài)本身,而 Bitcoin 協(xié)議中的交易和狀態(tài)融合成了一個(gè)維度,交易即狀態(tài),狀態(tài)即交易,正是一個(gè)以狀態(tài)為核心的架構(gòu)。
同時(shí),CKB 想要驗(yàn)證和長久保存的狀態(tài),不僅僅是簡單的數(shù)字(nValue),而是任何人認(rèn)為有價(jià)值的、經(jīng)過共識(shí)的數(shù)據(jù)。顯然 Bitcoin 的交易輸出結(jié)構(gòu)滿足不了這個(gè)需求,但是它已經(jīng)給了我們足夠的啟發(fā):只需要將 nValue 一般化,把它從一個(gè)存放整數(shù)的空間變成一個(gè)可以存放任意數(shù)據(jù)的空間,我們就得到了一個(gè)更加一般化的「CTxOut」,或者叫 Cell:
pub struct CellOutput { pub capacity: Capacity, pub data: Vec, pub lock: Script, pub type_: Option 交易依然表示狀態(tài)的變化 / 遷移。狀態(tài)的變化,或者說 Cell 內(nèi)容的「更新」實(shí)際上也是通過銷毀和創(chuàng)建來完成的(并不是真的去修改原有 Cell 中的內(nèi)容)。每一筆交易實(shí)際上都會(huì)銷毀一批 Cells,同時(shí)創(chuàng)建一批新的 Cells;新創(chuàng)造的 Cells 會(huì)有新的所有者,也會(huì)存放新的數(shù)據(jù),但是被銷毀的 capacity 總和總是大于等于新創(chuàng)建的 capacity 總和,由此保證沒有人可以隨便增發(fā) capacity。因?yàn)?capacity 可以轉(zhuǎn)讓,無法增發(fā),擁有 capacity 等于擁有相應(yīng)數(shù)量的共識(shí)狀態(tài)空間,capacity 是 CKB 網(wǎng)絡(luò)中的原生資產(chǎn)。Cell 的銷毀只是把它標(biāo)記為「已銷毀」,類似 Bitcoin 的 UTXO 從未花費(fèi)變?yōu)橐鸦ㄙM(fèi),并不是從區(qū)塊鏈上刪掉。每一個(gè) Cell 只能被銷毀一次,就像每一個(gè) UTXO 只能被花費(fèi)一次。
這樣一個(gè)模型的特點(diǎn)是:
狀態(tài)是第一性的;
所有者是狀態(tài)的屬性,每一份狀態(tài)只有一個(gè)所有者;
狀態(tài)不斷的被銷毀和創(chuàng)建。
所以說,Cell 是 UTXO 的一般化(generalized)版本。
Verify僅僅有一塊可以保存任意狀態(tài)的空間還不夠。Bitcoin 之所以有價(jià)值,是因?yàn)榫W(wǎng)絡(luò)中的全節(jié)點(diǎn)會(huì)對每一筆交易進(jìn)行驗(yàn)證 ,使得所有用戶都相信(并且知道別人也相信)Bitcoin 協(xié)議中寫下的規(guī)則(例如 2100 萬的上限)會(huì)得到保證。
共同知識(shí)之所以能成為共同知識(shí),是因?yàn)槊總€(gè)人都知道其他人認(rèn)可這些知識(shí) ,區(qū)塊鏈之所以能讓知識(shí)變成共同知識(shí),是因?yàn)槊總€(gè)人都知道其他人都能獨(dú)立驗(yàn)證這些知識(shí)并由此產(chǎn)生認(rèn)可。任何共識(shí)的過程都包含了一系列的驗(yàn)證以及相互之間的反復(fù)確認(rèn),這個(gè)過程正是網(wǎng)絡(luò)中共同知識(shí)形成的過程。(需要注意的是,驗(yàn)證知識(shí)是相對事先確定的驗(yàn)證規(guī)則來說的,通過驗(yàn)證的知識(shí)不代表命題為真。)
我們?nèi)绾悟?yàn)證 Cell 中保存的數(shù)據(jù)呢?這時(shí)候就需要 Cell 中的另一個(gè)字段 type 發(fā)揮作用了。type 與 lock 一樣,也是一段腳本, type 定義了 data 字段中保存的數(shù)據(jù)在狀態(tài)遷移過程中必須要遵守的規(guī)則,是對狀態(tài)的約束。CKB 網(wǎng)絡(luò)在共識(shí)的過程中,會(huì)在 CKB-VM 中執(zhí)行 type 腳本,驗(yàn)證新生成的 Cell 中保存的狀態(tài)符合 type 中預(yù)先定義好的規(guī)則。滿足同一種 type 約束的所有 Cell,保存的是同一種類型的數(shù)據(jù)。
舉個(gè)例子,假設(shè)我們想定義一個(gè)叫做 SatoshiCoin 的代幣(UDT,UserDefinedToken),它的狀態(tài)遷移必須滿足的約束是什么?只有兩條:
用戶必須證明自己是輸入代幣的所有者;
每一次轉(zhuǎn)賬的時(shí)候,輸入的代幣數(shù)量必須大于等于輸出的代幣數(shù)量。第一條約束可以通過 lock 腳本來表達(dá),如果有興趣可以查看這里的示例代碼[1],與 Bitcoin 的 scriptPubKey 原理相同;第二條約束,在 Bitcoin 中是在底層硬編碼實(shí)現(xiàn)的,在 CKB 中則是通過 type 腳本來實(shí)現(xiàn)。每個(gè) Cell 代表的 SatoshiCoin 數(shù)量是一種狀態(tài),我們首先定義其狀態(tài)結(jié)構(gòu),即每個(gè) type 等于 SatoshiCoin 的 Cell 在 data 保存的狀態(tài)為一個(gè)長度為 8 的字節(jié)串,代表的是序列化過后的數(shù)量:
{ "amount": "Bytes[8]" // serialized integer }type 腳本在執(zhí)行中,需要讀入交易中所有同類型的 Cells(根據(jù) type 字段可以判斷),然后檢查同一類型下的輸入 Cells 中保存的 amount 之和大于等于輸出 Cells 中保存的 amount 之和 。于是通過 lock 和 type 兩個(gè)腳本,我們就實(shí)現(xiàn)了一個(gè)最簡單的代幣。
lock 和 type 腳本不僅可以讀取自身 Cell 中保存的狀態(tài),也能夠引用和讀取其它 Cell 中保存的狀態(tài),所以 CKB 的編程模型是一個(gè)有狀態(tài)的編程模型。值得指出的是,Ethereum 的編程模型之所以強(qiáng)大,更多是因?yàn)樗袪顟B(tài),而不是因?yàn)樗挠邢迗D靈完備。我們可以把 type 腳本保存在一個(gè)獨(dú)立的 Cell 里面,然后在每一個(gè) SatoshiCoin Cell 的 type 字段引用它,這樣做的好處是相同的 type 腳本只需要一份空間保存,像這樣保存數(shù)字資產(chǎn)定義的 Cell 我們把它叫做 ADC(Asset Definition Cell)。
SatoshiCoin 的另一個(gè)特點(diǎn)是,具體的資產(chǎn)與所有者之間的記錄,分散保存在多個(gè)獨(dú)立的 Cell 里面,這些 Cell 可以是開發(fā)者提供給用戶的,也可以是用戶自己擁有的,甚至是租來的。只有在共識(shí)空間所有權(quán)明確的情況下,所有者才能真正擁有共識(shí)空間里面保存的資產(chǎn)(任何數(shù)據(jù)都是資產(chǎn))。在 CKB 上,因?yàn)橛脩艨梢哉嬲龘碛泄沧R(shí)空間,所以用戶可以真正擁有數(shù)字資產(chǎn)(當(dāng)你能真正擁有土地的時(shí)候,才能真正擁有土地上的房子)。
Cell 是抽象的狀態(tài)驗(yàn)證模型,Cell 提供的存儲(chǔ)(data)沒有任何內(nèi)部結(jié)構(gòu),Cell 支持任意的狀態(tài)驗(yàn)證規(guī)則(type)和所有權(quán)驗(yàn)證規(guī)則(lock),我們可以在 Cell 模型上模擬 UTXO 模型(就像上面的 SatoshiCoin),也可以在 Cell 模型上構(gòu)建 Account 模型。lock 腳本在驗(yàn)證交易輸入的時(shí)候執(zhí)行,確保用戶對輸入有所有權(quán),有權(quán)銷毀輸入的 Cells;type 腳本在驗(yàn)證交易輸出的時(shí)候執(zhí)行,確保用戶生成的新狀態(tài)符合類型約束,正確生成了新的 Cells。由于狀態(tài)模型迥異,以及計(jì)算和驗(yàn)證分離,CKB 的編程模型與 Ethereum 的編程模型有非常大的不同,什么是 CKB 編程模型上的最佳實(shí)踐還需要大量的探索。
通用驗(yàn)證網(wǎng)絡(luò)(General Verification Network)Bitcoin 是一個(gè)驗(yàn)證網(wǎng)絡(luò)(Verification Network)。在轉(zhuǎn)賬時(shí),用戶告訴錢包/本地客戶端轉(zhuǎn)賬的數(shù)量和收款人,錢包根據(jù)用戶提供的信息進(jìn)行計(jì)算,在本地找出用戶擁有的數(shù)量合適的硬幣(UTXO),同時(shí)產(chǎn)生一批新的硬幣,這些硬幣有些歸收款人所有,有些是找零。之后錢包將這些花費(fèi)掉的硬幣和新生成的硬幣打包到一個(gè)交易里面,將交易廣播,網(wǎng)絡(luò)對交易驗(yàn)證后將交易打包到區(qū)塊里面,交易完成。
在這個(gè)過程中,網(wǎng)絡(luò)中的節(jié)點(diǎn)并不關(guān)心老的狀態(tài)(被銷毀的硬幣)是怎樣被搜索出來的,也不關(guān)心新的狀態(tài)(新硬幣)是怎樣生成出來的,只關(guān)心這些硬幣的面值總和在交易前后沒有改變。在轉(zhuǎn)賬過程中,計(jì)算在用戶端完成,因此用戶在交易發(fā)送時(shí)就能確定計(jì)算結(jié)果(新狀態(tài))是什么。
Ethereum 是一個(gè)通用計(jì)算網(wǎng)絡(luò)(General Computation Network)。在使用 DApp 的時(shí)候,用戶告訴錢包/本地客戶端想要進(jìn)行的操作,錢包將用戶的操作請求原樣打包到交易里面,并將交易廣播。網(wǎng)絡(luò)節(jié)點(diǎn)收到交易之后,根據(jù)區(qū)塊鏈的當(dāng)前狀態(tài)和交易包含的操作請求進(jìn)行計(jì)算,生成新的狀態(tài)。在這個(gè)過程中,計(jì)算在遠(yuǎn)端完成,交易結(jié)果(新狀態(tài))只有在交易被打包到區(qū)塊之后才能確定,用戶在交易發(fā)送的時(shí)候并不能完全確定計(jì)算結(jié)果。
(圖中,上面是 Ethereum 的流程,交易中包含的是用戶請求或者說事件/Event;下面是 Bitcoin/CKB 的流程,交易中包含的是鏈下生成的狀態(tài)/State。)
CKB 是一個(gè)通用驗(yàn)證網(wǎng)絡(luò)(General Verification Network)。在使用 DApp 的時(shí)候,用戶告訴錢包/本地客戶端想要進(jìn)行的操作,錢包根據(jù)當(dāng)前狀態(tài)和用戶的操作請求進(jìn)行計(jì)算,生成新的狀態(tài)。在這個(gè)過程中,計(jì)算在用戶端完成,計(jì)算結(jié)果(新狀態(tài))在交易發(fā)出的時(shí)候就已經(jīng)確定了。
換句話說,Bitcoin 和 CKB 都是先計(jì)算再共識(shí),而 Ethereum 是先共識(shí)再計(jì)算。有趣的是,在許可鏈架構(gòu)里面也有同樣派別之分:Fabric 是先計(jì)算再共識(shí),而 CITA(實(shí)際上不僅僅是許可鏈)是先共識(shí)再計(jì)算。(思考題:哪一種架構(gòu)更適合許可鏈?)
計(jì)算與驗(yàn)證的分離同時(shí)也使得 Layer 2 與 Layer 1 自然分開了。Layer 1 關(guān)心的是新的狀態(tài)是什么,并不關(guān)心新的狀態(tài)是如何得到的。無論是 State channel,Plasma 還是其他 Layer 2 方案,其實(shí)質(zhì)都是在鏈外進(jìn)行計(jì)算,在特定時(shí)候?qū)⒆罱K狀態(tài)提交到 Layer 1上進(jìn)行驗(yàn)證。
為什么 CKB 的 Cell 模型更好?現(xiàn)在我們得到了一個(gè)非常不同的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),在這個(gè)結(jié)構(gòu)之上我們設(shè)計(jì)了獨(dú)特的經(jīng)濟(jì)模型,這個(gè)結(jié)果真的更好嗎?回顧一開始的三個(gè)問題也許能給我們一些啟示。
capacity 是原生資產(chǎn),受到預(yù)先確定的發(fā)行規(guī)則約束,其總量有限;
capacity 同時(shí)又是狀態(tài)的度量,有多少 capacity ,CKB 上就能放多少數(shù)據(jù),CKB 狀態(tài)空間的最大值與 capacity 總量大小相等,CKB 上保存的狀態(tài)不會(huì)超過 capacity 總量。這兩點(diǎn)決定了 CKB 不會(huì)有狀態(tài)爆炸的問題。在 capacity 發(fā)行規(guī)則適當(dāng)?shù)那闆r下,網(wǎng)絡(luò)應(yīng)該可以長久的保持去中心化的狀態(tài)。每一個(gè) Cell 都是獨(dú)立狀態(tài),有明確的所有者,原本屬于公共資源的狀態(tài)空間被私有化,寶貴的共識(shí)空間可以被更有效的使用。
CKB 是一個(gè)通用驗(yàn)證網(wǎng)絡(luò),計(jì)算和驗(yàn)證得到了分離,各自的靈活性和擴(kuò)展性都得到了提高。更多的計(jì)算被推到了用戶端執(zhí)行,計(jì)算發(fā)生在離場景和數(shù)據(jù)更近的地方,數(shù)據(jù)處理的方式更靈活,工具更多樣。這也意味著,在 CKB 架構(gòu)中,錢包是一個(gè)能做的事情更多,能力更大的入口。在驗(yàn)證端,由于計(jì)算結(jié)果已經(jīng)完全確定,交易的依賴分析變得非常輕松,交易的并行處理也就更加容易。
在基于 Cell 建立的經(jīng)濟(jì)模型中,存儲(chǔ)的使用成本與占用空間大小和占用時(shí)間成正比,礦工可以通過提供共識(shí)空間獲得相應(yīng)的收益。CKB 提供的 Utility 是安全的共識(shí)空間,價(jià)值來自于其安全性和可用性(accessability),并不是來自于交易處理能力(TPS),與 Layer 2 負(fù)責(zé)交易的特點(diǎn)相輔相成,在分層網(wǎng)絡(luò)和跨鏈網(wǎng)絡(luò)中具有更好的價(jià)值捕獲能力。
最后,CKB 不是…… IPFSCKB 是一種存儲(chǔ)這一點(diǎn)可能會(huì)使人感到迷惑:「這不就是 IPFS/Filecoin/(任何分布式存儲(chǔ))嗎?」
CKB 不是分布式存儲(chǔ),關(guān)鍵的區(qū)別在于分布式存儲(chǔ)只有存儲(chǔ),沒有驗(yàn)證,也就不會(huì)對其存儲(chǔ)的數(shù)據(jù)形成共識(shí)。分布式存儲(chǔ)的容量可以隨著存儲(chǔ)技術(shù)的增長而等比例的增長,而 CKB 的容量則收到形成全球共識(shí)效率的限制。
CKB 也不需要擔(dān)心容量不夠。在 Layer 2 以及分層技術(shù)成熟的階段,極端情況下,Layer 1 上可能只需要放一個(gè) merkle root 就足夠了。在 Layer 1 上進(jìn)行驗(yàn)證所需要的狀態(tài),也可以通過交易提交給節(jié)點(diǎn),節(jié)點(diǎn)通過 merkle proof 驗(yàn)證狀態(tài)是有效的,在此基礎(chǔ)之上再驗(yàn)證狀態(tài)遷移是有效的,這個(gè)方向已經(jīng)有一些研究。
QtumQtum 是嘗試在 UTXO 模型上引入更強(qiáng)大的智能合約的先行者之一,具體做法是保持 Bitcoin 原有的 UTXO 模型不變,在其上引入賬戶抽象層(Account Abstraction Layer),支持 EVM 或是 x86 虛擬機(jī)。
在 Qtum 中,Bitcoin 的驗(yàn)證是第一層,EVM 的計(jì)算是第二層(注意這是一個(gè)區(qū)塊連協(xié)議內(nèi)部的分層,不是 Layer 1 和 Layer 2)。Qtum 對 UTXO 中 scriptPubKey 的處理邏輯進(jìn)行修改,以實(shí)現(xiàn)在交易打包后,將 Bitcoin Transaction 中攜帶的請求傳遞給 EVM 進(jìn)行執(zhí)行的效果。
Qtum 將 Bitcoin 和 Ethereum 的執(zhí)行模型橋接到了一起,網(wǎng)絡(luò)節(jié)點(diǎn)先驗(yàn)證交易輸入部分(同 Bitcoin),再調(diào)用合約進(jìn)行計(jì)算(同 Ethereum),狀態(tài)分散在 UTXO 模型和 EVM 自己的狀態(tài)存儲(chǔ)兩個(gè)地方,整體架構(gòu)比較復(fù)雜。
CKB 所做的是繼承 Bitcoin 的架構(gòu)思路,對 UTXO 模型進(jìn)行一般化(Generalization)處理得到 Cell 模型,整體架構(gòu)保持了一致性以及 Bitcoin 的簡潔。CKB 上的所有狀態(tài)都在 Cell 里面,計(jì)算在鏈下完成(類似 Bitcoin),網(wǎng)絡(luò)節(jié)點(diǎn)只做驗(yàn)證。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/24725.html
摘要:區(qū)塊鏈上的底層模型設(shè)計(jì),實(shí)際上就是分別以比特幣和以太坊為代表的兩種模型比特幣的模型以太坊的模型而實(shí)際上二者的差異千差萬別,代表了兩種思路。以太坊的模型和銀行賬戶類似,在賬戶中記錄用戶的余額。 showImg(https://segmentfault.com/img/bVbt7zb?w=2779&h=1179); 6 月 18 日,F(xiàn)acebook 加密貨幣項(xiàng)目 Libra 發(fā)布的白皮書...
摘要:加密經(jīng)濟(jì)網(wǎng)絡(luò)中的底層公鏈?zhǔn)潜缺忍貛鸥癖忍貛诺膬r(jià)值存儲(chǔ)平臺(tái)。這一點(diǎn)將會(huì)在經(jīng)濟(jì)模型設(shè)計(jì)中講到,敬請期待在技術(shù)實(shí)現(xiàn)上,我們也充分對比了比特幣模型和以太坊模型的優(yōu)劣,從中繼承了比特幣協(xié)議對狀態(tài)為核心的優(yōu)秀架構(gòu)。 Nervos 加密經(jīng)濟(jì)網(wǎng)絡(luò)中的底層公鏈 CKB 是比比特幣更像比特幣的價(jià)值存儲(chǔ)平臺(tái)。(這一點(diǎn)將會(huì)在經(jīng)濟(jì)模型設(shè)計(jì)中講到,敬請期待~)在技術(shù)實(shí)現(xiàn)上,我們也充分對比了比特幣 UTXO 模型...
摘要:因?yàn)榘踩珨U(kuò)展性去中心化這個(gè)不可能三角問題的存在,在不犧牲安全和去中心化的前提下,要在上解決擴(kuò)展性問題幾乎是不可能完成的任務(wù),因此我們只能繞道而行,選擇分層方案。 在上一篇《小白都能看懂的 Cell 模型》中,我們用大白話簡單介紹了 Cell 模型。在這篇文章中,我們將會(huì)從「驗(yàn)證模型」和「狀態(tài)存儲(chǔ)」兩個(gè)方面來介紹 Cell 模型——一個(gè)適合分層架構(gòu)的區(qū)塊鏈設(shè)計(jì) 秘猿科技區(qū)塊鏈小課堂第 2...
摘要:比特幣和以太坊像兩座最早出現(xiàn)的虛擬城市。下面我們先來分析比特幣和以太坊這兩個(gè)最大加密經(jīng)濟(jì)體的經(jīng)濟(jì)模型,我們經(jīng)過研究發(fā)現(xiàn)它們在可持續(xù)性上都存在各自的問題。狀態(tài)爆炸比特幣與智能合約平臺(tái),都 公鏈的競爭是慘烈的,這個(gè)戰(zhàn)場里的玩家要想生存下來,既要有絕活,還得沒短板。在構(gòu)建加密經(jīng)濟(jì)網(wǎng)絡(luò)上,在技術(shù)實(shí)現(xiàn)和共識(shí)協(xié)議部分,我們?yōu)榇蠹曳窒砹薈KB 的絕活,即: 與時(shí)俱進(jìn)的 Cell 模型 用 RIS...
摘要:老師周四分享程序員中的專業(yè)區(qū)塊鏈講解員老師每周四晚的千聊直播分享,最近兩周帶來了期有關(guān)比特幣白皮書圖解的內(nèi)容,第一部分主要講的是比特幣的基本情況及比特幣網(wǎng)絡(luò)的基本組成,第二部分深入解析了比特幣的交易及共識(shí)機(jī)制。 showImg(https://segmentfault.com/img/bVbpdhy?w=1080&h=460); 這一期,有些激動(dòng)有些慌!為什么呢? 在正式發(fā)布 CKB ...
閱讀 1647·2021-10-18 13:35
閱讀 2421·2021-10-09 09:44
閱讀 882·2021-10-08 10:05
閱讀 2837·2021-09-26 09:47
閱讀 3676·2021-09-22 15:22
閱讀 493·2019-08-29 12:24
閱讀 2068·2019-08-29 11:06
閱讀 2908·2019-08-26 12:23