CN114418587A - 基于区块链和智能合约的去中心化供应链管理系统 - Google Patents
基于区块链和智能合约的去中心化供应链管理系统 Download PDFInfo
- Publication number
- CN114418587A CN114418587A CN202011170387.7A CN202011170387A CN114418587A CN 114418587 A CN114418587 A CN 114418587A CN 202011170387 A CN202011170387 A CN 202011170387A CN 114418587 A CN114418587 A CN 114418587A
- Authority
- CN
- China
- Prior art keywords
- product
- token
- contract
- products
- production process
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种基于区块链和智能合约的去中心化供应链管理系统的构建方法,其主要分为产品代币化、认证证书、生产过程代币化、智能合约优化以及事件分析五个步骤。本发明提出了一种基于区块链和智能合约的产品可兑换的表示机制,不仅将实物商品以代币的形式投影到区块链上,并且将其在生产过程中的兑换记录在账本上,相较于传统的不可在产品被加工后进行追溯的供应链管理系统,本发明提出了一组智能合约,通过在分布式账本上捕获可修改的产品生产、转换和交易过程,对于产品溯源有着重大的现实意义。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及基于区块链和智能合约的从原材料到整体加工过程的供应链可追溯性管理系统的构建。
背景技术
在过去的几十年里,为零售商提供商品的可追溯性变得越来越重要。由于经济全球化的发展,供应链变得更加复杂,阻碍了制造商对采购物品的质量管理。此外,法律法规以及国际标准化的制定,消费者意识的提高对供应链管理系统提出了新的要求,即要求产品供应商和市场参与者提供有关商品来源的信息,并且能够对产品和服务的可识别性和可追溯性进行监控。然而,传统的供应链管理系统与其他参与方是孤立的,无法提供可靠完整的来源信息,造成这种情况的原因主要包括各方之间信任不足、数据存储孤立、通信和数据格式标准化不理想等。
最近,区块链技术被提议用在供应链中增强其可追溯性。其主要的原因源于典型的区块链特征,如去中心化、可追溯和不可篡改。当前基于区块链的解决方案主要是通过使用标记(如RFID和QR码)在多个层次上跟踪货物,从而实现供应链的可追溯性。供应链可追溯性中的一个常见问题是将实物产品投影到数字表示上,上述附加的芯片或者码就是一种将实体产品与区块链上的数字产品联系起来的方法。这种联动机制能够证明钻石、药品等高价值商品防伪的来源,即这些方法仅限于不可修改的商品,不考虑其生产过程。因此,不能实现在产品被加工后对其进行追溯,也不可能追溯生产最终产品所需的原材料的来源。一个能够反映整件产品从原材料生产到加工全过程的供应链管理系统亟待被开发。
发明内容
本发明的目的是针对上述现有的基于区块链的供应链管理系统对于复杂生产过程不能全程追溯的缺陷,提出一种基于区块链和智能合约的产品可兑换的表示机制,是一种将实物商品以代币的形式投影到区块链上,并且将其在生产过程中的兑换记录在账本上,通过在分布式账本上捕获可修改的产品创建、转换和交换过程来处理这些产品。
为达到上述目的,本发明采用如下技术方案:
一种基于区块链和智能合约的去中心化供应链管理系统的构建方法,具体步骤如下:
a)产品代币化:对供应链中管理的每种产品,都建立一个智能合约,在这种合约中可以创建代表产品的代币。
b)认证证书:利用认证机构签发的多种产品的证书,保证每种产品及其生产过程中原材料来源的质量满足一定的产品标准或劳动安全要求。
c)生产过程代币化:为了以数字方式表示制造过程,可以将多个代币转换为一个新的代币,定义了一个新的智能合约的同时,也定义了一个新的产品组合。
d)智能合约优化:在合约存储中变量存储是最昂贵的操作,因此利用一个合并较小变量的solidity优化器来降低在特定条件下的gas花销。
e)事件分析:通过递归地查询为创建代币而声明的输入,利用发出的事件指令就可以提供整个产品生产全过程的可追溯性。
所述步骤a)对供应链中管理的每种产品,都建立一个智能合约,实现ERC721接口,在这种合约中可以创建代表产品的代币,一个代币对应于一批可以用项目、重量、体积或大小来衡量的货物,每种产品都对应于自己的一套代币合约,每个代币都有它自己的tokenId。
所述步骤b)认证机构为多种产品签发证书,保证每种产品及其生产过程中原材料来源的质量满足一定的产品标准或劳动安全要求,一个官方的标准化组织可以充当这样的认证机构,它本身不拥有、创建或处理任何代币,只是为代币的拆分、转移和交易等事件提供一个判断标准,保证生产过程中的产品都是经过认证的,质量满足要求。
所述步骤c)为了以数字方式表示制造过程,可以将多个代币转换为一个新的代币,定义了一个新的智能合约的同时,也定义了一个新的产品组合,与配方类似,创建者指定输入产品的数量和创建新产品所需的相应数量,按照配方,当要生产一批产品时,合约所有者需要拥有足够数量的所需输入产品。即需要指定特定批次的输入代币,以便能满足智能合约中所需要的输入产品数量,如果这一批次未完全耗尽,则保留剩余部分,用于将来的生产过程。
所述步骤d)由于在以太坊虚拟机(EVM)中,每个操作都需要一定的gas花销,部署新合约后,在存储中变量存储是最昂贵的操作。EVM中的字长为32字节,如果存储较小类型的会浪费大量空间,因此利用一个合并较小变量的solidity优化器来降低在特定条件下的gas花销。当存储创建新代币所需要的输入时,需要合约地址、BatchId以及所需数量,以太坊中的合约地址是40位16进制数字,即20个字节,剩余的12个字节用0填充,本发明中使用这12个字节存储BatchId,这24位十六进制数字的大小为存储唯一标识符提供了足够的空间,并且存放于合约中的SHA-3散列中。
所述步骤e)通过递归地查询为创建代币而声明的输入,利用发出的事件指令就可以提供整个产品生产全过程的可追溯性,进而查询所有产品的来源信息,代币合约发出事件指令而不是存储所有信息,降低了所花费的gas成本。当满足合约执行这些事件,就会产生消耗,这样就能反映出真实世界的生产过程,相应的,以递归的方式查询到所有输入将产生一个生产输入树,并显示所使用的所有资源。
本发明与现有方法相比较,具有如下显而易见的突出性质特点和显著的技术进步:
本发明提出了一种基于区块链和智能合约的产品可兑换的表示机制,不仅将实物商品以代币的形式投影到区块链上,并且将其在生产过程中的兑换记录在账本上,相较于传统的不可在产品被加工后进行追溯的供应链管理系统,本发明提出了一组智能合约,通过在分布式账本上捕获可修改的产品生产、转换和交易过程,对于产品溯源有着重大的现实意义。
附图说明
图1是本发明以木材加工为例的基于智能合约将生产过程映射为数字代币示意图。
图2是本发明以木材加工为例的供应链管理流程图。
图3是本发明涉及到的代币铸造算法。
具体实施方式
下面结合附图,对本发明的具体实施例做进一步的说明。
如图2所示,基于区块链和智能合约的去中心化供应链管理系统的构建方法,具体步骤如下:
a)产品代币化:对供应链中管理的每种产品,都建立一个智能合约,在这种合约中可以创建代表产品的代币。
b)认证证书:利用认证机构签发的多种产品的证书,保证每种产品及其生产过程中原材料来源的质量满足一定的产品标准或劳动安全要求。
c)生产过程代币化:为了以数字方式表示制造过程,可以将多个代币转换为一个新的代币,定义了一个新的智能合约的同时,也定义了一个新的产品组合。
d)智能合约优化:在合约存储中变量存储是最昂贵的操作,因此利用一个合并较小变量的solidity优化器来降低在特定条件下的gas花销。
e)事件分析:通过递归地查询为创建代币而声明的输入,利用发出的事件指令就可以提供整个产品生产全过程的可追溯性。
所述步骤a)的产品代币化具体为:
代币创建。代币就是指智能合约发行的产物,对应于供应链中的每种产品,可以用代币来衡量货物的重量、体积或大小。在以太坊虚拟机中,实现了ERC721接口,这代表着属于同一个智能合约创建的代币之间也是不同的,可以理解为每个代币都是独一无二的,这样就算是同一类型的货物也可以加以区分。图中创建代币有两种情况,如果是资源供应商,比如伐木工或者胶水厂他们生产的货物在供应链中没有任何输入,是最开始的原材料供应,因此在创建代币时不需要添加额外的参数;而制造商,如锯木厂,如果需要生产一批边缘胶合木材,那就需要供应链中的原木和胶水作为原材料,在创建代币时不仅需要提供原材料的tokenId还需要提供需要的原材料数量。
所述步骤b)认证证书具体为:
在生产过程中,有些产品虽然可能是来自于不同的产地,但是他们类型相同,在证书合约的帮助下,可以将多个代币合约定义为相等的。在生产过程中是以批次(batch)为单位的,创建批次后,首先检查输入代币是否与指定的证书相符。认证机构为多种产品签发证书,保证每种产品及其生产过程中原材料来源的质量满足一定的产品标准或劳动安全要求,一个官方的标准化组织可以充当这样的认证机构,它本身不拥有、创建或处理任何代币,只是为代币的拆分、转移和交易等事件提供一个判断标准,保证生产过程中的产品都是经过认证的,质量满足要求。在木材加工示例中,证书验证来自伐木工的原木是否符合某些质量准则,同样的,锯木厂也可以创建自己的证书以及所需要的原材料的质量标准。
所述步骤c)生产过程代币化具体为:
为了实现广泛的兼容性,实现了ERC721接口,因此支持该接口的标准以太坊钱包可用于管理和交易代币。由于默认情况下不提供代币创建,必须使用特定的用户界面来执行此类操作。为了扩展特征集,继承了OpenZeppelin,提供了一个用于智能合约安全开发的框架。
在数字化生产过程中的货物消耗时,提出将产品批次(batch)表示为具有特定特征的唯一数据结构,每一批产品对应一个具有独特功能的代币,有一个唯一标识符BatchId。在阐述具体生产过程实现时,先介绍一下在整个系统执行过程中的动作参与者。如图1所示,包含作为图标的参与实体,由分隔角色的虚线包围。边缘表示交互,例如代币或证书传输。附加到每个产品上的智能合约符号表示智能合约存在于区块链上,将其批量表示为数字代币,即生产过程中所需要的输入,这样就能够形象的将生产过程也数字化了。
图1中示例包括不需要任何输入的资源供应商,如原木和胶水,生产他们只需要耗费劳动力或者是机器的汽油,这些不会成为制造产品的一部分;还有制造商,需要一些必须的输入来生产产品,这个过程是通过代币传输数字捕获的,即生产一个新的产品需要的配方;上述生产的产品会被拆分并转移到物流或零售公司;最终的产品会落到消费者手里,这时会导致代表该批次的代币不再作为供应链的一部分,然而其源头还是可追溯的。
为了以数字方式表示制造过程,可以将多个代币转换为一个新的代币,定义了一个新的智能合约的同时,也定义了一个新的产品组合,与配方类似,创建者指定输入产品的数量和创建新产品所需的相应数量,按照配方,当要生产一批产品时,合约所有者需要拥有足够数量的所需输入产品。即需要指定特定批次的输入代币,以便能满足智能合约中所需要的输入产品数量,如果这一批次未完全耗尽,则保留剩余部分,用于将来的生产过程。
在图2中,制造商锯木厂生产边缘胶合木材的过程,利用了一个minting函数来表示,如图3所示。首先确保声明的数组大小相等并符合配方要求的大小(第2行)。然后,检查每个组件,以确保是否根据配方使用了足够的单元(第4-5行)。此外,还比较了使用的合约地址和配方中定义的地址(第7行)。如果它们不匹配,则假定配方使用了证书合约。在这种情况下,调用证书以确保使用的组件经过认证(第8-9行)。如果未经认证,则整个函数将恢复。否则,调用组件的合约,并根据声明的金额减少批次(第11行)。最后,创建一个批次标识符(BatchId)和一个包含所有者信息及其大小的代币(第12-15行)。
所述步骤d)智能合约优化具体为:
由于在以太坊虚拟机(EVM)中,每个操作都需要一定的gas花销,部署新合约后,在存储中变量存储是最昂贵的操作。EVM中的字长为32字节,如果存储较小类型的会浪费大量空间,因此利用一个合并较小变量的solidity优化器来降低在特定条件下的gas花销。
当存储创建代币所需的输入时,我们需要合约地址、批标识符和创建一个产品单元所需的数量。以太坊中的合约地址是40位十六进制数字,因此需要20个字节来存储。虽然通常剩余的12个字节用0填充,但是我们使用12字节长的批标识符,并将它们与添加的相应合约连接起来,从而产生一个32字节的写入操作。24位十六进制数字的大小为存储唯一标识符提供了足够的空间,并且是从合约中的SHA-3散列中派生出来的。
部署和执行代码的附加成本对软件工程提出了新的要求。由于区块链上创建的每个合约实例都需要存储合约代码,因此应减小代码大小以最小化gas成本。为此,我们将代币合约分成最小大小的代理合约和包含所有必要逻辑的库合约。当创建一个新的代币合约实例时,只需要重新部署代理,这降低了成本,因为执行逻辑的复杂性被外包到库中,而库只为所有实例部署一次。状态保持在代理中,确保了一般合约逻辑和特定产品的信息之间的分离。
为了描述更复杂的场景,我们在多个层上创建具有两个输入的产品代币。因此,由此产生的关系可以表示为二叉树,其高度与供应链中追溯的层级有关。我们创建具有多个层次的批次,并将gas成本与直接包含所有输入的单个批次(而不是使用多层)进行比较。结果发现gas成本取决于寻源树中顶点和边的数量。因此,gas总成本并不取决于供应链中考虑的层级数量,而是取决于来源的数量,从而允许进行精确的成本估算,以维持可追溯系统。
所述步骤e)事件分析具体为:
由于我们的方法的主要目标是提高供应链的透明度,有关铸造代币的信息,以及它们的组成部分和所有权必须是可访问的。直观地说,batch输入将存储在相应的结构体中,并通过getter方法进行提取。
通过递归地查询为创建代币而声明的输入,利用发出的事件指令就可以提供整个产品生产全过程的可追溯性,进而查询所有产品的来源信息,代币合约发出事件指令而不是存储所有信息,降低了所花费的gas成本。当满足合约执行这些事件,就会产生消耗,这样就能反映出真实世界的生产过程,相应的,以递归的方式查询到所有输入将产生一个生产输入树,并显示所使用的所有资源。
Claims (6)
1.一种基于区块链和智能合约的去中心化供应链管理系统的构建方法,其特征在于,具体步骤如下:
产品代币化:对供应链中管理的每种产品,都建立一个智能合约,在这种合约中可以创建代表产品的代币。
b)认证证书:利用认证机构签发的多种产品的证书,保证每种产品及其生产过程中原材料来源的质量满足一定的产品标准或劳动安全要求。
c)生产过程代币化:为了以数字方式表示制造过程,可以将多个代币转换为一个新的代币,定义了一个新的智能合约的同时,也定义了一个新的产品组合。
d)智能合约优化:在合约存储中变量存储是最昂贵的操作,因此利用一个合并较小变量的solidity优化器来降低在特定条件下的gas花销。
e)事件分析:通过递归地查询为创建代币而声明的输入,利用发出的事件指令就可以提供整个产品生产全过程的可追溯性。
2.根据权利要求1所述的基于区块链和智能合约的去中心化供应链管理系统的构建方法,其特征在于,所述步骤a)对供应链中管理的每种产品,都建立一个智能合约,实现ERC721接口,在这种合约中可以创建代表产品的代币,一个代币对应于一批可以用项目、重量、体积或大小来衡量的货物,每种产品都对应于自己的一套代币合约,每个代币都有它自己的tokenId。
3.根据权利要求1所述的基于区块链和智能合约的去中心化供应链管理系统的构建方法,其特征在于,所述步骤b)认证机构为多种产品签发证书,保证每种产品及其生产过程中原材料来源的质量满足一定的产品标准或劳动安全要求,一个官方的标准化组织可以充当这样的认证机构,它本身不拥有、创建或处理任何代币,只是为代币的拆分、转移和交易等事件提供一个判断标准,保证生产过程中的产品都是经过认证的,质量满足要求。
4.根据权利要求1所述的基于区块链和智能合约的去中心化供应链管理系统的构建方法,其特征在于,所述步骤c)为了以数字方式表示制造过程,可以将多个代币转换为一个新的代币,定义了一个新的智能合约的同时,也定义了一个新的产品组合,与配方类似,创建者指定输入产品的数量和创建新产品所需的相应数量,按照配方,当要生产一批产品时,合约所有者需要拥有足够数量的所需输入产品。即需要指定特定批次的输入代币,以便能满足智能合约中所需要的输入产品数量,如果这一批次未完全耗尽,则保留剩余部分,用于将来的生产过程。
5.根据权利要求1所述的基于区块链和智能合约的去中心化供应链管理系统的构建方法,其特征在于,所述步骤d)由于在以太坊虚拟机(EVM)中,每个操作都需要一定的gas花销,部署新合约后,在存储中变量存储是最昂贵的操作。EVM中的字长为32字节,如果存储较小类型的会浪费大量空间,因此利用一个合并较小变量的solidity优化器来降低在特定条件下的gas花销。当存储创建新代币所需要的输入时,需要合约地址、BatchId以及所需数量,以太坊中的合约地址是40位16进制数字,即20个字节,剩余的12个字节用0填充,本发明中使用这12个字节存储BatchId,这24位十六进制数字的大小为存储唯一标识符提供了足够的空间,并且存放于合约中的SHA-3散列中。
6.根据权利要求1所述的基于区块链和智能合约的去中心化供应链管理系统的构建方法,其特征在于,所述步骤e)通过递归地查询为创建代币而声明的输入,利用发出的事件指令就可以提供整个产品生产全过程的可追溯性,进而查询所有产品的来源信息,代币合约发出事件指令而不是存储所有信息,降低了所花费的gas成本。当满足合约执行这些事件,就会产生消耗,这样就能反映出真实世界的生产过程,相应的,以递归的方式查询到所有输入将产生一个生产输入树,并显示所使用的所有资源。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011170387.7A CN114418587A (zh) | 2020-10-28 | 2020-10-28 | 基于区块链和智能合约的去中心化供应链管理系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011170387.7A CN114418587A (zh) | 2020-10-28 | 2020-10-28 | 基于区块链和智能合约的去中心化供应链管理系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114418587A true CN114418587A (zh) | 2022-04-29 |
Family
ID=81260436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011170387.7A Pending CN114418587A (zh) | 2020-10-28 | 2020-10-28 | 基于区块链和智能合约的去中心化供应链管理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114418587A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023230781A1 (zh) * | 2022-05-30 | 2023-12-07 | 京东方科技集团股份有限公司 | 认证资质的发放方法、装置、设备、介质和区块链系统 |
-
2020
- 2020-10-28 CN CN202011170387.7A patent/CN114418587A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023230781A1 (zh) * | 2022-05-30 | 2023-12-07 | 京东方科技集团股份有限公司 | 认证资质的发放方法、装置、设备、介质和区块链系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Westerkamp et al. | Blockchain-based supply chain traceability: Token recipes model manufacturing processes | |
CN110941611B (zh) | 基于区块链技术和标识编码技术的标识解析系统实现方法 | |
EP3540662A1 (en) | Computer implemented method for supply chain management and provenance in a data processing network | |
CN101957865A (zh) | 一种异构系统间数据交换与共享技术 | |
CN101866460A (zh) | 一种烟草商业系统应用平台系统 | |
CN111597777B (zh) | 物料数据处理方法、装置和电子设备 | |
CN102004954A (zh) | 一种产品信息系统和产品设计系统的信息集成方法 | |
CN111552728B (zh) | 区块链的数据处理方法、系统、终端和存储介质 | |
WO2020191735A1 (zh) | 基于区块链的工业制造资源共享方法、装置和系统 | |
CN112488714A (zh) | 一种基于区块链交易过程的备注字段上链的方法 | |
CN104657866A (zh) | 基于单品编码信息查询业务对象信息的方法、装置和系统 | |
CN101821687A (zh) | 设计管理设备、生产管理设备、生产管理系统 | |
CN114418587A (zh) | 基于区块链和智能合约的去中心化供应链管理系统 | |
CN109204609B (zh) | 总装柔性化生产方法、装置及设备 | |
CN110069937A (zh) | 基于区块链的数据溯源方法、系统及装置 | |
CN112561444A (zh) | 一种基于区块链的军工供应链信息共识方法 | |
US20080294697A1 (en) | Automated data archive tool | |
CN101561899A (zh) | 一种设计、生产、管理一体化的mbom增量接收方法 | |
CN101408759A (zh) | 设备运行控制系统及其控制方法 | |
Smirnov et al. | Knowledge Management for Complex Product Development: Framework and Implementation | |
CN101000664A (zh) | 物流稽核系统及方法 | |
CN114119047A (zh) | 基于bom结构的工业产品多级赋码及追溯方法 | |
JP2003150223A (ja) | 生産計画作成方法および生産計画作成システム | |
Galeta et al. | Product model suited for the ERP system | |
KR20210050483A (ko) | 블록체인을 이용한 사용자 중심의 업무공정 관리 시스템 |
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 |