大规模运行DNN又贵又慢?这个区块链平台选择「躺平」:不需要就不运行

新智元

共 2571字,需浏览 6分钟

 ·

2021-07-13 15:29



  新智元报道  

来源:arXiv

编辑:LQ Priscilla

【新智元导读】区块链也许会是深度神经网络(DNN)大施拳脚的舞台,但是它又贵、效率又低。最近,arXiv上一篇文章介绍了一种新的区块链平台「新希望」,不仅可以维持平台计算效率,还能通过「懒惰操作」、按需执行大大降低成本。


深度神经网络(DNN)在区块链应用中可以发挥巨大作用,如DeFi和NFT交易。



然而,作为「智能合约」的一部分,训练/运行大规模的DNN在今天的区块链平台上是「不可行」的,这是由于这些平台的两个基本设计问题。


首先,现在的区块链通常要求每个节点在任何时候都保持完整的世界状态,这意味着节点必须在每个区块中执行所有交易。这对于涉及DNN的计算密集型智能合约来说是非常「昂贵」的。


其次,现有的区块链平台希望智能合约交易有确定的、可重复的结果。相比之下,DNN通常在大规模的并行计算设备(如GPU、TPU或计算集群)上进行训练/无锁运行,这往往不能产生确定的结果。


新希望(ANH)


为了解决这两大智能合约之痛,近日发布在arXiv上的一篇论文提出了新颖的平台设计方法Training Massive Deep Neural Networks in a Smart Contract: A New Hope(在智能合约中训练大规模的深度神经网络:一个新希望),统称为A New Hope(ANH)



该论文提出了以下观点:


(1)计算密集型的智能合约交易只由需要其结果的节点执行,或由专门的服务提供者执行;


(2)非确定性的智能合约交易会导致不确定的结果,虽然成本相对较高,但仍然可以验证;具体到DNN,验证成本往往可以通过验证结果的属性而不是其确切值来降低。


此外,论文还讨论了ANH的各种影响,包括它对代币可替换性、分片、私人交易和智能合约的基本含义的影响。


「新希望」前景


成本高昂、DNN训练无法产生确定性的结果,为解决这两大痛点,论文作者提出了一套全新的平台设计,统称为「新希望」(ANH),从而实现将大规模 DNN 集成到智能合约中。


具体而言,ANH具有以下特点:


  • 新区块的验证者不执行其中的交易。

  • 交易按需执行,可能通过链上会计师的服务提供商进行。

  • 允许智能合约交易具有不确定性结果,这些结果通过特殊验证机制进行验证,可能涉及其它智能合约。


在论文中,作者主要论述产生确定性结果的情况。


由于在现有的区块链体系中,每个节点都需要在所有区块中执行所有交易,在任何时候都保持完整的世界状态,这就意味着,节点只有在该区块中完成所有交易后,才能结束该区块的处理。


一个区块由一系列交易和额外的验证信息(例如签名和哈希值)组成,如果一个区块含有密集计算的交易(如大型 DNN 训练),则所需的处理时间会太长


为解决这一问题,ANH做出了大胆的改动:除了原始区块(b0),没有包含世界状态信息的区块。


此外,只要创建节点收集一系列的交易,就能形成一个区块。验证者只需要验证每笔交易中的签名并完成共识过程。


换言之,区块创建者和验证者都不需要运行任何交易


双重支付(Double-spending attacks)问题随之产生,但由于区块链的共识协议,A向B、C双方的支付是有顺序的。因此,执行这两个交易时,后者会因为账户余额不足,交易失败。这样就能够避免出现双重支付的情况。


监测交易结果。世界状态实际上存在于每一个区块中,只是没有人观察而已。如果有足够的时间,任何节点都可以通过执行交易来观察世界状态。即提交到区块链中的每一笔交易都已经发生,并且已经永久且不可逆地改变了世界状态。


DoS攻击问题。



智能合约的Exec-DoS函数,理论上能够修改任何用户以及任何智能合约在区块链上的账户余额。也就是说,每一个账户余额查询的结果取决于 Exec-DoS 的执行,这涉及计算成本高的操作(第 1 行)。


从本质上讲,此类交易是对整个区块链平台的一种DoS攻击,显着增加了帐户余额查询的成本


为了解决Exec-DoS,一个可能的解决方法是对发起调用此类合约的交易的帐户施加经济处罚


例如,平台可以要求每笔交易明确声明可能受tx影响的账户,和/或智能合约存储状态,并为每笔交易收取费用。修改未声明账户会被视为无效操作,任何有此类操作的交易都会被撤回。


虽然这样的措施能够缓解一般的DoS攻击,但并不能阻止针对特定账户的攻击。如发起类似于以下的合约,以增加目标受害者的账户余额查询成本。



解决针对性的DoS攻击并不容易,但ANH提供了另一种方法:建议用户仅执行最少的会计查询,这些查询仅从区块链中检索所需的信息。


拟议的ANH采取了大胆的行动,取消了交易的有序列表。因此,除了genesis block的单一例外,没有任何区块包含关于世界状态的信息。因此,一个区块可以在其创建者节点收集到交易列表后立即形成,使区块验证器能够简单地验证签名,而无需运行交易。


另外,由于在交易中包含昂贵的DNN训练时,实时维护整个世界状态并不具有成本效益,因此ANH采用了「懒惰」的交易执行策略:只有在需要其结果时才执行交易。



基本上,智能合约中的Oath-of-Correctness函数将(i)用户的查询Q作为输入,其结果可以由区块链上的过去交易唯一确定。另外,还会将(ii)账户声称的Q的结果r作为输入。完成了客户要求的计算,它就会用结果调用Oath-of-Correctness。



总的来说,ANH通过将智能合约的计算推迟到支付时间来维持区块链平台的计算「效率」


关于作者



本文作者为Yin Yang,根据google scholar显示,还曾写过关于区块链的其他论文Linbft: Linear-communication byzantine fault tolerance for public blockchains(Linbft: 公共区块链的线性通信复杂容错机制)。



参考资料:

https://arxiv.org/abs/2106.14763



浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报