比特幣是最早,也是目前在區塊鏈世界最大的應用。
從比特幣問世以後,隨著時間,開始有許多人不滿足於他只存在作為貨幣的功能,並試圖從比特幣的腳本去寫入程式碼,讓他還能夠具有其他的功能性,例如透過多重簽名、時間鎖等方式將比特幣變成一個『可以寫入邏輯』的貨幣,早期的『染色幣』,以及後期最大規模的『 Omni Usdt 』穩定幣都是一些常見的例子,然而,我們依舊清楚即使是 USDT ,仍然沒有辦法利用比特幣去驗證 USDT 的完整性,比特幣用來撰寫智能合約存在著很大的局限性。因此,後續有許多的其他公鏈,提出了新的可以寫入智能合約的區塊鏈,並且許多的公鏈解決方式都是隨著最有名也最成功的智能合約平台–以太坊採用了『Account 模型』。
在這次的分享中,我們先告訴大家 UTXO 模型的比特幣如何被寫上程式碼,變成如染色幣或者 usdt 這樣的特殊資產,以及簡介 Account model,然後再帶大家探討一個問題:『 難道 UTXO 模型真的沒辦法寫智能合約』嗎? UTXO 模型寫成的智能約合帳本具有哪些優勢,並且告訴大家 Nervos CKB 如何實現更通用可以寫智能合約的 UTXO 模型 : Cell Model,以及演示給大家看 Cell 模型的交易如何被構造,並且利用 CKB 去比較 UTXO 和Account 模型在區塊鏈上的優劣以及如何進行互補。
本次的題目主要是想探討區塊鏈的編程模型的演化過程,以及針對目前的底層公鏈,去探討怎麼樣的編程模型能最適合的 Layer1。
首先會探討的是,最初在比特幣中,大家如何透過 Op_return 的腳本語言,去探索比特幣的智能合約開發。然而,在這個探索的過程中又遇到哪些瓶頸,這些區塊鏈的前輩開發者,又怎麼去解決這些問題,像是 Omni layer 的 Explorer 這種輔助驗證的解決方案。然而,從以太坊問世以後,大家開始拋棄了在比特幣上編程的想法,轉而去嘗試例如以太坊的Account 模型,然而,Account 模型卻也在最近幾年面臨了許多的問題,例如 the Dao / 美鏈 / lendf.me 等安全事件,雖然他某種程度上帶來了編寫智能合約的方便性。
接下來我會去探討比特幣具有哪一些珍貴的區塊鏈特性,例如UTXO模型,在智能合約平台演化的過程中怎麼被拋棄了,以及按造著 UTXO 模型,難道沒有辦法去建造一個可以寫入智能合約,並且安全、更通用也兼具性能的比特幣嗎?
本演講中即試圖以 Nerovs CKB 進行的開源專案,去和大家演示 Nervos 特化的 UTXO 模型 — cell model,如何透過更通用的 UTXO 模型去撰寫智能合約,以及去探討這樣的編程模型解決了哪些 Account 模型所遇到的模型。
最後,我會帶大家一起探討 UTXO 模型和 Account 模型的優劣,以及這兩種模型可能還存在著可以交互使用,以達到互補的可能。
About will@nervos.org
Williams Lai
在區塊鏈行業打滾一段時間的小書僮,近兩三年來一直在公鏈這個領域上探尋更可能的方向。
目前服務於 Nervos ,同時也是 DeFi Garden 週報的小園丁。
很高興能夠第二次向 Coscups 投稿,也很開心去年能有機會在 Coscup 給一場 Talk, 今年我也會繼續努力。