CN108512650A - 面向区块链的动态哈希计算方法、装置、节点及存储介质 - Google Patents

面向区块链的动态哈希计算方法、装置、节点及存储介质 Download PDF

Info

Publication number
CN108512650A
CN108512650A CN201810168281.XA CN201810168281A CN108512650A CN 108512650 A CN108512650 A CN 108512650A CN 201810168281 A CN201810168281 A CN 201810168281A CN 108512650 A CN108512650 A CN 108512650A
Authority
CN
China
Prior art keywords
hash
byte
calculation
block
block chain
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
CN201810168281.XA
Other languages
English (en)
Other versions
CN108512650B (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.)
Nanjing Silihua Information Technology Co ltd
Original Assignee
Shenzhen Wal Chain Technology Co Ltd
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 Shenzhen Wal Chain Technology Co Ltd filed Critical Shenzhen Wal Chain Technology Co Ltd
Priority to CN201810168281.XA priority Critical patent/CN108512650B/zh
Publication of CN108512650A publication Critical patent/CN108512650A/zh
Application granted granted Critical
Publication of CN108512650B publication Critical patent/CN108512650B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种面向区块链的动态哈希计算方法、装置、节点及计算机可读存储介质,所述方法包括如下步骤:获取待进行哈希的对象以及待生成的区块的高度;将所述高度转为字节,并对所述字节进行哈希运算,得到a位的第一字节数组;根据预设的运行次数m,对所述第一字节数组的前m位进行取n模计算,得到m位的第二字节数组;其中,n为预设的哈希算法的种类数;根据第二字节数组中的每位数字对应的哈希算法以及数字的顺序,调用相应的哈希算法对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。本发明实现了根据区块的高度动态生成哈希算法,从而保证运算过程的安全。

Description

面向区块链的动态哈希计算方法、装置、节点及存储介质
技术领域
本发明涉及区块链领域,尤其涉及一种面向区块链的动态哈希计算方法、装置、节点及存储介质。
背景技术
以比特币为代表的数字货币的出现预示着区块链技术正式走进人们的视野。区块链技术本质上就是一种去中心化的分布式系统。正是由于这一特点,共识机制成为区块链技术中非常关键的一项技术,也即如何在高度分散的去中心化系统中保证分布式节点高效地针对点对点交易与协作的有效性达成共识。
目前,广泛采用的共识机制有基于工作量证明(POW)、基于权益证明(POS)等。POW共识机制是最早期的一种共识机制,即利用节点的算力来获取记账权。POW算法主要通过枚举式哈希计算,依靠机器计算出一个符合规则的随机数,进而实现数据的记录、发出、存储。POW共识机制的算法简单,容易实现,只依靠算力即可达成共识,同时具有比较高的安全性。POS共识机制,是在POW共识机制的基础上发展起来的一种升级共识机制。POS共识机制根据每个分布式节点在生成新的区块时节点自身所占有的权益比例来保证记账权分配,记账权获得的难度与节点持有的权益成反比,这样不需要消耗外部的算力和资源。
POW共识机制的最大缺点是资源消耗大,浪费能源,另外,算力的不平衡造成共识的周期较长,同时,单纯的依靠机器算力的方式也容易导致51%的风险。而POS共识机制本质上仍然是依靠算力来提高权益比例,进而获取记账权,而且还容易造成高权益的节点不参与记账的情况,缺乏监管性。
由于POW共识机制的算法仅仅依靠枚举式哈希计算,一方面,枚举过程不能动态适应区块的高度,造成运算时时间的加长,从而能源消耗大。另一方面,POW共识机制的哈希计算采用固定的哈稀函数,一定程度上不能适应区块的高度的动态变化,同时也存在一定的安全问题。
发明内容
针对上述问题,本发明的目的在于提供一种面向区块链的动态哈希计算方法、装置、节点及存储介质,实现了根据区块的高度动态生成哈希算法,从而保证运算过程的安全。
本发明实施例提供了一种面向区块链的动态哈希计算方法,包括如下步骤:
获取待进行哈希的对象以及待生成的区块的高度;
将所述高度转为字节,并对所述字节进行哈希运算,得到a位的第一字节数组;
根据预设的运行次数m,对所述第一字节数组的前m位进行取n模计算,得到m位的第二字节数组;其中,n为预设的哈希算法的种类数;
根据第二字节数组中的每位数字对应的哈希算法以及数字的顺序,调用相应的哈希算法对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
优选地,所述n为11。
优选地,定义A~K分别于11中哈希函数一一对应;并定义0~10分别对应A~K;
则所述根据第二字节数组中的每位数字对应的哈希算法以及数字的顺序,调用相应的哈希算法对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块,具体为:
根据所述第二字节数组中的每位数字对应生成包括m个字母的字母数组;
获取与字母数组中的每个字母相应的m个哈希函数;
根据m个哈希函数构成m重的复合哈希函数对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
优选地,所述待进行哈希的对象为待生成的区块的区块头,且该对象包含一个随运算次数变化的nonce值。
优选地,所述将所述高度转为字节,并对所述字节进行哈希运算,得到a位的第一字节数组,具体为:
将所述高度中包含的各个数字转换为二进制,再根据转换后的二进制生成字节;
采用SHA256对所述字节进行哈希计算,得到对应的哈希值;
将所述哈希值转换为10进制的具有32位的第一字节数组。
本发明实施例提供了一种面向区块链的动态哈希计算装置,包括:
获取单元,用于获取待进行哈希的对象以及待生成的区块的高度;
第一字节数组计算单元,用于将所述高度转为字节,并对所述字节进行哈希运算,得到a位的第一字节数组;
第二字节数组计算单元,用于根据预设的运行次数m,对所述第一字节数组的前m位进行取n模计算,得到m位的第二字节数组;其中,n为预设的哈希算法的种类数;
哈希计算单元,用于根据第二字节数组中的每位数字对应的哈希算法以及数字的顺序,调用相应的哈希算法对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
优选地,所述n为11。
优选地,定义A~K分别于11中哈希函数一一对应;并定义0~10分别对应A~K;
则所述哈希计算单元具体包括:
字母数组生成模块,用于根据所述第二字节数组中的每位数字对应生成包括m个字母的字母数组;
哈希函数获取模块,用于获取与字母数组中的每个字母相应的m个哈希函数;
哈希计算模块,用于根据m个哈希函数构成m重的复合哈希函数对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
本发明实施例还提供了一种面向区块链的动态哈希计算节点,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的面向区块链的动态哈希计算方法。
本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上述的面向区块链的动态哈希计算方法。
本发明实施例提供的面向区块链的动态哈希计算方法、装置、节点及计算机可读存储介质,能根据当前区块的高度提供动态的,随机的,多样化的哈希函数使用方法,一方面,实现枚举过程动态适应区块的高度,缩短运算时时间,从而节约能源;另一方面,由于哈希过程是适应区块的高度动态变化的,可以进一步提高运算的安全问题,尽可能避免51%攻击的问题。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是比特币的一个区块的结构示意图。
图2是本发明第一实施例提供的面向区块链的动态哈希计算方法的一种流程示意图。
图3是本发明第一实施例提供的面向区块链的动态哈希计算方法的另一种流程示意图。
图4是本发明第二实施例提供的面向区块链的动态哈希计算装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对本发明进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明。
代币,本发明实施例中指加密互联网货币,是以密码学为基础的分布式数字货币,包括比特币、以太币、莱特币以及其他类似的衍生币种。
区块(Block)是一个存储单元,各个区块之间通过随机散列(也称哈希算法)实现链接(chain),后一个区块的区块头(区块的头部)包含前一个区块的哈希值,从而实现区块与区块相继接续,形成区块链。
如图1所示,比特币的区块由区块头及该区块所包含的交易列表组成。区块头的大小为80字节,由4字节的版本号、32字节的上一个区块的散列值、32字节的Merkle RootHash(通过Merkle Tree算法对区块包含的交易列表处理生成)、4字节的时间缀(当前时间)、4字节的当前难度值、4字节的随机数组成。区块包含的交易列表则附加在区块头后面,其中的第一笔交易是coinbase交易,这是一笔为了让矿工获得奖励及手续费的特殊交易。
难度值,难度值(difficulty)是矿工们在挖矿时候的重要参考指标,它决定了矿工大约需要经过多少次哈希运算才能产生一个合法的区块。比特币的区块大约每10分钟生成一个,如果要在不同的全网算力条件下,新区块的产生保持都基本这个速率,难度值必须根据全网算力的变化进行调整。简单地说,难度值被设定在无论挖矿能力如何,新区块产生速率都保持在10分钟一个。难度的调整是在每个完整节点中独立自动发生的。每2016个区块,所有节点都会按统一的公式自动调整难度,这个公式是由最新2016个区块的花费时长与期望时长(期望时长为20160分钟即两周,是按每10分钟一个区块的产生速率计算出的总时长)比较得出的,根据实际时长与期望时长的比值,进行相应调整(或变难或变易)。也就是说,如果区块产生的速率比10分钟快则增加难度,比10分钟慢则降低难度。
这个公式可以总结为如下形式:
新难度值=旧难度值*(过去2016个区块花费时长/20160分钟)
工作量证明需要有一个目标值。比特币工作量证明的目标值(Target)的计算公式如下:
目标值=最大目标值/难度值其中最大目标值为一个恒定值:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
目标值的大小与难度值成反比。比特币工作量证明的达成就是矿工计算出来的区块哈希值必须小于目标值。
工作量证明过程,节点通过不停的变更区块头中的随机数(即nonce的数值),并对每次变更后的的区块头做双重SHA运算(即SHA(SHA(Block_Header))),将结果值与当前网络的目标值做对比,如果小于目标值,则解题成功,工作量证明完成。其中,在不同的区块中,为了安全,采用的SHA函数是不同的。
区块链(Blockchain),多个节点通过一串使用密码学方法相关联产生区块,区块采用“区块头+区块体”的结构,区块头中用于验证记录数据的有效性的数据、以及前一个区块的索引数据,区块体中包含了一定时间内的记录数据。
从功能结构上讲,区块链是一群分散的节点运行的分布式数据库,用以存储各种记录数据如虚拟货币交易的记录数据。从数据结构层面上讲,区块链中包括一系列的区块,新区块一旦加入到区块链中就不会再被移走,区块中包含了记录数据,用于验证记录数据的有效性(防伪)和生成下一个区块。
以比特币为例,比特币的交易依赖于运行区块链中节点的确认,当比特币交易被一节点首次确认时,对应的交易清单被添加到区块链中的最新区块,该交易被区块链网络中的其他节点继续确认免交易重复,当在足够的区块中得到确认(也就是在区块记录数据该交易)时交易得到最终确认,此时交易不可逆转。
51%攻击,所谓51%攻击,就是利用比特币使用算力作为竞争条件的特点,使用算力优势撤销自己已经发生的付款交易。如果有人掌握了50%以上的算力,他能够比其他人更快地找到开采区块需要的那个随机数,因此他实际上拥有了绝对哪个一区块的有效权利。
通过上面的介绍我们可以知道,在工作量证明过程中,节点会对每次nonce值变更后的的区块头做双重SHA运算(即SHA(SHA(Block_Header)),而根据在背景技术中的介绍,依靠枚举式哈希计算,一方面,枚举过程不能动态适应区块的高度,造成运算时时间的加长,从而能源消耗大。另一方面,采用固定的哈稀函数,一定程度上不能适应区块的的动态变化,同时,哈稀函数调用顺序的固定,也存在一定的安全问题。
本发明即是针对该过程进行改进。
请参阅图2,本发明第一实施例提供了一种面向区块链的动态哈希计算方法,包括如下步骤:
S101,获取待进行哈希的对象以及待生成的区块的高度。
在本实施例中,待进行哈希的对象即是待生成区块的区块头,其中,区块头中的nonce值会根据运算次数变化。待生成的区块的高度即是当前生成的区块的序号,例如,一个区块的高度为28937,则说明该区块是第28937个生成的区块。
S102,将所述高度转为字节,并对所述字节进行哈希运算,得到a位的第一字节数组。
如图3所示,假设区块的高度为28937,其2进制表示为是0111000100001001,前8位01110001转成10进制就是113,后8位00001001转成10进制就是9,则将28937转为字节后可生成字节1139。
接着,对该字节进行哈希运算(采用SHA256哈希函数),可生成64位的哈希值,再将该64位的哈希值转换为10进制,就可以得到相应的32位的第一字节数组。
其中,对于1139,其对于的32位的第一字节数组表示为[140 37 99 223 252 18914 204…]。
S102,根据预设的运行次数m,对所述第一字节数组的前m位进行取n模计算,得到m位的第二字节数组;其中,n为预设的哈希算法的种类数。
在本实施例中,运行次数m为大于1的整数,其可根据实际需要进行指定,例如,在本实施例中,指定运行次数m为7,则对所述第一字节数组的前7位进行取n模计算,得到包括m个数字的第二字节数组;其中,n为预设的哈希算法的种类数。当然,需要理解的是,m也可取其他值,如取3,5,9等数值,本发明不做具体限定。
在本实施例中,n可为11,其对应11种不同的哈希算法,当然,应当理解的是,n可以根据实际需要取其他值,例如,如果新开发了不同的哈希算法,可以相应增加n的值,或者可以不需要采用所有的哈希算法,可以相应减少n的值,这些方案仅在本发明的保护范围之内。
在本实施例中,对于m取7,而n取11的情况,相应得到的第二字节数组为[8,4,0,3,10,2,3]。
S103,根据第二字节数组中的每位数字对应的哈希算法以及数字的顺序,调用相应的哈希算法对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
具体地,本实施例中,定义A~K分别于11种哈希函数一一对应;并定义0~10分别对应A~K;
则S103具体包括:
S1031,根据所述第二字节数组中的每位数字对应生成包括m个字母的字母数组。
其中,所述字母数组为[I,E,A,D,K,C,D]。
S1032,获取与字母数组中的每个字母相应的m个哈希函数。
S1033,根根据m个哈希函数构成m重的复合哈希函数对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
其中,m重的复合哈希函数可表示为res=D(C(K(D(A(E(I(对象)))))))。即需要对对象(区块头)进行七重哈希运算,每重哈希对象的输入为上一重哈希运算输出的哈希值。
综上所述,本发明实施例提供的面向区块链的动态哈希计算方法,能根据当前区块的高度提供动态的,随机的,多样化的哈希函数使用方法,一方面,实现枚举过程动态适应区块的高度,缩短运算时时间,从而节约能源;另一方面,由于哈希过程是适应区块的高度动态变化的,可以进一步提高运算的安全问题,尽可能避免51%攻击的问题。
请参阅图3,本发明第二实施例提供了一种面向区块链的动态哈希计算装置,包括:
获取单元10,用于获取待进行哈希的对象以及待生成的区块的高度;
第一字节数组计算单元20,用于将所述高度转为字节,并对所述字节进行哈希运算,得到a位的第一字节数组;
第二字节数组计算单元30,用于根据预设的运行次数m,对所述第一字节数组的前m位进行取n模计算,得到m位的第二字节数组;其中,n为预设的哈希算法的种类数;
哈希计算单元40,用于根据第二字节数组中的每位数字对应的哈希算法以及数字的顺序,调用相应的哈希算法对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
优选地,所述n为11。
请参阅图4,优选地,定义A~K分别于11中哈希函数一一对应;并定义0~10分别对应A~K;
则所述哈希计算单元40具体包括:
字母数组生成模块,用于根据所述第二字节数组中的每位数字对应生成包括m个字母的字母数组;
哈希函数获取模块,用于获取与字母数组中的每个字母相应的m个哈希函数;
哈希计算模块,用于根据m个哈希函数构成m重的复合哈希函数对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
优选地,所述第一字节数组计算单元20具体包括:
字节转换模块,用于将所述高度中包含的各个数字转换为二进制,再根据转换后的二进制生成字节;
哈希模块,用于采用SHA256对所述字节进行哈希计算,得到对应的哈希值;
第一字节数组生成模块,用于将所述哈希值转换为10进制的具有32位的第一字节数组。
本发明实施例提供的面向区块链的动态哈希计算装置,能根据当前区块的高度提供动态的,随机的,多样化的哈希函数使用方法,一方面,实现枚举过程动态适应区块的高度,缩短运算时时间,从而节约能源;另一方面,由于哈希过程是适应区块的高度动态变化的,可以进一步提高运算的安全问题,尽可能避免51%攻击的问题。
本发明第三实施例提供了一种面向区块链的动态哈希计算节点,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述的面向区块链的动态哈希计算方法。
本发明第四实施例一种计算机可读存储介质,存储有可执行代码,其中,所述可执行代码经配置为被至少一个处理器执行,以实现上述任一实施例所述的面向区块链的动态哈希计算方法。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述面向区块链的动态哈希计算节点中的执行过程。
所述面向区块链的动态哈希计算节点可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述面向区块链的动态哈希计算节点可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述部件仅仅是面向区块链的动态哈希计算节点的示例,并不构成对面向区块链的动态哈希计算节点的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述面向区块链的动态哈希计算节点还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述面向区块链的动态哈希计算节点的控制中心,利用各种接口和线路连接整个面向区块链的动态哈希计算节点的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述面向区块链的动态哈希计算节点的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,所述面向区块链的动态哈希计算节点集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种面向区块链的动态哈希计算方法,其特征在于,包括如下步骤:
获取待进行哈希的对象以及待生成的区块的高度;
将所述高度转为字节,并对所述字节进行哈希运算,得到a位的第一字节数组;
根据预设的运行次数m,对所述第一字节数组的前m位进行取n模计算,得到m位的第二字节数组;其中,n为预设的哈希算法的种类数;
根据第二字节数组中的每位数字对应的哈希算法以及数字的顺序,调用相应的哈希算法对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
2.根据权利要求1所述的面向区块链的动态哈希计算方法,其特征在于,所述n为11。
3.根据权利要求2所述的面向区块链的动态哈希计算方法,其特征在于,定义A~K分别于11中哈希函数一一对应;并定义0~10分别对应A~K;
则所述根据第二字节数组中的每位数字对应的哈希算法以及数字的顺序,调用相应的哈希算法对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块,具体为:
根据所述第二字节数组中的每位数字对应生成包括m个字母的字母数组;
获取与字母数组中的每个字母相应的m个哈希函数;
根据m个哈希函数构成m重的复合哈希函数对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
4.根据权利要求1所述的面向区块链的动态哈希计算方法,其特征在于,所述待进行哈希的对象为待生成的区块的区块头,且该对象包含一个随运算次数变化的nonce值。
5.根据权利要求1所述的面向区块链的动态哈希计算方法,其特征在于,所述将所述高度转为字节,并对所述字节进行哈希运算,得到a位的第一字节数组,具体为:
将所述高度中包含的各个数字转换为二进制,再根据转换后的二进制生成字节;
采用SHA256对所述字节进行哈希计算,得到对应的哈希值;
将所述哈希值转换为10进制的具有32位的第一字节数组。
6.一种面向区块链的动态哈希计算装置,其特征在于,包括:
获取单元,用于获取待进行哈希的对象以及待生成的区块的高度;
第一字节数组计算单元,用于将所述高度转为字节,并对所述字节进行哈希运算,得到a位的第一字节数组;
第二字节数组计算单元,用于根据预设的运行次数m,对所述第一字节数组的前m位进行取n模计算,得到m位的第二字节数组;其中,n为预设的哈希算法的种类数;
哈希计算单元,用于根据第二字节数组中的每位数字对应的哈希算法以及数字的顺序,调用相应的哈希算法对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
7.根据权利要求6所述的面向区块链的动态哈希计算装置,其特征在于,所述n为11。
8.根据权利要求7所述的面向区块链的动态哈希计算装置,其特征在于,定义A~K分别于11中哈希函数一一对应;并定义0~10分别对应A~K;
则所述哈希计算单元具体包括:
字母数组生成模块,用于根据所述第二字节数组中的每位数字对应生成包括m个字母的字母数组;
哈希函数获取模块,用于获取与字母数组中的每个字母相应的m个哈希函数;
哈希计算模块,用于根据m个哈希函数构成m重的复合哈希函数对待进行哈希的对象进行哈希计算,以根据计算结果判断是否能够生成该区块。
9.一种面向区块链的动态哈希计算节点,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的面向区块链的动态哈希计算方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至5中任意一项所述的面向区块链的动态哈希计算方法。
CN201810168281.XA 2018-02-28 2018-02-28 面向区块链的动态哈希计算方法、装置、节点及存储介质 Expired - Fee Related CN108512650B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810168281.XA CN108512650B (zh) 2018-02-28 2018-02-28 面向区块链的动态哈希计算方法、装置、节点及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810168281.XA CN108512650B (zh) 2018-02-28 2018-02-28 面向区块链的动态哈希计算方法、装置、节点及存储介质

Publications (2)

Publication Number Publication Date
CN108512650A true CN108512650A (zh) 2018-09-07
CN108512650B CN108512650B (zh) 2021-03-09

Family

ID=63375887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810168281.XA Expired - Fee Related CN108512650B (zh) 2018-02-28 2018-02-28 面向区块链的动态哈希计算方法、装置、节点及存储介质

Country Status (1)

Country Link
CN (1) CN108512650B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109377225A (zh) * 2018-10-30 2019-02-22 杭州复杂美科技有限公司 交易分配方法、共识方法、设备和存储介质
CN109460996A (zh) * 2018-10-26 2019-03-12 全链通有限公司 公有区块链的处理方法、设备及计算机可读存储介质
CN110097361A (zh) * 2019-04-01 2019-08-06 南京思利华信息科技有限公司 一种基于x11算法的区块链动态算力共识方法及计算机系统
CN110096359A (zh) * 2019-04-15 2019-08-06 华南理工大学 一种快速收敛的区块链工作量证明共识难度调整方法
CN110191463A (zh) * 2019-05-14 2019-08-30 惠州Tcl移动通信有限公司 一种gsm网络的快速接入方法及相关设备
WO2019072275A3 (en) * 2018-11-27 2019-10-03 Alibaba Group Holding Limited System and method for information protection
CN111324489A (zh) * 2020-02-18 2020-06-23 杭州复杂美科技有限公司 主链游戏结果展示方法、设备和存储介质
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
CN111371558A (zh) * 2020-02-26 2020-07-03 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备及介质
US10715500B2 (en) 2018-11-27 2020-07-14 Alibaba Group Holding Limited System and method for information protection
US10726657B2 (en) 2018-11-27 2020-07-28 Alibaba Group Holding Limited System and method for information protection
CN111563277A (zh) * 2020-04-03 2020-08-21 上海坤振集成电路有限公司 一种区块链网络中的工作量证明方法以及一种区块链
US11080694B2 (en) 2018-11-27 2021-08-03 Advanced New Technologies Co., Ltd. System and method for information protection
US11102184B2 (en) 2018-11-27 2021-08-24 Advanced New Technologies Co., Ltd. System and method for information protection
US11144918B2 (en) 2018-08-06 2021-10-12 Advanced New Technologies Co., Ltd. Method, apparatus and electronic device for blockchain transactions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107005574A (zh) * 2016-12-23 2017-08-01 深圳前海达闼云端智能科技有限公司 区块生成方法、装置和区块链网络
CN107078903A (zh) * 2016-12-23 2017-08-18 深圳前海达闼云端智能科技有限公司 区块链的挖矿方法、装置和节点设备
CN107171810A (zh) * 2017-06-27 2017-09-15 中国联合网络通信集团有限公司 区块链的验证方法及装置
US20170353301A1 (en) * 2016-06-01 2017-12-07 Jesse Burton Gregg Caravan
CN107656812A (zh) * 2017-09-27 2018-02-02 咪咕文化科技有限公司 区块链处理方法、系统、节点设备、终端和存储介质
US20180039667A1 (en) * 2016-08-05 2018-02-08 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170353301A1 (en) * 2016-06-01 2017-12-07 Jesse Burton Gregg Caravan
US20180039667A1 (en) * 2016-08-05 2018-02-08 Chicago Mercantile Exchange Inc. Systems and methods for blockchain rule synchronization
CN107005574A (zh) * 2016-12-23 2017-08-01 深圳前海达闼云端智能科技有限公司 区块生成方法、装置和区块链网络
CN107078903A (zh) * 2016-12-23 2017-08-18 深圳前海达闼云端智能科技有限公司 区块链的挖矿方法、装置和节点设备
CN107171810A (zh) * 2017-06-27 2017-09-15 中国联合网络通信集团有限公司 区块链的验证方法及装置
CN107656812A (zh) * 2017-09-27 2018-02-02 咪咕文化科技有限公司 区块链处理方法、系统、节点设备、终端和存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱岩: "《区块链关键技术中的安全性研》", 《信息安全研究》 *
翟社平: "《区块链技术:应用及问题》", 《西安邮电大学学报》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11295303B2 (en) 2018-08-06 2022-04-05 Advanced New Technologies Co., Ltd. Method, apparatus and electronic device for blockchain transactions
US11144918B2 (en) 2018-08-06 2021-10-12 Advanced New Technologies Co., Ltd. Method, apparatus and electronic device for blockchain transactions
CN109460996A (zh) * 2018-10-26 2019-03-12 全链通有限公司 公有区块链的处理方法、设备及计算机可读存储介质
CN109460996B (zh) * 2018-10-26 2020-08-28 全链通有限公司 公有区块链的处理方法、设备及计算机可读存储介质
CN109377225A (zh) * 2018-10-30 2019-02-22 杭州复杂美科技有限公司 交易分配方法、共识方法、设备和存储介质
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
US10892888B2 (en) 2018-11-27 2021-01-12 Advanced New Technologies Co., Ltd. System and method for information protection
WO2019072275A3 (en) * 2018-11-27 2019-10-03 Alibaba Group Holding Limited System and method for information protection
US11127002B2 (en) 2018-11-27 2021-09-21 Advanced New Technologies Co., Ltd. System and method for information protection
US10715500B2 (en) 2018-11-27 2020-07-14 Alibaba Group Holding Limited System and method for information protection
US10726657B2 (en) 2018-11-27 2020-07-28 Alibaba Group Holding Limited System and method for information protection
US10748370B2 (en) 2018-11-27 2020-08-18 Alibaba Group Holding Limited System and method for information protection
US11102184B2 (en) 2018-11-27 2021-08-24 Advanced New Technologies Co., Ltd. System and method for information protection
US11282325B2 (en) 2018-11-27 2022-03-22 Advanced New Technologies Co., Ltd. System and method for information protection
US10885735B2 (en) 2018-11-27 2021-01-05 Advanced New Technologies Co., Ltd. System and method for information protection
US11218455B2 (en) 2018-11-27 2022-01-04 Advanced New Technologies Co., Ltd. System and method for information protection
US11277389B2 (en) 2018-11-27 2022-03-15 Advanced New Technologies Co., Ltd. System and method for information protection
US10938549B2 (en) 2018-11-27 2021-03-02 Advanced New Technologies Co., Ltd. System and method for information protection
US11080694B2 (en) 2018-11-27 2021-08-03 Advanced New Technologies Co., Ltd. System and method for information protection
CN110097361A (zh) * 2019-04-01 2019-08-06 南京思利华信息科技有限公司 一种基于x11算法的区块链动态算力共识方法及计算机系统
CN110097361B (zh) * 2019-04-01 2023-04-07 南京思利华信息科技有限公司 一种基于x11算法的区块链动态算力共识方法及计算机系统
CN110096359B (zh) * 2019-04-15 2021-01-19 华南理工大学 一种快速收敛的区块链工作量证明共识难度调整方法
CN110096359A (zh) * 2019-04-15 2019-08-06 华南理工大学 一种快速收敛的区块链工作量证明共识难度调整方法
CN110191463A (zh) * 2019-05-14 2019-08-30 惠州Tcl移动通信有限公司 一种gsm网络的快速接入方法及相关设备
CN110191463B (zh) * 2019-05-14 2022-03-25 惠州Tcl移动通信有限公司 一种gsm网络的快速接入方法及相关设备
CN111324489A (zh) * 2020-02-18 2020-06-23 杭州复杂美科技有限公司 主链游戏结果展示方法、设备和存储介质
CN111371558A (zh) * 2020-02-26 2020-07-03 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备及介质
CN111371558B (zh) * 2020-02-26 2024-01-16 百度在线网络技术(北京)有限公司 区块链数据处理方法、装置、电子设备及介质
CN111563277A (zh) * 2020-04-03 2020-08-21 上海坤振集成电路有限公司 一种区块链网络中的工作量证明方法以及一种区块链

Also Published As

Publication number Publication date
CN108512650B (zh) 2021-03-09

Similar Documents

Publication Publication Date Title
CN108512650A (zh) 面向区块链的动态哈希计算方法、装置、节点及存储介质
TWI820024B (zh) 去信任確定性狀態機之電腦實施方法
AU2021200938B2 (en) Methods and apparatus for a distributed database within a network
EP3554051A1 (en) Data processing method and device
EP3555757A1 (en) Methods and apparatus for a distributed database that enables deletion of events
CN109144414A (zh) 区块链数据的多级存储方法和装置
KR20210003234A (ko) 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것
CN106875254B (zh) 一种基于区块链技术的Android恶意应用程序控制方法
CN107181797A (zh) 一种区块链的区块压缩方法和系统
JP2022166214A (ja) ブロックチェーンを介して資産関連活動を制御するシステム及び方法
US20170132257A1 (en) Methods and apparatus for a distributed database within a network
US20190303622A1 (en) Bicameral framework for fast and tamper-resistant blockchain validation
CN111008201B (zh) 并行修改和读取状态树的方法和装置
CN112395300B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN110599177A (zh) 一种交易验证方法及相关设备
CN110601819B (zh) 一种对随机数的处理方法、区块链节点装置及存储介质
CN108777704A (zh) 一种区块链共识方法及系统
CN112488078A (zh) 一种人脸比对方法、装置及可读存储介质
CN109245878A (zh) 一种区块链的新区块生成方法、设备及可读存储介质
CN109033148A (zh) 一种面向多分类的不平衡数据预处理方法、装置及设备
TWI238636B (en) Operation device and method of fast secure hash algorithm
CN113994324A (zh) 具有高效世界状态数据结构的区块链系统
CN108833133A (zh) 基于云计算网络的网络配置管理方法、装置和存储介质
Saad et al. Decentralized directed acyclic graph based dlt network
CN111523889A (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
TA01 Transfer of patent application right

Effective date of registration: 20190117

Address after: 518004 Tailing Building 903, 5022 Fifth Avenue, Bantian Street, Longgang District, Shenzhen City, Guangdong Province

Applicant after: SILICON (SHENZHEN) ELECTRONIC TECHNOLOGY Co.,Ltd.

Address before: 518057 Shenzhen Nanshan District, Shenzhen, Guangdong Province

Applicant before: SHENZHEN WALTONCHAIN TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200423

Address after: 409a, building B, China Cloud Computing innovation base, Nanjing Baixia high tech Industrial Development Zone, No. 6, Yongzhi Road, Qinhuai District, Nanjing, Jiangsu Province, 210094

Applicant after: NANJING SILIHUA INFORMATION TECHNOLOGY CO.,LTD.

Address before: 518004 Tailing Building 903, 5022 Fifth Avenue, Bantian Street, Longgang District, Shenzhen City, Guangdong Province

Applicant before: SILICON (SHENZHEN) ELECTRONIC TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210309

CF01 Termination of patent right due to non-payment of annual fee