UTXO:從魚到壽司,溯源問題解決了嗎?
前言:通過UTXO能解決溯源問題嗎?顯然還不夠。因為它涉及到的不完全是線上資料,即便如此,它也可以作為未來解決溯源問題的一種建模方式。本文的案例有些簡化和牽強,但可以開啟我們的思路。本文作者是Paul Sitoh,文章來源於medium,有“藍狐筆記”公眾號社群的“Leo”翻譯。
任何供應鏈活動的核心之一是跟蹤和記錄價值物品從源頭到消費的過程。任務的複雜度取決於我們想要跟蹤的事物的型別。
如果我們希望跟蹤從魚的捕獲到交給魚販的過程,從整體看,任務相對是簡單的。現在,想象一下,一位非常挑剔的壽司食客堅持要看到所有食材都有可驗證的來源。
考慮到一條魚從捕獲到作為壽司食材的過程。這個過程,魚大概需要經歷如下所假設的交易:
- Bob從池塘裡抓到一條魚;
- Bob把魚賣給壽司店的Anna;
- Anna把魚切片,裹成兩個壽司卷,然後提供給Chrysa;
- Anna切了一片魚,然後為John提供一份壽司卷。
在魚到壽司的過程中,讓我們想象一下采用手機的技術,它能夠以任何形式提取DNA雜湊值和魚重量:整個或切片。Bob,John,Anna和Chrysa都有手機應用,可以讓他們拍攝魚的照片,並更新分類賬本。
在上面所提及的這些交易中,你怎麼能模擬魚的狀態?
如果以一系列UTXO為它建模呢?
UTXO
UTXO是一種分類賬的形式,它被比特幣使用,用於記錄系統中花費的比特幣數量。如下圖所示,系統中的比特幣數量及其分佈記錄為交易產生一系列的輸入和輸出。
圖片來源:https://bitcoin.org
讓我們用魚來代替比特幣作為我們想進行跟蹤的東西,我們可以對魚類資產進行如下方式的建模:
資料結構:左(假設)比特幣,右(魚的資料結構)
接下來讓我們來看看如何建模更新為與上述交易相關的一系列UTXO例項。
讓我們來UTXO!
假設我們以魚的DNA來跟蹤魚,而DNA的雜湊值是1234。
整個流程的第一件事就是Bob捕獲魚。魚重量為1kg,在被捕獲之前是在Bob的魚塘中。這記錄在UTXO中,如下所示:
接下來,Bob把魚賣給Anna,記錄如下:
然後Anna決定製作兩個壽司卷並提供給Chrysa。Chrysa消費了兩個壽司卷,每個壽司卷有0.1kg的魚片,魚來自於Bob賣給Anna。此交易記錄如下:
Anna還剩有0.8kg的魚,接著她製作了一個壽司卷提供給John。此交易記錄如下:
在這個過程中,你會注意到這條魚的剩餘部分也會被記錄為輸出,而其所有權則分配給Anna。這很有用,因為通過魚的生命週期,我們可以在交易前後精確地追蹤它的狀態(所有權)。
那大米又如何呢?
如果Chrysa和John是非常講究的食客,他們也想了解制作壽司的大米的來源。
沒有問題。UTXO可以輕鬆用於跟蹤多種來源的供應鏈。讓我們重溫壽司的案例。在這種情況下,我們可以通過其DNA來跟蹤大米,假定其雜湊值為4567。用於跟蹤從大米和魚到壽司的UTXO模型如下所示:
從以上的示例可以看出,新增額外的生命週期跟蹤是簡單的情況,把交易過程記錄為一系列輸入和輸出。
結論
本文展示了使用UTXO來跟蹤壽司的兩個關鍵食材:大米和魚片。
在傳統的複式記賬模式中,關注的焦點是有價物(魚和米)的所有者。以魚為例,我們從魚的所有者角度記錄資產流。我們將確定魚是否被計入貸方或借記給所有者。儘管我們可以使用雙重記賬記錄資產流動(魚和米)來反映所有權,但它很難準確追蹤資產的來源。
而UTXO的關注點是從交易的角度追蹤輸入和輸出。例如,“Alice切魚”是我們對魚執行的交易。UTXO記錄輸入到交易和輸出中。無需複雜的相關機制資產即可輕鬆歸屬所有者。
不可否認,這個用例有些勉強,但它展示了UTXO對一些複雜產品的建模能力,比如汽車、飛機、傳播等。
考慮像汽車這樣的產品。它由多個部分組成。在汽車的生命週期中,部件存在磨損和更換。所以一輛車有相同的註冊號,由此在法律上是同一輛車,但它實際上並不是同一輛車。當零件需要維修時,你不需要為整輛車提供保修。
正如所展示的,UTXO可以幫助解決涉及複雜生命週期的產品的供應鏈問題。
------ 風險警示:藍狐筆記所有文章都不構成投資推薦,投資有風險,投資應該考慮個人風險承受能力,建議對專案進行深入考察,慎重做好自己的投資決策。