宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > DOT > 正文

Vitalik:混淆电路(Garbled circuits)快速入门

作者:

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

注:原文作者是以太坊联合创始人VitalikButerin。

特别感谢DankradFeist对本文进行的审阅工作。

混淆电路是一种非常古老,且非常简单的密码学原语。它们很可能是通用“多方计算”的最简单形式。

以下是该方案的常规设置:

假设存在两方,爱丽丝和鲍勃,他们想要计算一些函数f(alice_inputs,bob_inputs),这需要从双方那获取输入。爱丽丝和鲍勃都想知道计算函数f的结果,但是爱丽丝不想鲍勃知道她的输入,而鲍勃则不想爱丽丝知道他的输入。理想情况下,除了f的输出外,他们都不会得知任何其它东西。

爱丽丝执行特殊的过程来加密评估函数f的电路。她将输入传递给鲍勃。

鲍勃使用一种称为“1-of-2茫然传输”的技术来学习自己输入的加密形式,而不让爱丽丝知道他获得了哪些输入。

鲍勃在加密数据上运行加密电路,得到答案,并将其传递给爱丽丝。

额外的密码学封装可用于保护该方案,以防止爱丽丝和鲍勃发送错误的信息并互相给出错误的答案。为了简单起见,我们不会讨论这些问题,尽管可以说“把ZK-SNARK封装在所有东西上”是其中之一有效的解决方案。

Vitalik:以太坊需要改进的不仅是协议的功能,需要对应用程序和钱包进行深度改变:金色财经报道,以太坊创始人Vitalik Buterin发布《The Three Transitions》文章。Vitalik称,当以太坊从一个年轻的实验性技术过渡到一个成熟的技术栈,能够真正为普通用户带来开放、全球和无需许可的体验,堆栈需要大致同时经历三个主要的技术过渡:向L2扩展过渡,每个人都转向Rollup;向钱包安全过渡,每个人都使用智能合约钱包;向隐私过渡,确保保护隐私的资金转移可行。

由于上述原因,这三个转变至关重要。但它们也具有挑战性,因为要妥善解决这些问题需要密切协调。需要改进的不仅是协议的功能;在某些情况下,我们与以太坊交互的方式需要从根本上改变,需要对应用程序和钱包进行深度的改变。[2023/6/9 21:27:01]

那基本方案如何运作呢?让我们从电路开始:

链游Civitas完成2000万美元融资,Delphi Digital和三箭资本领投:4月12日消息,链游Civitas宣布完成2000万美元融资,Delphi Digital和三箭资本领投,Framework Ventures、BITKRAFT、DeFiance Capital、Sfermion、CCP Games、Yield Guild Games、Merit Circle和YGG SEA等参投。

据了解,本轮融资将用于将Civitas构建为一款社区驱动的协作类城市建设游戏,拟在2023年第一季度推出测试版,并在2023年晚些时候正式推出。(Venturebeat)[2022/4/13 14:20:44]

这是一个最简单的电路例子,它实际上做了一些事情:它是一个两位加法器。它以二进制形式输入两个数字,每个数字具有两位,并输出一个三位二进制数字。

现在,让我们对电路进行加密。首先,对于每个输入,我们随机生成两个“标签”:一个表示输入为0,另一个表示输入为1。然后我们也对每个中间线做同样的操作,不包括输出线。注意,这些数据不是爱丽丝发送给鲍勃的“混淆”的一部分;到目前为止,这只是设置。

哥伦比亚政府选择基于Algorand区块链的Vitalpass作为官方数字疫苗接种护照:9月11日消息,由Auna Ideas基金会和Koibanx共同创建并利用Algorand区块链开发的COVID-19数字疫苗接种护照Vitalpass,已被哥伦比亚政府选为其官方免疫接种证书。

据悉,哥伦比亚是拉丁美洲第一个采用这种技术的国家。此前,萨尔瓦多政府与拉丁美洲区块链资产代币化和金融基础设施公司Koibanx签署了一项协议,以在Algorand之上开发其区块链基础设施。(雅虎财经)[2021/9/11 23:17:57]

现在,对于电路中的每个门,我们执行以下操作。对于每一个输入组合,我们在爱丽丝提供给鲍勃的“混淆”中包含输出标签,该标签是通过将导致该输出的输入标签散列在一起而生成的密钥加密的。为了简单起见,我们的加密算法可以是

动态 | Vitalik Buterin在layer2解决方案中加入SNARK:上周,以太坊核心开发者Schoedon表示,以太坊网络已经超负荷,Dapp开发者应该在其他链上建设。Vitalik Buterin不同意这一观点,他认为大多数Dapps并不是针对Gas进行优化的,而且行业内的竞争将“推动”次优Dapps。他还强调了layer2解决方案的重要性和前景,并在Ethresear.ch上发布了一个潜在的使SNARK-utilizing分叉解决方案来支持他的论点。[2018/9/25]

enc(out,in1,in2)=out+hash(k,in1,in2),其中

k是门的索引。如果你知道这两个输入的标签,并且你有混淆,那么你可以学习相应输出的标签,因为你只需计算相应的哈希,并将其减去即可。

这是第一个异或门的混淆:

明星在其官网添加VIT支付:据Coindesk消息,美国明星Stormy Daniels在其官网中添加VIT支付,意在奖励观看视频的网站访问者,获得VIT的用户可以购买网站上的优质内容,或购买、订阅支持该令牌的其他网站的服务。Stormy Daniels称2006年与特朗普有过一段交往经历,并因此出名。[2018/5/25]

请注意,我们直接包括0和1,因为此异或门的输出直接是程序的最终输出。现在,让我们看一下最左边的与门:

在这里,门的输出仅用作其他门的输入,因此我们使用标签而不是位来隐藏评估器中的这些中间位。

爱丽丝将提供给鲍勃的混淆只是每个门第三列中的所有内容,每个门的行被重新排序。为了帮助鲍勃了解为每个门解密哪个值,我们将使用一个特定的顺序:对于每个门,第一行变为两个输入标签均为偶数的行,第二行第二个标签为奇数,第三行第一个标签为奇数,第四行两个标签均为奇数。我们以相同的方式混淆电路中的每个其他门。

总之,爱丽丝为电路中的每个门向鲍勃发送了四个约256位的数字。事实证明,4远非最佳值;有关如何将与门的数量减少为3甚至是2,以及将异或门数量减少为零,请参见此处的一些优化。请注意,这些优化确实依赖于某些更改,使用XOR代替加法和减法,尽管为了安全起见还是应该这样做。

当鲍勃收到电路时,他向爱丽丝索要与她的输入相对应的标签,并且他使用称为“1-of-2茫然传输”的协议来向爱丽丝索要与自己的输入相对应的标签,而没有向爱丽丝透露他的输入是什么。然后他一个接一个地通过电路中的各个门,揭露每个中间门的输出线。

假设爱丽丝的输入是两条左线,她给出,而鲍勃的输入是两条右线,他给出。这又是带有标签的电路:

在一开始,鲍勃知道标签6816,3621,4872,5851;

鲍勃评估第一个门,他知道6816和4872,因此他可以提取与对应的输出值并提取第一个输出位1;

鲍勃评估第二个门,他知道6816和4872,因此他可以提取与对应的输出值并提取标签5990;

鲍勃评估第三个门,他知道他知道3621和5851,并学习7504;

鲍勃评估第四个门,他知道3621和5851,并学习6638;

鲍勃评估第五个门,他知道3621和5851,并学习7684;

鲍勃评估第六个门,他知道5990和7504,并学习第二个输出位0;

鲍勃评估第七个门,他知道5990和6638,并且学习了8674;

鲍勃评估第八个门,他知道8674和7684,并学习了第三个输出位1;

这样鲍勃就了解了输出:101。在二进制中,10+11实际上等于101的原因),所以它起作用了!

请注意,加法的使用在混淆电路中是毫无意义的,因为知道101的鲍勃可以减去他自己的输入并得到101-11=10,从而破坏了隐私。但是,一般情况下,混淆电路可用于不可逆的计算,因此请勿以此方式破坏隐私(例如,人们可能会想到一种计算,其中爱丽丝的输入和鲍勃的输入,是他们对个性测验的答案,而输出是一个位,决定算法是否认为它们是兼容的;而这一位的信息不会让爱丽丝和鲍勃知道彼此的个人测验答案。

1-of-2茫然传输

现在让我们更多地讨论1-of-2茫然传输,这是鲍勃用来从爱丽丝那获取与他自己输入对应标签的技术。问题是这样的:聚焦于鲍勃的第一个输入位,爱丽丝有一个对应于0的标签,和一个对应于1的标签。鲍勃有他想要的输入位:1。鲍勃想学习正确的标签,而又不让爱丽丝知道他的输入位是1。平凡的解决方案不起作用,因为爱丽丝只想放弃两个输入标签中的一个,如果鲍勃同时接收两个输入标签,则可能泄漏爱丽丝不想放弃的数据。

下面是一个使用椭圆曲线的简单协议:

爱丽丝生成一个随机椭圆曲线点H;

鲍勃生成两个点P1和P2,要求P1+P2等于H。鲍勃选择P1或P2为G*k。请注意,P1+P2=H的要求可确保鲍勃不能生成P1和P2。这是因为如果在鲍勃知道k1和k2的情况下,如果P1=G*k1和P2=G*k2,则H=G*,因此这意味着鲍勃可提取H的离散对数,这意味着椭圆曲线密码系统的所有部分都被破坏了;

爱丽丝确认P1+P2=H,并使用一些标准公钥加密方案加密P1下的v1和P2下的v2。鲍勃只能解密这两个值中的一个,因为他知道最多对应一个值的私钥,而爱丽丝又不知道是哪一个。

这解决了问题,鲍勃根据输入位的不同,学习两个线标签中的一个,而爱丽丝却不知道鲍勃学习了哪个标签。

应用领域

混淆电路对于很多应用都有潜在的用途,而不仅仅是2-of-2的计算。例如,你可以使用它们进行任意复杂度的多方计算,其中任意数量的参与者提供输入,这些输入可以在恒定数量的交互中运行。产生一个混淆电路是完全并行的,你可以同时进行多个混淆门。

因此,你可以简单地进行大规模多方计算,其中许多参与者计算电路中所有门的混淆,并发布与其输入对应的标签。标签本身是随机的,因此不会透露任何关于输入的信息,但是任何人都可以执行公布的混淆电路,并在“清除”中学习输出。有关使用混淆作为成分的MPC协议的最新示例,请参见此处。

多方计算不是唯一的应用环境,在这种情况下,这种将计算拆分为可并行处理部分的技术可对秘密数据进行操作,然后再进行可明确运行的顺序部分,这是有用的,而混淆电路并不是实现这一点的唯一技术。一般来说,关于随机编码的文献,包括很多更复杂的技术,这一数学分支在函数加密和模糊处理等技术中也是很有用的。

标签:ITAVITVITATALdigitalcoinTavittcoinData VitalDIGITALAX

DOT热门资讯
1500万流量扶持,50%高红利分成!巴比特启动行业首次直播女王招募计划

《“链”上带货女王》栏目介绍?“链”上带货女王,共享科技好物。?《“链”上带货女王》是由巴比特资讯打造的一档带货直播.

1900/1/1 0:00:00
“大摩”前高管团队打造,加密衍生品交易所Phemex完成350万美元A轮融资

总部位于新加坡的加密货币衍生品交易所Phemex已经完成了350万美元的A轮融资。 图片来源:Phemex “大空头”Michael?Burry:美国经济目前处于衰退之中:金色财经报道,“大空头”Michael?Burry表示,不管怎.

1900/1/1 0:00:00
如何“减震消灾”?头部数字货币机构的风控之道

文|黎哲翁编辑|毕彤彤出品|PANews风险是一个舶来词,源于意大利语“RISQUE”意味着大自然中的客观危险。而在现代社会,风险与其说是一种命运,不如说是一种选择,它取决于我们选择的自由程度.

1900/1/1 0:00:00
比特币15分钟暴跌22%,矿难要来了?

北京时间12日下午18:30分之后15分钟,应该是加密货币投资人的噩梦,用地狱15分钟来形容一点也夸张。几乎所有加密货币,上演了一场死亡大逃杀。减半行情没有来,加密货币价格率先迎来减半了.

1900/1/1 0:00:00
花钱买课,到底值不值?来算一笔经济账

近期,由受疫情影响,线上课程呈现集中爆发的状况。从经济到人文,从艺术到养生,几乎每一个细分行业都有对应的课程。不知道大家有没有发现,越是走在时代前沿的行业,其课程的价格就越高.

1900/1/1 0:00:00
观点 | 为什么人们对比特币「信心减半」?

作者:江小渔 来源:碳链价值 产量减半还没有来临,但比特币的价格却率先减半了。与此同时,人们对比特币的信心似乎也随之减半了.

1900/1/1 0:00:00