说到比特币暗网,你能想到什么?丝绸之路、华尔街市场、贩、杀人、情色交易,一直以来,这些都是经常被人诟病的一面。但事物都有两面性,“暗”的另一面,是对现实世界的真实解决方案,是利用“暗”的特性解决当前存在的某个痛点。
你知道比特币暗网,但你了解以太坊暗网吗?
为解决主流数字货币过于透明、隐私泄露等问题,一群北大高材生创建了这个“以太坊暗网”。“以太坊暗网”是什么?具有哪些特性?能帮你解决什么问题?
近期,营长对这个北大背景的技术团队进行了专访。让我们从他们的想法与实践中得到启发,了解区块链开发者正在做的事情。
来自北大的师兄弟团队
营长:简单介绍一下你的个人背景和创建PGC之前的工作经历。
PGC:我2011年北大博士毕业,一直念的计算机,做的是信息安全和网络安全。毕业后曾在中国电子科学研究院做综合电子信息系统的顶层设计,之后在一个做信息安全的上市公司待了一阵,然后就开始创业了。从2016年到现在,一直在区块链领域创业,既做过联盟链,也做过公链,既做过智能合约开发,也做过DApp开发。
营长:PGC团队有很多北大背景的成员,这个团队是如何组建的?
PGC:以北大的师兄师弟为主,他们是最核心的一些人,此外,我们也比较国际化,在英国伦敦、美国西雅图和德国斯图加特,也有一些远程协同办公的同事。
最初创业时,包括我在内团队只有两位主要成员,随着业务的开展,技术上需要的人才越来越多,我们优先从北大实验室和其他合作高校寻找技术人才,已经毕业的、没有毕业的、已经工作的、没有参加工作的师兄师弟,我们都联系了,好在他们对数字货币也比较认可,最后就加入到我们这个团队当中了。
以太坊Goerli测试网已完成合并:8月11日消息,以太坊Goerli测试网已完成合并,Goerli是三个公共测试网中最后一个以太坊测试网,在此之后,主网合并预计将在9月底的某个时间发生。(CoinDesk)[2022/8/11 12:17:23]
因为数字货币、区块链不仅是密码学层面的事,还涉及到很多金融相关、市场推广、业务拓展的事,所以团队也需要一些业务层面的人才。我们在普华永道以及英国、澳大利亚、香港也有金融业、商业方面的同事,他们都远程加入了这个团队。所以我们算是一个以技术为主、业务上相对全球化的一个团队。
你根本不需要泄露密钥
营长:目前主流加密货币和现有隐私加密货币存在哪些问题?PGC的解决方案是什么?
PGC:主流加密货币的历史相对比较早了,它可能只解决了转账和记账的问题,从实际功能来看,就是把账算清楚,我给你转了多少币,你收到了多少币,只要算清楚就OK了,并没有考虑智能合约之类的其他功能。
一个新事物的诞生,肯定要先解决它的可用性,等它跑起来再去考虑它的安全性和隐私性。所以,最初几年大家主要关注这个币如何用起来、如何产生金融效应以及如何让更多用户使用等等。此后,随着用户越来越多、生态越来越成熟,就会出现安全和隐私问题。
目前来看,比较主流的几个币都不包含隐私属性,而最近比较火的Grin和Beam隐私币以及很早就有的门罗币、达世币、大零币(Zcash)等比较常见,门罗币和大零币已经存在一段时间了,也有相应比较大的市值,其价值也已经过一些验证,但仍存在一些问题。
比如,它需要一个可信的初始设置,最开始建立网络时,就需要进行这样一个操作,这个操作通常是很难做到,这是一个问题。此外,因为它不是无状态的,每一笔交易都需要记录一些相应的随机值和加密值,这样就导致它在钱包设计和账本设计里显得非常复杂。
当前以太坊桥TVL为86亿美元:金色财经消息,Dune Analytics数据显示,以太坊桥当前TVL为86亿美元。其中锁仓量最高的5个桥分别是Polygon Bridges(39.86亿美元)、Arbitrum Bridges(22.95亿美元)、Optimism Bridges(7.05亿美元)、NearRaibow(6.76亿美元)、Fantom Anyswap Bridge(5.42亿美元)。[2022/7/22 2:31:06]
虽然门罗币、达世币、大零币、Grin、Beam等隐私币可以通过混币、环签名、零知识证明、MimbleWimble协议等改进隐私性,但与ETC、ETH和USTD相比,它们毕竟是一个小众币,用的人不多,为享受隐私功能,把主流币换成这些隐私币,还是不太方便。
所以,PGC的做法是将隐私功能赋予主流币,而不是再弄一个其它的币种,说这个币比其它都好,大家来用这个币。因为推广这个币确实需要很长时间和很大精力,与其这样,还不如在主流币上增加一个隐私层,即插即用,想用就用,不想用就不用。
另外,现有隐私币所追求的隐私性太强了,隐私性太强就会产生一些问题,比如,如果A给B转帐,只有A和B知道,其他人不知道,就可能存在这样一个问题:如果A和B对交易有争议,A说转给B了,B说没收到,或者A说转了10个,B说转了5个,这该怎么办?
在其它隐私币方案中,只能是双方找到第三方,通过提供私钥去查看历史交易,一旦这样操作,就意味着你的钱包以后不能再用了,因为有第三方知道了你的历史交易,你泄漏了自己的隐私,这个很不好。所以,隐私性很强的货币不具有可审计性,假如普华永道把数字货币作为财务去审计,又怎么做?链上根本看不到,也不可能冒险提供私钥,所以强隐私性和可审计性是冲突的。
数据:以太坊网络当前已销毁超235万枚ETH:金色财经报道,据Ultrasound数据显示,截止目前,以太坊网络总共销毁2,354,065.62枚ETH。其中,OpenSea销毁230,048.15枚ETH,ETHtransfers销毁219,335.64枚ETH,UniswapV2销毁219,335.70枚。注:自以太坊伦敦升级引入EIP-1559后,以太坊网络会根据交易需求和区块大小动态调整每笔交易的BaseFee,而这部分的费用将直接燃烧销毁。[2022/5/23 3:34:38]
PGC追求的不是强隐私性,尽管隐私性弱化了,但机密性增强了。何为机密性?就是交易内容被隐藏,你转了多少币?你的账户余额和交易金额是多少?都被隐藏了。
但也存在一个问题,这是一把双刃剑。就比如说黑客盗了币安交易所的比特币,如果黑客将被盗的币放到了PGC钱包,虽然我们可以看到这个地址,但我们不知道这个地址内还有多少比特币,黑客可以将比特币转到其他地址,我们不知道其他地址收到多少比特币,只能通过一系列黑名单把这些地址封锁掉,这样就增加了被盗比特币的追踪难度。
详述PGC密码学解决方案
营长:请详细介绍PGC的密码学方案。
PGC:目前来看,有两种方法可以隐藏账户余额和交易金额。
其中一个是承诺。就像最早Maxwell提出的CT,它使用Pedersencommitments的方式,但有一些不好的方面,比如在密码学层面,当你需要做这个承诺时,你需要离线给非链上发东西,这个东西要怎么发?如何保证它的安全?这又涉及到另外一套工程。所以,如果选用这个技术路线,除了要把链弄好,还得把另外一套东西弄好,这是比较复杂的事情。
L2 Labs在以太坊测试网Ropsten上推出Layer2 平台ZKSwap:L2 Labs昨日在以太坊测试网Ropsten上推出了Layer2去中心化交易平台ZKSwap。据悉,ZKSwap通过ZK-Rollup技术把所有ERC-20 token转移到Layer2上,再基于不断生成的零知识证明来保证Layer1和Layer2状态的一致性。ZKSwap有这样几个特点:零gas费用;TPS理论上达到每秒6000笔;所有交易都迁移到Layer2,所以可以实现实时交易。[2020/11/17 21:04:23]
我们选择了另外一条,即利用带有加法同态特性的公钥密码学将用户余额、交易金额加密。什么是同态?举个例子,比如我把1加密成了一堆看不懂的字母,把2也加密成了一堆看不懂的字母,现在把1和2加起来,就等于3了。加法同态是指,可以把1加密出来的密文和2加密出来的密文做一个类似加法的操作,生成另外一个密文,也是一堆看不懂的乱码,被解码后就是3,这就是加法同态。
加法同态相对比较复杂,特别是当你还要做乘法时,它的效率就非常低了。加法同态里有一个非常经典的ElGamal算法,是一个有几十年历史的公钥加密算法,它的一个变种在上世纪90年代就被美国的数字签名标准用作数字签名算法。
假如你要做机密交易,因为这是一笔交易,你就要把这个交易写在一个小纸条上交给矿工,让他记到链上,矿工不能看到你有多少钱,也不能看到你要转多少钱,PGC会把交易金额加密,比如你原来有100块钱,转了90块,还剩10块,我原来有10块钱,收到90块,现在就是100块了。
我们各自有一对公私钥,我有100块钱,我把它加密了,我给你转10块钱,这10块钱我知道,你也知道,但不能让别人知道,所以这10块钱的交易被我的公钥加密了,你用你的公钥加密放到这个交易里,我们就相当于有3个数字了,再加上1个随机值,防止重放攻击等等,这就是交易的结构。
动态 | 以太坊未确认交易71684笔:根据etherscan.io数据显示,目前以太坊的网络未确认交易笔数为71684笔,网络拥堵仍较为严重。[2018/11/15]
当其他人说你到底是不是转了10个币,该如何验证?此时就用到了零知识证明,就是他虽然不知道咱们的私钥,但他能够验证我俩说的是真的,他怎么验证?有几个最基本的假设。
假设1,我加密了90块钱,你也加密了90块钱,这就需要构造一个零知识证明去证明我们转的钱是一样的,不然就有问题了。可能是我说给你转90,你也加密了一个90,但其实我只加密了10,如果矿工没有验证这笔交易就打包,你就损失了80块钱。
假设2,矿工需要验证我们转出来的钱不是负数,我不能转一个负10块钱给你,我每转一次,我自己增加钱了。
针对第1个假设,我们使用了Sigma协议,它可以去做一个高效的零知识证明,证明咱俩加密的东西是同一个数。
针对第2个假设,我发出的必须是一个大于0的数,而且不能超过一个上限。以比特币为例,比特币一共才2100万个,我不能给你转1亿个比特币,所以矿工要判断这个数在不在一个范围内,就需要一个范围证明(RangeProof),它也要用零知识证明来做,目前最有效的Rangeproof叫做防弹协议(Bulletproof),门罗币就在用这个协议,这是2018年的最新成果。Bulletproof也是目前学界公认的最有效的一个加密办法,我们也会用Bulletproof。
假设3,假设矿工认可了,那把我的钱减掉90,把你的钱加90,这个加和减的操作也需要隐秘地完成,矿工却完全不知道,他只能知道拿了两个密文一减一加,这个就要用到ElGamal协议,带有加法同态特性的公钥密码学。
但又有一个问题,如果你把原版ElGamal协议直接拿来用,就不能使用Rangeproof,不能使用Bulletproof,因为调用时会不安全、会有漏洞。于是,我们把ElGamal协议进行了非常巧妙的修改,将它扭转一下,既让它保留加法同态特性,又能满足Rangeproof和Bulletproof的条件,这也是我们论文里非常有特色的一点。
此外,假如你给我转了钱,我说没收到,或者你给我转了100块钱,我说我只收到1块钱,其他人看不到、也不能帮你证明怎么办?这时你可以生成一个零知识statement,你把这个数据交给任何人,他使用零知识证明验证一下就OK了。比如你给我转的是100,你只需要把数字100加上生成的数据一起发给验证者,然后验证者就能知道你是不是转了100,这也是一个很强的特性,并不是所有密码学方案都可以针对单条交易做验证。
如果不使用这种方法,我只能把私钥给他,但他看到了我的交易记录,看到了我的余额,我为了去验证一条交易,也把其它交易的隐私性丧失了。所以,总结下来,我们用了数字签名技术、加法同态公钥密码学和非交互式零知识证明,这三者构成了PGC的密码学方案。
营长:PGC目前还有哪些不足之处?如何解决这些问题?
PGC:不足之处肯定有,就像大家总嫌区块链太慢,所以做了分片,之前比特币不支持智能合约,所以以太坊有了智能合约,链太多了要跨链,所以大家做跨链,这是一样的。我们这个技术肯定也有自己的不足。
首先是性能问题,在智能合约层面上,无论是刚才我说的加法同态、非交互零知识证明、还是ElGamal协议和Bulletproof,都需要耗费gas。经过很多密码学优化后,如今最大的gas大概是600万左右,一个块里大概是800万gas。我们需要用600万gas做一次转帐,金额大概是0.01个以太币,花费有点高,所以我们还要继续优化算法、降低gas,这是一方面。
另一方面,EVM也在升级和优化,下一版本EIP1108也会做相应的优化,按照它优化的程度来看,我们可以再优化6-10倍,这样一笔转帐大概要花100万gas,就不贵了,一点都不贵。其实主要是性能问题和gas费的问题。
营长:PGC目前主要有哪些应用场景?
PGC:目前来看,主要有以下5个应用场景。
在钱包内实现机密交易功能,比如Tokenfund投项目,投了多少以太币?这应该是隐私的,不应该被别人看见;
我给员工发工资或者发token,员工彼此之间也是看不见的;
慈善捐款、拍卖;
交易所大额提币或充币,USDT大额转帐,避免引发市场恐慌;
以及机构间的隐私转帐。
以太坊暗网,来了!
营长:请从技术和生态两方面介绍PGC的整体路线
PGC:技术上,PGC密码学方案已经设计完成了,相关论文近期会在国际会议上发表。
接下来要完善我们的App,从表面上看它就是一个imToken,是一个钱包,但你可以认为这是以太坊的暗网,你转什么?转给谁了?是什么情况?都可以在这个“暗网”看到,但你在Etherscan上查不到。当有人想查这笔钱,比如你转了多少个,你可以生成一个证明,告诉他转了10个,随便找一台手机就能验证了。
还要做跨链,我们要服务现有的比特币用户,通过跨链的方式把比特币接到一个支持智能合约的链上,之后再把它换过去,这是技术上要做的。
生态上,我们要努力扩展PGC应用,除了个人钱包外,我们还要接入诸如Facebook等企业的稳定币,和他们一起合作推出企业级钱包,这样企业与企业间的转账金额也是隐秘的,可以拓展各种各样的应用,也要和公链合作,帮助公链实现机密交易的功能。
尽管我们有自己的钱包,但也会和像imToken这样已有庞大用户群体的钱包合作,通过智能合约、接口实现机密交易的功能,即接入以太坊暗网网络。
营长:对中国的区块链开发者说几句寄语吧!
PGC:以太坊是未来的主流,如果你想深入了解区块链,学习以太坊就好了,此外,如果你把比特币看明白了,其它的也就都差不多了。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。