英超下注_让我们用非技术语言告诉你,零知识证明如何改变区块链

英超下注

英超下注网址|用最简单的方式,谈谈浮动“简化区块链”的建设模式和巨大价值。作者:罗纳德曼纳克,区块链创业公司史达琳协议的首席创始人兼首席执行官。

编译:鲁有很多关于的技术博客文章。最近,我还写了一篇文章,为了标准化的目的,比较了各种新的zk-SNARK。我发现关于零科学知识证明用例的文章很少,都是用简单的非技术语言解释的。事实上,零科学知识不仅可以用于隐私,还可以用于许多其他目的。

它的功能如此丰富,甚至可以定义区块链的运作模式。精简区块链,从GB传输到KB区块链的块可能相当大,而且它的大小正在快速增长。这源于它最初的设计。我们也慢慢拒绝接受这个现实。

不过最近公布的Coda项目测试网就不一样了。首先,Coda的区块链也是一样大小,会快速增长;其次,只有22KB!甚至80年代的8位家用电脑康茂德64或ZX频谱也能放进去。而且,与传统的区块链相比,Coda的安全性差不多甚至更高。

还有更多类似但更好的“精简区块链”项目,比如Mir和Starling(我也参加过Starling项目)。这到底是怎么做到的?只要您尝试部署一个区块链节点,您就不会知道这个过程有多痛苦:节点需要几个小时甚至几天才能实现实时。区块链是如此之大,以至于大多数家用计算设备的磁盘空间和比特率几乎被拒绝。

结果就是集权。即使是像以太博物馆这样受欢迎的区块链也有10,000个节点,其中大部分都托管在亚马逊AWS上,只有少数实体可以使用。区块链没有很多人想象的那么分散。

为什么实时构建一个区块链需要这么长时间?主要有两个原因:第一个原因很有意义:iTunes对于几百GB甚至更多的数据,一定要花很长时间;第二,iTunes完成后,区块链应该已经测试过了,因为故意的节点可能会给你发送不准确的数据。要验证一个区块链,需要从创世纪块重放整个链:继续执行第一个事务,并确保所有计算出来的状态与iTunes获得的状态相等。然后继续进行下一笔交易,直到您在区块链完成所有交易。这不仅耗时,而且浪费资源。

在你之前,成千上万的节点做着完全一样的计算工作。为什么要这么做?因为在传统计算中,判断计算是否准确的唯一方法就是做一次计算。如果是小范围计算的话,那就这样吧,但是情况跟纠正一个区块链的“慢计算”几乎是不一样的。可以提高效率和比特率的零科学知识证明,其实有一种方法可以低成本的检查一个计算结果,但是需要轻算,那就是零科学知识证明(ZKP),其中zk-SNARK大概是最知名的一种。

它是如何工作的?我们必须把区块链的纠错功能改写成zk-SNARK。这个zk-SNARK会输入两样东西:具体输入(就像原来的纠错功能一样);一个小小的数学“证明”,证明这个结果是计算准确的。

这个“证明”可以小到200字节(最后接近1KB)。这样,我们就不必通过纠错功能来运行所有(或多个)计算机。这个“证明”是由一台计算机创建的,其他无限数量的计算机可以在它们指示的适当时间再次进行测试。

无论具体计算多长时间(甚至几小时、几天,甚至几年),检查只需要几毫秒。这个“证书”可以在线发送,可以存储在u盘里,甚至可以打印在t恤上。
如果一个刻意的节点改变了一笔交易的余额,网卓新闻网,那么这个“证明”和结果不会有什么不同,所有的检查人员都会拒绝接受这个状态。

如果一个故意的节点改变了zk-SNARK代码,结果不会被拒绝。(有一个“第三参数”,公开发布的共享字符串,这个“证明”不会绑定到这个zk-SNARK代码。

如果更改代码,则不会给出“证明”和共享字符串,因此检查者不会拒绝接受结果。)我们还是要便宜计算,不用iTunes区块链(因为我们已经有了这个区块链不存在且有效的数学证明)。你所需要的是当前状态(比如最后一个块),加上少量的“证明”当前状态是有效区块链的一部分,然后花几毫秒检查结果。

递归人测试一个“证明”很快,但是创建这个“证明”怎么样?只是时间不同。与传统计算相比,它在计算和存储方面的效率要低得多。

本质上,虽然zk-SNARK版本的纠错功能听起来不错,但实际上解决方案并不太好。与以前的非zk-SNARK纠错功能相比,它必须有更大的内存和更快的速度。然而,还有一个优雅的计划。我们发现用一点技巧,只能用于递归zk-SNARKs。

通过迭代,我们不必从头开始测试这个区块链,而是可以建立在之前的状态上。不会再快了。

必须注意的是,递归zk-SNARK仍然不如非迭代zk-SNARK有效,但是,zk-SNARK的结构最近发生了很大的变化。递归zk-SNARK程序不会使用属于“先前状态”的“证明”和新事务作为输出。

它不检查以前的状态(使用获得的证书),并检查新状态下的交易是否有效。如果没有问题,就不进入新的状态,不进入“证书”。一旦新的状态和“证书”被发送到网络,所有节点可能不得不丢弃先前的状态,这将产生任何负面影响。

新节点只需要iTunes最近的状态和“证明”。这也是为什么Coda,Mir,Starling可以造出同样大小的小块。

在上面的例子中,创建一个新的块和“证明”只需要一个节点。似乎我们没有适当地让同一个节点分解所有的块。举个例子,可以从多个节点中随机选择一个节点(有可验证的随机函数,很多节点甚至可以自由随机选择自己,这样会让傻子不道德)。

英超下注

我们甚至可以做得更好:将块分解逻辑分成多个zk-SNARK。最终的结果是,区块生产者不需要原来的区块链,它只需要以前的状态。这不会大大减小块的大小。一个传统的Coda节点只需要22 KB来存储一个账户余额的“证书”、当前状态和Merkle路径。

仅用22KB,一个节点就可以检查整个区块链,找到余额并创建事务。然而,如果要分解块,这个节点必须更多:它必须是前一状态下所有余额的Merkle根。

Merkle的根源在于钱包的大小和数量。如果Coda的钱包有Ethereum那么多,那么Coda区块生产者只需要1 GB左右的容量。比以太网大的原始节点为230 GB(2019年12月的数据)。

差距巨大。利用零科学知识,证明区块链网络中会有更多的活跃节点,这提高了分散化程度,并使各种程序与区块链交互成为可能,这需要像Infura或Metamask这样的解决方案。

想想看,99%的新用户在安装Metamask时选择自由退出。所以,这个变化会带来很大的影响。
感谢以下人士的贡献:丹尼尔卢巴罗夫(mir)、谢恩维塔拉纳(Shane vitaran英超下注a)、斯坦范德堡(stan van de burgt)、塔里克刘易斯(taariq Lewis)和德米特里贝伦宗(Dmitriy Berenzon)。

作者允许翻译和出版文章的中文版本。【英超下注网址】。

本文来源:英超下注网址-www.lczhce.com