[发明专利]一种基于区块链账户模型的无序交易控制方法有效

专利信息
申请号: 201710198966.4 申请日: 2017-03-29
公开(公告)号: CN106991607B 公开(公告)日: 2020-04-10
发明(设计)人: 谢晗剑;岳利鹏 申请(专利权)人: 杭州溪塔科技有限公司
主分类号: G06Q40/04 分类号: G06Q40/04
代理公司: 杭州求是专利事务所有限公司 33200 代理人: 邱启旺
地址: 310012 浙江省杭州市西湖区*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 区块 账户 模型 无序 交易 控制 方法
【说明书】:

技术领域

发明涉及一种基于区块链账户模型的无序交易控制方法,改进了现有基于账户模型的区块链中关于有序交易的规则,添加了无序交易相关的控制规则,以及防止双重花费相关的策略。

背景技术

区块链是一种新的分布式技术,由一个个顺序排列而成的交易组成块,再由一个个顺序排列而成的块组成链,每个块包含一个自增的高度作为编号,还有一个时间戳用于记载打包时间。用户使用私钥签名发出的交易,广播后由记账节点打包进入区块链存储,记账节点再广播给其他只读节点进行验证。交易的合法性由用户的签名决定,用户需要对不同的交易生成不同的签名。

区块链一般分为未花费交易输出(UTXO)模型和账户(Account)模型,为了防止双重花费,UTXO模型的方法是:一个未花费的货币或者状态只允许被用作交易输入一次。账户模型的方法是:为每个交易指定一个自增的数字编号,数字编号决定了交易的按序执行,中间不能跳序,相同的编号不能使用多于一次。

账户模型的自增数字编号方法目前还只能适应低频的交易场景,如果用户需要短时间内发送多笔交易,需要在客户端自己维护多笔交易的自增交易编号,然后发送到节点后等待打包入块。但由于区块链网络的分布式特性,交易广播的过程中会出现乱序或丢失的情况,导致记账节点如果发现交易不是按序增加的,会被认为是非法交易丢弃或暂缓打包。最严重的情况是中间某一个编号的交易丢失,则会导致后续所有交易均被丢弃或暂缓打包,客户端又不能很快得到反馈结果,只能等待随机的时间后重新发起丢失的交易。

发明内容

本发明的目的在于针对现有技术的不足,提供一种基于区块链账户模型的无序交易控制方法。

本发明的目的是通过以下技术方案实现的:一种基于区块链账户模型的无序交易控制方法,其特征在于,包括以下步骤:

步骤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中。

进一步地,所述区块链协议的交易ID格式区块链协议制定者设定,包括长度length和类型type。

进一步地,用户在交易丢失或希望覆盖user_pending_ids列表中的交易时,重复使用user_pending_ids列表中的交易ID,但仍然不能与user_onchain_ids列表中的ID重复。

进一步地,所述步骤7中,若区块链分叉,需回退区块。回退区块时,遍历待回退区块中的所有交易,将交易对应的user和交易ID,从node_onchain_ids中删除。

本发明有益效果在于:本发明采用唯一性的ID来防止双重花费和重放攻击,使交易不再依赖固定顺序,可以采用无序的方式直接入的链,满足了客户端单账户高并发交易的场景需求,避免了以往丢失交易后引起其他交易被暂缓的情况。

附图说明

图1为总体架构示意图。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州溪塔科技有限公司,未经杭州溪塔科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710198966.4/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top