隐私:Daml 2.0 提供更强大的保护
本文首发于Daml Blog
工程 | daml 脚本 |身份证 |派对 |用户 |娘娘腔 2.0 |广州|用户管理
肖尔·克菲尔
隐私一直是 Digital Asset 的核心原则,也是构建和运行多方应用程序的领先平台 Daml 的基础。随着 Daml 2.0(我们具有行业领先的隐私和互操作性的下一代核心技术)的推出,我们将隐私进一步提升。 Daml 2.0 包括 Canton,这是我们支持隐私的分布式账本,可在多方之间提供安全同步。有了它,我们将隐私扩展到新的领域,以帮助公司通过全球经济网络实现更多互联系统和市场的总价值。
简要回顾
公共区块链的早期专注于创建一个无需任何中央操作员即可同步一组任务的平台。区块链通过让每个人都能看到数据和交易来实现这种同步,但无法将它们与现实世界的身份相关联。对于在自己的网络上运行的比特币等应用程序,可以说使用假名就足够了。然而,随着新区块链的出现和运营商寻求解决更复杂的任务,隐私的挑战变得更加明显。有了账本的状态和在一个地方找到的数据,各方都能看到它的能力意味着最终,有人可以弄清楚如何将数据与现实世界的等价物联系起来。事实上,有些公司正是为了对区块链数据进行去匿名化和去混淆而建立的。这就是区块链隐私问题:为了让每个人都保持同步,区块链用户将所有数据广播给每个人都可以看到。
公共区块链正试图通过分层解决方案来解决这个问题,例如改造链以将数据分片到不同的可见性级别,并限制谁可以访问什么。然而,尽管必要,但这还不够——尤其是在复杂的金融交易或多方支付中。
是什么让 Daml 的隐私与众不同?
对于 Daml,我们采用了完全不同的方法。从一开始,我们就设计并构建了 Daml 来指定谁可以精确地看到什么数据。数据隐私是核心:开发人员从数据开始,创建智能合约,定义哪些数据对哪些方可见,以及这些方如何使用数据。因此,只有一小部分人在需要知道的基础上共享任何数据。
虽然数据最小化解决了隐私问题,但维护准确、同步的数据变得更具挑战性。传统的区块链仍然是准确的,因为每个人都可以查看和验证所有数据。但是,如果各方只看到他们有权查看的交易,您如何验证和维护准确的分类账? Canton 使用账本计算模型解决了这个问题,该模型始终确保网络上的每一方都可以查看和验证他们的全局账本子集,而且仅此而已。这种分类帐模型使每一方的分类帐分片(切片)与全局分类帐一致并且可独立验证,从而确保其准确性。
Canton 进一步改进了其他区块链,因为它通过可见性限制甚至在交易中提供隐私,多方需要不同级别的可见性。 Daml 是唯一一个为编写应用程序提供基础架构的平台,在该基础架构中,开发人员可以指定谁有权在需要知道的基础上查看哪些数据。此外,权限适用于所有方面,使隐私成为代码固有的,而不是在最后添加为另一层。这种数据权利规范在整个过程中嵌入了隐私,并从根本上简化了应用程序开发。开发人员可以专注于业务逻辑,而无需不断重写权限。
这是由我们的开发倡导者 Steve Seow 制作的短视频,重点介绍 Canton 的主要功能。
隐私 2.0
Daml 的用户通常在其他区块链上部署 Daml 应用程序。 Daml 的先前迭代确保了应用程序上下文中的隐私,但不同的区块链具有不同的隐私属性。例如,虽然 VMware 区块链可以支持 Daml 的完整隐私模型,但 Hyperledger Fabric 和 Besu 等其他区块链则不能。 Daml 2.0 使用 Canton 创建并确保了更高级别的隐私,可以部署在免费的区块链上,使 Daml 在所有区块链上实现完全的子交易隐私,而无需权衡数据沿袭的一致性或可见性。与以前版本的 Daml 一样,这种强制执行隐私控制的一致性为更无缝互连的网络和更快的创新打开了大门。
Canton 创造了将数据传送到不同节点的能力,只发送加密的必要数据。数据位于各种分类账提供者之间,允许数据分发,同时保护和执行隐私规则,而不管这些分类账的个人隐私属性配置文件如何。在高层次上,它是这样工作的:
-
提交交易的节点将交易分解为仅包含相关对手方信息的视图,并对每个视图进行加密。
-
提交者将加密的视图发送给底层账本提供者进行排序和数据分发。
-
交易的每个参与者解密收到的视图,验证它,并确认或拒绝交易。确认和拒绝由在底层账本提供者上运行的中央提交协调器收集。
-
基于确认和拒绝,commit coordinator通知所有参与者该事务是应该提交还是回滚。最后,每个参与者更新本地账本状态以保持账本同步。
在 Canton 中,整个账本状态只与参与者共存,没有任何保存所有数据的中央账本。将参与者置于中心是创建跨账本提供商的互连网络未来的关键。通过在子交易级别管理隐私,只有交易中的各方才能看到所有步骤。由于一个节点只看到它的交易部分,它只需要验证这部分交易。从工作流组合的角度来看,传统的区块链向所有参与者展示了整个交易,即使工作流中涉及的一些节点只知道如何理解某些子交易。因此,验证逻辑的开发人员必须注意不要对整个交易结构做出假设,因为这会阻碍将小交易组合成更大的交易。
在 Daml 2.0 和 Canton 中,由于每个节点只能看到账本上智能合约的一个子集,因此当一笔交易改变多个智能合约的状态时,每个节点只能看到交易的一部分。例如,当甲方和乙方就股票转让达成一致时,双方都可以看到所有步骤并验证数据。然而,他们的银行和托管人只能分别看到资金的变动和股票的变动——而不是整个交易。因此,所有参与者都可以独立验证他们的交易部分,保持账本准确和同步,同时最大限度地减少数据访问。
那么,发生了什么变化?使用 Daml 2.0 和 Canton,这个示例几乎可以扩展到任何大小和形状。 Daml 和 Canton 协同工作以将所有内容粘合在一起,无论工作流程变得多么复杂或庞大,同时不会牺牲隐私或降低账本的完整性。除了保护隐私的明确价值之外,这还提供了其他显着的好处:
-
**为开发人员简化。**在创建新应用程序时,他们可以依赖已有的应用程序。当他们定义新的工作流程时,他们还确定谁可以看到该工作流程的每个部分的内容,同时降低了分类帐提供者的可见性。
-
可扩展性的新前沿。 Canton 允许多个参与节点连接以形成业务网络,并且这些网络可以相互连接。每个网络都保留自己的规则,但工作流可以跨越网络。例如,这允许支付网络和医疗保健网络连接,以实现更高效的计费、索赔验证和处理以及支付——节省时间和金钱,同时降低运营复杂性和风险。
-
无限的网络容量。 由于 Canton 是为数据最小化而设计的,每个节点只需要验证全局账本的一个子集,账本上的每个应用程序都可以使用单独的资源,而不会限制将这些应用程序组合成更大的工作流和应用程序。因此,随着资源被添加到网络中,Canton 可以无限制地扩展。
带有 Canton 的 Daml 2.0 为推动创新提供了安全和私有的数据基础。您决定谁可以访问您的应用程序或插入您的网络并设置不可侵犯的角色、规则和权限。这些授权机构可以建立在您的基础设施之上,并保证账本的完整性不会受到损害。带有 Canton 的 Daml 2.0 可让您改进工作流程和流程,同时为提高连接性创造条件。

更多推荐

所有评论(0)