CN110069345B - 基于区块链的众包资源分布式匿名配给方法及其配给系统 - Google Patents

基于区块链的众包资源分布式匿名配给方法及其配给系统 Download PDF

Info

Publication number
CN110069345B
CN110069345B CN201910327129.6A CN201910327129A CN110069345B CN 110069345 B CN110069345 B CN 110069345B CN 201910327129 A CN201910327129 A CN 201910327129A CN 110069345 B CN110069345 B CN 110069345B
Authority
CN
China
Prior art keywords
node
service
transaction
hash
block
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.)
Active
Application number
CN201910327129.6A
Other languages
English (en)
Other versions
CN110069345A (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 CN201910327129.6A priority Critical patent/CN110069345B/zh
Publication of CN110069345A publication Critical patent/CN110069345A/zh
Application granted granted Critical
Publication of CN110069345B publication Critical patent/CN110069345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Physics (AREA)
  • Economics (AREA)
  • Power Engineering (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开一种基于区块链的众包资源分布式匿名配给方法及其配给系统,以下简称众包资源匿名配给系统,步骤如下:用户注册;将用户注册信息上链;在区块上创建任务发布智能合约以及实现对任务发布信息的记录;服务节点前提交纳达成计划书;请求节点从达成计划书中选择最优质的服务节点;在区块上创建哈希时间锁定合约并建立一条洋葱路由,实现交易双方的匿名通信。本发明在区块链网络上引入哈希时间锁定的智能合约,实现了零确认交易上链,大大提高了单位时间内的交易量。此外,通过哈希时间锁定合约建立的支付通道可以构建一条请求节点到服务节点的洋葱路由,从而实现了请求节点和服务节点的匿名交易。

Description

基于区块链的众包资源分布式匿名配给方法及其配给系统
技术领域
本发明属于众包服务技术,具体涉及一种基于区块链的众包资源分布式匿名配给方法及其配给系统。
背景技术
众包物流是一种基于互联网平台的开放式配送模式,该模式借助于成熟的大数据技术和移动网络技术,将配送任务以自愿、有偿的方式,通过网络外包给非特定社会群体,这些社会群体可在自由支配时间段抢单、取货和送货,由此实现了社会闲置资源的最大化利用。以京东众包、达达、人人快递、闪送笛为代表的众包物流模式,受到了诸多快递人员与消费者的青睐。以京东众包物流为例,上线仅3个月,就招募了5万多名快递员。业务覆盖了13个城市,日均派送量超20000单。据达达的一名用户称,在发出同城配送订单后,平台显示附近有50多名达达配送员可提供服务,填写相关信息后,马上便有配送人员接单并在8分钟内上门取货,30至40分钟内完成配送任务。这种高效的配送模式,极大地提高了物流效率。达达首席执行官称达达众包98%的订单可以在1小时内妥投,85%的订单可以在30分钟内妥投。此外,众包物流与在线离线/线上到线下(Online To Offline,O2O)电商平台的对接密切,使得物流成本大幅降低。以达达众包为例,达达上线后与饿了么、美团等O2O平台展开合作,帮助平台商家进行送餐任务。新达达在2016年6月份的订单密度提高了10%以上的量级,但每单的成本却从15元降到3元。2017菜鸟网络董事长在全球智慧物流峰会上表示点我达通过信息、数据和资源共享极大地降低了物流成本。
尽管众包物流存在以上诸多优势,但同时也存在着诸如用户及其交易信息泄露等较大的安全隐患。目前上线的众包物流平台中,对用户信息进行加密处理,即采用“隐私面单”的企业仍比较低。据腾讯网相关统计显示,截止到2018年6月,快递隐私面单的普及率不足20%。新浪新闻网曾报道京东自2016年6月起,使用“隐私面单”保护用户信息,配送员通过平台自主研发的APP“京牛”联系用户。然而,在2017年5月期间,因订单量激增,京东采用大量众包运力支持物流业务,由于众包配送员无法登录使用“京牛”,致使京东改为使用普通面单,顾客的个人信息全部显示于面单上,致使用户信息大面积泄露。
再以医药众包物流为例,自由配送人在货物的提取配送过程中,能够根据货品外包装信息,了解顾客的患病情况,可能导致顾客的隐私信息泄露,遭遇诈骗、资金流失、垃圾短信等,因而不能满足顾客对需求产品的保密性要求。另外需要进行说明的是现有的众包物流系统均采用集中式的数据处理方式。这种数据处理架构需要通过可信的第三方保障交易的安全性。然而,可信第三方存在单点失效的问题。一旦可信的第三方遭受网络攻击,将导致众包物流平台变得不可用、无法完成对用户身份的认证以及支付活动受到影响。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种基于区块链的众包资源分布式匿名配给方法,通过引入区块链、哈希时间锁合约及洋葱加密技术来实现一种去中心化的众包资源匿名配给,能够用于去中心化的众包服务平台,特别适用于保障众包服务交易平台上的大批量和匿名交易。
技术方案:本发明的一种基于区块链的众包资源分布式匿名配给方法,包括如下步骤:
步骤1:节点在系统上进行注册,所述节点包括请求节点与服务节点,系统为各节点分配一个随机数作为节点私钥,并通过椭圆曲线算法生成相应的公钥,之后通过对节点公钥的哈希和编码生成节点的钱包地址,在区块上创建智能合约实现对用户注册信息的记录;
步骤2:生产该区块的矿工通过挖矿这种工作量证明机制向其他矿工证明自己的可信性,使得其他矿工节点能够同意该矿工将新生成的区块加入当前的区块链上,从而实现将交易信息上链;
步骤3:在区块上创建任务发布智能合约,当请求节点在系统上成功发布服务任务时执行该合约,实现对任务发布信息的记录,所发布的服务任务包括服务任务描述、需支付的报酬及对服务节点的要求,新生成交易区块上链过程同步骤2;
步骤4:服务节点通过系统接收请求节点发布的任务,在任务截止时间前提交一份满足请求节点服务任务的达成计划书,该计划书被用请求节点的公钥加密后放在分布存储空间中;
步骤5:请求节点用其私钥打开服务节点提交的达成计划书,然后请求节点根据服务节点的信誉值、服务节点给出的服务方案和服务节点提出的服务费用,选择出最优质的服务节点;
步骤6:在区块链上创建哈希时间锁定合约,通过哈希时间锁定合约在两个用户之间建立支付通道,然后基于支付通道在网络中为请求节点和服务节点间的交易Tx建立一条洋葱路由,实现交易双方的匿名通信。
进一步的,所述步骤1的具体内容如下:
步骤1.1请求节点或服务节点在注册时无需提供真实的身份信息,而是被直接分配一个256bit的随机数作为其私钥
Figure BDA0002036572770000031
其中/>
Figure BDA0002036572770000032
表示节点ni的私钥,R为请求节点,W为服务节点;
步骤1.2私钥
Figure BDA0002036572770000033
经过椭圆曲线算法SECP256K1的处理生成节点ni的公钥
Figure BDA0002036572770000034
步骤1.3
Figure BDA0002036572770000035
表示节点ni的公钥哈希值,其中hash(·)表示hash函数,这里采用SHA-256算法;
步骤1.4将一个字节的地址版本号连接到
Figure BDA0002036572770000036
的头部,然后对其再进行两次SHA256运算,将结果的前4字节作为/>
Figure BDA0002036572770000037
的校验值,连接在其尾部,对生成的字符串使用BASE58进行编码从而得到节点的钱包地址;
步骤1.5在区块上创建用户注册智能合约,当用户注册成功时执行该合约记录用户注册信息。
进一步的,所述步骤2中的具体内容为:
步骤2.1在创始区块的头部nBits字段设其难度值为0x1d00ffff,另设最大目标值,最大值为:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;
步骤2.2对区块的头部数据进行两次哈希运算,如下式所示,尝试不同的Nonce当其获得哈希值小于等于目标哈希值时,则接受该区块
SHA256(SHA256(Version+HashPreBlock+Merkle_root+Timstamp+nBits+Nonce))≤目标哈希值
其中,Version表示版本号、HashPreBlock为前一区块的Hash值、Merkle_root为交易数据的Merkle树根、Timstamp为交易的时间戳、nBits为目标计算难度、Nonce为矿工不断尝试的随机数;
步骤2.3区块的难度即为目标哈希值,每隔2016个区块重新计算一次,难度值的计算方法如下:
新难度值=旧难度值*(过去2016个区块花费的时长/20160分钟)
目标哈希值=最大目标值/难度值。
进一步的,所述步骤3中的具体内容为:
步骤3.1在区块上创建一条只有请求节点且没有服务节点的交易,区块体中的数据字段存储任务发布智能合约;
步骤3.2请求节点用私钥
Figure BDA0002036572770000041
加密服务任务,加密后的服务任务信息包括对服务任务的描述、拟支付的报酬及对服务节点的要求,在系统上成功发布后执行步骤3.1中的智能合约;
步骤3.3在区块上创建一条只有请求节点且没有服务节点的交易,区块体中的数据字段存储请求节点私钥加密后的服务任务信息;
步骤3.4最后将新生成交易区块上链,该过程与步骤2相同。
进一步的,所述步骤4的实现包括如下:
步骤4.1服务节点通过系统接收请求节点发布的加密服务任务描述文件,之后用请求节点的公钥验证该节点的身份真实性;
步骤4.2服务节点根据解密后的服务任务描述文件,在任务截止时间前提交一份满足请求节点服务任务的达成计划书;
步骤4.3鉴于达成计划书需要提交相关的附件材料证明计划书的可行性,这里用请求节点的公钥加密后放在分布存储空间中。
进一步的,所述步骤6的实现包括如下:
步骤6.1在区块链上创建哈希时间锁定合约,通过哈希时间锁定合约在两个用户之间建立间接支付通道,该间接支付通道的建立过程如下:
(1)请求节点ni发给服务节点ni+m发一个随机种子r,服务节点ni+m用其私钥对随机种子进行签名,并通过SHA256生成哈希值H,并返回给请求节点ni
(2)节点ni找到与其建立支付通道的节点ni+x(x≤m),然后节点ni生成交易的哈希时间锁定合约,此HTLC的内容为:如果节点ni+x(x≤m)找到暗语H,则节点ni+x(x≤m)直接拿走HTLC中的以太币,否则HTLC中的以太币在锁定期后就会被释放;
(3)节点ni+x(x≤m)找到与其建立支付通道的服务节点ni+m,用1个以太币来换服务节点ni+m的暗语H,同时更新节点ni+x(x≤m)和服务节点ni+m的支付分配,更新与步骤(2)相同。反之,若节点ni+x(x≤m)未找到与其建立支付通道的服务节点ni+m,那么重复步骤(2)的过程;
(4)节点ni+x(x≤m)会拿着暗语H去找请求节点ni,并从请求节点ni处拿到以太币,请求节点ni则以间接支付通道的形式付给服务节点ni+m约定的以太币;
步骤6.2在区块链网络上构建二层匿名交易网络实现众包服务交易的匿名,即是指基于所构建间接支付通道在网络中为请求节点和服务节点间的交易Tx建立洋葱路由,该洋葱路由的内容为:
Figure BDA0002036572770000051
其中
Figure BDA0002036572770000052
为节点ni+m的公钥,m为请求节点ni到服务节点ni+m之间的可达路径的跳数,Encrypt(·)为加密函数,中间节点ni+x(x≤m)使用其私钥逐层解密出洋葱路径,从而以匿名的方式实现众包服务交易匿名,中间节点在本次交易中相对于其前一跳节点为虚拟服务节点角色,相对于其下一跳节点为虚拟请求节点的角色。
本发明还公开了一种用于实现基于区块链的众包资源分布式匿名配给方法的配给系统,包括众包服务业务逻辑层、区块链层和数据存储层;区块链层中的区块通过存储文件资源的指针来定位数据存储层的资源;众包服务业务逻辑层与区块链层交互;区块链层采用以太坊进行实施,区块链层上部署的二层零确认匿名交易网络则采用哈希时间锁定合约和洋葱路由进行实施;数据存储层通过搭建星际文件系统进行实施,即利用分布式哈希表解决数据的传输和定位问题,把点对点的单点传输改变成P2P的传输,其中存储数据的结构是哈希链,区块链层通过资源的哈希值来定位数据存储层中资源的位置。
有益效果:本发明中区块链上引入哈希时间锁合约,实现了零确认交易上链,提高单位时间内的交易量。此外,在哈希时间锁合约建立的间接支付通道上构建一条请求节点到服务节点的洋葱路由,实现请求节点和服务节点的匿名配给。
与现有技术相比,本发明具有以下优点:
(1)避免中心化系统的单点失效
本发明运行在对等网络上,交易数据以记录形式存储区块中,之后通过共识机制存储在区块链上,更新的区块信息在P2P网络中进行广播,使得全网的Peer节点共同拥有完整的区块链副本,这样就避免了由于中心节点失效导致整个众包服务交易系统失效的严重问题。
(2)保障服务交易数据的安全性
本发明在交易传输过程中只传输公钥信息,保障了数据传输期间的安全性;交易数据存储在数据区块中,区块中数据安全以密码学理论为基础,保障了交易数据的不可篡改性。
(3)保障用户交易的隐私性
用户注册时,不需要提供节点的真实信息,从而保障了节点的身份隐私;用户交易时通过在哈希时间锁定合约建立的间接支付通道上构建一条请求节点到服务节点的洋葱加密路径,实现了请求节点到服务节点的匿名交易。
附图说明
图1为本发明的软件层次示意图;
图2为本发明中众包资源分布式匿名配给系统中实体间交互的时序示意图;
图3为实施例中零确认匿名交易网络构建的示意图;
图4为本发明的整体流程示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
如图1所示,本实施中的众包资源匿名配给系统分为3个层次,分别是众包服务业务逻辑层、区块链层和数据存储层。
众包服务业务逻辑层主要的功能是实现众包服务的业务逻辑,包括:用户注册、服务任务发布、最佳交易对象匹配和服务交易实施;上述逻辑过程的实现采用编写智能合约的方式,智能合约通过以太坊虚拟机进行编译和部署在区块链上。
区块链层主要负责管理和维护区块链、执行共识机制,之后为实现交易的匿名,在区块链层的基础上引入零确认匿名交易网络,零确认匿名交易网络是用户在交易时通过哈希时间锁定合约为用户建立间接支付通道,并在此支付通道上构建一条请求节点到服务节点的洋葱加密路径,从而实现请求节点到服务节点的匿名交易。
数据存储层的主要作用是实现大容量文件资源的分布式存储。
三者之间的联系是:
区块链层中的区块通过存储文件资源的指针来定位数据存储层的资源;众包服务业务逻辑层的逻辑功能使用Javascript语言编写、智能合约采用Solidity语言编写,众包服务业务逻辑层通过调用Web3j与区块链层交互;区块链层采用以太坊进行实施,区块链层上部署的二层零确认匿名交易网络则采用哈希时间锁定合约和洋葱路由进行实施;数据存储层通过搭建星际文件系统(Inter-Planetary File System,IPFS)进行实施。IPFS利用分布式哈希表解决数据的传输和定位问题,把点对点的单点传输改变成P2P(多点对多点)的传输,其中存储数据的结构是哈希链,区块链层通过资源的哈希值来定位数据存储层中资源的位置。
如图2和图4所示,本实施例的基于区块链的众包资源分布式匿名配给方法流程如下:
步骤1:节点(包括请求与服务节点)在系统上进行注册,系统为节点分配一个随机数作为对应节点的私钥,并通过椭圆曲线算法生成相应的公钥,之后通过对节点公钥的哈希和编码分别生成节点地址和钱包地址,在区块上创建用户注册智能合约实现对用户注册信息的记录。图2中步骤1的实现细节如下:
步骤1.1请求节点及服务节点在注册时无需提供真实的身份信息,而是被直接分配一个256bit的随机数作为其私钥
Figure BDA0002036572770000071
其中/>
Figure BDA0002036572770000072
表示节点ni的私钥,R为请求节点,W为服务节点;
步骤1.2私钥
Figure BDA0002036572770000073
经过椭圆曲线算法SECP256K1的处理生成节点ni的公钥
Figure BDA0002036572770000074
步骤1.3
Figure BDA0002036572770000075
表示节点ni的公钥哈希值,其中hash(·)表示hash函数,这里采用SHA-256算法;
步骤1.4将一个字节的地址版本号连接到
Figure BDA0002036572770000076
的头部,然后对其再进行两次SHA256运算,将结果的前4字节作为/>
Figure BDA0002036572770000077
的校验值,连接在其尾部。对生成的字符串使用BASE58进行编码从而得到节点的钱包地址;
步骤1.5在区块上创建用户注册智能合约,当用户注册成功时执行该合约记录用户注册信息。
步骤2:生产该区块的矿工通过挖矿这种工作量证明机制向其他矿工证明自己的可信性,使得其他矿工节点能够同意该矿工将新生成的区块加入当前的区块链上,从而实现将交易信息上链。图2中步骤2的实现细节如下:
步骤2.1在创始区块的头部nBits字段设其难度值为0x1d00ffff,另设最大目标值,所述最大目标值为:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;
步骤2.2对区块的头部数据进行两次哈希运算,如式(1)所示。尝试不同的Nonce当其获得哈希值小于等于目标哈希值时,则接受该区块
SHA256(SHA256(Version+HashPreBlock+Merkle_root+Timstamp+nBits+Nonce))≤目 哈希(1)
其中,Version表示版本号、HashPreBlock为前一区块的Hash值、Merkle_root为交易数据的Merkle树根、Timstamp为交易的时间戳、nBits为目标计算难度、Nonce为矿工不断尝试的随机数;
步骤2.3区块的难度即为目标哈希值,每隔2016个区块重新计算一次,难度值的计算方法如式(2)和(3)所示:
新难度值=旧难度值*(过去2016个区块花费的时长/20160分钟) (2)
目标哈希值=最大目标值/难度值 (3)
步骤3:在区块上创建服务任务发布智能合约,当请求节点在系统上成功发布服务任务时执行该合约,实现对服务任务发布信息的记录,所发布的服务任务包括服务任务描述、需支付的报酬及对服务节点的要求等信息,新生成交易区块上链过程同步骤2。图2中步骤3中的具体实现包括:
步骤3.1在区块上创建一条只有请求节点,没有服务节点的交易,区块体中的数据字段存储服务任务发布的智能合约;
步骤3.2请求节点用私钥
Figure BDA0002036572770000081
加密服务任务,包括对服务任务的描述、拟支付的报酬及对服务节点的要求等信息,在系统上成功发布后执行步骤3.1中的智能合约;
步骤3.3在区块上创建一条只有请求节点,没有服务节点的交易,区块体中的数据字段存储请求节点私钥加密后的服务任务信息;
步骤3.4新生成交易区块上链过程同步骤2的实现。
步骤4:服务节点通过系统接收请求节点发布的任务,在服务任务截止时间前提交1份满足请求节点服务任务的达成计划书,该计划书被用请求节点的公钥加密后放在分布存储空间中。图2中步骤4的实现包括如下:
步骤4.1网络广播服务任务请求信息,服务节点通过客户端接收请求节点发布的加密服务任务描述文件,之后用请求节点的公钥验证该节点身份的真实性;
步骤4.2服务节点根据解密后的服务任务描述文件,在任务截止时间前通过客户端提交1份满足请求节点服务任务的达成计划书;
步骤4.3鉴于达成计划书的附件材料较大,这里用请求节点的公钥加密后放在IPFS分布文件系统中。
步骤5:请求节点用私钥打开服务节点提交的达成计划书,并从中选择最优质的服务节点。图2中步骤5的实现包括如下:
步骤5.1请求节点在客户端用私钥打开服务节点提交的达成计划书;
步骤5.2请求节点根据服务节点的信誉值、服务节点给出的服务方案、服务节点提出的服务费用,综合选择出最优质的服务节点,即评价函数f(x)值最大的服务节点,如式(4)所示。
其中,max{f(x)}为请求节点对服务节点的最大满意度函数,α、β为权重系数,h(n)表示服务节点的信誉值,ε表示服务节点收取费用的偏差值。h(n)的计算见式(5),ε的计算见式(6)-(7)。
Figure BDA0002036572770000095
h(n)=ω01g1(n)+…+ωmgm(n) (5)
其中,gi(n)为结点n在第i个时刻的信誉值,ωi是与其对应项有关的权重。这里采用最小二乘法确定其权重参数。
Figure BDA0002036572770000091
其中,
Figure BDA0002036572770000092
表示服务节点收取的费用,ETHs表示服务费,ETHu表示每公里的单价费用,l表示服务运输的公里数,tmax表示服务送达的最大容许时间,t为当前时刻,ETHδ表示对服务节点的惩罚费,λ为服务节点历史不遵守约定的次数,比如物流服务送达时间超出了最大容许时间。
Figure BDA0002036572770000093
其中,
Figure BDA0002036572770000094
表示提供服务方案的服务节点收取费用的均值,ε表示服务节点收取费用与其均值之间的偏差。
步骤6:在区块链上创建哈希时间锁定合约,哈希时间锁定合约的作用是在两个用户之间建立支付通道,之后基于支付通道在网络中为请求节点和服务节点间的交易Tx建立一条洋葱路由,实现交易双方的匿名通信。图2中步骤6的实现细节如图3所示,其中HLTC()表示哈希时间锁定合约及其内容,具体实施流程描述如下。
步骤6.1在区块链上创建哈希时间锁定合约,哈希时间锁定合约由哈希锁定和时间锁定两个部分构成。哈希锁定将请求节点的以太币进行锁定,并通过时间锁定让服务节点在某个约定的时刻前生成支付的密码学证明,若与事先约定的哈希值相同,则完成交易。该合约可以实现在两个用户之间建立间接支付通道,间接支付通道的建立过程如下:
(1)请求节点X发给服务节点Z发一个随机种子r,服务节点Z用其私钥对随机种子进行签名,并通过SHA256生成哈希值H,并返回给节点X;
(2)节点X找到与其建立支付通道的节点Y,然后节点X生成交易的HTLC合约,此HTLC合约内容为,如果节点Y找到暗语H,Y可以直接拿走HTLC中的以太币,否则HTLC中的以太币在锁定期后就会被释放;
(3)节点Y找到与其建立支付通道的节点Z,用1个以太币来换节点Z的暗语H,同时更新Y和Z的支付分配,更新同过程(2);
(4)节点Y会拿着暗语H去找节点X,并从节点X那里拿到了以太币,请求节点X则以间接支付通道的形式付给服务节点Z约定的以太币。
步骤6.2在区块链网络上构建二层匿名交易网络实现众包服务交易的匿名,即是指基于所构建间接支付通道在网络中为请求节点和服务节点间的交易Tx建立洋葱路由,所述洋葱路由如下:
Figure BDA0002036572770000101
其中Encrypt(·)为加密函数。然后,中间节点使用其私钥逐层解密出洋葱路径,从而以匿名的方式实现众包服务交易匿名。

Claims (7)

1.一种基于区块链的众包资源分布式匿名配给方法,其特征在于:包括如下步骤:
步骤1:节点在系统上进行注册,所述节点包括请求节点与服务节点,系统为各节点分配一个随机数作为节点私钥,并通过椭圆曲线算法生成相应的公钥,之后通过对节点公钥的哈希和编码生成节点的钱包地址,在区块上创建智能合约实现对用户注册信息的记录;
步骤2:生产该区块的矿工通过挖矿这种工作量证明机制向其他矿工证明自己的可信性,使得其他矿工节点能够同意该矿工将新生成的区块加入当前的区块链上,从而实现将交易信息上链;
步骤3:在区块上创建任务发布智能合约,当请求节点在系统上成功发布服务任务时执行该合约,实现对任务发布信息的记录,所发布的服务任务包括服务任务描述、需支付的报酬及对服务节点的要求;
步骤4:服务节点通过系统接收请求节点发布的任务,在任务截止时间前提交一份满足请求节点服务任务的达成计划书,该计划书被用请求节点的公钥加密后放在分布存储空间中;
步骤5:请求节点用其私钥打开服务节点提交的达成计划书,然后请求节点根据服务节点的信誉值、服务节点给出的服务方案和服务节点提出的服务费用,选择出最优质的服务节点;
步骤6:在区块链上创建哈希时间锁定合约,通过哈希时间锁定合约在两个用户之间建立支付通道,然后基于支付通道在网络中为请求节点和服务节点间的交易Tx建立一条洋葱路由,实现交易双方的匿名通信。
2.根据权利要求1所述的基于区块链的众包资源分布式匿名配给方法,其特征在于:所述步骤1的具体内容如下:
步骤1.1请求节点或服务节点在注册时无需提供真实的身份信息,而是被直接分配一个256bit的随机数作为其私钥
Figure QLYQS_1
其中/>
Figure QLYQS_2
表示节点ni的私钥,R为请求节点,W为服务节点;
步骤1.2私钥
Figure QLYQS_3
经过椭圆曲线算法SECP256K1的处理生成节点ni的公钥/>
Figure QLYQS_4
ni∈{R,W};
步骤1.3
Figure QLYQS_5
表示节点ni的公钥哈希值,其中hash()表示hash函数,这里采用SHA-256算法;
步骤1.4将一个字节的地址版本号连接到
Figure QLYQS_6
的头部,然后对其再进行两次SHA256运算,将结果的前4字节作为/>
Figure QLYQS_7
的校验值,连接在其尾部,对生成的字符串使用BASE58进行编码从而得到节点的钱包地址;
步骤1.5在区块上创建用户注册智能合约,当用户注册成功时执行该合约记录用户注册信息。
3.根据权利要求1所述的基于区块链的众包资源分布式匿名配给方法,其特征在于:所述步骤2中的具体内容为:
步骤2.1在创始区块的头部nBits字段设其难度值为0x1d00ffff,另设最大目标值,最大值为:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF;
步骤2.2对区块的头部数据进行两次哈希运算,如下式所示,尝试不同的Nonce当其获得哈希值小于等于目标哈希值时,则接受该区块;
SHA256(SHA256(Version+HashPreBlock+Merkle_root+Timstamp+nBits+Nonce))≤目标哈希值
其中,Version表示版本号、HashPreBlock为前一区块的Hash值、Merkle_root为交易数据的Merkle树根、Timstamp为交易的时间戳、nBits为目标计算难度、Nonce为矿工不断尝试的随机数;
步骤2.3区块的难度即为目标哈希值,每隔2016个区块重新计算一次,难度值的计算方法如下:
新难度值=旧难度值*(上一组2016个区块花费的时长/20160分钟)
目标哈希值=最大目标值/新难度值。
4.根据权利要求1所述的基于区块链的众包资源分布式匿名配给方法,其特征在于:所述步骤3中的具体内容为:
步骤3.1在区块上创建一条只有请求节点且没有服务节点的交易,区块体中的数据字段存储任务发布智能合约;
步骤3.2请求节点用私钥
Figure QLYQS_8
加密服务任务,加密后的服务任务信息包括对服务任务的描述、拟支付的报酬及对服务节点的要求,在系统上成功发布后执行步骤3.1中的智能合约;
步骤3.3在区块上创建一条只有请求节点且没有服务节点的交易,区块体中的数据字段存储请求节点私钥加密后的服务任务信息;
步骤3.4最后将新生成交易区块上链。
5.根据权利要求1所述的基于区块链的众包资源分布式匿名配给方法,其特征在于:所述步骤4的实现包括如下:
步骤4.1服务节点通过配给系统接收请求节点发布的加密服务任务描述文件,之后用请求节点的公钥验证该节点的身份真实性;
步骤4.2服务节点根据解密后的服务任务描述文件,在任务截止时间前提交一份满足请求节点服务任务的达成计划书;
步骤4.3鉴于达成计划书需要提交相关的附件材料证明计划书的可行性,这里用请求节点的公钥加密后放在分布存储空间中。
6.根据权利要求1所述的基于区块链的众包资源分布式匿名配给方法,其特征在于:所述步骤6的实现包括如下:
步骤6.1在区块链上创建哈希时间锁定合约,通过哈希时间锁定合约在两个用户之间建立间接支付通道,该间接支付通道的建立过程如下:
(1)请求节点ni发给服务节点ni+m发一个随机种子r,服务节点ni+m用其私钥对随机种子进行签名,并通过SHA256生成哈希值H,并返回给请求节点ni
(2)节点ni找到与其建立支付通道的中间节点ni+x,然后节点ni生成交易的哈希时间锁定合约,此HTLC的内容为:如果节点ni+x找到暗语H,则节点ni+x直接拿走HTLC中的以太币,否则HTLC中的以太币在锁定期后就会被释放,x≤m;
(3)节点ni+x找到与其建立支付通道的服务节点ni+m,用1个以太币来换服务节点ni+m的暗语H,同时更新节点ni+x和服务节点ni+m的支付分配,更新与步骤(2)相同,反之,若节点ni+x未找到与其建立支付通道的服务节点ni+m,那么重复步骤(2)的过程;
(4)节点ni+x会拿着暗语H去找请求节点ni,并从请求节点ni处拿到以太币,请求节点ni则以间接支付通道的形式付给服务节点ni+m约定的以太币;
步骤6.2在区块链网络上构建二层匿名交易网络实现众包服务交易的匿名,即是指基于所构建间接支付通道在网络中为请求节点和服务节点间的交易Tx建立洋葱路由,该洋葱路由的内容为:
Figure QLYQS_9
其中
Figure QLYQS_10
为节点ni+m的公钥,m为请求节点ni到服务节点ni+m之间的可达路径的跳数,Encrypt()为加密函数,中间节点ni+x使用其私钥逐层解密出洋葱路径,从而以匿名的方式实现众包服务交易匿名,中间节点在本次交易中相对于其前一跳节点为虚拟服务节点角色,相对于其下一跳节点为虚拟请求节点的角色。
7.一种用于实现权利要求1至6任意一项所述的基于区块链的众包资源分布式匿名配给方法的配给系统,其特征在于:包括众包服务业务逻辑层、区块链层和数据存储层;区块链层中的区块通过存储文件资源的指针来定位数据存储层的资源;众包服务业务逻辑层与区块链层交互;区块链层采用以太坊进行实施,区块链层上部署的二层零确认匿名交易网络则采用哈希时间锁定合约和洋葱路由进行实施;数据存储层通过搭建星际文件系统进行实施,即利用分布式哈希表解决数据的传输和定位问题,把点对点的单点传输改变成P2P的传输,其中存储数据的结构是哈希链,区块链层通过资源的哈希值来定位数据存储层中资源的位置。
CN201910327129.6A 2019-04-23 2019-04-23 基于区块链的众包资源分布式匿名配给方法及其配给系统 Active CN110069345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910327129.6A CN110069345B (zh) 2019-04-23 2019-04-23 基于区块链的众包资源分布式匿名配给方法及其配给系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910327129.6A CN110069345B (zh) 2019-04-23 2019-04-23 基于区块链的众包资源分布式匿名配给方法及其配给系统

Publications (2)

Publication Number Publication Date
CN110069345A CN110069345A (zh) 2019-07-30
CN110069345B true CN110069345B (zh) 2023-06-16

Family

ID=67368336

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910327129.6A Active CN110069345B (zh) 2019-04-23 2019-04-23 基于区块链的众包资源分布式匿名配给方法及其配给系统

Country Status (1)

Country Link
CN (1) CN110069345B (zh)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110543757B (zh) * 2019-08-01 2023-06-06 立旃(上海)科技有限公司 基于区块链的认证激励方法及系统
CN110599146B (zh) * 2019-09-16 2023-12-19 腾讯科技(深圳)有限公司 数据处理方法、装置、终端、节点设备及存储介质
CN110620772B (zh) * 2019-09-20 2021-06-25 西安电子科技大学 基于区块链的空间众包多级位置隐私保护方法
CN110768798B (zh) * 2019-10-24 2022-06-28 中国人民解放军国防科技大学 面向物联网的轻量级区块链共识方法、系统及介质
CN110955724A (zh) * 2019-11-21 2020-04-03 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、节点设备及存储介质
CN111222945A (zh) * 2019-12-24 2020-06-02 成都风腾伟业科技有限公司 同城配送领域的聚合配送解决方案
CN111327673A (zh) * 2020-01-18 2020-06-23 广东文储区块链科技有限公司 一种基于匿名区块链系统的授信方法及系统
CN111369319B (zh) * 2020-03-04 2024-02-23 江苏大学 一种基于区块链的众包物流派送调度系统及其方法
CN111539817B (zh) * 2020-03-06 2023-04-07 杜晓楠 在区块链当中防止时间戳劫持的线性难度计算方法、计算机可读存储介质和区块链网络
CN111597585B (zh) * 2020-05-26 2023-08-11 牛津(海南)区块链研究院有限公司 区块链数据的隐私保护方法、系统及相关组件
CN111786817B (zh) * 2020-06-12 2022-09-23 东南大学 一种区块链无线接入网中的安全高速数据通道及其设计方法
CN111738722B (zh) * 2020-06-30 2023-04-07 电子科技大学 一种基于区块链路由目录服务器的智能合约生成方法
CN111901108B (zh) * 2020-08-03 2023-02-10 东莞盟大集团有限公司 基于区块链的业务处理方法、装置和计算机设备
CN112150144A (zh) * 2020-08-12 2020-12-29 江苏大学 一种基于跨节点多跳支付的区块链匿名交易方法
CN112101935A (zh) * 2020-09-11 2020-12-18 上海阿吉必信息技术有限公司 区块链充值卡的处理方法和装置
CN112217645B (zh) * 2020-09-28 2021-10-26 电子科技大学 一种基于区块链技术的匿名通信系统路由选择方法
CN112581097A (zh) * 2020-12-24 2021-03-30 陕西交建云数据科技有限公司 一种基于区块链的责任追溯方法
CN112613846A (zh) * 2020-12-28 2021-04-06 青岛海链数字科技有限公司 基于区块链的用户付薪积分方法、装置、设备及存储介质
CN112839046B (zh) * 2021-01-14 2022-09-27 暨南大学 基于区块链的可追踪的匿名众包方法及系统
CN112862303B (zh) * 2021-02-04 2023-04-11 天津大学 一种基于区块链的众包质量评估的系统及方法
CN112800486A (zh) * 2021-03-17 2021-05-14 卓尔智联(武汉)研究院有限公司 一种票据信息的处理方法、装置及系统
CN113282662B (zh) * 2021-06-03 2023-11-03 广东辰宜信息科技有限公司 区块信息处理方法、装置、设备及介质
CN113595736B (zh) * 2021-07-21 2022-06-14 深圳市信安数字科技有限公司 基于区块链的信息传输方法、系统、装置及存储介质
CN113538152B (zh) * 2021-08-02 2024-01-05 浙江数秦科技有限公司 一种保护数据隐私的数据交易平台
CN114389825B (zh) * 2022-03-24 2022-07-08 腾讯科技(深圳)有限公司 一种基于区块链的数据通信方法和相关装置
CN116680074A (zh) * 2023-06-06 2023-09-01 广州建兴数字科技有限公司 一种分布式虚拟现实系统及数据中心
CN117527859B (zh) * 2024-01-04 2024-03-19 深圳市联特微电脑信息技术开发有限公司 基于工业互联网的设备监控方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103405A (zh) * 2017-03-22 2017-08-29 暨南大学 一种基于区块链技术的众包系统及其建设方法
CN108881449A (zh) * 2018-06-27 2018-11-23 青岛墨客区块链有限公司 一种区块链的匿名调用方法及系统
US20180349896A1 (en) * 2017-06-05 2018-12-06 Mastercard International Incorporated Method and system for anonymization of electronic transactions via blockchain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103405A (zh) * 2017-03-22 2017-08-29 暨南大学 一种基于区块链技术的众包系统及其建设方法
US20180349896A1 (en) * 2017-06-05 2018-12-06 Mastercard International Incorporated Method and system for anonymization of electronic transactions via blockchain
CN108881449A (zh) * 2018-06-27 2018-11-23 青岛墨客区块链有限公司 一种区块链的匿名调用方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《区块链在物联网隐私保护中的应用》;陈捷等;《物流技术》;20180731;第37卷(第7期);全文 *

Also Published As

Publication number Publication date
CN110069345A (zh) 2019-07-30

Similar Documents

Publication Publication Date Title
CN110069345B (zh) 基于区块链的众包资源分布式匿名配给方法及其配给系统
CN108256859B (zh) 基于区块链的金融产品交易共识方法、节点及系统
US20240119429A1 (en) Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
CN109345438B (zh) 一种隐私保护的联盟打车方法及系统
AlTawy et al. Lelantos: A blockchain-based anonymous physical delivery system
Kaur et al. Scalability in blockchain: Challenges and solutions
WO2019092508A2 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
CN108961030A (zh) 关于电子票据的数据处理方法、装置、系统、介质和设备
CN112434343A (zh) 一种基于双重区块链技术的虚拟电厂安全调度与交易方法
US11671242B2 (en) Ubiquitous, industry agnostic platform for automated, smart contract based, real time trusted transactions
Namasudra et al. Achieving a decentralized and secure cab sharing system using blockchain technology
CN109660340A (zh) 一种基于量子密钥的应用系统及其使用方法
US20230026509A1 (en) Techniques for payment-based network transmissions
CN110599163A (zh) 一种面向区块链交易监管的交易记录外包方法
CN111507747B (zh) 一种区块链积分兑换里程系统
Kurt et al. Lngate: Powering iot with next generation lightning micro-payments using threshold cryptography
JP7074319B2 (ja) 正当性管理システム、正当性管理方法及びプログラム
Alves Proof-of-concept (poc) of restaurant’s food requests in the lisk blockchain/sidechain
Cha et al. A blockchain-based privacy preserving ticketing service
CN113626876A (zh) 一种基于电网区块链的共识方法
Liu et al. Practical Anonymous Multi-hop Locks for Lightning Network Compatible Payment Channel Networks
CN114760067A (zh) 一种用零知识证明的区块链群智感知系统隐私安全保护方法
Henry et al. Random-value payment tokens for on-chain privacy-preserving payments
CN112288432A (zh) 一种基于区块链交易的身份混淆方法
Kurt et al. 3-of-3 multisignature approach for enabling lightning network micro-payments on iot devices

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