2018年5月25日,欧盟《一般数据保护条例》(“GDPR”)正式生效,GDPR不仅适用于位于欧盟内的组织,如果某位于欧盟之外的组织向欧盟数据主体提供商品或服务或监控其行为,GDPR也将适用。简单来说,只有某组织有处理和存储居住在欧盟境内的的数据主体的个人数据的行为,无论公司位于世界上哪个地方,都会受到GDPR的管辖。GDPR保护是“个人数据”,包括任何与可参考某标识直接或间接被识别的可识别人有关的信息。除此之外,GDPR对数据主体权利的保护也十分严格,不仅规定了数据主体享有“数据被遗忘权”和“数据可携带权”等权利,还规定将违反GDPR的责任主体最高可能会面临其全球年总营业额4%之高的罚款。
GDPR颁布之后,分布式数据存储与GDPR个人数据被遗忘权冲突问题就被推上了风口浪尖。区块链的分布式数据存储方式使保存的数据无法得到有效的删除,看似与个人数据的被遗忘权产生了不可调和的冲突。很多区块链行业的公司都十分热切地关注着这个问题,想要了解其所从事的业务是否会涉及GDPR的监管,以及该如何应对这样的变化。
一、区块链上的数据存储
(一)区块链的工作原理
在“区块链”中,数据通常被分成一个个区块,通过哈希算法被编入已有的账单之中。哈希算法可以将一个文件转化成一串数字和字母的组合(哈希值),只占用32byte的空间,且是单向加密,无法被反向破解。哈希值可以用来验证某一文件是否在某一个特定时间被写入数据库,因为如果对同一文件进行哈希,得到的结果是完全相同的。区块链不是完全不可篡改的,只不过因为技术的本质,被篡改之难度极大。分布式存储依赖于具有非对称性的两步验证过程加密。每个用户都有一个公钥,可以被视为一个用于交易帐号,向其他所有人公开。另外,每个用户持有私钥,私钥是一个绝不能与他人分享的密码。私钥可以用来解密通过公钥加密的数据。
节点是账单存储的地方。一些区块链网络区分“完整”和“轻量级”节点,完整节点存储来自创世区块的账单,全节点能够独立自主地校验所有交易,而不需借由任何外部参照。而轻量级节点只保留了区块链的一部分,它们通过一种名为“简易支付验证(SPV)”的方式来完成交易验证。在公开的区块链网络上,任何人都可以下载节点上存储的数据。某些节点也起到“矿工”的作用,将交易汇总到候选区块上,并按照预先确定的共识协议(例如工作证明或权益证明)将其通过哈希算法链接到链上。
(二)区块链数据的隐私保护
在此必须要提出一个问题,区块链上的数据是完全公开的吗?区块链上的数据主体毫无隐私可言吗?常常有人有这样的误解。事实上,要接触区块链上的某项数据,是要经过多重考验的。数据主体可以选择适当的方式,实现自己对个人数据的控制和对隐私的保护。
首先,我们要谈谈公有链和私有链的概念。公有链是完全去中心化的,不需经过任何管理员许可即可加入的区块链网络;私有链是有一定门槛,需经过许可才能够加入成为链上节点的区块链网络。当然,公有链和公有链之间也有不少中间形态,此处不再赘述。私有链的设置,为个人数据的保护设立了第一道防线,因为加入私有链这件事本身,即需要取得数据主体的同意,数据主体在这个环节拥有了一定的数据控制能力。
第二个体现数据主体控制权的环节即数据的双重加密环节,区块包含两个部分:区块头和区块内容。区块头包含时间戳、信息来源的身份证明;区块内容包含存储的数据,也就是通常会被加密的部分。对数据的加密通常有两种方式:非对称性加密和哈希算法加密。非对称性加密是一个双向函数,常被用于加密数据,有密钥的人才可以将加密的数据反向解开,还原到数据原始的状态;哈希算法会将数据转化成一串哈希值,存储在链上,与非对称性加密不同的是,哈希过的数据无法进行反向的推导。由此可见,数据主体可以在区块链上自由选择将自己的个人数据分享给他所信任的收据获得者。
二、GDPR与区块链:监管客体问题
(一)GDPR保护的“个人数据”
根据GDPR中的定义,“个人数据”指的是任何已识别或可识别的自然人(“数据主体”)相关的信息;一个可识别的自然人是一个能够被直接或间接识别的个体,特别是通过诸如姓名、身份编号、地址数据、网上标识或者自然人所特有的一项或多项的身体性、生理性、遗传性、精神性、经济性、文化性或社会性身份而识别个体。[1]
根据GDPR的陈述说明第26条,数据保护原则应适用于与已识别或可识别的自然人有关的任何信息。经过假名化的个人数据,可以通过使用附加信息追溯到自然人,应被视为可识别的自然人信息。为了确定自然人是否可识别,应考虑所有合理可能使用的手段。为了确定某手段是否合理地用于识别自然人,应考虑所有客观因素,例如识别所需的时间和成本,同时考虑到当时的可用技术。因此,数据保护原则不应适用于匿名信息,即与已识别或可识别的自然人无关的信息,或以匿名方式提供的使数据主体不再或不再可识别的个人数据。因此,本法规不涉及对此类匿名信息的处理,包括统计或研究目的。[2] 可以看出,区分“个人数据”与“非个人数据”,关键的问题是“数据的匿名性”。
(二)区块链上的个人数据
根据在区块链上存储的形式,区块链上的个人数据主要可以分为以下两种:1、交易数据(数据本身、加密过的数据、哈希过的数据);2、公钥
很多的交易数据中会含有个人数据,举例来说,虽然交易发生在账号之间,不直接与某个人相关联,但是根据某账号的交易习惯,往往可以推测出该账号背后个人的文化性身份。哪些交易数据属于个人数据不是本文论述的重点,在此不展开讨论。本章研究的重点是,假设某交易数据或公钥属于个人数据,其在区块链上的不同存在形式是否会受到GDPR之管辖。
首先,如果直接将数据本身存在链上,该类个人数据将必然落入GDPR的监管范围,这是不言而喻的。现实中,将个人数据本身不经任何处理地存储在链上,是不太常见的做法,这是由两个原因导致的:一是隐私问题,未经加密的个人数据通常以文字形式直接展现在链上所有节点面前,显然,这是毫无隐私可言的;另一个原因是存储空间问题,众所周知,区块链存储的成本还是很高的,如果将原文全部搬到链上,所占的存储空间之大和成本之高使这种做法变得不太现实。
更为常见的一种情况是将数据进行加密或哈希后存储在区块链上,这就引出了以下问题:假设某存储在区块链上的数据属于具有可识别性的个人数据,对其进行加密和哈希是否实现了匿名化的目的?根据《欧洲议会和欧盟理事会关于在个人资料处理和个人资料自由流通过程中对个人资料进行保护的指令》第29条设立的工作组2014年5月出具的《关于匿名化技术的意见》中表明,数据加密和哈希函数都是常见的假名化方式,而非“匿名化”方式。匿名化所要实现的法律目的是“不可逆地阻止可识别性”;假名化降低了数据集与数据主体的链接性;因此,它是一种有用的安全措施,但不是一种匿名方法。
对于加密数据,密钥的持有者可以轻松地重新识别个人数据,因为个人数据仍然存在于数据库内,只不过是以加密形式存在。如果未掌握密钥,如果知晓加密的方式,则可以对原始数据进行反向推导。
哈希函数也被称为“散列函数”,其最大的特点是不能反向推导;这意味着加密所带来的逆转风险已不复存在。但是,如果哈希函数的输入值范围是已知的,则可以通过哈希函数重放它们,依然存在破解的可能性。
加密或哈希过的个人数据较于未经任何处理的个人数据,似乎有了一道防线,但是仍然有被破解的可能性,对数据进行加密无法实现“不可逆地阻止可识别性”的目的,因此,对数据的加密一般被视为对数据的“假名化”而非“匿名化”,区块链上的加密或哈希数据仍然可能落入GDPR管辖的个人数据范围。
如上文所说,每个用户都有一个公钥,可以被视为一个用于交易帐号,向其他所有人公开。那么公钥是否为匿名化数据呢?如我们所知,公钥是由一串数字和字母组成的,仅有公钥本身,很难将公钥与个人联系起来,但是请想象一下,如果某个人因为某种原因将自己的公钥公开,该公钥将不可避免地成为个人数据,更甚者,与该账户有过交易的其他账户/公钥也就有了能够与某特定个人相联系的可能性;更有研究表明,根据公钥可能追溯到某个人的IP地址。因此,公钥也极有可能落入GDPR之管辖。
三、GDPR与区块链:监管主体问题
有趣的是,GDPR是构建在一个数据被中心存储的背景之下的,它默认了数据会被某一特定的数据控制主体所控,但却未考虑分布式数据存储的场景,在分布式存储的场景下,数据并不是存在中心化的数据库中,而是存储在系统的每一个节点上,这也正是分布式存储的优势所在。数据主体将数据存储到区块中之后,系统随机选择的矿工将会把区块中的数据通过哈希算法编入链上,稍后,链上每个节点的账单都会对新增节点进行更新。
(一)GDPR中的数据保护责任主体
GDPR下的责任主体主要有两个:数据控制主体(Data controller)和数据处理主体(Data possessor)。数据控制主体为“决定数据处理目的和手段的自然人或法人”;数据处理主体是指“代表数据控制主体进行数据处理的自然人、法人、公权力机构、代理人或其他主体”。[3] 很多时候,在某个主体具有复杂的多重身份的情况下,会出现难以确定某个实体到底是数据控制者还是处理者的问题,需要就具体情况具体分析。
(二)区块链上的数据保护责任主体
在区块链的特殊存储机制下,我们必须考虑一个问题:区块链上的数据控制主体和数据处理主体是谁?在现实中,私有链是区块链企业比较常见的选择,私有链一般会设置一定的准入机制和中心化管理机制,例如,在某节点加入私有链往往需要经过私有链运营主体的同意,在私有链运作的过程中,也会有类似管理员的角色对其交易数据的存储进行干预,如设置交易数据的查看权限等等。私有链的设置结构和权限千差万别,在此也无法下一个结论性的意见,但是我们可以知道,私有链一般是有较为明确的控制主体和数据处理主体的。
然而,我们很难去判断在公有链或半公有链上,谁才是真正的数据控制主体。在完全的公有链上,链上的每个节点都是决定自己的个人数据处理目的和手段的主体,他们可以自主地选择是否参与公有链,和在公有链上记载自己的个人信息、得到他人的个人信息的更新,如果真的将GDPR 的责任置于每个节点之上,那似乎过于荒谬。首先,因为分布式存储的特性,公有链上的节点并没有实际的数据控制权,举个例子来说,如果要求他们对某项数据进行删除,将存在技术上的不可能性;另一方面,确认某个时间公有链上的节点有多少、每个节点所处的位置和真实身份,是不太可能实现的。以经典的公有链——比特币为例,比特币网络现有超过1万个节点,遍布世界各地不同的司法管辖区域内,且不提对其追索和罚款,找到和识别这些节点本身就是极度困难的;而为了某个数据主体的个人信息保护,因分布式存储本身的特性,对超过1万个节点进行GDPR的合规管理,显然,所采取的手段与保护的法益是不成比例的。
四、GDPR对个人数据的保护及与区块链的冲突
从上文的论述中,我们已经能够看出,区块链上的个人数据有可能落入GDPR保护的个人数据范围。接下来我们将集中论述GDPR规定的数据主体所享有的权利是如何与区块链分布式存储方式产生了种种冲突和碰撞。
GDPR赋予数据主体的权利中可能与分布式存储产生潜在冲突的主要有数据访问权、数据修正权和数据删除权。
1、数据访问权(Right of access by the data subject)
根据GDPR第15条的规定,数据主体可以就与其相关的个人数据是否正在被处理、在何处被处理以及因什么目的被处理的问题,获得数据控制主体的确认。此外,数据控制主体应免费提供个人数据的电子版副本。这种变化是数据透明度和数据主体赋权的重大转变。
在私有链中,数据控制主体是否能对某项个人数据正否正在被处理作出准确的确认,取决于该私有链的运作方式、去中心化程度和私有链管理人员的权限范围;而在公有链中,数据主体作为链上节点可轻易地获得包括自己的个人数据在内的所有节点上传的数据,虽然大部分数据是经过加密或哈希形式存储。
2、数据修正权(Right to rectification)
GDPR第16条规定,数据主体有权要求数据控制主体对不准确的他/她的个人数据进行修正,数据控制主体不得无故拖延。考虑到数据处理的目的,数据主体有权将不完整的个人资料补充完整,补充手段包括提供补充声明。
区块链被设计为不可篡改的分布式存储系统,这意味着写入区块链的数据将不存在被修改的可能性。然而,第17条中明确规定,数据主体可以提供补充声明对不准确或不完整的数据进行修正,这意味着数据主体只需提供新的信息,在链上写入新的区块对链上现有的信息进行修正或补充,这一点是很容易实现的。
3、数据删除权(right to be forgotten)
GDPR第17条规定,数据主体有权让数据控制主体擦除他/她的个人数据,停止进一步传播数据,并有权要求第三方停止处理数据。删除的条件包括数据不再与原始处理目的相关,或数据主体撤回同意。
众所周知,已存在于区块链上的数据将不存在被删除或抹除的可能性,在这一点上,GDPR的数据删除权似乎与分布式存储产生了不可调和的矛盾。虽然GDPR第17(2)条规定:在数据主体要求对其个人数据进行删除的时候,数据控制主体应当考虑对数据进行删除的技术以及施行的成本,采取合理的步骤(包括技术手段),通知数据主体,但是分布式存储不可篡改的技术特性是否可以成为不遵守GDPR的理由,仍然是尚未有定论的问题。
由此可见,数据删除权是最容易与区块链存储产生冲突的权利,在下一章节中,我们将对该矛盾的解决方式进行进一步的讨论。除此之外,如上一章节中所述,GDPR与区块链还在数据保护责任主体上存在冲突。在私有链上一般能够辨别谁是个人数据保护的责任主体,但对于完全去中心化的公有链来说,将链上节点作为个人数据保护之责任主体并不合理,GDPR的规定在技术的发展面前体现了一定的滞后性。GDPR由于其出台背景之限制,对分布式数据存储这种新的存储方式缺乏考虑,未将其纳入GDPR的法律框架之内以明确对其的监管,在实践中难免会出现各种各样的问题。
五、冲突的解决与替代性存储手段
(一)链下存储
解决冲突要考虑的关键问题是:如何能不在区块链上存储这些被监管的个人数据?对于交易数据来说,这个问题有一个非常直接的解决方式,即信息的链下存储。将交易数据存储于链下的私人数据库,可随时被编辑和删除。目前有很多公司正在开发各种数据离链存储解决方案,将区块链和离线存储结合起来以构建一个专注于隐私的个人数据管理平台。然而,数据的离链虽然保证了信息可随时被编辑和删除,但也抹除了分布式存储的优势。
因此,我们又要考虑,如何能不在区块链上存储这些被监管的个人数据,同时又能够利用区块链技术的优势?有人考虑在链下存储个人数据,在链上存储能够证明数据真实性的证据——哈希值,相同的离线文件通过哈希计算得出的哈希值是完全一致的,如文件在离线数据库中被以任何形式进行篡改,通过比较哈希值,就可以得出文件是否真实的结论;另外,程序设计者也必须对离链数据库进行严格的保护,因为链下数据的一旦丢失或受到攻击将无法恢复。
(二)零知识证明
对于公钥,冲突的解决变得不是那么简单。公钥作为区块链上的必要组成部分,无法被移到链下存储。中本聪曾提出,如果每一笔交易用不同的公钥,形成隐身地址,可以保证公钥的匿名化和个人信息的保护。但如前文所说,虽然使用隐身地址之后确实很难追溯到公钥的所有人,但每笔交易之间依然有千丝万缕的联系,如果在某个节点上发生信息的公开或者泄露,公钥背后的个人就很容易变得可被识别。
有人提出零知识证明可能是一个问题的解决方案。简单地说,它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。[4] Zcash 是首个使用零知识证明机制的区块链系统,其公开发布交易信息,但隐藏了交易细节,换句话说,只发布某交易发生了,但不会发布进行交易的发送者、接受者及数额。但是零知识证明之使用能否被GDPR认可,还尚无定论。
(三)匿名化加密算法
根据GDPR的陈述说明第26条,GDPR不涉及对匿名信息的处理,目前的问题是,现存的加密手段大都没有达到GDPR所要求的“匿名化”的程度。在未来,随着技术的发展和进步,笔者相信很快就会出现更先进的数据加密手段和个人数据的匿名化。这个愿景虽然不是短时间内可以实现的,但是也是值得我们考虑的解决区块链和GDPR之间矛盾的方式之一。值得关注的是,《关于匿名化技术的意见》已承认,在与必要的保护措施相结合的情况下,数据增加“噪声”可能是一种可接受的匿名技术。
(四)合同约定
另一个可行的解决方案是在与数据主体签署合同中进行明确说明:因区块链分布式存储技术本身的特殊性,删除数据在技术上将无法实现,并要求数据主体主动放弃其对存储在区块两上的个人数据的删除权,或赋予数据控制主体在链上永久存储个人信息的权利。在设置相应的合约条款时,应当明确对数据删除权的放弃将为永久的放弃,以及数据控制主体在链上存储个人信息的权利是永久的。否则在合约到期后,数据控制主体将依然要面临数据删除的问题。
六、结语
虽然GDPR刚刚推出,其滞后性已经相当明显,保护个人信息还是保护技术创新,这将是一个GDPR需要抉择的问题。在法律维度内,二者正面临着冲突,这种冲突的解决必然需要依赖于GDPR自身的修改和完善。笔者认为,对生效法律必然要严格须遵守,但是在法律的存在僵硬地抑制技术的发展的情况下,法律应作出必要的让步,积极对技术作出适当的引导,使技术服务于法律,更好地实现法律对个人信息的保护。
德国Max Planck创新与竞争研究院的高级研究员Michèle Finck表示:“使用区块链作为一种监管技术本身很有潜力,具体来说,就数据保护和数据主权的概念而言,我们看到了许多令人振奋的提议,即区块链技术如何能让个人对自己的数据有更多的控制权。”[5] 对于公有链,任何主体都可以无差别地成为链上的一个节点。然而,链上的数据存储是不依赖于任何中心管理者的,在公有链上,很难说谁才是信息的控制者,每个数据的所有者都有权控制自己的个人数据,及决定与谁去分享这些数据。巧合的是,这也正是GDPR的宗旨。在某种程度上,随着技术的成熟,分布式存储技术也能够帮助GDPR目的的实现,增强数据主体对自己的个人数据的控制。
目前的区块链项目和业务越来越从单一化向复杂化发展,对于某公司业务是否会涉及监管,我们显然无法下一个概括的定论,在错综复杂的架构设计和业务叠加中,稍不留心,某一个环节就可能会落入监管的雷区。本文仅对区块链数据存储与GDPR之间的关系进行一般性的探讨,在具体的实务操作中,企业和开发团队还需对每个案例进行独立的分析,积极寻求专业律师的建议。
领取专属 10元无门槛券
私享最新 技术干货