区块链:链下扩容方案之链下计算,尚在征途的扩容良方——区块链技术引卷之十三

通证通研究院×FENBUSHIDIGITAL联合出品

文:宋双杰,CFA;田志远;王泽龙;金佳豪

特别顾问:沈波;Rin

导读

链下计算是区块链链下扩容的解决方案之一,目前已经提出了多种链下计算方案并且正在逐步落地。

摘要

当前区块链普遍面临链上数据处理能力不足的短板,制约了区块链进一步应用的可能性。以此为背景,链下计算作为扩容方案之一被提出,其基本思路是将原本置于链上处理的各类事务,移至链下处理,而链上仅保留验证的部分,以此间接提升链上的数据处理能力。

链下计算主要包括可验证的链下计算、“飞地型”链下计算、链下安全多方计算、激励驱动型链下计算四种方式。它们各自存在优劣势,有些方案较为新颖,较少甚至没有项目部署,如zk-STARKs、Bulletproofs等,有些方案则已经过了大型项目的检验和认可,如zk-SNARKs。

可验证的链下计算涉及到两类角色:验证者与证明者,前者位于链上,后者位于链下。

“飞地”型链下计算基于TEE。在该计算模式中,链下计算专门于可信的“飞地”中进行。

安全多方计算可以实现在各方均不知道完整数据内容的情况下,通过联合它们对各自部分数据的计算结果,得到最终结果。

激励驱动型链下计算假设参与计算的各方都是理性的经济人。该模式主要涉及到两类角色:处理计算任务的求解者、重新计算求解者所处理过的计算任务并检验其是否有误的验证者。但在一些方案中会引入更多的角色。

Dune推出文件夹、链下数据上传等新功能:7月18日消息,区块链数据分析平台Dune发布了一系列新功能,以提升团队在Dune上的协作效率。新功能包括:1.文件夹:团队现在可以以结构化的方式组织查询和仪表;2.链下数据上传:Dune现在允许用户将自己的链下数据(如CSV文件)上传到Dune并创建可查询的表格;3.仪表板和查询调度器:用户现在可以根据自己的业务需求定期调度仪表板和查询;4.查询API端点:Plus和Premium团队的用户现在可以在DuneIDE之外创建、读取、更新或存档查询。

这些新功能旨在简化协作,自动化任务,并专注于挖掘重要的洞察。Dune表示,他们致力于支持团队的长期发展,并根据用户反馈推出更多以团队为中心的功能。[2023/7/18 11:02:45]

目前,多种链下计算方案已经取得进展或正在落地,链下计算作为区块链的扩容方案之一,未来将获得进一步的发展和应用。

风险提示:技术进展不及预期、链上链下信道安全

目录

1链下计算,链上验证

2链下计算的四种主要模式

2.1可验证的链下计算

2.2“飞地”型链下计算

2.3链下安全多方计算

2.4激励驱动型链下计算

3尚在征途,逐步落地

正文

链下计算是区块链链下扩容的解决方案之一。

1.链下计算,链上验证

新交易的发生导致链上的“状态”发生了改变,区块链可以被看作是处理一个“状态转换”函数的机器。链下计算是一种将计算“状态转换”函数的过程由链上转移至链下,而后相应的结果交由链上验证的模型。

声音 | ZB创新智库:Spider技术赶超闪电网络链下支付通道网络速度:ZB创新智库援引区块链外媒消息,MIT计算机科学和人工智能实验室(CSAIL)的研究生Vibhaalakshmi Sivaraman)提出一种\"Spider\"(译为“蜘蛛”)密码路由方案,与直接在区块链上进行的支付相比,支付更快,更具可扩展性,相比之下,闪电要花费数毫秒至数秒,效率低下的路由通信方案会降低闪电网络支付方案速度。

CSAIL分析称Spider的工作原理是将交易分成较小的数量或“数据包”,以不同的速率通过不同的渠道传播。 通过将金额分成几小部分,可以通过资金水平较低的帐户进行大笔付款,避免因为一次大笔付款资金金额过高被资金不足的帐户拒绝(这会导致交易重新路由时造成延迟)。

更多投研报告内容请参考官网。[2020/2/4]

首先,任意链下节点从区块链中检索相关的状态作为输入。与链上对数据完全公开的处理模式不同,链下计算过程中的相关信息可以是公开的,也可以是私密的。

基于输入值,链下的节点计算出“状态转换”函数的结果,而后将其发送至链上。公开的输入无需隐藏计算过程,而私密输入的计算过程则需要保持私有。链上对该函数值进行校验,如果函数值正确,则其被记入链上的状态。

为什么需要引入链上验证的环节呢?因为链下计算“状态转换”函数并提交结果时,可能存在造假或者欺诈的情况,引入链上的验证者则可以有一个校正的B计划。

2.链下计算的四种主要模式

声音 | 姚前:需加强链上和链下数据治理 建立区块链数字治理体系:今日,国务院参事室研究员、前中国人民银行数字货币研究所所长姚前发文《姚前:区块链高质量发展与数据治理 | 互联网金融》指出:怎么发展好区块链是当前亟须回答的关键命题。本文认为,先从数据存证、共享入手是务实策略,考虑到技术前沿在公有链,我们应支持公有链的研究,为了防范风险,须改造公有链。基于现实环境,联盟链或许是应用落地的较优选择。应加强国产密码算法应用和创新发展,以保障我国区块链安全可控。当前最重要的是,我们应提倡区块链的高质量发展,为此,需要加强链上和链下数据治理(Data Governance),建立有效的区块链数字治理体系。[2020/1/14]

2.1可验证的链下计算

要实现可验证的链下计算模型,有三种算法可以作为路径:

概念

这一模式涉及到两类角色:验证者与证明者,前者位于链上,后者位于链下。该模式的运作过程同链下计算的基本定义类似,在此不赘述。

主要特性

非交互性。证明者能够在一条信息中,使验证者信服。交互性强的方案将产生多笔区块链事务,增加区块链网络的负担并抬高验证成本。

低廉的验证成本。特殊情况下,如对机密性的信息进行检验时,相对较高的验证成本是可接受的;否则正常情况下,链下计算+链上验证的成本应该低于纯粹的链上计算成本。

实现情况

要实现可验证的链下计算模型,有三种算法可以作为路径:

1)zk-SNARKs

zk-SNARKs是零知识证明这一算法的变体,其名称是:Zeroknowledge、Succinct、Non-interactive以及ArgumentsofKnowledge、Proofs这些词汇的复合缩写。

现场 | 智度集团武楗棠:区块链溯源需要链上链下的数据打通:金色财经现场报道,智度集团武楗棠在“2019 CAN 万物互链·区块链与全球经济新格局”大会上表示:我们目前在做的工作中,第一个部分是区块链溯源,这是一个与区块链天然契合的场景。但这个过程中存在的一个痛点是,如何保证上链数据的真实性。链上链下的数据需要打通,这就需要结合线下的防伪技术。另外还在进行的工作是,将区块链与扶贫结合,用区块链技术保证特色产品的真实。此外,我们还在做电子发票等与区块链技术相结合。区块链可应用于智慧政务、智慧金融、和智慧民生。但这些场景还需要大数据、AI等其他技术的支持。

目前区块链的人才远远不够,还需要一个长期的积累过程,人才需要一个沉淀的过程。[2019/12/3]

相比零知识证明这一“本体”,zk-SNARKs使得证明者和验证者间互动极少甚至没有,并且其验证成本较低,计算安全性相对较高。

目前,zk-SNARKs依赖于证明者和验证者之间的初始化可信设置——这意味着需要一组公共参数来构建zk-SNARKs,从而创建私有事务。这些参数被编入协议中,是证明交易有效性的必要因素之一。其潜在的问题是,参数通常由小部分群体制定,可能存在信任问题。此外,在理论上,如果证明者拥有足够的算力,就可以提交假证据,影响整个系统。这是为什么量子计算机被认为是这种算法的威胁的原因。

目前部署zk-SNARKs算法的知名项目有Zcash、Loopring等。

以太坊也有望部署zk-SNARKs。2019年1月份时,以太坊基金会与初创企业Matter在以太坊测试网络上,联合发布了使用zk-SNARKs的侧链扩容方案。

2)Bulletproofs

该算法是由伦敦大学学院的JonathanBootle与斯坦福大学的BenediktBunz于2017年末共同提出,它属于非互动性的零知识证明可验证计算方案,相较zk-SNARKs,它的验证成本更高一些,但是不需要可信的初始设置。

动态 | Unwriter 推出图灵完备链下比特币交易去中心化账本 Overpool:匿名开发者 Unwriter 宣布推出图灵完备的链下比特币交易去中心化账本 Overpool ,根据其发布的文档描述,Overpool 允许用户毫不费力的设置一个 HTTP 端点,接受用户已签名或未签名交易,创建一个带有时间戳标记的链下账本,同时可将选择将交易在广播之前以去中心化的方式在 DAT P2P 网络上共享。Overpool 提供基于文件的分类帐本,不仅提供了可追溯性,还允许直接输入诸如 Neon Planaria 之类的状态机框架。与 Neon Planaria 结合使用时,Overpool 即成为一个图灵完备的系统,可循环交易直到准备好提交上链。Neon Planaria 即将在原生系统中支持此功能,不过,即使不使用 Neon Planaria,也可以仅从 Overpool 分类帐中构建图灵完备系统。目前该服务已获得 MIT 许可证,可与任何区块链一起使用。从理论上讲,这可以使 BTC 和 BSV 区块链协调工作,让 BTC 区块链具有自己的共识规则和区块大小的池,并在必要时提交 BSV 链。[2019/9/26]

Monero是主要加密通证中率先部署Bulletproofs这一算法的。据Monero官网所述,2018年夏季,其社区发布了针对Monero部署Bulletproofs的审计报告,且Bulletproofs率先在MoneroStagenet上部署,至2018年10月,Monero主网完成了Bulletproofs的部署。

据MoneroResearchLab研究人员SarangNoether的说法,自Bulletproofs部署以来,Monero上事务的平均体积下降了80%,交易费用也显著下降。

3)zk-STARKs

该算法由以色列理工学院的Eli-Ben-Sasson教授创造。它是zk-SNARKs的替代品,并且被认为是一种更高效的算法,但囿于其难以部署的现状,未来是否会有更高的性价比尚未可知。

与Bulltetproofs类似,zk-STARKs不需要初始化可信设置——因为它使用抗碰撞哈希函数进行更精简的对称加密,并且该算法消除了zk-SNARKs中存在的数论假设——后者执行成本高且易受到量子计算机的攻击。

但是相比于zk-SNARKs,它的缺点在于证明可能会更复杂,从而限制了其潜在性能的发挥。

2.2“飞地”型链下计算

概念

这一计算模式基于TEE。在该计算模式中,链下计算专门于可信的“飞地”中进行,“飞地”的每一条消息都可以被可信的外部实体认证并出具证明。启动计算时,公开的输入值从区块链上获得,而私密的输入值则由链下节点选择性地加入进去。输出结果的完整性通过链上验证“飞地”的证明进行验证。一旦验证成功,新的状态会被记入区块链。

实现情况

目前Enigma与Ekiden等项目尝试了该方案。

在Enigma项目中,计算既可在链上执行,也可在单独的链下“飞地”中执行。Enigma的特定脚本语言允许开发者将目标项标记为私密的,进而强制要求以链下模式进行计算。

与Enigma相反,Ekiden不支持链上计算,区块链仅被用于持久的状态存储。代码和私有输入值由仅同“飞地”通讯的链下客户端提供,一旦计算完成,“飞地”将结果直接反馈回客户端,与此同时,状态被记录到区块链中。

2.3链下安全多方计算

概念

安全多方计算可以实现在各方均不知道完整数据内容的情况下,通过联合它们对各自部分数据的计算结果,得到最终结果。

链下安全多方计算的实现效果也是如此,区别之处在于引入了链上、链下的概念:

首先,隐私数据被分为多份,并以私密输入值的形式分布在一众链下节点间。区块链当前的状态值可被作为公共输入值。然后链下节点计算各自部分的链下状态转换值。

链下节点发布各自结果并进行组合,然后将其置于链上。

链下安全多方计算协议需要满足的一个特性是公共审计,具体的一个例证是,不参与上文过程的审计者可以校验计算结果的正确性。由此,计算结果的正确性可被链上审计者在验证阶段校验,或由链下审计者通过评估链上审计者的审计跟踪来校验。

实现情况

安全多方计算的实现手段一般来说可分为三类:

1)基于Yao混淆电路的构造方法;

2)基于秘密分享的构造方法;

3)基于同态加密的构造方法。

目前已有较多项目尝试使用安全多方计算协议,如Defi、Enigma等。

2.4激励驱动型链下计算

概念

该模式假设参与计算的各方都是理性的经济人。该模式主要涉及到两类角色:处理计算任务的求解者、重新计算求解者所处理过的计算任务并检验其是否有误的验证者。但在一些方案中会引入更多的角色。

实现情况

激励驱动型链下计算中最知名的解决方案莫过于TrueBit,其基本原理为:

用户提出计算需求并支付佣金,如果某个链下的求解者认为佣金价格符合预期,则进行计算并公布结果。此外,求解者也需要提供一笔保证金。

相对于用户与求解者而言的第三方——验证者,可重新运行上述计算并检验其是否有误;如若发现求解者给出错误结果,则可以发起挑战,提交到链上仲裁。同样地,验证者需要提供一笔保证金。

通过链上的智能合约,求解者与验证者共同进行一个验证游戏,而用户置于链上的代码则被用于验证求解者、验证者双方答案的真伪,正确一方获取佣金,另一方则需支付整个验证过程所产生的gas费用。

TrueBit还设计了累积奖金机制,用以维护验证者生态环境。系统会随机选择一些交易,要求求解者同时提交正确答案和强制错误,二者之一会上链请求验证,当强制错误被验证者验证并挑战时,求解者无需遭受惩罚。所有事务的佣金将被抽取一小部分,汇聚成奖金池,用以在累积奖金机制中支付给挑战成功的验证者。

3.尚在征途,逐步落地

在可验证的链下计算的三种实现中,由于初始化可信设置的存在,zk-SNARKs的计算成本相对较高,但是在初始化可信设置完成后,其证明难度与验证的复杂性都很低;zk-STARKs与Bulletproofs两种算法不需要初始化可信设置,计算成本相应较低,但证明难度与验证复杂性却较高,这是其应用的掣肘所在。

从安全性方面来看,激励驱动型链下计算依赖于系统中至少有一位诚实的参与者的假设,恶意的验证者能够用提交错误答案的方式挑战每一个计算步骤,让所有任务经过链上的“挑战”环节,影响系统整体的速度与安全性能。

“飞地”型链下计算的缺点是其依赖于TEE。如英特尔的SGX,一种允许Inter处理器创建一个“小黑匣”作为TEE的技术,曾在黑客攻击前失去效用。

目前,多种链下计算方案已经取得成效或正在落地,如Monero成功部署Bulletproofs后事务体积显著降低;以太坊在测试网使用zk-SNARKs,TPS有望达到500;首个致力于部署zk-STARKs的项目StarkWare也已在测试当中。

注:通证流通市值、Twitter关注人数数据截至2019年7月20日。

链下计算正在进入各大项目的视野,未来将获得进一步的发展和应用。凭借各种优异的特性,链下计算成功吸引了各方注意,例如Zcash和Menero分别部署了zk-SNARKs和Bulletproofs,以太坊核心开发者对zk-SNARKS在扩容方面的表现表示认同,未来使用该技术的链下计算扩容方案或将推及整个以太坊。

附注:

因一些原因,本文中的一些名词标注并不是十分精准,主要如:通证、数字通证、数字currency、货币、token、Crowdsale等,读者如有疑问,可来电来函共同探讨。

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

地球链

[0:15ms0-0:998ms