[发明专利]一种基于区块链账户模型的无序交易控制方法有效
申请号: | 201710198966.4 | 申请日: | 2017-03-29 |
公开(公告)号: | CN106991607B | 公开(公告)日: | 2020-04-10 |
发明(设计)人: | 谢晗剑;岳利鹏 | 申请(专利权)人: | 杭州溪塔科技有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州市西湖区*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于区块链账户模型的无序交易控制方法,该方法基于账户模型,用户采用具有唯一性的ID(例如UUID)取代自增数字编号作为交易的唯一标识,节点通过判断新交易ID是否在该用户历史的交易ID列表中已存在来判断是否存在双重花费的行为,交易ID之间没有顺序依赖关系,记账节点可以以任意顺序将交易打包入块。另外交易之间业务层面的先后依赖关系由客户端在发起交易时保证,不影响记账节点的无序打包。本发明采用唯一性的ID来防止双重花费和重放攻击,使交易不再依赖固定顺序,可以采用无序的方式直接入链,满足了客户端单账户高并发交易的场景需求,避免了以往丢失交易后引起其他交易被暂缓的情况。 | ||
搜索关键词: | 一种 基于 区块 账户 模型 无序 交易 控制 方法 | ||
【主权项】:
一种基于区块链账户模型的无序交易控制方法,其特征在于,包括以下步骤:步骤1:用户按照区块链协议的账户规则,生成地址user。步骤2:用户在本地客户端生成自身已经上链存储的交易ID列表user_onchain_ids,置为空,生成发送中的交易ID列表user_pending_ids,也置为空。步骤3:记账节点和同步节点在本地生成已上链存储交易ID列表node_onchain_ids,结构为map(user=>ID列表)。记账节点和同步节点每同步一个块,就遍历区块中所有的交易,将交易对应的user和交易ID,添加入node_onchain_ids中。记账节点生成入块中交易ID列表node_adding_ids,结构为map(user=>ID列表)。步骤4:用户按照区块链协议的交易ID格式,为每一笔交易生成ID,需确保该交易ID不在user_onchain_ids和user_pending_ids中,并广播交易,同时将该交易ID添加入user_pending_ids中。步骤5:记账节点在出块时,接收用户广播的交易,判断交易ID是否存在于node_onchain_ids或node_adding_ids中,如果都不存在,则为合法交易,并添加该交易到node_adding_ids中,继续后续操作,否则为双重花费交易,做非法交易处理。步骤6:记账节点在完成区块打包并广播区块后,将node_adding_ids中所有的交易ID分别加入到node_onchain_ids中,并清空当前块的node_adding_ids。步骤7:用户实时同步区块链,接收到新块后,执行其中的交易,如果存在自己的交易,则将该交易ID从user_pending_ids中去除,并加入到user_onchain_ids中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州溪塔科技有限公司,未经杭州溪塔科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710198966.4/,转载请声明来源钻瓜专利网。
- 上一篇:交易数据处理方法及装置
- 下一篇:用户账户的管理方法、系统及服务器