任何**鏈活動的核心之一是跟蹤和記錄價值物品從源頭到消費的過程。任務的複雜度取決於我們想要跟蹤的事物的型別。
如果我們希望跟蹤從魚的捕獲到交給魚販的過程,從整體看,任務相對是簡單的。現在,想象一下,一位非常挑剔的壽司食客堅持要看到所有食材都有可驗證的**。
考慮到一條魚從捕獲到作為壽司食材的過程。這個過程,魚大概需要經歷如下所假設的交易:
在魚到壽司的過程中,讓我們想象一下採用手機的技術,它能夠以任何形式提取dna雜湊值和魚重量:整個或切片。bob,john,anna和chrysa都有手機應用,可以讓他們拍攝魚的**,並更新分類賬本。
在上面所提及的這些交易中,你怎麼能模擬魚的狀態?
如果以一系列utxo為它建模呢?
utxo
utxo是一種分類賬的形式,它被位元幣使用,用於記錄系統中花費的位元幣數量。如下圖所示,系統中的位元幣數量及其分布記錄為交易產生一系列的輸入和輸出。
讓我們用魚來代替位元幣作為我們想進行跟蹤的東西,我們可以對魚類資產進行如下方式的建模:
資料結構:左(假設)位元幣,右(魚的資料結構)
接下來讓我們來看看如何建模更新為與上述交易相關的一系列utxo例項。
讓我們來utxo!
假設我們以魚的dna來跟蹤魚,而dna的雜湊值是1234。
整個流程的第一件事就是bob捕獲魚。魚重量為1kg,在**獲之前是在bob的魚塘中。這記錄在utxo中,如下所示:
接下來,bob把魚賣給anna,記錄如下:
然後anna決定製作兩個壽司卷並提供給chrysa。chrysa消費了兩個壽司卷,每個壽司卷有0.1kg的魚片,魚來自於bob賣給anna。此交易記錄如下:
anna還剩有0.8kg的魚,接著她製作了乙個壽司卷提供給john。此交易記錄如下:
在這個過程中,你會注意到這條魚的剩餘部分也會被記錄為輸出,而其所有權則分配給anna。這很有用,因為通過魚的生命週期,我們可以在交易前後精確地追蹤它的狀態(所有權)。
那大公尺又如何呢?
沒有問題。utxo可以輕鬆用於跟蹤多種**的**鏈。讓我們重溫壽司的案例。在這種情況下,我們可以通過其dna來跟蹤大公尺,假定其雜湊值為4567。用於跟蹤從大公尺和魚到壽司的utxo模型如下所示:
從以上的示例可以看出,新增額外的生命週期跟蹤是簡單的情況,把交易過程記錄為一系列輸入和輸出。
結論
在傳統的複式記賬模式中,關注的焦點是有價物(魚和公尺)的所有者。以魚為例,我們從魚的所有者角度記錄資產流。我們將確定魚是否被計入貸方或借記給所有者。儘管我們可以使用雙重記賬記錄資產流動(魚和公尺)來反映所有權,但它很難準確追蹤資產的**。
而utxo的關注點是從交易的角度追蹤輸入和輸出。例如,「alice切魚」是我們對魚執行的交易。utxo記錄輸入到交易和輸出中。無需複雜的相關機制資產即可輕鬆歸屬所有者。
不可否認,這個用例有些勉強,但它展示了utxo對一些複雜產品的建模能力,比如汽車、飛機、傳播等。
考慮像汽車這樣的產品。它由多個部分組成。在汽車的生命週期中,部件存在磨損和更換。所以一輛車有相同的註冊號,由此在法律上是同一輛車,但它實際上並不是同一輛車。當零件需要維修時,你不需要為整輛車提供保修。
正如所展示的,utxo可以幫助解決涉及複雜生命週期的產品的**鏈問題。
風險警示:藍狐筆記所有文章都不構成投資推薦,投資有風險,投資應該考慮個人風險承受能力,建議對專案進行深入考察,慎重做好自己的投資決策。
或加入藍狐筆記的知識星球:
utxo模型 UTXO模型
位元幣的區塊鏈由乙個個區塊串聯構成,而每個區塊又包含乙個或多個交易。如果我們觀察任何乙個交易,它總是由若干個輸入 input 和若干個輸出 output 構成,乙個input指向的是前面區塊的某個output,只有coinbase交易 礦工獎勵的鑄幣交易 沒有輸入,只有憑空輸出。所以,任何交易,總是...
理解UTXO賬戶模型
1 什麼是utxo?utxo的英文全稱為unspent transaction output,漢語翻譯過來則為 未消費的交易輸出。我們可以把utxo理解為交易過程中的乙個資料結構。未花費的交易輸出utxo是乙個包含交易資料和執行 的資料結構,可以通俗的理解為某倉庫 某位址 已經收到的但是尚未花費出去...
UTXO模型和Account模型
目錄 utxo模型 優點 缺點 account模型 優點 缺點 總結 utxo模型和account模型是區塊鏈中記錄儲存的兩種方式。unspent transaction output 未經使用的交易輸出。位元幣採用的是此模型。在utxo模型中,交易只代表了utxo集合的變更。如下圖所示 計算在鏈外...