2 月 17 日,CKB Co-founder/Khalani Network CEO Kevin、CKB 生態基金 CMO/SeeDAO 發起人 Baiyu 以及 CKB 社區大使 CyberOrange,在 X Space 直播時分享了他們對 UTXO 模型及其生態的看法。

這場直播持續了 1 小時 40 分鐘,信息量非常大,以下是根據音頻整理的重點內容:


1. UTXO 模型和賬戶模型的區別

關於 UTXO 模型,主持人 Baiyu 用了一個非常通俗易懂的比喻:你走在大街上,你是無法知道這條街上的人他們口袋裏一共有多少錢,除非你挨個去翻他們的口袋。相比之下,使用賬戶模型的以太坊,有世界狀態樹,它保存了全球所有以太坊賬戶的狀態(比如賬戶餘額、合約信息等)。

Kevin 補充說,在以太坊出來之前,其實只有 UTXO。最早期的時候,無論是 UTXO 還是賬戶模型,都是圍繞着資產來進行解讀的。即便發展到現在,UTXO 仍然是一個更純正的以資產爲核心的一種理念或者說編程意圖, 因爲每個 UTXO 都是一種資產,一種可攜帶的資產,用 script 定義了它完全屬於誰。賬戶模型發展到後來,轉變成資產爲合約服務, 而且從根本上也不再是 UTXO 那樣的點對點,而是點對池,智能合約從資產的角度看就是 smart custody(智能託管),所有的人和這個智能託管進行交互。

CyberOrange 接着介紹了 UTXO 模型的幾大優勢:首先,UTXO 天然支持並行交易處理,所以它的性能上限更高。其次,在 UTXO 鏈上發行的資產,其安全等級和原生 coin 的安全等級是一樣的,因爲它也是在一個 UTXO 裏面。作爲對比,以太坊上發行的其他資產(比如 ERC-20),全部都被託管在智能合約裏,其安全等級遠不如原生代幣 ETH。第三,UTXO 的隱私性會更好,錢包每用一次就可以換一個地址(賬戶模型這樣做的成本很高),還可以藉助 Mimblewimble 等協議進一步提升隱私性。第四,賬戶模型會在鏈上同時做計算和驗證,而 UTXO 模型在鏈上只做驗證,更適合成爲結算層。此外,性能最高的擴容方案是通道網絡(Channel),它必須基於 UTXO 模型來做,如果在賬戶模型上做會極其困難。

2. Cell 模型

CKB 對 UTXO 模型進行了一般化處理,並取名爲 Cell 模型。跟 UTXO 一樣,Cell 也是交易輸出,只不過 Cell 把 UTXO 中的 amount 進行了一般化處理,對應出了 capacity 和 data 兩項內容,這樣就把原本的一個存放整數的空間變成一個可以存放任意數據的空間。

同時,Cell 的數據結構中還有 LockScript 和 TypeScript,前者主要體現所有權,而後者可以自定義很多豐富的功能,甚至是絕大部分 BIP(比特幣改進提案)所提到的功能。在 Cell 的腳本中,開發者還可以根據自己的需求指定密碼學原語,非常靈活。

簡而言之,Cell 模型延續了比特幣 UTXO 的基本哲學,讓 CKB 這條鏈很容易去繼承比特幣的簡單和安全的特性,同時通過巧妙的修改,讓 Cell 有了支持智能合約的能力。

3. 爲何 UTXO 生態發展緩慢?

Kevin 認爲,區塊鏈發展了這麼多年,核心還是爲資產服務的一種去中心化技術,大家圍繞着資產做應用。

UTXO 是一種可編程的資產,用 script 來定義這個資產的用途和轉讓條件,但在 UTXO 模型的鏈上做 DeFi 應用,如何解決鏈上流動性是一個相對比較困難的點,因爲 UTXO 是一種可攜帶的資產,大家點對點交易,找到正好可以滿足需求的交易對手不太容易。

採用賬戶模型的區塊鏈,大家把資產放到智能合約裏,DeFi 應用通過智能合約來聚合鏈上流動性,解決了交易對手的問題。當然,這樣做也帶來了一些風險,比如智能合約有 bug 可能會導致整個資金池被 rug。

Kevin 認爲,流動性就是怎麼針對未來去編程,是時間軸上的一個概念,所以 UTXO 也需要這種能跨越時間的編程範式。UTXO 是一種 sovereign asset,即持有者完全掌控其所有權,那如何保持 UTXO 這個特性的同時,能夠跨越時間,解決流動性問題呢?Kevin 認爲,這就需要 UTXO 的資產表達不僅僅只是 ownership,而且還可以表達比如未來怎麼撮合或者把資產帶去哪裏。他認爲 Partially Signed Transactions 就是一種解決方案。目前,比特幣社區也在研究 Partially Signed Bitcoin Transactions (PSBT,部分簽名的比特幣交易)。

另外,UTXO 的編程模型要比賬戶模型更復雜。賬戶模型的編程方式非常友好,開發者只要把鏈上的邏輯理清楚,部署好智能合約,就不用管了,鏈下的部分都是標準接口去對接智能合約。所以,賬戶模型的區塊鏈生態發展比較快,應用多,而 UTXO 模型或者泛 UTXO 模型的區塊鏈生態發展緩慢。

4. Partially Signed Transactions

Partially Signed Transactions 可以幫助 UTXO 模型的區塊鏈實現以太坊上那些金融類應用的功能。

以兌換爲例,用戶持有 UTXO 資產,然後通過 Partially Signed Transactions 拼出一個還沒有上鍊的交易,這個交易表達了他的意圖,比如說想用 1 BTC 換取 10 ETH 和 59 BNB。只有當他的這個意圖得到滿足時,交易纔會上鍊;沒滿足之前,資產(這個例子中是 1 BTC)永遠在自己的手裏。

CyberOrange 提到,Partially Signed Transactions 允許用戶的交易在鏈下想怎麼拼就怎麼拼,而且還可以實現全鏈的意圖。

在 CKB 上,用的是名爲 Open Transaction 的方案,它是一種構建交易的鏈外協調機制,交易發起人可以通過鏈外協作完成有趣且複雜的任務,還可以將交易的結構分成多個小步驟,每個步驟都對應不同的模塊化解決方案。點此閱讀 Open Transaction 的科普介紹。

5. “鏈上驗證,鏈下計算” 的好處

關於 “鏈上驗證,鏈下計算”,Baiyu 給了一個非常通俗易懂的比喻:你去商店買 20 塊錢的東西,你兜裏有一張 10 塊錢、2 張 5 塊錢、5 張 1 塊錢的紙幣,你自己算好 20 塊錢(可以是一張 10 塊錢,2 張 5 塊錢;也可以是一張 10 塊錢,一張 5 塊錢,5 張 1 塊錢)遞給老闆,老闆覈對一下是否總計 20 元。

鏈上驗證其實很簡單,但鏈下計算要複雜得多,消耗的資源也更多。Kevin 認爲,UTXO 模型鏈上只做驗證,鏈下去計算和解決問題,這樣做至少有三點好處:

1、應用可以實現非常簡潔的清算邏輯或者驗證邏輯,而且因爲簡潔,實現起來也容易得多。

2、應用不需要在鏈上(協議層)考慮優化的事情。 這個世界總有更聰明的人提出更好的交易撮合機制、更適用的價格曲線等,由於尋找交易對手和撮合交易等步驟都是鏈下計算實現的,鏈上只做驗證,所以應用不需要在鏈上考慮優化的事情。如果是在賬戶模型上,使用優化版的交易撮合機制或者價格曲線,就需要重新部署一個智能合約,同時讓用戶把資產遷移過去(比如從 Uniswap v2 遷移到 Uniswap v3)。換句話說,在 UTXO 模型上只做驗證的應用,是 future proof(防過時)的。

3、不需要考慮互操作性的問題。 因爲鏈上只管驗證,計算都在鏈下,而這裏的 “鏈下” 既可以是其他區塊鏈的鏈上,又可以是非區塊鏈。不管一筆交易的計算來自哪裏,提交到鏈上,應用就會去做驗證。

另外,Kevin 還提到,最新一代的應用,很多也在轉向鏈上以驗證爲主的範式,在鏈下做撮合,有協議平臺化的趨勢。

6. 泛 UTXO 生態大有前景

在直播的過程中,Kevin 提到,目前以太坊生態最火的幾個創業賽道(比如隱私、意圖、賬戶抽象、並行處理等),如果從 UTXO 的角度來看,這些創業機會其實都是賬戶模型的弊端帶來的。 而 UTXO 模型本身就擁有這些特性,或者是在 UTXO 模型上很容易實現。

在直播的最後,Kevin 表達了他對泛 UTXO 生態的強烈看好。 銘文火了之後,大家把目光重新聚焦到比特幣上,開發者也開始涌入,大家開始琢磨如何在 UTXO 模型上做開發。無論是 Cardano 還是 CKB,其記賬模型都是在 UTXO 模型的基礎上做的改進,所以很容易和比特幣打通,打通之後,這些泛 UTXO 區塊鏈將會迎來非常多的機會,泛 UTXO 生態也會更加繁榮。

#CKB #UTXO #BTC‬ $CKB