摘要:區塊鏈上的底層模型設計,實際上就是分別以比特幣和以太坊為代表的兩種模型比特幣的模型以太坊的模型而實際上二者的差異千差萬別,代表了兩種思路。以太坊的模型和銀行賬戶類似,在賬戶中記錄用戶的余額。
6 月 18 日,Facebook 加密貨幣項目 Libra 發布的白皮書引起了區塊鏈業內人士的廣泛關注。Nervos 團隊及社區伙伴們也對 Libra 進行了大量的討論。
Nervos 合伙人王博認為:
所有討論 Libra 是不是一個好貨幣,算不算貨幣以及 Facebook 搞的聯盟鏈是不是真區塊鏈的討論都搞錯了重點。Libra 白皮書第一句寫得非常清晰「...為十億人服務的金融基礎設施。」貨幣只是金融基礎設施的基礎。有了 Move 智能合約,有了用戶和基礎資產,Libra 上將誕生有史以來摩擦最小的金融服務。會有些什么服務呢?余額寶、花唄、借唄、工資理財,等等。區別是這些服務很有可能是由全球化的第三方提供的,而且他們之間可以互相依賴:房貸可以在鏈上被分割成小額理財出售給其他用戶。現在,Open Banking 剛有了個概念,API Bank 剛有了文檔,針對它們的降維打擊就來了。
區塊鏈發展到現在展現了兩個層面的獨特價值。一個是資產的去中心化發行,就是所謂的傳統公鏈價值。一個是金融的去中心化服務,它服務的對象可以是傳統金融資產,比如貨幣,債券等。后者對世界的價值一點不比前者小。Libra 就是定位在后者的頭部公鏈。
Libra 定位在金融基礎設施,很準確很有價值。它可以大幅降低金融摩擦,為用戶提供價值。
Libra 其中的一個亮點是提到了「First-Class Resources」這個概念,在 Move 編程語言的白皮書中這樣寫道:「First-class Resources 是一個非常普遍的概念,程序員可以使用實現安全的數字資產(的發行),還可以編寫正確的商業邏輯來包裝資產和實施訪問控制策略。」
First-class Resources 翻譯過來是「資源是一等公民」,在 Libra 中用戶可以發行自己的資產,并且可以被用戶及腳本直接引用和操作。
而關于這個概念,實際上 Nervos 架構師 Jan 在去年的文章《First-class Asset》中已經對這個概念進行了深入的分析。
First-class Asset區塊鏈上的底層模型設計,實際上就是分別以比特幣和以太坊為代表的兩種模型:
比特幣的 UTXO 模型
以太坊的 Account 模型
而實際上二者的差異千差萬別,代表了兩種思路。
以太坊的 Account 模型和銀行賬戶類似,在賬戶中記錄用戶的余額。賬戶是用戶直接操作的對象,資產的轉移是由賬戶作為用戶的代理實現。但是當需要對用戶定義的資產進行操作的時候,則需要引入第三方,即托管加密資產的智能合約執行資產轉移流程。
而比特幣的 UTXO 全名為「Unspent Transaction Output」,每個 UTXO 都是比特幣,UTXO 中都通過一段鎖定腳本(lock script)記錄這個比特幣的所有者,我們可以通過比特幣腳本對 UTXO 進行編程實現部分業務邏輯,比特幣就是一種「First-class Coin」。
而 Nervos CKB 中使用 Cell 模型進行構建,Cell 是一種通用化的 UTXO 模型,可以存儲任意類型的數據,并在基于 RISC-V 指令集編寫的 CKB-VM 加持下,能夠實現更多的商業邏輯。Cell 可以被直接引用,作為參數傳遞給腳本,Cell 的所有者可以直接更新 Cell 中保存的狀態,不需要經過任何的第三方。
通過 Cell 模型可以發行用戶定義資產(User Defined Asset),可以這樣來構造:
設計資產定義合約(Asset Definition),規定資產的主要約束(例如總數量,發行者,交易前后數量不變等)。
保存合約代碼到 Asset Definition Cell 中。
在滿足發行權限的情況下,發行者發行資產,并將資產狀態保存在另外的 State Cell 中。State Cell 的 Type 字段引用保存了資產定義的 Code Cell,保證 State Cell 的變化受到資產定義的約束。
Asset Cell 的持有者可以通過更新 Lock 來改變 Asset Cell 的所有者。
實現 First-class Asset 之后,我們能夠做什么?實現 First-class 之后,最大的區別就是:用戶掌握所有權,能夠對資產進行直接的操作,而不是如 Account 模型那樣調用合約賬戶進行間接操作。
特別是,在不同區塊鏈之間資產的遷移過程中,我們需要遷移的是資產而不是賬戶,這方面 Account 模型就受到了很大的阻力,比如知名的 Kelvin Fichter 提出的 EVM-On-Plasma 問題。
Asset Cell 可以被引用,可以直接作為其它合約的參數傳入。只要引用 Asset Cell 的 input 有正確的用戶授權,合約就可以正常的使用用戶的 Asset Cell。
資產定義與資產狀態分離。Asset Definition Cell 的所有者是資產的發行者,而 Asset Cell 是屬于每個用戶的。Asset Cell 的授權邏輯和業務邏輯分離,所有權完全由自己的 lock 決定,與 Asset Definition 的邏輯無關,這意味著 First-class Asset 不是托管在資產發行者、開發者或是資產定義合約的手中,而是真正完全屬于用戶的。
用戶的資產相互隔離,用戶資產狀態獨立,對經濟設計問題帶來了解決方案。公鏈的經濟模型需要關注狀態存儲激勵問題,用戶在區塊鏈上保存狀態不僅需要支付寫入費用,還應該承擔與存儲時間成正比的存儲成本。在以太坊提出的狀態租賃方案中,最大的痛點是針對用戶的資產狀態混合保存的合約(如 ERC-20)狀態租賃收取,而在 Cell 模型中,只要 Asset Definition Cell 的 lock 邏輯允許,資產定義可以獨立更新。
接下來我們還需要做什么?除了通過 Cell 模型實現了 First-class Asset 以外,Nervos CKB 還將計算移到了鏈外,鏈上只需要對狀態進行驗證的邏輯。獨特的狀態模型和計算驗證分離,這兩點決定了未來在 Nervos CKB 上會出現新的、有趣的 DApp 范式。
從 CKB 白皮書完成到現在的一年半時間里,我們看到越來越多的人開始關注和討論 First-class State 和 First-class Asset 這兩種新的思路(雖然大家用的名詞各自都不一樣),這些進展讓我們非常興奮。如果你有興趣對 First-class State 和 First-class Asset 進行更多的探討,或是在 CKB 的編程模型上有什么有趣的想法,歡迎聯系我們討論:
https://talk.nervos.org
CKB 的代碼已經完全開源,這篇文章介紹的內容在代碼中都已經實現。歡迎給我們的代碼提出各種意見:
https://github.com/nervosnetw... (CKB 上用 Ruby 腳本編程的示例,理解 CKB 上編程模型的最佳入口)
https://github.com/nervosnetw...
https://github.com/nervosnetw...
文:Ryan
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/24759.html
摘要:使用模型的代表是比特幣。每一個比特幣全節點都會維護當前所有的集合,這個集合我們就稱為比特幣賬本的當前狀態即當前的賬本。每一次比特幣轉賬都是一個從集合中刪除幾個硬幣屬于付款方然后又增加幾個新硬幣屬于收款方和或付款方的過程。 showImg(https://segmentfault.com/img/bVblzCB?w=1219&h=803); 本篇文章的作者是 Jan,文章闡述了 Cell...
摘要:使用模型的代表是比特幣。每一個比特幣全節點都會維護當前所有的集合,這個集合我們就稱為比特幣賬本的當前狀態即當前的賬本。 本文是對前幾期秘猿區塊鏈課堂中關于 Cell 模型的總結。底層公鏈 CKB 的 Cell 模型是一個高度抽象的模型,事實上,你不僅可以在 Cell 上實現 First-class Asset,也可以在 Cell 上模擬 Account。通過本文的介紹我們可以看出,Ce...
摘要:無論如何,摩根對密碼貨幣從蔑視到參與,表明傳統金融體系已經高度重視這場密碼革命。據悉,目前全球范圍內至少家銀行金融機構不同程度地涉入區塊鏈并考慮發行自己的數字貨幣。 showImg(https://segmentfault.com/img/bVbuHQO); 最近,Facebook發布Libra白皮書引起全球關注,各國金融監管機構紛紛發表對Libra的態度和看法;而在幾個月前,美國最大...
摘要:無論如何,摩根對密碼貨幣從蔑視到參與,表明傳統金融體系已經高度重視這場密碼革命。據悉,目前全球范圍內至少家銀行金融機構不同程度地涉入區塊鏈并考慮發行自己的數字貨幣。 showImg(https://segmentfault.com/img/bVbuHQO); 最近,Facebook發布Libra白皮書引起全球關注,各國金融監管機構紛紛發表對Libra的態度和看法;而在幾個月前,美國最大...
閱讀 3303·2021-11-24 09:39
閱讀 2815·2021-10-12 10:20
閱讀 1917·2019-08-30 15:53
閱讀 3082·2019-08-30 14:14
閱讀 2611·2019-08-29 15:36
閱讀 1129·2019-08-29 14:11
閱讀 1961·2019-08-26 13:51
閱讀 3415·2019-08-26 13:23