独家| ChinaLedger白硕:区块链中的隐私保护

独家| ChinaLedger白硕:区块链中的隐私保护

隐私问题一直是区块链应用落地的障碍问题之一,如何既能满足监管,又能不侵害数据隐私,是行业都在攻克的问题。那么,到底隐私问题为何难?有什么解决思路,以及实践创新呢?零知识证明、同态加密等技术,又能否解决问题呢?裸数据交易应如何控制?

雷锋网AI金融评论报道,在5月11日由北京国家会计学院主办,区块链初创公司灵钛科技,能源区块链实验室,众安科技、新加坡第三方支付公司Omise协办的 “区块链在中国的应用与产业发展主题论坛” 上,Chinaledger技术委员会主任白硕老师围绕“区块链中的隐私保护”的主题进行了讲述。

白硕老师,现为Chinaledger技术委员会主任,先后就读于清华大学、北京大学,1990年获得理学博士,曾任中科院计算所研究员、博士生导师,软件方面首席科学家,2002年起任上海证券交易所总工程师。

据雷锋网(公众号:雷锋网)AI金融评论现场了解,演讲上,白硕老师除了介绍了Chinaledger提出的基于中央对手方案,也对其他方案进行了拆解分析。他认为,在区块链隐私问题上,目前技术的发展程度对隐私的保护还很差,但也不能认为这就是区块链的固有局限,它还有可以改进的空间。

隐私保护是很重要的,而且有现实的需求;如果说马上就要实现,等不得那些非常完美的方案,就要兼顾隐私强度和去中心化的程度,根据自身的应用场景找一个适当的平衡。隐私保护可以为区块链进一步赋能,保护区块链落地;同时可以把密码技术加上区块链在一起,加上原有的大数据,实现大数据的互通有无,催生化学反应和增值。


因此,从途径看,长治久安型的理想的解决方案确实要抓紧研究,尤其是我们的密码学界和区块链跟落地直接相关,和跟技术、商业直接相关的这两方要加快对接。此外短平快的解决方案能落地的也要尽快落地,大家要认清楚什么是可以牺牲的,什么是不能牺牲的,在里边找一个适合自身的方案。

以下是白硕老师演讲原文,雷锋网AI金融评论做了不改变原意的编辑:

原来是很多单位各记各的账,但是这个账本之间是有关联的,如果上了链,大家就可以记同一本账,这个逻辑上就集中了。然而,记这本账的物理位置是分散的,但机器之间还要互相达成共识。所以,集中是逻辑的集中,分散是主宰权的分散。

但是,大家都记一本账的场景之下就会出现一个问题:现金是私人的领域,包括其他区块链上记载的信息,也都需要隐私保护。而关于这个问题业界存在一些误解,其中是两种互相矛盾的说法:一个说法是公开透明的,一个说法是区块链是匿名的,但是这个匿名只有地址是匿名的,而账目是公开透明的。但是,区块链只能是这样了吗?其实不是,还可以改进;另一个是说区块链隐私保护已经很好了?也不是,在这个问题上隐私保护还很差。

隐私问题从何而来

账户

我们具体说账户:

  • 一个账户由地址来标定,而一个地址的身份同一性无法掩盖——这次用这个地址,下次用这个地址,当然长时间跨度,一个地址可能会转给另一个人,但是在一段确定的时间范围内,这个地址是同一个身份的人在用,这个无法掩盖。

  • 另外不同地址之间如果出现稳定的关联交易,也是无法掩盖的,还是有痕迹可以寻找。

  • 第三,不同的地址之间还有一些趋同交易,就是一个人有个人的手法、有个人的密码,或者说像指纹一类的验证信息,体现在人的交易行为中。这些交易行为如果出现趋同性,那是这个人不自觉留下的,也是无法掩盖。

正因为有这些无法掩盖的东西,看起来账户是匿名的,但是依然抵抗不了强监管。

账目

对于账目问题,行业在往两个方向使劲:一个是往右,就是去中心化,指集体见证——我希望你是公开透明的,一公开透明就可以集体见证。但是另一方面,无论是法律法规的要求还是个人隐私权利的要求,还是几个人私下之间做一件事,希望无关人士回避等这样的要求,都要求这目不对无关的人开放。但是这样就出现一个问题——不开放怎么集体见证?

这看起来好像是矛盾的,但是这个矛盾是可以通过高级的技术来化解。

不同区块链模型的解决方法和矛盾

首先我们要区分两种见证:

独家| ChinaLedger白硕:区块链中的隐私保护

  • 一种是所谓的事件的时序或者时间顺序的见证。区块链提供了时间先后顺序不可更改的确定的时序,通过一种集体见证的方式在区块链上得到见证。

  • 同时还有所谓有效支付的见证,比如要防止双花、透支、出负,这些工作在不同的区块链模型下有不同的解决方法。

独家| ChinaLedger白硕:区块链中的隐私保护

UTXO模型

UTXO模型,比如这样的场景:一张一张的支票,每个支票上有不同的面额,在支付的时候要把面额的总额和将要支付的标的进行比较,只有当总额大于标的的时候,支付才有效。余额模型会把这些都合并出余额,把历史上收到的些钱汇聚成一个总的余额,这个余额和你将要支付的标的之间也要进行比较。

这两件事情,在比特币也好、以太坊也好,是通过一个环节完成的,但是实际上是两件事情。在保护隐私的时候,其实就是希望还要对事件的顺序,对有效支付都要有一个见证,但是有效支付的见证提出了更高的要求——我不看见这些具体的值,时间顺序好像没有什么问题,加了密,它是这个时间发生的,我仍然可以确认它是这个时间发生的。

独家| ChinaLedger白硕:区块链中的隐私保护

但有效支付这个要求是有问题的——在看不见这些数额的时候,我又要确定谁比谁大;而如果我看见了,那隐私就泄露了。又不要让人看见,又要确定谁比谁大,这比较难处理。我们可以把目前看到的一些解决隐私问题的技术投影到一个二维平面,这个二维平面其中一个坐标讲的是隐私性本身的强和弱,另一个坐标讲的是去中心化程度的强和弱,就是弱中心化和强中心化。

独家| ChinaLedger白硕:区块链中的隐私保护

按照这样的划法,我们就看到直线区分出两个集团。线的右上角是比较完美的,它能够彻底地或者说理想地去解决刚才说的这个问题——在不见到数额的情况下去做见证。而线的左下方采用的这样一些技术,其实它是有所牺牲的,要么牺牲了去中心化的特点,要么牺牲了隐私强度的特点,它可能去中心化做得很好,但是只能保证很弱程度的隐私保护,再强就保护不了了。要么是隐私保护得很好,但是去中心化特点没有办法完美地保证。

而在这个线的底下,我们看到一种马上可用,但是是牺牲了一些东西的方法。而在这个右上方,我们看到的是理想的,两边都不牺牲的,但技术上还没有成熟的方法——它们在实现当中效率等各方面还达不到实用,或者很少有能达到实用。所以是尺有所长、寸有所短。

零知识证明

独家| ChinaLedger白硕:区块链中的隐私保护

这里是零知识证明:

S先生、M先生、P先生,M先生是一个中间人,他出题,想了两个数,这两个数都是100以内的整数,然后把这两个数加起来的和告诉了S先生,把两个数的积告诉了P先生,然后我们就听到了对话。S先生说我不知道A、B是多少;P先生说,我知道你不知道,我也不知道;S先生说,现在我知道了;P先生说,现在我也知道了。

假定诸位是旁边的旁观者U先生,听到了他们的对话,如果没有强大的数学知识,你会说我也知道了。整个这个过程看起来是不知道A、B是多少,但是这个过程已经不是零知识交互了,对这个状态有所泄露,P先生说这个话又进一步有所泄露,而一来一去大家都知道了。

独家| ChinaLedger白硕:区块链中的隐私保护

这是一个数独的题目,有人已经做出来了,他声称做出来了,但是又不想让人知道是怎么解的,怎么办呢?大家就可以交互,因为数独要满足行、列加起来,都是1-9不重复。这样的特性可以把翻过来的纸片拿下来洗牌,洗完牌以后再翻开给大家看是不是1-9。每出示一个新的行、列或者小块,大家对他解出来这个事情就多了一份信任。这就是零知识交互的过程,在整个过程当中,他没有泄露任何跟他解法有关的东西,只是把结果告诉大家。

独家| ChinaLedger白硕:区块链中的隐私保护

采用这个原理做的,大家比较熟悉的就是去年年底上线的ZCash。ZCash的原理是非交互式的零知识证明——一次性出示一个证明,而对方拿到这个东西可以一次性验证,不需要再交互。我们可以把这个过程分成三个区域,底下的是用户自己收到的支票,中间黄颜色的是当前这笔交易,我们看到一般的交易只有三要素,就是谁给谁多少钱,发放方的地址、接收方的地址和转账的数额。

但是ZCash就多了一个要素,就是零知识证明的信息。这个信息可以证明,虚线的最上面那个区域就是无关方面,他们又要代记账,需要为你背书,又不知道谁给谁转了多少钱;但是这个零知识证明的信息传上来了,可以验证够不够支付。

基于零知识证明这个比较高深的密码学原理,就能够验证你是否足够完成本次支付。这种方法在不泄露本次转账的金额、发送方、接收方的地址,也不泄露之前的支票发送方、接收方的地址的情况下,就能够做出是有效支付还是无效支付的判断。对于有效的支付,他们就可以从挖矿的角度给予确认。

同态加密

除了零知识证明,还有一个叫同态加密,我们可以看成在A和B之间存在一种数学运算——进行了这个数学运算就可以得到一个结果C,相关方看到的都是明文,但是无关方不需要看见A,也不希望看见B,也不希望看见C;如果等于C,就知道这个转账的来往,从而确认。因为价值是守恒的,等式要成立。

独家| ChinaLedger白硕:区块链中的隐私保护

同态加密想的办法是做变换,把A、B、C变成FA、FB、FC,然后A和B之间的运算变成FA和FB之间的另外一种运算。但是这种运算是所谓同态映射,同态映射能够做到先运算后加密和先加密后运算结果是一样的。

有这个保证,我们就可不管用户转了多少钱,只需知道账是平(守恒)的,映射完后价值没多没少,之间是如何分配不用管,这就是同态加密的方法。

Chinaledger提出基于中央对手的方案

Chinaledger提出了基于中央对手的方案,这个方案分成A链和B链,事件时序的见证在一条链上,而有效支付的见证在另外一条链上。这个实践顺序加密提交,提交为CCP——中央对手方,由中央对手方来解密、检验签名、检验余额,如果是有效就实现过户,然后加密再回去。

独家| ChinaLedger白硕:区块链中的隐私保护

也就是说,时间顺序在A链上进行了背书,而交易的有效性在B链上进行了背书,但是B链上并不是所有的参与者,而只是法律上大家赋予了它这个职能的中央对手方。而中央对手方方案显然有中心化色彩。所以结果是中心化色彩很强,但是隐私保护也很强。

独家| ChinaLedger白硕:区块链中的隐私保护

但是为了防止CCP本身去做坏事,还可以在B链上设置监管用户——监管用户既可以看到A链,也可以看到B链,只要CCP和监管方不是共谋的,那么监管方还可以把CCP的所有事情再检验一遍,这个就是Chinaledger的方案。

以太坊基于State channel的隐私保护方案

独家| ChinaLedger白硕:区块链中的隐私保护

以太坊社区也提出了一个基于State channel的隐私保护方案:

一个账本统一打一笔钱到智能合约里,智能合约实现加密,中间的明细怎么改变价值最终的版本等外边是看不见的;等到最后交易完成,再把结果显回到基础上。所以中间过程部分的隐私是保护了,但是总额进来多少、出去多少,这些保护不了。

基于Tear-off的隐私保护方案

独家| ChinaLedger白硕:区块链中的隐私保护

这个是基于Tear-off的隐私保护方案,相当于撕去敏感信息的盲签名,对敏感信息和非敏感信息进行分组,让敏感信息不出现。这样的话相关人能看见敏感信息,也能看见上边的,无关人只能看见上边的。这种方案一定程度能保护隐私,比如交易的有效性,就需要敏感信息,而敏感信息是看不见的,交易的有效性在无关人就没有办法做背书,只能由相关人做背书。

所以,这就引进了公证人这样的角色——公证人属于相关人,能够接收到敏感信息,所以能够对交易的有效性进行验证,但是公证人又不同于交易双方,Chinaledger做的就是基于CCP的公正,其实道理是相同的。

现存大数据交易方案存在哪些弊端?

裸数据交易的痛点

区块链上价值是守恒的,也知道数据是不守恒的,很低的成本就可以拷贝。裸数据交易其实有很多的痛点,大家都觉得这是不可行的。

  • 首先,卖出去的数据就像泼出去的水,一扩散出去就别想控制它向更远的地方扩散了。

  • 还有数据的权属问题,有没有权利卖?它是在经营过程当中形成的,但是数据的所有者可能不是你。举个例子,病历是病人在医院看病的过程当中形成的,但是病历的所有者是病人,不是医院,医院没有权利卖这些数据。

  • 还有是泄密。不是所有数据都可以卖,有些数据很敏感,卖出去以后是泄露别人的秘密。

  • 但是不卖的话,数据在自己手里能够带来的价值又很有限,所以卖也不是,不卖也不是。

不卖裸数据,而卖数据API ?

那么,如果不卖裸数据,而卖数据API的使用权,就是卖一种服务行不行?但这遇到两个问题:

  • 第一个是拖库,我卖的是f(x);再一个是计量记账的问题,用了多少次这个数据,没有公认的计量的话就说不清楚。当然也有好处,反正这个x是没拿走的,只是卖一个f(x),那个x不是自己的也没关系,只是卖一种服务。

  • 另外一种可能是以物易物。给别人开放一个接口,别人也给我开放一个接口,但问题是:使用权是不是成立?

智能合约:暴露了场景和接口,后果不堪设想

智能合约也有一个问题,就是智能合约资源的控制——资源的使用是花费的。智能合约有一个GAS的概念,举一个场景的例子:大家各自拥有自己的数据,X和Y是不曝露出来的,而曝露出来的是场景和接口,输出的是服务——这些服务在用户使用的时候,实际上可以用区块链进行计量,那么交易明细实际上可以直接跟付费挂钩,银行可以直接转走这个付费,也可以在区块链使用代币来进行支付,这样区块链大数据的使用就完蛋了。

独家| ChinaLedger白硕:区块链中的隐私保护

数据单独的使用价值有限,而不同领域的数据一旦实现关联,可能就会出现化学反应,从而给数据带来增值。所以我们看到三个空间,自己的数据放在封闭空间里,然后经过接口曝露,放出来的服务数据在开放空间里,而这个数据的化学反应是在增值空间里。

背靠背求交集

背靠背求交集,这是一种竞合关系,两方又要同时跟对方共享两个集合的交集,但是又不想对方看到这个全集。这个曾经有一个不靠谱的做法,就是引入第三方——为了求交集,第三方拿到了并集——第三方太便宜了,我们可能还要给他付费,而付费还不便宜,这样的做法很危险。

也有一些没面子的做法,实在是没有技术手段了才这么办?大家带着盘到现场,紧盯着对方操作,操作完了以后看着对方把硬盘砸掉。

都用哈希?

如果大家都用哈希怎么样呢?也不行,如果一方老实地把自己的集合拿出来;不老实的一方,把电话号码做一个全集,一求交集就把你的数据拿出来了。也可以穷举,这个也是不灵的。

那怎么办?解决的途径是混淆,通过混淆能够实现背靠背求交集,自己不曝露自己的全集,而且一方面想拿到另一方的全集——事实上这样计算上付出的代价也很大,实际上是不可能的一件事情,这样给大家背靠背求交集带来了一种希望。

结论

  • 隐私保护是很重要的,而且有现实的需求;如果说马上就要实现,等不得那些非常完美的方案,就要兼顾隐私强度和去中心化的程度,根据自己的应用场景找一个适当的平衡。

  • 从途径看,长治久安型的理想的解决方案确实要抓紧研究,尤其是我们的密码学界和区块链跟落地直接相关,和跟技术、商业直接相关的这两方要加快对接。此外短平快的解决方案能落地的也要尽快落地,大家要认清楚什么是可以牺牲的,什么是不能牺牲的,在其中找一个适合自己的方案。

  • 隐私保护可以为这个区块链进一步的赋能,在一些如果没有隐私保护区块链就没有办法落地的场景上,保护区块链落地;隐私保护也可以为大数据护航,把密码技术加上区块链,加上原有的大数据,从而实现大数据的互通有无,实现化学反应和增值。

本文作者:温晓桦
本文转自雷锋网禁止二次转载,原文链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455995.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机处理器排行榜2019_手机处理器AI性能排行榜出炉,高通骁龙第一,华为排在第十名...

↑↑↑击上方"蓝字"关注,每天推送最新科技新闻安兔兔在近日公布了今年四月份Android手机处理器AI性能排行榜,榜单显示高通骁龙865处理器的AI性能在Android阵营中排在第一名——该处理器的AI性能得分接近46万分,今年的小米10、三星G…

芯片支持的且会被用到的H.264特性 预测编码基本原理

视频压缩: 1.H.264基本档次和主要档次;2.CAVLC熵编码,即基于上下文的自适应变长编码;(不支持CABAC,即基于上下文的自适应算术编码)分辨率:仅用到1080p60,即分辨率为1920*…

MongoDB 数据库 【总结笔记】

一、MongoDB 概念解析 什么是MongoDB? ​ 1、MongoDB是有C语言编写的,是一个基于分布式文件存储的开源数据库系统,在高负载的情况下,添加更多节点,可以保证服务器的性能 ​ 2、MongoDB为web应用提供了高性能的数据存储…

PHP 函数截图 哈哈哈

转载于:https://www.cnblogs.com/bootoo/p/6714676.html

2016年光伏电站交易和融资的十大猜想

1领跑者计划备受关注,竞价上网或从试点开始 领跑者计划规模大,上网条件好,又有政府背书,虽说价格也不便宜,但省去很多隐性成本,对于致力于规模化发展的大型企业来说仍是首要选择。同时,从能源管…

loading gif 透明_搞笑GIF:有这样的女朋友下班哪里都不想去

原标题:搞笑GIF:有这样的女朋友下班哪里都不想去这样的广场舞看着不凉快吗?大哥慢点,机器经受不住你这样的速度求孩子的心里阴影面积生孩子就是用来玩的。有这样的媳妇做饭,下班哪里也不想去1.领导在门外用门夹核桃&am…

eigen库安装_OpenCV+Eigen上位机程序移植(七十一)

1、给硬盘分区现在小伙伴们对于给电脑硬盘分区想必比较头疼,给电脑硬盘分区分为两种情况,一是在安装系统之前给系统硬盘分区,二是在安装系统之后给硬盘分区,我们现在购买的品牌机和笔记本的用户比较多,而且笔记本和品牌…

【实战操作】使用FFmpeg将一个视频文件中音频合成到另一个视频中 只需三秒

直接进入主题 主要参数: -i——设置输入文件名。-f——设置输出格式。-y——若输出文件已存在时则覆盖文件。-fs——超过指定的文件大小时则结束转换。-t——指定输出文件的持续时间,以秒为单位。-ss——从指定时间开始转换,以秒为单位。-t从…

苹果依旧强大 物联网领域举足轻重

近几天科技界最火爆的话题就是苹果和谷歌两家公司,一是苹果发布财报,二是谷歌人工智能围棋战胜欧洲冠军以及谷歌母公司Alphabet或将超越苹果,成为世界上市值最大的公司。而在我眼里,未来五年内依然属于苹果。回顾下苹果公司公布的…

linux之SQL语句简明教程---SUBSTRING

SQL 中的 substring 函数是用来抓出一个栏位资料中的当中一部分。这个函数的名称在不同的资料库中不全然一样: MySQL: SUBSTR( ), SUBSTRING( )Oracle: SUBSTR( )SQL Server: SUBSTRING( )最经常使用到的方式例如以下 (在这里我们用 SUBSTR( ) 为例): SU…

listview 每行后面的小箭头_主卧带小衣帽装修,这几个装修方案,你喜欢哪个?...

南京装修交流圈 - 知乎​www.zhihu.com现在大部分人购买的房子面积还是普遍偏小的,每行每业都有自己的服装讲究,不同的场地、见不同的人等等。家中能有一个衣帽间自然也就是心中所向往和追求的。能够有独立的一个房间来做衣帽间当然更好,今天…

【养成好习惯】使用pipreqs导出本项目使用的环境

pipreqs pipreqs可以帮你找到当前项目的所有组件及其版本。就是当别人给你一个程序的时候,你要在自己电脑上运行起来,就需要安装程序所依赖的组件,总不能自己一个一个找吧。 # 安装 pip install -i https://pypi.tuna.tsinghua.edu.cn/simpl…

开放医疗交通大数据技术 服务于公共便民领域

孙丕恕还建议,交通拥堵的数据也可以开放,孙丕恕介绍,目前已有导航软件有部分数据,但还有些滞后,如果能够做到实时更新数据,那么也可以为出行者避开拥堵,节约时间。此外,如果二手车的…

【Tensorflow】基于卷积神经网络实现车牌的识别

引言: 过去几周我一直在涉足深度学习领域,尤其是卷积神经网络模型。最近,谷歌围绕街景多位数字识别技术发布了一篇不错的paper。该文章描述了一个用于提取街景门牌号的单个端到端神经网络系统。然后,作者阐述了基于同样的网络结构…

脚本启动显示查询频繁被服务器防御_面对CC攻击,该如何进行防御

网站被攻击是一件十分让人恼火的事情,不仅仅是让网站速度变慢、访问异常,导致用户体验变差,用户大量流失,而且还会导致网站关键词排名下降甚至被降权,极大干扰了网站的正常稳定运行。那面对CC攻击,该如何进…

PAT甲题题解-1011. World Cup Betting (20)-误导人的水题。。。

题目不严谨啊啊啊啊式子算出来结果是37.975样例输出的是37.98我以为是四舍五入的啊啊啊&#xff0c;所以最后输出的是sum0.005结果告诉我全部错误啊结果直接保留两位小数就可以了啊啊啊啊 水题也不要这么坑人啊啊啊啊 #include <iostream> #include <algorithm> #i…

【Django】文件上传以及celery的使用

上传文件、异步、初始化脚本 面试题&#xff1a; 项目中的静态文件处理&#xff08;JS/CSS/image&#xff09; 自己在机房内优化的方法&#xff1a;1. Nginx/lighttpd(lighty-douban)&#xff1a;Nginx 处理静态资源速度非常快&#xff0c;并且自身还带有缓存。2. 80: Nginx -&…

Android 查看每个应用的最大可用内存

http://blog.csdn.net/vshuang/article/details/39647167 Android 内存管理 &Memory Leak & OOM 分析 单个应用可用的最大内存 Android设备出厂以后&#xff0c;java虚拟机对单个应用的最大内存分配就确定下来了&#xff0c;超出这个值就会OOM。这个属性值是定义在…

分析一段H264视频数据

分析一段H264视频数据 Posted on 2007-05-31 09:42 vcommon 阅读(1968) 评论(8) 编辑 收藏 引用 分析 00 00 00 01 67 42 00 1E 99 A0 B1 31 00 00 00 01 H264的数据流分为两种&#xff0c;一种是NAL UNIT stream(RTP),一种是 bits stream, 两者可以互相转换。我们分析的这个…

springboot springmvc mybatis_12道重点的Spring Boot面试题,帮你整理好了!

今天跟大家分享下SpringBoot常见面试题的知识。最新2020整理收集的一些面试题&#xff08;都整理成文档&#xff09;&#xff0c;有很多干货&#xff0c;包含mysql&#xff0c;netty&#xff0c;spring&#xff0c;线程&#xff0c;spring cloud等详细讲解&#xff0c;也有详细…