比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > OKB > Info

ASS:有趣的 DApp 設計模式:First-class Asset_Cells Finance

Author:

Time:1900/1/1 0:00:00

本篇文章的作者是Jan,文章闡述了Cell模型中支持的一種非常有趣的DApp設計模式:First-classAsset,它讓加密資產變成區塊鏈中的「一等公民」。喜歡函數式編程的工程師應該很熟悉一個名詞:First-classFunction,翻譯成中文應該叫「頭等函數」或者「一等函數」。First-classFunction指的是一類編程語言,在這些語言中函數是一個完全獨立的概念:函數可以被當作值賦給一個變量,可以被當作參數傳遞給其他函數,也可以被當作返回值從其它函數傳出來。在這樣的語言中我們可以像操縱數據一樣操縱函數,所以在這些語言中函數和數據一樣是「一等公民」。First-classFunction是函數式語言的一個關鍵特性,很多函數式編程的強大能力來源于此。NervosCKB使用Cell模型來構建整個共同知識庫的狀態。Cell模型是一個非常簡單但是與現有區塊鏈設計非常不同的狀態模型,我們在設計Cell模型的時候已經意識到,基于Cell模型的DApp將擁有一些非常不同的性質,就像函數式編程和面向對象編程會產生風格迥異的設計模式和程序特性一樣。在這篇文章中,我想闡述Cell模型可以支持的一種非常有趣的DApp設計模式,我們把它叫做First-classAsset,因為通過它我們可以將用戶自定義的加密資產變成區塊鏈中的「一等公民」。狀態模型的快速入門

在Cell模型之前,各種區塊鏈使用的狀態模型基本上就是兩種:UTXO模型和Account模型。使用UTXO模型的代表是比特幣。UTXO是未被花費的交易輸出的縮寫,一個UTXO可以簡單的理解為是一個比特幣,然而和一般的硬幣不同,每一個UTXO的面值都是不一樣的。每個UTXO中都通過一段鎖腳本記錄了這枚硬幣的所有者是誰,同時保證只有所有者能夠花費這枚硬幣。每一個比特幣全節點都會維護當前所有UTXO的集合,這個集合我們就稱為比特幣賬本的當前狀態。每一次比特幣轉賬都是一個從UTXO集合中刪除幾個硬幣然后又增加幾個新硬幣的過程。由于整個賬本狀態是基于UTXO這個最小單元構建的,我們把它叫做UTXO模型。使用Account模型的代表是以太坊。Account就是賬戶,和銀行賬戶類似,代表了資產的所有者,賬戶里面最重要的數據是余額,記錄這個賬戶持有的以太幣的數量。賬戶是資產所有者的代表,所有者可以是人或者智能合約,外部賬戶通過私鑰簽名來驗證資產所有權,合約賬戶的所有權通過合約代碼來確定,合約代碼和狀態都保存合約賬戶內部。外部賬戶要轉賬的時候,用戶在交易中指明轉賬數量,賬本中的付款方賬戶余額和收款方賬戶余額就會做相應的減少和增加。由于整個賬本狀態是基于賬戶這個最小單元構建的,我們把它叫做Account模型。First-classCoin

Visa全球CBDC產品負責人:Visa想要“有趣的用例”,在穩定幣領域的重點是法幣支持的數字貨幣:5月19日消息,Visa全球CBDC產品負責人Catherine Gu在Permissionless大會中發言稱,Visa想要“有趣的用例”,它在穩定幣領域的重點是法定支持的數字貨幣,Visa還研究了利用鏈上抵押品的項目。Gu表示:我們必須考慮如何構建這些不同的項目,保障措施和標準對消費者、散戶投資者和機構都很重要。此外,重要的是要了解穩定幣儲備是如何被審計的,以及誰來模擬和測試他們的系統性風險,即使是最安全的資產也可能存在風險。(blockworks)[2022/5/19 3:27:23]

UTXO模型和Account模型代表了構建賬本狀態的兩種思路。賬本是所有者與資產之間關系的集合。UTXO模型以資產為基礎建模,先構建出「硬幣」的概念,再給硬幣賦予所有者的屬性;Account模型以所有者為基礎建模,先構建出「賬戶」的概念,再給賬戶賦予余額的屬性。以哪種方式作為基礎模型決定了系統中的操作的基本對象是資產還是賬戶。所以我們說,硬幣是UTXO模型中的First-classCitizen,每一個UTXO都是一個具有獨立標識符的對象,Coin是用戶直接操作的對象,賬戶是基于Coin建立的上層概念。因此UTXO是First-classCoin。在Account模型中,賬戶是First-classCitizen,聚合在賬戶余額中的硬幣沒有獨立的標識符。賬戶是用戶直接操作的對象,資產的轉移是由賬戶作為用戶的代理實現的,這一點在接受方是合約賬戶時體現的最為明顯。在這樣的模型下,用戶定義加密資產更像是通過第三方記賬的方式,而非點對點的方式轉移,這個差異會將第三方引入資產轉移流程,增加智能合約的設計復雜度。為了降低這種復雜度,Account模型中的交易需要加入特殊的邏輯,但是這樣的特殊邏輯只有助于原生資產,同時造成對原生資產和用戶自定義資產的不同代碼路徑。對于這些問題,KelvinFitcher寫過一篇LookingatownershipintheEVM進行了很好的分析,在此不再贅述。有了這些背景,我們應該更容易理解CKB的這一設計理念了:有了Cell模型,我們能夠簡化設計,并在NervosCKB上實現作為「一等公民」的用戶定義資產,簡稱First-classAssets.First-classAssets與UTXO一樣,具有獨立標識符,可以被用戶及腳本直接引用和操作。First-classState

YFI創始人:流動性挖礦保險轉售衍生出一些有趣的現象:9月14日午間,YFI項目創始人AndreCronje今日發推提到了加密保險的一些有趣現象:

1,人們在做流動性挖礦時正在大量購買保險;

2,流動性挖礦結束后,保險對他們而言就失效了;

3,Nexus(DeFi保險平臺)表示,用戶可以無風險持有資產,這意味著,如果發生了可索賠事件,保險可以按保險費轉售。這使得市場上出現折扣保險,協議可以在二級市場上以便宜的價格為系統購買廣泛的保險,為可索賠事件創造一個安全網;這是一個好的公益事業,如果用戶不做流動性挖礦了,可以考慮把保險捐贈給社區,這樣社區就能在意外發生時有后備方案。[2020/9/14]

如何實現First-classAssets呢?無論用何種方式,我們都需要記錄所有者和資產之間的關系。這些關系記錄,本質上是經過共識的狀態。要有First-classAssets,必須先有First-classState,而這正是Cell模型的出發點。NervosCKB的名字來自于CommonKnowledgeBase的縮寫。我們之所以把Nervos網絡中的區塊鏈稱為「共同知識庫」,是因為它的責任是持續不斷的對網絡的共同狀態形成全球共識,換句話說,CKB是一個由全球共識維護的狀態庫。一個狀態庫的基本模型,很自然的是將整個狀態劃分為更小的狀態單元組織起來。這些更小的狀態單元,就是Cell。由于Cell是一種狀態單元,有獨立的標識符,可以被直接引用,作為參數傳遞給腳本,它是CKB中的「一等公民」,也就是說狀態是CKB中的「一等公民」。Cell不僅僅是一種First-classState,而且是最簡單的一種First-classState:一個Cell中只有Capacity,Data,Lock以及Contract四個字段。如下圖所示,Cell的所有者可以直接更新Cell中保存的狀態,不需要經過任何中間方,而在Account模型中用戶只能通過合約代碼來操作賬戶內的狀態,狀態實際上是托管在合約手中的。值得指出的是,有了Cell,CKB實際上就獲得了一種有狀態的編程模型。一種普遍的觀點是,以太坊編程模型的表達能力來自圖靈完備的虛擬機,實際上通過賬戶使得智能合約能夠保存計算狀態是一個大過EVM的優點。CKB通過Cell和CKB-VM的組合實現了一種新的有狀態的智能合約編程模型。這個編程模型更加適合Layer2,因為通過分析Layer2協議的共同模式我們可以看到,協議層之間的交互對象應該是狀態對象而不是事件對象,Layer1應該是一個狀態層而不是計算層。CKB編程模型的另一個特點是,不區分數據和代碼。這句話的意思是,與Account模型不同,合約的狀態和代碼都可以儲存在Cell的Data字段中,保存代碼的Cell可以被其它Cell引用,合約的狀態和代碼不需要綁定在一起,存放在一個地方。開發者可以通過一條簡單的指令把代碼Cell或者數據Cell的內容載入運行時內存,然后根據需要自行將其解釋為代碼執行或者數據來讀寫。有了這些底層支持,我們就可以將一個合約的代碼和狀態分開保存在不同的地方:CodeCell的Code字段存放代碼,而StateCell的State的字段則保存狀態;在StateCell中通過Contractref引用CodeCell來建立對自身保存的State的業務邏輯約束,通過Lockref引用另外一個CodeCell來表達StateCell的所有權。每一個StateCell可以屬于不同的用戶,因此在Cell模型下獨立的用戶狀態是非常容易實現的模式。如果想對CKB-VM上的合約編寫有更多了解,請看這兩篇文章:HelloCKB!AnIntroductiontoNervosCKB-VM有了這樣一種編程模型,我們就能構造First-classAsset了。First-classAsset

直播|Ruby > 跨界區塊鏈后那些有趣的事兒:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第5期20:00準時開始,本期“后浪”仙女 鏈聞 市場負責人Ruby將在直播間聊聊“跨界區塊鏈后那些有趣的事兒”,感興趣的朋友掃碼移步收聽![2020/6/19]

CKB中的用戶定義資產可以這樣來構造:設計資產定義合約,規定資產的主要約束;保存合約代碼到AssetDefinitionCell中;在滿足發行權限的情況下,發行者發行資產,并將資產狀態保存在另外的StateCell中。StateCell的Contract字段引用保存了資產定義的CodeCell,保證StateCell的變化受到資產定義的約束;AssetCell的持有者可以通過更新Lock來改變AssetCell的所有者。可以看到,在這樣的設計中,用戶定義的資產是作為獨立對象存在于系統中的,每一份資產都是一個Cell,每一份資產都擁有自己的標識符。我們完全可以認為AssetCell是UTXO的通用化版本。這樣的First-classAsset有如下優點:AssetCell可以被引用,可以直接作為其它合約的參數傳入。只要引用AssetCell的Input有正確的用戶授權,合約就可以正常的使用用戶的AssetCell;資產定義與資產狀態分離。AssetDefinitionCell的所有者是資產的發行者,而AssetCell是屬于每個用戶的。AssetCell的授權邏輯和業務邏輯分離,所有權完全由自己的Lock決定,與AssetDefinition的邏輯無關,這意味著First-classAsset不是托管在資產發行者、開發者或是資產定義合約的手中,而是真正完全屬于用戶的;用戶的資產相互隔離,用戶資產狀態獨立。CKB的經濟模型關注狀態存儲激勵問題:用戶在區塊鏈上保存狀態不僅需要支付寫入費用,而且應該承擔與存儲時間成正比的存儲成本。如果用戶的資產狀態混合在一個地方保存,這些狀態的存儲成本有誰來支付將是一個問題。;只要AssetDefinitionCell的Lock邏輯允許,資產定義可以獨立更新。上面的示意圖只是在CKB上實現First-classAsset的一種方式。除了上面討論的方面,還有一些有趣的細節,例如,AssetDefinitionCell是不是可以有屬于自己的狀態?AssetDefinitionCell以及AssetCell的Capacity應該由誰來提供?對于這些問題,我們已經有了一些非常漂亮的想法。這些細節的設計、討論和實現是我們現在正在進行的工作。Summary

聲音 | DRW控股創始人:對我來說,更有趣的是比特幣的應用方法:DRW控股公司的創始人兼交易商大亨Don Wilson稱,有很多關于比特幣存儲價值的爭論。但對我來說更有趣的是比特幣的應用方法,在一個系統中沒有信任的傳輸能力是具有巨大破壞性的。[2018/9/19]

Cell模型是一個高度抽象的模型,事實上,你不僅可以在Cell上實現First-classAsset,也可以在Cell上模擬Account。通過這篇文章的介紹我們可以看出,Cell模型是一個不同于UTXO模型和Account模型的新設計。除了狀態模型的不同,CKB還將計算轉移到了鏈外,在鏈上只需要對狀態進行驗證的邏輯。獨特的狀態模型和計算驗證分離這兩點決定了CKB的編程模型上必然會出現新的DApp范式和設計模式。從CKB白皮書完成到現在將近一年的時間中,我們看到越來越多的人開始關注和討論First-classState和First-classAsset這兩種新的思路,這些進展讓我們非常興奮。如果你有興趣對First-classState和First-classAsset進行更多的探討,或是在CKB的編程模型上有什么有趣的想法,歡迎聯系我們討論~CKB的代碼已經完全開源,這篇文章介紹的內容在代碼中都已經實現。歡迎給我們的代碼提出各種意見:https://github.com/nervosnetwork/ckb-demo-ruby-sdkhttps://github.com/nervosnetwork/ckbhttps://github.com/nervosnetwork/ckb-vm感謝IanYang,XuejieXiao,KevinWang在CKB和Cell模型設計中提供的幫助~

投資管理公司的首席宏觀投資策略師表示 數字貨幣是一件新鮮有趣的事物:全球最大投資管理公司BlackRock的首席宏觀投資策略師Isabelle Mateos Y Lago 表示,數字貨幣是一件非常新鮮、非常有趣的事物,該公司正在密切關注。Lago還表示,投資于數字貨幣并不難,但重要的是資產的安全性,并認為比特幣并非“可投資資產”。(彭博)[2018/1/30]

Tags:ASSCELLCELSSEASS價格Cells FinanceCELOAsset-Backed Protocol

OKB
EOS項目方疑高位套現30億,CEO : 如果太透明,會損失競爭優勢

最近,EOS母公司BlockOne的CEOBrendan接受彭博社的采訪,承認EOS項目方高位套現了募集到的40億美元中的絕大部分.

1900/1/1 0:00:00
BIT:交易所被盜、維權事件頻發,用戶利益究竟能不能受到法律保護?_比特幣最新消息新聞

據韓聯社,近日,韓國法院就去年11月Bithumb用戶因個人信息泄露造成賬戶損失對交易所提出訴訟案件進行判決。該用戶賬戶被黑客盜取價值4.78億韓元的虛擬貨幣,對Bithumb提出訴訟要求賠償.

1900/1/1 0:00:00
POS:在公鏈項目早期,為什么PoW是一個更好選擇?_比特幣是什么意思

本文來自:Conflux中文社區,作者李辰星,Odaily星球日報經授權發布。在傳統的互聯網公司或金融機構中,如果一家公司,在一年之內,被委托的交易結算的總量為萬億美元的話,這家公司要么擁有可靠.

1900/1/1 0:00:00
比特幣:礦圈大關機_DAILY

一場由比特幣價格“閃崩”引發的礦圈大關機已經發生。10天時間里,比特幣價格從6500美元,跌到了3652美元,看著那個像樓梯一樣一天一個臺階下降的K線圖,老礦工尤亮感慨,這波行情讓幣圈礦圈都很慘.

1900/1/1 0:00:00
BAS:BASIS停止運營,算法穩定路在何方_SIS

本文來自: 巴比特 ,作者: 通證通研究院 ,星球日報經授權轉發。 !webp\"data-img-size-val=\"3840,2160\"\u002F\\>從長期來看,我們都將死去.

1900/1/1 0:00:00
狗狗幣:兩萬多人請愿希望亞馬遜接受狗狗幣支付_DOGE

圖片來源:nulltx.com目前,狗狗幣正進行的Doge4Amazon請愿書活動中,已有22839人簽署了請愿書,該請愿書的簽名目標是25000.

1900/1/1 0:00:00
ads