首页  >  要闻 >  区块链 >  每日科普:加密世界的演化:五年时间走了多远?(二)
每日科普:加密世界的演化:五年时间走了多远?(二)
 Aries    
2019年11月27日 07:33
  收藏
   

2.时间戳

问题:创建分布式的激励兼容系统,不管它是区块顶层的叠层,或者是其自身区块链,都使当前时间保持较高的准确性。所有合法用户都有正态分布的时钟,围绕某个“真实”时间分布,标准偏差为20秒。没有两个节点的时间偏差允许超过20秒,以依赖于现有的“N个节点”的概念。实际上,这可以通过PoS或非女巫代币(non-sybil tokens)强制执行。

时间戳

系统应持续提供大于99%诚实参与节点的内部时钟的120秒(如可能更短时间)内的时间。外部系统可能最终依赖于此系统;因此,无论动机如何,它应保持安全,以防攻击者控制不超过25%的节点。

现状:有些进展

以太坊实际上在13秒的区块时间内存活下来,还没有特别先进的时间戳技术;它使用一种非常简单的方法,其中客户端不会接收这样的区块:其声明的时间戳早于客户端本地时间的区块。也就是说,它还没有在严重攻击下经受考验。

最近的网络调整后的时间戳提案试图在客户端没有从本地获悉高精确时间的情况下允许客户端确定共识,以此来改善现状。这还没有得到验证。但,从总体来说,时间戳并不是当前研究挑战的前沿。或许一旦有更多的PoS链上线运行后,这会发生改变,我们会看到问题所在。

3.任意计算证明(Arbitrary Proof of Computation)

问题:创建程序POC_PROVE(P,I) -> (O,Q) 和POC_VERIFY(P,O,Q) -> { 0, 1 } ,以便POC_PROVE在输入I上运行程序P,并返回程序输出O以及计算证明Q,以及POC_VERIFY取P,O以及Q和输出,无论Q和O是否由POC_PROVE 算法使用P合法生成。

现状:理论和实践上都取得巨大进展

这基本上是说,构建一个SNARK(STARK,或SHARK......)。我们已经搞定了。有越来越多的人理解SNARK,且如今正在被多个区块链所采用,其中也包括以太坊上的tornado.cash。

SNARK作为隐私技术(可参阅Zcash和tornado.cash)和可扩展性技术(可参阅ZK Rollup,STARKDEX以及STARKing 纠删码的数据根),都非常有用。

效率方面依然存在挑战;实现算术友好的哈希函数是个大问题,而高效的证明随机内存访问是另外一个问题。此外,还存在一个悬而未决的问题,即证明时间的O(n * log(n))增大是否是基本的限制,或者是否有方法仅用线性开销实现简洁证明,如bulletproof一样(遗憾的是bulletproof需要花费线性时间来验证)。

还存在现有方案有漏洞的风险。通常,这些问题在于细节问题,而不是根本问题。

4.代码混淆(code obfuscation)

创建混淆函数O是圣杯,这样,给定任何程序P,混淆函数都可以产生第二个程序O(P) = Q ,从而如果给定相同的输入,则P和Q返回相同的输出,并且重要的是,Q并没有泄漏任何关于P内部的信息。人们可以在Q内部隐藏密码、秘密加密的密钥、或者可以简单地使用Q来隐藏算法自身的专利工作。

现状:进展缓慢

用大白话来说,这个问题是在说我们想要找出一种方法来“加密”程序,这样被加密的程序仍然能够为相同输入提供相同的输出,但该程序的“内部信息”会被隐藏。“混淆”用例的一个例子是包含私钥的程序,其中该程序仅允许用私钥来对某些消息进行签名。

代码混淆的解决方案对区块链协议来说非常有用。其用例是微妙的,因为必须处理这种可能性:在链上混淆的程序将被复制且运行在不同于链本身的环境中,但有很多可能性。

一个让我个人感兴趣的功能是:从抗合谋的小工具中移除中心化的操作者,其方式是用包含一些工作量证明的混淆程序来取代操作者,因此,要尝试确定各个参与者的行为,使用不同的输入多次运行会非常昂贵。

遗憾的是,这依然是个难题。在解决这个问题方面,正在持续进行工作,一方面,正在进行构建,以减少对我们实际上不知道的数学对象(例如通用加密多线性映射)上的假设数量,另一方面,尝试对所需的数学对象进行实际执行。

然而,所有这些路径都离创建可行和已知的安全性还很遥远。关于这个问题,可参阅https://eprint.iacr.org/2019/463.pdf 以获得更一般的概述。

5.基于哈希的加密学

问题:创建一种安全算法,它不依赖于安全假设而是依赖于哈希值的随机预言机属性,该属性可以保持具有最佳大小和其他属性的传统计算机等同的160位比特的安全性(由于Grover的算法,相对于量子计算机为80位比特)。

现状:有些进展

从2014年以来,这方面取得了两大进展。SPHINCS是一种“无状态”(意味着可以使用多次,而不需要记住像nonce一样的信息)签名方案,它在这些“难题”列表提出后不久发布了,并提供大小约为41kb的纯基于哈希的签名方案。

此外,也已经开发了STARK,并且可以基于它们创建类似大小的签名。不仅是签名,同时通用目的的零知识证明也是可以仅通过哈希值就有可能实现,这是我在五年前没有预料到的;对于这种情况,我感到非常高兴。就是说,大小仍然是个问题,且不断的进步(参阅最近的DEEP FRI)在继续减少证明的大小,尽管看上去未来的进展会是逐步的。

基于哈希的加密学尚未解决的主要问题是聚合签名,类似于BLS聚合使其成为可能。众说周知,我们可以对许多Lamport签名进行STARK,但这效率低下;更高效的方案会是受欢迎的。(如果你想了解是否可以用基于哈希的公钥加密,答案是不,超过二次攻击的代价会让你无法做任何事)

点击关注币海启行微信公众号,了解更多

编辑: Aries
更多财经请关注 WX: Chaocaijing123456
币海财经: 全球财讯门儿清 https://www.bihai123.com/
声明: 本文由入驻币海编者上传,观点仅代表编者本人,不代表币海财经赞同其观点或证实其描述,请自行判断。

延伸阅读