当前位置: 首页 > 专利查询>山东大学专利>正文

一种加速IOTA子链交易验证过程的芯片及系统技术方案

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

A Chip and System for Accelerating the Verification Process of IOTA Subchain Transactions

The present disclosure provides a chip and system for accelerating the verification process of IOTA sub-chain transactions. Among them, the chip accelerating the verification process of IOTA sub-chain transactions includes ReRAM, which includes memory module, which is connected with the verification module of sub-chain transactions, and memory module is configured to store hash values of transactions that have not been verified. The verification module of sub-chain transactions includes multiplying logic array, XOR logic array, logic array with logic array and cyclic shift logic array, and the controller is equipped with it. In order to verify the correctness of the hash value of the current unauthenticated transaction and accelerate the verification process of the IOTA sub-chain transaction, the data in the memory module is fetched and input into the sub-chain transaction verification module, and the control signals of the corresponding array in the sub-chain transaction verification module are output according to the keccak encryption algorithm. By using ReRAM in-memory computing structure, it avoids the data movement between CPU and memory, greatly reduces the data movement overhead, and accelerates the processing speed of sub-chain transaction verification process.

【技术实现步骤摘要】
一种加速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)之间的交易问题。通过实现机器与机器间无交易费的支付来本文档来自技高网
...

【技术保护点】
1.一种加速IOTA子链交易验证过程的芯片,其特征在于,包括:ReRAM,所述ReRAM包括内存模块,所述内存模块与子链交易验证模块相连,所述内存模块被配置为存储未被验证过的交易的哈希值;所述子链交易验证模块包括乘逻辑阵列、异或逻辑阵列、与逻辑阵列和循环移位逻辑阵列;控制器,其被配置为:调取内存模块内的数据并输入至子链交易验证模块中;根据keccak加密算法输出所述子链交易验证模块中相应阵列的控制信号,以验证当前未被验证过的交易的哈希值是否正确并加速IOTA子链交易验证过程。

【技术特征摘要】
1.一种加速IOTA子链交易验证过程的芯片,其特征在于,包括:ReRAM,所述ReRAM包括内存模块,所述内存模块与子链交易验证模块相连,所述内存模块被配置为存储未被验证过的交易的哈希值;所述子链交易验证模块包括乘逻辑阵列、异或逻辑阵列、与逻辑阵列和循环移位逻辑阵列;控制器,其被配置为:调取内存模块内的数据并输入至子链交易验证模块中;根据keccak加密算法输出所述子链交易验证模块中相应阵列的控制信号,以验证当前未被验证过的交易的哈希值是否正确并加速IOTA子链交易验证过程。2.如权利要求1所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述子链交易验证模块为海绵计算结构。3.如权利要求2所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述控制器,还被配置为:将调取的内存模块中存储的未被验证过的交易的哈希值对海绵计算结构进行填充;经过吸收过程和挤压过程,最终输出散列值。4.如权利要求1所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述控制器,还被配置为:验证当前交易是否已被其他交易验证,若是,则将未被验证过的交易的哈希值存储至内存模块中。5.如权利要求1所述的一种加速IOTA子链交易验证过程的芯片,其特征在于,所述控制器,还被...

【专利技术属性】
技术研发人员:贾智平王倩王天雨申兆岩刘珂蔡晓军
申请(专利权)人:山东大学
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1