木星链 木星链
Ctrl+D收藏木星链
首页 > BTC > 正文

区块链:解决“百万富翁问题”—隐私比较高效算法解读

作者:

时间:1900/1/1 0:00:00

隐私比较是指在不暴露双方具体数值的前提下,获取双方数值的大小关系。最早起源于姚期智的百万富翁问题:有两个百万富翁想要比较下谁更富有,但是又不想透露自己有多少钱,如何在没有可信第三方的情况下进行比较?这个问题是由中国第一个也是目前为止唯一一个图灵奖获得者姚期智在1980年代提出的,他是中国计算机学术和教育的第一人,为现代密码学打开了一道新的大门。

在之前的文章《优雅的求职——隐私比较算法实例》中已经通过求职案例介绍了隐私比较的应用场景以及如何实现,本文则主要介绍一种在当前效率比较高的隐私比较协议。

该协议是CrypTFlow2:Practical2-PartySecureInference中提出的一个子协议,并基于此协议实现DRelu激活函数应用于神经网络中。

--相关技术--

该协议主要使用了布尔秘密分享和不经意传输两种技术进行构建:

▲?不经意传输

不经意传输(OT,ObliviousTransfer)是指数据发送方有n个数据,数据接收方接收其中的一个数据,且数据接收方不能获取其他的数据,数据发送方也不知道接收方选择接收的数据具体是哪一个。在之前的文章《基于安全多方计算(MPC)的隐私计算技术(一)》中已介绍过一种实现方案,故本文不再赘述。

V神发布旨在解决“大区块链”中心化和信任问题的路线图:12月6日,以太坊创始人V神(Vitalik Buterin)发布文章《Endgame(最后阶段)》。考虑到一般的“大区块链”,即非常高的区块频率、非常大的区块规模、每秒数千笔交易,但也高度中心化的区块链,V神称,至少按照其标准,如何才能使这样的链可接受的无需信任和抗审查?文章提出了一个合理的路线图:1.添加第二层质押,以进行分布式区块验证;2.引入欺诈证明或ZK-SNARK,让用户直接(且低成本地)检查区块有效性;3.引入数据可用性采样,让用户检查区块可用性;4.添加二级交易渠道以防止审查。对于以太坊Rollup的未来,V神表示,没有任何一个Rollup能成功地与大多数以太坊活动保持一致。相反,它们都以每秒几百笔交易的速度达到极限。我们得到一个以太坊的多Rollup的未来,即Cosmos的多链愿景,但是在一个提供数据可用性和共享安全性的基础层之上,用户可以依靠跨Rollup桥接在不同Rollup之间切换,而不需要支付主链上的高额费用。这一切可能需要数年时间才能实现。人们需要数年的改进和审计才能完全放心地将其资产存储在运行完整EVM的ZK-Rollup中,跨域MEV研究也仍处于起步阶段。但是,可扩展区块链的现实而光明的未来可能会出现,这一点看起来越来越清晰。[2021/12/7 12:55:20]

▲?布尔秘密分享

国内首家社区型食物银行利用区块链技术解决“余量月饼”问题:金色财经报道,上海长宁区组织了一场“余量月饼大改造”,旨在利用食物银行解决余量月饼问题。国内首家社区型食物银行上海绿洲公益发展中心利用区块链技术,建立起了庞大的食物信息数据库,确保每一份进入循环利用网络的食物都是安全可靠的,既避免了浪费,也惠及了困难户。(北京青年报)[2021/9/21 23:39:54]

在安全多方计算中会使用秘密分享将数据进行拆分后分享出去,每一方拿到每个数据的相应碎片,对于原始数据的计算逻辑都会转为对碎片的计算,在整个计算逻辑完成后,再将碎片的计算结果进行汇聚还原以获取原始数据的计算结果。

布尔秘密分享是指将一个布尔值b拆分成两个碎片b0、b1,将两个碎片汇聚到一起即可还原出原始数据b。

碎片生成:随机生成一个布尔值b0,并和b执行异或计算出b1=b0⊕b

碎片还原:对两个碎片执行异或操作

b=b0⊕b1

异或运算:布尔秘密分享在异或操作上是满足同态性质的,在本地通过对碎片进行异或操作再还原就等价于对原始数据的异或操作

a=a0⊕a1,b=b0⊕b1

中国网财经:区块链技术可解决“萝卜章”问题:7月1日,中国网财经刊文称,区块链技术具有解决“萝卜章”问题的先天性基因:不可篡改,可追溯,永不丢失的特性就是各种契约的刚需。如果建立一个大型的契约系统,把电子公章和电子签名的数据上链,并且在系统中通报,那么所有的造假印章将无所遁形。而要达到这个效果,需要区块链技术覆盖到实体经济的方方面面,形成大规模应用和区块链产业整体的发展。到那个时候,腾讯自己就能识别出“萝卜章”了,未来值得期待。[2020/7/2]

a⊕b=(a0⊕b0)⊕(a1⊕b1)

与运算:布尔秘密分享对于与操作不满足同态性质,使用不经意传输技术以实现安全的与操作:

Alice持有碎片a0和b0,Bob持有碎片a1和b1,通过与运算使得Alice获取c0,Bob获取c1,c0⊕c1=(a0⊕a1)∧(b0⊕b1),并保证双方碎片的安全;

Alice作为不经意传输的发送方,随机生成一个布尔值r作为c0,并按下图生成不经意传输的输入:

声音 | 专家建议用大数据+区块链解决“黑油”泛滥等问题:据人民网消息,对于非法成品油销售的安全、环保、税收流失等问题,中石油销售部门负责人以及、环保系统干部建议,用“区块链”思维构建炼油企业的“供应链”,将产、销、供、用黑油的企业、个人纳入征信体系,形成“黑名单”,最大限度形成威慑力。银保监会柳州监管分局局长吴剑认为,地炼企业、运输企业、仓储、零售终端及用油企业相互之间存在着很强的“网络结构”,通过区块链技术嵌入的方式,能够最大限度地覆盖产业链中的每一个环节,也就最大限度避免炼油企业偷逃税款的可能性。[2018/10/22]

Bob作为不经意传输的接收方将自己的碎片a1,b1拼接成a1||b1作为不经意传输的选择项获取数据r⊕((a0⊕a1)∧(b0⊕b1))作为c1;

可验证c0⊕c1=r⊕r⊕((a0⊕a1)∧(b0⊕b1))=(a0⊕a1)∧(b0⊕b1);

本质是将与运算的所有可能性罗列出来,加入随机项后由另一方根据自己的数据选择混淆后的计算结果。

--实现思路--?

▲明文比较

首先不考虑比较运算的隐私性,平常情况下两个数是如何比较大小的:

新华网发文:区块链可解决“诚信”这一环保监管的最大痛点:新华网今日发文《消不掉、改不了、藏不住——区块链能否成为环保监管的“终极武器”?》,针对“诚信”这一环保监管的最大痛点,一些业内专家近日表示,可以利用区块链技术公开透明、不可篡改等特点,提升环保数据的真实性和可追溯性,从而让企业的不良记录消不掉、改不了,违法行为藏不住。[2018/6/22]

将两个数对齐为相同长度的数字数组,长度不够的则在前面补0a=123,b=5879,a=>,b=>

对两个数组里面的数字进行顺序比较,如果对应位的数字相等,则继续比较下一位,直到有一位不相等,最早不相等那位的比较结果即为两个数据的比较结果,若所有位的数字都相等,则两个数据相等。整个过程可归纳为以下公式:X,Y都是长度为n的数据,1{X,满足大括号内条件时为1否则为0

X=x0||x1||x2||...||x(n-1),Y=y0||y1||y2||...||y(n-1),xi,yi表示拆分后的第i位数据

Xi=xi||...||x(n-1),Yi=yi||...||y(n-1),用于表示去除前i-1位后的数据

1{X(1{x0=y0}∧1{X1<Y1})

1{X1

...

1{X(n-1)

▲不安全的隐私比较

如果要将上述比较方案转为隐私比较,最容易想到的方案是将两个最小比较单位的数的比较隐私化,在之前的文章《优雅的求职——隐私比较算法实例》中已经介绍过:对于两个最小比较单位的比较可通过不经意传输协议来完成。这样确实是保证了单个最小比较单位的安全性,但是对于某些情况,会暴露出数据的一些情况:

a=1230?b=1231,对于这两个数字的比较,如果b作为ot的接受方也就是最小比较单元数据比较结果的获取方,按照上述方案进行比较,会有两点额外信息被泄露:

1)在前几位相同的情况下:b会知道a的前三位是123;

2)两个最小单元的数据是最小单元范围的两端数据:b会知道a的最后一位是0;

而根据以上两个信息b甚至可以直接反推出a的数据,在这种情况隐私比较也就不隐私了。

▲?消除不安全

本论文中的隐私比较协议,整个比较思路和上面不安全的隐私比较是一致的,但是该协议引入了秘密分享技术,在通过不经意传输协议获取比较结果时发送方对每个数据都混淆上一个随机项,这样双方都不会获取到最小比较单元数据的比较结果,而是比较结果的碎片,并使用碎片按照明文比较的流程递归的进行比较,所有最小比较单元都比较完成后,再将比较结果的碎片进行还原以获取整个数据的比较结果。

由于最小单元的比较结果都是碎片,到比较结束才会还原递归计算的结果,就避免了获取最小比较单元比较结果导致的信息泄露。

--协议流程--

Alice拥有数据x,Bob拥有数据y,数据的二进制长度为l,最小比较单元的二进制长度为m,划分的最小比较单元个数为q=l/m,最小比较单元的十进制最大值为M=2^m-1

1)双方分别划分数据:x=x0||...||x(q-1),y=y0||...||y(q-1)

2)对于所有的最小比较单元xi(0<=i通过不经意传输获取每个最小比较单元比较结果的碎片

Alice作为不经意传输的发送方准备数据:随机生成布尔值_0,_0,分别作为xi是否小于和等于yi的布尔分享碎片,对于0<=j<=M,分别设置两个不经意传输实例的输入为:sij=_0⊕1{xi

tij=_0⊕1{xi=j}

Bob将yi作为输入分别执行两个不经意传输实例,获取两个比较结果的碎片:例如当m取2时,Alice的第一个最小比较单元x0=2,Bob的第一个最小比较单元y0=1,Alice随机生成_0,_0,并按下表生成两个不经意传输的输入:

Bob使用y0作为两个不经意传输的选择项,获取:

_1=0⊕_0,_1=0⊕_0

3)所有最小比较单元比较完成后,双方都获取了对应的最小比较单元间是否小于和是否等于的布尔分享碎片,即可按照明文比较流程,使用碎片递推计算出最终比较结果的碎片。

对于碎片的异或操作,只需要进行本地对碎片进行异或就行。对于碎片的与操作,则需要按照上面介绍的方案通过不经意传输计算出结果的碎片。

在递推过程中主要有两个地方需要执行与操作:

当前面所有比较单元相等,需要比较下一个时:1{x0||x1=y0||y1}∧1{x2<y2}

计算前面所有比较单元是否都相等时:1{x0||x1=y0||y1}=1{x0=y0}∧1{x1=y1}

--总结--

该协议整体思路和明文的比较流程一致,并使用不经意传输和秘密分享技术保证数据的隐私性,也是当前效率比较高的协议。

对于单个元素的比较,与运算的OT实例,无法通过OT扩展进行优化,因为需要进行递归的计算,前后有依赖关系。对于批量元素的比较则可在纵向对于相同位置与运算的OT实例通过OT扩展来优化效率。

作者简介

刘敬趣链科技数据网格实验室BitXMesh团队

参考文献

原论文:RatheeD,RatheeM,KumarN,etal.CrypTFlow2:Practical2-partysecureinference//Proceedingsofthe2020ACMSIGSACConferenceonComputerandCommunicationsSecurity.2020:325-342.

标签:区块链ALIICEALICE区块链工程专业学什么女生Virtual Reality Game WorldICE价格alice币价格

BTC热门资讯
BLOC:什么是生成艺术NFT,Art Blocks为什么能持续霸榜?

作者|DADA编辑?|门人??运营|小石头9月2日Opensea最近交易数据显示,ArtBlocks截至目前的总交易额已突破233.8KETH,创下历史新高,交易者数量突破2万.

1900/1/1 0:00:00
DOD:慢雾:Punk Protocol被攻击因其CompoundModel合约Initialize函数未做重复初始化检查

据慢雾区消息,去中心化年金协议PunkProtocol在公平启动的过程中遭遇攻击,慢雾安全团队以简讯形式将攻击原理分享如下:1.攻击者调用CompoundModel合约的Initialize函数.

1900/1/1 0:00:00
USD:巴比特午间要闻一览

1.NBA球星库里以3.5ETH购入PudgyPenguin#62752.佳士得将于10月1日拍卖ArtBlocksCurated:Sets1-3.

1900/1/1 0:00:00
DAR:Dark Forest上手教程:带你踏上黑暗森林的宇宙征途

相信看过我们公众号文章《黑暗森林:一个将《三体》融入以太坊的区块链游戏》的伙伴都知道,DarkForest是一个基于零知识证明技术zkSNARKS所构建的去中心化实时战略游戏.

1900/1/1 0:00:00
元宇宙:格隆:元宇宙,人类最后的迁徙

作者丨电饭锅来源丨格隆1930年,牛津大学一位教授批卷时偶然在答题册中翻到一张白纸。这位昏昏欲睡的语言学大佬灵光一现,信手在纸上写下:Inaholeinthegroundtherelivedah.

1900/1/1 0:00:00
NFT:教程丨Loot仿盘没有前端,如何通过浏览器Mint NFT

以LootNFT风格为基础衍生出来的「仿盘」层出不穷,他们不但沿用了Loot以文本代替图片的形式,也沿用了免费通过智能合约开启Mint的方式。一时间让很多抱着「参与一下」想法的玩家摸不着头脑.

1900/1/1 0:00:00