一种适用于商品溯源场景的区块链系统及其工作方法与流程

文档序号:21696038发布日期:2020-07-31 22:36阅读:177来源:国知局
一种适用于商品溯源场景的区块链系统及其工作方法与流程

本发明涉及一种适用于商品溯源场景的区块链系统,确切地说,涉及一种用于记录商品流转信息的区块链系统及其工作方法,属于一种涉及区块链技术、商品溯源技术、数字签名技术等技术的区块链系统。



背景技术:

随着社会经济的发展,人们的收入和生活水平不断提高,频发的食品安全问题、商品假冒伪劣问题使得消费者对商品流转信息的关注度日益提升,消费者渴望获得及时、可信、充足的商品信息来保障他们的利益。

溯源需要通过产业链上下游各方广泛参与来实现,传统的溯源系统往往使用第三方、集中式方式存储商品流转数据。这种机制在供应链环境下存在着许多隐患。单一机构对所有数据拥有绝对的控制权,供应链的其他成员无法充分了解数据状况,从而降低了供应链成员对溯源系统的信任。且供应链成员存在一定的自利性,出于对自身利益的考虑,很有可能对商品数据进行篡改和伪造。使用区块链存储商品溯源数据能够保障数据难以被篡改和捏造,但现有的区块链平台(如比特币、以太坊等)大多面向代币场景,直接使用在商品溯源系统中会产生冗余数据过多、资源消耗过大、商品信息查询速度缓慢等问题。

如何针对现有解决方案的不足和缺陷,开发一种既能保障商品流转数据难以被篡改和伪造,又能具备较好的查询速度、较少的冗余数据的商品流转信息存储系统,已经成为了相关领域研究人员关注的新课题。



技术实现要素:

为了更加科学合理地解决商品溯源系统对商品流转数据的存储需求,本发明的设计思想是,设计一种适用于商品溯源场景的区块链系统,该区块链系统用于存储商品流转信息,以用户和商品编号为线索将商品流转信息组织为相互勾稽的网状结构,并按照一定的规则,根据商品流转信息的类型和状态,对信息进行相应的验证、转发、存储等处理,将商品流转数据存储在与之相关的供应链成员处。从而达到在保障商品数据难以被篡改的同时,提升系统查询效率,减少冗余数据存储的目的。

本发明旨在解决商品在供应链上流转时信息透明度不足、消费者和采购商无法追溯商品流转信息的问题,和在商品溯源系统中直接引入区块链平台存储商品流转数据导致系统查询速度慢、冗余数据多的弊端。有鉴于此,本发明提供了一种适用于商品溯源信息存储的区块链系统,其特征在于:所述系统包括四个组成部件,分别为商品数据模块、数据处理模块、数据存储模块和数据库。

为了达到上述目的,本发明还提供一种本发明一种适用于商品溯源场景的区块链系统的工作方法,其特征在于:所述方法包括以下操作步骤:

步骤1:商品信息块生成:商品信息块生成步骤根据用户提交的商品生成时间、商品规格信息、商品状态信息等属性信息生成商品信息块。

步骤2:商品信息块存储:商品信息块存储步骤指的是商品信息数据被封装为商品信息块后,需要存储在本地数据库和有关节点的数据库中。步骤1和步骤2共同完成商品信息的录入工作。

步骤3:商品信息查询:该步骤负责根据用户提交的商品标识,在系统中查询相应的商品流转信息记录并进行相应的反馈。该步骤在用户提交商品信息查询请求时执行。

针对现有多种产品的缺陷和不足,本发明进行了针对性的改进。本发明一种适用于商品溯源场景的区块链系统结合了现有技术中多种产品的优点,在典型的区块链基础上进行了改进,针对区块链的块-链结构和数据存储规则进行了优化,使之更适用于商品溯源场景。系统能够通过对商品溯源信息进行存储、查询和验证等操作。借助该系统,用户能够在商品流转的过程中方便地录入、查询和存储商品流转信息,且不必担心录入的信息被篡改。生产商、经销商、消费者等供应链成员均可通过系统及时获取商品的流转信息。其主要优点包括:

(一)可信度高,捏造和篡改数据的难度大。系统以区块链的形式存储商品流转信息,商品信息被封装为相互勾稽的商品信息块,商品信息块中含有通过节点私钥加密生成的签名,在私钥未知的情况下破译并伪造签名的难度极大。因此捏造商品数据的情况在系统中能够得以防范。且商品信息块中包括散列值字段,散列值生成的过程是不可逆的。当用户修改商品信息块中的商品信息时,若不重新生产散列值,则会使散列值与具体信息不匹配,从而导致修改后的数据失效。若重新生成散列值,则该商品信息块的散列值发生变化,将引发系统中对该信息块进行了引用的其他信息块失效。由于商品流转数据存储在该商品供应链上的全部成员节点中,通过节点间记录的对比能够找出对数据进行篡改的节点。此外,一个节点生成的全部信息块间按照时间顺序存在引用关系,篡改其中一个信息块将对该节点之后生成的全部信息块造成影响,这使得商品信息块的篡改成本较高,容易被发现和定位。

(二)冗余数据较少,查询速度较快。在系统中与某商品相关的信息数据全部存储且仅存储在与之相关的供应链成员节点中,其他节点不对其信息进行存储。从而保障了商品信息不被过度暴露,同时减少了系统中的冗余数据。系统中的商品信息区块链使用以用户和商品两者为线索的网状结构对商品信息数据进行组织,相比传统的块链结构具备更好的查询效率和速度。

附图说明

图1是本发明一种适用于商品溯源场景的区块链系统的结构组成示意图。

图2是本发明一种适用于商品溯源场景的区块链系统的操作步骤流程图。

图3是本发明一种适用于商品溯源场景的区块链系统的商品信息块链结构示意图。

图4是本发明一种适用于商品溯源场景的区块链系统的商品信息录入时序图。

图5是本发明一种适用于商品溯源场景的区块链系统的商品信息查询时序图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。

为了更加科学合理地解决商品溯源系统对商品流转数据的存储需求,本发明的设计思想是,设计一种适用于商品溯源场景的区块链系统,该区块链系统用于存储商品流转信息,为了契合商品溯源场景,以用户和商品编号为线索将商品流转信息组织为相互勾稽的网状结构,并按照一定的规则,将商品流转数据存储在与之相关的供应链成员处。从而达到在保障商品数据难以被篡改的同时,提升系统查询效率,减少冗余数据存储的目的。为了保障系统中的数据与实体商品一一对应,需要对商品与商品标签进行绑定,其中可能使用的技术包括但不仅限于频射识别(radiofrequencyidentification,rfid)技术、qr码(quickresponsecode,qrcode)技术、条形码技术等。在区块链的构建中则需要使用哈希算法、数字签名算法等技术。

为了实现上述方案,本系统需要解决两个问题。第一个问题:设计一种便于以商品id为关键词进行查询的商品信息区块链结构;第二个问题:设计一种针对商品信息块存储位置、存储方法的存储策略,尽量减少冗余数据存储的同时保障商品信息的存储安全。

为了解决第一个问题,本系统在商品信息区块中设置了两个哈希值引用字段,分别对本节点产生的上个区块的哈希值和针对同一商品的上个记录的哈希值进行引用,从而使商品信息块形成按照用户和商品id两条线索进行组织的网状结构,在查询商品流转信息时能够按照商品id或记录节点信息快速、准确地进行查询。

为了解决第二个问题,本系统结合实际场景进行了相应设计。在商品溯源场景中,商品流转数据仅对与之相关的供应链成员有较大意义,因此本系统将商品流转信息仅在与之相关的供应链成员节点处进行存储,而非在系统中的全部节点处进行备份。同时对商品流转信息的写入节点进行相应的权限控制,仅允许商品当前的实际控制者录入商品信息。系统根据供应链在商品流转过程中的作用和相应时机,赋予节点将商品信息写入区块链的权限,并设计相应的校验流程,从而保障商品流转信息难以被伪造、真实可信。

参见图1,下面介绍本发明一种适用于商品溯源场景的区块链系统的结构组成:该系统包括四个组件,即商品数据模块、数据处理模块、数据存储模块和数据库。其中:

商品数据模块负责协助录入和查询商品流转信息数据。录入数据时,该模块从用户处获取商品流转信息数据,对数据进行初步的处理后传递到数据处理模块。当用户查询商品溯源信息时,该模块与数据处理模块产生交互,从数据库中查询相关信息,处理后将信息呈现给用户。

数据处理模块用于将系统采集的商品流转数据以区块链的形式进行存储,保障商品流转数据不被篡改。包括加密工具子模块、通信工具子模块和数据处理子模块三个部件。加密工具子模块协助对商品数据模块传入的商品流转信息数据进行处理,负责商品信息块散列值、数字签名的生成和商品信息块的校验。通信工具子模块负责完成各节点服务器间的网络通信交互,经由互联网和设定的网络通信协议将加密工具子模块产生的商品信息块在各节点间进行传输和同步;数据处理子模块则负责处理待存储的商品流转数据和对商品数据的查询请求,根据收到的指令对商品流转数据进行封装、存储、同步、查询等操作,并将操作的结果反馈到商品数据模块,该部件还需要与数据存储模块产生交互,以便将商品信息块及必要的辅助信息写入数据库。

数据存储模块为其他模块提供数据支持服务,与数据库直接进行交互,向数据库中存储数据并读取数据库中的信息。商品流转信息数据,在商品生产、交易、运输的过程中产生,由用户录入至系统,系统对数据进行处理,并以区块链的形式存储。

数据库用于存储系统中的数据信息,并通过数据存储模块提供数据读取服务。具体的数据包括商品流转信息数据、用户信息数据、节点信息数据、系统日志信息等。

参见图2,以下介绍本发明一种适用于商品溯源场景的区块链系统的操作步骤。

需要说明的是,系统主要的工作流程分为两类,商品信息录入和商品信息查询,两类流程随着用户的操作独立进行,彼此互不影响。下述步骤1商品信息块生成和步骤2商品信息块存储共同完成商品信息的录入。

步骤1,商品信息块生成:为步骤2进行商品流转数据的预处理,根据用户提交的原始数据生成商品信息散列值和数字签名,并进行组合生成商品信息块。该步骤在每次用户提交商品流转信息时执行。步骤1包括下列操作内容:

(11)用户将商品信息提交到系统。商品信息包括商品id(每件商品应有唯一对应的id)、记录时间、记录地点等信息,具体信息由用户根据实际情况自行定义。

(12)系统将用户录入的商品信息转化为字符串形式,并对字符串进行拼接,生成商品信息字符串。

(13)系统使用哈希算法对商品信息字符串进行运算,获得商品信息散列值。

(14)系统使用节点私钥和数字签名算法对商品信息散列值进行加密,获取商品信息签名。

(15)系统根据商品的id和录入信息的节点id,查询该商品对应的上一个商品信息块的散列值preprohash和该节点生成的上一个信息块的散列值prehash。

(16)将商品信息字符串、商品信息散列值、商品信息签名、上一条商品信息块散列值preprohash、上一条节点信息块散列值prehash、时间戳等信息进行组合,生成商品信息块。

通过以上步骤,商品信息形成以商品id和用户两类关键词为线索、相互勾稽的网状结构。其状态参见图3。

步骤2,商品信息块存储:商品信息数据被封装为商品信息块后,需要存储在本地数据库和有关节点的数据库中。该步骤在每次用户提交商品流转信息且步骤1执行完成后执行。

特别地,典型的区块链中每个节点都需要存储全部的数据备份,导致冗余数据较多,在商品信息数据存储场景下还可能存在无关信息泄露的隐患。因此本发明所述的一种适用于商品溯源场景的区块链系统中,按照步骤2的操作流程,商品信息块存储将按照如下规则存储:

a)每个节点都存储其参与流转商品的全部数据,而每件商品的信息数据仅存储在与之相关的节点中。

b)若一个节点是某商品流转过程中的最新节点,那么称该节点是此商品当前的控制者。规定当且仅当某节点是某商品的控制者时,该节点具备录入该商品信息的权限。

c)每次商品信息数据产生时,录入信息的节点将逐级将商品信息向上游节点同步。上游节点在收到信息后,对信息进行校验,校验通过后将数据存储在本地数据库,并继续将信息向上游节点发送,直至商品信息同步到其生产商处。

d)商品控制者发生变化时,新控制者需要向原控制者申请注册,注册通过后控制者发生转移,信息录入权限也随之转移。

为了满足上述规则,如图4所示,步骤2包括如下具体操作:

(21)判断商品信息类型。本系统中商品信息被划分为四种类型,分别是生产信息、发货信息、收货信息和记录信息。不同的信息类型对应不同的处理步骤。

(22)根据商品信息类型,执行相应的处理步骤:

若商品信息为收货信息,具体处理步骤如下:

(221)直接将商品信息块写入本地数据库。

若商品信息为发货信息或记录信息,具体处理步骤如下:

(222)查询该商品的上游节点信息。

(223)将商品信息块发送到上游节点。

(224)上游节点对商品信息块进行校验,并返回校验结果。校验包括对签名、散列值和引用散列值的校验。若校验通过,则将商品信息块写入本地数据库。若该节点不是商品的生产节点,则继续将商品信息块向上游节点发送。

(225)若收到校验通过结果,则将商品信息块写入本地数据库,否则丢弃该商品信息块。

若商品信息为收货信息,具体处理步骤如下:

(226)查询该商品的发货节点信息。

(227)将商品信息块发送到发货节点。

(228)发货节点对商品信息块进行校验,并返回校验结果。校验包括对签名、散列值和引用散列值的校验。若校验通过,则将商品信息块写入本地数据库,并将本地存储的该商品全部信息返回到收货节点。若该节点不是商品的生产节点,则继续将商品信息块向上游节点发送。

(229)若收到校验通过结果,则将该商品信息块和发货节点返回的商品信息块写入本地数据库,否则丢弃该商品信息块。

步骤3,商品信息查询:该步骤发生在用户向系统提交商品标识,进行商品信息查询时。用户可以根据商品的唯一标识对商品信息进行查询,由于每个节点都存储了与之相关的商品的全部信息,商品信息的查询仅需要对本地数据库进行查询,而不必向其他节点请求信息。步骤3包括下列操作内容(参见图5):

(31)用户提交商品标识信息。商品标识与每件实体商品一一对应,是商品唯一确定的身份标识。商品标识的生成可以选用gs1等编码标准。

(32)商品数据模块将用户提交的商品标识传递到数据处理模块,数据处理模块根据商品标识查询该商品的最新信息块散列值lasthash。

(33)数据处理模块根据散列值借助数据存储模块,从数据库中读取相应散列值的记录,从而获取商品流转信息。并使用读取到的信息块中上一个商品信息块散列值preprohash的值循环查找相应信息块,直至查找到的信息块中该字段值为空。

(34)将查询到的商品信息块返回商品数据模块,并反馈给提出查询的用户。

通过以上步骤,本发明所述系统能实现对商品流转信息的安全存储和查询,达到了在保障商品数据难以被篡改的同时,提升系统查询效率,减少冗余数据存储的目的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1