Centrifuge 如何验证保护链上 Asset 数据
共 3007字,需浏览 7分钟
·
2021-08-14 10:21
介绍
Centrifuge 点对点 (P2P) 网络提供了一种安全的方法来在合作者之间创建、交换和验证 Asset 数据,并将 Asset 实现Tokenize,使之变为 NFT。Asset Originators 可以有选择地与服务提供者共享 Asset 详细信息,服务提供者可以评估数据并向铸造的 NFT 提供信息。同时,可以使用加密签名来验证数据来源。
P2P 网络的组件是在 libp2p 上实现的。Centrifuge Chain 用于:
与 ERC725 标准类似的格式维护身份
锚定状态承诺
从链下文档中铸造 NFT。这些 NFT 可以连接到以太坊,作为 Collateral 锁定到 Tinlake 中,为这些 Asset 进行 Financing。
Centrifuge 节点
合作者都可以通过运行或访问托管的 Centrifuge 节点以连接到网络。Centrifuge 节点提供了一个简单的 API 接口来与 p2p 网络、Centrifuge Chain以及以太坊智能合约进行交互。节点在“服务总线(Service Bus)”主体上运行,插件和外部系统可以订阅特定对象的消息(例如,采购应用程序可以订阅订单对象的更改信息)。P2P 节点将发生在公链、侧链和 P2P 层上的事件抽象出来,并将它们翻译成这个内部总线上的消息,供其他应用程序使用。该节点还为构建在网络之上的应用程序提供与以太坊的连接途径。
身份
P2P 网络上的每个实体或合作者都有一个可验证的 Centrifuge 身份(Centrifuge ID),这是分配给 P2P 网络参与者的唯一 ID。它跟踪使用中的不同加密密钥,并强制此数据只能由创建者和/或创建者选择的委托人修改。
Centrifuge 协议中参与者的唯一标识符相当于其身份合约的以太坊地址。Centrifuge 正在采用与 DID 兼容的 ERC725v1 以太坊标准来实现自我主权身份。
Centrifuge 身份具有以下凭据:
对等消息加密密钥:用于消息加密。这些密钥用于识别 P2P 网络上的节点,并在对等方之间建立加密的通信通道。
签名密钥:Centrifuge 中的文档使用签名密钥进行签名。这些签名是 Merkle Root 的一部分,锚定在公链上,可在以后进行验证。
以太坊账户:当与以太坊上的智能合约交互时,账户需要与身份相关联以代表其行动。链接的以太坊帐户是允许使用 Centrifuge 与 DApp 交互的帐户。
文档
文档是一组结构化的字段,代表 Financial Asset 的特定字段类型。只要格式被同意(通过某种模式)并在选定的合作者之间共享,网络就可以支持任何文档类型。文档以加密方式进行交换,并且只有参与此私密数据交换的各方才能访问。协作者可以在文档中添加和删除。不同的协作者可以在具有访问权限的节点,集中更新文档并发布新版本。
每个 Centrifuge 节点都可以创建一个文档并与他人共享。文档的传输是通过 P2P 网络中的安全通道私下进行的。每个文档协作者都在他们的存储中保留一份文档的本地副本。文档的更新可以由多个协作者触发,并且不限于初始文档创建者。每当更改时,都会在链上提交文档的 Merkle Root。只有在 AnchorRepository 中存在文档哈希并且新版本中的必填文档字段集满足特定协议的要求时,新版本才会被其他人接受。
名为 AnchorRepository 的智能合约用于追踪状态更新,确保所有合作者都了解更新内容。文档锚定是文档 Merkle Tree 的根哈希。通过将文档的所有字段以及从所有合作者(如上定义的身份)收集的数字签名作为树叶来构建树。
这个锚定一旦发布,即使一方在 P2P 网络上被审查,也可以通过检查 Centrifuge Chain 来发现更新。第三方可以很容易地验证链上和链下接收到的文档的正确性,方法是基于相应文档类型的已知文档结构,利用该文档重构 Merkle Root。将文档构造为 Merkle Tree,可以创建仅显示文档单个字段的证明,而无需在声明文档时显示整个文档。
铸造 NFT
根据代表 Financial Asset 的文件,Asset Originators 可以铸造基于隐私的 NFT(非同质化通证),这些 NFT 会作为 Collateral 锁定到 Tinlake 中以获取 Financing。
对于许多用例,需要对与 Asset 相关的数据进行加密。Centrifuge 基于隐私铸造的 NFT 是 Asset / 文档的 Tokenized 的体现,将部分或全部 Asset 属性保密,而公共、去中心化的分类账则跟踪 Asset 所有权。NFT 本身只持有链上原始文档的最小数据集,以避免泄露私人数据。NFT 元数据包含一个指向链上锚点的链接以及指向 p2p 层私有文档的链接。链上数据用于唯一识别文档,并允许任何人验证 NFT 数据以及在网络内私下交换完整的文档数据。
Centrifuge NFT 在 Centrifuge Chain 上铸造并连接到以太坊。它们与 ERC-721 兼容,因此可以利用与 ERC-721 NFT 兼容的所有基础设施。
我们使用 Merkle 证明来验证链下文档的原始所有权和文档真实性。通过使用精确的证明,我们可以提供隐私保护证明,证明 NFT 中存在某些要铸造的字段,而无需透露这些字段的确切值。
因此,代表 Asset 的文档获得了标准链上 NFT 的助力,而链下位置保存了可验证的私有数据。在任何时候,NFT 的当前持有者都可以通过创建证明拥有 NFT 的地址,然后利用其私钥所有权的签名来访问链下文档。这种方法引入了去中心化访问控制方案,其中 NFT 所有权更改可能导致链下访问撤销。通常,NFT 的元数据和详细信息在以太坊上是公开可读的。
- END -
相关阅读
《使用指南|Tinlake Financial 模式分析:利率方法论及 Asset 定价原则》
《使用指南|Tinlake Financial 模式分析:Asset 估值方法及示例》
关注 PolkaWorld 视频号「波卡世界」每周四晚 7 点直播间见!
欢迎学习 Substrate:
https://substrate.dev/
关注 Substrate 进展:
https://github.com/paritytech/substrate
关注 Polkadot 进展:
https://github.com/paritytech/polkadot
更多内容:
Kusama 首批平行链最新进展(上篇):Karura、Bifrost
Kusama 首批平行链最新进展(下篇):Moonriver、Shiden 和 Khala
扫码关注公众号,回复 “1” 加入波卡群
关注 PolkaWorld
发现 Web 3.0 时代新机遇
点个 “在看” 再走吧!