Vault

Vault 包含了从 Ledger 上提取出来的被认为跟当前节点的 owner 有关的数据,这些数据存储在一个关系型的模型中,可以被很容易地进行查询和基于它来进行工作。

Vault 会追踪未消费的和消费掉的 states:

对于 fungible state,我们指的是可以量化的资产 assets(比如现金货币,一些股票),这些可以被合并到一起来体现一个单一的 ledger state。

就像一个加密货币钱包,Corda vault 能够通过合并 fungible states 并且可能添加一个 output 作为 value 余额(这个过程通常会被参考为 "coin selection")的 change output 来产生一笔交易,将价值(比如交换一个 state)发送给其他人。

一个被称为软锁(soft locking)的功能提供了能够自动地或者显式地保留 states 的能力,以此避免同一节点下的多个 transactions 来同时地使用同一个 output。尽管这种情况最终会被 notary 发现,但是软锁提供了一种机制来尽早地发现这种不期望的情况发生。

注意:基本的“coin selection”当前被实现了。未来的工作包括 fungible state 优化(在后台拆分和合并 states),和 “state 再发行(re-issuance)”(将 states 发送回给 issuer 来重新发行,以此可以剪短长的 transaction chains 并且改进了隐私性)。

这里还有一个方式能够将描述性的文字注释附加到任何存储在 vault 里的 transaction 上。

Vault 支持对数据的授权形式的管理(“on-ledger”)和适当的 shadow 形式的管理(“off-ledger”):

“On-ledger” 数据指的是一个公司所参与的分布式账本 states(现金、交易) “Off-ledger” 数据指的是一个公司内部的参考数据、静态和系统的数据 下边的图标展示了 vault 是如何被划分为子系统组件的:

Vault

注意下边几点: