本发明涉及计算机科学领域,更具体的是涉及一种基于sm9和区块链的农畜产品信息溯源方法。
背景技术:
1、消费者愈加关心他们食用的农畜产品的来源,包括其生产、加工和配送的各个环节。追踪和认证食品供应链以了解来源对于识别和解决食品供应链中的假冒伪劣农畜产品至关重要。
2、传统的农畜产品溯源方法效率低下,同时由于多数未采取防篡改机制,也不能保证溯源信息真实可靠性。区块链技术在追溯农畜产品供应链中的应用提供了显著优势,主要体现在其确保数据不可篡改和高度安全性,提高整个供应链的透明度和可追溯性。每个环节的记录一旦上链,就几乎不可能被更改,为所有参与方提供了完整、可信的信息。此外,区块链通过自动化流程,如智能合约,提高了操作效率,降低了管理和运营成本。这些特性共同提升了供应链的整体效率,增加了消费者对产品来源和质量的信任。
3、但是单独的使用区块链技术,消费者或者农畜产品质量监管部门不能清晰的知道上传数据到区块链的经销商是否具有区块链上记录的农畜产品经营权以及经销商的信用情况。当经销商上传具有权威认证的证书时,由于证书上包含该经销商具体能经营的农畜产品种类以及对应的唯一标识,可以清晰明了地让消费者或有关部门人员了解经销商经营的农畜产品的种类。通过执行基于信用的智能合约能够使得经销商自第一次上传数据时就执行信用的评估。
4、sm9算法是国密局颁布的一种基于用户标识的密码算法。2008年,标识密码算法正式获得国家密码管理局颁发的商密算法型号:sm9(商密九号算法),为我国标识密码技术的应用奠定了坚实的基础。传统的pki使用经典的公钥密码算法如rsa/ecdsa等。每个用户拥有一对密钥,其中一个是公钥,可以公开发布给其他人,另一个则是私钥,仅自己保留,不可公开,公钥往往是一堆乱码。而基于sm9产生的公钥可以是经销商公司注册号、公司的税务识别号、公司的官方网站地址之一,与经销商的身份信息强绑定,进一步加强了经销商的不可抵赖性。
5、在基于sm9和区块链的农畜产品质量溯源系统的证书申请和颁发过程中,公私钥对的产生均基于sm9密码算法。
6、出于对农畜产品质量安全的考虑,我们提出了基于sm9和区块链的农畜产品信息溯源系统,旨在基于区块链技术实现高效地获取农畜产品供应链的真实信息;执行基于信用的智能合约,实现经销商的农畜产品经营范围合法性校验以及信用的更新;通过证书上的经销商公钥实现区块上传者和证书的强身份认证;消费者和有关部门人员可以清晰的了解农畜产品质量情况和流通情况。
技术实现思路
1、本发明的目的在于通过区块链技术和sm9算法,有效地解决了农畜产品质量安全问题,提高了供应链的透明度和可追溯性,同时也为经销商身份认证和信用评估提供了新的解决方案。
2、为了实现上述目的本发明采用以下技术手段:
3、本发明提供了一种基于sm9和区块链的农畜产品信息溯源方法,具体包括以下步骤:
4、步骤1:经销商提交信息向农畜产品证书颁发平台申请一个证书,农畜产品证书颁发平台验证经销商提交信息后,颁发证书;
5、步骤2:通过上传接口进行上传信息到区块链,上传信息包括上传证书、基于sm9加密算法生成的私钥的签名、农畜产品相关信息;
6、步骤3:经销商上传信息的过程中触发基于信用的智能合约,对证书的校验、经销商数字签名的身份校验、证书规定的农畜产品经营范围的校验、生产信息的校验,根据校验结果对经销商的信用进行增减和是否存储上传信息;
7、步骤4:消费者或相关农畜产品质量监管部门在应用层上传农畜产品名称或扫描农畜产品二维码、条形码,通过溯源接口溯源信息,打印溯源结果并展示供应链上的经销商的信用信息。
8、在上述技术方案中,步骤1证书申请的过程,具体为:
9、农畜产品证书颁发平台负责经销商信息的经营信息的校验并颁发证书;
10、经销商向农畜产品证书颁发平台创建的证书申请中应包含农畜产品经销商公司信息、经营农畜产品范围、经销商基于sm9算法的公钥;
11、所述经销商经营农畜产品范围包含经营的具体的农畜产品相关信息;
12、基于sm9生成的公钥应为极具标识经销商身份的公钥,包括公司注册号、公司的税务识别号、公司的官方网站地址。
13、在上述技术方案中,农畜产品证书颁发平台颁发的证书中,包括:
14、农畜产品证书颁发平台验证经销商的身份后,颁发的证书包含经销商经营的所有农畜产品具体名称以及对应的唯一标识;
15、农畜产品证书颁发平台为经销商分配的唯一标识id;
16、颁发的证书包含经销商的公司信息,经销商上传的sm9公钥;
17、颁发的证书包含农畜产品证书颁发平台用私钥签署的数字签名。
18、在上述技术方案中,步骤2所述的农畜产品相关信息应包含以下信息:农畜产品的生产信息、农畜产品的交易信息。
19、在上述技术方案中,所述经销商上传农畜产品的生产信息应包含以下信息:
20、生产地点:确切的地理位置,包括省份、城市、区县、乡镇;
21、生产日期和保质期:具体的生产日期与过期的日期;
22、生产过程和技术:使用的农业技术、种植或养殖方法、农药使用情况、使用的机械或工具类型;
23、输入品质量:种子、饲料、肥料等输入品的类型、数量和来源,食品添加剂情况;
24、环境信息:生产地点的气候条件、土壤类型、水资源情况等;
25、加工方法和技术:使用的加工技术、设备和工艺;
26、安全和质量控制措施:执行的质量检测、安全标准和控制程序;
27、包装详情:产品的包装方式、材料和标签信息。
28、在上述技术方案中,所述经销商上传农畜产品的交易信息应包括:
29、交易双方信息:买家和卖家的名称、唯一标识和地址;
30、交易日期和时间:交易发生的具体日期和时间;
31、农畜产品详情:农畜产品的类型、数量、价格和农畜产品唯一标识;
32、运输信息:产品的运输方式、路线、到达时间;
33、支付和结算详情:交易的支付方式、支付条款和结算细节。
34、在上述技术方案中,为解决经销商信用评估模糊,农畜产品的合法经营权在区块链中缺乏直接明了的权威认证的难题,通过执行包含证书校验在内的基于信用的智能合约,达到激励经销商上传诚实信息,经销商的农畜产品合法经营范围清晰明了的目的,步骤3中基于信用的智能合约具体为:
35、步骤a、若经销商初次上传信息到区块链,初始化经销商的信用ck,k代表农畜产品证书颁发平台为经销商分配的唯一标识id;否则,跳过此步骤;
36、步骤b、利用证书颁发平台公开的基于sm9公钥校验证书的合法性,使用证书颁发平台公开的基于sm9公钥解密证书得到证书的明文内容,证书解密正确,则cerk=1;否则智能合约执行失败,返回经销商错误信息,包括:“证书校验错误,cerk=-1,信用点降低,ck=ck-1”,其中cerk为该经销商本轮上传过程中证书校验获得的信用分数;
37、步骤c、利用步骤b获得的证书上的明文内容,获取经销商基于sm9产生的公钥,解密经销商的数字签名得到k′,证书中包含的证书颁发平台为经销商分配的唯一标识id为k,若k的前缀与k完全相同,则dealersigk=1;否则智能合约执行失败,返回经销商错误信息,返回经销商错误信息包括:“数字签名校验失败,dealersig=-1,信用点降低,ck=ck-1”,其中dealersigk为该经销商本轮上传过程中数字签名校验获得的信用分数;
38、对证书规定的农畜产品的经营范围进行校验,上传的农畜产品的生产信息和农畜产品的交易信息中包含的农畜产品为其中ai为对应的农畜产品唯一标识id,m是生产信息和交易信息中包含的农畜产品数量,其中bk为证书上规定的所有农畜产品唯一标识id的集合,bi是证书上规定的农畜产品唯一标识id,n是证书上规定的农畜产品总数量;
39、
40、这个公式的含义为判断是否所有的ai包含在bk中,scok=1表明上传的生产信息和交易信息中包含的农畜产品在该经销商的合法经营范围;否则智能合约执行失败,返回经销商错误信息:“农畜产品的经营范围校验失败,scok=-1,信用点降低,ck=ck-1”,其中scok为该经销商本轮上传过程中农畜产品的经营范围校验获得的信用分数;
41、生产信息的校验包括:农畜产品是否在保质期内,农药是否使用超标,种植饲养环境是否被污染,days=currentday-productionday,其中currentday为当前系统时间,productionday为生产日期,days为距离生产日期的时间,如果days<shelflife,那么农畜产品处于保质期内,其中shelflife为生产信息中的保质期;
42、pesj代表具体某一种农药用量,areai代表这种农药的使用面积,单位平方千米,tj代表行业推荐的农药使用阈值,如果表明农畜产品农药使用达标;
43、种植饲养环境评估推荐分为优、良、一般、差、极差,分别设置为5,4,3,2,1,若环境评估在一般及以上,即环境分数e≥3,种植饲养环境校验通过,
44、全部校验通过,则生产信息的校验通过,pk=1,其中pk为生产信息校验获得的分数;否则智能合约执行失败,返回经销商错误信息:“生产信息校验失败,pk=-1,信用点降低,ck=ck-1”;
45、证书的校验、经销商数字签名的身份校验、证书规定的农畜产品经营范围的校验、生产信息的校验完毕,更新经销商的信用:
46、ck=ck+(cerk∩dealersigk∩scok∩pk)
47、经销商上传的信息通过,基于信用的智能合于执行完毕。
48、在上述技术方案中,消费者或相关农畜产品质量监管部门使用所述系统进行溯源,具体为:
49、消费者或相关农畜产品质量监管部门在应用层上传农畜产品名称或扫描农畜产品二维码、条形码,溯源接口定位到农畜产品对应的区块,通过当前的区块的hash指针,向前溯源到前一个区块,直到农畜产品供应链源头,通过打印农畜产品供应链上的经销商信息、经销商信用、生产信息、交易信息,消费者或相关农畜产品质量监管部门通过上述信息,可以对供应链上的溯源信息结果和经销商的信用点对食品质量进行评估。
50、本发明的有益效果如下:
51、1.本农畜产品信息溯源系统引入了基于sm9密码算法的证书和数字签名,在上传信息过程中进一步加强了供应链上经销商的身份认证,确保了经销商不可抵赖性,同时证书上规定的经销商农畜产品的经营范围也为消费者和相关农畜产品质量监管部门确认其农畜产品经营合法性提供了依据;
52、2.采用区块链技术进行农畜产品质量溯源,保证了数据的防篡改和完整性,从而保证溯源的真实可靠;
53、3.经销商在上传信息到区块链的过程中触发基于信用的智能合约,通过校验结果增减经销商的信用点,激励经销商上传诚实可信信息。
1.一种基于sm9和区块链的农畜产品信息溯源方法,其特征在于,具体包括以下步骤:
2.根据权利要求1所述的基于sm9和区块链的农畜产品质量溯源方法,其特征在于,步骤1证书申请的过程,具体为:
3.根据权利要求1所述的基于sm9和区块链的农畜产品质量溯源方法,其特征在于,农畜产品证书颁发平台颁发的证书中,包括:
4.根据权利要求1所述的基于sm9和区块链的农畜产品质量溯源方法,其特征在于,步骤2所述的农畜产品相关信启、应包含以下信息:农畜产品的生产信息、农畜产品的交易信启、。
5.根据权利要求4所述的基于sm9和区块链的农畜产品质量溯源方法,其特征在于,所述经销商上传农畜产品的生产信息应包含以下信息:
6.根据权利要求4所述的基于sm9和区块链的农畜产品质量溯源方法,其特征在于,所述经销商上传农畜产品的交易信息应包括:
7.根据权利要求1所述的基于sm9和区块链的农畜产品质量溯源系统,其特征在于,步骤3中基于信用的智能合约具体为:
8.根据权利要求1所述的基于sm9和区块链的农畜产品质量溯源系统,其特征在于,消费者或相关农畜产品质量监管部门使用所述系统进行溯源,具体为:
