CN113159682A - 一种电子仓单信息联盟链*** - Google Patents
一种电子仓单信息联盟链*** Download PDFInfo
- Publication number
- CN113159682A CN113159682A CN202110435743.1A CN202110435743A CN113159682A CN 113159682 A CN113159682 A CN 113159682A CN 202110435743 A CN202110435743 A CN 202110435743A CN 113159682 A CN113159682 A CN 113159682A
- Authority
- CN
- China
- Prior art keywords
- user
- transaction
- alliance chain
- warehouse
- signature
- 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
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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q10/0875—Itemisation or classification of parts, supplies or services, e.g. bill of materials
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06315—Needs-based resource requirements planning or analysis
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Computer Security & Cryptography (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种电子仓单信息联盟链***,包括IOT终端、仓单***和联盟链***;所述IOT终端,用于供用户向仓单***发起仓单操作请求;所述仓单***,用于在接收到用户的仓单操作请求后,构建对应的链上交易请求发送联盟链***;所述联盟链***在接收到链上交易请求后,所述联盟链***执行对应的交易操作。本发明能够让用户针对仓单的操作在联盟链上进行执行,从而使仓单的数据变化有迹可循且不可修改,为仓单操作业务的执行提供一个信任环境。
Description
技术领域
本发明属于联盟链***技术领域,尤其涉及一种电子仓单信息联盟链***。
背景技术
电子仓单是仓储保管人收到仓储物后给供应商(存货人)开付的提取仓储物的凭证。电子仓单除作为已收取仓储物的凭证和提取仓储物的凭证外,还可以通过背书,转让电子仓单项下货物的所有权,或者用于出质。
电子仓单在动产质押融资行业中是经常会用到的一个凭证,但近些年,接连出现了重复质押的问题。
而区块链技术中的共识机制和信息不可篡改性,能够有效的结局上述问题。但目前还没有一个具体的将区块链技术应用到电子仓单交易、质押中的技术解决方案。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种电子仓单信息联盟链***,能够让用户针对仓单的操作在联盟链上进行执行,从而使仓单的数据变化有迹可循且不可修改,为仓单操作业务的执行提供一个信任环境。
为解决上述技术问题,本发明采用的技术方案是:一种电子仓单信息联盟链***,包括IOT终端、仓单***和联盟链***;
所述IOT终端,用于供用户向仓单***发起仓单操作请求;
所述仓单***,用于在接收到用户的仓单操作请求后,构建对应的链上交易请求发送联盟链***;
所述联盟链***在接收到链上交易请求后,所述联盟链***执行对应的交易操作。
上述电子仓单信息联盟链***,所述仓单操作请求包括仓单开户请求,所述仓单***在接收到仓单开户请求后执行以下步骤:
仓单***对IOT终端提供的用户信息文本通过数字签名算法进行签名,得到签名值;
将签名值写入链上交易请求,并将链上交易请求发送联盟链***的用户业务处理通道中;
联盟链***根据链上交易请求构建数字身份DID作为用户在链上的唯一标识;
联盟链***创建合约容器UserCreating,并构建GRPC合约调用接口;GRPC调用接口用于将消息传入合约容器UserCreating内;
合约容器UserCreating在容器内调用合约链码执行请求CreateNewAccount回调函数,并将新建用户数字身份DID存储在本地链上数据库内,通过GRPC调用接口新消息返回用户数字身份DID创建成功结果;
联盟链***在用户业务处理通道内广播该关于用户注册的交易,并等待所有背书节点验证该交易返回验证结果;
待返回验证结果数量达到阈值后;为用户创建链上账号,分配用户两对公私钥密钥对,对其加密存在链上用户ID名下,产生密钥和私钥文件,经用户验证身份后,允许用户下载密钥文件。
上述电子仓单信息联盟链***,联盟链***通过DID构建函数为用户构建数字身份DID包括以下步骤:
使用哈希算法为公钥算一个哈希值hash1;
取hash1的前20个字节作为hash2;
在hash2前面添加DID角色类型字节,得到hash3;
使用哈希算法hash4=SHA-256(hash3),把hash3算出一个哈希值,得到hash4;
将hash4的前4个字节和hash3合并起来,生成hash5;
使用base64编码方法对hash5进行编码,得到用户DID。
上述电子仓单信息联盟链***,所述仓单操作请求包括仓单交易请求,所述仓单***在接收到仓单交易请求后执行以下步骤:
仓单***根据仓单交易请求,构建链上交易数据,并将仓单交易请求和链上交易数据发送至联盟链***;
所述联盟链***根据仓单交易请求和链上交易数据,构建交易;
所述仓单***向联盟链***发起聚合签名提案Q,在所述聚合签名提案Q签名通过后,所述交易为可执行状态。
上述电子仓单信息联盟链***,所述交易为可执行状态时,所述仓单***通过IOT终端通知用户,当用户在IOT终端确认执行交易后,所述联盟链***执行该交易。
上述电子仓单信息联盟链***,所述联盟链***在接收到聚合签名提案Q后,执行以下步骤:
联盟链解析聚合签名提案Q内容,分析聚合签名提案Q所需包含的参与方节点U1,U2...Un;
其中一个参与方节点Ui根据自身的私钥Ski,产生公钥Pki=ski*G,其中G为椭圆加密曲线(secp256-k1椭圆加密曲线)上的基点,广播公钥Pki给其他参与方节点;
所有参与方节点计算公钥列表L=HASH(Pk1....Pkn);
参与方节点Ui选择随机数Ki,计算Ri=Ki*G,广播随机数Ri给其他参与方节点;
参与方节点Ui聚合随机数R=R1+...+Rn;
参与方节点Ui计算聚合公钥P=hash(L,Pk1)*Pk1+...hash(L,Pkn)*Pkn;
参与方节点Ui计算签名Si=Ki+hash(P,R,m),并广播Si:其中m为交易消息体作为摘要参数内容;
其他参与方节点各计算聚合签名S=S1+S2+....+Sn,则签名信息(R,S)为最终签名结果;
每个参与方节点根据m,公钥列表L,签名信息(R,S),验证椭圆加密曲线是否存在P可推导S点:S*G==R+hash(P,R,m)*P;若是,则签名验证成功,聚合签名提案Q被通过,所述交易被各参与方节点存储在本地数据库中;若否,则签名验证失败,链上状态数据库不做处理,更新联盟链区块历史数据库。
本发明与现有技术相比具有以下优点:通过设置仓单***,能够让用户通过IOT终端进行仓单操作,具体的每次仓单操作的执行是在联盟链上进行执行,为仓单操作业务所涉及的各方用户提供一个很好的信任环境。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的***框图。
图2为本发明的***运行图。
图3为本发明聚合签名提案的原理图。
具体实施方式
如图1和图2所示,一种电子仓单信息联盟链***,包括IOT终端、仓单***和联盟链***。
所述IOT终端与所述仓单***相互通信,所述仓单***与所述联盟链***相互通信。
联盟链***由排序服务节点、账本管理节点、共识节点和证书管理节点构成。
所述IOT终端,配置有仓单开户功能、仓单需求功能、仓单交易功能、仓单交易转让功能、仓单质押功能、仓单提货功能和/或仓单历史查询功能。
本实施例中,所述IOT终端执行仓单开户功能时,包括以下步骤:
步骤A01、IOT终端采集用户信息,并上传至仓单***进行审核;用户信息包括但不限于人脸识别信息、指纹识别信息、用户的企业法人信息、用户的工商信息营业执照、用户的企业信用信息、用户的企业风险信息;
步骤A02、仓单***在对用户信息审核通过后,向用户发送通知结果,例如采用短信或邮件的方式通知用户,并向用户发送风险同意书,用户签字后,可通过IOT终端上传签字后的风险同意书;
步骤A03、IOT终端将用户上传的签字后的风险同意书至仓单***再次进行审核;
步骤A04、仓单***对风险同意书审核通过后,将风险同意书的文本序列化后通过ECDSA(椭圆曲线数字签名算法)进行签名,同时将加密串作为信息摘要m;再产生一组值域内的随机数k,k∈[1,n-1];再选择椭圆曲线上一个原点G,用点乘法得到点KG=(X1,Y1)坐标;计算r=x1modn.其中n为k最大边界+1;r为非零整数;对信息摘要进行加密:计算信息摘要内容哈希e=SHA-256(m);最后计算S值S=k-1(e+PK*r)mod n.其中Pk为仓单管理员所持私钥,S为非零值。
步骤A05、通过上一步得到签名对(r,s),将签名值送入用户交易操作请求发送给联盟链***上的用户创建业务处理通道中;
步骤A06、联盟链***收到用户注册交易请求后,通过DID构建函数为用户构建数字身份DID作为用户在链上的唯一标识;
步骤A07、联盟链***创建合约容器UserCreating;
步骤A08、构建GRPC合约调用请求,{method:CreateNewAccount,account_name:UserDID,Endorsement:peer1,peer2,peer3...peerN}并通过GRPC调用接口将消息传入合约容器UserCreating内,合约容器在容器内调用合约链码执行该请求CreateNewAccount回调函数,并将新建用户结果存储在本地链上数据库内,通过GRPC新消息返回成功结果;
步骤A09、联盟链***在用户业务处理通道内广播该用户注册交易,并等待所有背书节点验证用户注册交易返回;
步骤A10、待所有背书节点验证用户注册交易返回后,或达到设定数量的背书节点验证用户注册交易返回后;为用户创建链上账号,分配用户两对公私钥密钥对,对其加密存在链上用户ID名下,产生密钥和私钥文件,经用户验证身份后,允许用户下载密钥文件。具体的,经用户短信验证码后通过IOT终端提供用户扫码下载密钥文件。
需要说明的是,步骤A06中联盟链***通过DID构建函数为用户构建数字身份DID包括以下步骤:
步骤1)、使用哈希算法为公钥算一个哈希值hash1;
步骤2)、取hash1的前20个字节作为hash2;
步骤3)、在hash2前面添加DID角色类型字节(如普通用户,admin用户等),得到hash3;
步骤4)、使用哈希算法hash4=SHA-256(hash3)把hash3算出一个哈希值,得到hash4;
步骤5)、将hash4的前4个字节hash4[0:3]和hash3合并起来,生成hash5;
步骤6)、使用base64编码方法对hash5进行编码,得到用户DID。
本实施例中,所述IOT终端执行仓单需求功能时,包括以下步骤:
步骤B01、IOT终端构建在线仓单交易需求表单,通过所述仓单交易需求表单采集用户选择交易购买的“仓单ID、仓单数量和单位仓单价格”;
步骤B02、IOT终端获取用户选择交易购买的仓单的支付金额;具体地,IOT终端生成收款码,用户通过扫描收款码可以支付金额;
步骤B03、仓单***接收支付金额,等额计算产生对应数额TOKEN;将TOKEN状态锁定[LOCK STATE]在仓单交易需求表单内,等待用户发起购买;
步骤B04、IOT终端执行预设合约进行匿名交易请求Request发送:匿名交易信息包含{用户DID,交易仓单ID,仓单数,交易TOKEN数,交易截止时间,交易手续费TOKEN};
步骤B05、仓单***通过RESTFUL SDK接口接收匿名交易请求,由仓单***的仓单需求处理模块进行表单制作,将制作完成的表单提交并发布在IOT终端的仓单需求页面以及仓单***的交易市场模块中;此时买方用户通过交易市场选择此仓单交易,或仓单***通过撮合交易匹配到本用户仓单,触发仓单交易流程。
本实施例中,所述IOT终端执行仓单交易功能时,包括以下步骤:
步骤C01、通过IOT终端向用户发送用户可查看的所有用户已发布的仓单交易需求;
步骤C02、IOT终端获取用户选择的要购买的仓单,据实时仓单报价IOT终端获取用户选择交易购买的仓单的支付金额;具体地,IOT终端生成收款码,用户通过扫描收款码可以支付金额;
步骤C03、仓单***根据用户实际支付的支付金额,计算等额TOKEN分值,根据撮合原则进行仓单交易用户配对,配对依据为:
A≤C时,D=A;(仓单市场前一笔成交价高于或等于买入价,则买入价=最新成交价)
B≥C时,D=B;(仓单市场前一笔成交价低于或等于卖出价,则成交价=卖出价)
B<C<A时,D=C;(仓单市场前一笔成交价在卖出价与买入价之间,则最新成交价就=前一笔的成交价)
步骤C04、撮合完成后匹配到合适的仓单出售用户,将匹配结果通过RESTFUL API回传给购买用户的IOT终端和出售用户的IOT终端;然后进入下一步;
步骤C05、IOT终端本地验证购买用户名下TOKEN≥成交价后,发起交易请求发送至仓单***,否则交易失败,提示购买用户和出售用户重新操作确认是否交易;
步骤C06、仓单***接收到交易请求后,构建链上交易数据{仓单原始用户DID,仓单交易用户DID,转让仓单数,转让价格TOKEN,交易手续TOKEN}后,将此交易请求通过RESTFUL SDK传送至联盟链***;
步骤C07、联盟链***根据交易请求构建交易{交易ID,用户DID1,交易数据{{仓单原始用户DID,仓单交易用户DID,转让仓单数,转让价格TOKEN,交易手续TOKEN1},交易TOKEN2,交易用户DID2},交易节点签名1};
如图3所示,步骤C08、仓单***向联盟链***发起聚合签名提案{proposal:transfer DID1 to DID2,Warehouse receipt ID,Warehouse receipt counts,TOKEN},该提案要求该交易至少由联盟中可信节点的至少三方签名同意并授权后,方可发起交易到联盟链***,否则撤回交易;提案发起后,用户需离线等待多方机构授权同意后,等待操作仓单交易;
需要说明的是,联盟链***的背书节点可由仓单交易机构,交易***公证节点,监管机构,银行等机构构成。各机构节点收到链上提案请求后,当三方机构在仓单***上在线授权同意提案,将交易的签名聚合入自己的签名并更新和广播交易;
所有背书节点的聚合签名完成后,交易被本地执行并存储在本地数据库上。否则交易执行失败,链上状态数据库不做处理,仅更新联盟链***区块历史数据库;
需要说明的是,所述联盟链***在接收到聚合签名提案Q后,执行以下步骤:
联盟链解析聚合签名提案Q内容,分析聚合签名提案Q所需包含的参与方节点U1,U2...Un;
其中一个参与方节点Ui根据自身的私钥Ski,产生公钥Pki=ski*G,其中G为椭圆加密曲线(secp256-k1椭圆加密曲线)上的基点,广播公钥Pki给其他参与方节点;
所有参与方节点计算公钥列表L=HASH(Pk1....Pkn);
参与方节点Ui选择随机数Ki,计算Ri=Ki*G,广播随机数Ri给其他参与方节点;
参与方节点Ui聚合随机数R=R1+...+Rn;
参与方节点Ui计算聚合公钥P=hash(L,Pk1)*Pk1+...hash(L,Pkn)*Pkn;
参与方节点Ui计算签名Si=Ki+hash(P,R,m),并广播Si:其中m为交易消息体作为摘要参数内容;
其他参与方节点各计算聚合签名S=S1+S2+....+Sn,则签名信息(R,S)为最终签名结果;
每个参与方节点根据m,公钥列表L,签名信息(R,S),验证椭圆加密曲线是否存在P可推导S点:S*G==R+hash(P,R,m)*P;若是,则签名验证成功,聚合签名提案Q被通过,所述交易被各参与方节点存储在本地数据库中;若否,则签名验证失败,链上状态数据库不做处理,更新联盟链区块历史数据库。
步骤C09、当三方签名同意并授权后仓单***将用户的仓单交易状态从[等待]切换到[可交易]状态;用户在可交易状态下选择发起交易后,进入下一步;
步骤C10、仓单***交易模块构建链上交易请求{交易ID,用户DID1,交易数据{{仓单原始用户DID,仓单交易用户DID,转让仓单数,转让价格TOKEN,交易手续TOKEN1},交易TOKEN2,交易用户DID2},交易节点签名1,聚合签名{节点签名1,节点签名2,节点签名3}}并向联盟链***广播;
联盟链***其他背书节点收到此请求,根据背书策略在交易基础上添加自己的签名,即:{{仓单原始用户DID,仓单交易用户DID,转让仓单数,转让价格TOKEN,交易手续TOKEN1},交易TOKEN2,交易用户DID2},交易节点签名1,聚合签名{节点签名1,节点签名2,节点签名3},{{仓单原始用户DID,仓单交易用户DID,转让仓单数,转让价格TOKEN,交易手续TOKEN1},交易TOKEN2,交易用户DID2},交易节点签名2.....{{仓单原始用户DID,仓单交易用户DID,转让仓单数,转让价格TOKEN,交易手续TOKEN1},交易TOKEN2,交易用户DID2},交易节点签名N}}。
链上背书节点2/3节点共识通过后,交易用户DID1的TOKEN将会由联盟链***RESTFUL API,通过调用通过调用仓单交易合约将DID 1TOKEN转移至交易用户DID2的账户名下,用户DID1被追加一个{持有仓单,仓单数,货品ID}信息,同时其对应TOKEN和手续TOKEN被扣减,同时DID2名下的TOKEN增加,DID2名下的仓单转移至DID1名下的记录中,同时根据转让TOKEN数向DID1收取5%交易手续费用。DID2的该仓单记录被追加到DID2记录的{售出仓单列表}中,同时DID2的持有仓单列表中扣减对应仓单ID。
交易完成后,仓单***将执行完成的交易制作成电子票据,通过REST API SDK返回给交易双方用户的IOT终端供用户下载。
本实施例中,所述IOT终端执行仓单交易转让功能时,包括以下步骤:
步骤D01、获取转让用户在IOT终端输入的受让用户的DID号,以及需要转让的{货品ID,货品数量,货品单价};
步骤D02、仓单***检索受让用户的DID号,若存在则进入下一步,若不存在,则返回交易失败;
步骤D03、执行步骤C10,其中执行时不对手续TOKEN进行扣减。
交易完成后,仓单***将执行完成的交易制作成电子票据,通过REST API SDK返回给交易双方用户的IOT终端供用户下载。
需要说明的是,交易转让属于DID用户间定向仓单转让交易,主要由仓单转让模块负责协同完成。仓单的转让涉及到用户的TOKEN转让和仓单所有权转移,不同于仓单交易市场,该交易属于用户和用户定向交易,因此不扣除额外手续费。
本实施例中,所述IOT终端执行仓单质押功能时,包括以下步骤:
步骤E01、获取仓单质押用户在IOT终端发起贷款融资申请时提供的所持有的{货品ID,货品数量,货品单价};
步骤E02、仓单***审核(人工审核)通过后,由IOT终端在线向用户发送需要签订的签定《仓单***同意书》;仓单***将该协议书加密和ECDSA签名后,发起交易到联盟链***,存储到该用户DID名下的链上存储中,广播和共识到全链背书节点并确认;
步骤E03、交易确认后返回到IOT终端,将前端用户质押状态由[待审核]变更为[可质押状态];用户提交质押确认后,即可等待银行放款;
步骤E04、银行放款完成后,银行***通过短信和/或邮件通知仓单***,仓单***构建交易合约匿名交易请求Request:匿名交易信息包含{用户DID,质押仓单ID,仓单数,仓单TOKEN,赎回截止时间,交易手续费TOKEN};该交易由仓单***发起聚合签名提案,等待所有背书节点通过并签署聚合签名提案;
步骤E05、待所有背书节点收到并聚合个自的签名到交易签名中,则同意聚合签名提案执行并广播交易;在所述聚合签名提案完成后,联盟链***更新用户DID的状态数据,在该记录中增加用户的质押状态信息,即[质押成功],并在纪录中关联该交易的哈希值;
步骤E06、联盟链***通过调用仓单质押合约将仓单归属权移交给银行ID名下。
需要说明的是,质押成功后将交易哈希和交易结果返回仓单***,由仓单***短信和/或邮件通知给用户仓单到期赎回时间,如如用户超期未解质押和归还抵押金,则仓单***会状态将构建仓单状态更新处理,冻结用户解质押操作;发短信通知银行该仓单处于超期状态,银行可据此决定是否发起仓单提货流程。
本实施例中,所述IOT终端执行仓单提货功能时,包括以下步骤:
步骤F01、获取用户在IOT终端发起仓单提货提供的所待提的{货品ID,货品数量};
步骤F02、由仓单***确认仓单数和查询联盟链***后台仓管库存仓单数,通过向联盟链***发起仓管状态更新交易,输入用户ID,货品ID,货品数量;
联盟链***调用提货合约将用户名下品类提货量递减,并启动到期超时处理合约并返将结果和超时合约ID返回仓单***。交易***通过RESTUL API SDK接口通知IOT终端打印开具《出库提货单》,并短信邮件通知用户期限前前往指定仓库提货;
实际中,到期前已提货处理:IOT终端扫描提货单二维码,执行到期交易,传入用户ID和已交割货状态STATUS,合约将用户仓单状态更新为[未质押],登记提货时间并更新到联盟链***;到期未提货处理:到期后联盟链***自动触发合约自动回滚,将户仓单状态更新,将用户提货资产重新回滚到联盟链***记录中,登记用户状态为未提货并更新到联盟链***,并启动短信和邮件通知用户重新发起提货流程。
本实施例中,所述IOT终端执行仓单历史查询功能时,包括以下步骤:用户可以在仓单***上发起自助仓单查询,仓单***将通过调取联盟链***后端链上存储接口API,返会仓单信息给IOTIOT终端。
仓单表信息如下:
(续)
(续)
以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。
Claims (6)
1.一种电子仓单信息联盟链***,其特征在于:包括IOT终端、仓单***和联盟链***;
所述IOT终端,用于供用户向仓单***发起仓单操作请求;
所述仓单***,用于在接收到用户的仓单操作请求后,构建对应的链上交易请求发送联盟链***;
所述联盟链***在接收到链上交易请求后,所述联盟链***执行对应的交易操作。
2.按照权利要求1所述的一种电子仓单信息联盟链***,其特征在于:所述仓单操作请求包括仓单开户请求,所述仓单***在接收到仓单开户请求后执行以下步骤:
仓单***对IOT终端提供的用户信息文本通过数字签名算法进行签名,得到签名值;
将签名值写入链上交易请求,并将链上交易请求发送联盟链***的用户业务处理通道中;
联盟链***根据链上交易请求构建数字身份DID作为用户在链上的唯一标识;
联盟链***创建合约容器UserCreating,并构建GRPC合约调用接口;GRPC调用接口用于将消息传入合约容器UserCreating内;
合约容器UserCreating在容器内调用合约链码执行请求CreateNewAccount回调函数,并将新建用户数字身份DID存储在本地链上数据库内,通过GRPC调用接口新消息返回用户数字身份DID创建成功结果;
联盟链***在用户业务处理通道内广播该关于用户注册的交易,并等待所有背书节点验证该交易返回验证结果;
待返回验证结果数量达到阈值后;为用户创建链上账号,分配用户两对公私钥密钥对,对其加密存在链上用户ID名下,产生密钥和私钥文件,经用户验证身份后,允许用户下载密钥文件。
3.按照权利要求2所述的一种电子仓单信息联盟链***,其特征在于:
联盟链***通过DID构建函数为用户构建数字身份DID包括以下步骤:
使用哈希算法为公钥算一个哈希值hash1;
取hash1的前20个字节作为hash2;
在hash2前面添加DID角色类型字节,得到hash3;
使用哈希算法hash4=SHA-256(hash3),把hash3算出一个哈希值,得到hash4;
将hash4的前4个字节和hash3合并起来,生成hash5;
使用base64编码方法对hash5进行编码,得到用户DID。
4.按照权利要求1所述的一种电子仓单信息联盟链***,其特征在于:所述仓单操作请求包括仓单交易请求,所述仓单***在接收到仓单交易请求后执行以下步骤:
仓单***根据仓单交易请求,构建链上交易数据,并将仓单交易请求和链上交易数据发送至联盟链***;
所述联盟链***根据仓单交易请求和链上交易数据,构建交易;
所述仓单***向联盟链***发起聚合签名提案Q,在所述聚合签名提案Q签名通过后,所述交易为可执行状态。
5.按照权利要求4所述的一种电子仓单信息联盟链***,其特征在于:所述交易为可执行状态时,所述仓单***通过IOT终端通知用户,当用户在IOT终端确认执行交易后,所述联盟链***执行该交易。
6.按照权利要求4所述的一种电子仓单信息联盟链***,其特征在于:所述联盟链***在接收到聚合签名提案Q后,执行以下步骤:
联盟链解析聚合签名提案Q内容,分析聚合签名提案Q所需包含的参与方节点U1,U2...Un;
其中一个参与方节点Ui根据自身的私钥Ski,产生公钥Pki=ski*G,其中G为椭圆加密曲线上的基点,广播公钥Pki给其他参与方节点;
所有参与方节点计算公钥列表L=HASH(Pk1....Pkn);
参与方节点Ui选择随机数Ki,计算Ri=Ki*G,广播随机数Ri给其他参与方节点;
参与方节点Ui聚合随机数R=R1+...+Rn;
参与方节点Ui计算聚合公钥P=hash(L,Pk1)*Pk1+...hash(L,Pkn)*Pkn;
参与方节点Ui计算签名Si=Ki+hash(P,R,m),并广播Si:其中m为交易消息体作为摘要参数内容;
其他参与方节点各计算聚合签名S=S1+S2+....+Sn,则签名信息(R,S)为最终签名结果;
每个参与方节点根据m,公钥列表L,签名信息(R,S),验证椭圆加密曲线是否存在P可推导S点:S*G==R+hash(P,R,m)*P;若是,则签名验证成功,聚合签名提案Q被通过,所述交易被各参与方节点存储在本地数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110435743.1A CN113159682B (zh) | 2021-04-22 | 2021-04-22 | 一种电子仓单信息联盟链*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110435743.1A CN113159682B (zh) | 2021-04-22 | 2021-04-22 | 一种电子仓单信息联盟链*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113159682A true CN113159682A (zh) | 2021-07-23 |
CN113159682B CN113159682B (zh) | 2023-05-05 |
Family
ID=76869721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110435743.1A Active CN113159682B (zh) | 2021-04-22 | 2021-04-22 | 一种电子仓单信息联盟链*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113159682B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114511325A (zh) * | 2022-04-19 | 2022-05-17 | 北京思特奇信息技术股份有限公司 | 基于区块链的应急交易方法及*** |
CN114581243A (zh) * | 2022-05-09 | 2022-06-03 | 南京金宁汇科技有限公司 | 一种多通道交易凭证异步回调处理组件库、方法和*** |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109639714A (zh) * | 2019-01-02 | 2019-04-16 | 浙江师范大学 | 一种基于区块链的物联网身份注册与验证方法 |
CN109727133A (zh) * | 2018-12-29 | 2019-05-07 | 杭州趣链科技有限公司 | 一种基于区块链的电子仓单交易***及方法 |
CN109858908A (zh) * | 2019-01-09 | 2019-06-07 | 暨南大学 | 联盟链构建方法、交易方法及分布式供应链*** |
CN109936569A (zh) * | 2019-02-21 | 2019-06-25 | 领信智链(北京)科技有限公司 | 一种基于以太坊区块链的去中心化数字身份登录管理*** |
CN110322246A (zh) * | 2019-07-09 | 2019-10-11 | 深圳市网心科技有限公司 | 一种区块链交易信息的优化方法及相关设备 |
CN111553792A (zh) * | 2020-03-24 | 2020-08-18 | 平安科技(深圳)有限公司 | 基于区块链的数据验证方法及装置 |
CN112131228A (zh) * | 2020-09-29 | 2020-12-25 | 上海卓钢链科技有限公司 | 一种基于fabric的便于数据检索的联盟链*** |
CN112214502A (zh) * | 2020-08-28 | 2021-01-12 | 迅鳐成都科技有限公司 | 一种联盟链的用户合约部署方法、装置、***及存储介质 |
-
2021
- 2021-04-22 CN CN202110435743.1A patent/CN113159682B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109727133A (zh) * | 2018-12-29 | 2019-05-07 | 杭州趣链科技有限公司 | 一种基于区块链的电子仓单交易***及方法 |
CN109639714A (zh) * | 2019-01-02 | 2019-04-16 | 浙江师范大学 | 一种基于区块链的物联网身份注册与验证方法 |
CN109858908A (zh) * | 2019-01-09 | 2019-06-07 | 暨南大学 | 联盟链构建方法、交易方法及分布式供应链*** |
CN109936569A (zh) * | 2019-02-21 | 2019-06-25 | 领信智链(北京)科技有限公司 | 一种基于以太坊区块链的去中心化数字身份登录管理*** |
CN110322246A (zh) * | 2019-07-09 | 2019-10-11 | 深圳市网心科技有限公司 | 一种区块链交易信息的优化方法及相关设备 |
CN111553792A (zh) * | 2020-03-24 | 2020-08-18 | 平安科技(深圳)有限公司 | 基于区块链的数据验证方法及装置 |
CN112214502A (zh) * | 2020-08-28 | 2021-01-12 | 迅鳐成都科技有限公司 | 一种联盟链的用户合约部署方法、装置、***及存储介质 |
CN112131228A (zh) * | 2020-09-29 | 2020-12-25 | 上海卓钢链科技有限公司 | 一种基于fabric的便于数据检索的联盟链*** |
Non-Patent Citations (3)
Title |
---|
周元健等: "基于区块链的可信仓单***设计", 《信息网络安全》 * |
王文奇等: "基于区块链的电子仓单可信存储技术", 《应用科学学报》 * |
齐学成等: "基于区块链的仓单管理***", 《华东师范大学学报( 自然科学版)》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114511325A (zh) * | 2022-04-19 | 2022-05-17 | 北京思特奇信息技术股份有限公司 | 基于区块链的应急交易方法及*** |
CN114511325B (zh) * | 2022-04-19 | 2022-07-15 | 北京思特奇信息技术股份有限公司 | 基于区块链的应急交易方法及*** |
CN114581243A (zh) * | 2022-05-09 | 2022-06-03 | 南京金宁汇科技有限公司 | 一种多通道交易凭证异步回调处理组件库、方法和*** |
CN114581243B (zh) * | 2022-05-09 | 2022-09-23 | 南京金宁汇科技有限公司 | 一种多通道交易凭证异步回调处理方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN113159682B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250507B2 (en) | Trusted tokenized transactions in a blockchain system | |
CN106982205B (zh) | 基于区块链的数字资产处理方法和装置 | |
US11481375B2 (en) | Point-to-point distributed decentralized system | |
CN108369703B (zh) | 使用加密货币***管理支付和支付替代方式的方法和*** | |
CN105373955B (zh) | 基于多重签名的数字资产处理方法及装置 | |
CN117611331A (zh) | 用于使用区块链在点对点分布式账簿上有效转移实体的方法及*** | |
KR20180114915A (ko) | 토큰화를 이용한 블록체인 기반 교환 방법 | |
US20190311343A1 (en) | Point of sale system network with distributed ownership record database | |
CN104021492A (zh) | 一种保护买家隐私的网上购物的方法及*** | |
WO2021017485A1 (zh) | 基于区块链的物流实物交接方法、平台及存储介质 | |
CN112163954B (zh) | 基于区块链的交易方法及装置 | |
US20100235286A1 (en) | Method and system for generating tokens in a transaction handling system | |
CN113159682A (zh) | 一种电子仓单信息联盟链*** | |
WO2019122977A1 (en) | A method for providing a loan with cryptocurrency as collateral | |
CN107103454A (zh) | 一种线上支付方法及*** | |
US20020174075A1 (en) | System & method for on-line payment | |
CA3058558C (en) | Cross-funds management server-based payment system, and method, device and server therefor | |
CA3055645C (en) | Payment system based on shared funds-management server, and method, device and server therefor | |
KR102329779B1 (ko) | 블록체인 기반의 암호화 화폐를 이용한 콘텐츠 투자 시스템 및 그 방법 | |
CN106204015A (zh) | 基于跨资金服务器的支付***及方法、装置和服务器 | |
CA2988438A1 (en) | Payment system based on shared funds-management server, and method, device and server therefor | |
KR20190048153A (ko) | 송금 기반 결제를 위한 에스크로 서비스 제공 방법 및 그를 수행하기 위한 서버 | |
CN111131227B (zh) | 一种数据处理方法及装置 | |
KR102398641B1 (ko) | 비사업자 신용카드 매출 정산 대금 바로 입금 시스템 및 이의 실행 방법 | |
CA2988812C (en) | Payment system based on shared funds-management server, and method, device and server therefor |
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 |