CN111369319A - 一种基于区块链的众包物流派送调度系统及其方法 - Google Patents

一种基于区块链的众包物流派送调度系统及其方法 Download PDF

Info

Publication number
CN111369319A
CN111369319A CN202010142117.9A CN202010142117A CN111369319A CN 111369319 A CN111369319 A CN 111369319A CN 202010142117 A CN202010142117 A CN 202010142117A CN 111369319 A CN111369319 A CN 111369319A
Authority
CN
China
Prior art keywords
information
dispatch
account
carrier
dispatching
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.)
Granted
Application number
CN202010142117.9A
Other languages
English (en)
Other versions
CN111369319B (zh
Inventor
贾雪丹
王良民
余春堂
谢晴晴
朱会娟
黄龙霞
殷尚男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu University
Original Assignee
Jiangsu University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu University filed Critical Jiangsu University
Priority to CN202010142117.9A priority Critical patent/CN111369319B/zh
Publication of CN111369319A publication Critical patent/CN111369319A/zh
Application granted granted Critical
Publication of CN111369319B publication Critical patent/CN111369319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0609Buyer or seller confidence or verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/363Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes with the personal data of a user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/383Anonymous user system

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种基于区块链的众包物流派送调度系统及其方法,用户注册获得密钥及钱包地址;用户注册息上链;在区块链上创建智能合约实现对派送信息的验证并根据时效要求进行分类;在区块链上创建智能合约实现根据派送位置对派送信息的空间聚类;在区块链上创建智能合约实现对聚类算法产生的划分集合内派送消息根据起始和目的位置的分类;在区块链上创建智能合约实现派送路径规划;在区块链上创建智能合约实现派送承运方对派送路径的选择;对派送信息及相应派送方案进行共识;根据承运方位置、派送路径及派送费用信息在区块链上建立基于通用的智能条件的支付通道,实现派送作业完成后的代币支付。本发明高效安全快捷。

Description

一种基于区块链的众包物流派送调度系统及其方法
技术领域
本发明属涉及众包物流技术,具体涉及一种基于区块链的众包物流派送调度 系统及其方法。
背景技术
在传统物流服务中,商家和用户(消费者)依赖集中式的物流服务平台进行 任务匹配、物流传递、电子交易及退换货等相关内容。然而,随着各大电商以及 网络营销的迅猛发展,其不可避免地面临着配送速度慢,成本高,商品丢失损坏 和用户信息泄露严重,追究责任难等一系列问题。近年来,众包的思想打破了传 统物流固定配送员,固定配送路线的运营模式,借助于成熟的大数据和移动网络 技术,将配送任务以自愿、有偿的方式,通过网络外包给非特定社会群体,实现 了社会闲置资源的最大化利用,大幅降低了物流成本。然而,现有的众包物流系 统均采用集中式的数据处理方式,需要通过可信的第三方保障交易的安全性,存 在单点故障问题;存在用户信息泄露,用户隐私未得到良好保护;中心式平台信 息透明化不够且不能保证无法篡改。
区块链的去中心化、透明性、不可篡改和可追溯性等特征使其和众包物流需 求完美匹配。各商家、快递网点(驿站)、用户和众包配送员都可以加入区块链 网络,利用大数据智能化和众包直接调度最优派送路径及派送匹配。利用区块链 实现分布式数据存储,解决单点故障问题;节点间数据交换遵循固定原则,基于 钱包地址而非个人身份,实现用户隐私保护;区块链任何节点可以拥有全网账本, 即数据对所有节点公开,具有高度透明性;区块链信息经过共识被所有节点共同 记录,以链式结构按照生成顺序链接,篡改难度与成本非常高。
现有的基于区块链众包物流技术存在以下问题:1)如何在保护用户隐私同时 进行监管管理,2)如何在大规模处理请求需求下,避免对等节点集中于处理同 一问题,进行最优分配调度;3)如何在保障信息真实性同时提高系统效率;4)如 何完成派送同时,实现快捷匿名支付。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供基于区块链 的众包物流派送调度系统及其方法,本发明通过引入区块链、智能合约及基于智 能条件的交易通道来实现去中心化的众包物流派送调度及代币支付,适合应用于 实现去中心化众包物流服务,并保障用户与服务提供者的隐私。
技术方案:本发明的一种基于区块链的众包物流派送调度系统,包括用户层、 众包物流逻辑层和数据层,数据层即区块链层;所述区块链层采用以太坊进行实 施;众包物流逻辑层和区块链层交互;所述用户层和众包物流逻辑层交互,用户 层包括承运方、托运方、认证中心和各级管理部门;系统共识过程中的共识节点 从各级管理部门随机选择一定数量组成,并且定期更换共识节点;承运方和托运 方注册时由认证中心验证身份信息有效性。
本发明还公开一种实现上述基于区块链的众包物流派送调度系统的方法,其 特征在于:包括以下步骤:
步骤1:用户在系统上进行注册,所述用户包括托运方和承运方,系统为托 运方和承运方用户分别分配C个随机数作为私钥,并通过椭圆曲线密码算法产 生相应公钥,然后对用户公钥进行哈希和编码运算,得到的值作为用户的钱包地 址,该地址对应用户账户。承运方提交承运车辆信息,在区块链上创建注册智能 合约账户,实现对承运车辆信息的记录;
步骤2:共识节点对承运车辆信息进行打包,计算哈希值,对哈希值进行投 票,某一哈希值获得投票比例超过一个阈值,则认为这个哈希是通过共识的区块 哈希,被打包的信息作为新区块加到当前区块链上,实现注册信息上链;
步骤3:在区块链上创建验证及分类智能合约账户,当托运方在系统上发布 派送信息时执行该智能合约,实现对派送信息的验证,派送信息包括托运方公钥、 起始位置、目的位置、包裹重量、托运价格、时效要求及签名,对通过验证的派 送信息根据其时效要求进行分类,并按照分类进行记录;
步骤4:在区块链上创建空间聚类智能合约账户,对时效要求为非紧急的派 送信息根据起始位置及目标位置进行空间聚类划分;
步骤5:在区块链上创建划分分类智能合约账户,针对空间聚类产生的划分 集合,根据起始位置和目标位置是否在同一个划分内,对派送信息进行进一步分 类;
步骤6:在区块链上创建路径规划智能合约账户,实现派送路径规划;
步骤7:在区块链上创建路径选择智能合约账户,实现根据承运方效益最大 化原则选择派送路径;
步骤8:根据步骤2对派送信息和相应派送调度方案进行共识,实现信息上 链;
步骤9:根据承运方位置、派送路径及派送费用信息在区块链上建立基于通 用的智能条件的支付通道,实现派送作业完成后的代币支付。
进一步的,所述步骤1的具体内容如下:
步骤1.1托运方和承运方在注册时提供有效身份信息,然后由认证部门检查 身份信息有效性,系统为提供有效身份的用户分配密钥,为托运方用户Mi分配 C个随机数
Figure BDA0002399462440000031
作为私钥,为承运方用户Fi分配C个随机数
Figure BDA0002399462440000032
作为私钥;
步骤1.2根据私钥
Figure BDA0002399462440000033
经过椭圆曲线算法生成用户i的公钥
Figure BDA0002399462440000034
r∈{1,2,…,C},X∈{M,F};
步骤1.3对用户i的公钥
Figure BDA0002399462440000035
进行哈希运算
Figure BDA0002399462440000036
其中H(·)采用 SHA256,在
Figure BDA0002399462440000037
头部增加一个字节的地址版本号,再对结果进行一次 SHA256运算,将结果的前4字节作为
Figure BDA0002399462440000038
的校验值,连接在其尾部,对 生成的字符串使用BASE58进行编码从而得到用户i的钱包地址,用户钱包地址 对应用户账户;
步骤1.4在区块链上创建注册智能合约账户,账户包括随机数、账户余额、 合约代码、账户存储,合约代码由用户注册成功触发,执行将承运车辆信息记录 在账户存储中,当信息数目达到C1或者距离上次广播信息超过时间T1后对信息 进行打包并广播;
步骤1.5承运方提交承运车辆信息,包括:承运方公钥,车辆状态,运载能 力,单位价格,车辆位置;
步骤1.6用户注册成功并提交承运车辆信息,触发步骤1.4中的合约代码, 代码执行将接收到的信息记录在账户存储中,满足条件后对信息进行打包并广播。
其中,合约代码为注册智能合约代码,整个过程中创建有不同的智能合约账 户,对应不同的合约代码,每处所提到的合约代码为所创建智能合约账户中的代 码,不同智能合约账户的合约代码不同。
进一步的,所述步骤2中的具体内容为:
步骤2.1共识节点尽可能收集注册信息进行打包,构建Merkle树,获得 Merkle树的根root,并对其做哈希运算H(root),获取当前区块号BlockNo、父 区块哈希PreHash、当前时间戳TimeStamp,计算 H(BlockNo||H(root)||PreHash||TimeStamp);
步骤2.2共识节点发送计算出的区块哈希值 H(BlockNo||H(root)||PreHash||TimeStamp);
步骤2.3共识节点尽可能收集接收到的区块哈希值,放到“候选集”中,发送 自己的候选集;整个过程中,共识节点不只一个,每个共识节点都做同类工作, 收集区块哈希值,放到自己的候选集中,然后发送自己的候选集,其他共识节点 接收到不同共识节点发送的候选集之后,对接收到的候选集和自己产生的候选集 做并集,对哈希值投票,针对某一个哈希值,得票数为在这些候选集中该哈希值 出现的次数;
步骤2.4共识节点对接收到的“候选集”做并集,对其中的每一个区块哈希值 投票;
步骤2.5共识节点交流投票结果,获得超过60%投票的区块哈希值进入下一 轮,即重复步骤2.3和步骤2.4,否则该区块哈希值对应区块中的所有注册信息 进入下一次共识过程;
步骤2.6在最终轮中,如果某个区块哈希值的投票比例超过80%,则该哈希 值成为通过共识的区块哈希,对应区块通过共识添加到区块链上,否则区块中所 有注册信息进入下一次共识过程。
进一步的,所述步骤3中的具体内容为:
步骤3.1在区块链上创建验证及分类智能合约账户,账户包括:随机数、账 户余额、合约代码、账户存储;合约代码由派送信息触发,执行对派送信息的验 证,把通过验证的派送信息根据时效要求分为紧急和非紧急分别记录在账户存储 中,丢弃未通过验证的派送信息,当账户存储中的紧急派送信息数目超过C2或 距离上次触发下一过程超过时间T2时,发送触发路径规划智能合约的消息及派 送信息包,当账户存储中的非紧急派送信息数目超过C3或距离上次触发下一过 程超过时间T3时,发送触发空间聚类智能合约的消息及派送信息包;
步骤3.2托运方Fi产生派送信息Parcel,包括:起始位置Origin、目的位置Destination、包裹重量Weight、托运价格Price、时效要求TimeLimit,托运方从 自己的密钥对池中选择
Figure BDA0002399462440000051
Figure BDA0002399462440000052
对消息进行ECDSA签名生成Sig, 产生完整的派送信息:Parcel=
Figure BDA0002399462440000053
‖Origin‖Destination‖Weight‖Price‖TimeLimit‖TimeStamp‖Sig,发布Parcel,并 启动计时器T,超时后选择下一密钥对;
步骤3.3Parcel信息触发步骤3.1中智能合约代码,进行Parcel格式检查, 包括是否为完整信息、各字段字节数及格式是否正确、TimeStamp是否小于当前 时间戳,通过格式检查的Parcel进行ECDSA签名验证,如果签名验证通过,根 据请求信息的第六字段时效要求把该派送信息分类记录在账户存储中,满足条件 后发送触发路径规划智能合约的消息及派送信息包,或发送触发空间聚类智能合 约的消息及派送信息包。
进一步的,所述步骤4的实现包括如下:
步骤4.1在区块链上创建空间聚类智能合约账户,账户包括:随机数、账户 余额、合约代码、账户存储;合约代码由步骤3.3中的触发信息触发,执行对派 送信息根据起始位置和目的位置分别进行空间聚类,然后对两次聚类产生的质心 集合进行空间聚类,聚类方法采用k-means方法,具体执行过程如下:
(1)获取当前集合中所有Parcel第二字段的起始位置信息Oi=(xi,yi),构成当 前空间聚类过程的数据集{O1,O2,…,On},进行k-means聚类;
(2)获取当前集合中所有Parcel第三字段的目的位置信息Di=(xi,yi),构成当 前空间聚类过程的数据集{D1,D2,…,Dn},进行k-means聚类;
(3)取步骤(1)和(2)产生的聚类集合的质心,构成新的数据集,进行k-means 聚类;
(4)发送触发划分分类智能合约的消息及派送信息划分集合包。
其中k-means方法的结束条件为本轮质心与上一轮质心之间的距离小于阈 值σ,其具体执行过程如下:
(1)根据数据集{V1,V2,…,Vn}大小n确定聚类集合的个数k;
(2)从数据集中选择k个元素作为质心Centroid1,…,Centroidk
(3)对数据集中的n-k个非质心元素,计算每个元素Vi与每一个质心的距离,
Figure BDA0002399462440000061
其中j∈{1,2,…,k},选择
Figure BDA0002399462440000062
Figure BDA0002399462440000063
中最小的
Figure BDA0002399462440000064
则元素Vi划分到质心 Centroidj的集合;
(4)得到k个集合后,对每个集合重新计算质心Centroid'j
(5)计算新得到的质心Centroid'j和原质心Centroidj之间的距离
Figure BDA0002399462440000065
如果d'-j小于阈值σ,则已达到期望的聚 类划分,否则重复(4)、(5)步骤。
步骤4.2非紧急派送信息包触发步骤4.1中智能合约代码,①执行对当前 Parcel集合根据起始位置的空间聚类,得到划分集合SetPartition1,即得到以点
Figure BDA0002399462440000066
Figure BDA0002399462440000067
为质心的k个集合,把派送信息划分为根据起始位置聚集的k个集 合,②执行对当前Parcel集合根据目的位置的空间聚类,得到划分集合 SetPartition2,即得到以点
Figure BDA0002399462440000068
为质心的k个集合,把派送信息划分 为根据目的位置聚集的k个集合,③把质心
Figure BDA0002399462440000069
和质心
Figure BDA00023994624400000610
Figure BDA00023994624400000611
构成新的集合,进行空间聚类,得到划分集合SetPartition3,即以k1个起始 位置质心和k2个目的位置质心点为质心的k'(k'=k1+k2)个集合,发送触发划分分类智能合约的消息及派送信息划分集合包。
进一步的,所述步骤5的实现包括如下:
步骤5.1在区块链上创建划分分类智能合约账户,账户包括:随机数、账户 余额、合约代码、账户存储;合约代码由步骤4.2中的触发信息触发,执行对 SetPartition3各个集合根据派送起始位置和目的位置在同一集合内和不在同一集 合内进行派送分类,把起始位置和目标位置不在同一划分集合内的派送信息组成 新的集合,由此得到k'+1个派送信息集合,发送触发路径规划智能合约的消息 及得到的派送信息集合;
步骤5.2步骤4.2中的触发信息触发步骤5.1中的智能合约代码,产生k'+1 个派送信息集合,发送触发路径规划智能合约的消息及得到的派送信息集合。
进一步的,所述步骤6的实现包括如下:
步骤6.1在区块链上创建路径规划智能合约账户,账户包括:随机数、账户 余额、合约代码、账户存储;合约代码由步骤5.2中的触发信息触发,或者由步 骤3中的紧急派送信息包触发,执行各个派送信息集合内的派送路径规划,假设 集合内的派送总数目为N,起点质心个数为M,根据每个起点质心集合的大小确 定路径数目上限为Ri,i∈{1,2,…,M},路径规划采用蚁群算法,以配送路径最 短为目标函数:
Figure BDA0002399462440000071
其中pijk表示第i个质心 的第j条路径上的第k个派送,
Figure BDA0002399462440000072
表示第k个派送起始位置到目的位置的距离, Pij表示第i个质心的第j条路径上的派送数目且满足
Figure BDA0002399462440000073
步骤6.2触发信息触发步骤6.1中的智能合约,执行目标函数为
Figure BDA0002399462440000074
约束条件为所有派送被规划一次且仅被 规划一次的蚁群算法,生成派送路径规划,发送触发路径选择智能合约的消息及 派送路径规划。
进一步的,所述步骤7的实现包括如下:
步骤7.1在区块链上创建路径选择智能合约账户,账户包括:随机数、账户 余额、合约代码、账户存储;合约代码由步骤6.2中的触发信息触发,执行以承 运方效益最大化为目标的路径选择,具体步骤为:
(1)选择当前车辆状态为可用的承运方车辆集合;
(2)根据车辆运载能力及派送路径上包裹总重量进行匹配,使得车辆运载能 力不小于所选派送路径上包裹总重量;
(3)根据派送路径、当前车辆位置及车辆行驶单位价格计算承运方代价Costs,
Figure BDA0002399462440000075
其中PVehicle表示车辆位 置,Oi表示派送i的起始位置,Di表示派送i的目的位置,Unitprice表 示车辆行驶单位价格,P表示所选路径上派送总数;
(4)产生最佳匹配:
Figure BDA0002399462440000076
其中P表示所选路径上派 送总数。
步骤7.2派送路径规划信息触发步骤7.1中的智能合约,执行根据承运方效 益最大化的路径选择,获得派送调度方案并广播。
进一步的,所述步骤9的实现包括如下:
步骤9.1在区块链上建立基于智能条件的托运方与承运方之间的支付通道, 具体过程如下:
(1)在区块链上创建支付智能合约账户,账户包括:随机数、账户余额、合 约代码、账户存储;合约代码由派送方案上链触发,并处理交易通道建 立和更新操作;
(2)交易通道建立OpenTransaction:托运方和承运方根据派送路径匹配,建 立支付通道,①派送路径上各托运方身份签名信息,②承运方身份签名 信息,③根据托运方需要支付的代币数额
Figure BDA0002399462440000081
从托运方账 户拿出不小于
Figure BDA0002399462440000082
数额的代币Amounti放入通道,④从承运方账户拿 出一定数额的惩罚保证金Deposit存入通道,⑤各托运方对开启通道消 息签名,⑥承运方对开启通道消息签名;
(3)基于智能条件的交易通道更新UpdateTransaction:①获得交易更新序号SequenceNo,默认为0,每次发生代币支付则SequenceNo加1,②确定 各托运方需要支付的代币数量
Figure BDA0002399462440000083
及需要支付给承运方的代币总 数量
Figure BDA0002399462440000084
③根据承运车辆位置及派送路径计算派送所需时间 TDispatch,执行交易通道更新的等待时间HoldPeriod=TDispatch+Δ,Δ是一 个时间常量,④交易通道更新条件:车辆驾驶员完成派送后,向承运方 提供完成派送证明Proof,承运方检验Proof,如果正确,向区块链提供 完成派送证明Proof,如果Proof正确且在HoldPeriod内提交,则向承运 方支付数量为
Figure BDA0002399462440000085
的代币,即更新承运方与各 托运方余额为
Figure BDA0002399462440000086
⑤承运方 对交易通道更新签名,⑥各托运方对交易通道更新签名;
步骤9.2根据派送路径建立承运方与各托运方交易通道;
步骤9.3承运方向区块链提交完成派送证明Proof,如果智能合约在 HoldPeriod时间内收到Proof,检查Proof正确性,正确则按照合约内容完成代币 转移支付;
步骤9.4承运方和各托运方对交易通道更新签名,完成交易支付,交易更新 通道关闭。
有益效果:本发明实现基于区块链的众包物流派送调度,在区块链上创建智 能合约,实现用户注册、派送调度分配,并通过共识将信息上链保证信息的不可 篡改性。此外,在区块链上创建基于智能条件的匿名支付通道,实现托运方与承 运方之间安全隐私的代币支付。
与现有技术相比,本发明具有以下优点:
(1)避免中心化众包物流系统的单点故障
本发明运行在以太坊区块链上,是对等网络,注册信息、交易数据及调度算 法以记录形式存储在区块中,不可篡改,且全网对等节点都拥有完整的区块链数 据副本,避免了由于中心节点失效导致整个系统失效的问题及造成的严重后果。
(2)提供数据安全性保障
本发明在用户注册过程中验证用户身份有效性并分配私钥池,交易传输过程 中请求信息包含用户公钥信息及签名,实现交易数据不可篡改、不可伪造,保障 了交易数据传输安全;交易数据存储在区块中,区块通过哈希值前后链接,保障 了数据的不可篡改性。
(3)保障用户隐私需求
用户注册时提供的身份信息通过认证中心验证有效后,用户获得密钥池,在 提交承运车辆信息时不需要真实身份信息,保障了用户身份隐私;在发布派送信 息时定期更换公钥,保障了用户身份不可追踪链接;在派送完成时通过建立基于 智能条件的支付通道,实现派送完成后的代币支付,保障了用户之间的匿名交易。
(4)可监管性
根据用户注册时提供的身份信息,在发生交易纠纷时可以实现管理部门对交 易信息及实际实体的追踪确认,实现有效监管管理及纠纷解决。
附图说明
图1为本发明的系统示意图;
图2为实施例中众包物流派送调度过程实体交互时序示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述 实施例。
实施例1
本发明实施例提供了一种基于区块链的众包物流派送调度系统。如图1所示, 本实施中的众包物流系统分为3个层次,分别是用户层、众包物流逻辑层和数据 层(区块链层)。
用户层包括托运方、承运方、认证中心和各级管理部门,托运方和承运方为 参与交易主要实体,认证中心在用户注册阶段对用户身份有效性进行验证,各级 管理部门作为系统共识节点,随机选择一定数量管理部门作为共识节点,并且定 期更换。
众包物流逻辑层主要的功能是实现派送调度逻辑,包括:用户注册、派送发 布、派送验证及分类、派送根据起始位置和目的位置的聚类划分、根据派送起始 位置和目的位置是否在同一划分集合内对聚类划分的进一步分类、派送路径规划、 根据承运方效益最大化原则的派送路径选择、代币支付;逻辑过程通过创建智能 合约账户编写智能合约的方式实现,智能合约通过以太坊虚拟机进行编译、部署 和执行;交易信息通过共识过程实现数据上链。
数据层基于以太坊区块链,交易信息以区块形式通过哈希值链接,打包区块 等待共识,通过共识的区块链接到区块链尾;智能合约通过以太坊虚拟机编译和 部署在区块链上。
实施例2
本发明实施例提供了一种基于区块链的众包物流派送调度方法。该方法包括:
步骤1:托运方和承运方在系统上进行注册,系统为托运方和承运方用户分 别分配C个随机数作为私钥,并通过椭圆曲线密码算法产生相应公钥,然后对 用户公钥进行哈希和编码运算,得到的值作为用户的钱包地址,该地址对应用户 账户。承运方提交承运车辆信息,在区块链上创建注册智能合约账户,实现对承 运车辆信息的记录。图2中步骤1的具体实现如下:
步骤1.1托运方和承运方在注册时提供有效身份信息,然后由认证部门检查 身份信息有效性,系统为提供有效身份的用户分配密钥,为托运方用户Mi分配 C个随机数
Figure BDA0002399462440000101
作为私钥,为承运方用户Fi分配C个随 机数
Figure BDA0002399462440000102
作为私钥;
步骤1.2根据私钥
Figure BDA0002399462440000103
经过椭圆曲线算法生成用户i的公钥
Figure BDA0002399462440000104
r∈{1,2,…,C},X∈{M,F};
步骤1.3对用户i的公钥
Figure BDA0002399462440000111
进行哈希运算
Figure BDA0002399462440000112
其中H(·)采用 SHA256,在
Figure BDA0002399462440000113
头部增加一个字节的地址版本号,再对结果进行一次 SHA256运算,将结果的前4字节作为
Figure BDA0002399462440000114
的校验值,连接在其尾部,对 生成的字符串使用BASE58进行编码从而得到用户i的钱包地址,用户钱包地址 对应用户账户;
步骤1.4在区块链上创建注册智能合约账户,账户包括随机数、账户余额、 合约代码、账户存储,合约代码由用户注册成功触发,执行将承运车辆信息记录 在账户存储中,当信息数目达到N1或者距离上次广播信息超过时间T1后对信息 进行打包并广播;
步骤1.5承运方提交承运车辆信息,包括:承运方公钥,车辆状态,运载能 力,单位价格,车辆位置;
步骤1.6用户注册成功并提交承运车辆信息,触发步骤1.4所创建的注册智 能合约代码:
(1)接收到第一条承运车辆信息时开始计时器Timer1,并在账户存储中建立 承运车辆信息表TableVehicles;
(2)将接收到的承运车辆信息记录在列表TableVehicles中;
(3)如果Timer1>T1,|TableVehicles|>C1有一个不等式成立,则广播信息表并 清空记录、复位计时器,否则继续记录承运车辆信息;
步骤2:共识节点对承运车辆信息进行打包,并进行投票共识,若投票比例 超过一个阈值,则产生新区块,实现注册信息上链。图2中步骤2的实现细节包 括:
步骤2.1共识节点对打包的信息,构建Merkle树,获得Merkle树的根root, 并对其做哈希运算H(root),获取当前区块号BlockNo、父区块哈希PreHash、 当前时间戳TimeStamp,计算哈希值:
h=H(BlockNo||H(root)||PreHash||TimeStamp) (1)
步骤2.2共识节点发送h;
步骤2.3共识节点尽可能收集接收到的区块哈希值,放到“候选集”中,发送 自己的候选集;
步骤2.4共识节点对接收到的“候选集”做并集得到{h1,h2,…,hn},对其中的 每一个区块哈希值hi投票Votei:Votei初始为0,某个“候选集”中包含hi则获得一 票,Votei++;
步骤2.5共识节点交流投票结果,获得超过60%投票的区块哈希值进入下一 轮,即重复步骤2.3和步骤2.4,否则该区块哈希值对应区块中的所有请求进入 下一次共识过程;
步骤2.6在最终轮中,如果某个区块哈希值hi的投票比例超过80%,则该 哈希值hi成为通过共识的区块哈希,对应区块通过共识添加到区块链上,否则区 块中所有请求进入下一次共识过程。
步骤3:在区块链上创建验证及分类智能合约账户,当托运方在系统上发布 派送信息时执行该智能合约,实现对派送信息的验证,对通过验证的派送信息根 据其时效要求进行分类,并按照分类进行记录。图2中步骤3的具体实现如下:
步骤3.1在区块链上创建验证及分类智能合约账户,账户包括:随机数、账 户余额、合约代码、账户存储;合约代码由派送信息触发,执行对派送信息的验 证,把通过验证的派送信息根据时效要求分为紧急和非紧急分别记录在账户存储 中,丢弃未通过验证的派送信息,当账户存储中的紧急派送信息数目超过C2或 距离上次触发下一过程超过时间T2时,发送触发路径规划智能合约的消息及派 送信息包,当账户存储中的非紧急派送信息数目超过C3或距离上次触发下一过 程超过时间T3时,发送触发空间聚类智能合约的消息及派送信息包;
步骤3.2托运方Fi产生派送信息Parcel,包括:起始位置Origin、目的位置Destination、包裹重量Weight、托运价格Price、时效要求TimeLimit,托运方从 自己的密钥对池中选择
Figure BDA0002399462440000121
Figure BDA0002399462440000122
对消息进行ECDSA签名生成Sig, 产生完整的派送信息:
Figure BDA0002399462440000123
发布Parcel,并启动计时器T,超时后选择下一密钥对;
步骤3.3 Parcel信息触发步骤3.1智能合约中验证及分类智能合约代码:
(1)检查Parcel格式,是否为完整信息、各字段字节数及格式是否正确、TimeStamp是否小于当前时间戳,若否则丢弃消息;
(2)进行ECDSA签名验证,验证不通过丢弃消息;
(3)获取Parcel第六字段时效要求信息TimeLimit,在账户存储建立列表 Table1、Table2,并开始计时器Timer1、Timer2;
(4)把Parcel按TimeLimit分类紧急和非紧急记录在账户存储列表Table1、Table2中;
(5)如果某个不等式Timer1>T2或|Table1|>C2成立,则发送触发路径规划智 能合约的消息及派送信息包并清空Table1记录、复位计时器Timer1,否 则继续记录;如果某个不等式Timer2>T3或|Table2|>C3成立,则发送触 发空间聚类智能合约的消息及派送信息包并清空Table2记录、复位计时 器Timer2,否则继续记录。
步骤4:在区块链上创建空间聚类智能合约账户,对时效要求为非紧急的派 送信息根据起始位置及目标位置进行空间聚类划分。图2中步骤4的实现细节如 下:
步骤4.1在区块链上创建空间聚类智能合约账户,账户包括:随机数、账户 余额、合约代码、账户存储;合约代码由步骤3.3中的触发信息触发,执行对派 送信息根据起始位置和目的位置分别进行空间聚类,然后对两次聚类产生的质心 集合进行空间聚类,聚类方法采用k-means方法,具体执行过程如下:
(1)获取当前集合中所有Parcel第二字段的起始位置信息Oi=(xi,yi),构成当 前空间聚类过程的数据集{O1,O2,…,On},进行k-means聚类;
(2)获取当前集合中所有Parcel第三字段的目的位置信息Di=(xi,yi),构成当 前空间聚类过程的数据集{D1,D2,…,Dn},进行k-means聚类;
(3)取步骤(1)和(2)产生的聚类集合的质心,构成新的数据集,进行k-means 聚类;
(4)发送触发划分分类智能合约的消息及派送信息划分集合包。
其中k-means方法的结束条件为本轮质心与上一轮质心之间的距离小于阈 值σ,其具体执行过程如下:
(1)根据数据集{V1,V2,…,Vn}大小n确定聚类集合的个数k;
(2)从数据集中选择k个元素作为质心Centroid1,…,Centroidk
(3)对数据集中的n-k个非质心元素,计算每个元素Vi与每一个质心的距离,
Figure BDA0002399462440000141
其中j∈{1,2,…,k},选择
Figure BDA0002399462440000142
Figure BDA0002399462440000143
中最小的
Figure BDA0002399462440000144
则元素Vi划分到质心 Centroidj的集合;
(4)得到k个集合后,对每个集合重新计算质心Centroid'j
(5)计算新得到的质心Centroid'j和原质心Centroidj之间的距离
Figure BDA0002399462440000145
如果d'-j小于阈值σ,则已达到期望的聚 类划分,否则重复(4)、(5)步骤。
步骤4.2非紧急派送信息包触发步骤4.1中智能合约代码,①执行对当前 Parcel集合根据起始位置的空间聚类,得到划分集合SetPartition1,即得到以点
Figure BDA0002399462440000146
Figure BDA0002399462440000147
为质心的k个集合,把派送信息划分为根据起始位置聚集的k个集 合,②执行对当前Parcel集合根据目的位置的空间聚类,得到划分集合 SetPartition2,即得到以点
Figure BDA0002399462440000148
为质心的k个集合,把派送信息划分 为根据目的位置聚集的k个集合,③把质心
Figure BDA0002399462440000149
和质心
Figure BDA00023994624400001410
Figure BDA00023994624400001411
构成新的集合,进行空间聚类,得到划分集合SetPartition3,即以k1个起始 位置质心和k2个目的位置质心点为质心的k'(k'=k1+k2)个集合,发送触发划分分类智能合约的消息及派送信息划分集合包。
步骤5:在区块链上创建划分分类智能合约账户,针对空间聚类产生的划分 集合,根据起始位置和目标位置是否在同一个划分内,对派送信息进行进一步分 类。图2中步骤5的具体实现包括:
步骤5.1在区块链上创建划分分类智能合约账户,账户包括:随机数、账户 余额、合约代码、账户存储;合约代码由步骤4.2中的触发信息触发,执行对 SetPartition3各个集合根据派送起始位置和目的位置在同一集合内和不在同一集 合内进行派送分类,把起始位置和目标位置不在同一划分集合内的派送信息组成 新的集合,由此得到k'+1个派送信息集合,发送触发路径规划智能合约的消息 及得到的派送信息集合;
步骤5.2步骤4.2中的触发信息触发步骤5.1中的智能合约代码,产生k'+1 个派送信息集合,发送触发路径规划智能合约的消息及得到的派送信息集合。
步骤6:在区块链上创建路径规划智能合约账户,实现派送路径规划。图2 中步骤6的具体实现如下:
步骤6.1在区块链上创建路径规划智能合约账户,账户包括:随机数、账户 余额、合约代码、账户存储;合约代码由步骤5.2中的触发信息触发,执行各个 派送信息集合内的派送路径规划,假设集合内的派送总数目为N,起点质心个数 为M,根据每个起点质心集合的大小确定路径数目上限为Ri,i∈{1,2,…,M}, 路径规划采用蚁群算法,以配送路径最短为目标,实现所有派送被规划一次且仅 被规划一次,目标函数及约束条件如下:
Figure BDA0002399462440000152
Patchij∈{pijk|pijk∈[1,2,…,N],k=1,2,…,Pij} (5)
Figure BDA0002399462440000153
其中pijk表示第i个质心的第j条路径上的第k个派送,
Figure BDA0002399462440000154
表示第k个派送 起始位置到目的位置的距离,Pij表示第i个质心的第j条路径上的派送数目,式 (5)表示每条路径派送组成,式(6)表示任意两条路径上没有相同派送。
步骤6.2步骤5.2中的触发信息触发步骤6.1中的智能合约,按目标函数
Figure BDA0002399462440000155
及约束条件执行蚁群算法,生成派送路径 规划,发送触发路径选择智能合约的消息及派送路径规划。
步骤7:在区块链上创建路径选择智能合约账户,实现根据承运方效益最大 化原则选择派送路径。图2中步骤7的具体实现如下:
步骤7.1在区块链上创建路径选择智能合约账户,账户包括:随机数、账户 余额、合约代码、账户存储;合约代码由步骤6.2中的触发信息触发,执行以承 运方效益最大化为目标的路径选择,具体步骤为:
(1)选择当前车辆状态为可用的承运方车辆集合;
(2)根据车辆运载能力及派送路径上包裹总重量进行匹配,使得车辆运载能 力不小于所选派送路径上包裹总重量;
(3)根据派送路径、当前车辆位置及车辆行驶单位价格计算承运方代价Cost:
Figure RE-GDA0002453474070000155
其中PVehicle表示车辆位置,Oi表示派送i的起始位置,Di表示派送i的目 的位置,Unitprice表示车辆行驶单位价格,P表示所选路径上派送总数;
(4)以承运方收益最大化为目标产生最佳匹配:
Figure BDA0002399462440000162
步骤7.2派送路径规划信息触发步骤7.1中的智能合约,执行根据承运方效 益最大化的路径选择,获得派送调度方案并广播。
步骤8:根据步骤2对派送信息和相应派送调度方案进行共识,生成新区块, 实现信息上链。
步骤9:根据承运方位置、派送路径及派送费用信息在区块链上建立基于通 用的智能条件的支付通道,实现派送作业完成后的代币支付。图2中步骤9的具 体实现如下:
步骤9.1在区块链上建立基于智能条件的托运方与承运方之间的支付通道, 具体过程如下:
(1)在区块链上创建支付智能合约账户,账户包括:随机数、账户余额、合 约代码、账户存储;合约代码由派送方案上链触发,并处理交易通道建 立和更新操作;
(2)交易通道建立OpenTransaction:托运方和承运方根据派送路径匹配,建 立支付通道,①派送路径上各托运方身份签名信息,②承运方身份签名 信息,③根据托运方需要支付的代币数额
Figure BDA0002399462440000163
从托运方账 户拿出不小于
Figure BDA0002399462440000164
数额的代币Amounti放入通道,④从承运方账户拿 出一定数额的惩罚保证金Deposit存入通道,⑤各托运方对开启通道消 息签名,⑥承运方对开启通道消息签名;
(3)基于智能条件的交易通道更新UpdateTransaction:①获得交易更新序号SequenceNo,默认为0,每次发生代币支付则SequenceNo加1,②确定 各托运方需要支付的代币数量
Figure BDA0002399462440000165
及需要支付给承运方的代币总 数量
Figure BDA0002399462440000166
③根据承运车辆位置及派送路径计算派送所需时间 TDispatch,执行交易通道更新的等待时间HoldPeriod=TDispatch+Δ,Δ是一 个时间常量,④交易通道更新条件:车辆驾驶员完成派送后,向承运方 提供完成派送证明Proof,承运方检验Proof,如果正确,向区块链提供 完成派送证明Proof,如果Proof正确且在HoldPeriod内提交,则向承运 方支付数量为
Figure BDA0002399462440000171
的代币,即更新承运方与各 托运方余额为
Figure BDA0002399462440000172
⑤承运方 对交易通道更新签名,⑥各托运方对交易通道更新签名;
步骤9.2根据派送路径建立承运方与各托运方交易通道;
步骤9.3承运方向区块链提交完成派送证明Proof,如果智能合约在 HoldPeriod时间内收到Proof,检查Proof正确性,正确则按照合约内容完成代币 转移支付;
步骤9.4承运方和各托运方对交易通道更新签名,完成交易支付,交易更新 通道关闭。
通过上述实施例可以看出,本发明能够在保护用户隐私同时,实现有效监管 管理,即在用户使用众包物流系统过程中不揭露真实身份且身份不被追踪,但在 需要时可以实现管理部门对交易信息及实际实体的追踪确认;同时,本发明还能 够合理分配调度算法部署,避免在大规模处理请求需求下,对等节点集中于处理 同一问题;在本发明的优化区块链共识过程,实现在保障信息真实性同时,提高 系统效率;最后在完成派送同时,实现快捷匿名支付。

Claims (10)

1.一种基于区块链的众包物流派送调度系统,其特征在于:包括用户层、众包物流逻辑层和数据层,数据层即区块链层;所述区块链层采用以太坊进行实施;众包物流逻辑层和区块链层交互;所述用户层和众包物流逻辑层交互,用户层包括承运方、托运方、认证中心和各级管理部门;系统共识过程中的共识节点从各级管理部门随机选择相应数量组成,并且定期更换共识节点;承运方和托运方注册时由认证中心验证身份信息有效性。
2.一种实现权利要求1所述的基于区块链的众包物流派送调度系统的方法,其特征在于:包括以下步骤:
步骤1:托运方和承运方通过派送调度系统进行注册,系统为托运方和承运方用户分别分配C个随机数作为私钥,并通过椭圆曲线密码算法产生相应公钥,然后对用户公钥进行哈希和编码运算,得到的值作为用户的钱包地址,该钱包地址对应用户账户;承运方提交承运车辆信息,在区块链上创建注册智能合约账户,实现对承运车辆信息的记录;
步骤2:共识节点对承运车辆信息进行打包,计算其哈希值,并对哈希值进行投票,若某一哈希值获得投票比例超过一个阈值,则认为这个哈希是通过共识的区块哈希,此时该被打包的承运车辆信息则作为新区块被加到当前区块链上,实现注册信息上链;
步骤3:在区块链上创建验证及分类智能合约账户:当托运方在系统上发布派送信息时执行该智能合约,实现对派送信息的验证,派送信息包括托运方公钥、起始位置、目的位置、包裹重量、托运价格、时效要求及签名,对通过验证的派送信息根据其时效要求进行分类,并按照分类进行记录;
步骤4:在区块链上创建空间聚类智能合约账户:对时效要求为非紧急的派送信息根据起始位置及目标位置进行空间聚类划分;
步骤5:在区块链上创建划分分类智能合约账户:针对空间聚类产生的划分集合,根据起始位置和目标位置是否在同一个划分内,对派送信息进行进一步分类;
步骤6:在区块链上创建路径规划智能合约账户,实现派送路径规划;
步骤7:在区块链上创建路径选择智能合约账户,实现根据承运方效益最大化原则选择派送路径;
步骤8:根据步骤2对派送信息和相应派送调度方案进行投票共识,生成新区块,实现信息上链;
步骤9:根据承运方位置、派送路径及派送费用信息在区块链上建立基于通用的智能条件的支付通道,实现派送作业完成后的代币支付。
3.根据权利要求2所述的基于区块链的众包物流派送调度方法,其特征在于:所述步骤1的具体内容如下:
步骤1.1托运方和承运方在注册时提供有效身份信息,然后由认证部门检查身份信息有效性,系统为提供有效身份的用户分配密钥,为托运方用户Mi分配C个随机数
Figure FDA0002399462430000021
作为私钥,为承运方用户Fi分配C个随机数
Figure FDA0002399462430000022
作为私钥;
步骤1.2根据私钥
Figure FDA0002399462430000023
经过椭圆曲线算法生成用户i的公钥
Figure FDA0002399462430000024
r∈{1,2,…,C},X∈{M,F};
步骤1.3对用户i的公钥
Figure FDA0002399462430000025
进行哈希运算
Figure FDA0002399462430000026
其中H(·)采用SHA256,在
Figure FDA0002399462430000027
头部增加一个字节的地址版本号,再对结果进行一次SHA256运算,将运算后的结果的前4字节作为
Figure FDA0002399462430000028
的校验值,连接在其尾部,对生成的字符串使用BASE58进行编码从而得到用户i的钱包地址,用户钱包地址对应用户账户;
步骤1.4在区块链上创建注册智能合约账户,账户包括随机数、账户余额、合约代码和账户存储,合约代码由用户注册成功触发,执行将承运车辆信息记录在账户存储中,当信息数目达到C1或者距离上次广播信息超过时间T1后对信息进行打包并广播;
步骤1.5承运方提交承运车辆信息,包括:承运方公钥,车辆状态,运载能力,单位价格,车辆位置;
步骤1.6用户注册成功并提交承运车辆信息,触发步骤1.4中的合约代码,代码执行将接收到的信息记录在账户存储中,满足条件后对信息进行打包并广播。
4.根据权利要求2所述的基于区块链的众包物流派送调度方法,其特征在于:所述步骤2中的具体内容为:
步骤2.1共识节点收集注册信息进行打包,构建Merkle树,获得Merkle树的根root,并对其做哈希运算H(root),获取当前区块号BlockNo、父区块哈希PreHash和当前时间戳TimeStamp,计算哈希值H(BlockNo||H(root)||PreHash||TimeStamp);
步骤2.2共识节点发送计算出的区块哈希值H(BlockNo||H(root)||PreHash||TimeStamp);
步骤2.3共识节点收集接收到的区块哈希值,放到候选集中,然后该共识节点发送自己的候选集;
步骤2.4其他共识节点对接收到的候选集做并集,对其中的每一个区块哈希值投票;
步骤2.5共识节点交流投票结果,获得超过60%投票的区块哈希值进入下一轮,即重复步骤2.3和步骤2.4,否则该区块哈希值对应区块中的所有注册信息进入下一次共识过程;
步骤2.6在最终轮中,如果某个区块哈希值的投票比例超过80%,则该哈希值成为通过共识的区块哈希,对应区块通过共识添加到区块链上,否则区块中所有注册信息进入下一次共识过程。
5.根据权利要求2所述的基于区块链的众包物流派送调度方法,其特征在于:所述步骤3中的具体内容为:
步骤3.1在区块链上创建验证及分类智能合约账户,账户包括:随机数、账户余额、合约代码、账户存储;合约代码由派送信息触发,执行对派送信息的验证,把通过验证的派送信息根据时效要求分为紧急和非紧急分别记录在账户存储中,丢弃未通过验证的派送信息,当账户存储中的紧急派送信息数目超过C2或距离上次触发下一过程超过时间T2时,发送触发路径规划智能合约的消息及派送信息包,当账户存储中的非紧急派送信息数目超过C3或距离上次触发下一过程超过时间T3时,发送触发空间聚类智能合约的消息及派送信息包;
步骤3.2托运方Fi产生派送信息Parcel,送信息Parcel包括:起始位置Origin、目的位置Destination、包裹重量Weight、托运价格Price和时效要求TimeLimit,托运方从自己的密钥对池中选择
Figure FDA0002399462430000031
Figure FDA0002399462430000032
对消息进行ECDSA签名生成Sig,产生完整的派送信息如下:
Figure FDA0002399462430000041
然后发布Parcel,并启动计时器T,超时后选择下一密钥对;
步骤3.3Parcel信息触发步骤3.1中智能合约代码,进行Parcel格式检查,包括是否为完整信息、各字段字节数及格式是否正确、TimeStamp是否小于当前时间戳,通过格式检查的Parcel进行ECDSA签名验证,如果签名验证通过,根据请求信息的第六字段时效要求把该派送信息分类记录在账户存储中,满足条件后发送触发路径规划智能合约的消息及派送信息包,或发送触发空间聚类智能合约的消息及派送信息包。
6.根据权利要求2所述的基于区块链的众包物流派送调度方法,其特征在于:所述步骤4的实现包括如下:
步骤4.1在区块链上创建空间聚类智能合约账户,账户包括:随机数、账户余额、合约代码、账户存储;合约代码由步骤3中的触发信息触发,执行对派送信息根据起始位置和目的位置分别进行空间聚类,然后对两次聚类产生的质心集合进行空间聚类,聚类方法采用k-means方法,具体执行过程如下:
(1)获取当前集合中所有Parcel第二字段的起始位置信息Oi=(xi,yi),构成当前空间聚类过程的数据集{O1,O2,…,On},进行k-means聚类;
(2)获取当前集合中所有Parcel第三字段的目的位置信息Di=(xi,yi),构成当前空间聚类过程的数据集{D1,D2,…,Dn},进行k-means聚类;
(3)取步骤(1)和(2)产生的聚类集合的质心,构成新的数据集,进行k-means聚类;
(4)发送触发划分分类智能合约的消息及派送信息划分集合包。
其中k-means方法的结束条件为本轮质心与上一轮质心之间的距离小于阈值σ,其具体执行过程如下:
(1)根据数据集{V1,V2,…,Vn}大小n确定聚类集合的个数k;
(2)从数据集中选择k个元素作为质心Centroid1,…,Centroidk
(3)对数据集中的n-k个非质心元素,计算每个元素Vi与每一个质心的距离,
Figure FDA0002399462430000042
其中j∈{1,2,…,k},选择
Figure FDA0002399462430000043
Figure FDA0002399462430000051
中最小的
Figure FDA0002399462430000052
则元素Vi划分到质心Centroidj的集合;
(4)得到k个集合后,对每个集合重新计算质心Centroid'j
(5)计算新得到的质心Centroid'j和原质心Centroidj之间的距离
Figure FDA0002399462430000053
如果d'-j小于阈值σ,则已达到期望的聚类划分,否则重复(4)、(5)步骤;
步骤4.2非紧急派送信息包触发步骤4中智能合约代码,①执行对当前Parcel集合根据起始位置的空间聚类,得到划分集合SetPartition1,即得到以点
Figure FDA0002399462430000054
Figure FDA0002399462430000055
为质心的k个集合,把派送信息划分为根据起始位置聚集的k个集合,②执行对当前Parcel集合根据目的位置的空间聚类,得到划分集合SetPartition2,即得到以点
Figure FDA0002399462430000056
为质心的k个集合,把派送信息划分为根据目的位置聚集的k个集合,③把质心
Figure FDA0002399462430000057
和质心
Figure FDA0002399462430000058
Figure FDA0002399462430000059
构成新的集合,进行空间聚类,得到划分集合SetPartition3,即以k1个起始位置质心和k2个目的位置质心点为质心的k'个集合,发送触发划分分类智能合约的消息及派送信息划分集合包,k'=k1+k2
7.根据权利要求2所述的基于区块链的众包物流派送调度方法,其特征在于:所述步骤5的实现包括如下:
步骤5.1在区块链上创建划分分类智能合约账户,账户包括:随机数、账户余额、合约代码、账户存储;合约代码由步骤4中的触发信息触发,执行对SetPartition3各个集合根据派送起始位置和目的位置在同一集合内和不在同一集合内进行派送分类,把起始位置和目标位置不在同一划分集合内的派送信息组成新的集合,由此得到k'+1个派送信息集合,发送触发路径规划智能合约的消息及得到的派送信息集合;
步骤5.2步骤4.2中的触发信息触发步骤5.1中的智能合约代码,产生k'+1个派送信息集合,发送触发路径规划智能合约的消息及得到的派送信息集合。
8.根据权利要求2所述的基于区块链的众包物流派送调度方法,其特征在于:所述步骤6的实现包括如下:
步骤6.1在区块链上创建路径规划智能合约账户,账户包括:随机数、账户余额、合约代码、账户存储;合约代码由步骤5中的触发信息触发,或者由步骤3中的紧急派送信息包触发,执行各个派送信息集合内的派送路径规划,假设集合内的派送总数目为N,起点质心个数为M,根据每个起点质心集合的大小确定路径数目上限为Ri,i∈{1,2,…,M},路径规划采用蚁群算法,以配送路径最短为目标函数:
Figure FDA0002399462430000061
其中pijk表示第i个质心的第j条路径上的第k个派送,
Figure FDA0002399462430000066
表示第k个派送起始位置到目的位置的距离,Pij表示第i个质心的第j条路径上的派送数目且满足
Figure FDA0002399462430000062
步骤6.2触发信息触发步骤6.1中的智能合约,执行目标函数为
Figure FDA0002399462430000063
约束条件为所有派送被规划一次且仅被规划一次的蚁群算法,生成派送路径规划,发送触发路径选择智能合约的消息及派送路径规划。
9.根据权利要求2所述的基于区块链的众包物流派送调度方法,其特征在于:所述步骤7的实现包括如下:
步骤7.1在区块链上创建路径选择智能合约账户,账户包括:随机数、账户余额、合约代码、账户存储;合约代码由步骤6中的触发信息触发,执行以承运方效益最大化为目标的路径选择,具体步骤为:
(1)选择当前车辆状态为可用的承运方车辆集合;
(2)根据车辆运载能力及派送路径上包裹总重量进行匹配,使得车辆运载能力不小于所选派送路径上包裹总重量;
(3)根据派送路径、当前车辆位置及车辆行驶单位价格计算承运方代价Costs,
Figure FDA0002399462430000064
其中PVehicle表示车辆位置,Oi表示派送i的起始位置,Di表示派送i的目的位置,Unitprice表示车辆行驶单位价格,P表示所选路径上派送总数;
(4)产生最佳匹配:
Figure FDA0002399462430000065
其中P表示所选路径上派送总数;
步骤7.2派送路径规划信息触发步骤7.1中的智能合约,执行根据承运方效益最大化的路径选择,获得派送调度方案并广播。
10.根据权利要求2所述的基于区块链的众包物流派送调度方法,其特征在于:所述步骤9的实现包括如下:
步骤9.1在区块链上建立基于智能条件的托运方与承运方之间的支付通道,具体过程如下:
(1)在区块链上创建支付智能合约账户,账户包括:随机数、账户余额、合约代码、账户存储;合约代码由派送方案上链触发,并处理交易通道建立和更新操作;
(2)交易通道建立OpenTransaction:托运方和承运方根据派送路径匹配,建立支付通道,①派送路径上各托运方身份签名信息,②承运方身份签名信息,③根据托运方需要支付的代币数额
Figure FDA0002399462430000071
从托运方账户拿出不小于
Figure FDA0002399462430000072
数额的代币Amounti放入通道,④从承运方账户拿出一定数额的惩罚保证金Deposit存入通道,⑤各托运方对开启通道消息签名,⑥承运方对开启通道消息签名;
(3)基于智能条件的交易通道更新UpdateTransaction:①获得交易更新序号SequenceNo,默认为0,每次发生代币支付则SequenceNo加1,②确定各托运方需要支付的代币数量
Figure FDA0002399462430000073
及需要支付给承运方的代币总数量
Figure FDA0002399462430000074
③根据承运车辆位置及派送路径计算派送所需时间TDispatch,执行交易通道更新的等待时间HoldPeriod=TDispatch+Δ,Δ是一个时间常量,④交易通道更新条件:车辆驾驶员完成派送后,向承运方提供完成派送证明Proof,承运方检验Proof,如果正确,向区块链提供完成派送证明Proof,如果Proof正确且在HoldPeriod内提交,则向承运方支付数量为
Figure FDA0002399462430000075
的代币,即更新承运方与各托运方余额为Deposit+NetTransferAmount、
Figure FDA0002399462430000076
⑤承运方对交易通道更新签名,⑥各托运方对交易通道更新签名;
步骤9.2根据派送路径建立承运方与各托运方交易通道;
步骤9.3承运方向区块链提交完成派送证明Proof,如果智能合约在HoldPeriod时间内收到Proof,检查Proof正确性,正确则按照合约内容完成代币转移支付;
步骤9.4承运方和各托运方对交易通道更新签名,完成交易支付,交易更新通道关闭。
CN202010142117.9A 2020-03-04 2020-03-04 一种基于区块链的众包物流派送调度系统及其方法 Active CN111369319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010142117.9A CN111369319B (zh) 2020-03-04 2020-03-04 一种基于区块链的众包物流派送调度系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010142117.9A CN111369319B (zh) 2020-03-04 2020-03-04 一种基于区块链的众包物流派送调度系统及其方法

Publications (2)

Publication Number Publication Date
CN111369319A true CN111369319A (zh) 2020-07-03
CN111369319B CN111369319B (zh) 2024-02-23

Family

ID=71208544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010142117.9A Active CN111369319B (zh) 2020-03-04 2020-03-04 一种基于区块链的众包物流派送调度系统及其方法

Country Status (1)

Country Link
CN (1) CN111369319B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112101856A (zh) * 2020-08-17 2020-12-18 北京康拓红外技术股份有限公司 一种基于区块链技术的铁路货物运输管理平台及方法
CN112839046A (zh) * 2021-01-14 2021-05-25 暨南大学 基于区块链的可追踪的匿名众包方法及系统
CN112907329A (zh) * 2021-03-12 2021-06-04 圆通速递有限公司 一种基于联盟链的车货匹配方法
CN113450213A (zh) * 2021-04-21 2021-09-28 广东工业大学 一种基于区块链的商标审核众包服务方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062640A (zh) * 2017-11-30 2018-05-22 成都华药共享网络科技有限公司 一种物流诚信管理系统
CN110069345A (zh) * 2019-04-23 2019-07-30 江苏大学 基于区块链的众包资源分布式匿名配给方法及其配给系统
CN110166567A (zh) * 2019-06-04 2019-08-23 长春理工大学 一种基于区块链的物联网资源共享方法及系统
US20210073212A1 (en) * 2018-01-17 2021-03-11 Geeq Corporation Blockchain methods, nodes, systems and products

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062640A (zh) * 2017-11-30 2018-05-22 成都华药共享网络科技有限公司 一种物流诚信管理系统
US20210073212A1 (en) * 2018-01-17 2021-03-11 Geeq Corporation Blockchain methods, nodes, systems and products
CN110069345A (zh) * 2019-04-23 2019-07-30 江苏大学 基于区块链的众包资源分布式匿名配给方法及其配给系统
CN110166567A (zh) * 2019-06-04 2019-08-23 长春理工大学 一种基于区块链的物联网资源共享方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
叶小榕;邵晴;肖蓉;: "基于区块链基于区块链、智能合约和物联网的供应链原型系统" *
李佳等: "智慧物流在我国对外贸易中的应用模式构建与展望" *
陈齐;王正国;李文锋;曹菁菁;: "区块链技术在新型网络购物平台设计中的应用" *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112101856A (zh) * 2020-08-17 2020-12-18 北京康拓红外技术股份有限公司 一种基于区块链技术的铁路货物运输管理平台及方法
CN112839046A (zh) * 2021-01-14 2021-05-25 暨南大学 基于区块链的可追踪的匿名众包方法及系统
CN112907329A (zh) * 2021-03-12 2021-06-04 圆通速递有限公司 一种基于联盟链的车货匹配方法
CN113450213A (zh) * 2021-04-21 2021-09-28 广东工业大学 一种基于区块链的商标审核众包服务方法和系统

Also Published As

Publication number Publication date
CN111369319B (zh) 2024-02-23

Similar Documents

Publication Publication Date Title
CN111369319A (zh) 一种基于区块链的众包物流派送调度系统及其方法
Baza et al. B-ride: Ride sharing with privacy-preservation, trust and fair payment atop public blockchain
CN109508982B (zh) 区块链主链加并行多子链的随机并行拜占庭容错共识方法
CN106936589B (zh) 一种无中心的许可链平行分片方法及交易方法
CN107392608B (zh) 基于区块链系统的数字资产交易方法及区块链系统
CN108351998B (zh) 用于运输物品的系统和方法
CN111583039B (zh) 无管理者区块链交易的安全交互方法、激励方法及交易系统
CN111884807B (zh) 基于区块链的物品预约方法、装置、设备以及介质
CN110851537A (zh) 一种基于区块链分片技术的共识方法
CN112887380B (zh) 一种跨链互通方法及系统
CN110390524A (zh) 区块链中作业数据处理方法、装置、电子设备及存储介质
US10693643B2 (en) Methods and systems for distributed cryptographically secured data validation
CN113129518A (zh) 电动车辆充电系统及其资源管理方法
Fetzer et al. P4TC—Provably-secure yet practical privacy-preserving toll collection
Meijers et al. Blockchain for v2x: Applications and architectures
Wang et al. A fast and secured vehicle-to-vehicle energy trading based on blockchain consensus in the internet of electric vehicles
CN111931245A (zh) 信息处理方法及设备
CN111416709A (zh) 基于区块链系统的投票方法、装置、设备及存储介质
CN113448694A (zh) 一种提高事务处理能力的区块链共识方法
CN116567631B (zh) 一种基于分片区块链的移动终端安全认证方法
Yan et al. Reputation consensus-based scheme for information sharing in internet of vehicles
CN112215626A (zh) 支持环形订单可验证的网约车系统与方法
CN110266475A (zh) 一种云存储数据安全审计方法
Tang et al. PSSBP: A privacy-preserving scope-query searchable encryption scheme based on blockchain for parking lots sharing in vehicular networks
CN110768798A (zh) 面向物联网的轻量级区块链共识方法、系统及介质

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
GR01 Patent grant
GR01 Patent grant