DREP小龙 | 数字ID,如何推动区块链下一波浪潮(上)

我们在互联网上“被”拥有很多个身份。每个网站或者App都希望你注册它们,于是你不得不多出了若干个用户名和密码。据GlobalWebIndex在2017年统计显示,一个人平均拥有7-6个账户,不过你可以看看手机上App的数目,一般是只多不少。

很多人嫌这些用户名和密码难以记忆,从而将相同的用户名密码用在多个应用。这确实方便了使用,但在撞库事件频繁的现在,非常不安全:只要安全性最差的数据库被攻破,原本安全的账户信息也不再安全。采用常见字段作为密码的账户则更不安全,黑客在撞库成功后很容易通过保存的个人信息刻画社工群肖像,有不小可能性猜出安全账户的密码。为此,各国政府需要付出大量资金以预防或挽救:

源:2017 Global CODB Report by IBM

到2018年,全球因数据泄露需要付出38.6亿美元的高昂代价。值得注意的是,各个企业、政府部门和网站分别拥有你的个人信息,但实际上它们形成了一个个数据孤岛,很多信息是重复而低效的,大量冗余数据的保存增加了泄露造成危害的同时,更加精确的肖像刻画由于关键数据缺少或未被深度联合分析而受阻。与此同时,个人数据被贩卖给第三方的情况屡见不鲜。今年爆出的“Facebook泄密门”事件已经证明中心化机构想泄露个人信息是很难及时得知的。

凡此种种,都可以归结为以下几点:

  • 中心化机制不仅造成了孤岛,同时还会滋生隐私泄露等违法行为。

  • 单点崩溃在孤岛上更加容易发生也更加危险。

  • 个人缺乏具有安全性同时便于使用的ID方案。

对这方面的探索与解决方案,目前比较彻底的思路是去中心化数字ID技术。

数字ID技术其实很简单,赋予一个实体以ID,这个ID应该是唯一而不可溯源的。分布式ID的出现已有超过20年时间,有UID、snowflake和ObjectID等方法可用。

区块链由于采用Hash函数作为密码学安全基础,而Hash值正有不可溯源性、强抗碰撞性等诸多ID需要的特性,于是一拍即合,将身份上链,自然就会有独一无二的数字ID。相比于上述方法,Hash的分布随机性与唯一性无疑是最佳的,而且溯源极其困难。

不过整个事情没有这么简单,去中心化数字ID已经远远超出数字ID的范畴。我的理解,去中心化数字ID应该具有以下特征:

  • 全过程去中心化,指不仅生成过程的分布化,其数据的使用过程也是去中心化。

  • 不仅是简单的ID等数据,可以将更多的个人数据进行去中心化存储。

  • 可以通过数字ID对各项个人信息进行互动与管理。

很明显,单纯赋予一个Hash并不能解决上面提到的种种特性

问题一:安全与权限控制

这是所有数字ID项目必须面对和解决的问题,如果数据的安全性不能保证,那么就不可能有应用空间。区块链本身具有不可篡改性,上链的个人信息不会被轻易增加删除与篡改。但区块链仍然有多种攻击方法需要应对。

Nothing-at-stake攻击

在数字ID项目中,消耗巨大的PoW系挖矿并不被支持,更多采用的是PoS或者PBFT系共识。这些共识都存在一个问题:可以从过去的区块进行挖矿,来延伸出一条比现有链更长的链,来将写入的个人信息进行篡改或者非法获取。

Sybil攻击

由于KYC的成本巨大,在公链数字ID项目中,产生虚假用户进行攻击变得可取,造成的破坏也更大。部分项目采用的是PBFT,PBFT对Sybil攻击的抵御不存在天生的防御机制(不像PoW挖矿过程自动排除了伪造ID夺取记账权的可能性)这个问题显得更加严峻。PoS共识一样可以抵御Sybil攻击,但因为容易造成贫富差距拉大,话语权落到少量持有大量筹码的人手中而不符合数字ID公平性普惠性的预期。

 智能合约漏洞攻击

数字ID的相关授权很多都需要智能合约作为基础,而ERC20等智能合约并不是天衣无缝,如果没有对智能合约进行安全检测,对其漏洞进行事先防护,造成的后果将十分恶劣。报告表明目前已知智能合约漏洞可能多达数千个。

如果是自主开发智能合约,还存在代码注入等问题。由于人力的限制,在经过长期验证之前一般都会有难以发现的bug,在bug爆发之前很难预测bug造成的危害范围与后果。

问题二:数据保护

个人隐私保护是数字ID技术的重中之重,它大致分为两个方面:数据调用过程中的隐私保护和数据处理过程的脱敏保护。

数据调用的过程中,由于区块链本身只是伪匿名性(或者说只有化身),对于身份经常调用的人/可能重要的人,其数据很可能会受到监听,导致数据的泄露。

除此之外,一个现实的事情在于,双方提供的信息,往往为了保证数据的可靠性而造成数据提供的冗余,这也在一定程度上泄露了信息。举个例子,提供身份证验证ID的时候实际上地址往往是不需要提供的信息,这就造成了居住地的泄露——虽然一般不会造成问题。

为此,常见两种思路:一是零知识证明,二是环签名。零知识证明可以解决多余数据泄露的问题,而环签名则在概率上减少了身份泄露的问题。

零知识证明的概念比较拗口,简要来说:

  • 正确的事实总有极大概率被证实。

  • 错误的事实仅有极小概率能成功蒙骗。

  • 除了事实的对错,其他一无所知。



     

在区块链中的应用目前有两种:一是zk-SNARK,利用zk-SNARk可以保证在验证过程中,验证者除了知道证明者的陈述是正确有效的,不能学习到任何关于该论述的内容,同时不需要反复交互。二是Bulletproof,与SNARKs或STARKs相当,不过它们原生支持椭圆曲线。此外,与SNARK不同的是,Bulletproofs在典型的计算机硬件上足以快速证明和验证合理大小的问题。

环签名相对简单,每次将发送者的地址和其他人的地址通过公钥进行混合,构造一个多重签名,以这个多重签名进行数据获取。环签名的意思来源于将多个地址构造成环状结构进行签名而得。环签名可以将监听者所需要监听的目标群体扩大,从而大大降低猜出真正发送者的概率。当然,环签名还存在合约付gas的真正付费者问题。

问题三:隐私数据脱敏

数据脱敏这个问题在现实中就存在。很多地方对个人信息进行打*处理,但打得不好或者将相似人员列在一起时可以从中窥测出不该公开的信息,这就是数据没有成功脱敏。数据脱敏的目的是去掉暴露信息和模糊可能会导致暴露的信息,通常的方法是归类和压缩。

对于大型数据库,常见k-anonymity、l-diversity和t-closeness。T隐私方法效果最佳,但定义t难度较大,前两者往往还是有隐私暴露的威胁,但相对容易实现。

近年来出现的新方法是差分隐私。差分隐私是一种比较强的隐私保护技术,满足差分隐私的数据集能够抵抗任何对隐私数据的分析,因为它具有信息论意义上的安全性。

差分隐私的目标是这个问题:1个人的数据因受到保护而无法得知,但通过获取50个人和除目标外其余49人的数据,将两者进行差分处理就得到目标数据。在差分隐私之下,由于适当噪音的存在,50个人和49个人的数据差别将无法得出,从而保护了单一目标数据的安全。不过现阶段差分隐私还需要技术实用化的推进。

问题四:存储结构与成本

存储结构的问题在这些问题中是最简单的,因为区块链本身就可以给出一个存储数据的区块结构。不过对于扩展数字ID(即不只是基础信息,还将大量个人信息均保存在一个ID下,列为子项)的情况,仍然需要专门的存储结构。

BTC的PoW挖矿机制天生不适合数字ID这类需要普惠性的项目,同时交易费用之高导致即使数据存储在交易附加字段中也无法接受——每条信息20美元。ETH确实能提供相应的存储资源,但高昂的gas和有限的TPS导致它无法承担大量数字ID数据的上传需求。中心化存储机制的成本固然较低,不过它还算去中心化数字ID么?更重要的是如果数据库被攻击,那和其他中心化数字ID并无本质区别。如果不找到足够廉价而安全的去中心化存储平台,那么去中心化数字ID项目将成为无本之木。

去中心化存储

一般的去中心化存储有IPFS、SIA和Storj等项目。它们都有一个特点:矿工提供存储空间来挖矿,提供给用户的空间费用很低

采用去中心化存储最重要的原因是通常的Http域名中文件存在隶属于域名。网站数据库搬家或者网站关停都会直接导致文件损失。同时中心化服务器存在带宽限制,在大量需求下显得捉襟见肘。服务器本身也易被攻击。

SIA和Storj更接近应用层面,可以看作区块链+BitTorrent。数据在付费后切片存储于矿工提供的云端硬盘上,以Hash值进行标记,并保存若干份。这样数据即使受到攻击也能恢复,同时P2P网络在需求越大下速度越快,能够突破中心服务器。

而IPFS则是偏向基础层面,希望替代Http作为新一代超媒体交互协议。它将GitBitTorrent SFS和DHT等多种功能集成并组合成一个整体系统。

特别值得一提的是DHT,分布式Hash表。Kademlia作为一个成熟的DHT,可以将数据的Hash异或处理后构建一棵树,使查询效率提高到O(logn)。S/Kademlia则加强了对Sybil攻击的抵抗力,同时提高诚实节点间的连接效率。这不仅用于IPFS,数字ID的存储也可以采用类似架构。

To be continued

动态回顾

扫描二维码,添加官方微信小助手

DREP_Foundation(小助手)

输入链接,了解更多DREP官方资讯

官网: www.drep.org

Medium: bit.ly/2sAtSqS

Linkedin: bit.ly/2sygh3r

Twitter: bit.ly/2JaGWL0

Telegram中文社区:https://t.me/drep_china

Telegram全球社区:https://t.me/drep_foundation

Steemit: bit.ly/2lEH8rD

Reddit: bit.ly/2yShJEh

新浪微博: http://weibo.com/u/6611430468

猜你喜欢

转载自blog.csdn.net/drep_foundation/article/details/84070992