CN112001713A - 区块链系统以及请求处理方法和装置 - Google Patents
区块链系统以及请求处理方法和装置 Download PDFInfo
- Publication number
- CN112001713A CN112001713A CN201910445382.1A CN201910445382A CN112001713A CN 112001713 A CN112001713 A CN 112001713A CN 201910445382 A CN201910445382 A CN 201910445382A CN 112001713 A CN112001713 A CN 112001713A
- Authority
- CN
- China
- Prior art keywords
- request
- account address
- resource
- identifier
- node
- 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
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000012546 transfer Methods 0.000 claims description 146
- 230000004044 response Effects 0.000 claims description 117
- 238000012795 verification Methods 0.000 claims description 61
- 238000005065 mining Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000009412 basement excavation Methods 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 18
- 238000012545 processing Methods 0.000 abstract description 18
- 230000002457 bidirectional effect Effects 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 239000000835 fiber Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请实施例公开了区块链系统以及请求处理方法和装置。该方法的一具体实施方式包括:通过采用至少一个并行链的方式将交易处理过程从单链串行方式,改进为多链并发方式,并且在账号地址中分别引入数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识。该实施方式实现了支持数字货币、股份和数字资产三种价值形式以及实现了双向价值交换。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及区块链系统以及请求处理方法和装置。
背景技术
区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学的方式保证其不可篡改、不可伪造的去中心化共享总账(Decentralized SharedLedger)。区块链能够安全存储简单的、有先后关系、能在系统内验证的数据。
区块链系统,就是采用区块链存储数据的系统。目前,大部分区块链系统普遍具有以下特点:去中心化、不可篡改、不可伪造、可验证、匿名。
发明内容
本申请实施例提出了区块链系统以及请求处理方法和装置。
第一方面,本申请实施例提供了一种区块链系统,该区块链系统包括至少一个并行链,并行链包括路由节点、至少一个矿工节点和至少一个简化支付验证(SPV,SimplifiedPayment Verification)节点,每个并行链的各个矿工节点采用分布式数据区块链存储数据,至少一个并行链的路由节点之间网络连接,路由节点和矿工节点均设置有可信执行环境,SPV节点中存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合,数字货币账号地址、股份账号地址和数字资产账号地址均包括账号地址字符串和该SPV节点的虚拟并行链标识,数字货币账号地址、股份账号地址和数字资产账号地址分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识,其中:SPV节点被配置成:响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点,其中,交易请求包括记账奖励交易请求和至少一个子交易请求,记账奖励交易请求用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励,子交易请求的交易对象包括数字资源和数字货币,数字资源包括股份和数字资产,用于指示数字资源的加密数字资源标识是在可信执行环境中通过对数字资源标识对称加密所得到的,数字资源标识包括环境标识、资源类别标识和资源标识,其中,环境标识包括用于指示可信执行环境的厂商标识和产品标识;路由节点被配置成:响应于对所收到的交易请求校验通过,将所收到的交易请求添加到该路由节点的交易请求集合中,将所收到的交易请求中的链内交易请求签名后广播给该路由节点的同链矿工节点;实时将该路由节点的同链矿工节点的区块链同步到本地区块链;确定所收到的交易请求中的跨链交易请求;将所确定的跨链交易请求发送给目标并行链的路由节点,其中,目标并行链是所确定的跨链交易请求中的出账账号地址或入账账号地址对应的并行链;以及响应于接收到异链路由节点发送的交易请求,将所收到的交易请求签名后广播给该路由节点的同链矿工节点;矿工节点被配置成:响应于对从同链路由节点接收到的交易请求签名验证通过,将所收到的交易请求添加到该矿工节点的待处理交易请求集合;响应于竞争到该矿工节点所属并行链的记账权,执行以下记账操作:从该矿工节点的待处理交易请求集合中选取待处理交易请求;用所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块,其中,该矿工节点的挖矿奖励信息用于表征将挖矿奖励计入该矿工节点绑定的包括预设挖矿币标识的数字货币账号地址中;将所生成的新区块串接到该矿工节点的本地区块链中;以及将所生成的新区块广播给该矿工节点的其他同链矿工节点。
在一些实施例中,资源类别标识包括用于指示股份类别的股份类别标识和用于指示数字资产类别的数字资产类别标识。
在一些实施例中,与股份类别标识对应的资源标识为预设股份资源标识,与数字资产类别标识对应的资源标识为不同于预设股份资源标识的数字资产资源标识。
在一些实施例中,厂商标识与产品标识均为4字节无符号整数,资源类别标识为4位无符号整数,资源标识为大于等于128的12位无符号整数,预设股份资源标识为128,数字资产资源标识为大于预设股份资源标识的12位无符号整数,用于指示数字货币的数字货币标识为1字节的0到63之间的正整数。
在一些实施例中,SPV节点还被配置成:响应于接收到资源宣告请求,其中,资源宣告请求包括资源宣告类别标识、资源宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,资源宣告类别标识为股份宣告交易类别标识或者数字资产宣告交易类别标识,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,得到与资源宣告请求的哈希值对应的第一签名信息;利用该SPV节点的可信执行环境中存储的记账奖励转出数字货币账号地址对应的私钥对资源宣告请求的哈希值进行签名得到与资源宣告请求对应的第二签名信息;将资源宣告请求以及对应的第一签名信息和第二签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
在一些实施例中,第一签名操作包括:响应于确定该SPV节点的可信执行环境中包括资源宣告目标账号地址,用资源宣告目标账号地址对应的私钥对资源宣告请求的哈希值进行签名,得到第一明文签名;根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥;以及用所确定的加密密钥对所得到的第一明文签名进行对称加密,得到与资源宣告请求的哈希值对应的第一签名信息。
在一些实施例中,第一签名操作包括:响应于确定该SPV节点的可信执行环境中包括资源宣告目标账号地址,根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥;用所确定的加密密钥对资源宣告请求的哈希值进行对称加密,得到哈希值密文;以及用资源宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与资源宣告请求的哈希值对应的第一签名信息。
在一些实施例中,SPV节点被配置成响应于接收到资源宣告请求,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,包括:响应于接收到资源宣告请求以及确定资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作;响应于接收到资源宣告请求以及确定资源宣告请求中的资源宣告类别标识为股份宣告交易类别标识,确定资源宣告请求中的资源宣告目标账号地址是否存在交易记录;响应于确定存在交易记录,生成并呈现用于指示该SPV节点不能再进行股份宣告的第一提示信息;响应于确定不存在交易记录,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作。
在一些实施例中,矿工节点被配置成用所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块,包括:矿工节点被配置成:响应于确定所选取的待处理交易请求为资源宣告请求,用目标数字资源宣告信息、该矿工节点的挖矿奖励信息和第一记账奖励信息生成新区块,第一记账奖励信息用于表征从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址,目标数字资源宣告信息用于表征将所选取的待处理交易请求中的资源宣告目标账号地址对应的未花费用增加所选取的待处理交易请求中的待宣告数量。
在一些实施例中,SPV节点还被配置成:响应于确定所收到的交易请求中的子交易请求中包括入账交易请求,入账交易请求包括待入账数量以及待入账加密数字资源标识或者待入账数字货币标识二者之一,确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中是否包括与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址;响应于确定不包括,组合该SPV节点的虚拟并行链标识和账号地址字符串以及待入账加密数字资源标识或者待入账数字货币标识二者之一得到账号地址,将所得到的账号地址确定为与入账交易请求对应的入账账号地址,以及将所得到的账号地址添加到该SPV节点的数字货币账号地址集合、股份账号地址集合或者数字资产账号地址集合;响应于确定包括,将该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址确定为与入账交易请求对应的入账账号地址。
在一些实施例中,SPV节点还被配置成:响应于接收到信息宣告请求,其中,信息宣告请求包括待宣告信息、信息宣告类别标识以及包括预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,计算信息宣告请求的哈希值,利用信息宣告请求中的记账奖励转出数字货币账号地址对应的私钥对信息宣告请求的哈希值进行签名得到与信息宣告请求对应的签名,将信息宣告请求和对应的签名发送给该SPV节点所属并行链的路由节点;路由节点被配置成:响应于对所收到的信息宣告请求签名验证通过,将所收到的信息宣告请求添加到该路由节点的交易请求集合中,将所收到的信息宣告请求用该路由节点的私钥签名后广播给该路由节点的同链矿工节点;以及实时将该路由节点的同链矿工节点的区块链同步到本地区块链;以及矿工节点被配置成:用所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块,包括:矿工节点被配置成:响应于确定所选取的待处理交易请求为信息宣告请求,用该矿工节点的挖矿奖励信息、第二记账奖励信息和目标信息宣告信息生成新区块,其中,第二记账奖励信息用于表征从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址,目标信息宣告信息为所选取的待处理交易请求中的待宣告信息。
在一些实施例中,待宣告信息为智能合约;以及SPV节点被配置成:响应于接收到第一智能合约执行请求,其中,第一智能合约执行请求包括待执行智能合约地址信息、智能合约执行类别标识、智能合约输入参数以及包括预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,利用第一智能合约执行请求中的记账奖励转出数字货币账号地址对应的私钥对第一智能合约执行请求签名后发送给该SPV节点所属并行链的路由节点;路由节点被配置成:响应于对所收到的签名后的第一智能合约执行请求签名验证通过,根据所收到的第一智能合约执行请求中的待执行智能合约地址信息,获取待执行智能合约;将所收到的第一智能合约执行请求中的智能合约输入参数作为输入,执行所获取的待执行智能合约,得到至少一个输出交易请求;将所得到的至少一个输出交易请求添加到该路由节点的交易请求集合中;以及对于所得到的至少一个输出交易请求中的每个输出交易请求,用所收到的第一智能合约执行请求的哈希值、该输出交易请求在所得到的至少一个输出交易请求中的序号和该输出交易请求的哈希值生成与该输出交易请求对应的待执行交易请求,将所生成的待执行交易请求利用该路由节点的私钥进行签名,得到第三签名信息,将所获取的待执行智能合约、所生成的待执行交易请求和对应的第三签名信息作为第二智能合约执行请求广播该路由节点的同链矿工节点;矿工节点被配置成:响应于接收到同链路由节点发送的第二智能合约执行请求,执行所收到的待执行智能合约,得到至少一个输出交易请求;确定所得到的至少一个输出交易请求中所收到的待执行交易请求中的序号所指示的输出交易请求;响应于对所确定的输出交易请求校验通过,将所确定的输出交易请求添加到该矿工节点的待处理交易请求集合中。
在一些实施例中,SPV节点设置有可信执行环境;以及SPV节点还被配置成:响应于接收到数字货币宣告请求,其中,数字货币宣告请求包括数字货币宣告类别标识、待宣告数字货币标识、数字货币宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,确定预设对应关系表中是否存在数字货币宣告请求中的记账奖励转出数字货币账号地址、待宣告数字货币标识和数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系,其中,预设对应关系表用于表征特权账号地址、数字货币标识、加密数字货币资源标识三者之间的对应关系;响应于确定存在,计算数字货币宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第二签名操作,得到与数字货币宣告请求的哈希值对应的第四签名信息,将数字货币宣告请求和对应的第四签名信息作为交易请求发送给该SPV节点所属并行链的路由节点;路由节点被配置成:响应于对所收到的包括数字货币宣告请求和对应的第四签名信息的交易请求签名验证通过,将所收到的数字货币宣告请求添加到该路由节点的交易请求集合中;以及矿工节点被配置成:用所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块,包括:矿工节点被配置成:响应于确定所选取的待处理交易请求为数字货币宣告请求,确定该矿工节点的预设对应关系表中是否存在所选取的待处理交易请求中的记账奖励转出数字货币账号地址、待宣告数字货币标识和数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系;响应于确定存在,在该矿工节点的可信执行环境中执行以下数字货币宣告操作:用所选取的待处理交易请求中的数字货币宣告目标账号地址中的虚拟并行链标识和账号地址字符串以及所选取的待处理交易请求中的待宣告数字货币标识生成目标宣告数字货币账号地址;用该矿工节点的挖矿奖励信息和第三记账奖励信息以及目标数字货币宣告信息生成新区块,其中,第三记账奖励信息用于表征从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址,目标数字货币宣告信息用于表征将所生成的目标宣告数字货币账号地址对应的未花费用增加所选取的待处理交易请求中的待宣告数量。
在一些实施例中,第二签名操作包括:用数字货币宣告目标账号地址对应的私钥对数字货币宣告请求的哈希值进行签名,得到第三明文签名;根据数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;以及用所确定的加密密钥对所得到的第三明文签名进行对称加密,得到与数字货币宣告请求的哈希值对应的第四签名信息。
在一些实施例中,第二签名操作包括:根据数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;用所确定的加密密钥对数字货币宣告请求的哈希值进行对称加密,得到哈希值密文;以及用数字货币宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与数字货币宣告请求的哈希值对应的第四签名信息。
在一些实施例中,路由节点还被配置成:响应于接收到同链SPV节点发送的价值交换请求和对应的各个签名信息,其中,价值交换请求包括监控路由节点的虚拟并行链标识、第一转账请求、至少一个第二转账请求和第一记账请求,第一转账请求包括第一转账对象标识、第一转账数量、第一出账账号地址、第一入账账号地址,第一记账请求包括预设记账币标识的记账奖励转出数字货币账号地址,第一记账请求中的记账奖励转出数字货币账号地址中的虚拟并行链标识和账号地址字符串分别与第一出账账号地址中的虚拟并行链标识和账号地址字符串相同,第一记账请求中的记账奖励转出数字货币账号地址对应的并行链的并行链标识与监控路由节点所属并行链的并行链标识相同,第一转账对象标识为第一出账数字货币标识或者第一出账加密数字资源标识,第一出账账号地址和第一入账账号地址均包括第一转账对象标识,第二转账请求包括不同于第一转账对象标识的第二转账对象标识、第二转账数量、第二出账账号地址和第二入账账号地址,第二转账请求中的第二转账对象标识为第二出账数字货币标识或者第二出账加密数字资源标识,第二转账请求中的第二出账账号地址和第二入账账号地址均包括相应第二转账请求中的第二转账对象标识,确定所收到的价值交换请求中的监控路由节点所属并行链的并行链标识与该路由节点所属并行链的并行链标识是否相同;响应于确定相同,用所收到的价值交换请求中的第一出账账号地址对应的公钥和各个第二出账账号地址对应的公钥对所收到的价值交换请求进行签名验证;响应于签名验证通过,将第一转账请求、至少一个第二转账请求和第一记账请求添加到该路由节点的交易请求集合中,将各第二转账请求中的出账交易请求发送给相应第二转账请求中的出账账号地址对应的并行链的路由节点,将第一转账请求中的出账交易请求和第一记账请求发送给该路由节点的同链矿工节点;响应于确定各第二转账请求中的出账交易请求已完成,以及确定第一转账请求中的出账交易请求已完成,将第一转账请求中的入账交易请求发送给第一转账请求中的第一入账账号地址对应的并行链的路由节点,以及将各第二转账请求中的入账交易请求发送给各第二转账请求中的第二入账账号地址对应的并行链的路由节点。
第二方面,本申请实施例提供了一种请求处理方法,应用于区块链系统中的简化支付验证SPV节点,其中,区块链系统包括至少一个并行链,并行链包括路由节点、至少一个矿工节点和至少一个简化支付验证SPV节点,每个并行链的各个矿工节点采用分布式数据区块链存储数据,至少一个并行链的路由节点之间网络连接,路由节点和矿工节点均设置有可信执行环境,SPV节点中存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合,数字货币账号地址、股份账号地址和数字资产账号地址均包括账号地址字符串和该SPV节点的虚拟并行链标识,数字货币账号地址、股份账号地址和数字资产账号地址分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识,该方法包括:响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点,其中,交易请求包括记账奖励交易请求和至少一个子交易请求,记账奖励交易请求用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励,子交易请求的交易对象包括数字资源和数字货币,数字资源包括股份和数字资产,用于指示数字资源的加密数字资源标识是在可信执行环境中通过对数字资源标识对称加密所得到的,数字资源标识包括环境标识、资源类别标识和资源标识,其中,环境标识包括用于指示可信执行环境的厂商标识和产品标识。
在一些实施例中,资源类别标识包括用于指示股份类别的股份类别标识和用于指示数字资产类别的数字资产类别标识。
在一些实施例中,与股份类别标识对应的资源标识为预设股份资源标识,与数字资产类别标识对应的资源标识为不同于预设股份资源标识的数字资产资源标识。
在一些实施例中,厂商标识与产品标识均为4字节无符号整数,资源类别标识为4位无符号整数,资源标识为大于等于128的12位无符号整数,预设股份资源标识为128,数字资产资源标识为大于预设股份资源标识的12位无符号整数,用于指示数字货币的数字货币标识为1字节的0到63之间的正整数。
在一些实施例中,方法还包括:响应于接收到资源宣告请求,其中,资源宣告请求包括资源宣告类别标识、资源宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,资源宣告类别标识为股份宣告交易类别标识或者数字资产宣告交易类别标识,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,得到与资源宣告请求的哈希值对应的第一签名信息;利用该SPV节点的可信执行环境中存储的记账奖励转出数字货币账号地址对应的私钥对资源宣告请求的哈希值进行签名得到与资源宣告请求对应的第二签名信息;将资源宣告请求以及对应的第一签名信息和第二签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
在一些实施例中,第一签名操作包括:响应于确定该SPV节点的可信执行环境中包括资源宣告目标账号地址,用资源宣告目标账号地址对应的私钥对资源宣告请求的哈希值进行签名,得到第一明文签名;根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥;以及用所确定的加密密钥对所得到的第一明文签名进行对称加密,得到与资源宣告请求的哈希值对应的第一签名信息。
在一些实施例中,第一签名操作包括:响应于确定该SPV节点的可信执行环境中包括资源宣告目标账号地址,根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥;用所确定的加密密钥对资源宣告请求的哈希值进行对称加密,得到哈希值密文;以及用资源宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与资源宣告请求的哈希值对应的第一签名信息。
在一些实施例中,响应于接收到资源宣告请求,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,包括:响应于接收到资源宣告请求以及确定资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作;响应于接收到资源宣告请求以及确定资源宣告请求中的资源宣告类别标识为股份宣告交易类别标识,确定资源宣告请求中的资源宣告目标账号地址是否存在交易记录;响应于确定存在交易记录,生成并呈现用于指示该SPV节点不能再进行股份宣告的第一提示信息;响应于确定不存在交易记录,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作。
在一些实施例中,方法还包括:响应于确定所收到的交易请求中的子交易请求中包括入账交易请求,入账交易请求包括待入账数量以及待入账加密数字资源标识或者待入账数字货币标识二者之一,确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中是否包括与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址;响应于确定不包括,组合该SPV节点的虚拟并行链标识和账号地址字符串以及待入账加密数字资源标识或者待入账数字货币标识二者之一得到账号地址,将所得到的账号地址确定为与入账交易请求对应的入账账号地址,以及将所得到的账号地址添加到该SPV节点的数字货币账号地址集合、股份账号地址集合或者数字资产账号地址集合;响应于确定包括,将该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址确定为与入账交易请求对应的入账账号地址。
在一些实施例中,方法还包括:响应于接收到信息宣告请求,其中,信息宣告请求包括待宣告信息、信息宣告类别标识以及包括预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,计算信息宣告请求的哈希值,利用信息宣告请求中的记账奖励转出数字货币账号地址对应的私钥对信息宣告请求的哈希值进行签名得到与信息宣告请求对应的签名,将信息宣告请求和对应的签名发送给该SPV节点所属并行链的路由节点。
在一些实施例中,待宣告信息为智能合约;以及方法还包括:响应于接收到第一智能合约执行请求,其中,第一智能合约执行请求包括待执行智能合约地址信息、智能合约执行类别标识、智能合约输入参数以及包括预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,利用第一智能合约执行请求中的记账奖励转出数字货币账号地址对应的私钥对第一智能合约执行请求签名后发送给该SPV节点所属并行链的路由节点。
在一些实施例中,SPV节点设置有可信执行环境;以及方法还包括:响应于接收到数字货币宣告请求,其中,数字货币宣告请求包括数字货币宣告类别标识、待宣告数字货币标识、数字货币宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,确定预设对应关系表中是否存在数字货币宣告请求中的记账奖励转出数字货币账号地址、待宣告数字货币标识和数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系,其中,预设对应关系表用于表征特权账号地址、数字货币标识、加密数字货币资源标识三者之间的对应关系;响应于确定存在,计算数字货币宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第二签名操作,得到与数字货币宣告请求的哈希值对应的第四签名信息,将数字货币宣告请求和对应的第四签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
在一些实施例中,第二签名操作包括:用数字货币宣告目标账号地址对应的私钥对数字货币宣告请求的哈希值进行签名,得到第三明文签名;根据数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;以及用所确定的加密密钥对所得到的第三明文签名进行对称加密,得到与数字货币宣告请求的哈希值对应的第四签名信息。
在一些实施例中,第二签名操作包括:根据数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;用所确定的加密密钥对数字货币宣告请求的哈希值进行对称加密,得到哈希值密文;以及用数字货币宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与数字货币宣告请求的哈希值对应的第四签名信息。
第三方面,本申请实施例提供了一种请求处理装置,应用于区块链系统中的简化支付验证SPV节点,其中,区块链系统包括至少一个并行链,并行链包括路由节点、至少一个矿工节点和至少一个简化支付验证SPV节点,每个并行链的各个矿工节点采用分布式数据区块链存储数据,至少一个并行链的路由节点之间网络连接,路由节点和矿工节点均设置有可信执行环境,SPV节点中存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合,数字货币账号地址、股份账号地址和数字资产账号地址均包括账号地址字符串和该SPV节点的虚拟并行链标识,数字货币账号地址、股份账号地址和数字资产账号地址分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识,该装置包括:交易请求发送单元,被配置成:响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点,其中,交易请求包括记账奖励交易请求和至少一个子交易请求,记账奖励交易请求用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励,子交易请求的交易对象包括数字资源和数字货币,数字资源包括股份和数字资产,用于指示数字资源的加密数字资源标识是在可信执行环境中通过对数字资源标识对称加密所得到的,数字资源标识包括环境标识、资源类别标识和资源标识,其中,环境标识包括用于指示可信执行环境的厂商标识和产品标识。
在一些实施例中,资源类别标识包括用于指示股份类别的股份类别标识和用于指示数字资产类别的数字资产类别标识。
在一些实施例中,与股份类别标识对应的资源标识为预设股份资源标识,与数字资产类别标识对应的资源标识为不同于预设股份资源标识的数字资产资源标识。
在一些实施例中,厂商标识与产品标识均为4字节无符号整数,资源类别标识为4位无符号整数,资源标识为大于等于128的12位无符号整数,预设股份资源标识为128,数字资产资源标识为大于预设股份资源标识的12位无符号整数,用于指示数字货币的数字货币标识为1字节的0到63之间的正整数。
在一些实施例中,该装置还包括:第一签名单元,被配置成响应于接收到资源宣告请求,其中,资源宣告请求包括资源宣告类别标识、资源宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,资源宣告类别标识为股份宣告交易类别标识或者数字资产宣告交易类别标识,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,得到与资源宣告请求的哈希值对应的第一签名信息;第二签名单元,被配置成利用该SPV节点的可信执行环境中存储的记账奖励转出数字货币账号地址对应的私钥对资源宣告请求的哈希值进行签名得到与资源宣告请求对应的第二签名信息;资源宣告请求发送单元,被配置成将资源宣告请求以及对应的第一签名信息和第二签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
在一些实施例中,第一签名操作包括:响应于确定该SPV节点的可信执行环境中包括资源宣告目标账号地址,用资源宣告目标账号地址对应的私钥对资源宣告请求的哈希值进行签名,得到第一明文签名;根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥;以及用所确定的加密密钥对所得到的第一明文签名进行对称加密,得到与资源宣告请求的哈希值对应的第一签名信息。
在一些实施例中,第一签名操作包括:响应于确定该SPV节点的可信执行环境中包括资源宣告目标账号地址,根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥;用所确定的加密密钥对资源宣告请求的哈希值进行对称加密,得到哈希值密文;以及用资源宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与资源宣告请求的哈希值对应的第一签名信息。
在一些实施例中,第一签名单元进一步被配置成:响应于接收到资源宣告请求以及确定资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作;响应于接收到资源宣告请求以及确定资源宣告请求中的资源宣告类别标识为股份宣告交易类别标识,确定资源宣告请求中的资源宣告目标账号地址是否存在交易记录;响应于确定存在交易记录,生成并呈现用于指示该SPV节点不能再进行股份宣告的第一提示信息;响应于确定不存在交易记录,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作。
在一些实施例中,该装置还包括:第一确定单元,被配置成:响应于确定所收到的交易请求中的子交易请求中包括入账交易请求,所述入账交易请求包括待入账数量以及待入账加密数字资源标识或者待入账数字货币标识二者之一,确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中是否包括与所述待入账加密数字资源标识或者所述待入账数字货币标识二者之一对应的账号地址;第一入账账号地址确定单元,被配置成响应于确定不包括,组合该SPV节点的虚拟并行链标识和账号地址字符串以及所述待入账加密数字资源标识或者所述待入账数字货币标识二者之一得到账号地址,将所得到的账号地址确定为与所述入账交易请求对应的入账账号地址,以及将所得到的账号地址添加到该SPV节点的数字货币账号地址集合、股份账号地址集合或者数字资产账号地址集合;第二入账账号地址确定单元,被配置成响应于确定包括,将该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中与所述待入账加密数字资源标识或者所述待入账数字货币标识二者之一对应的账号地址确定为与所述入账交易请求对应的入账账号地址。
在一些实施例中,该装置还包括:信息宣告请求发送单元,被配置成:响应于接收到信息宣告请求,其中,所述信息宣告请求包括待宣告信息、信息宣告类别标识以及包括所述预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,计算所述信息宣告请求的哈希值,利用所述信息宣告请求中的记账奖励转出数字货币账号地址对应的私钥对所述信息宣告请求的哈希值进行签名得到与所述信息宣告请求对应的签名,将所述信息宣告请求和对应的签名发送给该SPV节点所属并行链的路由节点。
在一些实施例中,所述待宣告信息为智能合约;以及该装置还包括:第一智能合约执行请求发送单元,被配置成响应于接收到第一智能合约执行请求,其中,所述第一智能合约执行请求包括待执行智能合约地址信息、智能合约执行类别标识、智能合约输入参数以及包括所述预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,利用所述第一智能合约执行请求中的记账奖励转出数字货币账号地址对应的私钥对所述第一智能合约执行请求签名后发送给该SPV节点所属并行链的路由节点。
在一些实施例中,SPV节点设置有可信执行环境;以及该装置还包括:第二确定单元,被配置成:响应于接收到数字货币宣告请求,其中,所述数字货币宣告请求包括数字货币宣告类别标识、待宣告数字货币标识、数字货币宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,确定预设对应关系表中是否存在所述数字货币宣告请求中的记账奖励转出数字货币账号地址、所述待宣告数字货币标识和所述数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系,其中,所述预设对应关系表用于表征特权账号地址、数字货币标识、加密数字货币资源标识三者之间的对应关系;数字货币宣告请求发送单元,被配置成:响应于确定存在,计算所述数字货币宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第二签名操作,得到与所述数字货币宣告请求的哈希值对应的第四签名信息,将所述数字货币宣告请求和对应的第四签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
在一些实施例中,所述第二签名操作包括:用所述数字货币宣告目标账号地址对应的私钥对所述数字货币宣告请求的哈希值进行签名,得到第三明文签名;根据所述数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;以及用所确定的加密密钥对所得到的第三明文签名进行对称加密,得到与所述数字货币宣告请求的哈希值对应的第四签名信息。
在一些实施例中,所述第二签名操作包括:根据所述数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;用所确定的加密密钥对所述数字货币宣告请求的哈希值进行对称加密,得到哈希值密文;以及用所述数字货币宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与所述数字货币宣告请求的哈希值对应的第四签名信息。
第四方面,本申请实施例提供了一种简化支付验证节点,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如第二方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被一个或多个处理器执行时实现如第二方面中任一实现方式描述的方法。
当前大多数的区块链系统基本都支持一种数字货币类型的交易处理,即,单价值系统或者称为单通证(即,token)系统。另外,当前大多数的区块链系统也仅支持单向交易,无法进行双向交换。虽然,目前也存在以智能合约实现的价值交换,但智能合约实现的交换有以下特点:首先,当前智能合约实现的区块链系统仍是单价值系统,实现多价值交换离不开数字货币交易所;其次,当前智能合约实现的价值交换,并未将交换操作以原子方式,事务化的内置为系统服务,而是借助编程细粒度控制交易的各个环节,价值交换的安全性依赖于编程代码是否完善,如果智能合约的代码有漏洞,将直接导致价值交换过程的安全性,而且已投放运行的智能合约既无法修改,也无法停止。
本申请实施例提供的区块链系统以及请求处理方法和装置,通过采用至少一个并行链的方式将交易处理过程从单链串行方式,改进为多链并发方式,并且通过在账号地址中分别引入数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识,继而实现支持数字货币、股份和数字资产三种价值形式,而且还实现了双向价值交换。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2A、图2C、图2E和图2F是根据本申请的区块链系统的一个实施例的时序图;
图2B是根据本申请的记账操作的一个实施例的分解流程图;
图2D是根据本申请的步骤209的一个实施例的分解流程图;
图3A是根据本申请的请求处理方法的一个实施例的流程图;
图3B是根据本申请的步骤302的一个实施例的分解流程图;
图4是根据本申请的请求处理装置的一个实施例的结构示意图;
图5是适于用来实现本申请实施例的SPV节点的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的区块链系统以及请求处理方法和装置的实施例的示例性系统架构100。
图1示出了可以应用本申请的区块链系统和应用于区块链系统的路由节点的路由方法的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括并行链101、102、103和网络104、105。
并行链101包括路由节点1011,矿工节点1012、1014、1015、1016、1018,SPV节点1013、1017和网络1019。网络1019用以在路由节点1011,矿工节点1012、1014、1015、1016、1018和SPV节点1013、1017之间提供通信链路的介质。网络1019可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。并行链101的矿工节点1012、1014、1015、1016、1018采用分布式数据区块链存储数据。
并行链101的SPV节点1013、1017均可以存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合。其中,SPV节点1013的数字货币账号地址、股份账号地址和数字资产账号地址可以均包括SPV节点1013的账号地址字符串和SPV节点1013的虚拟并行链标识。SPV节点1013的数字货币账号地址、股份账号地址和数字资产账号地址中除了可以均包括SPV节点1013的账号地址字符串和虚拟并行链标识以外,还可以分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识。同理,SPV节点1017的数字货币账号地址、股份账号地址和数字资产账号地址也可以均包括SPV节点1017的账号地址字符串和SPV节点1017的虚拟并行链标识。SPV节点1017的数字货币账号地址、股份账号地址和数字资产账号地址中除了可以均包括SPV节点1017的账号地址字符串和虚拟并行链标识以外,还可以分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识。
这里,用于对并行链进行指示的是并行链标识。每个矿工节点和每个SPV节点都属于一个并行链。每个矿工节点/SPV节点的可信执行环境中存储有该矿工节点/SPV节点的虚拟并行链标识。根据该矿工节点/SPV节点的虚拟并行链标识按照预设计算规则进行计算可以得到该矿工节点/SPV节点所属并行链的并行链标识。这里,之所以同时需要并行链标识和虚拟并行链标识,是为了在未来区块链系统中的并行链数目发生变化时,并行链标识相应也会发生变化。在这个过程中,每个矿工节点/SPV节点的虚拟并行链标识是不变的,但是每个矿工节点/SPV节点所属并行链是可以发生变化的,相应的每个矿工节点/SPV节点所属并行链的并行链标识也可以发生变化。这时,每个矿工节点/SPV节点都可以根据自己的虚拟并行链标识来确定自己当前所属并行链的并行链标识。
作为示例,可以假设上述区块链系统包括的N个并行链。这里,并行链数目N可以为2的m次方,其中,m为0到16之间的自然数。也就是说,区块链系统中可以包括1,2,4,8,16,32,64,…,或者65536个并行链。
基于上述假设,矿工节点/SPV节点的虚拟并行链标识可以为0到65535之间的自然数。而用于指示并行链的并行链标识可以为0到(N-1)之间的自然数。那么,可以将矿工节点/SPV节点的虚拟并行链标识的二进制表示与N减1的差的二进制表示按位做与运算,得到矿工节点/SPV节点的并行链标识。
可以理解的是,也可以按照上述预设计算规则,根据数字货币账号地址、股份账号地址或者数字资产账号地址中的虚拟并行链标识进行计算以得到该数字货币账号地址、股份账号地址或者数字资产账号地址对应的并行链的并行链标识。例如,可以将数字货币账号地址、股份账号地址或者数字资产账号地址中的虚拟并行链标识的二进制表示与N减1的差的二进制表示按位做与运算得到上述数字货币账号地址、股份账号地址或者数字资产账号地址对应的并行链的并行链标识,其在实践中的涵义是,数字货币账号地址、股份账号地址或者数字资产账号地址对应的UTXO(Unspent Transaction Output,未花费交易输出)记录在上述数字货币账号地址、股份账号地址或者数字资产账号地址对应的并行链中。换言之,也可以认为账号地址对应的UTXO在该账号地址对应的并行链中进行维护。
这里,SPV节点1013、1017可以分别绑定有对应的账号地址字符串(例如,目前大都采用20字节的地址字符串)和虚拟并行链标识。这里,SPV节点1013、1017所绑定的虚拟并行链标识对应的并行链标识所指示的并行链为并行链101,即SPV节点1013、1017所属并行链为并行链101。
并行链102包括路由节点1021,矿工节点1022、1023、1025、1026,SPV节点1024和网络1027。网络1027用以在路由节点1021,矿工节点1022、1023、1025、1026和SPV节点1024之间提供通信链路的介质。网络1027可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。并行链102的矿工节点1022、1023、1025、1026采用分布式数据区块链存储数据。
并行链102的SPV节点1024可以存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合。其中,SPV节点1024的数字货币账号地址、股份账号地址和数字资产账号地址可以均包括SPV节点1024的账号地址字符串和SPV节点1024的虚拟并行链标识。SPV节点1024的数字货币账号地址、股份账号地址和数字资产账号地址中除了可以均包括SPV节点1024的账号地址字符串和虚拟并行链标识以外,还可以分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识。
这里,SPV节点1024可以绑定有对应的账号地址字符串(例如,目前大都采用20字节的地址字符串)和虚拟并行链标识。这里,SPV节点1024所绑定的虚拟并行链标识对应的并行链标识所指示的并行链为并行链102,即SPV节点1024所属并行链为并行链102。
并行链103包括路由节点1031,矿工节点1032、1033、1035、1036,SPV节点1034、1037和网络1038。网络1038用以在路由节点1031,矿工节点1032、1033、1035、1036和SPV节点1034、1037之间提供通信链路的介质。网络1038可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。并行链103的矿工节点1032、1033、1035、1036采用分布式数据区块链存储数据。
并行链103的SPV节点1034、1037均可以存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合。其中,SPV节点1034的数字货币账号地址、股份账号地址和数字资产账号地址可以均包括SPV节点1034的账号地址字符串和SPV节点1013的虚拟并行链标识。SPV节点1034的数字货币账号地址、股份账号地址和数字资产账号地址中除了可以均包括SPV节点1034的账号地址字符串和虚拟并行链标识以外,还可以分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识。同理,SPV节点1037的数字货币账号地址、股份账号地址和数字资产账号地址也可以均包括SPV节点1037的账号地址字符串和SPV节点1037的虚拟并行链标识。SPV节点1037的数字货币账号地址、股份账号地址和数字资产账号地址中除了可以均包括SPV节点1037的账号地址字符串和虚拟并行链标识以外,还可以分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识。
这里,SPV节点1034、1037可以分别绑定有对应的账号地址字符串(例如,目前大都采用20字节的地址字符串)和虚拟并行链标识。这里,SPV节点1034、1037所绑定的虚拟并行链标识对应的并行链标识所指示的并行链为并行链103,即SPV节点1034、1037所属并行链为并行链103。
用户可以使用SPV节点1013、1017通过网络1019与路由节点1021交互,以接收或发送消息等。用户也可以使用SPV节点1024通过网络1027与路由节点1021交互,以接收或发送消息等。用户可以还使用SPV节点1034、1037通过网络1037与路由节点1031交互,以接收或发送消息等。
SPV节点1013、1017、1024、1034、1037上可以安装有各种通讯客户端应用,例如简化支付验证应用、钱包应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。用户可以使用SPV节点1013、1017、1024、1034、1037上安装的简化支付验证应用,实现数字货币、股份以及数字资产的管理、转账、收款、查看余额、查看交易记录等操作。
SPV节点1013、1017、1024、1034、1037可以是硬件,也可以是软件。当SPV节点1013、1017、1024、1034、1037为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当SPV节点1013、1017、1024、1034、1037为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供简化支付验证服务),也可以实现成单个软件或软件模块。在此不做具体限定。
需要说明的是,本申请实施例所提供的请求处理方法一般由SPV节点1013、1017、1024、1034、1037执行,相应地,请求处理装置一般设置于SPV节点1013、1017、1024、1034、1037中。
需要说明的是,路由节点1011、1021、1031和矿工节点1012、1014、1015、1016、1018、1022、1023、1025、1026、1032、1033、1035、1036可以均设置有可信执行环境(TEE,Trusted Execution Environment)。且,路由节点1011、1021、1031和矿工节点1012、1014、1015、1016、1018、1022、1023、1025、1026、1032、1033、1035、1036可以是硬件,也可以是软件。当路由节点1011、1021、1031和矿工节点1012、1014、1015、1016、1018、1022、1023、1025、1026、1032、1033、1035、1036为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当路由节点1011、1021、1031为软件时,可以实现成多个软件或软件模块(例如用来提供路由服务、挖矿服务、记账服务等),也可以实现成单个软件或软件模块。在此不做具体限定。
这里,TEE是与设备上的Rich OS(通常是Android等)并存的运行环境,并且给RichOS提供安全服务。TEE具有其自身的执行空间。TEE所能访问的软硬件资源是与Rich OS分离的。TEE提供了可信应用(Trusted Application,TA)的安全执行环境,同时也保护可信应用的资源和数据的保密性,完整性和访问权限。为了保证TEE本身的可信根,TEE在安全启动过程中是要通过验证并且与Rich OS隔离的。在TEE中,每个可信应用是相互独立的,而且不能在未授权的情况下不能互相访问。
作为示例,矿工节点以及路由节点中设置的TEE可以采用如下两种方式:
(1)、借助特定CPU芯片提供的安全防护能力,比如Intel SGX、ARM Trust Zone等,构造一个可信执行环境。
为了保障安全强度,还可以在可信执行环境底层增加可信硬件支持,比如采用符合可信平台模块(TPM,Trusted Platform Module)标准的安全芯片,或采用符合可信密码模块(TCM,Trusted Cryptography Module)标准的安全芯片。
(2)采用加密锁(俗称软件狗)实现可信执行环境。
常见的软件狗常包装成一个小巧的USB(Universal Serial Bus,通用串行总线)设备,软件狗内既提供文件存贮,也支持运行经过定制的程序。采用软件狗,可以不必限定矿机节点的设备类型,只要路由节点以及矿工节点设置有USB接口即可,降低了对路由节点以及矿工节点的设备要求。
应该理解,图1中的并行链的数目仅仅是示意性的。根据实现需要,可以具有任意数目的并行链。每个并行链中的路由节点、矿工节点、网络和SPV节点的数目也仅仅是示意性的。根据实现需要,可以具有任意数目的路由节点、矿工节点、网络和SPV节点。
继续参考图2A,其示出了根据本申请的区块链系统的一个实施例的时序200。
本申请实施例中的区块链系统可以包括至少一个并行链(例如图1所示的并行链101、102、103),并行链可以包括路由节点(例如图1所示的路由节点1011、1021、1031)、至少一个矿工节点(例如图1所示的矿工节点1012、1014、1015、1016、1018、1022、1023、1025、1026、1032、1033、1035、1036)和至少一个SPV节点(例如图1所示的SPV节点1013、1017、1024、1034、1037),每个并行链的各个矿工节点可以采用分布式数据区块链存储数据,至少一个并行链的路由节点之间网络连接,路由节点和矿工节点可以均设置有可信执行环境,SPV节点中可以存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合。
如图2A所示,根据本申请的区块链系统的一个实施例的时序200包括以下步骤:
步骤201,SPV节点响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点。
在本实施例中,区块链系统中的SPV节点可以在接收到交易请求的情况下,将所收到的交易请求发送给该SPV节点所属并行链的路由节点。
在本实施例中,SPV节点(例如图1所示的SPV节点1013、1017、1024、1034、1037)中可以安装有简化支付验证应用。用户可以使用SPV节点中的简化支付验证应用提交交易请求。这里,交易请求可以包括记账奖励交易请求和至少一个子交易请求。其中,至少一个子交易请求中的每个子交易请求是用户希望执行的交易请求,而为了执行每个子交易请求,用户需要支付记账奖励,即用户需要支付记账费用。用户支付记账费的请求即是记账奖励交易请求。记账奖励交易请求可以用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励。而子交易请求的交易对象可以包括数字资源和数字货币。其中,数字资源可以包括股份和数字资产。用于指示数字资源的加密数字资源标识可以是在可信执行环境中通过对数字资源标识对称加密所得到的。数字资源标识可以包括环境标识、资源类别标识和资源标识。其中,环境标识是用于唯一标识可信执行环境的环境标识,环境标识可以包括用于指示可信执行环境的厂商标识和产品标识。而资源类别标识用于指示资源标识为股份或者数字资产。资源标识用于唯一指示各种数字资源。
在本实施例中,数字资产可以是各种可以用电子数据表达的信息资产。例如,数字资产可以是数码音乐、数码图像等等。
在本实施例中,记账奖励交易请求和每个子交易请求均可以为单向交易请求,即将第一账号地址对应的数字货币、股份或者数字资产转给不同于第一账号地址的第二账号地址,并且第一账号地址和第二账号地址需要满足以下要求:第一,第一账号地址和第二账号地址需要类型相同,即二者都是数字货币账号地址,或者二者都是股份账号地址,或者二者都是数字资产账号地址;第二,第一账号地址和第二账号地址中的数字货币标识,或者股份类别的加密数字资源标识或者数字资产类别的加密数字资源标识均相同。满足上述两个要求的第一账号地址和第二账号地址是用于表征同一种数字货币或者同一种股票或者同一种数字资产的账号地址,但是二者所归属的用户不同,为此二者之间可以实现转账。
在本实施例中,SPV节点中存储的数字货币账号地址、股份账号地址和数字资产账号地址可以均包括该SPV节点的账号地址字符串和该SPV节点的虚拟并行链标识。SPV节点中存储的数字货币账号地址、股份账号地址和数字资产账号地址中除了包括该SPV节点的账号地址字符串和该SPV节点的虚拟并行链标识以外,分别还可以包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识。其中,预设记账币标识可以是区块链系统中指定的用于支付记账奖励的数字货币的数字货币标识。
换言之,数字货币账号地址可以包括:数字货币标识、SPV节点的账号地址字符串以及SPV节点的虚拟并行链标识。股份货币账号地址可以包括:股份类别的加密数字资源标识、SPV节点的账号地址字符串以及SPV节点的虚拟并行链标识。数字资产账号地址可以包括:数字资产类别的加密数字资源标识、SPV节点的账号地址字符串以及SPV节点的虚拟并行链标识。
需要说明的是,为了区分数字资源和数字资产,实践中,数字货币标识和数字资源标识二者的取值范围可以互不相同。另外,为了区分股份和数字资产,股份类别的数字资源标识和数字资产类别的数字资源标识二者的取值范围也可以互不相同,继而股份类别的加密数字资源标识和数字资产类别的加密数字资源标识二者的取值范围也可以是互不相同的。
作为示例,这里可以假设SPV节点S1接收到交易请求R1。表1中示出了交易请求R1中包括记账奖励交易请求R11和子交易请求R12、R13、R14和R15。从表1中可以看出,记账奖励交易请求R11用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识X1的记账奖励转出数字货币账号地址A1转出N1个预设记账币以支付记账奖励。子交易请求R12用于从SPV节点S1的数字资产账号地址A2中出账数额N2,子交易请求R13用于向SPV节点S2的数字资产账号地址A3入账数额N2,子交易请求R14用于从SPV节点S2的股份账号地址A4中出账数额N3,子交易请求R15用于向SPV节点S1的股份资产账号地址A5入账数额N3。
表1
需要说明的是,这里,数字资产账号地址A2和A3中的加密数字资源标识可以是相同的,而账号地址字符串是不同的。即,数字资产账号地址A2和数字资产账号地址A3用于表征同一个数字资产,但归属于不同的用户。这样,可以实现将数字资产账号地址A2对应的N2个数字资产转账给数字资产账号地址A3。同理,股份账号地址A4和股份账号地址A5中的加密数字资源标识可以是相同的,而账号地址字符串是不同的。即,股份账号地址A4和股份账号地址A5用于表征同一个股份,但属于不同的用户。这样,可以实现将股份账号地址A4对应的N3股股份转账给股份账号地址A5。
实践中,为了保证交易的安全,SPV节点会在将所收到的交易请求发送给该SPV节点所属并行链的路由节点之前,对所收到的交易请求进行签名,并将签名之后所得到的签名信息与所收到的交易请求一起发送给该SPV节点所属并行链的路由节点。而这里签名时,需要利用所收到的交易请求中的记账奖励交易请求和至少一个子交易请求中每个出账账号地址所对应的私钥。即,如果所收到的交易请求中的记账奖励交易请求和至少一个子交易请求中包括M个出账账号地址,那么需要用M个出账账号地址中的每个出账账号地址对应的私钥对所收到的交易请求进行签名,并得到M个签名信息,以及将签名之后所得到的M个签名信息与所收到的交易请求一起发送给该SPV节点所属并行链的路由节点。
需要说明的是,如何利用密钥对数据进行签名是目前广泛研究和应用的现有技术,在此不再赘述。
这里,用于对并行链进行指示的是并行链标识。每个路由节点、每个矿工节点和每个SPV节点都会归属于一个并行链。因此,每个路由节点和每个矿工节点的可信执行环境中存储有该路由节点或者矿工节点所属并行链的并行链标识。另外,SPV节点中如果设置有可信执行环境,那么SPV节点的可信执行环境中也存储有该SPV节点所属并行链的并行链标识。如果SPV节点中没有设置有可信执行环境,那么SPV节点的非易失性存储介质中也可以存储有该SPV节点所属并行链的并行链标识。这里,路由节点、矿工节点或者SPV节点中,除了可以存储有所属并行链的并行链标识外,还可以存储有所属并行链的虚拟并行链标识。之所以要存储虚拟并行链标识,是为了在未来区块链系统中的并行链数目发生变化时(例如,区块链系统扩容,那么并行链数目将会增加),并行链的标识相应也会发生变化。然而,这个过程中,虚拟并行链标识可以是不变的。但是,路由节点、矿工节点或者SPV节点所属并行链可以发生变化,相应的路由节点、矿工节点或者SPV节点所属并行链的并行链标识也可以发生变化。这时,每个路由节点、矿工节点或者SPV节点可以按照第一预设计算公式根据自己的虚拟并行链标识唯一确定自己所属并行链的并行链标识。
作为示例,下面给出一种路由节点、矿工节点或者SPV节点按照第一预设计算公式根据自己的虚拟并行链标识唯一确定自己所属并行链的并行链标识的具体实现方式:这里,可以假设上述区块链系统包括的并行链数目N可以为2的m次方,其中,m为0到16之间的自然数。也就是说,区块链系统中可以包括1,2,4,8,16,32,64,…,或者65536个并行链。用于指示并行链的并行链标识可以为0到(N-1)之间的自然数。再假设虚拟并行链标识为0到65535之间的自然数。那么,路由节点、矿工节点或者SPV节点可以将该路由节点、矿工节点或者SPV节点的虚拟并行链标识的二进制表示与N减1的差的二进制表示按位做与运算,进而得到其所属并行链的并行链标识。
可以理解的是,也可以按照上述预设计算规则,根据数字货币账号地址、股份账号地址或者数字资产账号地址中的虚拟并行链标识进行计算以得到该数字货币账号地址、股份账号地址或者数字资产账号地址对应的并行链的并行链标识。例如,可以将数字货币账号地址、股份账号地址或者数字资产账号地址中的虚拟并行链标识的二进制表示与N减1的差的二进制表示按位做与运算得到上述数字货币账号地址、股份账号地址或者数字资产账号地址对应的并行链的并行链标识,其在实践中的涵义是,数字货币账号地址、股份账号地址或者数字资产账号地址对应的UTXO(Unspent Transaction Output,未花费交易输出)记录在上述数字货币账号地址、股份账号地址或者数字资产账号地址对应的并行链中。换言之,也可以认为账号地址对应的UTXO在该账号地址对应的并行链中进行维护。
在本实施例中,可以采用各种实现方式确定SPV节点的虚拟并行链标识。例如,可以随机指定一个虚拟并行链标识作为SPV节点的虚拟并行链标识。又例如,如果SPV节点中设置有可信执行环境,那么,SPV节点的可信执行环境中可以存储有用于唯一标识该SPV节点中设置的可信执行环境的环境标识。这样,可以在SPV节点的可信执行环境中,按照第二预设计算公式,根据该SPV节点中设置的可信执行环境的环境标识计算该SPV节点的虚拟并行链标识。例如,各个SPV节点的可信执行环境中可以存储有相同的虚拟并行链标识密钥,那么可以利用该SPV节点的可信执行环境中存储的虚拟并行链标识密钥对该SPV节点中设置的可信执行环境的环境标识进行加密,并将加密结果作为该SPV节点的虚拟并行链标识。又例如,当上述区块链系统包括的并行链数目N为2的m次方,其中,m为0到16之间的自然数。也就是说,区块链系统中可以包括1,2,4,8,16,32,64,…,或者65536个并行链。这样,用于指示并行链的并行链标识可以为0到(N-1)之间的自然数,再假设虚拟并行链标识为0到65535之间的自然数。那么可以将该SPV节点中设置的可信执行环境的环境标识的二进制表示与第一预设掩码的二进制表示按位做异或运算的结果确定为该SPV节点的虚拟并行链标识。
这里,每个SPV节点可以绑定有至少一个账号地址字符串。实践中,可以采用钱包应用为SPV节点生成并绑定账号地址字符串。作为示例,账号地址字符串可以为20字节的账号地址字符串。
步骤202,路由节点响应于对所收到的交易请求校验通过,将所收到的交易请求添加到该路由节点的交易请求集合中,将所收到的交易请求中的链内交易请求签名后广播给该路由节点的同链矿工节点。
在本实施例中,区块链系统中的路由节点可以在接收到SPV节点发送的交易请求的情况下,首先对所收到的交易请求进行校验。如果校验通过,则该路由节点可以将所收到的交易请求添加到该路由节点的交易请求集合中,以及再将所收到的交易请求中的链内交易请求用该路由节点的私钥签名后广播给该路由节点的同链矿工节点。
具体而言,这里将所收到的交易请求中的链内交易请求用该路由节点的私钥签名后广播给该路由节点的同链矿工节点可以包括:首先,将所收到的交易请求中的链内交易请求用该路由节点的私钥签名,得到链内交易请求签名信息;然后,将所收到的交易请求中的链内交易请求和所得到的链内交易请求签名信息一起广播给该路由节点的同链矿工节点。
这里,路由节点对所收到的交易请求进行校验可以包括但不限于对交易请求进行合法性校验。其中,合法性校验可以包括但不限于验证交易请求中的各个出账账号地址是否存在UTXO记录、记账奖励转出数字货币账号地址的未花费用是否支持本次记账奖励交易请求,各个子交易请求中的出账账号地址的未花费用是否支持本次子交易请求、各个子交易请求中的出账账号地址是否是路由节点中存储的出账账号地址黑名单中的账号地址、各个子交易请求中的入账账号地址是否是路由节点中存储的入账账号地址黑名单中的账号地址等等。实践中,这里对所收到的交易请求进行校验还可以包括其他校验。
这里,路由节点的交易请求集合中存储了该路由节点校验通过的各个交易请求。
这里,路由节点对所收到的交易请求进行签名可以是利用该路由节点的私钥对所收到的交易请求进行签名。每个路由节点的可信执行环境中存储有该路由节点的私钥。因此,这里利用该路由节点的私钥对所收到的交易请求进行签名也是在该路由节点的可信执行环境中进行的,进而可以保证签名操作的安全性。
这里,该路由节点的同链矿工节点是与该路由节点属于同一并行链的矿工节点。例如,如图1所示,矿工节点1012、1014、1015、1016、1018是路由节点1011的同链矿工节点。
实践中,由于每个并行链通常是基于对等网络(Peer to Peer,P2P)的,因此,路由节点在将所收到的交易请求签名后广播给该路由节点的同链矿工节点时,可以是将所收到的交易请求签名后广播给该路由节点的相邻同链矿工节点,再由上述该路由节点的相邻同链矿工节点将上述签名后的交易请求广播给各自的相邻同链矿工节点。
需要说明的是,路由节点可以在对从SPV节点接收到的交易请求进行校验通过的情况下,先将所收到的交易请求添加到该路由节点的交易请求集合中,再将所收到的交易请求签名后广播给该路由节点的各个同链矿工节点,或者,路由节点也可以在对从SPV节点接收到的交易请求进行校验通过的情况下,先将所收到的交易请求签名后广播给该路由节点的各个同链矿工节点,再将所收到的交易请求添加到该路由节点的交易请求集合中,本申请对此不做具体限定。
这里,所收到的交易请求中的链内交易请求具体可以包括以下情况:(1)记账奖励交易请求;(2)各个子交易请求中出账账号地址对应的并行链是该路由节点所属并行链的子交易请求;(3)各个子交易请求中入账账号地址对应的并行链是该路由节点所属并行链的子交易请求。
在本实施例中,出账账号地址或者入账账号地址对应的并行链可以通过如下步骤确定:
首先,获取该出账账号地址或者入账账号地址中的虚拟并行链标识。
由上述记载可知,不论是数字货币账号地址、股份账号地址还是数字资产账号地址均包括账号地址字符串和虚拟并行链标识。因此,可以直接获取该出账账号地址或者入账账号地址中的虚拟并行链标识。
然后,按照第一预设计算公式,根据所获取的虚拟并行链标识唯一确定并行链标识。
从而,可以根据出账账号地址或者入账账号地址确定其对应的并行链。
步骤203,路由节点实时将该路由节点的同链矿工节点的区块链同步到本地区块链。
在本实施例中,路由节点(例如,图1所示的路由节点1011、1021、1031)可以实时将该路由节点的同链矿工节点的区块链同步到本地区块链。也就是说,路由节点不会执行挖矿和记账的操作,但是,路由节点中同步保存了该路由节点所属并行链的区块链数据(即,账本数据)。
需要说明的是,路由节点可以随时执行步骤203,并不限定于在执行完步骤202之后执行步骤203。
步骤204,路由节点确定所收到的交易请求中的跨链交易请求。
在本实施例中,路由节点可以在步骤202之后,即在对所收到的交易请求进行校验通过的情况下,将所收到的交易请求的各个子交易请求中出账账号地址或者入账账号地址对应的并行链不是该路由节点所属并行链的子交易请求确定为跨链交易请求。
需要说明的是,在步骤201中,SPV节点将所收到的交易请求发送给了该SPV节点所属并行链的路由节点,而SPV节点所收到的交易请求中的记账奖励交易请求用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励。而SPV节点的数字货币账号地址集合中的各个数字货币账号地址对应的并行链就是SPV节点所属并行链,因此,记账奖励交易请求中的出账账号地址(即记账奖励转出数字货币账号地址)对应的并行链也就是SPV节点所属并行链。那么对路由节点而言,如果已经对所收到的交易请求校验通过,则表明所收到的交易请求中的记账奖励交易请求中的出账账号地址(即记账奖励转出数字货币账号地址)对应的并行链是该路由节点所属的并行链。因而,对路由节点而言,如果已经对所收到的交易请求校验通过,则表明所收到的交易请求中的记账奖励交易请求是该路由节点的链内交易请求,进而,步骤204中所确定的跨连交易请求只能是所收到的交易请求中的子交易请求而不会是记账奖励交易请求。
步骤205,路由节点将所确定的跨链交易请求发送给目标并行链的路由节点。
在本实施例中,路由节点可以在执行完步骤204之后,将步骤204中所确定的跨链交易请求发送给目标并行链的路由节点。其中,目标并行链是所确定的跨链交易请求中的出账账号地址或入账账号地址对应的并行链。
步骤206,路由节点响应于接收到异链路由节点发送的交易请求,将所收到的交易请求签名后广播给该路由节点的同链矿工节点。
在本实施例中,路由节点可以在收到异链路由节点发送的交易请求的情况下,表明异链路由节点将该异链路由节点所确定的跨链交易请求发送给了该路由节点。换言之,该异链路由节点执行了步骤204和步骤205,而该路由节点收到了异链路由节点发送的交易请求。那么,该路由节点所收到的交易请求中的出账账号地址或者入账账号地址对应的并行链为该路由节点所属的并行链,则该路由节点可以将所收到的交易请求用该路由节点的私钥签名后广播给该路由节点的同链矿工节点。这里,该路由节点的异链路由节点所属的并行链与该路由节点所属的并行链不同。
具体而言,这里将从异链路由节点收到的交易请求签名后广播给该路由节点的同链矿工节点,可以包括:首先,将从异链路由节点收到的交易请求用该路由节点的私钥签名,得到异链交易请求签名信息;然后,将从异链路由节点收到的交易请求和所得到的异链交易请求签名信息一起广播给该路由节点的同链矿工节点。
可以理解的是,所有并行链中的路由节点通常由一个现实中的实体(公司或机构)负责运营。一个区块链系统中由路由节点承担跨链交易数据转发的通路无需面向开放网络,跨链通信应具备充分的安全保障(如果不具备,应由运营实体提供额外安全措施来保证),而同链矿工节点之间的消息通信则通过开放网络。异链交易请求之所以用当前路由节点的私钥签名,然后在本链广播,是为了防止来源于异链的交易请求在开放网络中传播时被攻击者伪造。
步骤207,矿工节点响应于对从同链路由节点接收到的交易请求签名验证通过,将所收到的交易请求添加到该矿工节点的待处理交易请求集合。
在本实施例中,矿工节点(例如图1所示的矿工节点1012、1014、1015、1016、1018、1022、1023、1025、1026、1032、1033、1035、1036)可以在收到同链路由节点发送的交易请求的情况下,首先用该矿工节点的同链路由节点的公钥对所收到的交易请求进行签名验证。如果签名验证通过,则矿工节点可以将所收到的交易请求添加到该矿工节点的待处理交易请求集合。
具体而言,如果所收到的交易请求是用该矿工节点所属并行链的同链路由节点的私钥签名的,这里,用该矿工节点的同链路由节点的公钥对所收到的交易请求进行签名验证会验证通过;反之,如果所收到的交易请求不是用该矿工节点所属并行链的同链路由节点的私钥签名的,这里,用该矿工节点的同链路由节点的公钥对所收到的交易请求进行签名验证会验证不通过。
步骤208,矿工节点响应于竞争到该矿工节点所属并行链的记账权,执行记账操作。
在本实施例中,区块链系统中的每个矿工节点都可以存储有该矿工节点的待处理交易请求集合。属于同一并行链的各个矿工节点可以按照预设的共识机制(例如,工作量证明(PoW,Proof of Work)机制,)竞争该矿工节点所属并行链的记账权。如果某个矿工节点竞争到该矿工节点所属并行链的记账权(俗称挖矿),则可以执行记账操作。具体请参考图2B,图2B示出了根据本申请的记账操作的一个实施例的分解流程图。如图2B所示,记账操作可以包括以下子步骤2081到子步骤2084:
子步骤2081,从该矿工节点的待处理交易请求集合中选取待处理交易请求。
这里,矿工节点可以采用各种实现方式从该矿工节点的待处理交易请求集合中选取待处理交易请求。例如,可以在该矿工节点的待处理交易请求集合中按照待处理交易请求对应的记账奖励数额(也称为交易费用,或者交易手续费)从高到底的顺序选取第一预设数目(比如,10)个待处理交易请求。又例如,还可以在该矿工节点的待处理交易请求集合中按照待处理交易请求的交易提交时间从前到后的顺序选取第二预设数目个待处理交易请求。
子步骤2082,用所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块。
这里,矿工节点可以用子步骤2081中所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块。其中,该矿工节点的挖矿奖励信息可以用于表征将挖矿奖励计入该矿工节点绑定的包括预设挖矿币标识的数字货币账号地址中。而挖矿奖励对应的数额可以是固定不变的,也可以是按照预设规则变化的。例如,挖矿奖励可以随着时间的不同而不同。
这里,预设挖矿币标识可以是区块链系统中指定的用于支付挖矿奖励的数字货币的数字货币标识。实践中,预设记账币标识和预设挖矿币标识可以是相同的数字货币标识,也可以是不同的数字货币标识。
子步骤2083,将所生成的新区块串接到该矿工节点的本地区块链中。
这里,矿工节点可以在生成了新区块后,将所生成的新区块串接到该矿工节点的本地区块链中。
子步骤2084,将所生成的新区块广播给该矿工节点的其他同链矿工节点。
这里,矿工节点可以在生成了新区块后将所生成的新区块广播给该矿工节点的其他同链矿工节点。
需要说明的是,矿工节点可以在执行完子步骤2082后,先执行子步骤2083再执行子步骤2084,矿工节点也可以在执行完子步骤2082后,先执行子步骤2084再执行子步骤2083,本申请对此不做具体限定。
在本实施例的一些可选的实现方式中,资源类别标识可以包括用于指示股份类别的股份类别标识和用于指示数字资产类别的数字资产类别标识。即,资源类别标识取值可以为股份类别标识或者数字资产类别标识。
在本实施例的一些可选的实现方式中,与股份类别标识对应的资源标识可以为预设股份资源标识,与数字资产类别标识对应的资源标识可以为不同于预设股份资源标识的数字资产资源标识。即,与股份类别标识对应的资源标识可以为固定不变的预设股份资源标识,而与数字资产类别标识对应的资源标识可以为不同于预设股份资源标识的至少一个数字资产资源标识。
在本实施例的一些可选的实现方式中,厂商标识与产品标识可以均为4字节无符号整数,资源类别标识可以为4位无符号整数,资源标识可以为大于等于128的12位无符号整数,预设股份资源标识可以为128,而数字资产资源标识可以为大于预设股份资源标识(即,128)的12位无符号整数,用于指示数字货币的数字货币标识可以为1字节的0到63之间的正整数。即,数字货币标识为1字节的0到63之间的正整数,预设股份资源标识为12位无符号整数128,而数字资产资源标识为取值范围从129到4095之间的整数,共有3967个整数。
在本实施例的一些可选的实现方式中,股份类别标识可以为2位二进制数“11”,而数字资产类别标识可以为2位二进制数“10”。
在某些情况下,本实施例还可以具有以下可选实现方式:
由于页面显示限制,下面继续参考图2C,需要说明的是,图2C的流程除了包括图2C中所示的流程外,还可以包括图2A中所示的各个步骤。
可选实现方式(一):上述时序200还可以包括以下步骤209到步骤211:
步骤209,SPV节点响应于接收到资源宣告请求,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,得到与资源宣告请求的哈希值对应的第一签名信息。
这里,SPV节点可以设置有可信执行环境。这样,SPV节点可以在接收到资源宣告请求的情况下,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,得到与资源宣告请求的哈希值对应的第一签名信息。
这里,资源宣告请求可以包括资源宣告类别标识、资源宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,资源宣告类别标识可以为股份宣告交易类别标识或者数字资产宣告交易类别标识。
这里,如果资源宣告请求中的资源宣告类别标识为股份宣告交易类别标识,则资源宣告请求用于请求宣告资源宣告目标账号地址发行股份,且发行股份的数量为待宣告数量,而为了执行这个资源宣告请求,由该资源宣告请求中的记账奖励转出数字货币账号地址来支付记账奖励(或称作记账费)。
这里,如果资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识,则资源宣告请求用于请求宣告资源宣告目标账号地址发行数字资产,且所发行的数字资产的数量为待宣告数量,而为了执行这个资源宣告请求,由该资源宣告请求中的记账奖励转出数字货币账号地址来支付记账奖励(或称作记账费)。
可选地,第一签名操作可以如下进行:
首先,可以响应于确定该SPV节点的可信执行环境中包括资源宣告目标账号地址,用资源宣告目标账号地址对应的私钥对资源宣告请求的哈希值进行签名,得到第一明文签名。
这里,如果该SPV节点的可信执行环境中包括资源宣告目标账号地址,表明资源宣告请求中的资源宣告目标账号地址是处于该SPV节点的可信执行环境中的地址,具有宣告资源的资格。相反,如果该SPV节点的可信执行环境中不包括资源宣告目标账号地址,表明资源宣告请求中的资源宣告目标账号地址不是处于该SPV节点的可信执行环境中的地址,不具有宣告资源的资格,不能发出资源宣告请求。
然后,可以根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥。
这里,可以采用各种实现方式,根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥。例如,可以采用第三预设计算公式,根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥。
最后,可以用所确定的加密密钥对所得到的第一明文签名进行对称加密,得到与资源宣告请求的哈希值对应的第一签名信息。
即,第一签名操作可以是先用私钥签名,再对称加密。
可选地,第一签名操作也可以如下进行:
首先,响应于确定该SPV节点的可信执行环境中包括资源宣告目标账号地址,根据资源宣告目标账号地址中的加密数字资源标识确定加密密钥。
然后,可以用所确定的加密密钥对资源宣告请求的哈希值进行对称加密,得到哈希值密文。
最后,用资源宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与资源宣告请求的哈希值对应的第一签名信息。
即,第一签名操作也可以是先对称加密,再用私钥签名。
可以理解的是,第一签名操作的具体做法不同,在路由节点接收到上述资源宣告请求以及对应的第一签名信息和第二签名信息所生成的交易请求后,对所收到的交易请求进行签名验证时也会相应采用不同的签名验证方法。
可以理解的是,第一签名操作依赖于包括资源宣告目标账号地址的可信执行环境,如果没有可信执行环境资源宣告请求无法执行。可信执行环境可捆绑资源宣告者身份,如果可信执行环境设备经过第三方实名身份认证,资源宣告请求将变得更加可信,而且针对同一身份(即,同一资源宣告目标账号地址)的股份宣告能保证只做一次。步骤210,SPV节点利用该SPV节点的可信执行环境中存储的记账奖励转出数字货币账号地址对应的私钥对资源宣告请求的哈希值进行签名得到与资源宣告请求对应的第二签名信息。
这里,为了执行资源宣告请求,需要从该资源宣告请求中的记账奖励转出数字货币账号地址来支付记账奖励(或称作记账费),因此,需要在该SPV节点的可信执行环境中,利用该可信执行环境中存储的资源宣告请求中的记账奖励转出数字货币账号地址对应的私钥对资源宣告请求的哈希值进行签名得到与资源宣告请求对应的第二签名信息。执行完步骤210,表明该SPV节点已经授权从资源宣告请求中的记账奖励转出数字货币账号地址中支付记账奖励。
步骤211,SPV节点将资源宣告请求以及对应的第一签名信息和第二签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
经过步骤209到步骤211,已经对资源宣告请求进行了签名,则SPV节点可以将资源宣告请求以及对应的第一签名信息和第二签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
可选实现方式(二):上述步骤209还可以包括如图2D所示的子步骤2091到子步骤2094:
子步骤2091,响应于接收到资源宣告请求,确定资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识还是股份宣告交易类别标识。
如果确定资源宣告请求中的资源宣告类别标识是数字资产宣告交易类别标识,则转到子步骤2092。如果确定是股份宣告交易类别标识,则转到子步骤2093。
子步骤2092,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作。
这里,SPV节点可以在子步骤2091中确定资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识,或者在子步骤2093中确定资源宣告请求中的资源宣告目标账号地址不存在交易记录的情况下,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,从而得到与资源宣告请求的哈希值对应的第一签名信息。
子步骤2093,确定资源宣告请求中的资源宣告目标账号地址是否存在交易记录。
这里,SPV节点在子步骤2091中确定资源宣告请求中的资源宣告类别标识是股份宣告交易类别标识,则可以确定资源宣告请求中的资源宣告目标账号地址是否存在交易记录。如果确定存在交易记录,表明资源宣告请求中的资源宣告目标账号地址已经宣告过股份。而对于同一个账号地址,股份宣告交易类别的资源宣告请求只能宣告一次,则可以转到子步骤2094,不再执行资源宣告的后续操作;如果确定不存在交易记录,表明资源宣告请求中的资源宣告目标账号地址不曾宣告过股份,则可以转到子步骤2092进行资源宣告的后续操作。
子步骤2094,生成并呈现用于指示该SPV节点不能再进行股份宣告的第一提示信息。
按照上述可选实现方式(二),可以使得股份类别的资源宣告请求对于账号地址只能宣告一次,从而可以实现股份发行过程中股份只发行一次,发行总量确定不变,但股价可变。
可选实现方式(三):上述时序200中的子步骤2082可以如下进行:
响应于确定所选取的待处理交易请求为资源宣告请求,用目标数字资源宣告信息、该矿工节点的挖矿奖励信息和第一记账奖励信息生成新区块。
这里,第一记账奖励信息用于表征从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址。而目标数字资源宣告信息用于表征将所选取的待处理交易请求中的资源宣告目标账号地址对应的未花费用增加所选取的待处理交易请求中的待宣告数量。这里,接收记账奖励的账号地址可以是该矿工节点绑定的账号地址,即矿工节点可以绑定有账号地址。接收记账奖励的账号地址也可以是该矿工节点所属并行链的路由节点绑定的账号地址。本申请对此不做具体限定。
即,矿工节点在将资源宣告请求记录到区块链的过程中,实现了在该矿工节点的本地区块链中记录了以下内容:第一,从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址;第二,将所选取的待处理交易请求中的资源宣告目标账号地址对应的未花费用增加资源宣告请求中的待宣告数量;第三,给予该矿工节点挖矿奖励。从而实现了资源宣告请求所要实现的具体内容。
可选实现方式(四):上述时序200还可以包括以下步骤212到步骤214:
步骤212,SPV节点响应于确定所收到的交易请求中的子交易请求中包括入账交易请求,确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中是否包括与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址。
这里,入账交易请求可以包括待入账数量以及待入账加密数字资源标识或者待入账数字货币标识二者之一。
如果SPV节点确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中不包括与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址,则可以转到步骤213;如果确定包括,则可以转到步骤214。
步骤213,SPV节点组合该SPV节点的虚拟并行链标识和账号地址字符串以及待入账加密数字资源标识或者待入账数字货币标识二者之一得到账号地址,将所得到的账号地址确定为与入账交易请求对应的入账账号地址,以及将所得到的账号地址添加到该SPV节点的数字货币账号地址集合、股份账号地址集合或者数字资产账号地址集合。
这里,如果SPV节点在步骤212中确定不包括,表明该SPV存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中不存在与入账交易请求中的待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址,则该SPV节点为了执行该入账交易请求,需要生成一个与入账交易请求中的待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址,为此SPV节点可以首先组合该SPV节点的虚拟并行链标识和账号地址字符串以及待入账加密数字资源标识或者待入账数字货币标识二者之一得到账号地址。然后,可以将所得到的账号地址确定为与入账交易请求对应的入账账号地址。最后,可以将所得到的账号地址添加到该SPV节点的数字货币账号地址集合、股份账号地址集合或者数字资产账号地址集合。可以理解的是,如果所得到的账号地址是数字货币账号地址,该所得到的账号地址就会被添加到数字货币账号地址集合中;如果所得到的账号地址是股份账号地址,该所得到的账号地址就会被添加到股份账号地址集合中;以及如果所得到的账号地址是数字资产账号地址,该所得到的账号地址就会被添加到数字资产账号地址集合中。
步骤214,SPV节点将该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址确定为与入账交易请求对应的入账账号地址。
这里,如果SPV节点在步骤212中确定包括,则该SPV节点可以直接将该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址确定为与入账交易请求对应的入账账号地址。
由于页面显示限制,下面继续参考图2E。需要说明的是,图2E的流程除了包括图2E中所示的流程外,还可以包括图2A和图2C中所示的各个步骤。
可选实现方式(五):上述时序200还可以包括以下步骤215和步骤216:
步骤215,SPV节点响应于接收到信息宣告请求,计算信息宣告请求的哈希值,利用信息宣告请求中的记账奖励转出数字货币账号地址对应的私钥对信息宣告请求的哈希值进行签名得到与信息宣告请求对应的签名,将信息宣告请求和对应的签名发送给该SPV节点所属并行链的路由节点。
这里,信息宣告请求可以包括待宣告信息、信息宣告类别标识以及包括预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥。其中,待宣告信息可以是各种信息。例如待宣告信息可以是文字、图像、音频或者程序代码。
信息宣告类别标识用于表征该信息宣告请求是用于宣告信息的,可以区别于交易请求、资源宣告请求等等。
这里,信息宣告请求用于表征宣告待宣告信息,并为了执行该信息宣告请求,从该信息宣告请求中的记账奖励转出数字货币账号地址中转出预设记账币以支付记账奖励。因此,需要利用信息宣告请求中的记账奖励转出数字货币账号地址对应的私钥对信息宣告请求的哈希值进行签名。进而,路由节点可以采取相应的签名验证方法对所收到的信息宣告请求进行签名验证。
步骤216,路由节点响应于对所收到的信息宣告请求签名验证通过,将所收到的信息宣告请求添加到该路由节点的交易请求集合中,将所收到的信息宣告请求用该路由节点的私钥签名后广播给该路由节点的同链矿工节点,以及实时将该路由节点的同链矿工节点的区块链同步到本地区块链。
这里,可以路由节点可以采用与上述步骤215中SPV节点生成与信息宣告请求对应的签名的过程相应的签名验证方法,对所收到的信息宣告请求进行签名验证。
基于上述步骤215和步骤216,子步骤2082可以如下进行:
矿工节点响应于确定所选取的待处理交易请求为信息宣告请求,用该矿工节点的挖矿奖励信息、第二记账奖励信息和目标信息宣告信息生成新区块。
这里,第二记账奖励信息用于表征从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址,而目标信息宣告信息为所选取的待处理交易请求中的待宣告信息。
即,矿工节点在将信息宣告请求记录到区块链的过程中,实现了在该矿工节点的本地区块链中记录了以下内容:第一,从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址;第二,信息宣告请求中的待宣告信息;第三,给予该矿工节点挖矿奖励。从而实现了信息宣告请求所要实现的具体内容。
可选实现方式(五):在上述可选实现方式(四)的基础上,上述可选实现方式(四)中的待宣告信息可以为智能合约。即,在区块链系统的矿工节点中记录了待宣告信息,智能合约。
这里智能合约可以是未经编译的代码,智能合约也可以是经过编译处理的中间代码,还可以是可执行代码。不申请对此不做具体限定。
这样,上述时序200还可以包括以下步骤217到步骤224:
步骤217,SPV节点响应于接收到第一智能合约执行请求,利用第一智能合约执行请求中的记账奖励转出数字货币账号地址对应的私钥对第一智能合约执行请求签名后发送给该SPV节点所属并行链的路由节点。
这里,第一智能合约执行请求可以包括待执行智能合约地址信息、智能合约执行类别标识、智能合约输入参数以及包括预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥。
这里,待执行智能合约地址信息用于指示待执行智能合约的存储地址。作为示例,待执行智能合约地址信息可以包括:智能合约所存储于的矿工节点所属并行链的并行链标识,智能合约所在区块的区块标识。作为示例,待执行智能合约地址信息还可以是智能合约的哈希值。
这里,智能合约执行类别标识用于标识该第一智能合约执行请求是用于执行智能合约的,可以区别于交易请求、资源宣告请求和信息宣告请求等等。
这里,智能合约输入参数是执行待执行智能合约所需要的输入参数。
为了执行智能合约,需要从第一智能合约执行请求中的记账奖励转出数字货币账号地址来支付记账奖励(或称作记账费),因此,需要在该SPV节点的可信执行环境中,利用该可信执行环境中存储的第一智能合约执行请求中的记账奖励转出数字货币账号地址对应的私钥对第一智能合约执行请求进行签名得到与第一智能合约执行请求对应的第二签名信息。执行完步骤217,表明该SPV节点已经授权从第一智能合约执行请求中的记账奖励转出数字货币账号地址中支付记账奖励。
步骤218,路由节点响应于对所收到的签名后的第一智能合约执行请求签名验证通过,根据所收到的第一智能合约执行请求中的待执行智能合约地址信息,获取待执行智能合约。
这里,路由节点可以在收到SPV节点发送的签名后的第一智能合约执行请求的情况下,首先采用与步骤217中的签名方法相对应的签名验证方法,对所收到的第一智能合约执行请求进行签名验证。如果签名验证通过,则可以根据所收到的第一智能合约执行请求中的待执行智能合约地址信息,获取待执行智能合约。
例如,当待执行智能合约地址信息包括并行链标识和区块标识的情况下,路由节点可以在该并行链标识所指示的并行链中的路由节点中查找区块标识所指示的区块,从而得到待执行智能合约。
步骤219,路由节点将所收到的第一智能合约执行请求中的智能合约输入参数作为输入,执行所获取的待执行智能合约,得到至少一个输出交易请求。
这里,路由节点执行待执行智能合约后可以得到至少一个输出交易请求。即,这里待执行智能合约中的代码逻辑对应的操作不是任意操作,而是执行待执行智能合约只能得到至少一个输出交易请求。实践中,可以在路由节点中安装脚本虚拟机(SVM,ScriptVirtual Machine),由上述脚本虚拟机来执行待执行智能合约。
步骤220,路由节点将所得到的至少一个输出交易请求添加到该路由节点的交易请求集合中。
步骤221,路由节点对于所得到的至少一个输出交易请求中的每个输出交易请求,用所收到的第一智能合约执行请求的哈希值、该输出交易请求在所得到的至少一个输出交易请求中的序号和该输出交易请求的哈希值生成与该输出交易请求对应的待执行交易请求,将所生成的待执行交易请求利用该路由节点的私钥进行签名,得到第三签名信息,将所获取的待执行智能合约、所生成的待执行交易请求和对应的第三签名信息作为第二智能合约执行请求广播该路由节点的同链矿工节点。
即,经过步骤221,对于步骤219中执行待执行智能合约所得到的每个输出交易请求,生成了对应的第二智能合约执行请求,并将所生成的第二智能合约执行请求广播给了该路由节点的同链矿工节点。每个输出交易请求对应的第二智能合约执行请求中包括了待执行智能合约、该输出交易请求对应的待执行交易请求和对应的第三签名信息。其中,第三签名信息是利用该路由节点的私钥进行签名的。而每个输出交易请求对应的待执行交易请求中包括以下内容:第一智能合约执行请求的哈希值、该输出交易请求在所得到的至少一个输出交易请求中的序号和该输出交易请求的哈希值。
步骤222,矿工节点响应于接收到同链路由节点发送的第二智能合约执行请求,执行所收到的待执行智能合约,得到至少一个输出交易请求。
这里,矿工节点可以在接收到同链路由节点发送的第二智能合约执行请求的情况下,执行所收到第二智能合约执行请求中的待执行智能合约,并得到至少一个输出交易请求。
这里,矿工节点执行待执行智能合约后可以得到至少一个输出交易请求。即,这里待执行智能合约中的代码逻辑对应的操作不是任意操作,而是执行待执行智能合约只能得到至少一个输出交易请求。实践中,可以在矿工节点中安装脚本虚拟机,由上述脚本虚拟机来执行待执行智能合约。
步骤223,矿工节点确定所得到的至少一个输出交易请求中所收到的待执行交易请求中的序号所指示的输出交易请求。
这里,矿工节点收到的第二智能合约执行请求中会包括输出交易请求的序号,则矿工节点可以按照该序号在步骤222中所得到的至少一个输出交易请求中确定出该序号所指示的输出交易请求。
步骤224,矿工节点响应于对所确定的输出交易请求校验通过,将所确定的输出交易请求添加到该矿工节点的待处理交易请求集合中。
这里,矿工节点所收到的第二智能合约执行请求中包括了利用该路由节点的私钥对输出交易请求进行签名所得到的第三签名信息。因此,矿工节点可以按照步骤221中对输出交易请求进行签名的方法对应的签名验证方法,对步骤223中所确定的输出交易请求进行签名验证,以及矿工节点还可以用所收到的第二智能合约执行请求中的输出交易请求的哈希值对步骤223中所确定的输出交易请求进行哈希值验证,如果上述签名验证和哈希值验证均通过,则表明对步骤223中所确定的输出交易请求进行校验通过。如果校验通过,矿工节点即可以将步骤223中所确定的输出交易请求添加到该矿工节点的待处理交易请求集合中,并在后续竞争到该矿工节点所在并行链的记账权的情况下,按照子步骤2081到子步骤2083中所记载的方法对待处理交易请求集合中的待处理交易进行处理。
由于页面显示限制,下面继续参考图2F。需要说明的是,图2F的流程除了包括图2F中所示的流程外,还可以包括图2A、图2C和图2E中所示的各个步骤。
可选实现方式(六):SPV节点中可以设置有可信执行环境。这样,上述时序200还可以包括以下步骤225到步骤229:
步骤225,SPV节点响应于接收到数字货币宣告请求,确定预设对应关系表中是否存在数字货币宣告请求中的记账奖励转出数字货币账号地址、待宣告数字货币标识和数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系。
这里,数字货币宣告请求可以包括数字货币宣告类别标识、待宣告数字货币标识、数字货币宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址。
这里数字货币宣告类别标识用于表征数字货币宣告请求是用于宣告数字货币的,区别于交易请求、资源宣告请求、信息宣告请求等等。
这里,数字货币宣告请求用于表征宣告数字货币宣告目标账号地址对应的待宣告数字货币标识所指示的数字货币的数量为待宣告数量,且从数字货币宣告请求中的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励。
可以理解的是,如果所有用户都可以随意宣告给自己增加多少哪种数字货币,那么该区块链系统是不安全的。因此,这里引入了预设对应关系表用于表征特权账号地址、数字货币标识、加密数字货币资源标识三者之间的对应关系,只有在预设对应关系表中存在数字货币宣告请求中的记账奖励转出数字货币账号地址、待宣告数字货币标识和数字货币宣告目标账号地址之间的对应关系的情况下,才能执行数字货币宣告操作。
步骤226,SPV节点响应于确定存在,计算数字货币宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第二签名操作,得到与数字货币宣告请求的哈希值对应的第四签名信息。
这里,SPV节点可以在步骤225中确定预设对应关系表中存在数字货币宣告请求中的记账奖励转出数字货币账号地址、待宣告数字货币标识和数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系的情况下,计算数字货币宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第二签名操作,得到与数字货币宣告请求的哈希值对应的第四签名信息。
可选地,第二签名操作可以如下进行:
首先,可以用数字货币宣告目标账号地址对应的私钥对数字货币宣告请求的哈希值进行签名,得到第三明文签名。
然后,可以根据数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥。
这里,可以采用各种实现方式,根据数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥。例如,可以采用第四预设计算公式,根据数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥。
最后,可以用所确定的加密密钥对所得到的第三明文签名进行对称加密,得到与数字货币宣告请求的哈希值对应的第四签名信息。
即,第二签名操作可以是先用私钥签名,再对称加密。
可选地,第二签名操作也可以如下进行:
首先,可以根据数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥。
然后,可以用所确定的加密密钥对数字货币宣告请求的哈希值进行对称加密,得到哈希值密文。
最后,可以用数字货币宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与数字货币宣告请求的哈希值对应的第四签名信息。
即,第二签名操作也可以是先对称加密,再用私钥签名。
可以理解的是,第二签名操作的具体做法不同,在路由节点接收到由上述数字货币宣告请求以及对应的第四签名信息所生成的交易请求后,对所收到的交易请求进行签名验证时也会相应采用不同的签名验证方法。
步骤227,SPV节点将数字货币宣告请求和对应的第四签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
经过步骤225到步骤227,SPV节点发送给该SPV节点所属并行链的路由节点的交易请求中包括了数字货币宣告请求和对应的第四签名信息。换言之,可以认为SPV节点已经授权从数字货币宣告请求中的记账奖励转出数字货币账号地址支付记账奖励,SPV节点已经确定数字货币宣告请求中的记账奖励转出数字货币账号地址为特权账号地址,有权宣告数字货币宣告请求中的待宣告数字货币标识所指示的数字货币。
实践中,还可借助一些方式核实数字货币宣告请求的真实性与待宣告数字货币标识所指示的数字货币的待宣告数量的真实性。
步骤228,路由节点响应于对所收到的包括数字货币宣告请求和对应的第四签名信息的交易请求签名验证通过,将所收到的数字货币宣告请求添加到该路由节点的交易请求集合中。
基于上述步骤223到步骤228,子步骤2082也可以如下进行:
矿工节点可以响应于确定所选取的待处理交易请求为数字货币宣告请求,确定该矿工节点的预设对应关系表中是否存在所选取的待处理交易请求中的记账奖励转出数字货币账号地址、待宣告数字货币标识和数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系。如果确定存在,表明所选取的数字货币宣告请求中的记账奖励转出数字货币账号地址有权宣告待宣告数字货币标识所指示的数字货币,则矿工节点可以在该矿工节点的可信执行环境中执行以下数字货币宣告操作:
第一步,用所选取的待处理交易请求中的数字货币宣告目标账号地址中的虚拟并行链标识和账号地址字符串以及所选取的待处理交易请求中的待宣告数字货币标识生成目标宣告数字货币账号地址。
这里,为了和数字资产宣告请求格式上尽量一致以减少代码修改成本,数字货币宣告请求中的数字货币宣告目标账号地址可以是数字资产账号地址,其中包括加密数字资源标识,而不包括数字货币标识。为了宣告数字货币,需要一个数字货币账号地址,而不是一个数字资产账号地址。因此,需要对数字货币宣告请求中的数字货币宣告目标账号地址进行改造,以得到后续用于宣告数字货币的数字货币账号地址。即,这里可以用所选取的待处理交易请求中的数字货币宣告目标账号地址中的虚拟并行链标识和账号地址字符串以及所选取的待处理交易请求中的待宣告数字货币标识生成目标宣告数字货币账号地址。所生成的目标宣告数字货币账号地址即为将要宣告增加待宣告数量个待宣告数字货币标识所指示的数字货币的数字货币账号地址。
第二步,用该矿工节点的挖矿奖励信息和第三记账奖励信息以及目标数字货币宣告信息生成新区块。
这里,第三记账奖励信息用于表征从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址。而目标数字货币宣告信息用于表征将所生成的目标宣告数字货币账号地址对应的未花费用增加所选取的待处理交易请求中的待宣告数量。由于目标宣告数字货币账号地址中已经包括了待宣告数字货币标识,也就相当于宣告了目标宣告数字货币账号地址增加待宣告数量个待宣告数字货币标识所指示的数字货币。
如果不采用上述可选实现方式,区块链系统支持的数字货币只有预设记账币和预设挖矿币两种。其中,预设记账币用于支付记账费和转账交易,预设挖矿币用于挖矿奖励。采用上述可选实现方式(六),区块链系统可以支持其他数字货币,从而实现多通证区块链系统。现有技术中往往是在区块链交易所实现多通证之间的交易,而区块链交易所所需成本是非常高的。采用上述可选实现方式(六)实现的区块链系统,仅需要某些拥有特权账号地址的SPV节点设置可信执行环境即可,而可信执行环境的成本相对于区块链交易所的成本是很低的。因此,上述可选实现方式(六)降低了实现多通证区块链系统的成本。
可选实现方式(七):上述时序200还可以包括以下步骤229到步骤232:
步骤229,路由节点响应于接收到同链SPV节点发送的价值交换请求和对应的各个签名信息,确定所收到的价值交换请求中的监控路由节点所属并行链的并行链标识与该路由节点所属并行链的并行链标识是否相同。
这里,路由节点可以在接收到同链SPV节点发送的价值交换请求和对应的各个签名信息的情况下,确定所收到的价值交换请求中的监控路由节点所属并行链的虚拟并行链标识所推导得到的并行链标识与该路由节点所属并行链的并行链标识是否相同。如果相同,表明该路由节点收到的价值交换请求是由该路由节点进行监控的,那么可以转到步骤230继续执行。
这里,价值交换请求可以包括监控路由节点的虚拟并行链标识、第一转账请求、至少一个第二转账请求和第一记账请求。
这里,第一转账请求可以包括第一转账对象标识、第一转账数量、第一出账账号地址、第一入账账号地址。第一转账请求用于表征将第一出账账号地址对应的未花费用减少第一转账数量的第一转账对象标识所指示的转账对象,以及将第一入账账号地址对应的未花费用增加第一转账数量的第一转账对象标识所指示的转账对象。
这里,第一记账请求可以包括预设记账币标识的记账奖励转出数字货币账号地址。
这里,第一记账请求中的记账奖励转出数字货币账号地址中的虚拟并行链标识和账号地址字符串可以分别与第一出账账号地址中的虚拟并行链标识和账号地址字符串相同。即,价值交换请求中需要包括一个转账交易请求,即第一转账交易请求,由与该第一转账交易请求中的第一出账账号地址的虚拟并行链标识和账号地址字符串均相同的账号地址(即,记账奖励转出数字货币账号地址)来支付记账奖励。换言之,也可以认为是由与发起交易的账号地址(可以认为是第一出账账号地址)属于同一SPV节点的账号地址(可以认为是记账奖励转出数字货币账号地址)来支付记账奖励。
这里,第一记账请求中的记账奖励转出数字货币账号地址对应的并行链的并行链标识(即根据记账奖励转出数字货币账号地址中的虚拟并行链标识所推导得到的并行链标识)可以与监控路由节点所属并行链的并行链标识相同。即,由发起交易的账号地址对应的并行链的路由节点,也是为价值交换请求支付记账奖励的第一记账请求中的记账奖励转出数字货币账号地址对应的并行链的路由节点,也就是监控路由节点,监控价值交换请求的执行过程。
这里,第一转账对象标识可以为第一出账数字货币标识或者第一出账加密数字资源标识,即,第一转账对象标识可以是数字货币标识、股份类别的加密数字资源标识或者数字资产类别的加密数字资源标识。
这里,第一出账账号地址和第一入账账号地址可以均包括第一转账对象标识。即,第一出账账号地址和第一入账账号地址对应同一个数字货币标识、股份类别的加密数字资源标识或者数字资产类别的加密数字资源标识。否则,第一出账账号地址无法和第一入账账号地址之间实现对第一转账对象标识所指示的转账对象的出账和入账操作。
这里,第二转账请求可以包括不同于第一转账对象标识的第二转账对象标识、第二转账数量、第二出账账号地址和第二入账账号地址。
这里,第二转账请求用于表征将第二出账账号地址对应的未花费用减少第二转账数量的第二转账对象标识所指示的转账对象,以及将第二入账账号地址对应的未花费用增加第二转账数量的第二转账对象标识所指示的转账对象。
这里,第二转账请求中的第二转账对象标识为第二出账数字货币标识或者第二出账加密数字资源标识,即,第二转账对象标识可以是数字货币标识、股份类别的加密数字资源标识或者数字资产类别的加密数字资源标识。
这里,第二转账请求中的第二出账账号地址和第二入账账号地址可以均包括相应第二转账请求中的第二转账对象标识。即,第二出账账号地址和第二入账账号地址对应同一个数字货币标识、股份类别的加密数字资源标识或者数字资产类别的加密数字资源标识。否则,第二出账账号地址无法和第二入账账号地址之间实现对第二转账对象标识所指示的转账对象的出账和入账操作。
步骤230,路由节点响应于确定相同,用所收到的价值交换请求中的第一出账账号地址对应的公钥和各个第二出账账号地址对应的公钥对所收到的价值交换请求进行签名验证。
这里,价值交换请求中涉及出账的账号包括第一出账账号地址和各个第二出账账号地址,因此路由节点接收到价值交换请求的同时还会接收到对应的各个签名信息,其中,包括用第一出账账号地址对应的私钥对价值交换请求进行的签名和用每个第二出账账号地址对应的私钥对价值交换请求进行的签名。
因此,路由节点可以在步骤229中确定所收到的价值交换请求中的监控路由节点所属并行链的并行链标识与该路由节点所属并行链的并行链标识相同的情况下,用所收到的价值交换请求中的第一出账账号地址对应的公钥和各个第二出账账号地址对应的公钥对所收到的价值交换请求进行签名验证。
步骤231,路由节点响应于签名验证通过,将第一转账请求、至少一个第二转账请求和第一记账请求添加到该路由节点的交易请求集合中,将各第二转账请求中的出账交易请求发送给相应第二转账请求中的出账账号地址对应的并行链的路由节点,将第一转账请求中的出账交易请求和第一记账请求发送给该路由节点的同链矿工节点。
这里,路由节点可以在步骤230中用所收到的价值交换请求中的第一出账账号地址对应的公钥和各个第二出账账号地址对应的公钥对所收到的价值交换请求进行签名验证均通过的情况下,将第一转账请求、至少一个第二转账请求和第一记账请求添加到该路由节点的交易请求集合中,以实现未来对第一转账请求、至少一个第二转账请求和第一记账请求的执行过程进行监控;再将各第二转账请求中的出账交易请求发送给相应第二转账请求中的出账账号地址对应的并行链的路由节点;最后,将第一转账请求中的出账交易请求和第一记账请求发送给该路由节点的同链矿工节点。
可以理解的是,确定第二转账请求中的出账交易请求已完成或者确定第一转账请求中的出账交易请求已完成可以是指第二转账请求中的出账交易请求或者第一转账请求中的出账交易请求已经记入区块链中,且第二转账请求中的出账交易请求或者第一转账请求中的出账交易请求对应的记录所在的区块之后已有至少Z个区块。例如,对于比特币系统,Z可以取值为6。
可以理解的是,各条并行链中的路由节点之间存在安全通信通道,如消息通信,并且这些路由节点由同一实体(公司或机构)运营,各路由节点彼此内置其它所有路由节点的的公钥,上述由路由节点对第一转账请求与第二转账请求所作的签名均可被任意路由节点取得对应公钥的实施签名验证。
可以理解的是,各条并行链之间的通信还可借助非关系型数据库(NoSQL,NotOnly SQL)实现。各条并行链中的路由节点都能读写指定的NoSQL数据库,通过一端写入对端读出也能构造通信机制。使用NoSQL数据库除了实现通信,还支持跨链数据查询。比如上述第一转账交易请求与第二转账交易请求的出账结果都可以写入数据库,当前路由节点要确定这两个转账交易请求中的出账交易请求是否完成只需查询NoSQL数据库即可。
步骤232,路由节点响应于确定各第二转账请求中的出账交易请求已完成,以及确定第一转账请求中的出账交易请求已完成,将第一转账请求中的入账交易请求发送给第一转账请求中的第一入账账号地址对应的并行链的路由节点,以及将各第二转账请求中的入账交易请求发送给各第二转账请求中的第二入账账号地址对应的并行链的路由节点。
由于第一转账请求和第二转账请求既包括出账交易请求(即,减少出账账号对应的未花费用),也包括入账交易请求(即,增加入账账号对应的未花费用)。这里,均是先在步骤231中处理出账交易请求,待出账交易请求完成后,再在步骤232中处理入账交易请求。
采用上述可选实现方式(七),可在上述区块链系统中实现多于一种(如数字货币、股份、数字资产)的价值交换。
进一步参考图3A,其示出了请求处理方法的一个实施例的流程300。该方法应用于区块链系统中的SPV节点。其中,区块链系统可以包括至少一个并行链。而并行链可以包括路由节点、至少一个矿工节点和至少一个SPV节点。每个并行链的各个矿工节点采用分布式数据区块链存储数据。至少一个并行链的路由节点之间网络连接。路由节点和矿工节点均设置有可信执行环境。SPV节点中存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合。其中,数字货币账号地址、股份账号地址和数字资产账号地址均包括账号地址字符串和该SPV节点的虚拟并行链标识。数字货币账号地址、股份账号地址和数字资产账号地址分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识。该请求处理方法的流程300,包括以下步骤:
步骤301,响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点。
在本实施例中,请求处理方法的执行主体(例如图1所示的SPV节点)可以响应于接收到交易请求,将所收到的交易请求发送给上述执行主体对应的SPV节点所属并行链的路由节点。
其中,交易请求可以包括记账奖励交易请求和至少一个子交易请求。记账奖励交易请求可以用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励。子交易请求的交易对象可以包括数字资源和数字货币。数字资源可以包括股份和数字资产。用于指示数字资源的加密数字资源标识可以是在可信执行环境中通过对数字资源标识对称加密所得到的。数字资源标识可以包括环境标识、资源类别标识和资源标识。环境标识可以包括用于指示可信执行环境的厂商标识和产品标识。
在本实施例中,步骤301的具体操作及其所产生的技术效果与图2所示的实施例中步骤201的描述基本相同,在此不再赘述。
在本实施例的一些可选的实现方式中,资源类别标识可以包括用于指示股份类别的股份类别标识和用于指示数字资产类别的数字资产类别标识。
在本实施例的一些可选的实现方式中,与股份类别标识对应的资源标识可以为预设股份资源标识,与数字资产类别标识对应的资源标识可以为不同于预设股份资源标识的数字资产资源标识。
在本实施例的一些可选的实现方式中,厂商标识与产品标识均可以为4字节无符号整数,资源类别标识可以为4位无符号整数,资源标识可以为大于等于128的12位无符号整数,预设股份资源标识可以为128,数字资产资源标识可以为大于预设股份资源标识的12位无符号整数,用于指示数字货币的数字货币标识可以为1字节的0到63之间的正整数。
在本实施例的一些可选的实现方式中,上述流程300还可以包括以下步骤302到步骤304:
步骤302,响应于接收到资源宣告请求,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,得到与资源宣告请求的哈希值对应的第一签名信息。
这里,资源宣告请求可以包括资源宣告类别标识、资源宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,资源宣告类别标识可以为股份宣告交易类别标识或者数字资产宣告交易类别标识,
步骤303,利用该SPV节点的可信执行环境中存储的记账奖励转出数字货币账号地址对应的私钥对资源宣告请求的哈希值进行签名得到与资源宣告请求对应的第二签名信息。
步骤304,将资源宣告请求以及对应的第一签名信息和第二签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
这里,步骤302到步骤304的具体操作及其所产生的技术效果与图2C所示的实施例中步骤209到步骤211的描述基本相同,在此不再赘述。
在本实施例的一些可选的实现方式中,上述步骤302还可以包括如图3B所示的子步骤3021到子步骤3024:
子步骤3021,响应于接收到资源宣告请求,确定资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识还是股份宣告交易类别标识。
如果确定资源宣告请求中的资源宣告类别标识是数字资产宣告交易类别标识,则转到子步骤3022。如果确定是股份宣告交易类别标识,则转到子步骤3023。
子步骤3022,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作。
这里,SPV节点可以在子步骤3021中确定资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识,或者在子步骤3023中确定资源宣告请求中的资源宣告目标账号地址不存在交易记录的情况下,计算资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,从而得到与资源宣告请求的哈希值对应的第一签名信息。
子步骤3023,确定资源宣告请求中的资源宣告目标账号地址是否存在交易记录。
这里,如果SPV节点在子步骤3021中确定资源宣告请求中的资源宣告类别标识是股份宣告交易类别标识,则可以确定资源宣告请求中的资源宣告目标账号地址是否存在交易记录。如果确定存在交易记录,表明资源宣告请求中的资源宣告目标账号地址已经宣告过股份。而对于同一个账号地址,股份宣告交易类别的资源宣告请求只能宣告一次,则可以转到子步骤3024,不再执行资源宣告的后续操作;如果确定不存在交易记录,表明资源宣告请求中的资源宣告目标账号地址不曾宣告过股份,则可以转到子步骤3022进行资源宣告的后续操作。
子步骤3024,生成并呈现用于指示该SPV节点不能再进行股份宣告的第一提示信息。
这里,子步骤3021到子步骤3024的具体操作及其所产生的技术效果与图2B所示的实施例中子步骤2091到子步骤2094的描述基本相同,在此不再赘述。
在本实施例的一些可选的实现方式中,上述流程300还可以包括以下步骤305到步骤307:
步骤305,响应于确定所收到的交易请求中的子交易请求中包括入账交易请求,确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中是否包括与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址。
这里,入账交易请求可以包括待入账数量以及待入账加密数字资源标识或者待入账数字货币标识二者之一。
如果SPV节点确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中不包括与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址,则可以转到步骤306;如果确定包括,则可以转到步骤307。
步骤306,组合该SPV节点的虚拟并行链标识和账号地址字符串以及待入账加密数字资源标识或者待入账数字货币标识二者之一得到账号地址,将所得到的账号地址确定为与入账交易请求对应的入账账号地址,以及将所得到的账号地址添加到该SPV节点的数字货币账号地址集合、股份账号地址集合或者数字资产账号地址集合。
步骤307,将该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中与待入账加密数字资源标识或者待入账数字货币标识二者之一对应的账号地址确定为与入账交易请求对应的入账账号地址。
这里,步骤305到子步骤307的具体操作及其所产生的技术效果与图2C所示的实施例中步骤212到子步骤214的描述基本相同,在此不再赘述。
在本实施例的一些可选的实现方式中,上述流程300还可以包括以下步骤308:
步骤308,响应于接收到信息宣告请求,计算信息宣告请求的哈希值,利用信息宣告请求中的记账奖励转出数字货币账号地址对应的私钥对信息宣告请求的哈希值进行签名得到与信息宣告请求对应的签名,将信息宣告请求和对应的签名发送给该SPV节点所属并行链的路由节点。
这里,信息宣告请求可以包括待宣告信息、信息宣告类别标识以及包括预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥。
这里,步骤308的具体操作及其所产生的技术效果与图2E所示的实施例中步骤215的描述基本相同,在此不再赘述。
在本实施例的一些可选的实现方式中,上述流程300还可以包括以下步骤309:
步骤309,响应于接收到第一智能合约执行请求,利用第一智能合约执行请求中的记账奖励转出数字货币账号地址对应的私钥对第一智能合约执行请求签名后发送给该SPV节点所属并行链的路由节点。
这里,第一智能合约执行请求可以包括待执行智能合约地址信息、智能合约执行类别标识、智能合约输入参数以及包括预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥。
这里,步骤309的具体操作及其所产生的技术效果与图2E所示的实施例中步骤217的描述基本相同,在此不再赘述。
在本实施例的一些可选的实现方式中,上述流程300还可以包括以下步骤310和步骤311:
步骤310,响应于接收到数字货币宣告请求,确定预设对应关系表中是否存在数字货币宣告请求中的记账奖励转出数字货币账号地址、待宣告数字货币标识和数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系。
这里,数字货币宣告请求可以包括数字货币宣告类别标识、待宣告数字货币标识、数字货币宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址。而预设对应关系表可以用于表征特权账号地址、数字货币标识、加密数字货币资源标识三者之间的对应关系。
步骤311,响应于确定存在,计算数字货币宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第二签名操作,得到与数字货币宣告请求的哈希值对应的第四签名信息,将数字货币宣告请求和对应的第四签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
这里,步骤310和步骤311的具体操作及其所产生的技术效果与图2F所示的实施例中步骤225和步骤226的描述基本相同,在此不再赘述。
本申请的上述实施例提供的应用于区块链系统的SPV节点的请求处理方法,通过采用在区块链系统中引入至少一个并行链,将交易处理过程从单链串行方式,改进为多链并发方式。并且,通过在SPV节点的账号地址中分别引入数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识,继而实现在SPV节点支持数字货币、股份和数字资产三种价值形式的交易请求的处理。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种请求处理装置的一个实施例,该装置实施例与图3所示的方法实施例相对应,该装置具体可以应用于区块链系统的SPV节点中。其中,区块链系统可以包括至少一个并行链。而并行链可以包括路由节点、至少一个矿工节点和至少一个SPV节点。每个并行链的各个矿工节点采用分布式数据区块链存储数据。至少一个并行链的路由节点之间网络连接。路由节点和矿工节点均设置有可信执行环境。SPV节点中存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合。其中,数字货币账号地址、股份账号地址和数字资产账号地址均包括账号地址字符串和该SPV节点的虚拟并行链标识。数字货币账号地址、股份账号地址和数字资产账号地址分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识。
如图4所示,本实施例的请求处理装置400包括:交易请求发送单元401。其中,交易请求发送单元401,被配置成:响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点,其中,上述交易请求包括记账奖励交易请求和至少一个子交易请求,上述记账奖励交易请求用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励,子交易请求的交易对象包括数字资源和数字货币,数字资源包括股份和数字资产,用于指示数字资源的加密数字资源标识是在可信执行环境中通过对数字资源标识对称加密所得到的,数字资源标识包括环境标识、资源类别标识和资源标识,其中,环境标识包括用于指示可信执行环境的厂商标识和产品标识。
在本实施例中,请求处理装置400的交易请求发送单元401的具体处理及其所带来的技术效果可参考图2A对应实施例中步骤201的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,资源类别标识可以包括用于指示股份类别的股份类别标识和用于指示数字资产类别的数字资产类别标识。
在本实施例的一些可选的实现方式中,与股份类别标识对应的资源标识可以为预设股份资源标识,与数字资产类别标识对应的资源标识可以为不同于上述预设股份资源标识的数字资产资源标识。
在本实施例的一些可选的实现方式中,厂商标识与产品标识均可以为4字节无符号整数,资源类别标识可以为4位无符号整数,资源标识可以为大于等于128的12位无符号整数,预设股份资源标识可以为128,数字资产资源标识可以为大于上述预设股份资源标识的12位无符号整数,用于指示数字货币的数字货币标识可以为1字节的0到63之间的正整数。
在本实施例的一些可选的实现方式中,上述装置400还可以包括:第一签名单元402,被配置成响应于接收到资源宣告请求,其中,上述资源宣告请求包括资源宣告类别标识、资源宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,资源宣告类别标识为股份宣告交易类别标识或者数字资产宣告交易类别标识,计算上述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,得到与上述资源宣告请求的哈希值对应的第一签名信息;第二签名单元403,被配置成利用该SPV节点的可信执行环境中存储的上述记账奖励转出数字货币账号地址对应的私钥对上述资源宣告请求的哈希值进行签名得到与上述资源宣告请求对应的第二签名信息;资源宣告请求发送单元404,被配置成将上述资源宣告请求以及对应的第一签名信息和第二签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
在本实施例的一些可选的实现方式中,上述第一签名操作可以包括:响应于确定该SPV节点的可信执行环境中包括上述资源宣告目标账号地址,用上述资源宣告目标账号地址对应的私钥对上述资源宣告请求的哈希值进行签名,得到第一明文签名;根据上述资源宣告目标账号地址中的加密数字资源标识确定加密密钥;以及用所确定的加密密钥对所得到的第一明文签名进行对称加密,得到与上述资源宣告请求的哈希值对应的第一签名信息。
在本实施例的一些可选的实现方式中,上述第一签名操作也可以包括:响应于确定该SPV节点的可信执行环境中包括上述资源宣告目标账号地址,根据上述资源宣告目标账号地址中的加密数字资源标识确定加密密钥;用所确定的加密密钥对上述资源宣告请求的哈希值进行对称加密,得到哈希值密文;以及用上述资源宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与上述资源宣告请求的哈希值对应的第一签名信息。
在本实施例的一些可选的实现方式中,上述第一签名单元402可以进一步被配置成:响应于接收到资源宣告请求以及确定上述资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识,计算上述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行上述第一签名操作;响应于接收到资源宣告请求以及确定上述资源宣告请求中的资源宣告类别标识为股份宣告交易类别标识,确定上述资源宣告请求中的资源宣告目标账号地址是否存在交易记录;响应于确定存在交易记录,生成并呈现用于指示该SPV节点不能再进行股份宣告的第一提示信息;响应于确定不存在交易记录,计算上述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行上述第一签名操作。
在本实施例的一些可选的实现方式中,上述装置400还可以包括:第一确定单元405,被配置成:响应于确定所收到的交易请求中的子交易请求中包括入账交易请求,上述入账交易请求包括待入账数量以及待入账加密数字资源标识或者待入账数字货币标识二者之一,确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中是否包括与上述待入账加密数字资源标识或者上述待入账数字货币标识二者之一对应的账号地址;第一入账账号地址确定单元406,被配置成响应于确定不包括,组合该SPV节点的虚拟并行链标识和账号地址字符串以及上述待入账加密数字资源标识或者上述待入账数字货币标识二者之一得到账号地址,将所得到的账号地址确定为与上述入账交易请求对应的入账账号地址,以及将所得到的账号地址添加到该SPV节点的数字货币账号地址集合、股份账号地址集合或者数字资产账号地址集合;第二入账账号地址确定单元407,被配置成响应于确定包括,将该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中与上述待入账加密数字资源标识或者上述待入账数字货币标识二者之一对应的账号地址确定为与上述入账交易请求对应的入账账号地址。
在本实施例的一些可选的实现方式中,上述装置400还可以包括:信息宣告请求发送单元408,被配置成:响应于接收到信息宣告请求,其中,上述信息宣告请求包括待宣告信息、信息宣告类别标识以及包括上述预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,计算上述信息宣告请求的哈希值,利用上述信息宣告请求中的记账奖励转出数字货币账号地址对应的私钥对上述信息宣告请求的哈希值进行签名得到与上述信息宣告请求对应的签名,将上述信息宣告请求和对应的签名发送给该SPV节点所属并行链的路由节点。
在本实施例的一些可选的实现方式中,上述待宣告信息可以为智能合约;以及上述装置400还可以包括:第一智能合约执行请求发送单元409,被配置成响应于接收到第一智能合约执行请求,其中,上述第一智能合约执行请求包括待执行智能合约地址信息、智能合约执行类别标识、智能合约输入参数以及包括上述预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,利用上述第一智能合约执行请求中的记账奖励转出数字货币账号地址对应的私钥对上述第一智能合约执行请求签名后发送给该SPV节点所属并行链的路由节点。
在本实施例的一些可选的实现方式中,SPV节点可以设置有可信执行环境;以及上述装置400还可以包括:第二确定单元410,被配置成:响应于接收到数字货币宣告请求,其中,上述数字货币宣告请求包括数字货币宣告类别标识、待宣告数字货币标识、数字货币宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,确定预设对应关系表中是否存在上述数字货币宣告请求中的记账奖励转出数字货币账号地址、上述待宣告数字货币标识和上述数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系,其中,上述预设对应关系表用于表征特权账号地址、数字货币标识、加密数字货币资源标识三者之间的对应关系;数字货币宣告请求发送单元411,被配置成:响应于确定存在,计算上述数字货币宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第二签名操作,得到与上述数字货币宣告请求的哈希值对应的第四签名信息,将上述数字货币宣告请求和对应的第四签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
在本实施例的一些可选的实现方式中,上述第二签名操作可以包括:用上述数字货币宣告目标账号地址对应的私钥对上述数字货币宣告请求的哈希值进行签名,得到第三明文签名;根据上述数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;以及用所确定的加密密钥对所得到的第三明文签名进行对称加密,得到与上述数字货币宣告请求的哈希值对应的第四签名信息。
在本实施例的一些可选的实现方式中,上述第二签名操作可以包括:根据上述数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;用所确定的加密密钥对上述数字货币宣告请求的哈希值进行对称加密,得到哈希值密文;以及用上述数字货币宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与上述数字货币宣告请求的哈希值对应的第四签名信息。
需要说明的是,本申请实施例提供的请求处理装置中各单元的实现细节和技术效果可以参考本申请中其它实施例的说明,在此不再赘述。
下面参考图5,其示出了适于用来实现本申请实施例的SPV节点的计算机系统500的结构示意图。图5示出的SPV节点仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU,Central Processing Unit)501,其可以根据存储在只读存储器(ROM,Read Only Memory)502中的程序或者从存储部分508加载到随机访问存储器(RAM,Random Access Memory)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM502以及RAM 503通过总线504彼此相连。输入/输出(I/O,Input/Output)接口505也连接至总线504。
在一些情况下,计算机系统500还可以包括可信执行环境(图5中未示出)。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,Liquid Crystal Display)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN(局域网,Local AreaNetwork)卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括交易请求发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,接收单元还可以被描述为“将所收到的交易请求发送给该SPV节点所属并行链的路由节点的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点,其中,交易请求包括记账奖励交易请求和至少一个子交易请求,记账奖励交易请求用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励,子交易请求的交易对象包括数字资源和数字货币,数字资源包括股份和数字资产,用于指示数字资源的加密数字资源标识是在可信执行环境中通过对数字资源标识对称加密所得到的,数字资源标识包括环境标识、资源类别标识和资源标识,其中,环境标识包括用于指示可信执行环境的厂商标识和产品标识。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (33)
1.一种区块链系统,包括至少一个并行链,并行链包括路由节点、至少一个矿工节点和至少一个简化支付验证SPV节点,每个并行链的各个矿工节点采用分布式数据区块链存储数据,所述至少一个并行链的路由节点之间网络连接,路由节点和矿工节点均设置有可信执行环境,SPV节点中存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合,数字货币账号地址、股份账号地址和数字资产账号地址均包括账号地址字符串和该SPV节点的虚拟并行链标识,数字货币账号地址、股份账号地址和数字资产账号地址分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识,其中:
SPV节点被配置成:
响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点,其中,所述交易请求包括记账奖励交易请求和至少一个子交易请求,所述记账奖励交易请求用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励,子交易请求的交易对象包括数字资源和数字货币,数字资源包括股份和数字资产,用于指示数字资源的加密数字资源标识是在可信执行环境中通过对数字资源标识对称加密所得到的,数字资源标识包括环境标识、资源类别标识和资源标识,其中,环境标识包括用于指示可信执行环境的厂商标识和产品标识;
路由节点被配置成:
响应于对所收到的交易请求校验通过,将所收到的交易请求添加到该路由节点的交易请求集合中,将所收到的交易请求中的链内交易请求签名后广播给该路由节点的同链矿工节点;实时将该路由节点的同链矿工节点的区块链同步到本地区块链;确定所收到的交易请求中的跨链交易请求;将所确定的跨链交易请求发送给目标并行链的路由节点,其中,所述目标并行链是所确定的跨链交易请求中的出账账号地址或入账账号地址对应的并行链;以及响应于接收到异链路由节点发送的交易请求,将所收到的交易请求签名后广播给该路由节点的同链矿工节点;
矿工节点被配置成:
响应于对从同链路由节点接收到的交易请求签名验证通过,将所收到的交易请求添加到该矿工节点的待处理交易请求集合;响应于竞争到该矿工节点所属并行链的记账权,执行以下记账操作:从该矿工节点的待处理交易请求集合中选取待处理交易请求;用所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块,其中,该矿工节点的挖矿奖励信息用于表征将挖矿奖励计入该矿工节点绑定的包括预设挖矿币标识的数字货币账号地址中;将所生成的新区块串接到该矿工节点的本地区块链中;以及将所生成的新区块广播给该矿工节点的其他同链矿工节点。
2.根据权利要求1所述的系统,其中,资源类别标识包括用于指示股份类别的股份类别标识和用于指示数字资产类别的数字资产类别标识。
3.根据权利要求2所述的系统,其中,与股份类别标识对应的资源标识为预设股份资源标识,与数字资产类别标识对应的资源标识为不同于所述预设股份资源标识的数字资产资源标识。
4.根据权利要求3所述的系统,其中,厂商标识与产品标识均为4字节无符号整数,资源类别标识为4位无符号整数,资源标识为大于等于128的12位无符号整数,预设股份资源标识为128,数字资产资源标识为大于所述预设股份资源标识的12位无符号整数,用于指示数字货币的数字货币标识为1字节的0到63之间的正整数。
5.根据权利要求1-4中任一所述的系统,其中,SPV节点还被配置成:
响应于接收到资源宣告请求,其中,所述资源宣告请求包括资源宣告类别标识、资源宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,资源宣告类别标识为股份宣告交易类别标识或者数字资产宣告交易类别标识,计算所述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,得到与所述资源宣告请求的哈希值对应的第一签名信息;利用该SPV节点的可信执行环境中存储的所述记账奖励转出数字货币账号地址对应的私钥对所述资源宣告请求的哈希值进行签名得到与所述资源宣告请求对应的第二签名信息;将所述资源宣告请求以及对应的第一签名信息和第二签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
6.根据权利要求5所述的系统,其中,所述第一签名操作包括:
响应于确定该SPV节点的可信执行环境中包括所述资源宣告目标账号地址,用所述资源宣告目标账号地址对应的私钥对所述资源宣告请求的哈希值进行签名,得到第一明文签名;
根据所述资源宣告目标账号地址中的加密数字资源标识确定加密密钥;以及
用所确定的加密密钥对所得到的第一明文签名进行对称加密,得到与所述资源宣告请求的哈希值对应的第一签名信息。
7.根据权利要求5所述的系统,其中,所述第一签名操作包括:
响应于确定该SPV节点的可信执行环境中包括所述资源宣告目标账号地址,根据所述资源宣告目标账号地址中的加密数字资源标识确定加密密钥;
用所确定的加密密钥对所述资源宣告请求的哈希值进行对称加密,得到哈希值密文;以及
用所述资源宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与所述资源宣告请求的哈希值对应的第一签名信息。
8.根据权利要求5所述的系统,其中,SPV节点被配置成响应于接收到资源宣告请求,计算所述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,包括:
响应于接收到资源宣告请求以及确定所述资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识,计算所述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行所述第一签名操作;
响应于接收到资源宣告请求以及确定所述资源宣告请求中的资源宣告类别标识为股份宣告交易类别标识,确定所述资源宣告请求中的资源宣告目标账号地址是否存在交易记录;
响应于确定存在交易记录,生成并呈现用于指示该SPV节点不能再进行股份宣告的第一提示信息;
响应于确定不存在交易记录,计算所述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行所述第一签名操作。
9.根据权利要求8所述的系统,其中,所述矿工节点被配置成用所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块,包括:
矿工节点被配置成:响应于确定所选取的待处理交易请求为资源宣告请求,用目标数字资源宣告信息、该矿工节点的挖矿奖励信息和第一记账奖励信息生成新区块,所述第一记账奖励信息用于表征从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址,所述目标数字资源宣告信息用于表征将所选取的待处理交易请求中的资源宣告目标账号地址对应的未花费用增加所选取的待处理交易请求中的待宣告数量。
10.根据权利要求9所述的系统,其中,SPV节点还被配置成:
响应于确定所收到的交易请求中的子交易请求中包括入账交易请求,所述入账交易请求包括待入账数量以及待入账加密数字资源标识或者待入账数字货币标识二者之一,确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中是否包括与所述待入账加密数字资源标识或者所述待入账数字货币标识二者之一对应的账号地址;
响应于确定不包括,组合该SPV节点的虚拟并行链标识和账号地址字符串以及所述待入账加密数字资源标识或者所述待入账数字货币标识二者之一得到账号地址,将所得到的账号地址确定为与所述入账交易请求对应的入账账号地址,以及将所得到的账号地址添加到该SPV节点的数字货币账号地址集合、股份账号地址集合或者数字资产账号地址集合;
响应于确定包括,将该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中与所述待入账加密数字资源标识或者所述待入账数字货币标识二者之一对应的账号地址确定为与所述入账交易请求对应的入账账号地址。
11.根据权利要求10所述的系统,其中,SPV节点还被配置成:
响应于接收到信息宣告请求,其中,所述信息宣告请求包括待宣告信息、信息宣告类别标识以及包括所述预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,计算所述信息宣告请求的哈希值,利用所述信息宣告请求中的记账奖励转出数字货币账号地址对应的私钥对所述信息宣告请求的哈希值进行签名得到与所述信息宣告请求对应的签名,将所述信息宣告请求和对应的签名发送给该SPV节点所属并行链的路由节点;
路由节点被配置成:响应于对所收到的信息宣告请求签名验证通过,将所收到的信息宣告请求添加到该路由节点的交易请求集合中,将所收到的信息宣告请求用该路由节点的私钥签名后广播给该路由节点的同链矿工节点;以及实时将该路由节点的同链矿工节点的区块链同步到本地区块链;以及
矿工节点被配置成:用所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块,包括:
矿工节点被配置成:响应于确定所选取的待处理交易请求为信息宣告请求,用该矿工节点的挖矿奖励信息、第二记账奖励信息和目标信息宣告信息生成新区块,其中,所述第二记账奖励信息用于表征从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址,所述目标信息宣告信息为所选取的待处理交易请求中的待宣告信息。
12.根据权利要求11所述的系统,其中,所述待宣告信息为智能合约;以及
SPV节点被配置成:
响应于接收到第一智能合约执行请求,其中,所述第一智能合约执行请求包括待执行智能合约地址信息、智能合约执行类别标识、智能合约输入参数以及包括所述预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,利用所述第一智能合约执行请求中的记账奖励转出数字货币账号地址对应的私钥对所述第一智能合约执行请求签名后发送给该SPV节点所属并行链的路由节点;
路由节点被配置成:响应于对所收到的签名后的第一智能合约执行请求签名验证通过,根据所收到的第一智能合约执行请求中的待执行智能合约地址信息,获取待执行智能合约;将所收到的第一智能合约执行请求中的智能合约输入参数作为输入,执行所获取的待执行智能合约,得到至少一个输出交易请求;将所得到的至少一个输出交易请求添加到该路由节点的交易请求集合中;以及对于所得到的至少一个输出交易请求中的每个输出交易请求,用所收到的第一智能合约执行请求的哈希值、该输出交易请求在所得到的至少一个输出交易请求中的序号和该输出交易请求的哈希值生成与该输出交易请求对应的待执行交易请求,将所生成的待执行交易请求利用该路由节点的私钥进行签名,得到第三签名信息,将所获取的待执行智能合约、所生成的待执行交易请求和对应的第三签名信息作为第二智能合约执行请求广播该路由节点的同链矿工节点;
矿工节点被配置成:响应于接收到同链路由节点发送的第二智能合约执行请求,执行所收到的待执行智能合约,得到至少一个输出交易请求;确定所得到的至少一个输出交易请求中所收到的待执行交易请求中的序号所指示的输出交易请求;响应于对所确定的输出交易请求校验通过,将所确定的输出交易请求添加到该矿工节点的待处理交易请求集合中。
13.根据权利要求12所述的系统,其中,SPV节点设置有可信执行环境;以及
SPV节点还被配置成:
响应于接收到数字货币宣告请求,其中,所述数字货币宣告请求包括数字货币宣告类别标识、待宣告数字货币标识、数字货币宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,确定预设对应关系表中是否存在所述数字货币宣告请求中的记账奖励转出数字货币账号地址、所述待宣告数字货币标识和所述数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系,其中,所述预设对应关系表用于表征特权账号地址、数字货币标识、加密数字货币资源标识三者之间的对应关系;响应于确定存在,计算所述数字货币宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第二签名操作,得到与所述数字货币宣告请求的哈希值对应的第四签名信息,将所述数字货币宣告请求和对应的第四签名信息作为交易请求发送给该SPV节点所属并行链的路由节点;
路由节点被配置成:响应于对所收到的包括数字货币宣告请求和对应的第四签名信息的交易请求签名验证通过,将所收到的数字货币宣告请求添加到该路由节点的交易请求集合中;以及
所述矿工节点被配置成:用所选取的待处理交易请求和该矿工节点的挖矿奖励信息生成新区块,包括:
矿工节点被配置成:
响应于确定所选取的待处理交易请求为数字货币宣告请求,确定该矿工节点的预设对应关系表中是否存在所选取的待处理交易请求中的记账奖励转出数字货币账号地址、待宣告数字货币标识和数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系;响应于确定存在,在该矿工节点的可信执行环境中执行以下数字货币宣告操作:用所选取的待处理交易请求中的数字货币宣告目标账号地址中的虚拟并行链标识和账号地址字符串以及所选取的待处理交易请求中的待宣告数字货币标识生成目标宣告数字货币账号地址;用该矿工节点的挖矿奖励信息和第三记账奖励信息以及目标数字货币宣告信息生成新区块,其中,所述第三记账奖励信息用于表征从所选取的待处理交易请求中的记账奖励转出数字货币账号地址转出预设记账币到接收记账奖励的账号地址,所述目标数字货币宣告信息用于表征将所生成的目标宣告数字货币账号地址对应的未花费用增加所选取的待处理交易请求中的待宣告数量。
14.根据权利要求13所述的系统,其中,所述第二签名操作包括:
用所述数字货币宣告目标账号地址对应的私钥对所述数字货币宣告请求的哈希值进行签名,得到第三明文签名;
根据所述数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;以及
用所确定的加密密钥对所得到的第三明文签名进行对称加密,得到与所述数字货币宣告请求的哈希值对应的第四签名信息。
15.根据权利要求13所述的系统,其中,所述第二签名操作包括:
根据所述数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;
用所确定的加密密钥对所述数字货币宣告请求的哈希值进行对称加密,得到哈希值密文;以及
用所述数字货币宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与所述数字货币宣告请求的哈希值对应的第四签名信息。
16.根据权利要求13所述的系统,其中,路由节点还被配置成:
响应于接收到同链SPV节点发送的价值交换请求和对应的各个签名信息,其中,所述价值交换请求包括监控路由节点的虚拟并行链标识、第一转账请求、至少一个第二转账请求和第一记账请求,第一转账请求包括第一转账对象标识、第一转账数量、第一出账账号地址、第一入账账号地址,所述第一记账请求包括预设记账币标识的记账奖励转出数字货币账号地址,所述第一记账请求中的记账奖励转出数字货币账号地址中的虚拟并行链标识和账号地址字符串分别与所述第一出账账号地址中的虚拟并行链标识和账号地址字符串相同,所述第一记账请求中的记账奖励转出数字货币账号地址对应的并行链的并行链标识与所述监控路由节点所属并行链的并行链标识相同,所述第一转账对象标识为第一出账数字货币标识或者第一出账加密数字资源标识,所述第一出账账号地址和所述第一入账账号地址均包括所述第一转账对象标识,第二转账请求包括不同于所述第一转账对象标识的第二转账对象标识、第二转账数量、第二出账账号地址和第二入账账号地址,第二转账请求中的第二转账对象标识为第二出账数字货币标识或者第二出账加密数字资源标识,第二转账请求中的第二出账账号地址和第二入账账号地址均包括相应第二转账请求中的第二转账对象标识,确定所收到的价值交换请求中的监控路由节点所属并行链的并行链标识与该路由节点所属并行链的并行链标识是否相同;
响应于确定相同,用所收到的价值交换请求中的第一出账账号地址对应的公钥和各个第二出账账号地址对应的公钥对所收到的价值交换请求进行签名验证;
响应于签名验证通过,将所述第一转账请求、所述至少一个第二转账请求和所述第一记账请求添加到该路由节点的交易请求集合中,将各所述第二转账请求中的出账交易请求发送给相应第二转账请求中的出账账号地址对应的并行链的路由节点,将所述第一转账请求中的出账交易请求和所述第一记账请求发送给该路由节点的同链矿工节点;
响应于确定各所述第二转账请求中的出账交易请求已完成,以及确定所述第一转账请求中的出账交易请求已完成,将所述第一转账请求中的入账交易请求发送给所述第一转账请求中的第一入账账号地址对应的并行链的路由节点,以及将各所述第二转账请求中的入账交易请求发送给各所述第二转账请求中的第二入账账号地址对应的并行链的路由节点。
17.一种请求处理方法,应用于区块链系统中的简化支付验证SPV节点,其中,所述区块链系统包括至少一个并行链,并行链包括路由节点、至少一个矿工节点和至少一个简化支付验证SPV节点,每个并行链的各个矿工节点采用分布式数据区块链存储数据,所述至少一个并行链的路由节点之间网络连接,路由节点和矿工节点均设置有可信执行环境,SPV节点中存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合,数字货币账号地址、股份账号地址和数字资产账号地址均包括账号地址字符串和该SPV节点的虚拟并行链标识,数字货币账号地址、股份账号地址和数字资产账号地址分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识,所述方法包括:
响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点,其中,所述交易请求包括记账奖励交易请求和至少一个子交易请求,所述记账奖励交易请求用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励,子交易请求的交易对象包括数字资源和数字货币,数字资源包括股份和数字资产,用于指示数字资源的加密数字资源标识是在可信执行环境中通过对数字资源标识对称加密所得到的,数字资源标识包括环境标识、资源类别标识和资源标识,其中,环境标识包括用于指示可信执行环境的厂商标识和产品标识。
18.根据权利要求17所述的方法,其中,资源类别标识包括用于指示股份类别的股份类别标识和用于指示数字资产类别的数字资产类别标识。
19.根据权利要求18所述的方法,其中,与股份类别标识对应的资源标识为预设股份资源标识,与数字资产类别标识对应的资源标识为不同于所述预设股份资源标识的数字资产资源标识。
20.根据权利要求19所述的方法,其中,厂商标识与产品标识均为4字节无符号整数,资源类别标识为4位无符号整数,资源标识为大于等于128的12位无符号整数,预设股份资源标识为128,数字资产资源标识为大于所述预设股份资源标识的12位无符号整数,用于指示数字货币的数字货币标识为1字节的0到63之间的正整数。
21.根据权利要求17-20中任一所述的方法,其中,所述方法还包括:
响应于接收到资源宣告请求,其中,所述资源宣告请求包括资源宣告类别标识、资源宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,资源宣告类别标识为股份宣告交易类别标识或者数字资产宣告交易类别标识,计算所述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,得到与所述资源宣告请求的哈希值对应的第一签名信息;
利用该SPV节点的可信执行环境中存储的所述记账奖励转出数字货币账号地址对应的私钥对所述资源宣告请求的哈希值进行签名得到与所述资源宣告请求对应的第二签名信息;
将所述资源宣告请求以及对应的第一签名信息和第二签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
22.根据权利要求21所述的方法,其中,所述第一签名操作包括:
响应于确定该SPV节点的可信执行环境中包括所述资源宣告目标账号地址,用所述资源宣告目标账号地址对应的私钥对所述资源宣告请求的哈希值进行签名,得到第一明文签名;
根据所述资源宣告目标账号地址中的加密数字资源标识确定加密密钥;以及
用所确定的加密密钥对所得到的第一明文签名进行对称加密,得到与所述资源宣告请求的哈希值对应的第一签名信息。
23.根据权利要求21所述的方法,其中,所述第一签名操作包括:
响应于确定该SPV节点的可信执行环境中包括所述资源宣告目标账号地址,根据所述资源宣告目标账号地址中的加密数字资源标识确定加密密钥;
用所确定的加密密钥对所述资源宣告请求的哈希值进行对称加密,得到哈希值密文;以及
用所述资源宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与所述资源宣告请求的哈希值对应的第一签名信息。
24.根据权利要求21所述的方法,其中,所述响应于接收到资源宣告请求,计算所述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第一签名操作,包括:
响应于接收到资源宣告请求以及确定所述资源宣告请求中的资源宣告类别标识为数字资产宣告交易类别标识,计算所述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行所述第一签名操作;
响应于接收到资源宣告请求以及确定所述资源宣告请求中的资源宣告类别标识为股份宣告交易类别标识,确定所述资源宣告请求中的资源宣告目标账号地址是否存在交易记录;
响应于确定存在交易记录,生成并呈现用于指示该SPV节点不能再进行股份宣告的第一提示信息;
响应于确定不存在交易记录,计算所述资源宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行所述第一签名操作。
25.根据权利要求24所述的方法,其中,所述方法还包括:
响应于确定所收到的交易请求中的子交易请求中包括入账交易请求,所述入账交易请求包括待入账数量以及待入账加密数字资源标识或者待入账数字货币标识二者之一,确定该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中是否包括与所述待入账加密数字资源标识或者所述待入账数字货币标识二者之一对应的账号地址;
响应于确定不包括,组合该SPV节点的虚拟并行链标识和账号地址字符串以及所述待入账加密数字资源标识或者所述待入账数字货币标识二者之一得到账号地址,将所得到的账号地址确定为与所述入账交易请求对应的入账账号地址,以及将所得到的账号地址添加到该SPV节点的数字货币账号地址集合、股份账号地址集合或者数字资产账号地址集合;
响应于确定包括,将该SPV节点存储的数字货币账号地址集合、股份账号地址集合和数字资产账号地址集合中与所述待入账加密数字资源标识或者所述待入账数字货币标识二者之一对应的账号地址确定为与所述入账交易请求对应的入账账号地址。
26.根据权利要求25所述的方法,其中,所述方法还包括:
响应于接收到信息宣告请求,其中,所述信息宣告请求包括待宣告信息、信息宣告类别标识以及包括所述预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,计算所述信息宣告请求的哈希值,利用所述信息宣告请求中的记账奖励转出数字货币账号地址对应的私钥对所述信息宣告请求的哈希值进行签名得到与所述信息宣告请求对应的签名,将所述信息宣告请求和对应的签名发送给该SPV节点所属并行链的路由节点。
27.根据权利要求26所述的方法,其中,所述待宣告信息为智能合约;以及
所述方法还包括:
响应于接收到第一智能合约执行请求,其中,所述第一智能合约执行请求包括待执行智能合约地址信息、智能合约执行类别标识、智能合约输入参数以及包括所述预设记账币标识的记账奖励转出数字货币账号地址和对应的公钥,利用所述第一智能合约执行请求中的记账奖励转出数字货币账号地址对应的私钥对所述第一智能合约执行请求签名后发送给该SPV节点所属并行链的路由节点。
28.根据权利要求27所述的方法,其中,SPV节点设置有可信执行环境;以及
所述方法还包括:
响应于接收到数字货币宣告请求,其中,所述数字货币宣告请求包括数字货币宣告类别标识、待宣告数字货币标识、数字货币宣告目标账号地址、待宣告数量和包括预设记账币标识的记账奖励转出数字货币账号地址,确定预设对应关系表中是否存在所述数字货币宣告请求中的记账奖励转出数字货币账号地址、所述待宣告数字货币标识和所述数字货币宣告目标账号地址中的加密数字资源标识之间的对应关系,其中,所述预设对应关系表用于表征特权账号地址、数字货币标识、加密数字货币资源标识三者之间的对应关系;
响应于确定存在,计算所述数字货币宣告请求的哈希值,以及在该SPV节点的可信执行环境中执行第二签名操作,得到与所述数字货币宣告请求的哈希值对应的第四签名信息,将所述数字货币宣告请求和对应的第四签名信息作为交易请求发送给该SPV节点所属并行链的路由节点。
29.根据权利要求28所述的方法,其中,所述第二签名操作包括:
用所述数字货币宣告目标账号地址对应的私钥对所述数字货币宣告请求的哈希值进行签名,得到第三明文签名;
根据所述数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;以及
用所确定的加密密钥对所得到的第三明文签名进行对称加密,得到与所述数字货币宣告请求的哈希值对应的第四签名信息。
30.根据权利要求29所述的方法,其中,所述第二签名操作包括:
根据所述数字货币宣告目标账号地址中的加密数字资源标识确定加密密钥;
用所确定的加密密钥对所述数字货币宣告请求的哈希值进行对称加密,得到哈希值密文;以及
用所述数字货币宣告目标账号地址对应的私钥对所得到的哈希值密文进行签名,得到与所述数字货币宣告请求的哈希值对应的第四签名信息。
31.一种请求处理装置,应用于区块链系统中的简化支付验证SPV节点,其中,所述区块链系统包括至少一个并行链,并行链包括路由节点、至少一个矿工节点和至少一个简化支付验证SPV节点,每个并行链的各个矿工节点采用分布式数据区块链存储数据,所述至少一个并行链的路由节点之间网络连接,路由节点和矿工节点均设置有可信执行环境,SPV节点中存储有以下至少一项:数字货币账号地址集合、股份账号地址集合、数字资产账号地址集合,数字货币账号地址、股份账号地址和数字资产账号地址均包括账号地址字符串和该SPV节点的虚拟并行链标识,数字货币账号地址、股份账号地址和数字资产账号地址分别还包括数字货币标识、股份类别的加密数字资源标识和数字资产类别的加密数字资源标识,所述装置包括:
交易请求发送单元,被配置成:响应于接收到交易请求,将所收到的交易请求发送给该SPV节点所属并行链的路由节点,其中,所述交易请求包括记账奖励交易请求和至少一个子交易请求,所述记账奖励交易请求用于从该SPV节点的数字货币账号地址集合中包括预设记账币标识的记账奖励转出数字货币账号地址转出预设记账币以支付记账奖励,子交易请求的交易对象包括数字资源和数字货币,数字资源包括股份和数字资产,用于指示数字资源的加密数字资源标识是在可信执行环境中通过对数字资源标识对称加密所得到的,数字资源标识包括环境标识、资源类别标识和资源标识,其中,环境标识包括用于指示可信执行环境的厂商标识和产品标识。
32.一种简化支付验证SPV节点,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求17-30中任一所述的方法。
33.一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被一个或多个处理器执行时实现如权利要求17-30中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910445382.1A CN112001713B (zh) | 2019-05-27 | 2019-05-27 | 区块链系统以及请求处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910445382.1A CN112001713B (zh) | 2019-05-27 | 2019-05-27 | 区块链系统以及请求处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112001713A true CN112001713A (zh) | 2020-11-27 |
CN112001713B CN112001713B (zh) | 2024-03-29 |
Family
ID=73461595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910445382.1A Active CN112001713B (zh) | 2019-05-27 | 2019-05-27 | 区块链系统以及请求处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112001713B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113362059A (zh) * | 2021-06-09 | 2021-09-07 | 北京极智数仓科技有限公司 | 数字货币管控方法、系统、存储介质及数字货币钱包终端 |
CN113537986A (zh) * | 2021-07-16 | 2021-10-22 | 广州电力交易中心有限责任公司 | 一种基于区块链和密码技术的电力交易方法及其系统 |
CN114266603A (zh) * | 2021-12-28 | 2022-04-01 | 山东浪潮工业互联网产业股份有限公司 | 一种基于区块链utxo交易的积分管理方法、设备及介质 |
CN116862679A (zh) * | 2023-09-04 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
US20230325813A1 (en) * | 2022-03-28 | 2023-10-12 | Daniel Joseph Lutz | System and Method for Mining Crypto-Coins |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682984A (zh) * | 2016-10-27 | 2017-05-17 | 上海亿账通区块链科技有限公司 | 基于区块链的交易事务处理方法及系统 |
CN106980649A (zh) * | 2017-02-28 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
CN107528731A (zh) * | 2017-08-30 | 2017-12-29 | 四川易诚智讯科技有限公司 | 应用于ns3并行仿真的网络分割优化算法 |
US20190026821A1 (en) * | 2017-07-21 | 2019-01-24 | International Business Machines Corporation | Intermediate blockchain system for managing transactions |
CN109377181A (zh) * | 2018-11-01 | 2019-02-22 | 广东黾车新能源汽车产业有限公司 | 一种基于区块链技术的配件追踪系统 |
CN109447799A (zh) * | 2018-10-08 | 2019-03-08 | 全链通有限公司 | 基于区块链网络的智能合约交易方法和系统 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
-
2019
- 2019-05-27 CN CN201910445382.1A patent/CN112001713B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682984A (zh) * | 2016-10-27 | 2017-05-17 | 上海亿账通区块链科技有限公司 | 基于区块链的交易事务处理方法及系统 |
CN106980649A (zh) * | 2017-02-28 | 2017-07-25 | 阿里巴巴集团控股有限公司 | 写入区块链业务数据的方法和装置及业务子集合确定方法 |
US20190026821A1 (en) * | 2017-07-21 | 2019-01-24 | International Business Machines Corporation | Intermediate blockchain system for managing transactions |
CN107528731A (zh) * | 2017-08-30 | 2017-12-29 | 四川易诚智讯科技有限公司 | 应用于ns3并行仿真的网络分割优化算法 |
CN109447799A (zh) * | 2018-10-08 | 2019-03-08 | 全链通有限公司 | 基于区块链网络的智能合约交易方法和系统 |
CN109377181A (zh) * | 2018-11-01 | 2019-02-22 | 广东黾车新能源汽车产业有限公司 | 一种基于区块链技术的配件追踪系统 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
Non-Patent Citations (3)
Title |
---|
李芳等: "区块链跨链技术进展研究", 《软件学报》, 27 March 2019 (2019-03-27) * |
王志鹏;伍前红;: "一种清算结算区块链设计", 密码学报, no. 05, 15 October 2018 (2018-10-15) * |
翟社平等: "区块链关键技术中的数据一致性研究", 《计算机技术与发展》, 30 September 2018 (2018-09-30) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113362059A (zh) * | 2021-06-09 | 2021-09-07 | 北京极智数仓科技有限公司 | 数字货币管控方法、系统、存储介质及数字货币钱包终端 |
CN113537986A (zh) * | 2021-07-16 | 2021-10-22 | 广州电力交易中心有限责任公司 | 一种基于区块链和密码技术的电力交易方法及其系统 |
CN113537986B (zh) * | 2021-07-16 | 2024-04-05 | 广州电力交易中心有限责任公司 | 一种基于区块链和密码技术的电力交易方法及其系统 |
CN114266603A (zh) * | 2021-12-28 | 2022-04-01 | 山东浪潮工业互联网产业股份有限公司 | 一种基于区块链utxo交易的积分管理方法、设备及介质 |
US20230325813A1 (en) * | 2022-03-28 | 2023-10-12 | Daniel Joseph Lutz | System and Method for Mining Crypto-Coins |
CN116862679A (zh) * | 2023-09-04 | 2023-10-10 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN116862679B (zh) * | 2023-09-04 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112001713B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11785079B2 (en) | Free storage protocol for blockchain platform | |
US11687924B2 (en) | Cryptocurrency infrastructure system | |
JP6873270B2 (ja) | ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス | |
US20210314313A1 (en) | Certificate issuing system based on block chain | |
US20220156738A1 (en) | Methods and systems of using a cryptocurrency system to manage payments and payment alternatives | |
CN109447648B (zh) | 在区块链网络中记录数据区块的方法、记账节点和介质 | |
US20210258169A1 (en) | Split-key wallet access between blockchains | |
JP7128111B2 (ja) | ブロックチェーンを介して資産関連活動を制御するシステム及び方法 | |
CN112001713B (zh) | 区块链系统以及请求处理方法和装置 | |
US20240296429A1 (en) | Information transaction infrastructure | |
KR101780636B1 (ko) | 인증 정보의 발급 방법 및 이를 지원하는 블록체인기반 인증 정보 관리 서버 | |
CN109636593B (zh) | 用于认证网络交易中的用户的系统和方法 | |
KR20180014534A (ko) | 블록체인 기반 트랜잭션 검증 시스템 및 그 방법 | |
CN111899001A (zh) | 基于区块链的汇款方法及装置 | |
US20240303635A1 (en) | Token-based off-chain interaction authorization | |
CN110619520A (zh) | 区块链系统和应用于区块链系统的路由节点的路由方法 | |
KR102092953B1 (ko) | 애플리케이션에 포함된 광고 모듈을 이용한 블록체인 기반의 광고 장치 및 방법 | |
US20220172198A1 (en) | Real-time blockchain settlement network | |
CN111062717A (zh) | 一种数据转移处理方法、装置和计算机可读存储介质 | |
CN107852333A (zh) | 用于可公开验证的授权的系统和方法 | |
US20220036351A1 (en) | Method and apparatus for resource exchange | |
CN110599140A (zh) | 一种数字货币的验证方法及系统 | |
Ivanov et al. | System-wide security for offline payment terminals | |
KR102332503B1 (ko) | 전화번호 이용한 가상화폐 계정 생성 장치 및 방법 | |
KR20200056959A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |