div#pop_ad { opacity: 0; }
AD
首页 > 数字货币 > 正文

通过多重签名、区块链和匿名消息流保护分散式能源交易中的安全

[2021-01-29 05:19:40] 来源: 编辑:wangjia 点击量:
评论 点击收藏
导读: 38.1 引用Zhumabekuly Aitzhan N, Svetinovic D. Security and Privacy in Decentralized Energy Trading th





通过多重签名、区块链和匿名消息流保护分散式能源交易中的安全

38.1 引用

Zhumabekuly Aitzhan N, Svetinovic D. Security and Privacy in Decentralized Energy Trading through Multi-signatures, Blockchain and Anonymous Messaging Streams[J]. IEEE Transactions on Dependable and Secure Computing, 2016:1-1.

38.2 摘要

配备双向通信流的智能电网有望提供更复杂的消费监测和能源交易。然而,与消费和交易数据的安全和隐私相关的问题带来了严峻的挑战。本文研究了分布式智能电网能源交易中不依赖可信第三方的交易安全问题。我们使用区块链技术、多签名和匿名加密消息流实现了分布式能源交易系统的概念验证,使同行能够匿名协商能源价格并安全地执行交易交易。我们进行案例研究,在引出的安全性和隐私需求的背景下进行安全性分析和性能评估。

38.3 技术介绍

38.3.1简介

智能电网(SGs)不仅将提供细粒度的能耗监测,而且将越来越多的住宅发电站点纳入分布式能源交易(如社区微电网)。因此,为SGs提供一个安全的能源交易基础设施非常重要,该基础设施能够执行交易代理之间的合同,处理投标、谈判和交易,同时保护身份隐私。集中能源交易存在着规模和安全问题,如单点故障及缺乏隐私和匿名性。

集中式基础设施的这些主要缺点促使我们使用分散式方法解决能源交易中提供身份隐私和交易安全的问题。通信的分散性依赖于各个节点之间的协作来完成信息传播的基本任务。虽然公钥密码学可以应用于提供一定程度的信息安全性和完整性,但在处理公钥时,最重要的问题是在不依赖可信第三方的情况下确保它们的真实性。

一个不可信或半不可信的分散能源交易系统可以提供交易安全和身份隐私,同时依赖于加密技术,而不是依赖于可信的第三方。为了验证我们的声明,我们已经适应并实现了一个分散能源交易系统的概念验证,其中所有节点共同充当一个可信方的替代品,并通过遍历可公开使用的分布式交易链的历史来对交易的有效性进行投票。比特币系统采用加密的工作证明和嵌套的哈希秘密链,消除了在代理与完全陌生的人进行交易时,需要可信的第三方提供安全和隐私。虽然在一个缺乏信任的模型中维持交易安全,但PriWatt不会透露交易方的身份,并将其财务资料保密。

38.3.2 核心系统组件

PriWatt是一个基于不可信分散令牌的能源交易系统,它为代理提供匿名通信通道,并能够使用分布式智能合约在SG中交易能源所有权。核心系统组件包括交易、区块链、工作量证明、签署交易、多重签名及匿名文件流。

交易是通过数字签名部分数据并将其广播到网络来改变令牌所有权的实例。交易Tx的结构可以用以下等式表示:

区块链是一个按时间顺序排列的块链,通过解决工作证明来保护它。链接是通过将前一个块的哈希添加到当前块,将当前块的哈希添加到下一个块,以此类推。连续嵌套的块保证交易按时间顺序出现,因此,如果不更改其块和所有下面的块,就不能更改回溯的交易。虽然大多数分散式电子支付系统都遭受了双重开销攻击,但区块链使其无法实现,除非攻击者控制了整个网络51%以上的计算能力。

区块链是通过匿名节点的集体投票来控制的,因此诚实节点和敌对节点都参与了块的生成。为了防止重复开销攻击,该系统使得连续嵌套块(块的散列)的生成计算困难。因此,当竞争节点的集体计算能力不支配可信节点的计算能力时,系统应继续正常运行。由于子链只有在比竞争对手链长时才被认为是有效的,所以诚实节点生成新块的速度应该比竞争对手在回溯更改旧交易后试图追赶甚至超过有效区块链的速度更快。系统通过采用工作证明系统来提供这种行为,这证明节点投入了必要的资源来完成计算困难的工作。

工作证明的主要概念是一个谜题,解决这个谜题的成本很高,但是知道所有的输入,要验证就会作弊。简而言之,要生成一个块,节点收集待处理交易,将它们散列到merkle树根的散列中,然后与其他数据一起迭代地散列这个数据集,直到产生一个小于或等于预定义目标值的散列。Target是一个散列值,用作一个阈值,低于这个阈值,必须对块头进行散列才能生成块。目标是256位数字,具有特殊的k个零有效数字,这构成了PoW难度,在拼图解决之前平均需要次尝试。对于给定的目标,寻找证明是一个线性函数,因此目标值越低,需要进行更多的哈希尝试。周期性地,基于网络所涉及的计算能力,解决谜题的难度会发生变化。解决工作证明是一个概率过程,因为要更改散列,需要更改要散列的输入。工作证明是一个概率迭代过程,因此在一定程度上减少了同时生成块的机会。虽然工作证明不能消除块生日冲突,其核心目标是防止双重消费攻击。对于给定的目标T,找到证明H为nNonce的概率为:

一旦找到这样一个散列,一个成功的节点就会将证明连同用于查找有效h的输入交易和其他交易数据一起广播。节点通过重新计算接收到的元组来验证证明,然后确认该块是有效的,并将其包含到区块链中。

为了验证交易的真实性,PriWatt(类似于Bitcoin)使用椭圆曲线数字签名算法(ECDSA)非对称加密。系统使用OpenSSL工具包为ECDSA密钥对生成基于secp256k1的Koblitz曲线。已签名交易允许其他对等方验证发送方是否是他声称的人,并拥有他愿意传输的令牌。

PriWatt继承了比特币交易指定脚本的能力,该脚本定义了交易可以赎回的条件。在比特币中,这是使用基于堆栈的非图灵完整编程语言编写的脚本执行的。脚本语言包括对多签名脚本的支持(OP_CHECKMULTISIG),该脚本至少需要t(n)个指定的公钥,以便在赎回交易上提供签名。默认情况下,多签名交易目前仅用n38.3.3 基于TOKEN的分散能源交易系统

PriWatt是一种基于令牌的能源交易系统,它允许在没有中央价格信号的情况下在对等网络中交易能量。在案例研究中,我们假设消费者使用光伏电池板收集太阳能,并通过向智能电网中其他消费者销售产生的剩余能源来盈利。

在传统的电网中,能源价格由中央机构确定。在SG中,应允许代理商协商能源价格,从而创造一个充满活力的能源贸易市场。这种基于市场的能源贸易降低了代理商对中央能源供应商的依赖性,因为能源供应和需求在各个代理商之间直接匹配,从而导致更分散和竞争的环境。PriWatt满足此要求,使同行能够匿名协商能源价格并安全地进行交易。

38.4 案例:通过微支付渠道交易部分所有权

考虑这样一个场景:Alice想要为每一个kWh付费,而不是购买Bob存储的能量的全部所有权。PriWatt使用BitcoinJ库建立了一个微型支付通道,每次为每个kW付费。虽然比特币允许执行较小的价值转换操作,但有两个潜在的缺点。首先,比特币的每笔交易都要收费,因此对许多小额交易来说,集体收费可能是难以承受的。其次,比特币有一个反洪水算法,如果发现大量连续的小交易,它会降低优先级。用于微支付通道的BitcoinJ库被实现为客户机-服务器交互。简而言之,客户端创建一个时间锁定的退款多签名事务,将其发送到服务器,服务器将其广播到网络。当服务器实用程序的一部分被使用时,客户端将减少他所使用的实用程序的相应价值的退款。然后客户端更新交易并将其发送到服务器。最后两个过程迭代执行多次,直到客户机请求关闭通道或契约中的令牌数量结束为止。然后服务器将交易的最新版本和最新金额广播到网络。

时间锁定多签名退款交易。让我们认为每千瓦时的价格是0.1T令牌。假设Alice创建了一个多签名时间锁定的退款契约multiSigTx,其中包含一个1T令牌。在本例中,1T令牌的全部金额被指出是返回给客户的退款。默认情况下,PriWatt将退款锁定时间定义为24小时。Alice使用匿名消息流将多签名交易发送到Bob的msgAddrB。Bob接收多签名交易并将其广播到网络。

分裂秘密。Bob计算花费整个金额所需的最大迭代次数。在这个例子下是10次。因此Alice可以购买最大10千瓦时。Bob向DSO发送消息,要求再创建9个唯一键,以便按照以下等式生成每个新秘密:

从现在开始,转让所有权仅为0.1的。在Alice的第一次迭代中,使用1kWh的E1Bob发送Alice。 Alice将退款减少0.1T并发送Bob更新版本。对于下一次迭代,Bob发送等,在收到多签名交易的更新版本后,逐渐减少退款。迭代地发生这种情况,直到Alice完成合同或原始合同用完代币为止。然后,Alice要求Bob关闭该频道,Bob获取该交易的最新更新版本,并将该合同广播到网络。如果Alice停止与Bob通信,他仍然可以获得资金,因为他拥有最新的交易更新版本。类似地,如果Bob停止响应Alice或由于任何原因不想关闭频道,那么一旦时间锁定通过,Alice就会收到令牌的剩余部分作为退款。

38.5 本文主要贡献

在本文中,我们解决了在分散的SG能源交易中提供交易安全性而不依赖可信第三方的问题。我们实施了基于令牌的私人分散能源交易系统,使同行能够匿名协商能源价格并安全地进行交易。我们使用区块链技术,多重签名和匿名加密的消息传播流来提供一定程度的隐私和安全性。我们的系统使用基于对等社区的基于数据的复制方法,在这种方法中,事务可以防止故障,因为它们在所有活动节点之间进行复制。此外,比特币中的工作证明允许系统克服拜占庭故障并对抗任何电子支付系统中至关重要的双重攻击。

本文由南京大学软工系2018硕士生刘子寒翻译转述。

添加新手交流群:币种分析、每日早晚盘分析

添加助理微信,一对一亲自指导:YoYo8abc

查看更多:

为您推荐