博链财经

Bixin Ventures专访zCloak Network张晓:零知识证明如何加速Web3.0进程?

币信钱包 2021-09-22 16:36 2895

zCloak Network是基于零知识证明技术的多链隐私计算平台,其愿景是成为Web3.0时代的数据隐私门户。

撰文:Vivian,Bixin Ventures投资经理

零知识证明是区块链的一个技术高地,越来越多的团队投入大量资源专攻零知识证明。它究竟有哪些优势,能够解决什么问题?未来又有哪些使用场景?都说零知识证明技术贵、开发难,它又贵在什么地方,难在哪里?带着这些问题,我们和zCloak Network创始人张晓博士聊了聊。

以下为访问全文:

Vivian:可以先谈谈你本人接触区块链的契机吗?

张晓:2017年知道了以太坊,2018年和以太坊基金会、以太坊社区基金会一起做了些区块链教育方面的事情。同期Gavin Wood经常来中国,我会去听他们的workshop。因为觉得Substrate是个很不错的区块链开发框架,就逐渐开始在波卡生态做项目了。从事区块链行业主要原因是个人的兴趣爱好,我原来在荷兰上学,那边接受了研究生教育和博士教育。当时我所在的荷兰那边整个计算机学院的思维和风格都是极客、黑客、密码朋克的那种感觉。自然而然的就会对类似区块链这样的一种思维感到特别的亲切。之后开始自己独立做项目,也就有了zCloak Network。

Vivian:zCloak这个名字很有趣。我猜它跟零知识证明有很大的关联? 会如何向一个非技术人士普及零知识证明ZKP(Zero Knowledge Proof)和去中心化身份DID(Decentralized Identity)这两个概念

张晓:是的,Clock本身是斗篷和披风的意思,Cloaking可以指代隐身技术,z就代表了ZKP零知识证明。所以合起来,zCloak是指我们我们用零知识证明去实现数据隐私保护,就好像让数据隐形了一样。

零知识证明是一种方法,他可以实现证明者在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。举个例子:A想要向B证明:A可以解开某道数独题。但是A不想B知道答案,不可以告诉B解题结果。怎么实现呢?A可以拿出81张卡片,摆成9*9的格子,填写出答案,将所有卡片背过去。让B选择任意行或列或九宫格,A将选定区域的九张卡片放在一个布袋里,B来验证布袋中包含数字1-9。重复多次后,B就可以相信:有极大概率A可以解开这道数独。这就是零知识证明的一种解释方法。

在数学计算中,我们可以使用零知识证明技术,在不透露输入数据的情况下,去证明某个计算的过程是正确的。在现实环境下,我们可以实现的一个用例是,在不透露用户隐私数据的情况下,证明他手中的数据符合某种特定的规则。例如通过对他的年龄、国籍的计算,去证明他是一个是合规的用户。

去中心化身份DID解决了一个问题:一个链上的地址,如何跟实体机构建立一个法律上的绑定关系。二者绑定的结果在公开可信的网站上可以查询,这就是DID。跟DID密切相关的一个技术叫可验证数字凭证。

我们密切合作的一个伙伴是KILT Protocol。他们做的事情是:用户从银行,市政厅等具有公证能力的第三方机构获取自己身份的KYC信息,KILT将信息和用户地址绑定,为用户颁发数字凭证,并在区块链上存储有公信力机构对这个数字凭证的签名,也即可验证数字凭证。之后用户可以将凭证数据存储在自己的手机里,并在不同的场合重复使用,且不再需要公证机构的再次介入。这就实现了凭证验证与凭证使用这两件事的解耦。用户获取数字凭证后,如果想要使用凭证去证明自己的身份,但又不想透露个人信息时,就可以由zCloak Network提供的零知识证明的方法去进行。

*Bixin Ventures注:DID和SSI(Self Sovereign Identity)基本是一个东西,去中心化身份和自主权身份,不一样的叫法,但本质是一个事。SSI更偏向于一种精神的标志或者是图腾,更偏文化和意识形态一些,带有一种Web3.0的革命气质。DID更多的是一种实用的工具。

Vivian每个人每天都会产生大量数据,比如身份信息,金融/消费行为医疗健康等,但目前这些数据并不掌握在用户个人手中。未来,哪类数据会是比较好的突破口,可以率先实现自主权?

张晓:身份KYC肯定是一个非常迫切的风口,如果看到了欧美监管机构最近的种种动作,就会知道这是很确定的事情。下一步就是各种资产数据,链下和链上的资产数据,如何能在DeFi的场景里使用起来。还有生物信息数据,生物特征数据,比如说基因、人脸、指纹、血液、DNA、虹膜,这些能够唯一的标识是你的信息,如何能在不透露这些生物特征数据的情况下还把它们利用起来,去支撑安防、保险之类的应用,我们的研究生就在做这一块课题。然后医疗的话我觉得可能会稍微远一点,没有那么简单就能做起来,因为它的计算分析都相对复杂。

Vivian:采集信息和生成凭证的部分谁来做?如果由第三方做,第三方会存有大量的个人信息吗?

张晓:需要一个有公信力的,一般情况下不会泄露你的信息的机构,例如公安局、银行、公证处等等。其实这个数据不存也是可以的,只是在给你制备凭证时,临时采集你的数据,这个东西只存在你自己的手里,其他地方是不需要留存的。这就是我们真正的Web 3.0的理念,无论是政府部门还是第三方的商业公司,它们都没有你的数据,你的数据都是在自己的手里,然后基于你自己的手里的数据,用保护隐私的方法把它使用起来,去撬动其他的应用与服务。

Vivian:那么保护隐私数据的核心是什么?

张晓:保护数据隐私,有两件事要做好。首先是数据的接触范围,也就是能够触及数据的人。核心数据如果有可能把它放在公司的局域网里,我就一定不会放到公有云上。如果有可能只锁在一台离线不上网的个人电脑里,我就不会把它放到局域网里。数据被接触的范围越小,安全性越高。举个例子,很多保密机构内的所有计算机都是离线不上网的,也叫物理隔离。这是信息要保密的第一个重点,接触的人越少越好。

第二点就是信息的加密方式,你的信息是以明文的还是加密的方式存储的。加密算法是AES256还是AES512等等。最近很多人在聊IPFS,IPFS的问题在于把所有的文件直接变成全世界所有人都能看,都能下载。相当于把这个东西的接收范围,从你个人的计算机或者从你公司内网变成了全世界的广域网,这对隐私数据存储来说是一个很大的问题。

有的说法是:我把信息加密后放到IPFS上就可以。但是不要忘了一件事儿,所有密码学的算法都是有生命周期的,今天解不开的密码学算法不等于30年之后也解不开。所有的密码学算法,都会随着时间的流逝被逐渐攻破。

隐私信息的话,像KILT的和我们选择的是最安全的路线:用户的数据只存在用户自己的手机里,或者本地的安全存储里。当他使用时,如果是不关键的信息,他可以明文的形式传给别人,这部分是KILT现在在做的。如果是比较敏感的隐私数据,那就用我们的方法,证明用户这些数据具有某些属性,是否可以满足对方的要求。但是对方那儿能得到的东西只是一个零知识证明,本质上就是一大串哈希,不会透露任何用户数据。

Vivian:需要用户的手机有特别的支持吗,比如硬件或者软件方面?

张晓:不需要硬件,需要软件,在你的手机里跑一个东西叫零知识证明虚拟机。这个虚拟机不会占用大家的很多内存。像zCloak之前发布的浏览器中的零知识证明插件【1】。零知识证明虚拟机可以运行在浏览器的插件里,也可以运行在你的手机里。

简单解释一下zCloak插件的工作原理。我们通常说计算一般有两个要素,一个是算法,一个是数据。你的算法确定了,算法的输入数据也确定了,那你的计算结果也就唯一确定了。用zCloak的方法,针对用户数据的计算是在用户本地进行的,你看不到用户的数据,也看不到他的计算过程,那怎么确定他的计算结果是正确的呢?我们用零知识证明来验证他计算过程的正确性,用KILT的可验证数字凭证,来保证输入数据的可信性。这两件事都做到了,我就可以说他的计算结果是正确的了。

服务提供商想让你对你的数据进行的计算,他们的要求可以转化成数学的形式来表达。我们举个简单的例子,假设Uniswap因为美国监管部门的压力,从今天开始要求ABC三国公民不准使用Uniswap的服务。这个要求可以转化成数学的形式:即要证明你的国籍不在一个黑名单里,这个黑名单可以是ABC这三个国家的地区代码(每个国家都有一个数字形式的地区代码)。现在证明你手里的数字凭证上国籍对应的区号不是某几个数字就可以。以前,第三方公司要给你提供服务的时候,常规的方式,是把你的数据发送给公司的服务器,这个服务器里有它的算法。但是现在我们跟他做的方法是相反的,Uniswap的算法可以传输给你。数据在你自己手里,这个算法也发送给你了,你就可以在自己本地进行计算。

Vivian:区块链技术在其中扮演了什么样的角色呢?

张晓:区块链特性我们应用最多的是三点,第一最简单的是计算服务的手续费结算,这是区块链最擅长做的,否则我们就需要一个中心化机构去做支付,成本高,效率低。第二是以不可逆的方式去存储计算的结果,直接把结果存储在链上的智能合约里,不被篡改。第三是零知识证明的验证网络。

初始阶段,验证这个角色会由zCloak来充当,但这里存在作恶的可能性,zCloak作为一个主体,是有可能作恶的。最理想的情况是:给别人提供零知识证明验证服务的不是某一家或者某两家组织,而是一个去中心化网络,一帮矿工去运行服务器,帮别人做零知识证明验证。谁都不知道自己验证的证明属于哪个用户,这样它的可信度才是最高的。这就需要引入挖矿的概念,即零知识证验证即挖矿。

Vivian:传统企业想在不接触区块链的前提下使用这套服务,可以实现吗?

张晓:可以,传统机构你可以把它想象成就是Uniswap,不管中间如何操作,他其实只需要最后的结果,这个结果就是到一个智能合约里,通过预言机的形式去读取数据就可以,相当于是用互联网熟悉的方式去读上数据。数据读取很简单,一个网络请求就可以了。这和读一个远端的数据库是完全一样的,不需要任何区块链相关技术,只要能联网就行。

Vivian:上传到链上的结果是不可逆的吧?

张晓:不可逆,从零知识证明完全不可能推出原始的输入数据,在密码学上是做不到。这就类似于我告诉你一个哈希让你去找哈希的原文一样,理论上能找到,但是需要的时间是无穷大的。

VivianzCloak核心技术是零知识证明虚拟机,它是如何工作的?目前在这个领域我们有哪些竞争对手吗

张晓:据我了解,全世界真正在做零知识证明虚拟机的目前只有为数不多的几家公司。我们是一家,另外还有StarkWare、Matter Labs等少数几家公司。其他两家应用于扩容领域,我们是在数据隐私领域发展。

我们都知道近几年零知识证明的项目有很多,抛开扩容不说,仅仅是零知识证明保护隐私这件事,就可以被分为两大类:交易隐私和数据隐私。目前大部分团队在做的是交易隐私,比如混币、隐私转账、隐私DEX。我们在做的是数据隐私。

最大的区别是:交易隐私涉及的算法是固定的。比如隐私转账背后的算法,是输入的和等于输出的和,我转出的金额小于我的账户余额,零知识证明只需要证明这个算法是正确的就可以了。但是数据隐私就完全不一样了,算法是由第三方提出来的,它是复杂且变化的,比如你的国籍在什么范围,你的年龄符不符合要求,你的资产状况如何,在不在黑名单里面,每一种用例都会有自己定制化的算法。

零知识证明有个特点是:每当算法发生变化的时候,就需要重新生成一个叫做证明电路的东西。对交易隐私类项目,只需要一开始设计的时候生成一次,然后一直使用就可以。但数据隐私领域,每次算法变化,都要重新生成证明电路,是非常花时间花精力且成本高的一件事情。

你可以把零知识证明虚拟机想象成一个软件实现的CPU。我们把原来用固定的电路解决的问题,变成了在CPU上用软件解决的问题。使用我们的工具,可以把第三方的算法自动编译成可以在虚拟机上进行证明生成和验证的电路。从算法到电路的这一部分是自动生成的,不需要人工干预。

Vivian:这套技术容易被抄袭吗?

张晓:我们认为不太容易被抄袭。保护数据隐私这件事,零知识证明只是所用到的技术之一,另外还有跟可验证数字凭证的巧妙结合,这里面有很多非常细节的工程化问题和安全攻击问题需要解决。

此外,零知识证明虚拟机技术的难度也不小,哪怕代码完全开源,别人要看懂,要掌握,再改进,也不是容易的事情。而且我们目前有一个比较好的习惯,在任何技术工程化之前,我们都先申请专利,然后再做,这也是我们进行自我保护的一种方式。我们的技术是开源的,这一点没错。但是开源不代表免费,free software是free speech不是free beer。

我们现在已经拥有6个国家发明专利授权,2个PCT专利,另外还有一些在公开审查的过程中,都是与零知识证明、隐私凭证相关,有系统及存储介质相关的、视频数据相关的、医疗相关的等,我们在每一个细分的垂直应用场景里都在逐步开展研究。

Vivian据说零知识证明项目成本非常高,zCloak成本主要集中在哪方面?

张晓:我们只讲工程上的成本。零知识证明这个事包含两部分,一部分是proof generation证明生成,一个是proof verification证明验证。很多零知识证明项目成本高的原因是proof generation证明生成的场所很多都是在项目方的服务器,用户需要把交易数据发到项目方服务器上去计算,这就造成了负载高,所有的数据计算都汇聚在它单点上。但是zCloak的零知识证明虚拟机是在用户个人的手机或电脑中的,相当于全球分布式的,每个人的手机就是一个零知识证明计算设备,所以说我们没有计算压力。另外一个原因是大部分项目用的算法是ZK-Snark,我们是ZK-Stark,从计算效率的角度来讲,ZK-Stark的效率比ZK-Snark的效率要高不少。

我们的成本主要是跑proof verifier验证人这样的节点,帮别人验证已经生成的零知识证明。

Vivian:验证的过程是如何实现的?验证人需要有什么样的能力?

张晓:零知识证明虚拟机有两个功能,一个是证明生成,一个是证明验证。当验证人拿到零知识证明之后,把它输送到虚拟机里,虚拟机可以自动跑一个逻辑去验证这个零知识证明是正确的还是错误的。如果证明生成后,你擅自改了其中的任何地方,或者你自己编造一个证明,那验证就不通过。零知识证明的验证人只需要运行一台普通的服务器节点,用我们的软件客户端到zCloak网络上抓取未验证的零知识证明,然后进行计算并公布结果就可以了。

Vivian:除了零知识证明,现在被应用较多的隐私计算技术是TEE,你怎么看待TEE

张晓:零知识证明和TEE最大的区别是:一个是软件的密码学的方式,一个是硬件的方式。硬件方式下你首先必须要相信这个硬件,比如说用intel处理器,就必须要相信intel这家公司。TEE需要把用户的数据加密上传到一个中心化的服务器里,再进行解密和计算。它是可以解决一些场景的问题,但是中间涉及很多步骤,任何一个步骤出问题你的数据就有可能被泄露。相对来讲比较适合计算量较大的场景。

Vivian:目前zCloak有在设计具体的产品吗?

张晓:我们目前准备做一个旗舰产品,名字暂定为:zCloak KYC Gateway。核心目的就是为了让零知识证明能够应用在转账和Defi两个场景。

目前我的观察是接触Defi的用户其实是少数的人群,大部分人还是停留在加密货币,他们可能并不了解Uniswap、Maker Dao、Aave这些Defi,但是几乎每个人都会做的一件事就是转账。现在用户在链上转账,只要知道对方地址即可操作,不需要任何许可。但现在欧盟和美国都在立法, KYC监管的趋势也越来越明显,欧洲在议的一条法规就是:超过1万欧元时,无论法币还是加密货币,转账双方都需要验证KYC身份。如果是银行用户,那银行直接就可以帮双方做KYC,但是链上没有银行这个角色。

我们经常说加密货币领域和监管不是矛盾的,是可以共存的,只是目前没有一个很好的解决方案。zCloak KYC Gateway解决方案可以实现的是:在A和B转账之前,双方可以通过一种保护对方隐私的方法去验证,既不知道对方的真实身份,又确定对方是一个经过了KYC的合规的用户,在保证最小化信息的原则下满足监管要求。

这个是人和人之间打交道的转账场景,再来讲讲人和链交互的场景,或者说人和智能合约打交道的Defi下的场景。大多数的Defi项目会有团队,有创始人,有资方,少数匿名团队的项目咱们先不讨论。SEC前两天开始调查Uniswap,也要开始查Coinbase,这个对项目方是很大的冲击,不是开玩笑,没有哪个程序员,做一个自己兴趣爱好的事,最后的目的是为了进监狱。

zCloak KYC Gateway就是想给项目方提供一层保护,保证使用项目的用户都是合规的用户,都是经过了KYC的用户,没有洗钱,恐怖分子、毒贩这些人在用项目的产品去做一些不合法的事,在初始阶段就把这些人过滤掉。从这个项目方的角度来讲的话,这对他们来说应该是一个很强的需求。这样项目方也能和监管进行解释了,在合规方面,我们和中心化的银行是类似的,我的用户都是做过KYC的人。

Vivian:这样一来,zCloak KYC Gateway很大一部分推动力是来自监管方面,对吧?

张晓:KYC gateway跟监管的关系是很密切的,我们也会即时关注各地的监管、法规进展,这个领域我们肉眼可预见的是欧盟和美国是100%要出政策,而且美国的政策大家都很清楚是什么了,基础设施法案,已经不能改了。原文我们都看过了,其实说是为了监管,是为了合规,但是他最主要的目的还是为了收税,这就和我们计划的下一个系列的产品相关性极高,我们想做一个一键式的,用户链上行为计算和报税的工具。

如果是中心化的交易所比如币安,他有用户所有的数据,做起来就很容易。但是Defi世界里,如果想知道用户今年换了多少token,挣了多少钱,要交多少税,可能就要用户把地址交出来,然后拿一个算法去分析就可以。但是这样一来,就建立了一个用户个人和用户地址之间的联系,很多人是很介意这点的。zCloak可以通过零知识证明实现:不告诉监管机构用户A的地址是什么,但是证明这是用户A的地址、地址上的行为、以及这些行为导致应该交多少税,最后上传一个零知识证明去证明用户A今年要交的税的金额。

Vivian:想要实现这一系例目的,需要有一套通用的或者公认的身份和凭证的标准作为前提吧?

张晓:从国际标准的角度来讲,跟数字身份和可验证数字凭证相关的标准,现在有好几个。我们参与了两个核心的:W3C和DIF。W3C是万维网联盟,他们制定了一系列网络标准。DIF, decentralized identity found,是由商业组织:微软、IBM、埃森哲这些机构共同研发的标准。目前我们的计划是从欧盟和新加坡入手,和投资方、朋友等一起与政府沟通、进言,希望设立更加完善的标准,这样等产品推出后,如果符合标准,就可以直接采用了。

Vivian:在去中心化的应用中,用户是来自全球各地的,如果有多套标准,会不会导致验证较为复杂和混乱?

张晓:这就体现了我们产品的一个优势。我们这套技术可以允许要求KYC的第三方自主选择认可的凭证,比如说德国的监管机构,如果只认德意志银行颁发的KYC证明,那用户就从德意志银行获取凭证就好。为用户做KFC的机构和凭证未来的应用场景是解耦的。

Vivian听起来不错。目前zCloak项目进展如何

张晓:zCloak现在是一个基础设施层,一个协议层,在它之上会有一个个垂直的应用,每个应用都瞄准一个具体的业务领域,像我刚刚说的KYC就是一个领域,报税是另一个领域。现在的进度是这样的,KILT已经拿到平行链卡槽了,他们大概需要两个月左右的时间,把准备工作完成,包括收集人、速度模板移除、国库、治理模块、数字凭证等业务。然后我们就可以开始结合他们的东西开始推业务了。

我们现在已经开始做的事情是:KILT有自己的一套钱包,这个钱包是个数字凭证的钱包,它有最基本的转账功能,也有用户的数据凭证,就是KYC信息、社保、医疗、驾驶证这些信息,都做成一个个数字凭证,放在这个钱包里头,每一个数字凭证都是经过一个权威机构签名的。签名是放在KILT的链上,允许大家用一种非许可的方式自主去查询,看你这个凭证是不是一个真实有效的凭证。现在凭证是只能明文使用。我们在他们的基础上,用零知识证明让用户以对方看不见的方式去使用这些信息。

此外,我们也在和Moonbeam、Acala等讨论KYC和身份凭证合作。团队目前工作的重心也是去了解这些项目是在做什么,是否有KYC或者其他的需求。我们也在关注以太坊、Polygon、Solana的生态项目是不是有这样的需求。

Vivian:还有个有趣的问题,我们之前看过元宇宙里面开的party,一群人中每个人头顶一串地址,这对于社交和游戏来说很不友好,zCloak或者KILT可以解决这种身份问题吗

张晓:元宇宙这里有几件事儿,首先身份,在任何社会环境下,都需要身份这个东西的,链下有链下的方式,链上也有它原生的方式。至于说是否应该为用户设置一个单一的身份应用于不同的元宇宙中,我觉得是个人爱好的一件事情,比如玩家在A游戏中是钻石级别,在B游戏中很弱,那他可能就不想让别人知道自己在B游戏中被吊打。

另一个切入点是如果涉及用户在多条链上或者多个元宇宙空间里,有自己的资产、装备和身份, KILT可以做的事情就是去帮用户证明他在某每一个元宇宙里都拥有哪些资产,从而实现跨平台应用,而我们可以提供隐私保护的服务,即证明用户具有某些属性某些资质,但是不需要知道用户是谁。目前项目方之间合作都是通过地址直接调用的,但很可能用户在一些空间里的信息,是不想让别人知道。

此外,元宇宙也不能与现实世界完全割裂,游戏世界里更需要区分玩家是成年人还是未成年人,因为相关的服务和数据保护标准都不一样,所以会很需要zCloak的服务。

【1】https://zcloaknetwork.medium.com/zkp-in-a-browser-you-got-it-52606bc3c976

声明: 博链财经网站和App所发布的内容,均不构成任何投资建议。微信公众号:boliancaijing。

币信钱包

安全好用的区块链资产钱包。 币信创办于2014年11月,是一款区块链资产钱包。币信多年来为近百万用户提供区块链资产托管服务,支持BTC、ETH、USDT、EOS、LTC等多种区块链资产,是区块链行业的老牌钱包和布道者。

30 篇 作品
5.8W 总阅读量