CN109872161A - 一种加速iota子链交易验证过程的芯片及系统 - Google Patents

一种加速iota子链交易验证过程的芯片及系统 Download PDF

Info

Publication number
CN109872161A
CN109872161A CN201910156445.1A CN201910156445A CN109872161A CN 109872161 A CN109872161 A CN 109872161A CN 201910156445 A CN201910156445 A CN 201910156445A CN 109872161 A CN109872161 A CN 109872161A
Authority
CN
China
Prior art keywords
transaction
subchain
transaction verification
iota
verification process
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910156445.1A
Other languages
English (en)
Other versions
CN109872161B (zh
Inventor
贾智平
王倩
王天雨
申兆岩
刘珂
蔡晓军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Hangzheng Technology Co ltd
Original Assignee
Shandong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University filed Critical Shandong University
Priority to CN201910156445.1A priority Critical patent/CN109872161B/zh
Publication of CN109872161A publication Critical patent/CN109872161A/zh
Application granted granted Critical
Publication of CN109872161B publication Critical patent/CN109872161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本公开提供了一种加速IOTA子链交易验证过程的芯片及系统。其中,加速IOTA子链交易验证过程的芯片包括ReRAM,其包括内存模块,内存模块与子链交易验证模块相连,内存模块被配置为存储未被验证过的交易的哈希值;所述子链交易验证模块包括乘逻辑阵列、异或逻辑阵列、与逻辑阵列和循环移位逻辑阵列;控制器,其被配置为:调取内存模块内的数据并输入至子链交易验证模块中;根据keccak加密算法输出所述子链交易验证模块中相应阵列的控制信号,以验证当前未被验证过的交易的哈希值是否正确并加速IOTA子链交易验证过程。其利用ReRAM存内计算结构,避免了数据在CPU与内存之间的数据移动,大大减小了数据的移动开销,加速了子链交易验证过程的处理速度。

Description

一种加速IOTA子链交易验证过程的芯片及系统
技术领域
本公开属于区块链领域,尤其涉及一种加速IOTA子链交易验证过程的芯片及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
区块链技术是利用块链式数据结构来验证与存储数据,辅以共识机制、加密算法等策略达到访问与传输安全的一种分布式账本技术,其广泛应用于金融交易、信誉系统、服务领域等。随着智慧城市、车联网等智能领域的迅速发展,基于物联网体系安全机制的策略研究备受关注,传统以链式结构存储信息的区块链技术并不能满足物联网背景下大数据、高吞吐量、小额交易等需求,因此以DAG(有向无环图)数据结构存储信息的区块链技术应运而生,以IOTA最为显著。IOTA是为物联网而设计的一个革命性新型交易结算和数据转移层。它基于新型分布式账本Tangle(缠结)将交易数据以块结构形式连接至DAG(有向无环图)网络中,克服传统区块链的交易低效性,形成新型去中心化P2P系统共识,具有零交易费、高TPS(交易吞吐率)等特点。
发明人发现在利用传统处理器(如CPU、GPU等)进行子链交易验证过程的计算时,大量中间计算结果将导致内存与CPU之间出现巨大的数据移动消耗,增加计算延迟、拖慢计算过程的同时也增加了能耗。
发明内容
本公开的一个方面,提供一种加速IOTA子链交易验证过程的芯片,其利用ReRAM存内计算结构,能够避免数据在CPU与内存之间的数据移动,减小数据的移动开销,加速子链交易验证过程的处理速度。
本公开的一种加速IOTA子链交易验证过程的芯片的技术方案为:
一种加速IOTA子链交易验证过程的芯片,包括:
ReRAM,所述ReRAM包括内存模块,所述内存模块与子链交易验证模块相连,所述内存模块被配置为存储未被验证过的交易的哈希值;所述子链交易验证模块包括乘逻辑阵列、异或逻辑阵列、与逻辑阵列和循环移位逻辑阵列;
控制器,其被配置为:
调取内存模块内的数据并输入至子链交易验证模块中;
根据keccak加密算法输出所述子链交易验证模块中相应阵列的控制信号,以验证当前未被验证过的交易的哈希值是否正确并加速IOTA子链交易验证过程。
进一步地,所述子链交易验证模块为海绵计算结构。
上述技术方案的优点在于,海绵计算结构中采用海绵函数,也就是利用有限的状态,接收任何长度的输入位元流,然后可以满足任何长度的输出,提高了子链交易验证计算速度。
进一步地,所述控制器,还被配置为:
将调取的内存模块中存储的未被验证过的交易的哈希值对海绵计算结构进行填充;
经过吸收过程和挤压过程,最终输出散列值。
上述技术方案的优点在于,keccak加密算法整体采用海绵计算结构,分为吸收和挤压两个阶段。keccak加密算法的核心置换f作用在5×5×64的三维矩阵上。整个f共有24轮,每轮包括5个环节θ、ρ、π、χ、τ。算法的5个环节分别作用于三维矩阵的不同维度之上。θ环节是作用在列上的线性运算;ρ环节是作用在每一道上的线性运算,将每一道上的64比特进行循环移位操作;π环节是将每道上的元素整体移到另一道上的线性运算;χ环节是作用在每一行上的非线性运算,相当于将每一行上的5比特替换为另一个5比特;τ环节是加常数环节。keccak加密算法的立体加密思想和海绵结构,海绵函数可建立从任意长度输入到任意长度输出的映射。
进一步地,所述控制器,还被配置为:
验证当前交易是否已被其他交易验证,若是,则将未被验证过的交易的哈希值存储至内存模块中。
进一步地,所述控制器,还被配置为:
在验证当前未被验证过的交易的哈希值正确的情况下,继续验证当前未被验证的交易所在的交易基本单元中所有交易的交易金额的数值和是否为零,若不为零,则交易基本单元的数据错误。
进一步地,所述控制器,还被配置为:
验证当前未被验证的交易所在的交易基本单元中所有交易的交易金额的数值和为零后,继续判断交易基本单元的有效性。
进一步地,所述控制器,还被配置为:
当交易基本单元满足以下任一条件时,判定交易基本单元为无效;
(1)当前未被验证过的交易是交易基本单元中的第0号交易;
(2)当前未被验证过的交易不是交易基本单元交易列表中的第一个交易。
进一步地,所述芯片还包括数据缓存模块,其用于缓存内存模块中存储的未被验证过的交易的哈希值以及子链交易验证模块的中间结果。
进一步地,所述数据缓存模块与子链交易验证模块之间还串接有互联电路。
上述技术方案的优点在于,互联电路用于实现数据缓存模块与子链交易验证模块两者之间通信。
本公开的另一个方面,提供一种交易验证系统,其利用ReRAM存内计算结构,能够避免数据在CPU与内存之间的数据移动,减小数据的移动开销,加速子链交易验证过程的处理速度。
本公开的一种交易验证系统的技术方案为:
一种交易验证系统,包括上述所述的加速IOTA子链交易验证过程的芯片。
本公开的有益效果是:
(1)本公开的加速IOTA子链交易验证过程的芯片包括ReRAM和控制器,其中,ReRAM包括内存模块和子链交易验证模块,控制器通过调取内存模块中存储的未被验证过的交易的哈希值输入至子链交易验证模块中,再采用keccak加密算法输出所述子链交易验证模块中相应阵列的控制信号,来验证当前未被验证过的交易的哈希值是否正确,减少了CPU与内存之间的数据移动开销,大大降低了子链交易验证过程的计算时延,加速了IOTA子链交易验证过程。
(2)本公开的加速IOTA子链交易验证过程的芯片,利用ReRAM的多阵列结构,使得针对子链交易验证过程中keccak加密算法的并行计算,大大提高了子链交易验证过程的并行度,提升了整体性能。
(3)本公开的加速IOTA子链交易验证过程的芯片中的ReRAM包括乘逻辑阵列、异或逻辑阵列、与逻辑阵列和循环移位逻辑阵列,充分利用了ReRAM内部计算结构属性的特点,提高了ReRAM的利用率,最终加速了IOTA子链交易验证过程。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是本公开实施例提供的Bundle内各交易的tips指向示意图。
图2是本公开实施例提供的加速IOTA子链交易验证过程的芯片架构图。
图3(a)是本公开实施例提供的乘逻辑运算示意图。
图3(b)是本公开实施例提供的异或逻辑运算示意图。
图3(c)是本公开实施例提供的与逻辑运算示意图。
图3(d)是本公开实施例提供的循环移位逻辑运算示意图。
图4是本公开实施例提供的取余运算过程示意图。
图5是本公开实施例提供的哈希验证过程各并行计算模块设计示意图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
术语解释:
IOTA是一种新型的数字加密货币,专注于解决机器与机器(M2M)之间的交易问题。通过实现机器与机器间无交易费的支付来构建未来机器经济(machine economy)的蓝图。IOTA提供高效,安全,轻便,实时的微交易,并且不产生交易费用。它是开源的,去中心化的数字加密货币,是专门为物联网而设计的,它是实时微交易,并且能够简单方便的进行扩展。IOTA是基于缠结(Tangle)而非区块链技术。
Tangle是由交易块组成的有向无环图,其交易共识为新上链的交易按一定规则验证链上两个已有的未被验证交易(tips),若被验证交易合法,则新上链的交易连接至被验证交易并存于Tangle中。具体的规则为,当网络节点发起一笔交易时,该交易需要在Tangle中按一定随机概率规则选择两个tips(未被验证过的交易),将自己指向这两个tips,并在完成少量PoW(工作量证明)后,在网络中进行广播同步;被验证交易不合法,则重新选择tips并重复上述步骤。选择两个未被验证交易的过程为随机游走过程,可分解为MCMC随机选择过程和子链交易验证过程。其游走规则为:游走者从某一点发起游走过程,每一步基于MCMC随机选择算法从直接验证该点的验证者集中选择下一个验证者,随后验证所选交易及其子链交易(即直接验证或间接验证的交易)的合法性,若被验证交易基本信息合法且验证者所验证子链中无双花交易,则继续游走,直至游走至Tangle边界结点处,即为该交易所选的两个tips。在整个随机游走过程中,子链交易验证过程为,每一次选择验证者后,都需要基于BFS算法向前遍历并对该验证者及其子链交易进行基本信息验证,遍历直至某个被标记为“confirmed”(完全确认)或“consistent”(已经保证一致性)交易为止。
在IOTA的开源实现中,Tangle网络节点被分为轻节点与全节点两种角色。全节点维护Tangle网络、数据库信息,更新快照,MCMC随机选择以及子链交易验证等过程。轻节点为发起交易的用户,当其发起交易时,需连接至全节点用以向其索要随机游走结果、部分PoW请求以及广播交易。随着用户量增大,当大量用户发起交易并向全节点请求tips选择时,部分全节点需处理大量交易的子链交易验证以及随机游走等过程,导致部分交易等待上链时间过长,影响Tangle整体交易吞吐率,甚至部分全节点无法承受巨大计算负载而崩溃。针对全节点的交易处理过程,经实验统计发现,在整个交易发起及上链过程中,随机游走过程占总体用时比重较大,而在随机游走过程中,MCMC随机选择过程及子链交易验证的过程占用时间较长。因此,本公开将对其中子链交易验证过程的进行加速设计,以减少全节点计算负载,加快交易处理速度。
随着新型非易失存储器件的出现,针对此类问题将有着更好的解决方案。基于阻值存储数据的ReRAM是一种现今较为前沿的解决方案,它拥有媲美DRAM的读写速度及非易失的存储特性。同时,ReRAM具有的Cross-Bar结构让其拥有了运行简单乘加运算的能力,而ReRAM结构中数量众多的Cells让其拥有着强大的并行计算能力。与CPU相比,其具有并行度高、重复计算能力较好的优势;较GPU相比,其具有功耗相对较低的优势。最重要的是,在ReRAM介质的内存中直接进行计算可以大大减少内存与CPU之间的数据移动消耗,最大限度地利用有限的内存带宽实现更高的吞吐量及更低的数据延迟。
在IOTA区块链的随机游走过程中,Tangle的最小块数据为一个交易,而发起一次交易过程的基本单元为Bundle。即当发起一次交易时,对于其中输出交易、输入交易及元交易进行编号并打包形成Bundle,0号交易为tail交易,不记录交易信息,其他各交易附加一个元交易用以记录其他信息。各交易所选的两个tips的哈希填充至trunk tip和branchtip字段,其中tail交易的两个tips为随机游走选择结果,其他交易的branch tip指向与tail交易相同的branch tip,trunk tip指向Bundle内部交易,整个Bundle内各交易的tips指向如图1所示。
因此,子链交易验证过程的遍历点为每一个Bundle的tail交易。在子链交易验证过程中,以某一点为起始点,向子链(直接或间接验证交易)的方向进行BFS遍历,每一步遍历过程中,子链交易验证过程主要包括以下几个验证步骤:
(1)验证该交易是否被标记为“PREFILLED_SLOT”,即该交易已被其他交易验证,但在数据库中没有记录,即图2中情况1单元。
(2)验证tail交易所在Bundle中的哈希计算结果是否正确,其中采用了keccak加密算法,以部分字段为基础数据,进行校验计算。
(3)验证tail交易所在Bundle中的所有交易的交易金额的数值和是否为零,若不为零,则Bundle数据错误。
(4)若tail交易为Bundle第0号交易,但它并不是Bundle交易列表中的第一个交易,则Bundle被视为无效。
通过对子链交易验证过程进行分析,步骤(2)哈希计算过程,即keccak加密算法的应用过程需要大量的乘、加、异或、移位、取余运算。因此,本公开针对哈希验证过程设计了相应的哈希计算单元,其是将其中包含的以上五种运算分解为相应的计算单元,然后组合而成,使其实现有效并行计算。利用ReRAM存内计算结构,避免了数据在CPU与内存之间的数据移动,大大减小了数据的移动开销,加速了子链交易验证过程的处理速度。
整个子链交易验证过程按照上述四个步骤进行功能划分后,如图2所示,本实施例的一种加速IOTA子链交易验证过程的芯片整体架构图。
如图2所示,本实施例的一种加速IOTA子链交易验证过程的芯片,包括:ReRAM、控制器、数据缓冲模块和互联电路。
下面详细介绍各个模块:
(1)ReRAM
ReRAM包括内存模块,所述内存模块与子链交易验证模块相连。所述内存模块被配置为存储未被验证过的交易的哈希值;
其中,内存模块用于存储BFS(图的广度优先)遍历过程所取得的tail交易的哈希值,该数据将作为子链交易验证模块的输入。
所述子链交易验证模块包括乘逻辑阵列、异或逻辑阵列、与逻辑阵列和循环移位逻辑阵列。
子链交易验证模块为主要计算中心,实现上述四个步骤的验证计算,以及第2步中的哈希计算单元的并行实现。
子链交易验证模块的计算主要集中于哈希验证单元,主体计算操作为keccak加密算法,其工作原理为海绵计算结构,在对输入数据进行填充后,经过吸收(absorb)过程和挤压(squeeze)过程,最终输出散列值,计算过程如图2哈希验证单元所示。
吸收过程为:将经过填充的输入消息按照每r比特为一组分割成若干个输入分组,将内部状态的r比特与输入分组s[1]进行异或运算,将其结果与初始c位容量作为函数f的输入值,然后将函数f的输出值r个比特与输入分组s[2]进行异或,将其结果与输出值后c位容量再次作为函数f的输入值,反复执行直至最后一个输入分组计算完成。其中,r和c均为正整数;内部状态即计算开始时默认初始状态,即默认为r+c个比特的“0”;函数f是指的keccak加密算法的海绵函数,也就是整个keccak加密算法运算过程。
挤压过程为,将函数f输出值中的r个比特保存为输出分组z[i],并将整个输出值(r+c个比特)再次输入到函数f中,重复上述取出输出分组操作,直到获得所需长度的输出数据。主函数中包含θ、ρ&π、χ、τ四个单元,将函数f各单元运算进行分解,分解后的逻辑包含大量的乘、加、与、移位、取余运算,对于各种逻辑运算方式,图3显示了各种运算的举例说明。对于乘、加、与操作如图3中(a)、(b)、(c)所示,对于移位操作,以ROR(1100,2)为例,转换为矩阵乘运算如公式7所示,并将其映射至矩阵单元,原数(1100)作为字线高位在上,低位在下进行导通,单位矩阵相应调整后写入cell中,相应位与后即得结果,如图3(d)所示。
对于取余运算,计算过程如图4所示。以32位为例,设被除数a除以除数b,他们的商和余数一定不会超过32位。首先将a转换成高32位为0,低32位为a的temp_a。把b转换成高32位为b,低32位为0的temp_b。在每个周期开始时,将temp_a左移一位,末尾补0,与temp_b比较,若temp_a大于temp_b,则temp_a减去temp_b加上1,否则继续循环周期。共循环32次执行结束后,temp_a的高32位即为余数,低32位即为商。利用上述各个设计单元,根据哈希算法流程及相应公式特点,将哈希计算单元并行设计如图5所示,数组内各元素根据其计算规则设计为并行计算单元,以实现在kecaak加密验证过程中各单元运算操作的最大化并行度。
keccak加密算法整体采用海绵计算结构,分为吸收和挤压两个阶段。keccak加密算法的核心置换f作用在5×5×64的三维矩阵上。整个f共有24轮,每轮包括5个环节θ、ρ、π、χ、τ。算法的5个环节分别作用于三维矩阵的不同维度之上。θ环节是作用在列上的线性运算;ρ环节是作用在每一道上的线性运算,将每一道上的64比特进行循环移位操作;π环节是将每道上的元素整体移到另一道上的线性运算;χ环节是作用在每一行上的非线性运算,相当于将每一行上的5比特替换为另一个5比特;τ环节是加常数环节。keccak加密算法的立体加密思想和海绵结构,海绵函数可建立从任意长度输入到任意长度输出的映射。
(2)控制器,其被配置为:
调取内存模块内的数据并输入至子链交易验证模块中;
根据keccak加密算法输出所述子链交易验证模块中相应阵列的控制信号,以验证当前未被验证过的交易的哈希值是否正确并加速IOTA子链交易验证过程。
下面给出本实施例的详细实施过程,并结合算法伪代码对本实施例基于ReRAM的哈希验证过程并行计算策略及部分计算操作的具体计算流程做进一步的详细说明。
(2.1)哈希验证过程并行计算策略
本实施例的基于ReRAM的哈希验证过程并行化计算策略有效减小了计算延时,降低了处理器计算负载,增加了IOTA交易网络的TPS,同时,保证了IOTA全节点的稳定行和区块链数据的可靠性。
(2.2)取余计算策略
本实施例提出的基于加、减、移位基本计算单元的取余计算策略,使运算过程简单化,更好的发挥了ReRAM内部计算结构的优势,其策略如下:
在具体实施中,所述控制器,还被配置为:
验证当前交易是否已被其他交易验证,若是,则将未被验证过的交易的哈希值存储至内存模块中。
在具体实施中,所述控制器,还被配置为:
在验证当前未被验证过的交易的哈希值正确的情况下,继续验证当前未被验证的交易所在的交易基本单元中所有交易的交易金额的数值和是否为零,若不为零,则交易基本单元的数据错误。
在具体实施中,所述控制器,还被配置为:
验证当前未被验证的交易所在的交易基本单元中所有交易的交易金额的数值和为零后,继续判断交易基本单元的有效性。
在具体实施中,所述控制器,还被配置为:
当交易基本单元满足以下任一条件时,判定交易基本单元为无效;
(a)当前未被验证过的交易是交易基本单元中的第0号交易;
(b)当前未被验证过的交易不是交易基本单元交易列表中的第一个交易。
(3)数据缓冲模块
数据缓冲模块用于暂存内存功能模块中的输入数据及子链交易验证模块的中间结果及其他缓冲数据。
(4)互联电路
互联电路串接在所述数据缓存模块与子链交易验证模块之间。
本实施例利用ReRAM自身结构优势实现较好的存-算一体化功能,实现了缓存级别基于特定计算的并行操作,减轻了处理器的计算负载。由于计算中存在大量乘、加、异或、移位等操作,本实施例对此进行了针对性的设计,使其更好地迎合了ReRAM内部计算结构属性,提高了整体运算速度,实现了对该模块算法的整体加速,增加了IOTA全节点的运算能力及交易信息的并行处理速度,提高了区块链交易吞吐能力,为IOTA区块链交易可靠性提供了保障。
本实施例还提供了一种交易验证系统,其包括如图2所示的加速IOTA子链交易验证过程的芯片。
本实施例的交易验证系统包括加速IOTA子链交易验证过程的芯片,该芯片包括ReRAM和控制器,其中,ReRAM包括内存模块和子链交易验证模块,控制器通过调取内存模块中存储的未被验证过的交易的哈希值输入至子链交易验证模块中,再采用keccak加密算法输出所述子链交易验证模块中相应阵列的控制信号,来验证当前未被验证过的交易的哈希值是否正确,减少了CPU与内存之间的数据移动开销,大大降低了子链交易验证过程的计算时延,加速了IOTA子链交易验证过程。
本实施例的交易验证系统包括加速IOTA子链交易验证过程的芯片,该芯片利用ReRAM的多阵列结构,使得针对子链交易验证过程中keccak加密算法的并行计算,大大提高了子链交易验证过程的并行度,提升了整体性能。
本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
上述虽然结合附图对本公开的具体实施方式进行了描述,但并非对本公开保护范围的限制,所属领域技术人员应该明白,在本公开的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。

Claims (10)

1.一种加速IOTA子链交易验证过程的芯片,其特征在于,包括:
ReRAM,所述ReRAM包括内存模块,所述内存模块与子链交易验证模块相连,所述内存模块被配置为存储未被验证过的交易的哈希值;所述子链交易验证模块包括乘逻辑阵列、异或逻辑阵列、与逻辑阵列和循环移位逻辑阵列;
控制器,其被配置为:
调取内存模块内的数据并输入至子链交易验证模块中;
根据keccak加密算法输出所述子链交易验证模块中相应阵列的控制信号,以验证当前未被验证过的交易的哈希值是否正确并加速IOTA子链交易验证过程。
2.如权利要求1所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述子链交易验证模块为海绵计算结构。
3.如权利要求2所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述控制器,还被配置为:
将调取的内存模块中存储的未被验证过的交易的哈希值对海绵计算结构进行填充;
经过吸收过程和挤压过程,最终输出散列值。
4.如权利要求1所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述控制器,还被配置为:
验证当前交易是否已被其他交易验证,若是,则将未被验证过的交易的哈希值存储至内存模块中。
5.如权利要求1所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述控制器,还被配置为:
在验证当前未被验证过的交易的哈希值正确的情况下,继续验证当前未被验证的交易所在的交易基本单元中所有交易的交易金额的数值和是否为零,若不为零,则交易基本单元的数据错误。
6.如权利要求5所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述控制器,还被配置为:
验证当前未被验证的交易所在的交易基本单元中所有交易的交易金额的数值和为零后,继续判断交易基本单元的有效性。
7.如权利要求6所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述控制器,还被配置为:
当交易基本单元满足以下任一条件时,判定交易基本单元为无效;
(1)当前未被验证过的交易是交易基本单元中的第0号交易;
(2)当前未被验证过的交易不是交易基本单元交易列表中的第一个交易。
8.如权利要求1所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述芯片还包括数据缓存模块,其用于缓存内存模块中存储的未被验证过的交易的哈希值以及子链交易验证模块的中间结果。
9.如权利要求8所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述数据缓存模块与子链交易验证模块之间还串接有互联电路。
10.一种交易验证系统,其特征在于,包括如权利要求1-9中任一项所述的加速IOTA子链交易验证过程的芯片。
CN201910156445.1A 2019-03-01 2019-03-01 一种加速iota子链交易验证过程的芯片及系统 Active CN109872161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910156445.1A CN109872161B (zh) 2019-03-01 2019-03-01 一种加速iota子链交易验证过程的芯片及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910156445.1A CN109872161B (zh) 2019-03-01 2019-03-01 一种加速iota子链交易验证过程的芯片及系统

Publications (2)

Publication Number Publication Date
CN109872161A true CN109872161A (zh) 2019-06-11
CN109872161B CN109872161B (zh) 2021-05-04

Family

ID=66919648

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910156445.1A Active CN109872161B (zh) 2019-03-01 2019-03-01 一种加速iota子链交易验证过程的芯片及系统

Country Status (1)

Country Link
CN (1) CN109872161B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109697606A (zh) * 2018-09-30 2019-04-30 贝克链区块链技术有限公司 基于创新性的信誉证明共识协议的分布式网络及生态系统
CN111432026A (zh) * 2020-04-14 2020-07-17 杭州复杂美科技有限公司 平行链交易执行方法、设备和存储介质
EP3937051A1 (en) * 2020-07-08 2022-01-12 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for processing transactions based on blockchain integrated station
US11336660B2 (en) 2020-07-08 2022-05-17 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for identifying replay transaction based on blockchain integrated station
US11463553B2 (en) 2020-07-08 2022-10-04 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for identifying to-be-filtered transaction based on blockchain integrated station
US11665234B2 (en) 2020-07-08 2023-05-30 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for synchronizing data based on blockchain integrated station
US11783339B2 (en) 2020-07-08 2023-10-10 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for transferring transaction based on blockchain integrated station

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124267A (zh) * 2017-03-30 2017-09-01 宁波大学 一种密码芯片上的固定位宽密钥产生方法
CN108089817A (zh) * 2016-11-23 2018-05-29 三星电子株式会社 存储系统及其操作方法和操作数据处理系统的方法
CN108985732A (zh) * 2018-06-08 2018-12-11 中国地质大学(武汉) 基于无区块的dag技术的共识和账本数据组织方法及系统
CN108984789A (zh) * 2018-08-15 2018-12-11 赵东洋 分布式记账的方法、装置、存储介质及电子设备
CN109035011A (zh) * 2018-06-08 2018-12-18 中国地质大学(武汉) 一种区块链dag宽度的控制方法与系统
CN109214795A (zh) * 2018-09-18 2019-01-15 北京物链互联科技有限公司 一种基于dag算法的区块链混合共识方法
CN109218289A (zh) * 2018-08-03 2019-01-15 中山大学 一种基于串行工作量证明的缠结网络的共识机制

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108089817A (zh) * 2016-11-23 2018-05-29 三星电子株式会社 存储系统及其操作方法和操作数据处理系统的方法
CN107124267A (zh) * 2017-03-30 2017-09-01 宁波大学 一种密码芯片上的固定位宽密钥产生方法
CN108985732A (zh) * 2018-06-08 2018-12-11 中国地质大学(武汉) 基于无区块的dag技术的共识和账本数据组织方法及系统
CN109035011A (zh) * 2018-06-08 2018-12-18 中国地质大学(武汉) 一种区块链dag宽度的控制方法与系统
CN109218289A (zh) * 2018-08-03 2019-01-15 中山大学 一种基于串行工作量证明的缠结网络的共识机制
CN108984789A (zh) * 2018-08-15 2018-12-11 赵东洋 分布式记账的方法、装置、存储介质及电子设备
CN109214795A (zh) * 2018-09-18 2019-01-15 北京物链互联科技有限公司 一种基于dag算法的区块链混合共识方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DEBJYOTI BHATTACHARJEE ETC: "SHA-3 implementation using ReRAM based in-memory computing architecture", 《IEEE XPLORE》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109697606A (zh) * 2018-09-30 2019-04-30 贝克链区块链技术有限公司 基于创新性的信誉证明共识协议的分布式网络及生态系统
CN111432026A (zh) * 2020-04-14 2020-07-17 杭州复杂美科技有限公司 平行链交易执行方法、设备和存储介质
CN111432026B (zh) * 2020-04-14 2022-10-28 杭州复杂美科技有限公司 平行链交易执行方法、设备和存储介质
EP3937051A1 (en) * 2020-07-08 2022-01-12 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for processing transactions based on blockchain integrated station
US11336660B2 (en) 2020-07-08 2022-05-17 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for identifying replay transaction based on blockchain integrated station
US11444783B2 (en) 2020-07-08 2022-09-13 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for processing transactions based on blockchain integrated station
US11463553B2 (en) 2020-07-08 2022-10-04 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for identifying to-be-filtered transaction based on blockchain integrated station
US11665234B2 (en) 2020-07-08 2023-05-30 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for synchronizing data based on blockchain integrated station
US11783339B2 (en) 2020-07-08 2023-10-10 Alipay (Hangzhou) Information Technology Co., Ltd. Methods and apparatuses for transferring transaction based on blockchain integrated station

Also Published As

Publication number Publication date
CN109872161B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN109872161A (zh) 一种加速iota子链交易验证过程的芯片及系统
CN108241890B (zh) 一种可重构神经网络加速方法及架构
CN107301455A (zh) 用于卷积神经网络的混合立方体存储系统及加速计算方法
CN107437110A (zh) 卷积神经网络的分块卷积优化方法及装置
CN108009106A (zh) 神经网络计算模组
CN103984527B (zh) 优化稀疏矩阵向量乘提升不可压缩管流模拟效率的方法
CN103226762B (zh) 一种基于云计算平台的物流配送方法
CN107807819A (zh) 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法
CN109948774A (zh) 基于网络层捆绑运算的神经网络加速器及其实现方法
CN106415526B (zh) Fft处理器及运算方法
CN108777612A (zh) 一种工作量证明运算芯片核心计算部件的优化方法和电路
CN106779057A (zh) 基于gpu的计算二值神经网络卷积的方法及装置
CN110222818A (zh) 一种用于卷积神经网络数据存储的多bank行列交织读写方法
CN101083643A (zh) 一种低存储器开销的混合基fft处理器及其方法
CN109903162A (zh) 一种加速区块链MCMC随机选择的ReRAM及其工作方法
CN105190762A (zh) 半导体装置及写入/读取登录位址于半导体装置中的方法
CN104238995B (zh) 一种非线性反馈移位寄存器
CN109324901B (zh) 基于区块链的深度学习分布式计算方法、系统和节点
CN113569511A (zh) 一种量子电路的模拟方法及装置
Hynninen et al. cutt: A high-performance tensor transpose library for cuda compatible gpus
CN109993293A (zh) 一种适用于堆叠式沙漏网络的深度学习加速器
CN104504205B (zh) 一种对称fir算法的并行化二维分割方法及其硬件结构
CN110232441A (zh) 一种基于单向脉动阵列的堆栈式自编码系统及方法
CN108197075A (zh) 一种Inception结构的多核实现方法
CN101345604B (zh) 一种行列式分组交织器的并行实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220113

Address after: 214028 room 701, Jinqian block, No. 10, Hongyi Road, Xinwu District, Wuxi City, Jiangsu Province

Patentee after: WUXI HANGZHENG TECHNOLOGY CO.,LTD.

Address before: 250100 No. 27 South Grand Road, Shandong, Ji'nan

Patentee before: SHANDONG University

TR01 Transfer of patent right