没有合适的资源?快使用搜索试试~ 我知道了~
区块链:研究与应用4(2023)100114研究文章通过使用RSA加密算法实现具有紧凑状态的区块链状态通道Lydia Negkaa,Angeliki Katsikaa,Georgios Spathoulasa,b,*,Vassilis PlagianakosaaThessaly 大学计算机科学和生物医学信息学系,Papasiopoulou街2-4号,拉米亚,35131,希腊b挪威科技大学信息安全和通信技术系,邮箱191,Gjøvik,NO-2815,挪威A R T I C L E I N F O关键词:区块链状态通道累加器第二NFTsA B S T R A C T关于目前提出的公共区块链系统的主要问题之一涉及可行的交易处理率。这类系统通常会限制该速率,以保持所需的安全和分散级别状态通道是克服这种限制的一种方法,因为它们旨在减少给定应用程序所需的链上交易,从而间接增加公共区块链系统的容量(就应用而言在本文中,我们提出了一个状态通道的设计,通过使用RSA密码,操作在一个紧凑的状态结构。此方案对于状态包含大量元素的应用程序是最佳的通过分析所有状态通道操作以及如何修改它们,提出了新的状态通道设计讨论了设计的安全性,而关于链上资产的设计的使用的实际用例场景(例如,不可替代的代币)交换应用也进行了分析。1. 介绍区块链技术已经成为过去十年中计算机科学最重要的进步之一[1]。它促进了安全分布式系统的设计和操作,而不需要可信的中心节点。 尽管现有的设计有一些缺点,例如对高负载的使用效率低下或固有的隐私问题,但从Web 2.0转向Web 3.0的愿景[2]以及消除大多数现有系统对中心节点的需求,使人们对区块链技术抱有很高的区块链网络的无限普及和不断增长的使用暴露了大多数设计中存在的可扩展性问题[3]。已经开发了各种方法来解决这个问题[4],其中之一是使用国家渠道[5]。状态通道的运作理念是,交易(也称为状态更新)应该保持在链下,并在直接相关的节点之间进行交互时实现,除非有必要进行区块链通信。然而,为了实现安全性和最终性级别,在区块链中,必须始终能够解决链上的冲突。在绝大多数情况下,这一要求是通过偶尔将状态转换上传到充当裁决者的链上智能合约来满足的为此,状态信道节点经常需要维持多个先前状态。这些数据的大小通常会给渠道参与者的本地存储带来很大的负担,同时当参与者必须在链上解决争议时,也会产生很大的成本。单个状态的大小以及在节点中维护先前状态的必要性水平是状态通道设计的效率和可用性水平的重要参数本文旨在提供一种状态通道方案,该方案将使应用程序的状态通道能够安全有效地操作,其状态可以部分或全部表示为一组动态元素,这些元素的大小往往会显着增长 使用传统的状态信道方法,非常大的元素集合将需要无限的信道状态表示,这将导致实际困难,因为参与者将被要求维护大型数据结构。 根据国家渠道的一般设计,为了解决由于一个人的不活动或恶意行为而引起的潜在争端,* 通讯作者。信息安全和通信技术系,挪威科技大学(NTNU),Mail BoX191,Gjøvik,NO-2815,挪威。电子邮件地址:lnegka@uth.gr(L. Negka),akatsika@uth.gr(A. Katsika),georgios. ntnu.no(G. Spathoulas),vpp@uth.gr(V. Plagianakos)。https://doi.org/10.1016/j.bcra.2022.100114接收日期:2022年2月1日;接收日期:2022年10月4日;接受日期:2022年11月9日2096-7209/©2022作者。出版社:Elsevier B.V.代表浙江大学出版社。这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表区块链:研究与应用杂志主页:www.journals.elsevier.com/blockchain-research-and-applicationsL. Negka等人区块链:研究与应用4(2023)1001142参与者,需要将状态通道的状态带到链上合约。这产生了重大影响,因为在链上引入动态大小的元素列表在技术上具有挑战性,并且只能通过昂贵的(天然气费用)方法来实现,例如,一个接一个地发送元素此外,它将被要求在链上合同中逐个元素地重复解析该列表以解决争议。所提出的设计的基本概念是服务于应用程序,其状态可以部分或全部表示为一组动态元素,这些元素的大小往往会以更有效的方式显着增长所提出的方案用可管理的集合大小的数据结构来表达这种状态通道的状态,这种数据结构不会占用大量的节点存储空间,并且在链上上传和处理时不会产生无限的成本这是通过使用加密算法来实现的,该算法使构造能够有效地满足证明集合中元素的存在/不存在的需要,而这些构造的大小是固定的,并且与它们引用的元素的数量无关。1.1. 研究目标本论文的研究目标如下:开发第一个状态通道设计,可以有效和安全地处理可能包含具有恒定大小状态的无界元素集的所提出的设计适用于applica- tions中的状态完全或部分由无序元素的动态集修改现有的状态通道方案,以便在状态通道的资助、状态更新、争议和关闭阶段充分处理作为状态一部分的RSA认证。对一个用例场景的深入分析,该用例场景演示了所提出的方案在一个特定的实际应用中的应用。对所提出的设计进行安全性分析,以确保其提供与现有状态通道设计相同的安全级别2. 相关工作2.1. 在国家频道2.1.1. ForceMove:一种n方状态通道协议ForceMove [6]开创了一种设计,随后在争议处理方面被大多数国家频道设计所采用 通过专注于回合制应用程序,作者开发了一种机制来处理渠道参与者之间与非活动相关的争议。他们的设计确保了一个诚实的一方总是可以收回其资产时,面对一个不合作的一方在渠道。在这项工作中建立的争端处理的主要模式如下:一个挑战者发出争端,和挑战者有一个时间窗口,他们可以提供一个有效的响应,或通道关闭根据最后的有效状态,通常有利于挑战者。2.1.2. 反事实:广义的国家渠道Counterfactual [7]的作者的目标是创建一个“状态通道模板”,只要进行一些特定于用例的修改,任何应用程序都可以使用该模板。提供了一个易于使用的API,以便任何满足要求的应用程序都可以进行这些修改。设计的概念围绕着术语“反事实”,它代表尚未发生但无法阻止发生的结果,状态和合同实例,因此具有相对的终结性。还实现了met-achannels,这是两个用户之间通过公共中介形成的通道2.1.3. 你击沉了我的战舰!评估状态通道作为加密货币Kitsune,在这项工作中提出的框架,是一个应用程序不可知的,n方状态通道架构,结合了作者在以前的实现中发现的最有用的功能,如Sprites和Perun。 它为应用程序合约提供了一个模板,便于将状态通道功能添加到任何现有应用程序中,并且只需冻结链上的应用程序功能并将其转移到通道,然后在通道关闭时恢复它。在通道上运行应用程序期间,任何一方都可以提出更新,并且必须收集所有其他方的签名才能被视为有效。 该文件没有解决如何处理同时提出更新的情况。 该渠道可以通过合作或争议来关闭。争端可以由任何参与者发起,并启动一个计时器,供各方提交状态信息。任何人都可以解决争议,似乎唯一可能的结果是将状态赋予应用程序合约并在链上恢复作者进行了一项实验,分析了通过状态通道实现战舰游戏的过程、挑战、成本和有用性,得出结论认为,任何有活跃度要求且并非所有参与者都愿意合作的应用程序都不适合这项技术。2.1.4. Hydra:快速同构状态通道Hydra设计放弃了状态通道设计通常通过支持通过使用扩展未使用事务输出(UTXO)模型启用的并发处理来作者描述的同构通道称为头,其功能是将参与者决定的一组UTXO移动到链下,在那里发展它们,然后确保通道的最新状态在链上反映该过程以初始事务开始,通过该初始事务,信道所需的参数(例如,参与者列表),并且为每个参与者伪造状态验证过程所需的参与令牌。状态命题通过多重签名进行验证,并定期收集到快照中,以对齐头部方的通道视图,由于并发事务确认方案,这通常会有所不同。 快照领导者负责国家的这次聚会和可能需要的冲突解决方案。在通道关闭时,会发生一个验证站,在此期间,通道成员提交的有效状态比任何已经提交的状态都要新,最新的状态会在头部结束后在链上被反映。 这种设计导致同构通道比以前实现的任何通道都快,并且具有接近物理极限的性能。2.1.5. 多方虚拟状态信道这项工作的作者提供了两个重大贡献的国家渠道现有的出版时。在这项工作中介绍了多方虚拟状态通道,2方虚拟通道,已经实现的扩展。虚拟通道可以在不涉及区块链的情况下打开和关闭多方虚拟状态通道可以执行涉及两方的它们是在2方账本通道网络上反复建立的,所有参与者都必须通过该网络连接,并且不支持创建固有长度更长的通道。 对于创建的每个多方虚拟通道,参与者必须在每个子通道合同实例中安装,以保证中介的资金是安全的,并且虚拟通道的结果将在所述子通道上更新。第二个主要贡献是引入了直接的国家争端渠道。 它们引入了重新设计争议过程的功能,以便参与者在诚实的一方识别出可能的恶意行为后尽快参考分类账,而不是联系中介。争议委员会是一个链上组件●●●●L. Negka等人区块链:研究与应用4(2023)1001143在有争议的情况下上传状态进行比较,并最终确定有效状态。这种方法使得通道的最坏情况时间复杂度与其长度无关,并允许其他合同看到和使用争议结果然而,根据场景的不同,它可能会在区块链上造成严重的事务负载,因为所有各方都可能被要求上传他们的状态视图。实施直接和间接争议程序的渠道可以以任何比例无缝合作,最好地服务于每个应用程序。作者2.1.6. 精灵和国家渠道:比闪电更快的支付网络尽管Sprites提案的主要焦点是支付渠道和网络,但他们的设计基于一种模块化方法,该方法依赖于一般的状态渠道建设。状态通道主要用于争议处理,其顺序已被大多数以下状态通道设计所采用:一方在恶意行为发生后提出争议,随后提交证据的时间段,最后,根据情况,解决要么在链下清除,要么在链上解决。2.1.7. 两党国家渠道与断言这项工作[8]提出了一种创新的设计,旨在降低将状态带入链上的过程的成本,并减轻诚实方提出争议的成本。该设计严格关注回合制性质的两方应用程序。作者提出,在争议期间,最初只向合约提交状态的散列,以试图使链上数据的大小保持不变,并且与状态的大小无关。2.2. 关于密码学对区块链实现的最新见解解决了比特币,特别是UTXO协议的可扩展性问题据作者然而,一些有趣的方法,提出了进一步了解的实用性的可伸缩性。2.2.1. 将应用程序批量处理到IOPS和无状态区块链的技术在这项工作中,Boneh等人。[9]使用新的累加器和向量承诺构造来设计一个无状态区块链,其中节点可以参与而不存储账本的整个状态,而是对其进行短期承诺。更小的成员证明,恒定大小的证明以及为一批交易聚集这些证明的能力的好处是未来研究和实际应用的有希望的方面。2.2.2. Zerocoin:来自比特币的匿名分布式电子现金Zerocoin [10]是一种分布式电子现金方案,作为比特币系统的扩展,依赖于RSA的加密特性和非交互式零知识签名来允许匿名货币交易。2.2.3. EPBC:面向轻量级用户的高效公共区块链客户端EPBC[11]旨在为基于区块链的应用程序的轻量级用户提供一种检查给定区块及其所包含交易的有效性的机制,而无需存储整个区块链。 其目的是为区块链交易历史提供一种紧凑的形式,并使用RSA累加器减少存储需求。2.2.4. Utreexo:一个针对比特币UTXO集优化的基于哈希的动态累加器另一种有效管理的应用方法是UTXO集合是基于动态哈希累加器描述的[12]设计为完美二进制哈希树的森林。2.2.5. 州议会大厦的状况:探索州议会大厦的改进与状态通道对齐,statechain [13]是链上UTXO的链下事务的第二层解决方案提出了状态累加器的概念,因为它们保持恒定的大小,独立于在信道的生命周期内进行的传输的数量,并提高了参与者的存储要求。然而,该方案需要可信设置,并且在此之上,基于信道的可信管理器实体的存在,除了设置累加器之外,还需要该可信管理器实体在信道的生命期内保留所有先前状态这极大地限制了协议的适用性,因为它不能有效地操作无限数量的状态更新。2.3. 总结由于之前没有任何类似的技术来解决无限信道状态大小的问题,因此引用的作品涉及我们的设计所基于的技术:状态信道和密码图形加密。处理状态大小问题的单一发布[8]是在显著不同的条件下进行的(最初尝试通过仅提交状态的哈希值来解决争议),并且结果仅取决于链上提交的数据,而不是参与节点中占用的存储空间,因为它们仍然必须完整地维护信息。3. 初步概念3.1. 状态通道事实证明,区块链技术的影响比它最初普及时所预测的要这一事实使目前区块链设计所面临的主要可扩展性问题浮出水面。 区块链系统应该优先考虑三个属性:安全性、去中心化和可扩展性。人们已经做了很多努力来保持这三个标准,但成功有限,导致在绝大多数实现中至少有一个必须牺牲[4]。在迫使最慢的节点成为设计瓶颈的解决这一问题的办法主要分为两类:第1层涉及区块链系统基本原理的变化,例如不同的共识机制[14,15]或分片的实现[16,17]。第2层涉及在现有区块链设计之上的不同层上的构建这方面的主要做法包括:侧链[18]:在主区块链旁边运行并行、独立的链以减少其交易负载的方法Plasma[19]:一个独立的区块链,在以太坊旁边运行,并定期向其提交安全性Plasma不支持通用智能合约的执行。Rollups[20]:Rollups使执行能够在链下发生,而数据存储发生在链上。根据所使用的交易验证方法,它们进一步分为零知识和乐观汇总。支付[21]和状态通道[22]:在乐观的情况下,这两种通道都促进了完整的交易执行支付通道只能容纳表达支付的交易,而状态通道也可以实现智能合约的链下执行。●●●●L. Negka等人区块链:研究与应用4(2023)1001144¼222支付渠道和状态渠道通常被分组,因为一个渠道受到另一个渠道的严重影响支付渠道是状态渠道的前身,最初引入了尽可能在链下然而,它们限制了这一概念在支付中的应用,因此只能适用于严格涉及提款和存款的情况状态通道后来扩展了这个功能,包括状态的改变和代码的执行区块链系统面临的可扩展性问题的根源主要是,无论交易涉及的用户池有多小,它都必须由每个区块链节点执行。状态通道允许通信保持在链外和这个有限的用户子集之间,直到区块链上的更新成为绝对必要。他们还设法维持链上互动可以提供的安全保障和交易的最终性为了能够提供这些保证,通道必须依赖于底层区块链系统的活跃度,因为在悲观的情况下,通道转换必须能够在链上执行为此,渠道参与者必须在渠道合同中锁定抵押品,以便在必要时用于惩罚恶意活动。 在每种情况下,这些资产将在通道关闭时根据其结果重新分配给用户。状态通道在运行时可以分为四个主要阶段开放/融资阶段:这个阶段涉及在其参与者之间建立状态通道此过程通常包括在链上实例化状态通道合同,通过提供抵押资产和资金来为其提供资金,如果适用,并生成信道的起始状态更新阶段:此阶段封装了通道的主要预期功能。用户通过加密签名的消息在链下相互通信,从每个状态进入下一个状态。通道参与者之间的完全共识对于状态被认为是有效的并且与开启状态更新具有同等的确定性是必要的此阶段仅在恶意活动或需要关闭通道的情况下退出争议阶段:用户行为偏离协议使状态通道进入此阶段。 这种行为可以包括提出无效状态或在需要操作时保持不活动。在这种情况下,获得关于状态的完全共识是不可行的,并且通道必须能够依靠区块链系统来获得公平的解决方案;因此,这是链上交互所必需的关闭阶段:该阶段可以通过以下两种方式之一发生:(a)最佳地,用户决定一致关闭通道并结束他们的交互,因此他们为通道提供了一个有效的状态,以最终实现,或者(b)悲观地,在发生恶意行为并且未能以允许通道继续运行的方式在链上解决它之后,资产将根据最后一个有效状态分配给合约。 这是必要的,以保护诚实当事人的资产,他们被困在一个无法乐观关闭的渠道的合同中。一个功能状态通道必须具备以下三个属性:不受信任,也就是说,无论其他参与者的行为如何,参与者都可以确保其资产的因此,用户之间不需要信任在同一级别上保证状态的最终性,这可以在区块链上得到保证。有效地服务于其主要目的,即减少区块链系统将遭受的交易负载3.2. 密码加密累加器是一种加密函数,它能够生成元素集合的包含证明,而不会公开子集合中的已经实现了各种累加器方案建议用于各种应用。所有这些都有一个共同的目标,即确定一个元素是否是集合的一部分。一般来说,累加的值的集合由紧凑的数据结构表示,对于集合的每个值,都可以产生见证证明,并据此确定该值是否包含在累加器中[23]。依赖于基本的密码学原理,由于它们的空间和时间效率,特别是当检查任意大的值集合时,它们引起了越来越多的兴趣自Benaloh等人提出的第一个加密累加器[24],它使用单向RSA函数来解决文档时间戳和加密的目的,许多研究已经扩展了累加器的使用,并提供了许多派生。Merkle树和双线性累积器提供了各种特性,这些特性在各种匿名身份验证应用中非常有用,而RSA累积器具有恒定大小证明的优势。根据它们所建立的加密原语,加密可以分为对称或非对称。此外,DRM可以呈现关于初始集合的大小、成员资格证明的类型、被称为累加器管理器(AM)的可信协调器的存在以及参与者所需的更新频率(通信)的各种特征[25]。组合不同的特征可以提供许多设计选择,从而影响实现复杂性和累加器的整体性能。3.2.1. 蓄能器方案的主要特点累加器方案的主要特征以及相关的密码学假设如下所示。3.2.1.1. 动态累加器。 动态累加器可以在元素从集合中添加或删除时有效地更新,单位成本与累加元素的数量无关[9]。3.2.1.2. 万能蓄电池。在非成员见证人的支持下,普遍的扩展动态扩展[26]3.2.1.3. 无活门蓄电池。累加器常规地使用可信累加器管理器,其允许使用“陷门”从累加器有效地删除元素。密码学中的陷门由执行逆密码操作所需的信息组成[25]。自Benaloh和de Mare的第一个RSA累加器[24]活板门被认为是一种不利因素,任何能够获得此类信息的人都可以伪造会员证明。在最近的工作[9,27-3.2.1.4. 强RSA假设。 强RSA假设是建立各种加密程序的基础,该假设表明给定未知阶数g G的随机生成器,不可能找到它的任何根,即,一个整数lZ和一个元素uG使得g1/l联合强RSA假设推广并蕴涵了RSA假设。3.2.1.5. 自适应根假设。 这个假设是由Wesolowski [28]提出的,他最初将其描述为“根查找游戏”。这两个假设是不可比的,因为后者指出了找到所选群元素的随机根的困难,而前者坚持找到给定随机群元素的所选根的困难[9]。3.2.2. 基本累加器方案下面,我们描述累加器的主要功能,考虑到可信管理器的存在,负责元素的用户和充当证明器的相应成员资格见证●●●L. Negka等人区块链:研究与应用4(2023)1001145þQ2以及在特定验证回合中作为验证者给出相关证明的用户[30]。● 生成/设置算法由管理器执行,并生成累加器A0的初始设置。● 加法算法将元素x添加到累加器,并产生更新的累加器值At 1和元素x的成员资格证明,标记为wx。另外,upmsg(t_n_1)产生一个更新消息,它使用户和证明持有者能够保持他们元素的见证者是最新的● Del算法分别从累加器中删除一个元素x,生成更新的累加器值At_(?)1和元素x的非成员证明,记为u_x,并为用户生成更新消息upmsg(t_(?)1),创建成员/非成员见证算法分别构造元素的包含或排除证明更新成员资格/非成员资格见证算法在向累加器添加或删除另一个元素y之后更新元素x的成员资格/非成员资格见证。验证算法由保存累加器的最新状态的任何用户执行,累加器中元素x的存在可以使用其成员证明wx来验证。非党员证人也可以作证。4. 具有紧致状态的状态通道设计在本节中,我们提出了一个修改后的状态通道设计,支持应用程序,其中的状态可以部分表示的一个或多个动态无序元素集。应用程序不同状态之间的转换包括添加或删除集合中的元素。该设计通过使用状态通道和密码加密来实现这些应用程序的安全和有效操作所提出的方案的目标是通过结合链上安全保证和链下效率来支持上述应用程序,而不管元素集的大小。该方案的介绍分为两个部分。在第一部分中,以本工作范围内使用的形式和容量描述了在第二部分中,分析了将此功能集成到状态通道的过程中。4.1. 累加器功能本工作范围内采用的主要累积程序是基于Boneh等人提出的无陷门通用累积器。[9]的文件。 这种设计遵循Baldimtsi等人的定义和约定。 [30]并建立在一个基本的RSA累加器上,增加了累加器和聚合技术。假设强RSA假设在未知阶的生成群中成立,并且所有累加值都是奇素数,累加器由以下基本过程组成,根据第2.1节中的内容,3.2. 这些基本程序在与基本累加器处理、成员/非成员证明管理和证明验证相关的三个小节中进行了描述。必须注意的是,本小节描述了RSA累加器可用的所有操作。我们的设计适应每个应用程序的要求,并可以相应地利用所描述的操作的最佳子集4.1.1. 基本累加器处理● 设置:生成一个未知阶数的群,并使用生成器g 2 G初始化该群,其中强RSA假设成立。设g是每个元素x2S,S^fx1;x2;.的生成元xng,并且Hprime是将任何元素xi映射到唯一奇素数ei的散列函数:ei<$Hprimexi(1)S的累加器是使用初始元素的代表在与散列函数H撇映射之后产生的。(2)第(2)款● 加法:将来自奇素数域的元素添加到当前累加器值At,并计算累加器At的新值,使得(3)第一次见面Del:从累加器中删除一个元素而不使用陷门,需要重建整个集合。 在这种情况下,根因子算法(自适应根假设)可以用于时间效率。在所提出的方案中,累积元素e i的所有者维护相应的成员资格证明wi,其等于元素聚集之前的累加器的值。基于此假设,更新累加器的过程在等式(1)(四)、第1044章:一个人的世界(4)4.1.2. 成员/非成员MemWitCreate:关于特定集合的元素的成员资格证明等于不包括特定元素的相同集合的累加器值元素ej的成员证明w j可以计算为:(5)第一次见面。然而,在一个隐序群中,用e-j1对代数算子求幂不能有效地执行为了将累加器集成到状态通道的状态表示中,假定将元素添加到累加器的用户保持其先前值A t-1,则可以绕过该限制。 以这种方式,在恒定时间内利用单个求幂来验证成员见证的方法是可行的(如下所述)。NonMemWitCreate:只要所有累加元素的乘积已知,就可以计算不包括在累加器A中的元素ei的非成员见证ui非成员见证等于对(a,gb),其中a,b是ei和累积元素的乘积之间的Bezout系数,依赖于对于任何元素x62S;gcdx;sS的事实。1.一种累加器的使用者,它维护累加集合中元素的知识,并能容易地计算出提供必要的非成员证明的对a,g,b。由于该操作会导致次优存储要求,因此我们的设计在第4.3节中提供了几种替代解决方案(根据应用要求),这些解决方案使状态通道操作成为可能,而无需维护累积集合中所有元素的知识。4.1.3. 证人管理和核查● MemWitUpdateAdd:在添加元素ei时更新元素ej的成员见证,只需将元素ei添加到见证证明wjt即可。●●●●●●L. Negka等人区块链:研究与应用4(2023)1001146×¼B联系我们¼wit1 ½ wiei ¼Aei渠道智能合约累加器功能的某些部分具有t t被认为是相当计算要求;因此,行动已采取措施避免将其带入链上,并尽可能避免● MemWitUpdateDel:在删除元素ej之后更新ei的成员见证需要计算与更新的见证对应的At的ej次根。 通过使用Shamir技巧,我们可以计算Bezout系数a,b,使得a × e i≠ e j1对于互质整数对ei,e j。在计算a,b之后,我们可以根据以下公式生成更新后的成员证明:方程消除使用它们的必要性要在状态通道的状态中包括不同集合的累加器当部署状态通道的通道协定时,必须设置g和N的默认值在状态通道的操作期间,每个新的累加器必须用默认的g和N值初始化,以保持相同的安全级别。 如4.1节中所讨论的,N必须由可信节点生成,该可信节点将不使用wit1½wibAa(六)p和q值,或者通过安全的不t1● VerMem:验证元素ei的成员资格证明wi给定当前累加器状态At,G. 需要将元素ei添加到wi中累积的集合中,并检查结果是否等于At。基于虚二次阶的类组的分布式过程[31]。根据国家频道部署的背景,频道运营商必须选择上述两种本小节的其余部分分析了这些功能如何满足状态通道环境中可能需要的功能。的Atwi(七)在随后的附图中使用的符号在图中进行了分析。1.一、4.2.1. 资金● VerNonMem:对于元素e i,给定的非成员见证人u i¼(a,g)被验证,如果等式(8)保持。A A×。gb4.1.4. 累加器设置要求了解可信设置要求的安全含义非常重要。大量的工作都集中在消除这个要求上,因为选择RSA模数N pq会导致阶数φ(N)(p1)(q1)的知识[9]。解决这个问题的一种方法是使用虚二次阶的类群[29,31]。由于最近的应用,如延迟函数[28]和零知识证明[32],最近对未知阶数的群的兴趣增加,许多研究工作已经探索了虚二次场的类群的使用,如Refs。[29、33、34]。如参考文献中所述[34,35],其中一些结构[28]依赖于新的、非标准的密码学假设,即在未知阶数的组中的低阶(LO)或自适应根(AR)假设,这导致了对更好地理解这些新的、非标准的密码学工具并探索其潜力的新兴需求如已经指出的,所提出的方案是建立在Boneh等人的工作中提出的蓄能器设计[9]并不试图解决可信设置的固有缺点。该方案的操作假设RSA生成器已经通过安全函数生成。基于Wesolowski[9]表明Wesolowski4.2. 状态通道功能所提出的设计的目标是最大限度地减少所需的存储空间以及在通道中操作时的财务开销其状态可以通过动态元素集完全或部分地表示为此,我们重新设计了状态通道的每个阶段,如第3.1节所述,并提出了一种增强的状态通道设计,有效地将密码加密集成到状态表示中。所提出的方案使参与者能够维护一个紧凑的状态表示(链下),通过使用成员资格/非成员资格证明,可以满足管理具有与链上实现相同安全级别的元素集的需求。该方案的设计优先考虑效率的最大化和成本的降低,这是由于链上与由于通道的这个阶段不涉及累加器的创建或更改,因此它的功能与大多数状态通道设计没有显著区别。 融资过程和渠道的建立是同时发生的。图中所示的模式是明显的。 二、加入通道的每个参与者X都锁定到智能合约资产dep X中,该资产depX在通道所服务的应用程序的上下文中使用,并且在恶意行为的情况下也用作抵押品。参与者还存储操作应用程序所需的任何数据,例如他们的公钥pk X或任何其他特定于应用程序的数据。合约将此信息映射到每个参与者4.2.2. 状态更新此设计旨在将累加器功能同化到状态通道中。我们假设状态通道的状态包括(可能在其他数据结构中)表示无界元素集的累加器。 在本段中,给出了在更新信道状态的上下文中对累加器的操作的分析。除了累加器之外,整个状态还可以包括更多的结构,但是管理这些结构的细节不在本文的范围之内。4.2.2.1. 建立一套。图中描绘的过程。 3之后创建一个新的累加器,它将表示一组新的元素。该过程的步骤如下:一个通道参与者想要创建一个累加器,它可以包括集合中的一个或多个初始元素。参与者将默认累加器参数(存在于通道协定中)复制到通道的状态如果(应用程序)需要将一个或多个初始元素添加到集合中,则也遵循Add生成的累加器包含在所有其他渠道的参与者都要签名4.2.2.2. 修改一个集合。参与者可以通过分别根据Add或Del过程添加或删除元素来修改累加器,如第4.1节所述。 将元素添加到累加器的过程如图所示。 4参与者还必须相应地更新他们持有的所有相关智慧,并明确声明建议的行动(例如,添加ei●●●●●L. Negka等人区块链:研究与应用4(2023)1001147Fig. 1. 数字符号。图二. 国家频道的建立和资助。元素X到累加器),这便于通过相应的通道成员更新所有元素的智慧这确保了更新每个见证服务器的负载不会落在单个节点上。假设对于集合中的每个元素,至少有一个成员有兴趣为其维护更新的身份证明更新后的累加器和见证更新信息(建议的操作)包含在参与者建议的状态中,由所有其他通道成员签名在接收状态之后但在签署状态之前,通道参与者必须更新并验证其见证证明,以确保累加器的修改完全如状态转换提议者所述。如果州提案有效,成员们就用他们的密钥签名一旦一个状态提案收到所有签名,它就被确立为最新的有效状态。添加或删除元素的过程在通道内交互方面是相同的。差异在第4.1节分析的证人更新过程中很明显。4.2.2.3. 证明一个元素属于一个集合在传统的状态表示中,元素集表示为可读列表,●●●●L. Negka等人区块链:研究与应用4(2023)1001148图三. 用初始元素建立累加器。见图4。 向累加器进程添加元素。过渡的有效性是透明的。相反,使用验证器意味着实际数据已被无法支持直接状态转换验证的数据提交所取代为此,成员资格和非成员资格的证明建议支持状态转换的验证过程。证明一个元素是否包含在一个集合中与是否可以为该元素提供成员资格或非成员资格证明是同义的这些证明的生成是通过以下过程完成的L. Negka等人区块链:研究与应用4(2023)1001149见第4.1节。由于与非成员证明相关的流程的复杂性,在第4.3节中分析了实现相同功能的替代方法。对于累加器更改的验证,不需要成员和非成员证明。 可能会有这样的情况下,证明必须包括在国家,因为应用程序特定的原因。4.2.3. 争端国家渠道根据一般惯例,上述合同应具有验证两种状态之间的转换是否有效的功能 这可以通过复制合约中的转换来检查它是否产生相同的结果来实现。因此,在这种情况下,状态通道合约需要能够执行所需的操作,以验证与特定累加器相关的状态转换和任何成员或非成员状态通道的一个基本原则是,它们保持与底层区块链相同的交易可靠性状态通道设计通过要求对每个状态更新完全一致来实现这一点,这意味着每个参与者都必须对每个更新进行签名。 由于这一要求,最常见的质疑类型是针对成员在预期采取行动时不采取行动的不行动争议。事实上,大多数恶意行为都可以通过不活动争议来处理,前提是通道将无效响应视为不存在的响应。在由谁提出的不同类型的争端之间有一个有意义的区别:4.2.3.1. 由州提议人发起的争端 当其他通道成员之一未响应已签名的状态更新时,尝试提交下一个状态更新的成员将使用此争议。然而,提议者可能已经提交了无效的更新,并试图利用其他成员在这种情况下,争议的进展如图5所示,并在此进行分析:用户A提出从状态n-1到状态n的更新,但从未得到用户B的签名。因此,用户A在链上智能合约上发起(针对用户B的)不活跃这是通过向合约提交新的状态建议(状态n)、不确定状态(状态n-1)、用户B的身份以及合约需要验证两者之间存在有效转换的信息来完成的智能合约检查状态转换– 如果转换是无效的,则争议被解决为有利于用户B,并且状态转换被拒绝。– 否则,合约发出一个事件,通知成员争议的渠道,并等待用户B响应的预定义时间窗口争议可以根据以下可能的结果解决* 用户B可以提供具有他们已经签署的状态n的版本的合同* 任何成员都可以向合约提交一个比状态n更新的有效状态,因此表明用户A正在提出一个过时的状态,用户B没有义务签署它。* 如果合同在时间限制内没有接收到这两个有效响应中的任何一个,则争议被解决为有利于用户A,并且信道在提供给合同的最近有效状态(状态n-1)中终止。4.2.3.2. 由非提议者的渠道成员发起的争议,因为提议者正在显示非活动行为或正在提议无效的状态更新。在这种情况下,合同对争议的处理方式不同。● 用户B通过联系人发起针对当前提议者的不活动争议。 用户B提供状态n-1作为最后一个有效状态以用作参考点。 由于应用程序是基于回合的,并且顺序是预定义的,因此负责提供状态n的一方是已知的。假设用户是用户A。合同允许提交两个有效响应之一的时间窗口图五. 提出和解决提案人发起的争议。●●●L. Negka等人区块链:研究与应用4(2023)10011410不不不不不见图6。 乐观通道关闭。– 用户A可以向合同提供针对状态n的提议,合同将设法将该提议验证为有效。– 任何成员都可以提供具有比状态n-1更新的有效状态的契约,因此表明用户A不是有义务提供下一个更新的用户。如果合同在时间限制内没有接收到这两个有效响应中的任何一个,则争议解决为有利于用户B,并且信道终止于提供给合同的最近有效状态,状态n-1。4.2.4. 关闭除了在未能解决争议后终止渠道外,还有乐观关闭的选项,如图所示。第六章任何参与者都可以将有效状态带入合约并请求启动关闭流程。然后,合约将允许任何其他参与者在一段时间内提交最近的有效状态(如果存在这样的状态通道将关闭,资产将根据参与者在此时间窗口内提供合同的最新有效状态重新分配这一过程比悲观地结束一个未重新解决的争端更可取,因为它与减少成本和拖延有关一个参与者可以不活动,并迫使一个漫长的争议过程,这将仍然没有得到解决,因此再次导致关闭的渠道。通过该过程,该用户被激励选择合作关闭,以逃避不活动的惩罚性费用4.3. 处理证据由于与非成员资格证明相关的算法给链下通道的参与者以及链上智能合约带来的高复杂性和负载,我们选择从本设计中排除它们的使用在必要时,已经开发了实现相同功能的替代方法。根据在通道中实现的应用的要求4.3.1. 不需要非成员资格证明默认情况下只使用成员证明的应用程序可以完美地由第4.2节中描述的方案服务。4.3.2. 非成员资格证明是必要的,涉及的元素有限对于需要非成员资格证明功能并(通过累加器)管理属于或不属于给定子集的元素的有限集合的应用程序,我们提出了以下方法,在图中也很明显。第七章对于被创建以表示给定子集的每个累加器A t,另一个累加器也被创建以表示不属于所述子集A0的元素。 每一个州都必须包含这一对的两个州。● 当对A t进行修改时,必须对A0进行相反的修改:将元素ntx添加到At需要同时从A 0删除元素x。从At中删除元素x需要同时将元素x添加到A0。● 记住,原始集合的表示是通过A t的,那么A t中元素x的非成员证明现在可以被A 0中元素x的成员证明所取代。4.3.3. 非成员资格证明是必要的,涉及有限的元素需要非成员证明功能并且不能预先知道将在其集合中涉及的元素的应用被进一步分为两种情况:如果元素x的成员资格证明由多个通道成员维护符合应用程序的性质,则如果参与者错误地声称不是所述元素的成员资格,则提供该元素的成员资格证明的另一个参与者足以证明该错误声明。如果任何成员不能提供有效的成员资格证人,那么非成员资格的声明是有效的。如果应用程序不能适应上述功能,那么成员有义务维护国家的元素列表,以便他们可以在必要时为任何元素提供成员资格证明,以反驳非成员资格索赔●●●●●●●L. Negka等人区块链:研究与应用4(2023)10011411图第七章在涉及有限元素的应用程序中证明非成员资格。4.3.4. 使用非会员证明这种设计试图消除使用非成员证明的原因是因为它们的计算是一个要求很高的过程,其前提条件是证明的计算器知道添加到累加器的所有元素这在大多数应用中是适得其反的,考虑到设计的目的是最小化成本和存储负载。然而,如果应用程序的性质是这样的,一个成员是在默认情况下在accu- mulator中的元素的全集感兴趣,那么使用非成员证明变得可行。用户可以很容
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功