CN115063133A - 一种基于区块链的转账方法、装置及*** - Google Patents
一种基于区块链的转账方法、装置及*** Download PDFInfo
- Publication number
- CN115063133A CN115063133A CN202210674534.7A CN202210674534A CN115063133A CN 115063133 A CN115063133 A CN 115063133A CN 202210674534 A CN202210674534 A CN 202210674534A CN 115063133 A CN115063133 A CN 115063133A
- Authority
- CN
- China
- Prior art keywords
- user
- transfer
- service node
- certification
- information
- 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.)
- Pending
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供了一种基于区块链的转账方法、装置及***,涉及区块链技术,包括:接收用户基于用户服务节点发送的转账请求,转账请求中包含转账通证ID和转账目标用户ID;在区块链账本中,通过对键值对Key‑Value数据库进行修改将转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含通证ID的所属用户信息;向用户服务节点返回交易成功信息。本申请将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,提高了交易并发性能。
Description
技术领域
本申请涉及区块链技术领域,特别涉及区块链技术领域,尤其涉及一种基于区块链的转账方法、装置及***。
背景技术
随着区块链技术的日渐成熟,区块链应用场景日益增长,其中绝大部分应用场景在业务模型上存在一定共性,这些业务模型大体可以划分为账户模型体系以及存证模型体系。账户模型体系是指账本主要体现状态以及状态值的汇总,其中状态的数量存在一定上限,不会无限增长,交易的核心主要在于状态值的变化,而不是状态数量的变化。例如银行的转账交易,其账户虽然在一定时期内增长,但通常不会超过该地区的人口数,转账交易的核心主要在于账户金额的变动。存证模型体系是指账本主要用于记录数据的变化,其状态的数量会无限增加,不存在上限,交易的核心是状态的增加,而不是状态值的修改。例如银行账户的明细表或者***的日志。
账户模型体系的转账交易会存在高并发的交易场景,这时候需要考虑数据并发读写的问题。例如,当前账本中存在三个状态键值对<a,100>、<b,10>、<c,80>,其表示a、b、c三个账户分别有100、10、80元的金额,当依次接收到a给b转10元、b给c转20元的交易时,前者由于涉及到状态a和b的修改,后者涉及状态b和c的修改,两者都涉及修改账户b,此时必须严格按照交易接收的先后顺序执行,否则先执行第二笔交易会由于余额不足导致交易失败,因此该并发交易场景中对于状态值的修改必须串行处理。现有的账户模型体系中针对高并发的交易场景的处理方式主要是通过有向无环图,构建出一批交易的依赖关系,通过对无依赖交易并发处理,对有依赖的交易串行处理的方式来提升整体的处理性能。
但是当涉及到类似大量账户向同一个账户转账的高并发交易场景时,由于这些交易之间都存在依赖,构建出的有向无环图不存在并行分支,所以交易依然是串行处理。但实际上这种交易场景完全可以并发处理来提高处理性能。
目前,现有的银行区块链***通过借鉴比特币的utxo模型,引入通证的概念来描述上述状态值。例如状态a的值是200,可以看作状态a拥有两个价值100的通证,并且每个通证有唯一ID,其类似货币的编号。通过这种方式,现有区块链账本的存储结构的键值对为(账户ID,通证集合)。但该方法是以账户ID作为主键,当涉及到上述高并发交易场景时,构建出的有向无环图是以主键为基础进行的,因此还是会显示交易账户间存在依赖性,从而导致交易串行处理,影响交易处理性能。
发明内容
有鉴于此,本发明提供一种基于区块链的转账方法、装置及***,用于在高并发交易场景中,有效地提高交易并发性能。
为了实现上述目的,本发明采用了以下方案:
在本发明的一个实施例中,一种基于区块链的转账方法,包括:
接收用户基于用户服务节点发送的转账请求,所述转账请求中包含转账通证ID和转账目标用户ID;
在区块链账本中,通过对键值对Key-Value数据库进行修改将所述转账通证ID的所属用户信息变更为所述转账目标用户ID,所述键值对数据库的存储结构中Key值为通证ID,Value值包含所述通证ID的所属用户信息;
向所述用户服务节点返回交易成功信息。
在本发明的一个实施例中,一种基于区块链的转账装置,包括:
转账请求接收单元,用于接收用户基于用户服务节点发送的转账请求,所述转账请求中包含转账通证ID和转账目标用户ID;
交易执行单元,用于在区块链账本中,通过对键值对Key-Value数据库进行修改将所述转账通证ID的所属用户信息变更为所述转账目标用户ID,所述键值对数据库的存储结构中Key值为通证ID,Value值包含所述通证ID的所属用户信息;
回执单元,用于向所述用户服务节点返回交易成功信息。
在本发明的一个实施例中,一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,该处理器执行所述计算机程序时实现上述实施例所述基于区块链的转账方法的步骤。
在本发明的一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例所述基于区块链的转账方法的步骤。
在本发明的一个实施例中,一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述实施例所述基于区块链的转账方法的步骤。
在本发明的一个实施例中,一种基于区块链的转账***,包括:用户服务节点和区块链记账节点,所述用户服务节点和所述区块链记账节点通过网络通信协议进行数据传输;
所述用户服务节点根据用户指令向所述区块链记账节点发送转账请求,所述转账请求中包含转账通证ID和转账目标用户ID;
所述区块链记账节点在收到所述转账请求后,在区块链账本中,通过对键值对Key-Value数据库进行修改将所述转账通证ID的所属用户信息变更为所述转账目标用户ID,所述键值对Key-Value数据库的存储结构中Key值为通证ID,Value值包含所述通证ID的所属用户信息;最后向所述用户服务节点返回交易成功信息。
本发明实施例提供的基于区块链的转账方法、装置及***,将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。为了便于理解,可以将现有技术中账户ID作为主键时理解为以多个个人实体为主进行转账交易,比如个人a、b、c分别向个人d进行转账交易,因此构建的有向无环图显示a、b、c均与d存在依赖关系,这些交易会被串行执行,而本发明实施例中将通证ID作为主键,则相当于以个人a、b、c、d手中的货币为主来进行转账交易,这些货币之间并不存在依赖关系,货币与个人之间的从属关系是通过Value值来体现的,因此上述交易可以被并发执行,从而有效提高了交易的并发性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例提供的基于区块链的转账方法的流程示意图;
图2是本发明另一实施例提供的基于区块链的转账方法的流程示意图;
图3是本发明另一实施例提供的基于区块链的转账方法的流程示意图;
图4是本发明另一实施例提供的基于区块链的转账方法的流程示意图;
图5是本发明实施例提供的一种通证拆分流程示意图;
图6是本发明另一实施例提供的基于区块链的转账方法的流程示意图;
图7是本发明实施例提供的一种通证合并流程示意图;
图8是本发明实施例提供的一种基于区块链的转账***架构图;
图9是本发明实施例提供的一种基于区块链的转账交易流程示意图;
图10是本发明另一实施例提供的基于区块链的转账装置的结构示意图;
图11为本发明另一实施例提供的电子设备的***构成的示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
需要说明的是,本申请公开的一种基于区块链的转账方法、装置和***可用于区块链技术领域,也可用于除区块链技术领域之外的任意领域,本申请公开的一种流程业务流转方法和装置的应用领域不做限定。
为了便于理解本申请提供的技术方案,下面先对本申请技术方案的相关内容进行说明。图1是本发明一实施例提供的基于区块链的转账方法的流程示意图。如图1所示,该实施例提供的基于区块链的转账方法,可包括:
步骤S110:接收用户基于用户服务节点发送的转账请求,该转账请求中包含转账通证ID和转账目标用户ID。
在该步骤中,用户服务节点可以部署在用户本地环境,比如以APP应用的形式存在于用户的移动终端中,当然本发明实施例并不以此为限,其他可行的节点部署方式也是可以的,比如位于银行营业场所的自助终端等形式。用户可以通过用户名密码等方式登录该用户服务节点,并通过转账操作使该用户服务节点发出转账请求。
在本实施例中,该转账请求的内容可以为“当前账户A向目标账户B转账X元”,因此该转账请求中的信息可以包括当前账户A的ID信息、目标账户B的ID信息以及转账金额信息,当然该转账请求中也可以包括用于安全校验的校验信息等,本发明实施例对此并不加以限定。
步骤S120:在区块链账本中,通过对键值对Key-Value数据库进行修改将上述转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含该通证ID的所属用户信息。
在该步骤中的区块链账本可以采用区块链及世界状态两种数据结构进行存储。其中区块链中的区块可以文件形式存储,该文件形式可以包括磁盘文件***或分布式文件***,该文件形式由若干个交易报文及相应状态值的变化组成,并通过哈希进行链式串联,来保证交易数据不收篡改。世界状态是区块链技术中的专有技术名词,其可以记录各种信息,比如账户余额,智能合约字节码,各个智能合约自定义的数据,链的配置参数等,世界状态表示的是当前状态,即记录的各状态数据的当前数值。在本实施例中,世界状态是通过键值对Key-Value数据库的形式进行存储的,其用来记录当前区块链账本的所有通证以及通证的属性。具体来说,该key值为通证ID,Value值则包含了该通证ID的所属用户信息,比如包含了该通证ID的所属用户ID。当然,本实施例中该Value还可以包括通证类型、通证发行机构、通证发行机构签名、通证面值等信息。
步骤S130:向用户服务节点返回交易成功信息。
当在步骤S120中成功修改通证ID对应的Value值中所属用户信息后,即可通过向用户服务节点返回交易成功的信息,并通过短信、弹窗、订阅消息等方式展示给用户。
在本实施例中,上述步骤可以由设置在区块链网络侧的区块链记账节点加以实施,本发明通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。
图2是本发明另一实施例提供的基于区块链的转账方法的流程示意图。如图2所示,该实施例提供的基于区块链的转账方法,可包括:
步骤S210:接收用户基于用户服务节点发送的通证总额查询请求。
步骤S220:根据该查询请求向用户服务节点返回该用户的通证总额信息。
在本实施例中,上述步骤S210和步骤S220可以由设置在区块链网络侧的区块链通证服务节点来实现,该区块链通证服务节点可以提供区块链通证查询服务,用户可以通过访问该区块链通证服务节点查询到该用户的所有通证信息。具体来说,该区块链通证服务节点可以包括数据统计模块和通证服务模块,该数据统计模块通过构建关系型数据库,并监控区块链账本中的状态数据变化,在数据库中建立账户与通证的对应关系,并通过该通证服务模块对外提供用户的区块链通证查询服务。
在本实施例中用户服务节点接收到用户的转账操作指令后,会向该区块链通证服务节点发出通证总额查询请求,以获取链上通证总额,而该区块链通证服务节点在收到查询请求后会查询数据库,并将查询得到的该用户的通证总额信息反馈给用户服务节点。
本实施例中用户服务节点接收到用户的转账操作指令后,可以在用户服务节点的本地存储模块中检索用户的通证余额,当通证余额不满足转账要求时,才向区块链通证服务节点发出通证总额查询请求。当通证余额满足要求时,直接进入步骤S230。
步骤S230:接收用户基于用户服务节点发送的转账请求,该转账请求中包含转账通证ID和转账目标用户ID。
步骤S240:在区块链账本中,通过对键值对Key-Value数据库进行修改将上述转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含该通证ID的所属用户信息。
步骤S250:向用户服务节点返回交易成功信息。
上述步骤S230至S250与前述实施例中步骤S110至S130相似,在此不再赘述。
在本实施例中,通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。另外本实施例中通过设置区块链通证服务节点来提供通证查询服务,减少用户统计与验证自身通证的资源消耗,提升***整体的运行效率。
图3是本发明另一实施例提供的基于区块链的转账方法的流程示意图。如图3所示,该实施例提供的基于区块链的转账方法,可包括:
步骤S310:接收用户基于用户服务节点发送的通证总额查询请求。
步骤S320:根据通证总额查询请求向用户服务节点返回该用户的通证总额信息。
步骤S330:接收用户基于用户服务节点发送的通证同步请求。
步骤S340:根据该通证同步请求检索并向用户服务节点返回该用户的所有通证信息。
在本实施例中,上述步骤S310至步骤S340可以由设置在区块链网络侧的区块链通证服务节点来实现,该区块链通证服务节点可以提供区块链通证查询服务,用户可以通过访问该区块链通证服务节点到该用户的所有通证信息。
本实施例中用户服务节点接收到用户的转账操作指令后,可以在用户服务节点的本地存储模块中检索用户的通证余额,当通证余额不满足转账要求时,向区块链通证服务节点发出通证总额查询请求。当通证余额满足要求时,直接进入步骤S350。
此外,当用户服务节点接收到区块链通证服务节点返回的通证总额信息后,会判断该用户的账户余额是否满足转账要求,若不满足,则用户服务节点向用户发出交易失败的提示,若满足,则用户服务节点向区块链通证服务节点发送通证同步请求,并根据区块链通证服务节点返回的该用户的所有通证信息更新本地存储模块中的通证数据。
步骤S350:接收用户基于用户服务节点发送的转账请求,该转账请求中包含转账通证ID和转账目标用户ID。
步骤S360:在区块链账本中,通过对键值对Key-Value数据库进行修改将上述转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含该通证ID的所属用户信息。
步骤S370:向用户服务节点返回交易成功信息。
在本实施例中,通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。另外本实施例中通过设置区块链通证服务节点来提供通证查询服务,减少用户统计与验证自身通证的资源消耗,提升***整体的运行效率。
图4是本发明另一实施例提供的基于区块链的转账方法的流程示意图。如图4所示,该实施例提供的基于区块链的转账方法,可包括:
步骤S410:接收用户基于用户服务节点发送的通证拆分请求。
在本实施例中,当用户服务节点接收到用户的转账操作指令后,可以在本地存储模块中查询该用户是否有满足转账额度的通证集合,若有,则直接发出转账请求,若无,则发出通证拆分请求,该通证拆分请求可以包括待拆分通证ID及拆分面值集合。在本实施例中是以该用户当前余额充足的前提下进行的,比如,当该用户需要转账100元,若该账户下存在面值为60的通证a、面值为40的通证b,以及面值为30的通证c,则只需要对通证a和b进行转账操作就可满足转账额度,这种情况下用户服务节点直接发出转账请求即可;若该账户下存在面值为60的通证a、面值为20的通证b,以及面值为50的通证c,则无法满足转账额度,这时候用户服务节点就需要发出拆分请求对其中一通证进行拆分。
步骤S420:根据该通证拆分请求执行通证拆分合约,并向用户服务节点返回拆分后的通证集合信息。
在本实施例中,具体的拆分规则和流程可以由通证发行机构决定,并在智能合约中加以定义,本发明并不对此加以限定。优选的,在本实施例中可以根据所述通证拆分合约执行结果在区块链网络中共识出块,更新区块链账本,然后再向所述用户服务节点返回拆分后的通证集合信息。
步骤S430:接收用户基于用户服务节点发送的转账请求,该转账请求中包含转账通证ID和转账目标用户ID。
步骤S440:在区块链账本中,通过对键值对Key-Value数据库进行修改将上述转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含该通证ID的所属用户信息。
步骤S450:向用户服务节点返回交易成功信息。
进一步优选的,如图5所示为本发明实施例提供的一种通证拆分流程示意图,该通证拆分流程包括:
步骤S501:验证通证拆分请求中参数的合法性。
步骤S502:检索通证发行机构自身通证数据,查询是否存在存量的所述拆分面值的通证集合,若存在,则进入步骤S503,若不存在,则进入步骤S504。
步骤S503:在键值对数据库中将所述拆分面值的通证集合的所属用户信息变更为所述用户的ID信息。在本实施例中,该步骤可以将原属于通证发行机构的存量通证变更为用户的通证。
步骤S504:向该用户发行上述拆分面值的通证。在本实施例中,该步骤是当通证发行机构自身没有存量的拆分面值的通证时,直接向用户发行其所需要的拆分面值的通证,比如当用户需要将10元面值的通证拆分成7元和3元,但通证发行机构没有7元和3面值,则直接向用户发行7元和3元面值的通证,即在在键值对数据库中新生成7元和3元面值的通证,并将他们的所属用户信息变更为所述用户的ID信息。
当然若通证发行机构自身仅有一部分满足拆分面值需求的通证,也可以将该满足需求的通证的所属用户信息变更为所述用户的ID信息,并向用户发行剩余面值的通证。
步骤S505:在键值对数据库中将上述待拆分通证ID的所属用户信息变更为通证发行机构。在本实施例中,通过步骤S503和步骤S504,已经将拆分后的通证给与了用户,因此通证发行机构需要通过本步骤来回收用户的待拆分通证。
在本实施例中,通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。另外本实施例通过进行通证拆分得以提升了通证转账交易的自由度。
图6是本发明另一实施例提供的基于区块链的转账方法的流程示意图。如图6所示,该实施例提供的基于区块链的转账方法,可包括:
步骤S610:接收用户基于用户服务节点发送的通证合并请求。
在本实施例中,用户发出转账请求指令后,用户服务节点通过查询本地存储模块,若发现该用户的通证数量较多,则可以发出通证合并请求以减少该用户的通证数量,该通证合并请求中可以包含需要合并的通证ID集合。
步骤S620:根据该通证合并请求执行通证合并合约,并向用户服务节点返回合并后的通证集合信息。
在本实施例中,具体的合并规则和流程可以由通证发行机构决定,并在智能合约中加以定义,本发明并不对此加以限定。优选的,在本实施例中可以根据所述通证合并合约执行结果在区块链网络中共识出块,更新区块链账本,然后再向所述用户服务节点返回合并后的通证集合信息。
步骤S630:接收用户基于用户服务节点发送的转账请求,该转账请求中包含转账通证ID和转账目标用户ID。
步骤S640:在区块链账本中,通过对键值对Key-Value数据库进行修改将上述转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含该通证ID的所属用户信息。
步骤S650:向用户服务节点返回交易成功信息。
进一步优选的,在执行步骤S620之后还可以接收用户的通证拆分请求来进行通证拆分,进而满足转账需求。
进一步优选的,如图7所示为本发明实施例提供的一种通证合并流程示意图,该通证合并流程包括:
步骤S701:验证通证合并请求中参数的合法性。
步骤S702:计算需要合并的通证的面值总和,并按照面额限制规则进行重新划分,得到合并后的不同面值的通证集合。该面额限制规则也是由通证发行机构制定的,并可以在智能合约中加以定义。
步骤S703:检索通证发行机构自身通证数据,查询是否存在存量的上述不同面值的通证集合;若存在,则进入步骤S704,若不存在,则进入步骤S705。
步骤S704:在键值对数据库中将上述存量的不同面值的通证集合的所属用户信息变更为该用户的ID信息。
步骤S705:向该用户发行剩余不足的通证。
步骤S706:在键值对数据库中将上述需要合并的通证ID集合的所属用户信息变更为通证发行机构。在本实施例中,通过步骤S704和步骤S705也已经将合并后的通证集合给与了该用户,因此需要通过本步骤来回收用户需要合并的通证。
在本实施例中,通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。另外本实施例通过进行通证合并可以降低碎片化通证的管理难度。
为了便于理解,下面通过一些具体的实施例来对上述基于区块链的转账方法进行阐述,但并非对上述方法进行限制,图8所示为本发明实施例提供的一种基于区块链的转账***架构图,该转账***包括:用户服务节点801、区块链记账节点802、区块链通证服务节点803和CA(Certificate Authority,认证中心)节点804,其中区块链记账节点802、区块链通证服务节点803和CA节点804部署在区块链网络侧,区块链记账节点802和区块链通证服务节点803相互连接组成网络,区块链记账节点802区块链通证服务节点803以及CA节点804之间的组网和数据传输可以采用GRPC/GRPCS协议,而用户服务节点801部署于用户本地环境,用户服务节点801与区块链记账节点802及区块链通证服务节点803之间的数据传输则可以采用HTTP/HTTPS协议。
用户服务节点801可以为用户提供用户通证的本地查询服务,还可通过全量数据同步,或者订阅推送的方式从区块链通证服务节点803中获取用户的通证数据。用户服务节点801可以包含本地存储模块、数据同步模块以及交易处理模块。
该本地存储模块为用户提供本地通证存储服务,通过关系型数据存储当前用户所属的通证信息。
该数据同步模块可以根据链上数据在上述本地存储模块中更新自身的通证信息。比如可以通过调用区块链通证服务节点803的相关服务,实现自身全量通证信息的同步;也可通过订阅并监听区块链记账节点802中涉及自身所述通证的状态变化,增量更新本地通证信息。
该交易处理模块用于构建转账交易请求。
区块链记账节点802和区块链通证服务节点803可以用来实现上述基于区块链的转账方法的步骤。
区块链记账节点802可以包含通信模块、存储模块、共识模块、安全模块以及合约模块。
该通信模块提供区块链记账节点802对外的通信服务。
该存储模块则提供区块链记账节点802的数据存储服务,可以用于存储区块链账本、节点配置信息等持久化数据。
该共识模块通过集成支持流水线并行的Hotstuff共识机制,提供三分之一以内拜占庭节点容错,保证区块链记账节点802之间区块链账本的一致性。
该安全模块为区块链记账节点802提供基础安全支撑。通过从CA节点804中申请证书并生成相关密钥,提供外部节点及用户的身份认证服务,以及提供数据加解密服务,保证组网节点以及交易接入用户身份的合法性,保障数据的私密性与完整性。
该合约模块了提供定制化的交易处理能力。区块链账本的管理组织通过编写智能合约,定义账户交易的核心逻辑以及账本读写规则,并部署于节点的安全隔离环境中。当节点接收到交易时,合约被触发执行,产生账本状态的变更。该合约模块中可以运行转账交易合约、通证拆分合约以及通证合并合约,其中转账交易合约定义了转账交易中通证所属账户变更的流程,通证拆分合约定义了通证拆分交易的流程,通证合并合约定义了通证合并交易的流程。
区块链通证服务节点803提供区块链通证查询服务,用户通过访问该节点可以查询到该用户所有的通证。该节点可以包括数据统计模块,该数据统计模块通过构建关系型数据库,监控区块链账本中的状态数据变化,在关系数据库中建立账户与通证的对应关系,并对外提供相应用户的通证统计查询服务。需要指出的是区块链通证服务节点803的功能也可以集成在区块链记账节点802中予以实现,优选的是,通过在部分资源充足的节点中通过关系型数据库,异步构建区块链通证服务节点803,从而向用户提供通证统计和查询服务,可以减少用户统计与验证自身通证的资源消耗,提升***整体运行效率。
CA节点804可以提供节点及用户证书的管理服务和身份认证服务。
图9所示为本发明实施例提供的一种基于区块链的转账交易流程示意图,该转账交易流程包括:
步骤S101:用户A向本地的用户服务节点发出转账请求,请求内容为当前账户A向目标账户B转账X元。
步骤S102:当用户服务节点接收到用户A发起的转账请求时,检索本地存储模块,得到用户A的通证余额。
步骤S103:用户服务节点判断用户A通证余额是否满足要求,若满足,则进入步骤S110,若不满足,则进入步骤S104。
步骤S104:用户服务节点向区块链通证服务节点发送通证总额查询请求。
步骤S105:区块链通证服务节点收到通证总额查询请求后,检索关系数据库并返回用户A的通证总额给用户服务节点。
步骤S106:用户服务节点判断用户A的通证总额是否满足要求,若不满足,则向用户A返回交易失败的提示信息,若满足,则进入步骤S107。
步骤S107:用户服务节点向区块链服务节点发送通证同步请求。
步骤S108:区块链通证服务节点收到通证同步请求后,检索关系数据库并返回用户A的所有通证信息给用户服务节点。
步骤S109:用户服务节点根据收到的用户A的所有通证信息更新本地存储模块中的通证数据。
步骤S110:用户服务节点在本地存储模块中查询该用户A的通证数据。
步骤S111:用户服务节点判断用户A是否有满足转账额度的通证集合S,若满足,则进入步骤S115,若不满足,则进入步骤S112。
步骤S112:用户服务节点向区块链记账节点发起通证拆分请求。
步骤S113:区块链记账节点收到通证拆分请求后,执行通证拆分合约,并向用户服务节点返回拆分后的通证信息。
步骤S114:用户服务节点根据用户服务节点返回的拆分后的通证信息来更新本地存储模块中的通证数据,并再次执行步骤S110。
步骤S115:用户服务节点构建转账请求并将该转账请求发送给区块链记账节点,该转账请求内容为将通证集合S的所属账户变更为用户B。
步骤S116:区块链记账节点根据用户服务节点的转账请求执行转账交易,将通证集合S的所属账户变更为用户B,并向用户服务节点返回执行结果。
步骤S117:用户服务节点收到区块链记账节点的执行结果后,向用户A返回交易成功的提示信息。
本实施例的交易流程中,当区块链网络接收并执行转账交易或者通证拆分交易后,即在实施步骤S113及步骤S116后,区块链通证服务节点会监听到链上通证状态的变化,然后在数据统计模块中更新账户与通证对应关系的数据库。
基于与图1所示的基于区块链的转账方法相同的发明构思,本发明实施例还提供了一种基于区块链的转账装置,如下面实施例所述。由于该大基于区块链的转账装置解决问题的原理与前述转账方法相似,因此该基于区块链的转账装置的实施可以参见基于区块链的转账方法的实施,重复之处不再赘述。
图10是本发明另一实施例提供的基于区块链的转账装置的结构示意图。如图10所示,该基于区块链的转账装置,可包括:转账请求接收单元101、交易执行单元102和回执单元103,上述各单元之间顺序连接。
转账请求接收单元101,用于接收用户基于用户服务节点发送的转账请求,该转账请求中包含转账通证ID和转账目标用户ID。
交易执行单元102,用于在区块链账本中,通过对键值对Key-Value数据库进行修改将转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含上述通证ID的所属用户信息。
回执单元103,用于向用户服务节点返回交易成功信息。
在一些实施例中,该基于区块链的转账装置还可包括查询请求接收单元和查询结果反馈单元,其中:
查询请求接收单元用于接收用户基于用户服务节点发送的通证总额查询请求。
查询结果反馈单元,用于根据所述查询请求向所述用户服务节点返回所述用户的通证总额信息。
在一些实施例中,该基于区块链的转账装置还可包括同步请求接收单元和同步结果反馈单元,其中:
同步请求接收单元用于接收用户基于用户服务节点发送的通证同步请求。
同步结果反馈单元,用于根据所述通证同步请求检索并向所述用户服务节点返回所述用户的所有通证信息。
在一些实施例中,该基于区块链的转账装置还可包括拆分请求接收单元和拆分执行单元,其中:
拆分请求接收单元,用于接收用户基于用户服务节点发送的通证拆分请求,该通证拆分请求中可以包括待拆分通证ID及拆分面值集合。
拆分执行单元,用于根据所述通证拆分请求执行通证拆分合约,并向所述用户服务节点返回拆分后的通证集合信息。
在一些实施例中,该拆分执行单元进一步可以包括第一验证模块、第一查询模块、拆分执行模块和拆分反馈模块,其中:
第一验证模块,用于验证所述通证拆分请求中参数的合法性。
第一查询模块,用于检索通证发行机构自身通证数据,查询是否存在存量的所述拆分面值的通证集合。
拆分执行模块,用于在所述第一查询模块的查询结果显示存在存量的所述拆分面值的通证集合时,在键值对数据库中将所述拆分面值的通证集合的所属用户信息变更为所述用户的ID信息;在所述第一查询模块的查询结果显示不存在存量的所述拆分面值的通证集合时,向所述用户发行所述拆分面值的通证;以及用于在键值对数据库中将所述待拆分通证ID的所属用户信息变更为通证发行机构。
拆分反馈模块,用于向所述用户服务节点返回拆分后的通证集合信息。
在一些实施例中,该拆分反馈模块进一步还可以包括共识子模块、更新子模块和反馈子模块,其中
共识子模块,用于根据所述拆分执行模块的执行结果在区块链网络中共识出块。
更新子模块,用于根据所述拆分执行模块的执行结果来更新区块链账本。
反馈子模块,用于向所述用户服务节点返回拆分后的通证集合信息。
在一些实施例中,该基于区块链的转账装置还可包括合并请求接收单元和合并执行单元,其中:
合并请求接收单元,用于接收用户基于用户服务节点发送的通证合并请求,该通证合并请求中可包含需要合并的通证ID集合。
合并执行单元,用于根据所述通证合并请求执行通证合并合约,并向所述用户服务节点返回合并后的通证集合信息。
在一些实施例中,该合并执行单元进一步可包括第二验证模块、计算模块、第二查询模块、合并执行模块和合并反馈模块,其中:
第二验证模块,用于验证所述通证合并请求中参数的合法性;
计算模块,用于计算需要合并的通证的面值总和,并按照面额限制规则进行重新划分,得到合并后的不同面值的通证集合;
第二查询模块,用于检索通证发行机构自身通证数据,查询是否存在存量的所述不同面值的通证集合;
合并执行模块,用于在所述第二查询模块查询结果显示存在存量的所述不同面值的通证集合时,在键值对数据库中将所述存量的不同面值的通证集合的所属用户信息变更为所述用户的ID信息;在所述第二查询模块查询结果显示不存在存量的所述不同面值的通证集合时,向所述用户发行剩余不足的通证;以及用于在键值对数据库中将所述需要合并的通证ID集合的所属用户信息变更为通证发行机构。
合并反馈模块,用于向所述用户服务节点返回合并后的通证集合信息。
在本实施例中,通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。另外本实施例还可以通过进行通证拆分来提升通证转账交易的自由度,以及通过进行通证合并来降低碎片化通证的管理难度。
从硬件层面来说,为了能够在高并发交易场景中避免账户间的依赖性,提高交易并发性能,本申请提供一种用于实现所述基于区块链的转账方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现基于区块链的转账装置与核心业务***、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的基于区块链的转账方法的实施例,以及基于区块链的转账装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,基于区块链的转账方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备或服务器设备中完成。具体可以根据所述客户端设备或服务器设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备或服务器设备中完成,所述客户端设备或服务器设备还可以包括处理器。
上述的客户端设备或服务器设备可以具有通信模块(即通信单元),可以与远程的服务器或客户端进行通信连接,实现数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图11为本发明另一实施例提供的电子设备1100的***构成的示意框图。如图11所示,该电子设备1100可以包括中央处理器1110和存储器1120;存储器1120耦合到中央处理器1110。值得注意的是,该图11是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,基于区块链的转账方法功能可以被集成到中央处理器1110中。其中,中央处理器1110可以被配置为进行如下控制:
步骤S110:接收用户基于用户服务节点发送的转账请求,该转账请求中包含转账通证ID和转账目标用户ID。
步骤S120:在区块链账本中,通过对键值对Key-Value数据库进行修改将上述转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含该通证ID的所属用户信息。
步骤S130:向用户服务节点返回交易成功信息。
从上述描述可知,本发明实施例提供的电子设备,通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。
在另一个实施方式中,转账装置可以与中央处理器1110分开配置,例如可以将转账装置配置为与中央处理器1110连接的芯片,通过中央处理器的控制来实现上述转账方法功能。
如图11所示,该电子设备1100还可以包括:通信模块1130、输入单元1140、音频处理器1150、显示器1160、电源1170。值得注意的是,电子设备1100也并不是必须要包括图11中所示的所有部件;此外,电子设备1100还可以包括图11中没有示出的部件,可以参考现有技术。
如图11所示,中央处理器1110有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,中央处理器1110接收输入并控制电子设备1100的各个部件的操作。
其中,存储器1120,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述转账方法有关的信息,此外还可存储执行有关信息的程序。并且中央处理器1110可执行该存储器1120存储的该程序,以实现信息存储或处理等。
输入单元1140向中央处理器1110提供输入。该输入单元1140例如为按键或触摸输入装置。电源1170用于向电子设备1100提供电力。显示器1160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器1120可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器1120还可以是某种其它类型的装置。存储器1120包括缓冲存储器1121(有时被称为缓冲器)。存储器1120可以包括应用/功能存储部1122,该应用/功能存储部1122用于存储应用程序和功能程序或用于通过中央处理器1110执行电子设备1100的操作的流程。
存储器1120还可以包括数据存储部1123,该数据存储部1123用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器1120的驱动程序存储部1124可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块1130即为经由天线1131发送和接收信号的发送机/接收机1130。通信模块(发送机/接收机)1130耦合到中央处理器1110,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块1130,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)1130还经由音频处理器1150耦合到扬声器1151和麦克风1152,以经由扬声器1151提供音频输出,并接收来自麦克风1152的音频输入,从而实现通常的电信功能。音频处理器1150可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器1150还耦合到中央处理器1110,从而使得可以通过麦克风1152能够在本机上录音,且使得可以通过扬声器1151来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的基于区块链的转账方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的基于区块链的转账方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S110:接收用户基于用户服务节点发送的转账请求,该转账请求中包含转账通证ID和转账目标用户ID。
步骤S120:在区块链账本中,通过对键值对Key-Value数据库进行修改将上述转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含该通证ID的所属用户信息。
步骤S130:向用户服务节点返回交易成功信息。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的基于区块链的转账方法中全部步骤的一种计算机程序产品,该计算机程序/指令被处理器执行时实现所述的基于区块链的转账方法的步骤,例如,所述计算机程序/指令实现下述步骤:
步骤S110:接收用户基于用户服务节点发送的转账请求,该转账请求中包含转账通证ID和转账目标用户ID。
步骤S120:在区块链账本中,通过对键值对Key-Value数据库进行修改将上述转账通证ID的所属用户信息变更为转账目标用户ID,该键值对数据库的存储结构中Key值为通证ID,Value值包含该通证ID的所属用户信息。
步骤S130:向用户服务节点返回交易成功信息。
从上述描述可知,本申请实施例提供的计算机程序产品,通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。
本发明实施例还提供一种基于区块链的转账***,该转账***包括:用户服务节点和区块链记账节点,该用户服务节点和区块链记账节点通过网络通信协议进行数据传输。该用户服务节点根据用户指令向所述区块链记账节点发送转账请求,所述转账请求中包含转账通证ID和转账目标用户ID。该区块链记账节点在收到所述转账请求后,在区块链账本中,通过对键值对Key-Value数据库进行修改将所述转账通证ID的所属用户信息变更为所述转账目标用户ID,所述键值对数据库的存储结构中Key值为通证ID,Value值包含所述通证ID的所属用户信息;最后向所述用户服务节点返回交易成功信息。
综上所述,本发明实施例的基于区块链的转账方法、装置及***,通过将现有区块链账本的中存储结构的键值对改为(通证ID,通证所属用户信息)的形式,放弃了以账户ID作为主键,改为以通证ID作为主键的存储形式,从而在高并发交易场景中避免了账户间的依赖性,有效提高了交易并发性能。另外本实施例可以通过设置区块链通证服务节点来提供通证查询服务,减少用户统计与验证自身通证的资源消耗,提升***整体的运行效率。其次本实施例可以通过进行通证拆分来提升通证转账交易的自由度,还可以通过进行通证合并来降低碎片化通证的管理难度。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本发明的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (14)
1.一种基于区块链的转账方法,其特征在于,包括:
接收用户基于用户服务节点发送的转账请求,所述转账请求中包含转账通证ID和转账目标用户ID;
在区块链账本中,通过对键值对Key-Value数据库进行修改将所述转账通证ID的所属用户信息变更为所述转账目标用户ID,所述键值对Key-Value数据库的存储结构中Key值为通证ID,Value值包含所述通证ID的所属用户信息;
向所述用户服务节点返回交易成功信息。
2.根据权利要求1所述的基于区块链的转账方法,其特征在于,所述接收用户基于用户服务节点发送的转账请求之前,还包括:
接收用户基于用户服务节点发送的通证总额查询请求;
根据所述查询请求向所述用户服务节点返回所述用户的通证总额信息。
3.根据权利要求1所述的基于区块链的转账方法,其特征在于,所述接收用户基于用户服务节点发送的转账请求之前,还包括:
接收用户基于用户服务节点发送的通证同步请求;
根据所述通证同步请求检索并向所述用户服务节点返回所述用户的所有通证信息。
4.根据权利要求1所述的基于区块链的转账方法,其特征在于,所述接收用户基于用户服务节点发送的转账请求之前,还包括:
接收用户基于用户服务节点发送的通证拆分请求;
根据所述通证拆分请求执行通证拆分合约,并向所述用户服务节点返回拆分后的通证集合信息。
5.根据权利要求4所述的基于区块链的转账方法,其特征在于,所述通证拆分请求中包括待拆分通证ID及拆分面值集合。
6.根据权利要求5所述的基于区块链的转账方法,其特征在于,所述根据所述通证拆分请求执行通证拆分合约包括:
验证所述通证拆分请求中参数的合法性;
检索通证发行机构自身通证数据,查询是否存在存量的所述拆分面值的通证集合;
若存在,则在键值对Key-Value数据库中将所述拆分面值的通证集合的所属用户信息变更为所述用户的ID信息;
若不存在,则向所述用户发行所述拆分面值的通证;
在键值对Key-Value数据库中将所述待拆分通证ID的所属用户信息变更为通证发行机构。
7.根据权利要求4所述的基于区块链的转账方法,其特征在于,所述向所述用户服务节点返回拆分后的通证集合信息包括:
根据所述通证拆分合约执行结果在区块链网络中共识出块,更新区块链账本,并向所述用户服务节点返回拆分后的通证集合信息。
8.根据权利要求1所述的基于区块链的转账方法,其特征在于,所述接收用户基于用户服务节点发送的转账请求之前,还包括:
接收用户基于用户服务节点发送的通证合并请求;
根据所述通证合并请求执行通证合并合约,并向所述用户服务节点返回合并后的通证集合信息。
9.根据权利要求8所述的基于区块链的转账方法,其特征在于,所述通证合并请求中包含需要合并的通证ID集合;所述根据所述通证合并请求执行通证合并合约包括:
验证所述通证合并请求中参数的合法性;
计算需要合并的通证的面值总和,并按照面额限制规则进行重新划分,得到合并后的不同面值的通证集合;
检索通证发行机构自身通证数据,查询是否存在存量的所述不同面值的通证集合;
若存在,则在键值对数据库中将所述存量的不同面值的通证集合的所属用户信息变更为所述用户的ID信息;
若不存在,则向所述用户发行剩余不足的通证;
在键值对数据库中将所述需要合并的通证ID集合的所属用户信息变更为通证发行机构。
10.一种基于区块链的转账装置,其特征在于,包括:
转账请求接收单元,用于接收用户基于用户服务节点发送的转账请求,所述转账请求中包含转账通证ID和转账目标用户ID;
交易执行单元,用于在区块链账本中,通过对键值对Key-Value数据库进行修改将所述转账通证ID的所属用户信息变更为所述转账目标用户ID,所述键值对Key-Value数据库的存储结构中Key值为通证ID,Value值包含所述通证ID的所属用户信息;
回执单元,用于向所述用户服务节点返回交易成功信息。
11.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一项所述基于区块链的转账方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9任一项所述基于区块链的转账方法的步骤。
13.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至9任一项所述基于区块链的转账方法的步骤。
14.一种基于区块链的转账***,其特征在于,包括:用户服务节点和区块链记账节点,所述用户服务节点和所述区块链记账节点通过网络通信协议进行数据传输;
所述用户服务节点根据用户指令向所述区块链记账节点发送转账请求,所述转账请求中包含转账通证ID和转账目标用户ID;
所述区块链记账节点在收到所述转账请求后,在区块链账本中,通过对键值对Key-Value数据库进行修改将所述转账通证ID的所属用户信息变更为所述转账目标用户ID,所述键值对数据库的存储结构中Key值为通证ID,Value值包含所述通证ID的所属用户信息;最后向所述用户服务节点返回交易成功信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210674534.7A CN115063133A (zh) | 2022-06-15 | 2022-06-15 | 一种基于区块链的转账方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210674534.7A CN115063133A (zh) | 2022-06-15 | 2022-06-15 | 一种基于区块链的转账方法、装置及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115063133A true CN115063133A (zh) | 2022-09-16 |
Family
ID=83200536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210674534.7A Pending CN115063133A (zh) | 2022-06-15 | 2022-06-15 | 一种基于区块链的转账方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115063133A (zh) |
-
2022
- 2022-06-15 CN CN202210674534.7A patent/CN115063133A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10459946B2 (en) | Method and system for tuning blockchain scalability, decentralization, and security for fast and low-cost payment and transaction processing | |
CN110990182B (zh) | 事务处理方法、装置、设备及存储介质 | |
CN111047430B (zh) | 会计核算信息处理方法及装置 | |
CN112235420B (zh) | 基于区块链的数据同步方法、***及相关设备 | |
CN113422733B (zh) | 区块链的业务处理方法、装置、计算机设备及存储介质 | |
CN111275555A (zh) | 区块链交易处理方法、交易节点以及区块链*** | |
CN112347184A (zh) | 分叉处理方法以及区块链节点 | |
CN113474804A (zh) | 数字货币的交易和账户验证方法,装置及存储介质 | |
CN116707821A (zh) | 基于区块链的交易数据处理方法及装置 | |
US11558179B2 (en) | Distributed data storage | |
CN112396511A (zh) | 分布式风控变量数据处理方法、装置及*** | |
KR102109201B1 (ko) | 사용자 단말기들 사이의 게임 아이템 거래를 중개하는 네트워크 서버 및 그것의 동작 방법 | |
CN115063133A (zh) | 一种基于区块链的转账方法、装置及*** | |
CN115879889A (zh) | 基于区块链的业务处理方法、装置和计算机设备 | |
CN112231415B (zh) | 区块链网络的数据同步方法、***、电子设备及可读介质 | |
US11704726B1 (en) | Systems and methods for bartering services and goods using distributed ledger techniques | |
CN113158259A (zh) | 区块链完整性验证方法及装置 | |
CN115208875B (zh) | 多传输中间件的信息集成*** | |
CN110889040B (zh) | 用于推送信息的方法和装置 | |
CN113037497B (zh) | 一种基于区块链的风险数据共享方法及*** | |
US20240152505A1 (en) | Data processing method and apparatus based on blockchain, device, and medium | |
CN113326277A (zh) | MySQL数据批量新增方法及装置 | |
CN116737832A (zh) | 个性化附言及摘要方法和*** | |
CN115545897A (zh) | 银行跨境账户余额管理方法及装置 | |
CN116303335A (zh) | 多应用数据协同处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |