http://www.7klian.com

硬核:如何应用可验证计较提高区块链机能?

「用非交互式可验证计较来验证区块

我们可以用非交互式可验证计较(NIVC)来验证区块。区块出产者可以在每个区块后头加上一个证明,证明从上一个区块头到下一个区块头,颠末区块的生意业务状态转移正当的。

这样的要领最起码有两个长处:

用这种方法实际上要反复执行整个计较,把计较整个做一遍,才可以验证这个区块正当的。这是不是须要的一件事呢?是不是只能通过这种方法验证?

以下是7kLian.com ChainNews 整理的杨光先生现场分享的干货,以及演示文件:

那么,如何把概率可验证证明酿成非交互式的证明?

假如以为还不足高,可以反复 20、30 次,反复许多次之后,错误的证明概率很是低。功效只需要看证明中常数位,可以很是高的概率验证这个证明是不是对的。

虽然最简朴的要领是用更强的计较机。这样的问题最终有一其中心化的趋势,假如说想一下但愿到达 100 万 tps 的方针,即淘宝峰值 4 倍的生意业务量,需要计较机的机能很是强,能运行这样节点的公司全世界不会太多。

尚有一些其他应用,好比说用 Mass validation 这种方法,可以把生意业务的巨细缩小,现有的环境下提高 10~20 倍。

如何办理单个节点处理惩罚本领的问题呢?一个很是简朴的方法是既然办理不了,爽性放弃治疗,不办理这个问题,只更新状态而不去验证每笔生意业务是否正当的。

第一,单个节点处理惩罚本领处理惩罚不了。

让我们先来看看单个节点处理惩罚本领的问题。

假如有可验证计较证明可以做同步,大部门的节点只体贴当前的状态怎么样,而不是体贴汗青上的生意业务,查抄时只需要证明就可以。虽然,能到达压缩汗青的目标,需要证明自己短,太长没有太大意义。

出产了区块之后,首先要验证区块头,这个价钱较量小。价钱较量大的是验证内里每笔生意业务,拿出来先看签名对的,每笔生意业务在 UTXO 正当,金额也是正当的,之后把 UTXO 更新,再验证下一笔生意业务,一笔笔做下去。这是较量慢的处所。

适才说了,可以把计较外包出去,此刻把验证的任务也可以外包出去。这个证明者说:我可以替你问这些问题,我自问自答,你看我自问自答的演出就可以了。这样的话,证明者会模仿一个虚拟的验证者,虚拟的验证者认真提出问题,证明者凭据它的 PCP 证明答复问题,把通讯的进程写下来,可以当做一个证明来看。

另一方面,也需要保障计较的正确性。神经网络的模子和数据扔到亚马逊云上跑呆板练习的模子最后给出一个功效,怎么才气知道功效确实在模子上跑数据获得的,而不是本身随便生成的一个?假如然的跑数据,要花一些硬件的本钱,尚有时间、电费等本钱,随便汇报一个功效不知道对照旧错的,这样的外包计较就完全没有意义了。

凡是来说,外包计较实现的框架是,用户这边输入一个编码,把编码输入发给事情者举办计较,最后获得一个编码的输出,用户再把输出的编码酿成真正的输出,而且验证功效是对的。

可是在区块链系统中,,无法相信其他的节点,所有都要验证一遍,即所有的生意业务要验证是否有效、所有智能合约的执行要验证执行功效对差池。这样最终导致的功效是,纵然有一千个节点,实际处理惩罚本领大概跟一个就点差不多,因为有一些特另外开销,实际上还不如一个节点的处理惩罚本领。好比,以太坊固然是一个图灵完备、全球化的计较机,可是这个计较机的机能很是低。

「压缩区块汗青的详细要领」

此刻这些问题全是果真的,证明者依然很容易作弊,为了办理这个问题,可以用同态加密的方法,让可信的第三方生成问题时,用同态加密的方法加密一下,再把密钥和一开始生成的问题扔掉,所有的人谁都不知道问题长什么样,可是他们知道这个问题加密过今后的样子,可以在同态加密的方法下去计较问题的谜底,最后也可以验证是不是对的。

「可验证计较可以用来办理区块验证的问题」

首先,让我们看看验证一个区块需要做哪些事?

固然说这样机能可以更高,可是在安详性上有很大的问题。好比说在 2015 年时产生过比特币有六个块的分叉,就是因为矿工在挖矿的时候没有事先验证好矿里的生意业务是否有效,挖了六个块之后才发明问题。这样的环境下,安详性问题很严重。许多处所六个块就已经可以确认生意业务了,所以长度到达六个块的分叉可以组成双花进攻。

此刻大部门的节点只是需要验证区块内的生意业务等内容是正当的,这个事情在区块生成的时候打包者已经做过一遍了,其他的人并不需要反复这个事情。凡是来说,验证一个计较的功效比真正做这个计较花的价钱可以小许多。好比说看到图中这样一个方程,让你解这个方程花的计较劲较量高,因为三次方程不是那么容易解的,假如汇报你这个方程的解是什么,来验证解的对差池,比解方程就容易多了。

这样的话,我们去验证当前的状态以及更新状态时,只需要验证区块头的转移是正当的,验证后头对,就可以了。

在区块链系统中,本质上要求每笔生意业务都能被每个全节点举办验证。可是凡是电脑处理惩罚本领很是有限,不行能处理惩罚出格多的生意业务。

总之,可验证证明在区块链上有许多可以摸索的应用。可是,也得指出,此刻已有的方案在机能上还达不到前面说的那些应用的需求,尚有很长的路要走,必需要靠学术界和家产界的列位同仁配合尽力,一起摸索如何用可验证计较,提高区块链机能。

比特币颠末十年成长今后,区块数据高出 190G,靠近 200G;以太坊颠末三年多成长,整个区块链的数据有 120G——这照旧在自己 TPS 很是低的环境下,数据已经到达这个量级了。

有一些方案可以办理这样的问题。

概率可验证证明是 1992 年提出的理论,是指所有的非确定性多项式时间 (non-deterministic polynomial time, NP) 命题都可以写成概率可验证证明。

「区块链数据增长的问题如何办理?」

接下来说一下区块链假如提高 TPS,还需要办理第二个问题:区块链数据增长的问题。

「区块链机能瓶颈亟需打破」

许多研究者在接头如何对区块链举办扩容,这个话题中很是重要的一个问题是,区块链告竣共鸣的速度很是有限——这是此刻区块链机能的瓶颈。

此刻的环境下,外包计较任务很不经济,加上可验证计较今后,有大概会变得可行。

可验证计较自己可以跟零常识证明合在一起,自己零常识证明需要的交互性和私有随机性都可以用可验证计较办理。

「非交互式可验证计较在区块链上的更多应用」

别的一个长处是,在鼓励方面是较量公正的,因为出块的人可以拿到出块的嘉奖,有责任做更多的计较,而作为其他的节点,验证一个不是我出的块是拿不到任何嘉奖的。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!