区块链研究实验室|如何在区块链上实现去中心化数据仓库共享-part1

  • 时间:
  • 浏览:55
  • 来源:区块链技术网

本文主要讨论使用区块链智能合约和数据仓库安全共享去中心化数据。

背景

Alice和Bob想双方相互共享数据,但不是以传统集中的模式进行。集中数据存储在一个位置或一个公司,这就使数据面临着不安全,公开,不受控制(简而言之被滥用)的风险。

集中数据共享:面临数据可能丢失、被盗、出售等风险

相反Alice和Bob希望以去中心化的方式共享数据。去中心化的数据是由多个地点由多个公司持有。这可能会使数据更安全、更私密、更可控。

去中心化的数据共享:降低滥用风险

本文的其余部分讨论了此重要问题的解决方案。

讨论

Alice和Bob希望共享数据,包括消息、邮件、文档、图像和任何其他分散在云端中某处的文件。

共享数据包括存储数据和控制谁有权访问哪些数据以及何时访问。

解决这个问题的方法之一是将数据访问控制与数据存储分开。

我们想在区块链上使用智能合约来控制对数据的访问,因为智能合约非常擅长控制谁在何时何地做什么,何时何地执行,并且它们存在于去中心化平台上。

然而由于存储成本非常高的原因,区块链并不适合存储数据。存储一小部分字节的开销已经足够大了,存储一个文件的开销往往高得让人望而却步,有时甚至不可能。

我们认为,安全地存储共享数据的最佳位置是只有用户可以在数据保险存储服务器上访问这些数据,并且由用户决定使用哪个数据仓库存储服务器(或数据仓库存储服务器的组合)。

因此Alice和Bob都想在他们选择的数据仓库服务器上共享他们的数据,用户访问由智能合约控制,所有这些都通过互联网连接在一起。

智能合约和数据仓库必须提供哪些功能才能启用此解决方案?

组合功能

所需的用户角色,计算机状态和对象取决于所部署的特定智能合约。但是当智能合约与数据仓库交互时,双方必须指定和实现可能的对象和操作。

为此需要智能合约和数据仓库存储接口规范。

智能合约功能

智能合约对可以在哪些对象上执行哪些操作,通过哪些角色以及在哪种计算机状态下进行编码。

某些智能合约功能可以由用户直接调用,而某些可以由数据仓库调用。

智能合约导出一个公共接口,该接口提供检查和更改当前机器状态的用户功能。

智能合约中可能的角色和机器状态包括:

ExampleUserRolescontractOwnerdataOwnerdataRequesterregulatoretcExampleMachineStatesinitialisingawaitingsomethingactivatedauditingterminatedetc

智能合约还导出符合接口规范的公共接口,从而为数据仓库提供检查在当前机器状态下是否允许角色对对象执行操作的功能。

因此数据仓库操作的控制被编码在智能合约中。

数据仓库功能

数据库保存加密的文件,并且必须要清楚智能合约的区块链上接口规范的地址。

每当用户向数据存储库发出对对象执行操作的请求时,数据存储库将与智能合约一起检查用户是否具有执行该操作的权限(考虑到智能合约的计算机状态),如果有,则执行该操作。

数据仓库与智能合约一起检查是否允许用户请求

数据仓库保存具有以下操作的对象:

ObjectPossibleOperationsfileread,write,appendfolderread,write,append

智能合约和数据仓库操作

合约所有者创建智能合约并将其部署在区块链上,然后创建一个将使用它的数据仓库。这两个组件都必须符合接口规范。

用户可以向智能合约或数据仓库发出请求。

智能合约请求检查或更改合约的机器状态。

当其中一个用户发出数据仓库请求时,数据仓库会在执行之前与智能合约检查是否允许该操作。

只有智能合约所有者可以终止智能合约,并且他们可以在智能合约允许的任何时间终止智能合约。终止的合约会将所有剩余资金释放给合约所有者,最终将导致数据保管库被删除。

示例解决方案

我们将提供一个有效的解决方案,使用datona-cli提供针对此问题的可行解决方案。下一章节会涉及到。

结 论

Alice和Bob以及其他许多人都希望能够以分散的方式共享数据。这可能会使数据更安全、更私密、更可控。

结合使用智能合约和符合接口规范的数据仓库来做到这一点是很实际的。

--------------------------------------------

原文作者:Julian Goddard

译者:链三丰

译文出处:http://bitoken.world

---------------------------------------------

相关文章阅读:

区块链研究实验室|加密区块链数据库详解(第一部分)

加密区块链数据库详解(第二部分)

区块链研究实验室和|Hyperledger Fabric最佳实践-使用Chaincode加密状态数据库

猜你喜欢

2022十大智能合约开发工具

去年,我研究了一些顶级的智能合约开发者框架[2],今年,我们将扩展到更多。 我们将研究十类工具,然后看看每个类别中最适合智能合约/区块链/solidity/vyper/rust/web3开发者的工具(我们现在有太多 “区块链开发者”的术语)。

2022-01-15

DeFi中的关键,智能合约是什么?

智能合约(Smart Contract)是上世纪90年代由密码学家尼克·萨博提出的理念,由于当时缺乏可信的执行环境,智能合约没有被应用和发展,直到以太坊的出现,才让智能合约得以“复活”。

2022-01-04

如何部署Solidity智能合约到Solana

什么是Solana,你如何将Solidity智能合约部署到Solana?

2021-12-28

区块链红利吃饱后,这个巨头又想"征服"元宇宙?

据12月26日消息,百度与英伟达(NVIDIA)已达成协议,双方合作共建AI元宇宙。另外,在今日举行的百度AI开发者大会上,英伟达全球副总裁暨亚太区总裁 Raymond Teh将受邀出席,并发表主题演讲。

2021-12-27

2021年,区块链股权融资发生了怎么样的演变

过去一年,区块链行业融资井喷,在科技领域中独树一帜,A16z、红杉、老虎基金等等这些顶级机构在 2021 年的区块链行业肆意驰骋,在 DeFi、NFT、Metaverse 等领域扶持了一众创业项目。

2021-12-23