美文网首页区块链研习社区块链大学
安全多方计算 张治谈区块链第二十二讲问答 | DRC学院

安全多方计算 张治谈区块链第二十二讲问答 | DRC学院

作者: 55e841da187d | 来源:发表于2018-12-08 23:00 被阅读4次

昨晚8点,DRC技术总监张治为大家解答了关于安全多方计算的相关问题,并发布新一期考题。

本期测试NEO MA、Dirac、未明公、阿尔法喵、zxm全部答对!以上同学将获得DRC平台积分奖励!祝贺!

以下为问答整理(后附大神考核,新进的小伙伴们可自测哦~):

1社区成员:安全多方计算在现实中还可以用在什么场景?

张治:安全多方计算主要用在计算任务需要的数据是多方提供的,但是多方又不愿意把数据公开给其他各方以及可信第三方的场景。除了富翁排名、电子选举之外,还可以用在电子竞拍、门限签名这些实际场景。

在电子竞拍应用上,就是在不暴露竞拍者每一轮次的竞标价的情况下,最终能够得知谁竞拍胜出,这时再公开最后的竞拍的价格,这个过程中不需要拍卖行的参与。传统方式因为有拍卖行的参与,存在拍卖行篡改竞拍价以及拍卖行泄露竞拍价格给其他竞拍者的情况。每一轮次的竞拍价都可能牵涉到商业机密,因此是不能公开的,安全多方计算可以很好地解决这个问题。此外,也可以防止恶意竞拍者根据对手的出价来制定恶意策略,导致竞拍者受到损失。

门限签名则与“群签名”有关。门限签名是由群体做出的,而这个签名的获取需要多方共同参与才能够计算出来,这样就可以要求只有人数到达一定数量以后,才会产生出最终的门限签名,这种签名方式并不同于一般的多签名机制。

此外,一些以前由中心化机构进行的统计或者建模任务,也是可以采用安全多方计算的。

2社区成员:电子选举这方面用环签名是不是也能解决选票作弊的问题?

张治:环签名也是可以解决这个问题的,最后的计票机构在看不到谁提供了原始数据的情况下也能统计出最后的计票结果,这样就避免外界知道了谁给哪个候选人投了多少票。

不过这个过程需要对外广播签名后的数据,所以要做到不作弊,一定要用区块链的共识机制,多个节点做共识,有节点做验证才可靠。

而安全多方计算在解决这个问题的时候,其实是不需要区块链的,它也允许一部分节点不按照协议规定的计算逻辑进行计算,只要这类不诚实节点不超过一定比例就可以,这样多个节点共同参与计票程序,最终也能计算出最后的投票结果,而不需要专门的计票机构,而且候选人最终得到的投票总数也是可以知道的。

3社区成员:安全多方计算和零知识证明、环签名有什么区别?

张治:零知识证明、环签名这些技术是需要把数据广播出去的,但是广播出去的数据是经过了加密、混淆以及其他技术手段处理过,使得对数据进行计算的节点不知道真实的数据是什么,但同时又能够验证最后得到的计算结果。换句话说,它们的目的不是知道最后的计算结果是什么,而是要知道最后的计算结果是正确的还是错误的,结果是可验证的就可以了。这样就能通过区块链的共识机制来保证计算结果的不可篡改性。

而安全多方计算最后的计算结果对于多方来说是公开的,而且目标就是得到这个计算结果,但是产生这个计算结果的数据都在节点内部保存,互相都不知道具体数据是什么,也并不知道每个节点上进行的计算逻辑是什么样的,但是可以保证最终计算的结果是正确的。不过这个计算结果的保存是没有强有力的保障的,仍然要借助别的方法,比如区块链来实现这个计算结果记录的不可篡改性。

零知识证明等技术面对的计算和数据都是属于某个节点的,它保护了数据不被公开,但是在一个节点上就可以完成这个计算任务,而安全多方计算的计算和数据是分散到不同的节点上的,每个节点上的数据和计算逻辑都没有公开,多方必须协同在一起才能计算出一个结果。所以安全多方计算本身就是非中心化计算的一种形式,而零知识证明等技术本身是没有什么非中心化的特点的,他们的非中心化是依托于区块链共识机制实现的。这是他们本质上的差别。

其实理解好安全多方计算,一定要抓住一个本质特点,就是它的计算过程就是一个非中心化的形态。

附:

大治考题

*答案要倒着看哦*

1. 安全多方计算主要是为了解决什么问题?

a.安全多方计算主要解决多方协同计算时有人恶意篡改计算结果的问题。

b.安全多方计算主要解决多方协同计算时如何保护参与方自己要提供的数据不被泄露的问题,即不对外界和其他计算参与方暴露自己持有的数据。

c.安全多方计算是为了解决非对称加密算法的安全性问题。

d.安全多方计算为了保护多方协同计算所使用的数据,这些数据是多方所共享的,但是对外界不能公开。

2. 关于安全多方计算与区块链,零知识证明等技术的关系,下列哪些说法是正确的?

a. 安全多方计算可以取代区块链技术来实现多方协同计算的非中心化。

b. 安全多方计算和区块链一样都是多方协同完成一个任务,去除可信的第三方,实现非中心化的解决方案。不同的是,区块链解决的是多方对数据共同记录的问题,数据是共享的,共同维护的,而安全多方计算是对节点的隐私数据进行保护的,在这些隐私数据对所有节点不公开的情况下,仍然能够完成协同计算任务。所以两者不是互相替代的关系,而是互相帮助的关系。

c. 零知识证明,环签名等技术也是用来保护某个节点的隐私数据不被别的节点知晓的技术,但是数据是在节点间进行传输的。而安全多方计算在节点间传输的是加密后的计算逻辑以及加密过的前一个计算结果,计算任务是共同完成的。

d. 有了安全多方计算,零知识证明或者环签名等隐私保护技术就没必要使用了。

3. 关于安全多方计算使用的计算模型和算法,哪些说法是正确的?

a. 安全多方计算会使用到同态加密,加密电路,不经意传输等技术。

b. 安全多方计算的第一步就是要将多方进行计算的函数编译为布尔电路,并加密变成加密电路。加密电路可以对输入参数进行编码和计算。

c. 不经意传输的实质是某一方在给另一方传递信息时,根据协议选取某一个消息给对方,但是发送方并不知道实际传送了那一条消息,而接收方接到消息后也不知道其他的消息的存在。

d. 安全多方计算通过设定好的计算协议把一个计算任务转变为多个计算逻辑片段,给定的计算逻辑要发送给指定的节点进行计算,最终每个节点都完成自己的计算逻辑后,任务完成,得到最终的计算结果。

e. 安全多方计算是一种高效快速的计算解决方案。

更多区块链知识,请关注下期DRC学院【张治谈“区块链的诞生及运转”】系列课程,同时也非常欢迎社区的小伙伴们留言提问~DRC社区,一个精英互动学习的高端社区。

 本期彩蛋 

评论区说说你在听课之后的收获。

点赞超50个的小伙伴奖励500DRCT,分享到朋友圈也有50DRCT哦~

(分享截图加入DRC社群后发送群秘)

点击“阅读原文”回顾第二十二讲~

相关文章

网友评论

    本文标题:安全多方计算 张治谈区块链第二十二讲问答 | DRC学院

    本文链接:https://www.haomeiwen.com/subject/jwichqtx.html