比原鏈設計思考: 擴充性UTXO模型

來源:互聯網
上載者:User

使用者模型是比原鏈在最初就需要確定的重要資料結構, 團隊的選擇還是聚焦在兩種典型的模型系統中,Account模型和UTXO模型,和其他大多數區塊鏈設計一樣, 選擇了模型就決定了協議層的重要實現,兩種模型各有利弊,不同區塊鏈針對想聚焦的情境自身會有判斷。

UTXO 的起源(來自高明的中本聰)

中本聰對比特幣的設計,讓整個世界進入了數字貨幣時代。比特幣起源於中本聰,UTXO出自比特幣。自然,UTXO來自高明的中本聰。UTXO的優點:

  • 在版本控制方面的考慮,svn 是中心化的資料庫保持一份賬本,這和區塊鏈的設計自然是相違背的,git 是去中心化的資料庫,但會儲存太多冗餘資料,對於分布式效能肯定是要大打折扣。UTXO資料庫是拋棄了曆史包袱的git, 只儲存了最後一個版本。簡易實用。

  • UTXO 具有天然的匿名效果,一個賬戶所對應的未花費交易是難以發現的,如門羅幣就是採用混幣的方式實現隱私的。
  • 在效能方面,由於UTXO是獨立的資料記錄, 那麼就存在極大的並行性可以提升區塊鏈交易驗證速度。

 設計的易實現性 — 以太坊 棄UTXO用賬戶模型

以太坊黃皮書的設計者Gavin Wood 對UTXO的理解,十分深刻, 既然UTXO有這麼多的優點,他為什麼棄用UTXO了? 這時你應該提出個問題,以太坊的最大亮點是什嗎?你肯定會回答:智能合約。正是因為智能合約的考慮,Gavin Wood要基於UTXO去實現圖靈完備的智能合約(功能多樣性的超級電腦)是困難的。而賬戶模型是天然的物件導向的,對每一筆交易,都會在相對應賬戶上進行記錄(nonce++)。為了易於管理賬戶,而引入了世界狀態,每一筆交易都會改變這個世界狀態。這和現實世界是相對應的,每一個微小的改變,都會改變這個世界。

追求更高的效能

以太坊的賬戶模型很容易的實現了超級電腦模型。然而,效能一直是一道難以逾越的坎。在效能方面,utxo天然的可以並行運行,而基於世界狀態的以太坊難以擴充。Gavin Wood當然是認識到這一點的,但要去改變,很難。那到不如用帶有函數式編程特點的rust 去重寫以太坊,也算是一種折中方案。

比原鏈的思考

馬克思哲學的否定之否定規律,事物的發展變化是螺旋式上升的。在區塊鏈領域也是適合的,前進一步,也需要後退半步。基於UTXO模型去實現堆棧式虛擬機器, 那還是會失去靈活性,用UTXO去結合以太坊EVM, 難度極大,也是不太實用的,這好比用haskell語言,去實現cpp風格的物件導向編程, 看不到有什麼實際的意義。世界上沒有銀彈,比原鏈必須捨棄部分,妥協部分才能更好地適應情境。

我們在採用了比特幣UTXO的易於並行運算的模型前提下,還做了針對性的改進,加了個資產號欄位,使不同的資產可以在同一筆交易中處理轉換,只要滿足總輸入等於總輸出就可以。

但為了資料易於管理,易於編程, 我們引入以太坊的世界狀態的概念,每一種資產都維持一個全域世界狀態,該全域世界狀態具有快速可尋找,不可更改,簡單易提供證明的特性。它的具體實現會參考以太坊的PAT樹(一種擴充的基數樹),比特幣的merkle樹,以及cosmos的IAVL樹(一種不可更改的平衡二叉樹)。每一種資產的所有outputs在一個全域的UTXO資料庫中會有一個索引計數(每一個output的計數不能超過1,保持並行計算時,一個output最多能被一個BVM執行個體所使用,確保了資料一致性)。BVM是比原鏈實現的智能合約虛擬機器模型, 每一筆交易的的執行,都會執行個體化一個BVM執行個體,只有在BVM執行個體中,各資產的世界狀態才能在保持有效性,一致性的前提下更新狀態。BVM可以並行創造多個”合約沙箱”執行個體, 在沙箱中合約的運行不受外界影響。

比原鏈創造的初衷是解決數字資產登記流轉的問題, 對於公有鏈項目,保持簡潔,保持高效,保持專註,就是保障安全, 新的擴充型UTXO模型正是基於這種情境實現的融合和改進。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.