1 绪论
1.1 研究背景与意义
从 2008 年中本聪发表关于比特币的论文以及比特币的发行开始 [1],无中心机构参与的特性以及底层区块链技术架构,逐渐进入人们的视野。
区块链技术最先应用于货币和支付交易,尝试脱离中心化信用担保体系,从而创建新的去中心化的交易规范体系,如各种虚拟货币的应用。而从比特币底层抽离出的区块链技术,获得了越来越多的聚焦点,越来越多领域意识到了区块链技术的重要性。区块链去中心化、加密安全、不可篡改等特点为进入政府、金融、零售等行业奠定了基础,并逐渐开始应用于金融交易、信贷融资、零售防伪等场景中。
近年来,区块链技术的应用场景越来越广,如 2014 年以太坊横空出世,为了实现区块链图灵完备,以太坊支持智能合约处理各种交易。随后,2015 年纳斯达克为了推动金融市场的发展提出了结合区块链技术发展去中心化金融交易平台,为金融市场新格局做出了重要的贡献。在区块链技术发展过程中,国内外政府也越来越意识到区块链技术的重要性,英国政府于 2016 年宣布将区块链技术应用到政府的各项事务中,大力推动区块链技术的发展[2]。上海和工信部为了推动健全区块链技术,分别成立了区块链应用研究中心,并发布了国内第一份最权威的相关材料文献。
1.1 研究背景与意义
从 2008 年中本聪发表关于比特币的论文以及比特币的发行开始 [1],无中心机构参与的特性以及底层区块链技术架构,逐渐进入人们的视野。
区块链技术最先应用于货币和支付交易,尝试脱离中心化信用担保体系,从而创建新的去中心化的交易规范体系,如各种虚拟货币的应用。而从比特币底层抽离出的区块链技术,获得了越来越多的聚焦点,越来越多领域意识到了区块链技术的重要性。区块链去中心化、加密安全、不可篡改等特点为进入政府、金融、零售等行业奠定了基础,并逐渐开始应用于金融交易、信贷融资、零售防伪等场景中。
近年来,区块链技术的应用场景越来越广,如 2014 年以太坊横空出世,为了实现区块链图灵完备,以太坊支持智能合约处理各种交易。随后,2015 年纳斯达克为了推动金融市场的发展提出了结合区块链技术发展去中心化金融交易平台,为金融市场新格局做出了重要的贡献。在区块链技术发展过程中,国内外政府也越来越意识到区块链技术的重要性,英国政府于 2016 年宣布将区块链技术应用到政府的各项事务中,大力推动区块链技术的发展[2]。上海和工信部为了推动健全区块链技术,分别成立了区块链应用研究中心,并发布了国内第一份最权威的相关材料文献。
.............................
1.2 国内外研究现状
区块链技术的概念一开始并不存在,只是将区块链作为比特币的基本结构看待。而随着比特币热潮来袭,研究者将比特币的底层技术抽离发展出了区块链技术,并持续的关注和研究区块链技术。而区块链只是区块链技术中的一个组成部分,区块链技术是各种概念的组合架构模型。
如上所述,区块链技术是各种已有技术的组合,如密码学、分布式网络、工作量证明、Merkle 树等,这些技术早在十几年前就已经提出并经过了发展演变,相互融合融入新的业务并经过不断创新形成了区块链技术,如图 1-3 所示,区块链经过发展目前已产生了1.0、2.0 和 3.0 三个阶段。
区块链技术的概念一开始并不存在,只是将区块链作为比特币的基本结构看待。而随着比特币热潮来袭,研究者将比特币的底层技术抽离发展出了区块链技术,并持续的关注和研究区块链技术。而区块链只是区块链技术中的一个组成部分,区块链技术是各种概念的组合架构模型。
如上所述,区块链技术是各种已有技术的组合,如密码学、分布式网络、工作量证明、Merkle 树等,这些技术早在十几年前就已经提出并经过了发展演变,相互融合融入新的业务并经过不断创新形成了区块链技术,如图 1-3 所示,区块链经过发展目前已产生了1.0、2.0 和 3.0 三个阶段。
区块链 1.0 的应用主要集中在虚拟货币范围内,如比特币等数字货币的发行。孙建钢[3]对区块链技术在数字货币未来的发展趋势做出了展望。在区块链 2.0 发展中使用到了智能合约,典型应用于以太坊 Ethereum 中,但范围还仅限于金融领域。区块链 3.0 则进一步拓宽了应用领域,将应用范围延伸至了智能化、分布式应用 DApp 中,能对价值信息进行认证和存储,实现资产在区块链中被交易和追踪。
.................................
..............................
2 区块链技术原理与相关技术
2.1 区块链技术原理
实现本文追溯防伪模型的基础就是区块链技术,区块链技术的主要目的是为了实现在无第三方信任机构的介入下,利用密码学、共识算法和奖励机制等技术,使各个节点在不需要信任其他任何节点,也不需要中心认证机构的情况下完成一对一交易,保证交易可追溯、不被篡改、不能伪造。狭义来看,区块链就是将区块按时间的顺序串联成链条的数据结构,保证数据不被篡改的共享数据库。广义来看,区块链技术是一套利用多种已有技术组合而成的去中心化基础架构模型。
2.1 区块链技术原理
实现本文追溯防伪模型的基础就是区块链技术,区块链技术的主要目的是为了实现在无第三方信任机构的介入下,利用密码学、共识算法和奖励机制等技术,使各个节点在不需要信任其他任何节点,也不需要中心认证机构的情况下完成一对一交易,保证交易可追溯、不被篡改、不能伪造。狭义来看,区块链就是将区块按时间的顺序串联成链条的数据结构,保证数据不被篡改的共享数据库。广义来看,区块链技术是一套利用多种已有技术组合而成的去中心化基础架构模型。
一般来说,可以将区块链基本架构模型分为 6 层。如图 2-1 所示,从下到上分别为定义数据区块和相关交易的数据层,定义数据传播和验证方式的网络层,封装使各个节点数据保持一致所用到共识机制的共识层,为了鼓励更多节点参与数据验证而定义的激励层,用于提前约定交易执行规范在交易发生时自动运行的合约层以及封装了各个领域应用实例的应用层[20],将会在后续几节中详细介绍。
..............................
2.2 以太坊
以太坊(Ethereum)是以区块链技术为基础,支持编写程序代码脚本,运行智能合约的平台。在不存在第三方介入的情况下,按照脚本约定自动执行设定好的逻辑。
以太坊目前支持使用 C++、Python 等多语言编写客户端应用,同时支持使用应用开发语言 Solidity 编写智能合约,便于开发去中心化应用 DApp(Decentralized Application)。
用户使用以太坊前需要保证拥有以太坊账户,通过消耗以太币(ether)购买交易过程用到的燃料(gas)。每次触发合约时都需要消耗燃料,一方面为了保证用户不会随意触发合约浪费算力,另一方面为了奖励挖矿节点维持应用正常运行。
目前以太坊支持 PoW 共识算法,但将区块的产生间隔从 10 分钟降低到 15 秒左右,加快了交易确认时间,并计划在未来支持更有效率的 PoS 算法。
以太坊(Ethereum)是以区块链技术为基础,支持编写程序代码脚本,运行智能合约的平台。在不存在第三方介入的情况下,按照脚本约定自动执行设定好的逻辑。
以太坊目前支持使用 C++、Python 等多语言编写客户端应用,同时支持使用应用开发语言 Solidity 编写智能合约,便于开发去中心化应用 DApp(Decentralized Application)。
用户使用以太坊前需要保证拥有以太坊账户,通过消耗以太币(ether)购买交易过程用到的燃料(gas)。每次触发合约时都需要消耗燃料,一方面为了保证用户不会随意触发合约浪费算力,另一方面为了奖励挖矿节点维持应用正常运行。
目前以太坊支持 PoW 共识算法,但将区块的产生间隔从 10 分钟降低到 15 秒左右,加快了交易确认时间,并计划在未来支持更有效率的 PoS 算法。
2.2.1 椭圆曲线加密算法
........................
........................
3.1 供应链传统管理模式 .............................................. 15
3.2 供应链中产品信息追溯流程 ................................ 16
3.3 供应链中产品信息防伪技术 ............................... 18
4 产品信息溯源防伪模型设计 .................................. 23
4.1 产品信息追溯和防伪原理 ................... 23
4.2 总体设计 .............................. 23
4.3 生产商管理模块 ..................25
5 实现与验证 ........................................... 35
5.1 生产商管理合约实现 ................................... 35
5.2 商品管理合约实现 .................................... 36
5.3 运输管理合约实现 .................................... 39
5 实现与验证
5.1 生产商管理合约实现
管理方需要注册生产商的前缀码、公司名、授权有效期等信息,首先需要指定生产商信息结构,将生产商地址与生产商信息进行映射,方便后续进行查询操作,管理方在调用注册生产商接口时,首先对其身份进行验证,验证通过后才允许其注册生产商信息。根据这些要求可以设计如下代码。
..........................
6 总结与展望
6.1 工作总结
通过对区块链技术在零售行业中的研究与应用,了解了区块链系统的相关知识和应用范围,如以太坊和 web3.0 等内容。同时对零售行业现状分析得出,目前零售业中存在的最大问题是供应链中的追溯防伪问题,追溯困难就意味着防伪困难,而区块链的主要特征是去中心化、可追溯,因此本文基于应用区块链技术的以太坊平台,使用 solidity 语言设计并实现了追溯防伪模型。
首先,介绍了研究的背景和意义,从区块链技术当前的应用场景和社会关注度两方面分析了区块链技术的研究必要性,从零售行业当前的困境分析出区块链技术和零售行业相结合的可能性。
其次,对区块链技术的基本原理、架构和应用平台进行了研究,分析了区块链技术去中心化原理、交易模型和追溯原理,以太坊时目前区块链技术应用最为广泛的平台,基于区块链技术实现了图灵完备的可编程系统,支持智能合约,当合法调用者调用合约后按照已签署的条款自动执行。
再次,分析了 GS1 制定的追溯标准体系,并对当前的防伪技术进行了研究。GS1 制定的追溯体系存在的问题是采用中心化存储模式,且追溯信息不够透明和对等。当前的防伪技术如条形码技术未做到“一物一码”,无法定位到单个确定商品;RFID 技术与 EPC结合可以做到“一物一码”,但在市场流通有被克隆的风险。因此本追溯防伪模型用到了EPC,同时需要保证 EPC 在市场流通过程中不会被克隆,或者说就算被克隆也毫无意义。
之后设计了产品信息追溯防伪模型,对追溯防伪原理进行了阐述,基于供应链对模型进行了总体设计,制定了模型需要满足的细则。按照管理方(GS1)、生产商、卖方、买方和运输方等参与方进行的不同操作将模型划分为生产商管理、商品管理和运输管理三方面,分别制定出不同操作的流程。就如何转让 EPC 不被克隆、如何分配最终收益进行了详细讨论。#p#分页标题#e#
最后,在模型设计的基础上,使用 solidity 语言并通过在线编辑器 Remix 对模型进行了实现与验证。通过生产商管理合约、商品管理合约和运输管理合约实现了模型的追溯和防伪功能,验证了注册生产商和商品、发送和接受商品、交易过程使用的运输服务等内容。解决了供应链中追溯难、信息不对等以及防伪技术容易被克隆等问题,让所有参与方投入押金以保证交易过程中无需信任任何一方就可完成商品转让。通过对模型的实现与验证达到了研究预期的意义与目的。
参考文献(略)