本会动态

文章详情页
UTXO:从鱼到寿司
发布时间:2019-05-18 12:34:30来源:点击:144

  

  图片来源图虫:已授站长之家使用

  来源:蓝狐笔记(公众号:lanhubiji )

  前言:通过UTXO能解决溯源问题吗?显然还不够。因为它涉及到的不完全是线上数据,即便如此,它也可以作为未来解决溯源问题的一种建模方式。本文的案例有些简化和牵强,但可以打开我们的思路。本文作者是Paul Sitoh,文章来源于medium,有“蓝狐笔记”公众号社群的“Leo”翻译。

  任何供应链活动的核心之一是跟踪和记录价值物品从源头到消费的过程。任务的复杂度取决于我们想要跟踪的事物的类型。

  如果我们希望跟踪从鱼的捕获到交给鱼贩的过程,从整体看,任务相对是简单的。现在,想象一下,一位非常挑剔的寿司食客坚持要看到所有食材都有可验证的来源。

  考虑到一条鱼从捕获到作为寿司食材的过程。这个过程,鱼大概需要经历如下所假设的交易:

  Bob从池塘里抓到一条鱼;

  Bob把鱼卖给寿司店的Anna;

  Anna把鱼切片,裹成两个寿司卷,然后提供给Chrysa;

  Anna切了一片鱼,然后为John提供一份寿司卷。

  在鱼到寿司的过程中,让我们想象一下采用手机的技术,它能够以任何形式提取DNA哈希值和鱼重量:整个或切片。Bob,John,Anna和Chrysa都有手机应用,可以让他们拍摄鱼的照片,并更新分类账本。

  在上面所提及的这些交易中,你怎么能模拟鱼的状态?

  如果以一系列UTXO为它建模呢?

  UTXO

  UTXO是一种分类账的形式,它被比特币使用,用于记录系统中花费的比特币数量。如下图所示,系统中的比特币数量及其分布记录为交易产生一系列的输入和输出。

  必发365图片来源: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。此交易记录如下:

  必发888

  在这个过程中,你会注意到这条鱼的剩余部分也会被记录为输出,而其所有权则分配给Anna。这很有用,因为通过鱼的生命周期,我们可以在交易前后精确地追踪它的状态(所有权)。

  那大米又如何呢?

  如果Chrysa和John是非常讲究的食客,他们也想了解制作寿司的大米的来源。

  没有问题。UTXO可以轻松用于跟踪多种来源的供应链。让我们重温寿司的案例。在这种情况下,我们可以通过其DNA来跟踪大米,假定其哈希值为4567。用于跟踪从大米和鱼到寿司的UTXO模型如下所示:

  从以上的示例可以看出,添加额外的生命周期跟踪是简单的情况,把交易过程记录为一系列输入和输出。

  结论

  本文展示了使用UTXO来跟踪寿司的两个关键食材:大米和鱼片。

  在传统的复式记账模式中,关注的焦点是有价物(鱼和米)的所有者。以鱼为例,我们从鱼的所有者角度记录资产流。我们将确定鱼是否被计入贷方或借记给所有者。尽管我们可以使用双重记账记录资产流动(鱼和米)来反映所有权,但它很难准确追踪资产的来源。

  而UTXO的关注点是从交易的角度追踪输入和输出。例如,“Alice切鱼”是我们对鱼执行的交易。UTXO记录输入到交易和输出中。无需复杂的相关机制资产即可轻松归属所有者。

  不可否认,这个用例有些勉强,但它展示了UTXO对一些复杂产品的建模能力,比如汽车、飞机、传播等。

  考虑像汽车这样的产品。它由多个部分组成。在汽车的生命周期中,部件存在磨损和更换。所以一辆车有相同的注册号,由此在法律上是同一辆车,但它实际上并不是同一辆车。当零件需要维修时,你不需要为整辆车提供保修。

  正如所展示的,UTXO可以帮助解决涉及复杂生命周期的产品的供应链问题。


必发365 必发365