可扩展角度与隐私计算价值方向详解。
一场硬核FAQ缓缓展开。
可扩展角度
Q:可验证计算是什么?A:可验证计算通常是指Verifiable Computing(简称「VC」),指可以将计算任务外包给第三方算力提供者;(不受信任的)第三方算力提供者需要在完成计算任务的同时,提交一份关于计算结果的正确性证明。
Q:在区块链系统中,哪些计算适合「上链」,哪些不适合?A:区块链链上计算/存储本质是将计算和存储任务(同时地)执行了多次,是十分昂贵的资源开销;因此链上其实并不适合承载过多的计算任务。
另一方面,区块链自身的全局透明、不可篡改等特性,其实适合那些具备「审计需求」的计算任务,例如通过区块链,智能合约执行的「数字资产交易」,需要保证资产交易的公开和可审计;同样是通过智能合约实现的「电子存证上链」,是将司法电子证据作为一种区块链交易发送到链上进行校验计算并保存,也是为了满足公开可审计可追溯的要求。这些链上计算相对更轻量级,且侧重于对业务数据的全局状态更新,例如数字资产交易是更新了各账户的余额,存证上链其实也是更新了证据的状态。
Q:在上链之前,如何保证链下计算的正确性?A:保证链下(通用)计算的正确性,从密码学的角度说,其实还是依赖于可验证计算(VC)技术。可验证计算中,计算者通常会将计算任务转换成算术电路,然后通过密码学技术创建一些公开且可以被快速验证的数学关系式以及式子里的各项值;计算者将这些值发送给验证者。验证者可以通过这些输入的值,校验公开的验证关系式是否满足。
可验证计算的技术模型,包含了对计算正确性的潜在要求,即如果是正确地执行了计算任务,则上述过程中生成的值一定可以满足验证关系式;如果没有正确地计算任务,则过程中生成的值能顺利通过验证关系式检查的概率非常非常低。
Q:保证链下计算正确性的同时,链上的验证如何做?验证速度能不能达到商用标准?A:链上的验证工作,是依赖于计算者提供的一些输入值,和与该计算任务相关的公开的验证关系式。
笼统地说,验证工作的复杂性,会远小于计算任务本身,也就是说,验证速度会比计算更快。好的VC技术,可以让验证速度做到常数级别,即不管计算任务多复杂,仅需常数时间(例如几个毫秒)就可以完成一次验证,商用问题不大。
Q:从可扩展角度来说,可验证计算对吞吐量带来了什么变化?A:可验证计算,包括以zk-SNARKs为代表的零知识证明技术,给区块链可扩展性带来了新的解决方案。以太坊创始人Vitalik在以太坊技术社区曾提出用可验证计算(zk-SNARKs)技术来解决以太坊可扩展性问题,也就是目前非常火热的zk-rollup技术。
大致的思路是,将网络里的区块处理都转交一个链下的第三方,这个第三方可以是不受信任的,他在处理完转账交易的业务后会更新以太坊的账户全局状态,同时他还需要提供一个证明,证明他的整个转账交易处理逻辑,包括对全局状态的更新,都是准确无误的。这个证明,和更新后的账户全局状态,以及压缩
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/63635.html
发表回复
评论列表(0条)