参照原论文阅读
在这里插入图片描述

他们为什么做这项⼯作?(背景和目的)

背景

  • 大数据→数据驱动型经济中的关键资产→推动了新兴数据交易行业的兴起
  • 传统的数据通常由三方组成,即:卖方、可信数据交换平台和买方。 具体地说,卖方将数据集发送到可信数据交换平台,并设置适当的销售价格。 买家将选择感兴趣的数据产品并在线下单,类似于其他电子商务交易。 在收到买方付款后,数据交换平台将购买的数据传输给买方,并向卖方支付(扣除管理费或佣金后)。

目的

  • 传统的数据交易平台完成交易后,如果原始数据集不能被买方直接使用,则买方将需要重新处理该数据集,以获得满足买方需求的所需结,因此需要提出一种从数据托管/交换即服务转移到数据处理即服务的数据交易平台。
  • 同时需要克服不诚实的买家,卖家,数据交易平台等传统数据交易平台的缺点以及抵御诸如单点攻击的攻击手段。

针对这项工作,别人做过了哪些⼯作,有哪些缺陷?

  • 公信宝(GXS)系统→促进了买家和卖家之间的直接匹配,卖家可以将数据传输给买家,而不需要将数据集存储在平台上。 通过GXS出售的数据将被唯一标记,系统可以应原始卖家的要求调查可疑的未经授权的转售活动。 然而,如果不诚实的买家离线或通过不同的系统/平台转售购买的数据集,那么显然GXS将无法进行调查。
  • AccountTrade[参考文献10]→ 包括一套负责任的协议,以减轻由于不诚实的买家造成的风险。具体地说,作者描述了数据交换如何严格测量数据唯一性(即唯一性指数),并在他们的方法中检测和惩罚不诚实行为。 然而,唯一性指数是一种相似性比较机制(有点类似于出版业用来检测剽窃的软件iThenticate),它需要数据交换才能运行算法。与GXS中的限制类似,离线或未部署AccountTrade协议的平台上的未经授权的转售活动将不会被检测到。
  • 一些研究侧重于智能合约数据馈送和交易参与者的私人信息:(下面三项研究并不能保护卖方的知识产权。
    • City Crier(TC)的[15]目标是解决智能合约中的数据馈送问题。 TC主要使用SGX来保护数据采集过程,并确保数据在数据馈送过程中不被篡改。
    • PDF[16]是对TC的改进。 在PDF中,采集的数据来自区块链,保证了源数据的可靠性。
    • SchellingCoin[17]允许多个节点集体提交其输入数据,然后选择提交正确数据的第N个节点作为特殊节点进行奖励。
    • Zhao等人[18]提出了一种基于区块链的公平数据交易协议,该协议集成了环形签名,防止双重认证的签名和相似性学习,以保护数据卖方的隐私。尽管数据卖方的私人信息受到保护,但不能阻止数据买方转售收到的原始数据。
    • Shen等人[19]提出了一种远程数据完整性审计方案,该方案可实现数据共享和敏感信息隐藏。你可以验证已处理文件的完整性。该方案不会阻止转售共享数据。

他们⼤概是怎么做这项⼯作的?(⼀两句话概括)

  • 本文提出了一个新的数据交易生态系统来补充现有的交易生态系统。 我们从数据托管/交换即服务转移到数据处理即服务,其中买方支付卖方数据集的分析费用。 因此,保护数据集的挑战现在减少为保护数据处理的挑战。
  • SDTE中的工作流程→买方将他/她的数据分析合同部署到SDTP上,根据感兴趣的数据找到一些卖方,然后找到SDTP的受信任节点。卖方将数据发送到买方选择的受信任节点。 数据分析将在受信任的节点上进行,结果将用于就SDTP的合同达成共识,仅执行结果将发送给买方。

他们的这项⼯作,做的好不好?好在哪⾥?

我认为他们做的好,具体有如下几点

  • 创新性地提出了只需要买数据分析的结果来代替完整的数据集交易,来作为现有交易生态系统的补充,同时提出了一套基于此的完整可行的数据交易生态系统。
  • 引入了诸如SGX和SGX密封加密,DTMC(数据交易管理合同),CISC(合同信息存储合同)和安全数据通路等等来保证数据的安全性和买卖双方以及可信节点的利益。
  • 利用区块链技术实现实现对所有的交易和评论进行记录,安全有效同时便于查找。
  • 逻辑清晰,步骤明确。

他们这项⼯作,有没有不好之处,不好在哪⾥?(疑惑点)

  • 本文虽然对数据结果的规模进行收费,但是并不能禁止合同输出源数据(数据规模收费仅仅可以当作版权费),但是对于一些数据卖家,可能根本不想源数据泄露,针对这种情况,SDTE并没有办法解决。
  • BDBC的需求广播模块在文中并没有说事怎么广播的,如何实施的?
    • 查阅到以太坊本身具备节点对节点的广播,因此可能就是应用的以太坊自带的广播功能。
  • 为了确保在传输过程中,安全区中计算的结果未被节点篡改,安全区将生成一个内部密钥并对执行结果进行签名 这个签名是什么样子的?文章并没有给出解答。。。
  • 已经表明,**SGX的同步漏洞可能导致隐私泄露[27]**。 然而,我们在这项工作中没有考虑SGX侧通道攻击,也没有对潜在的可能的SGX漏洞进行补救。

他们的这项工作做的好,为啥好呢?他们是⽤啥理论证明的呢? (可能涉及方法正确性、性能、安全性)

A.正确性

本文是提出的一种应用于实际的一个数据交易的生态系统,因此没有严格的理论数学公式证明,但大致的合同部署,需求匹配,执行准备和合同执行这四个主要模块都有着完整又严密的过程。

B.安全性

文章第六节详细阐述了此方案的安全性。

  • DOS攻击:一方面,攻击者(可以在SDTP中扮演任何角色)可以通过构造多个事务来调用BDBC来消耗SDTP的网络资源。为了解决该问题,BDBC将收取额外的广播费用。 另一方面,攻击者可能通过向DTMC存放极少量的以太币以启用节点来消耗网络资源,因为在执行过程中可能由于以太币不足而引发异常。 SDTP通过从买方到DTMC的最少预存款来防御此攻击。 还限制了卖方传输解密的原始数据密钥的能力。 仅某些卖方可以执行远程身份验证,并且在交易中执行的远程身份验证的数量受到限制。
  • 单独恶意买家:
    • 恶意买家可能调用其他合约窃取原始数据或者直接输出原始数据。分别让Enclave中的EVM进行了限制,并禁止合同进行通话对智能合约的输出进行了收费来抵御。
    • 恶意买家还可能拒绝卖方和选定的受信任节点的执行费用。在SDTP中卖方和可信节点在履行职责前都会向DTMC查询自己的报酬数量,如果满意才会开始履行职责,而EVM的执行费用是直接扣除的,买家无法抵赖。
  • 单独恶意卖家(在源数据动手脚):
    • 可能将冗余数据传输到选定的受信任节点。通过买方可以设置一个预期的卖方,卖方即使发送额外的数据也不会获得额外的收入来解决。
    • 卖方可能还会发送与买方需求预期不符的数据以白嫖利润:在这种情况下,买方可以在购买数据之前从CISC获得卖方的相关评论。
  • 恶意节点:
    • 窃取分析结果:通过在Enclave对数据分析结果加密抵御。
    • 窃取更多奖励:恶意节点可能伪装成有用节点,但是买方已经在执行合同前将选定的节点地址告诉了DTMC,因此这种窃取行不通。
  • 两个恶意角色的合谋攻击:
    • 恶意买方+恶意卖方【逃脱计算费用】:在这种情况下,他们希望使用SDTP中的计算资源,但不想支付给选定的受信任节点和EVM来执行智能合约。 选定的受信任节点将在执行智能合约之前调用DTMC进行检查,因此,即使买卖双方合谋,也无法否认。 他们不会使用恶意合同,因为他们想获得结果。
    • 恶意节点+恶意买方:他们所能做的就是恶意买方可以将恶意选定的节点指定为执行智能合约的节点。 卖方的数据将全部在恶意节点上运行。 在将数据发送到选定节点之前,卖方将仅在通过SGX远程身份验证后将密钥传递到Enclave。节点无法窃取和篡改私人数据。因此,卖方的原始数据不会被泄漏。此外,在运行智能合约之前,卖方将询问DTMC他的报酬是否符合他的期望。 因此,恶意节点和购买者没有机会窃取和篡改数据并予以拒绝。
    • 恶意节点+恶意卖方:当节点和卖方合谋时,最坏的情况是买方选择的所有节点都是恶意的。 在这种情况下,他们可能想要窃取买家的分析结果,获得额外的奖励,发送无用的数据。 但是,买方为卖方和节点的奖励设置最大值。飞地禁止在合同之间进行呼叫。 此外,Enclave将对执行结果信息进行签名,并确保不会篡改执行结果。 因此,可以保证买方的利益。

C.性能

​ 第七部分的部署评估测试了性能,实验都证明此方案的性能不错。

他们这项⼯作做的好,肯定有实验,那么他们怎么用实验来证明 他们的好的?

A. 实验环境

  • 用户(包括卖方,买方):2.40GHz 64位Intel Xeon CPU E5-2630 v3处理器,该处理器具有32核,64 GB RAM和具有1Gbps网络速度的网络接口。
  • 受信任节点:Dell Precision Tower 3620,具有Intel i7-6700U CPU和32.00GB内存。

B. 数据集、数据集处理方式

  • 在SDTE中,总共有四个过程:合同部署,需求匹配,执行准备和合同执行。 我们总共测试了四个过程的时间。我们还在执行准备和合同执行中测试了两个主要的额外费用。

    • SGX远程认证,它建立安全通道并传输秘密密钥。
    • 在安全环境中而不是传统EVM中运行智能合约的执行成本。

C. 编码语⾔

SGX,SDK,C++

D. 对比角度和方法

  • 安全密钥传输测试中,通过改变可信节点的数量来对比密钥传输的效率。
  • SGX中的合同执行测试中,对比了在SGX和传统EVM上执行KNN所花费的总时间成本
  • 运行时间测试中,衡量了系统所需的总时间,以数据集数量为变量。

E. 实验结果

  • 安全密钥传输测试中,随着可信节点数量的增加,总时间线性增加。

  • SGX中的合同执行测试中,SGX中合同执行的额外时间成本随着数据集数量的增加而线性增加。与传统的EVM相比,受SGX保护的EVM的额外开销用于从不受信任的内存中复制Enclave中的数据,解密源数据以及对Enclave中的数据分析结果进行加密。

  • 运行时间测试中,总时间随数据集数量线性增加。

F. 实验分析

  • 安全密钥传输测试中,总时间随节点数量增加,但是受信任节点串通的机会同时减少 。我们认为传递密钥的时间成本是值得的,因为只有这样用户才能确保SDTP中的恶意节点无法获取该密钥。
  • SGX中的合同执行测试中,SGX中合同执行的额外时间成本随着数据集数量的增加而线性增加,但是这些额外的成本会随着输入源数据大小的增加,受SGX保护的EVM与传统EVM所需的时间差会减小。 简而言之,SGX中的合同执行大大提高了执行的安全性,而没有不切实际的开销范围。
  • 运行时间测试中,SDTP中,有五个步骤(买方部署数据分析合同,买方广播BDBC广播的需求等)来更改合同状态,并且每次更改状态将花费SDTP约15秒以达成共识。 确定主要成本是由于通过在SDTP上发送交易以更改合同状态而调用合同(例如DTMC)造成的。

针对这项⼯作,他们有没有说,未来还打算怎么做呢?具体说了哪些呢?

  • 本文没有考虑SGX的同步漏洞可能导致隐私泄露[27]也没有考虑SGX侧通道攻击,这些都可能导致隐私泄露,因此有必要后续对这方面进行解决。
  • 为了进一步提高源数据的安全性,他们未来还考虑使用现有的解决方案(例如libdft [32]和CloudFence [33])来跟踪传入的数据流。 **具体而言,如果卖方不同意输出完整(或相关部分)的源数据,则在飞地内,跟踪解密后的源数据,以防止将完整(或相关部分)的源数据生成为输出。 **
  • 我认为这篇可以和BDTF那片稍微结合一点点,也就是应该支持在将钱打给卖方之前,允许可信节点向买方发送一部分数据结果来验证,验证通过了再打款。

这项⼯作的idea与哪些论⽂有⼀脉相承的关系呢?或者说,你感 觉这篇论⽂的作者是看了哪些论⽂,才想到这项⼯作的idea呢?

  • 参考文献【21】,解释了智能合约的详细信息,而智能合约是本文数据处理的核心。
  • EVM是智能合约运行的环境,但文中并没有给出参考文献,可能是智能合约论文的一部分。
  • 参考文献【23-25】详细介绍了SGX的运行机制和原理,SGX是本文安全性的重要保障。

这篇论文的核心参考文献是?这些参考文献都起到了什么作用呢?

  • 参考文献【21】,解释了智能合约的详细信息,而智能合约是本文数据处理的核心。

  • 参考文献【23-25】详细介绍了SGX的运行机制和原理,SGX是本文安全性的重要保障,【24】则介绍了SGX的跨平台认证。

这项工作,可以拆分为哪些子工作,就是哪些步骤。每个步骤, 或者每个子工作使用了哪些⼯具或者方法去完成的呢?画⼀个包含步骤和工具的类似流程图的东西呢。

​ SDTE的具体实施大致包括四个部分:合同部署,需求匹配,执行准备,合同执行。

同时需要知道SDTE的合同注册、需求匹配、财务管理和可信环境四个重要功能需求,分别表示为合同信息存储合同(CISC)、买方点播合同(BDBC)、数据交易管理合同(DTMC)和可信节点

A.合同部署

数据分析智能合约的部署流程与以太传统的部署流程相同

数据分析合同部署后获取的地址为AContract

B.需求匹配

  • 买方将选择已完成(3)-(6)步的前n个可信节点来运行Canalysis。同时卖方和可信节点可以同时响应BDBC,图中分开只是为了表示清楚。

C.执行准备

D.合同执行