SmartProvenance: A Distributed, Blockchain Based Data Provenance System

区块链技术已经从用于加密货币的交易的不可变总账发展成为用于构建分布式可靠应用的可编程交互式环境。 尽管区块链技术已被用于解决各种挑战,但据我们所知,以前的工作都没有集中在使用区块链来开发安全且不可变的科学数据来源管理框架,该框架可自动验证出处记录。 在这项工作中,我们利用Blockchain作为平台来促进可信赖的数据来源收集,验证和管理。 开发的系统利用智能合约和开放起源模型(OPM)来记录不可变数据路径。 我们表明,我们提出的框架可以安全地捕获和验证来源数据,只要大多数参与者是诚实的,就可以防止对捕获的数据进行任何恶意修改。

SmartProvenance他们干了啥:
1.安全获得数据
2.实现数据的安全存储等技术
3.跟踪
4.访问控制政策
5.投票机制和罚款支付
6.为用户提供自定义的验证脚本,以确定提交的更改是否有效。
7.基于以太坊开发
8.使用Meteor框架,用于为用户的客户端模块开发接口(https://www.meteor.com
ps:Meteor是新一代的开发即时web应用的开源框架,它能帮助你在最少的时间内完成开发。它的理念和AngularJS、BackboneJS等框架大不相同。当我们在backbone 和 angular 上工作时,客户端(Angular或Backbone)和REST后端通讯。我们可以用任何技术写 REST 后端,例如 Java、NodeJS、PHP。

Meteor使用DDP(分布式数据协议)在客户端和服务器间传送数据。客户端JavaScript开发者需要解决的首要问题是:向后端的数据库发起查询,发送数据到客户端,当数据库变动时,推送变动到客户端。DDP是解决这一问题的标准做法。

Meteor应用的后端基于Node和MongoDB。前端和后端的应用同时使用Meteor的API。未来开发者可以选择 MongoDB 之外的其他数据库。
来自:https://segmentfault.com/a/1190000000361440

9.临床药物试验的真实场景中评估该系统
10.结果表明:捕获的数据来源具有固定的成本和适中的开销

溯源模型
https://openprovenance.org
https://link.springer.com/content/pdf/10.1007%2F978-3-540-89965-5.pdf
Provenance Model(OPM)表示数据源跟踪。在OPM方法中,当前系统的每个动作都用三个参数表示。

1)工件(例如文档、文件)在更改版本之前和之后,2)代表更改发起人的代理,3)将工件从以前的版本更改为当前版本的过程。在我们的项目中,我们将OPM模型表示为三重模型,描述了代理、工件和流程是什么,并对它们之间的代码关系边缘进行编号。例如,修改文件的操作可以在opm中表示为一个元组(用户、文件:旧版本、文件:新版本、用于修改的过程)。

威胁模型
SmartProvenance系统可以有两种类型的攻击者:外部对手和内部对手。外部对手是指无法访问系统中文档/数据,但会主动尝试破坏特定私有文档/数据的数据来源跟踪的用户。内部对手可以访问SmartProvenance系统中所有者授予的文档/数据。内部对手能够更改文档并将更改记录为区块链上的来源跟踪。内部对手试图通过将错误的详细信息记录到源链中来破坏源链。对于这项工作,我们假设外部对手不知道解密文档的密钥,也没有访问存储文档的位置的权限。对手只知道文档ID,并使用此信息对系统发起攻击。对于内部对手的情况,我们假设他不是可以授予对文档访问权限的文档的所有者。如果能够访问文档和相关来源数据的用户中至少有一半是诚实的,则SmartProvenance保证了真实行为[13]。最后,我们假设云存储不可信,并且所有存储的文件版本都是通过使用对称密钥加密的共享密钥加密的。我们还假设存在一个安全的外部密钥共享平台,文档所有者可以通过该平台共享密钥。

SYSTEM OVERVIEW
文档的所有者通过提供密钥向用户提供对文档的访问。
文档所有者需要向用户授予对唯一文档日志的访问权限。
用户使用在每个用户浏览器中运行的客户端应用程序记录对系统的有效更改。

每个客户机应用程序都存储有关文档的持久数据,当前用户可以使用数据库访问这些文档。
客户端应用程序通过geth节点与智能合约通信,geth节点是以太坊平台用来与主区块链网络通信的程序。
客户机应用程序监控数据更改事件的相关智能合约,并启动验证过程。
智能合约模块实现访问控制策略和来源跟踪存储等功能。

SYSTEM DETAILS

OnChain模块主要由以太坊智能合约组成,用于访问控制、生成和存储出处跟踪和进行投票过程
包括:
1.Document Tracker contract
文档跟踪器智能合约用于跟踪给定文档的更改。文档跟踪器契约实现访问控制策略,并限制用户访问文档的来源跟踪。合同还提供了为特定文档生成来源跟踪的方法。生成的文档跟踪将作为事件存储在文档跟踪程序合同的事件日志中。由于以太坊区块链环境中每存储成本的考虑,数据来源跟踪的事件日志存储是首选的。变更事件的格式在我们的详细文件中有详细描述。每个更改事件还存储基于消息摘要的发起程序的数字签名。“文档跟踪器”限制对所有文档功能的访问,如创建用于跟踪的文档、授予用户对特定文档来源历史记录添加更改的权限、撤消用户对特定文档历史记录的访问权限,最后将特定文档的来源历史记录生成并存储到日志中。需要注意的是,SmartProvenance不会在区块链上以明文形式存储任何敏感信息,因为存储在区块链上的任何信息(包括智能合约代码)都是公开的。此外,由于存储成本和区块链存储限制,实际数据存储在区块链之外,可能存储在云位置。

每一个出处变更事件都必须通过投票合同的投票程序批准。
2.Vote contract
合同执行两种投票:简单多数投票和阈值投票

Off-chain模块由客户端应用程序组成,与智能合约交互以记录更改、为投票过程提供计时器并执行验证操作。使用基于云的验证脚本更改每个文件。
离线模块是一个javascript客户机,运行在每台用户机器的浏览器上。
除了javascript客户端之外,SmartProvenance还有一个验证脚本在云存储位置运行,在该位置存储文档的版本。验证脚本验证提交给文档跟踪器的文档的每个更改的有效性。

VOTING PROCESS

SYSTEM ANALYSIS
security and privacy

系统evaluation
使用Meteor JS实现的客户端应用程序运行在笔记本电脑(核心i7 2.4GHz)和运行Ubuntu 16.04.2 LTS的台式计算机(核心i7 3.40GHz)。使用Solidity语言开发的智能合约在以太坊Ropsten TestNet2上运行。对于所有场景,我们
为每个文档/数据文件都有100个用户的设置模拟测试。对于基于云的存储,我们使用Google Drive,验证脚本是使用Google AppScript开发的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值