基于gep的区块链数据编解码方法、装置、设备及介质
技术领域
本申请涉及区块链
技术领域
,特别地,涉及一种基于GEP的区块链数据编解码方法、装置、设备及介质。背景技术
在现有区块链技术中,对于数据结构的编码以及验证,通常都采用的是默克尔树以及哈希算法(通常为SHA256,因此此处哈希算法代指SHA256),而使用上述方法会存在较多问题:
首先默克尔树在区块链交易序列化以及查询的使用中,通常使用的是SHA256哈希算法,计算量较大,导致了整体网络更多的算力消耗,降低了数据存储与序列化编码的效率。其次,SHA256哈希算法计算出的结果,字符量较多,使得该哈希值在构建默克尔树以及数据存储时,需要花费更多的存储空间,增大了存储系统数据读写的压力。最为关键的是,默克尔树所使用的哈希算法或其他改良散列算法,是一种与数据的内容、结构、形式完全无关的普适性散列算法,其编码过程没有联系区块链及其独特的数据结构,无法实现编码算法与数据结构的深度融合,从而导致更多的冗余计算和额外数据存储。这是导致产生各种效率问题的主要原因。基于这一点,默克尔树与区块链技术的结合使用还存在着验证步骤方面的问题。默克尔树实现的验证与查询,由于其普适性特点,需要满足其他使用环境下的最优方法,因此在区块链交易查询验证的步骤中,需要反复进行哈希计算,并且需要验证对比多个节点哈希,才能确定目标数据存在于现有数据结构中,验证过程复杂且计算量大,导致整个验证过程效率低下且无法针对区块链交易数据特性实现技术创新。
发明内容
本申请一方面提供了一种基于GEP的区块链数据编码方法,以解决现有编码方法因需要更多的冗余计算和额外数据存储导致效率低下的技术问题。
本申请通过以下方案实现:
一种基于GEP的区块链数据编码方法,包括步骤:
基于预设的编码空间和编码规则,使用GEP编码方式将目标交易信息转换为交易表达式;
根据所述编码规则,将包含有目标交易信息的交易表达式转换为ORF表达式;
根据所述编码规则,按照包含有目标交易信息的ORF表达式绘制表达式树;
根据所述编码规则,对包含目标交易信息的ORF表达式进行序列化处理,转换为基因单位,其中,所述基因单位仅表示一笔目标交易信息,包括基因头部和基因尾部,所述基因头部储存有区块链交易业务处理逻辑;所述基因尾部储存区块链交易业务对象;
将所述基因单位或由若干基因单位序列化组成的基因片段打包进区块链的区块数据结构,待区块添加到区块链进行保存后,将该基因或者基因片段序列化添加到可信染色体上,形成区块链技术条件下的一条区块链,其中,所述染色体为以符合序列化的方式对所有基因或者基因片段进行排序、整合后所得到的信息合集。
本申请另一方面还提供了一种基于GEP的区块链数据解码方法,包括步骤:
基于预设的编解码空间和编解码规则,将编码数据中的目标基因或者表达式树转换为ORF表达式;
根据所述编解码空间和编解码规则,将所述ORF表达式转换为交易表达式;
根据所述编解码空间,将所述交易表达式中的终结符集与函数符集还原得到实际交易信息。
本申请另一方面还提供了一种基于GEP的区块链数据编码装置,包括:
交易表达式转换模块,用于基于预设的基因表达式编程的编码空间和编码规则,使用GEP编码方式将目标交易信息转换为交易表达式;
ORF表达式转换模块,用于根据所述编码规则,将包含有目标交易信息的交易表达式转换为ORF表达式;
表达式树绘制模块,用于根据所述编码规则,按照包含有目标交易信息的ORF表达式绘制表达式树;
基因单位转换模块,用于根据所述编码规则,对包含目标交易信息的ORF表达式进行序列化处理,转换为基因单位,其中,所述基因单位仅表示一笔目标交易信息,包括基因头部和基因尾部,所述基因头部储存有区块链交易业务处理逻辑;所述基因尾部储存区块链交易业务对象;
序列化编码模块,用于将所述基因单位或由若干基因单位序列化组成的基因片段打包进区块链的区块数据结构,待区块添加到区块链进行保存后,将该基因或者基因片段序列化添加到可信染色体上,形成区块链技术条件下的一条区块链,其中,所述染色体为以符合序列化的方式对所有基因或者基因片段进行排序、整合后所得到的信息合集。
本申请另一方面还提供了一种基于GEP的区块链数据解码装置,包括:
ORF表达式解析模块,用于基于预设的编解码空间和编解码规则,将编码数据中的目标基因或者表达式树解析为ORF表达式;
交易表达式解析模块,用于根据所述编解码空间和编解码规则,将所述ORF表达式解析为交易表达式;
实际交易信息解析模块,用于根据所述编解码空间,将所述交易表达式中的终结符集与函数符集解析为实际交易信息。
本申请另一方面还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。
本申请另一方面还提供了一种存储介质,所述存储介质包括存储的程序,在所述程序运行时控制所述存储介质所在的设备执行所述方法的步骤。
相比现有技术,本申请具有以下有益效果:
本申请提供了一种基于GEP的区块链数据编解码方法、装置、设备及介质,相比现有技术,一方面,本申请期望通过采用新的基于GEP的数据编码方式,实现GEP编码方式与区块链技术在数据层面的深度融合与技术创新,结合区块链交易网络中的实际交易数据内容与相关数据编码需求,以及相关智能合约的操作类型,构建相应的函数符集与终结符集,以实现区块链交易中涉及到的相关参数、变量以及智能合约操作类型的替代,实现传统区块链技术中数据编码和验证方式的创新,真正做到从数据以及数据结构层面实现与区块链技术的契合与适配,提高数据编码过程的逻辑性与表达方式的合理性,增强数据在区块链技术中的流通性与流通效率。另一方面,本申请通过该高适配性的编码方式,替代现有区块链技术中使用的哈希算法与默克尔树的编码与验证方式,因此简化并克服了哈希算法在实现数据编码的过程中产生的冗余计算、效率低下的问题,使用更为简约的数据量来表达原有交易数据的逻辑,同时依然具备相应的信息概括与数据改写能力,从而解决哈希算法与默克尔树结构所产生的效率低下、冗余计算、冗余存储、响应较慢等问题,提高了区块链在数据编码层面的运行效率,增强整体网络的数据流动性和数据透明度,有望实现更多高性能、高并发、可拓展的查询算法与管理组件的支持,从而进一步提高区块链网络的运行效率与多功能业务拓展。
附图说明
图1是本申请优选实施例的基于GEP的区块链数据编码方法流程示意图。
图2是本申请中的相关生物学概念与区块链技术中相关概念的对应关系示意图。
图3是本申请优选实施例的一个基因型示意图。
图4是本申请优选实施例的一个基因示意图。
图5是本申请优选实施例中一个染色体示意图。
图6是本申请中优选实施例中一个ORF表达式示意图。
图7是本申请中优选实施例中一个表达式树示意图。
图8是本申请优选实施例的一个交易信息的编码流程示意图。
图9是本申请优选实施例基于GEP的区块链数据解码方法示意图。
图10是本申请优选实施例一个交易信息的解码流程示意图。
图11是本申请优选实施中目标染色体上查询特定目标交易信息的流程示意图。
图12是本申请优选实施例染色体中交易信息的验证流程示意图。
图13是本申请优选实施例基于GEP的区块链数据编码装置模块示意图。
图14是本申请优选实施例基于GEP的区块链数据解码装置模块示意图。
图15是本申请优选实施例电子设备实体示意框图。
图16是本申请优选实施例计算机设备的内部结构图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了便于理解,先对本申请中涉及到的相关技术术语进行解释说明。
区块链技术,也被称之为去中心化分布式账本技术,是一种基于通信网络并且让网络参与方共同参与“记账”、共同维护一份完整公开的账本数据库的新技术。由于区块链技术所使用的特殊数据结构,能够使其具有去中心化、公开透明、信息防伪的特性,因此区块链技术在众多领域中具有广泛的应用。并且结合不同的智能合约,可以在结合应用场景具体需求的前提下,实现可信安全数据的各类智能化事务处理,从而提高各行业的业务效率。
智能合约,本质上是一段支持多种计算编程语言、且事先设计编写完毕的程序,通常情况下编写完毕之后就无法被恶意更改。根据应用场景的不同或者具体业务需求的不同,可以设计编辑出不同运行逻辑的多样化智能合约。智能合约代表了使用该合约的业务场景下的业务对象处理逻辑。因此智能合约既实现了应用流程中的智能化演算和处理,同时也代表了目标业务的功能需求和逻辑设计。
哈希算法(Secure Hash Algorithm,缩写为SHA,也被称为hash算法),也被称为安全散列算法,是FIPS所认证的安全散列算法。哈希算法本质上是一种杂凑算法,能将任意长度的明文字符串映射为较短的、长度固定的字符串(Hash值,哈希值),不同的明文很难映射为相同的哈希值。从而实现对复杂内容进行不可逆的概括或者摘要,从而实现快速验证两个复杂的文件是否具备一致性而不需要对它们进行完整的比对。通过哈希算法对于复杂信息的概括,能够实现在不读取原信息的情况下,简单比对信息的一致性,可以实现对于信息隐私性的保护和对信息安全性的验证。
默克尔树(Merkle tree)是一种哈希二叉树,1979年由Ralph Merkle发明,其原理是将数据存储在树状结构的叶子节点中,并通过对数据的逐级哈希算法计算(SHA)确保数据的不可篡改性。默克尔树本质上是一种树状的数据结构,由目标数据、叶子节点、中间节点和根节点组成。首先由目标数据进行哈希算法计算,形成包含计算结果(哈希值)的叶子节点,然后再将两个叶子节点包含的数据进行哈希计算,从而得到包含两叶子节点计算结果的中间节点,在对两个中间节点进行哈希计算,等到迭代之后包含两中间节点计算结果的新中间节点,通过不断地对两个中间节点进行哈希计算,从而实现数据内容的聚合与迭代,最终只会得到一个哈希计算结果(哈希值),包含这个哈希值的节点就被成为根节点,而这个最终的哈希值也被称为根哈希,从而完成对多个目标数据进行整合与归纳的数据编码流程。
从原理上来说,根哈希包含有来自所有目标数据的哈希值。目标数据的任何变动,都会引起叶子节点的哈希值出现变化,并且都会逐步传递到上一级节点并最终反应到根哈希的变化。哈希运算的过程是不可逆的,即数据经过哈希运算可以得到哈希值,但不可以通过哈希值推导出原始运算数据。因此默克尔树可以用于保证数据安全隐私和校验数据准确和完整性。
基因表达式编程(Gene Expression Programming,下称GEP)是一种基于生物基因结构和功能发明的一种新型算法,用于创建计算机程序或者是数学模型。通常这些计算机程序是复杂的树状结构数据,通过改变这些数据流的大小、形状和组成来实现算法层面的学习与适应。GEP是由葡萄牙科学家Candida Ferreira 2001年提出来的一种新型遗传算法。GEP的特点是将基因型和表现型分离。具体来说,包含目标信息的染色体被作为基因型,而基于染色体所构建的表达式树则被作为表现型,通过这两种数据承载类型来构建GEP的核心——基因型-表现型系统,具体来说,在GEP的编码过程是将目标遗传信息编码成固定长度的线性字符串(基因组或者染色体),然后再表达成不同构成和形状的结构型非线性实体(表达式树)。解码则同理,则是将线性字符串转换为染色体的过程。GEP通过这一基因编码过程,能够将应用环境中的目标信息转化为数学表达式的形式,从而保存和传递目标信息,进而探索和适应应用环境,具有简单、线性、紧凑、易于优化操作等特点。基因表达式编程是在遗传算法的基础上发展起来的。它采用了一种全新的不同于遗传算法的个体描述方法,其实质是用广义的层次化数据结构描绘目标信息。GEP的实际应用方向包含有GEP优化算法应用与GEP信息编码应用两个部分,本申请侧重于对于GEP信息编码应用过程的创新使用,而并非针对GEP优化算法的创新使用。
基因型,在GEP中基因型指的是由一个或多个相同大小的基因组成的固定长度的线性符号串。这些被称为基因型的符号串有着固定长度的编码限制,每个存储字符都对应着各自的序列,并且通过不同大小的数值和不同形状的符号进行编码,实现对目标信息的转换。进一步地,基因型还可以转化为表达式树或染色体进行目标信息存储。
基因中包含两个部分,即包含函数符集的头部(Head)以及包含终结符集的尾部(Tail)。函数符集(function set,通常用F表示)用于包括预先定义的函数或者其他具有计算逻辑的运算符,是表达式中所涉及到的计算方式或处理逻辑所涉及到的符号或函数的合集。而终结符集(terminal set,通常用T表示)通常包括基因表达式在编码过程中的相关输入,例如常量、变量或者没有参数的函数等,即各类参数与数值都可以认为是输入。
染色体(Chromosome)在GEP中染色体可以认为是同一范畴的基因的序列化合集。通过将同一类型的信息以GEP编码方式进行处理,得到序列化之后的基因,同时以符合序列化的方式对所有基因进行排序、整合,所得到的信息合集即为染色体。从概念的角度来说,染色体包含了同一范畴内的所有已编码的目标信息的信息内容。
ORF表达式,在GEP中也被称为K表达式,这一概念来源于生物学中的可读框(openreading frame,ORF)这一概念。可读框在生物学中是用于编码一条多肽链或是一种蛋白质的碱基序列的编码方式。而在GEP中,则作为对于目标信息进行基因表达式编程的一种编码概念。ORF表达式是具有逻辑结构、但尚未进行序列化的数学表达式,是基因型的重要组成部分,且在实际的GEP应用中,ORF表达式的字符量通常小于或等于基因,即ORF的字符长度可能会小于存储基因的长度。而通过序列化以及排序之后的ORF表达式,即为基因。因此ORF表达式是通过将现有进行转化为交易表达式(中间形态),进而转化为ORF表达式,从而构建表达式树与染色体。
表达型,表达型是将基因型所包含的符号串进行结构型逻辑表达的结果。它将基因型的表达式(包含的目标信息)转化为具有运算逻辑的、层级结构的、可视化的图示结构。在GEP中,主要以表达式树来创建表达型。
表达式树,在GEP中也被称为Expression Tree或者是ET,在GEP中表达型指的是由圆形所代表的元素与连线所代表的分支组成的树状数据结构。圆形可以用于表示函数符集或是终结符集,一个圆形仅用于表示一个元素。并且表达式树严格遵守特定的序列化规则,如从上到下,从左到右等。通过这种独特的序列规则,来赋予元素之间的逻辑关系。因此表达式树也是表达型具有逻辑意义的证明,是赋予基因和ORF表达式逻辑含义的表达方式。
现有区块链技术编解码与验证方式依赖于默克尔树与哈希算法来实现,但是由于哈希算法的普适性,无法实现在区块链技术条件下的效率最优化,因此本申请希望解决的技术问题有两个:
1、基于GEP编解码方式,实现区块数据结构创新
现有GEP算法由于基于优化算法使用,包含变异、重组、插串等过程以实现数据变化,从而对数学模型以及描述表达式进行迭代与优化。本申请希望保留GEP的基因型-表现型系统与数据编解码方式,对GEP的编码过程进行优化与改造,实现GEP与区块链技术条件下的数据结构的融合,提出新的编解码方式,并且基于这一新编解码方式来构建新的区块数据结构,从而提高区块链技术的契合性,实现区块链数据结构的创新,构建新的区块数据编解码流程与查询流程,实现我国自主研发创新区块链数据结构。
2、替代现有哈希算法与默克尔树结构,提高数据存储与数据计算的效率
现有哈希算法与默克尔树结构是用于解决其他普适性问题,目的并不是用于支持和服务区块链技术,对于区块链技术条件下的数据存储效率并不是最优化方法。而使用本申请提出的基于GEP的编解码方式来替代现有的哈希算法与默克尔树结构,有望解决传统区块链编解码与验证方式的效率最优化问题与技术适配性、融合度的问题,提高区块链技术条件下的数据存储效率,节约存储空间。以及增强区块链技术条件下的数据计算能力,增强整体网络算力效率。
针对现有技术中的上述缺陷之一,如图1所示,本申请的优选实施例提供了一种基于GEP的区块链数据编码方法,包括步骤:
S1、预设编码空间,所述编码空间的预设过程包括:
设置函数符集与终结符集,其中,设置函数符集的步骤包括:确定涉及到的所有智能合约与对应的符号或函数的转换关系;设置终结符集的步骤包括:确定涉及到的所有业务对象与对应的变量、常量或对象参数的转换关系;
S2、预设编码规则,所述编码规则的预设过程包括:
设置函数符集中所有符号或者函数的逻辑顺序;
设置终结符集中所有变量、常量或对象参数的逻辑顺序;
设置将ORF表达式转化为基因、将基因转化为基因片段或者染色体的序列化规则,包括:一个基因单位包含序列号的数量、一个基因片段包含的基因单位的数量、一个染色体所包含的基因单位的数量、一个区块所包含的基因单位或基因片段的数量;
S3、基于预设的编码空间和编码规则,使用GEP编码方式将目标交易信息转换为交易表达式;
S4、根据所述编码规则,将包含有目标交易信息的交易表达式转换为ORF表达式;
S5、根据所述编码规则,按照包含有目标交易信息的ORF表达式绘制表达式树;
S6、根据所述编码规则,对包含目标交易信息的ORF表达式进行序列化处理,转换为基因单位,其中,所述基因单位仅表示一笔目标交易信息,包括基因头部和基因尾部,所述基因头部储存有区块链交易业务处理逻辑;所述基因尾部储存区块链交易业务对象;
S7、将所述基因单位或由若干基因单位序列化组成的基因片段打包进区块链的区块数据结构,待区块添加到区块链进行保存后,将该基因或者基因片段序列化添加到可信染色体上,形成区块链技术条件下的一条区块链,其中,所述染色体为以符合序列化的方式对所有基因或者基因片段进行排序、整合后所得到的信息合集,至此,解码过程结束。
本申请基于GEP编码方式,确立了基因型-表现型编解码系统,包括作为基因型的染色体与基因,以及作为表现型的表达式树这三种结构。基因型包含染色体与基因这两种结构,表现型包含表达式树这一种结构。进一步地,染色体包含多个同一范畴的基因,且基因可以分为包含函数符集的头部与包含终结符集的尾部。并且单个基因可以通过转化为表达式树这一逻辑型数据结构,实现交易信息的逻辑表达,从而构成整个编解码方式与数据结构。
同时,本申请还通过GEP编解码,构建了生物学概念到区块链技术中的对应关系,实现生物学数据形态和信息科学的概念对应,体现出本申请将生物学数据管理融入到信息科学中的创新性,实现了生物遗传学在信息科学领域的变革应用。图2展示了本申请中的相关生物学概念与区块链技术中相关概念的对应关系。
区块链技术中的交易概念,对应本申请中的基因单位概念。本申请中定义了基因单位这一概念(详细见下概念术语解释)。每一笔交易请求,都将通过本申请定义的编解码规则,转换为基因单位,即一个基因单位只包含一笔交易,是整个发明以及区块链技术概念中的基本单位。进一步地,由基因单位可以进一步组成基因片段与染色体,则对应区块链技术概念中的区块与区块链的概念。
区块链技术中的区块概念,对应本申请中的基因片段概念。特别地,根据实际情况地不同,当一个区块即包含一笔交易的时候,则对应一个区块中仅包含一个基因单位编码,此时不适用基因片段结构;而当一个区块包含多笔交易的时候,则对应一个区块包含多个基因单位编码,此时这些基因单位按照序列化规则,将组成基因片段这一结构,即,在一个区块包含多笔交易的情况下,区块链技术概念中的区块即对应本申请中基因片段这一概念。它们都是一部分序列化的信息进行集成化的合集。
区块链技术中的区块链概念,对应本申请中的染色体概念。通过将同一范畴的区块进行序列化持久保存形成的链式结构就是区块链,而同理,染色体是将同一范畴的基因(基因单位或基因片段)序列化之后的合集结果,用于基因的长期稳定保存。二者都实现了前一组件的持久化存储特性以及序列化特性,体现了新编解码方式对现有区块链数据编解码方式的关系创新与结构改造。
下面对上实施例中涉及到的具体术语与相关概念解释如下:
(1)基因型
在本申请中,基因型指的是固定长度的线性符号串,这些符号串具有严格的序列化与逻辑化结构,且包含特定的被编码的交易信息。基因型的序列化编号被称为基因型元素位,而序列化之后的表达式元素,则被称为基因元素值。基因型这一结构的主要功能是通过不同大小的数字和不同形状的符号进行编码,实现对目标交易信息的转换。基因型包含两种存在形式:基因与染色体。在本申请的设计概念中,基因型对应的是区块链技术条件下的数据存储的部分,即区块(对应基因)与区块链(对应染色体),一个基因型的示例如图3所示,其中包含基因与染色体两部分。
(2)基因
在本申请中,基因指的是经过编码且序列化之后的字符串。基因这一结构的主要功能是通过不同大小的数字与不同形状的符号目标交易信息进行编码、存储,从而实现对交易信息的编解码转换。
特殊地,一个基因单位仅包含一笔交易请求。本申请中,将基因单位定义为是整个基因型中的最基础的度量单位。根据实际需求,可以调整序列号的字符量,以将多个基因单位整合成一个基因片段。进一步地,结合实际区块链技术条件,区块链中的数据分割的基础单位既可以是一个基因单位,也可以是包含相同数量基因单位的基因片段来作为一个区块的对应。这代表着区块链既可以仅用一个基因单位来创建一个区块,继而构建区块链;也可以用一个基因片段来创建一个区块,继而构成区块链。
同时,基因包含两个结构——头部以及尾部。在本申请中,基因对应的是区块链技术条件下的交易信息,即编码处理之后需要存储的交易信息部分。一个基因的示例如图4所示,其中已标注头部和尾部,包含基因单位与基因片段两种类型。
(2.1)基因头部(包含智能合约的数据处理方法)
在本申请中,头部(Head)是指在构成基因的字符串中,包含预先定义的函数或者其他具有计算逻辑的运算符的部分。这些运算符组成的集合称为函数符集(function set,用F表示),是相关表达式中所涉及到的计算方式或处理逻辑所涉及到的符号或函数的合集。在本申请中,函数符集包含了对智能合约操作类型的预先定义,将相同种类的智能合约操作以各种运算符或函数的形式进行替代,从而实现将实际的交易信息类型转化为字符串的形式进行记录。也可以说,基因头部是用来储存区块链交易业务处理逻辑的部分。
(2.2)基因尾部
在本申请中,尾部(Tail)是指在构成基因的字符串中,包含常量、变量、对象参数等用于表示数据处理对象的部分。这些数值或函数对象或交易输入组成的集合称为终结符集(Terminal set,用T表示),是相关表达式中所涉及到的计算和业务处理的操作对象。在本申请中,终结符集包含了对智能合约操作对象的预先定义,将相关交易所涉及的业务对象以各种变量或常量或对象参数的形式进行替代,从而实现将实际的交易对象转化为字符串的形式进行记录。也可以说,基因尾部是用来储存区块链交易业务对象的部分。
(3)染色体
在本申请中,染色体(Chromosome)是同一范畴的基因的序列化合集。通过将同一类型的信息以GEP编码方式进行处理,得到序列化之后的基因,同时以符合序列化的方式对所有基因进行排序、整合,所得到的信息合集即为染色体。
特别地,在本申请中,由于染色体是由同一范畴内的基因(或者基因片段)通过序列化之后构成,因此不论区块创建单位是基因或者基因片段,染色体都对应的是区块链技术条件下的一条区块链,即包含同一范畴或者同一通道内的所有交易信息的集合。从概念的角度来说,染色体包含了同一范畴内的所有已编码的交易信息的信息内容。
至此,整个表现型系统与区块链技术中的相关概念与数据结构实现了一一对应,为GEP编解码在区块链技术中的应用提供了替代基础,也反映了GEP编解码对于区块链技术的极高契合性,其中,一个染色体的示例如图5所述。
(4)ORF表达式
在本申请中,ORF表达式是对于目标信息进行基因表达式编程的一种编解码概念,是交易信息转化的字符串,是具有逻辑结构、但尚未进行序列化的数学表达式,是基因型的重要组成部分。通过序列化以及排序之后的ORF表达式,即为基因或者基因片段,一个ORF表达式的示例如图6所示。
(4.1)交易表达式
在本申请中,还定义了一类交易表达式(Transaction Expression Function,TEF)。交易表达式是目标交易信息与ORF表达式中的中间形态。在实际应用环境中,一笔交易信息无法直接转化为ORF表达式,进行数据编解码与数据存储,因此通过设置一种中间形态来解决该问题。首先需要预先设置函数符集与终结符集,以确定将交易信息转化为字符串的方式与集合,然后将交易信息中所包含的交易类型与交易对象替换为函数符集与终结符集所包含的元素,实现交易信息的初步编解码过程。使用交易表达式这一中间形态,有助于提高交易数据编解码过程的容错性,丰富系统模块化特性,增强编解码算法的操作性,拓宽编解码算法的定制化空间,同时也有助于后续编解码算法与程序的研究和开发。
因此,实际编码流程是先将目标交易信息转化为交易表达式(中间形态),进而转化为ORF表达式,再通过序列化之后构建基因型与染色体。具体而言,将交易表达式转化为ORF表达式的规则为:按照预先确定的函数符集逻辑顺序,提取交易表达式中的函数符号进行序列化,形成头部。再按照预先确定的终结符集逻辑顺序,提取交易表达式中的参数与变量进行序列化,形成尾部。
(5)表达型
在本申请中,表达型是将基因型所包含的符号串进行结构型逻辑表达的结果。它将基因型的表达式(包含的目标信息)转化为具有运算逻辑的、层级结构的、可视化的图示结构。在本申请中,主要以表达式树来创建表达型。
(6)表达式树
在本申请中,表达式树(Expression Tree,ET)是由圆形所代表的元素与连线所代表的分支组成的树状数据结构。圆形可以用于表示函数符集或是终结符集,一个圆形仅用于表示一个元素。并且表达式树严格遵守特定的序列化规则,如从上到下,从左到右等,具体的序列化规则取决于实际应用需求。通过这种独特的序列规则,来赋予元素之间的逻辑关系。因此表达式树也是表达型具有逻辑意义的证明,是赋予基因型和ORF表达式逻辑含义的表达方式,一个表达式树的示例如图7所示。
可以理解的是,本申请通过改进GEP编码方式,确立交易表达式(TransactionExpression Function,TEF)、ORF表达式、表达式树(Expression Tree,ET)、基因与染色体等结构。本申请改进细节包括:将GEP编码的函数符集用于储存智能合约的相关算法,将设交易对象设置为终结符集,从而确立数据编码的空间,并将其与区块链涉及的业务对象相关联,从而使用该编码方式记录一笔交易,而非使用哈希算法(Hash)。本申请还对基因型的序列化方式进行规范化改进,移除原有GEP编码方式中重组、突变等改变编解码信息内容的步骤,对基因序列号进行预先固定,取消原有基因与ORF表达式在字符量上不对应的情况,从而实现交易信息到基因型的规范化转化,保证信息内容不缺失、不遗漏、不变化的同时,合理结合利用原有GEP编码方式,降低区块链数据编码过程复杂度,提高数据编码的效率与数据存储的便捷度。最终通过构建相应的表现型与基因型,建立区块链内的数据存储结构,替代默克尔树,从而完成对当前区块链技术条件下的数据结构以及编码方式的替换。
下面使用一个实际的例子来解释编码的流程,图8展示了一个交易信息的编码流程,包括:
首先确定函数符集与终结符集。函数符集包含有{+,x},终结符集包含有{A,B,at1,at2}。
其次,根据函数符集与终结符集,将目标交易信息转化为交易表达式。如图所示,交易信息{资产ASSET1转移给B}被转换为交易表达式{at1 x B}。
然后,将目标交易表达式转换为ORF表达式。如图所示,交易表达式{at1 x B}被转换为ORF表达式{x at1 B}。
接着,将ORF表达式转换为表达式树。表达式树结果如图所示。
接着,将ORF表达式进行序列化,转换为基因,如图8所示,ORF表达式被转换为基因1。
最后,将基因1添加到染色体上。结果如图所示,基因1被添加到染色体1上。
综上所述,一方面,本实施例期望通过采用新的基于GEP的数据编码方式,实现GEP编码方式与区块链技术在数据层面的深度融合与技术创新,结合区块链交易网络中的实际交易数据内容与相关数据编码需求,以及相关智能合约的操作类型,构建相应的函数符集与终结符集,以实现区块链交易中涉及到的相关参数、变量以及智能合约操作类型的替代,实现传统区块链技术中数据编码和验证方式的创新,真正做到从数据以及数据结构层面实现与区块链技术的契合与适配,提高数据编码过程的逻辑性与表达方式的合理性,增强数据在区块链技术中的流通性与流通效率。另一方面,本实施例通过该高适配性的编码方式,替代现有区块链技术中使用的哈希算法与默克尔树的编码与验证方式,因此简化并克服了哈希算法在实现数据编码的过程中产生的冗余计算、效率低下的问题,使用更为简约的数据量来表达原有交易数据的逻辑,同时依然具备相应的信息概括与数据改写能力,从而解决哈希算法与默克尔树结构所产生的效率低下、冗余计算、冗余存储、响应较慢等问题,提高了区块链在数据编码层面的运行效率,增强整体网络的数据流动性和数据透明度,有望实现更多高性能、高并发、可拓展的查询算法与管理组件的支持,从而进一步提高区块链网络的运行效率与多功能业务拓展。
如图9所示,一种基于GEP的区块链数据解码方法,包括步骤:
S1、预设编解码空间,所述编解码空间的预设过程包括:
设置函数符集与终结符集,其中,设置函数符集的步骤包括:确定涉及到的所有智能合约与对应的符号或函数的转换关系;设置终结符集的步骤包括:确定涉及到的所有业务对象与对应的变量、常量或对象参数的转换关系;
S2、预设编解码规则,所述编解码规则的预设过程包括:
设置函数符集中所有符号或者函数的逻辑顺序;
设置终结符集中所有变量、常量或对象参数的逻辑顺序;
确定将基因或表达式树转化为ORF表达式的序列化规则。
S3、基于预设的编解码空间和编解码规则,将编码数据中的目标基因或者表达式树转换为ORF表达式;
S4、根据所述编解码空间和编解码规则,将所述ORF表达式转换为交易表达式;
S5、根据所述编解码空间,将所述交易表达式中的终结符集与函数符集还原得到实际交易信息,至此,解码过程结束。
本实施例的解码流程概述为:首先确定需要转换的对象是基因还是表达式树,确定函数符集与终结符集和编解码规则,从而建立解码空间;其次,将目标基因转化为尚未序列化的ORF表达式;如果为表达式树,则根据逻辑顺序将目标树状结构转换为ORF表达式;再次,根据解码空间,将ORF表达式转换为交易表达式(Transaction Expression Function);再次,根据解码空间中的对应关系,将交易表达式解码为实际交易信息。至此,解码过程结束。
下面使用一个实际的例子来解释解码的流程,图10展示了一个交易信息的解码流程:
首先确定函数符集与终结符集。如图10所示,函数符集包含有{+,x},终结符集包含有{A,B,at1,at2}。
其次,根据函数符集与终结符集,将目标基因或者是表达式树转换为ORF表达式。如图所示,基因1与表达式树被转换成了ORF表达式{x at1 B}。
再次,将目标ORF表达式转换为交易表达式。如图10所示,ORF表达式{x at1 B}被转换为交易表达式{at1 x B}。
再次,交易表达式转换为具体交易内容。解码完成。如图所示,交易表达式{at1 xB}被转换为交易内容{资产ASSET1转移给B}。
下面对本申请中数据的验证方法进行详细说明。
本申请的具体验证流程概述为:首先确定需要验证的目标交易以及被查询的目标染色体,确定函数符集与终结符集和编码规则,从而建立编码空间;其次,将目标交易内容按照编码空间转化为交易表达式(Transaction Expression Function);再次,将交易表达式转化为ORF表达式;再次,按照预先确定的序列化规则,将ORF表达式转化为基因;最后,在目标染色体上查找是否含有满足条件的基因;若可以查询到目标基因,则验证通过,若未查询到目标基因,则验证不通过,至此,验证流程结束。
如图11所示,在本申请中,在目标染色体上查询特定目标交易信息的完整步骤如下:
S1、设置函数符集与终结符集,确定编解码空间,确定函数符集这一过程包含:确定涉及到的所有智能合约与对应的符号或函数的转换关系。确定终结符集这一过程包含:确定涉及到的所有业务对象与对应的变量、常量或对象参数的转换关系。
S2、确定编解码规则,确定编解码规则这一过程包含:确定函数符集中所有符号或者函数的逻辑顺序;确定终结符集中所有变量、常量或对象参数的逻辑顺序;确定将ORF表达式转化为基因、将基因转化为基因片段或者染色体的序列化规则(包括,确定一个基因单位包含序列号的数量;确定一个基因片段包含的基因单位的数量等)。
S3、确定需要查询的特定目标交易信息,根据编解码空间和编解码规则,将目标交易信息转换为交易表达式。
S4、确定包含目标交易信息的交易表达式,根据编解码规则,将目标交易表达式转换为ORF表达式。
S5、确定包含目标交易信息的ORF表达式,根据编解码规则,进行序列化处理,将ORF表达式转换为基因单位。
S6、确定包含目标交易信息的基因单位,在被查询染色体上进行检索,检索是否存在该与目标基因单位相同的基因字符串。
S7、若查询到相同基因单位,验证通过,目标染色体上包含该特定交易信息;若未查询到,则验证不通过,至此,验证过程结束。
使用一个实际的例子来解释验证的流程。
图12展示了一个染色体中交易信息的验证流程:
首先确定函数符集与终结符集。如图所示,函数符集包含有{+,x},终结符集包含有{A,B,at1,at2}。
其次,根据函数符集与终结符集,将目标交易信息转化为交易表达式。如图所示,交易信息{A转移了资产ASSET1给B}被转换为交易表达式{at1 x B}。
再次,将目标交易表达式转换为ORF表达式。如图所示,交易表达式{at1 x B}被转换为ORF表达式{x at1 B}。
再次,将ORF表达式进行序列化,转换为基因。如图所示所示,ORF表达式{x at1 B}被转换为基因。
再次,检查目标查询染色体中是否包含该基因序列。如果包含,则验证通过,如果不包含,则验证不通过。图中在被查询染色体上存在查询基因,因此可以认为染色体是存在目标查询交易信息。
如图13所示,本申请的另一优选实施例提供了一种基于GEP的区块链数据编码装置,包括:
交易表达式转换模块,用于基于预设的基因表达式编程的编码空间和编码规则,使用GEP编码方式将目标交易信息转换为交易表达式;
ORF表达式转换模块,用于根据所述编码规则,将包含有目标交易信息的交易表达式转换为ORF表达式;
表达式树绘制模块,用于根据所述编码规则,按照包含有目标交易信息的ORF表达式绘制表达式树;
基因单位转换模块,用于根据所述编码规则,对包含目标交易信息的ORF表达式进行序列化处理,转换为基因单位,其中,所述基因单位仅表示一笔目标交易信息,包括基因头部和基因尾部,所述基因头部储存有区块链交易业务处理逻辑;所述基因尾部储存区块链交易业务对象;
序列化编码模块,用于将所述基因单位或由若干基因单位序列化组成的基因片段打包进区块链的区块数据结构,待区块添加到区块链进行保存后,将该基因或者基因片段序列化添加到可信染色体上,形成区块链技术条件下的一条区块链,其中,所述染色体为以符合序列化的方式对所有基因或者基因片段进行排序、整合后所得到的信息合集。
如图14所示,本申请的另一优选实施例一种基于GEP的区块链数据解码装置,包括:
ORF表达式解析模块,用于基于预设的编解码空间和编解码规则,将编码数据中的目标基因或者表达式树解析为ORF表达式;
交易表达式解析模块,用于根据所述编解码空间和编解码规则,将所述ORF表达式解析为交易表达式;
实际交易信息解析模块,用于根据所述编解码空间,将所述交易表达式中的终结符集与函数符集解析为实际交易信息。
上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
如图15所示,本申请的优选实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中的基于GEP的区块链数据编码或解码方法。
如图16所示,本申请的优选实施例还提供了一种计算机设备,该计算机设备可以是终端或活体检测服务器,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的其他计算机设备通过网络连接通信。该计算机程序被处理器执行时以实现上述基于GEP的区块链数据编码或解码方法。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本实施例方案相关的部分结构的框图,并不构成对本实施例方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的设备,或者组合某些设备,或者具有不同的设备布置。
本申请的优选实施例还提供了一种存储介质,所述存储介质包括存储的程序,在所述程序运行时控制所述存储介质所在的设备执行上述实施例中的基于GEP的区块链数据编码或解码方法。
综上所述,本申请相比现有技术,具有如下关键创新点:
1.结合基因表达式编程与区块链技术,创新提出了新的区块数据结构
基因表达式编程技术目前仅在优化算法领域进行应用,尚未针对区块链技术实现创新与应用。本申请通过对基因表达式编程中的GEP编码方式进行创新与改造,保留了原有的生物学遗传信息的编码方式,集成其富于逻辑性的数据结构,剔除了对于保存数据不利的变异、重组等方法,首次创建了适用于区块链技术的新数据编码方式与数据结构。同时改进了GEP编码方式的组成元素,包括函数符集、终结符集与表达式树等结构,使得新数据编码方式更加符合区块链技术条件下的参数配置与业务逻辑,让数据编码不仅仅是对原有信息进行序列话,更是将原有数据所包含的逻辑性写入到序列化字符中,使得新的数据编码方式具有区块链业务特色的逻辑内涵,并且更符合区块链交易的独特编码需求,提高数据编码方式与区块链运行方式的契合度。
2.基因表达式编程对现有默克尔树的替代,提高原有区块链数据计算与存储效率
本申请所创造的新的数据编码方式,既含有数据编码所需的序列化编码方法(基因型),也包含数据逻辑层级结构(表现型),在区块链数据编码这一层面可以完全替代现有的哈希算法与默克尔树数据结构。通过更加简化的序列化编码方法以及更加简洁、更富逻辑的表达式树结构,可以解决使用普适性方法(指哈希算法与默克尔树)所带来的计算冗余等问题,提高区块链在数据编码层面的运行效率,增强整体网络的数据流动性和数据透明度,有望实现更多高性能、高并发、可拓展的查询算法与管理组件的支持,从而进一步提高区块链网络的运行效率与多功能业务拓展。
3.生物学概念模型与信息科学数据结构的交叉
从宏观角度来说,本申请首次将生物学数据形态融入到信息技术数据应用科学中,将基于生物基因的结构与功能融合到区块链技术中的数据处理与编码流程中,通过人工构建目标符集,模拟自然世界中遗传信息编码与表现逻辑传递的过程,利用预先确定的序列化方式,对目标符集形成的编码参数空间进行有效序列化以及高效搜索,将生物遗传学的编码形式通过改造创新,较好地运用于现有信息技术科学中的数据处理流程中,实现了数据形态与数据应用在跨领域融合方面的突破,有助于新的生物学数据形态在神经网络、机器学习以及其他信息技术科学领域中的应用,进一步地,有助于实现区块链技术在底层数据层面的创新发展,实现全新高效运行与自主可控的新区块链技术。
本实施例的方法所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个或者多个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory),磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:获取单号的方法、装置及系统