OK科普 | 比特幣的另一個名字:UTXO

買賣虛擬貨幣

最近,笑來老師又轉發了一條微博。眾所周知,咱們李笑來老師是一個十分要面子的人,之前說過轉行,那就肯定會做到。哪怕僅僅是從幣圈轉行到鏈圈,哪怕這就跟楊洋說:“我它喵的,再演爛劇,名字倒過來唸”是一個性質的事情。但不可否認的是,笑來老師轉發的微博,還真是區塊鏈技術中,一個極具突破性的事情。

這條微博的內容是這樣的:一個高效,但超級節省空間的UTXO驗證方案(可以實現存在驗證和排除驗證),昨天由斯坦福Benedikt提出。簡單來說呢,就是提出了一個超級節省記憶體空間的方案,比如如何將你硬碟中150G的小黃片.....不,是學習資料夾,壓縮成1個G。有沒有很偉大?解決了我們男性同胞非常重要的一個痛點。這樣的一個方案很好理解,但問題在於,這個UTXO是什麼鬼?下面將由情報局為大家科普一下,UTXO這點事。

UTXO(Unspent Transaction Output)即為未消費交易輸出的意思。在比特幣中類似於以太坊中的賬戶模型。 在比特幣中,一筆交易的每一條輸入和輸出實際上都是UTXO,輸入UTXO 就是以前交易剩下的, 更準確的說是以前交易的輸出UTXO。這是比較官方的一個說法。

簡單來說,我們都知道比特幣是虛擬的,本質上就是一串程式碼。而記錄比特幣交易的賬戶模型,就是UTXO。它記錄了,包括你賬戶交易了多少比特幣,兩者的交易地址,資金來源,數額等等。所以本質上說,確實沒有什麼比特幣,有的只是記錄的一個個UTXO。

舉個例子,假如我們現在錢包裡有100塊錢,你要花5塊錢,然後找零95塊。當你拿出來100塊大洋花出去的時候,這100塊就已經不能再算作UTXO,只有找零得到的95塊,才會算做UTXO。所以,比特幣使用前後所連結的公鏈,記錄所有交易記錄,當之前的 UTXO 出現在後續交易的輸入時,就表示這個 UTXO 已經花費掉了,不再是 UTXO 了。不過整個新的交易,會記錄在新的區塊上,沒有改變歷史區塊的資料。

另外還要提一下,UTXO與傳統的賬戶系統有什麼區別。假如有兩個人,一個是小明,一個是小美。小明要給小美轉100塊錢。那麼傳統的賬戶模型是這樣的:先判斷小明賬戶裡是否有100塊的餘額,然後在小明的賬戶裡減少100塊,在小美賬戶裡增加100塊。

但UTXO的機制是這樣的:小明的賬戶裡有200塊錢,他要想給小美轉賬,必須將200塊錢全部消耗掉。所以他不僅要給小美轉100塊,還要給自己賬戶轉100塊。這樣一個好處就是,如果從第一個區塊開始逐步計算所有比特幣地址中的餘額,就可以計算出不同時間的各個比特幣賬戶的餘額了。

那在瞭解UTXO之後,我們就明白了,為什麼這條提案這麼重要。因為不管是想要挖礦的,還是想要做開發的,你都需要面對比特幣客戶端那茫茫多的UTXO集,具體要佔160G的空間。想一想,如果你下載一部電影需要160G,那你還會看嗎?所以對於比特幣的Dapp開發來說,只有兩個選擇,要麼你下載個三天三夜,要麼你下個簡約版的,之後面對要啥功能啥沒有的尷尬局面。

不過斯坦福現在卻站出來表示,我們這個提案,可以透過一項名為“RSA累加器”的技術,來替代現有的UTXO驗證方案,從而用只有1.5KB大的區塊,就可以證明所有的UTXO集是否可以滿足交易的條件。也就是說用一個1.5KB的東西,就可以替代160G的整個UTXO。這簡直就是區塊鏈開發者的福音啊!!!

如果這個提案真的具備可行性,確實是有可能成為快速推動行業發展的一個大助力。雖然目前來看,區塊鏈距離我們的生活依然很遙遠,不過隨著如斯坦福這類正規機構的努力,與各種應用專案的落地,相信區塊鏈改變世界,終是一個必然事件,剩下的,讓我們拭目以待吧~

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;