一种用于区块链扩展的多向状态通道系统及方法
文献发布时间:2023-06-19 19:28:50
技术领域
本发明属于线下区块链技术领域,特别涉及一种用于区块链扩展的多向状态通道系统及方法。
背景技术
区块链是一种利用分布式账本技术解决多方信任问题的创新性解决方案。通过区块链技术,可以在不依赖于任何第三方可信机构的前提下,建立可信分布式系统。去中心化的特性使得区块链技术拥有广泛的应用前景。当前的区块链系统性能存在严重不足,以比特币为例,由于比特币采用基于PoW(Proof of Work)的共识机制,全网完成一轮共识的期望时间为10分钟,因此,比特币系统的交易吞吐量最高只能达到7笔/秒(假定区块大小为1MB)。而主流的商业数字支付系统如visa,每秒的交易处理数量能达到上千笔。当前区块链系统的性能与传统基于第三方的分布式系统存在较大的差距,无法满足现实业务的需求。这使得区块链的发展受到了大大的限制。
区块链扩容是提升区块链有限处理能力的一个重要途径。目前有两种类型的扩容方案,一种是链上扩容方式,也称为Layer1扩容,即通过直接修改区块链的基础规则来改进区块链自身,包括区块大小、共识机制等。具体的扩容方案有SegWit(隔离见证)、扩大区块容量、Sharding(分片)、DAG(有向无环图)等。经过业界实践,目前大家通常认为链上扩容方式在性能上会存在难以逾越的天花板。另一种是链下扩容方式,也称为Layer2扩容,目的是把计算转移到链下进行,这种扩容方式不直接改动区块链本身的规则(区块大小、共识机制等),而是在其之上再架设一层来处理具体的事务,只在需要共识参与时(如数据存证、纠纷仲裁等)才与区块链进行信息交互与传播。具体的扩容方案有状态通道、侧链等。在链下扩容方案中,大量的事务通常只在参与节点间进行,不会进行全网传播,效率直接取决于节点间的网络性能,显然效率更高。而且因为没有全网广播,信息不能公开可查,通常隐私性也更高。因此,链下交易性能可以不受原有区块链性能的影响,具有更大的潜力,存在无限扩展的可能性。
现有的区块链扩展的多向状态通道方法、系统在通道监管人存在作恶行为时,链下通道会直接关闭,导致用户不能继续进行交易。
发明内容
针对上述问题,本发明提供了一种用于区块链扩展的多向状态通道系统。包括通道建立单元、通道支付单元和通道关闭单元,所述通道建立单元和通道支付单元之间连接,所述通道支付单元和通道关闭单元之间连接,所述通道建立单元用于通过通道监管人和多个普通用户合作建立一个多向支付的链下通道,所述通道支付单元用于在建立的多向支付的链下通道内,普通用户之间进行交易,监管人根据普通用户之间的交易信息,向多个普通用户发送通道状态更新信息,所述通道关闭单元用于任意用户赎回押金,则关闭该用户的支付通道。
进一步的,所述通道建立单元包括建立模块和押金储存模块,所述建立模块和押金储存模块之间连接,所述建立单元用于通道监管人和多个普通用户建立区块链的链下交易通道,所述押金储存模块用于将通道监管人和普通用户的押金进行储存。
进一步的,所述建立模块包括建立组件和加入组件,所述建立组件用于使通道监管人向区块链发起一笔资金打开链下通道的交易请求,根据交易请求在该区块链上开启链下通道,并生成通道标识,并将资金存入到押金存储模块内,通道监管人负责维护链下通道的账本状态,所述加入组件用于使普通用户通过通道标识和押金加入到链下通道内,普通用户的押金存入到押金存储模块内。
进一步的,所述通道支付单元包括转账交易信息模块、验证更新模块和作恶检测模块,所述转账交易模块用于多个普通用户之间进行交易,所述验证更新模块用于通道监管人对转账交易信息的合法性进行验证,验证完成后,将验证信息的状态进行更新,所述作恶检测模块用于防止通道监管人的作恶行为。
进一步的,所述转账交易信息模块包括沟通组件、转账交易信息生成组件、转账交易信息审核组件,所述沟通模块用于多个普通用户之间沟通转账交易的金额,所述转账交易信息生成模块用于收款方生成转账交易信息,并在转账交易信息上签名,同时将转账交易信息发生至付款方,所述转账信息审核组件用于付款人核实转账交易信息是否符合预期,核实正确后付款人在转账交易信息上签名,并将转账交易信息发送给通道监管人。
进一步的,所述验证更新模块包括转账交易信息验证组件和通道状态更新组件,所述转账交易信息验证组件用于通道监管人对转账交易信息的合法性进行验证,所述通道状态更新组件由通道监管人签名发布,用于表示通道内部的各用户账户余额信息,该通道状态更新信息包含本轮由通道监管人认可的转账交易信息列表。
进一步的,所述作恶检测模块包括作恶行为验证组件和通道监管人更换组件,所述作恶行为验证组件用于检测通道监管人是否存在作恶行为,作恶行为包括发布失效信息行为和发送错误信息行为,所述通道监管人更换组件用于对通道监管人进行处罚并且更换通道监管人或者关闭链下交易通道。
进一步的,所述通道监管人更换组件包括惩罚机构和更换机构,所述惩罚机构用于对押金存储模块内通道监管人的押金进行罚没,并将罚没的押金分配给所有用户,所述更换机构用于所有用于对通道监管人进行竞选,竞选的通道监管人通过所有用户的验证后成为通道监管人,继续负责维护链下通道的账本状态。
进一步的,所述通道关闭单元包括赎回模块、验证模块和提取模块,所述审核模块用于用户将最新的状态更新信息进行发布,申请赎回押金,所述验证模块用于所有用户对申请人的最新的状态更新信息进行验证,所述提取模块用于当申请的信息核实无误时,申请人将押金存储模块内的押金取出,若有误,则系统申请人为用户作恶而被罚没所有押金,并关闭申请人的支付通道。
根据以上叙述的一种用于区块链扩展的多向状态通道系统,本发明还提供一种用于区块链扩展的多向状态通道方法,包括如下步骤:
S1、通道建立:通过通道监管人和多个普通用户合作建立一个多向支付的链下通道;
S2、通道支付:在建立的多向支付的链下通道内,普通用户之间进行交易,监管人根据普通用户之间的交易信息,向多个普通用户发送通道状态更新信息,同时作恶检测模块检测通道监管人是否存在作恶行为,若存在,则对通道监管人进行更换,若不存在,则继续检测通道监管人是否作恶;
S3、通道关闭:用于任意用户赎回押金,则关闭该用户的支付通道。
本发明的有益效果是:
本发明当通道监管人存在作恶行为时,通过对通道监管人进行更换,使链下通道还可以继续进行交易,提高了灵活性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书以及附图中所指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明的系统框图结构示意图;
图2示出了根据本发明的方法的流程框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供一种技术方案:一种用于区块链扩展的多向状态通道系统。包括通道建立单元、通道支付单元和通道关闭单元,所述通道建立单元和通道支付单元之间连接,所述通道支付单元和通道关闭单元之间连接,所述通道建立单元用于通过通道监管人和多个普通用户合作建立一个多向支付的链下通道,所述通道支付单元用于在建立的多向支付的链下通道内,普通用户之间进行交易,监管人根据普通用户之间的交易信息,向多个普通用户发送通道状态更新信息,所述通道关闭单元用于任意用户赎回押金,则关闭该用户的支付通道。
所述通道建立单元包括建立模块和押金储存模块,所述建立模块和押金储存模块之间连接,所述建立单元用于通道监管人和多个普通用户建立区块链的链下交易通道,所述押金储存模块用于将通道监管人和普通用户的押金进行储存。
建立模块包括建立组件和加入组件,所述建立组件用于使通道监管人向区块链发起一笔资金打开链下通道的交易请求,根据交易请求在该区块链上开启链下通道,并生成通道标识,并将资金存入到押金存储模块内,通道监管人负责维护链下通道的账本状态,所述加入组件用于使普通用户通过通道标识和押金加入到链下通道内,普通用户的押金存入到押金存储模块内。
所述通道支付单元包括转账交易信息模块、验证更新模块和作恶检测模块,所述转账交易模块用于多个普通用户之间进行交易,所述验证更新模块用于通道监管人对转账交易信息的合法性进行验证,验证完成后,将验证信息的状态进行更新,所述作恶检测模块用于防止通道监管人的作恶行为。
所述转账交易信息模块包括沟通组件、转账交易信息生成组件、转账交易信息审核组件,所述沟通模块用于多个普通用户之间沟通转账交易的金额,所述转账交易信息生成模块用于收款方生成转账交易信息,并在转账交易信息上签名,同时将转账交易信息发生至付款方,所述转账信息审核组件用于付款人核实转账交易信息是否符合预期,核实正确后付款人在转账交易信息上签名,并将转账交易信息发送给通道监管人。
所述验证更新模块包括转账交易信息验证组件和通道状态更新组件,所述转账交易信息验证组件用于通道监管人对转账交易信息的合法性进行验证,所述通道状态更新组件由通道监管人签名发布,用于表示通道内部的各用户账户余额信息,该通道状态更新信息包含本轮由通道监管人认可的转账交易信息列表。
所述作恶检测模块包括作恶行为验证组件和通道监管人更换组件,所述作恶行为验证组件用于检测通道监管人是否存在作恶行为,作恶行为包括发布失效信息行为和发送错误信息行为,所述通道监管人更换组件用于对通道监管人进行处罚并且更换通道监管人或者关闭链下交易通道。
发布失效信息行为:发布包含失效转账交易信息的通道状态更新信息,导致用户的余额与实际余额不符。发送错误信息行为:发布用户余额计算错误的通道状态更新信息。
所述通道监管人更换组件包括惩罚机构和更换机构,所述惩罚机构用于对押金存储模块内通道监管人的押金进行罚没,并将罚没的押金分配给所有用户,所述更换机构用于所有用于对通道监管人进行竞选,竞选的通道监管人通过所有用户的验证后成为通道监管人,继续负责维护链下通道的账本状态。
所述通道关闭单元包括赎回模块、验证模块和提取模块,所述审核模块用于用户将最新的状态更新信息进行发布,申请赎回押金,所述验证模块用于所有用户对申请人的最新的状态更新信息进行验证,所述提取模块用于当申请的信息核实无误时,申请人将押金存储模块内的押金取出,若有误,则系统申请人为用户作恶而被罚没所有押金,并关闭申请人的支付通道。
根据以上叙述的一种用于区块链扩展的多向状态通道系统,本发明还提供一种用于区块链扩展的多向状态通道方法,包括如下步骤:
S1、通道建立:通过通道监管人和多个普通用户合作建立一个多向支付的链下通道;
S2、通道支付:在建立的多向支付的链下通道内,普通用户之间进行交易,监管人根据普通用户之间的交易信息,向多个普通用户发送通道状态更新信息,同时作恶检测模块检测通道监管人是否存在作恶行为,若存在,则对通道监管人进行更换,若不存在,则继续检测通道监管人是否作恶;
S3、通道关闭:用于任意用户赎回押金,则关闭该用户的支付通道。
链上和链下的交互:通过在链下的数据中心存储原始数据,在区块链上存储原始数据的元数据即数据摘要,区块链通过管理元数据从而管理链下的数据中心上的原始数据,能够保证数据安全性和完整性,且在进行大型数据的存储、查询、更新时交互速度快。
链上链下同步方法:
1、将需要上链数据存放在链下数据库中;
2、建立一个上链任务,其功能是以一个固定的扫描间隔从链下数据库中有序按批次读取数据,检查点存储为数据库的主键,初始为空;
3、在步骤2的基础上,对数据库记录的主键进行排序读取,检查是否存在比检查点大的记录,若存在则读取一个批次的数据,否则说明未发现新增数据,等待下一个扫描间隔继续扫描;
4、在步骤3的基础上,逐条计算一个批次数据里每条记录的哈希,并将主键作为链上唯一标识与整条记录哈希一起上链;
5、在步骤4的基础上,把每个批次的数据上链完成后,在本地记录这个批次的最后一条记录的主键,作为检查点;
6、在步骤5的基础上,重复步骤3到步骤5的过程,最终,在下一个扫描间隔内数据库所有数据都会上链;
7、在步骤6的基础上,建立一个验真任务,其功能是以一个固定的扫描间隔从链上有序按批次读取数据,检查点存储为链上标识,初始为空;
8、在步骤7的基础上,对链上标识的主键进行排序读取,检查是否存在比检查点大的记录,若存在则读取一个批次的链上数据,否则说明历史数据已检查完毕,检查点置为空,并等待下一个扫描间隔从头开始扫描;
9、在步骤8的基础上,逐条读取一个批次的链上数据标识对应的数据库记录,并计算数据库记录的哈希,与链上标识对应的哈希做比对,若哈希一致,说明数据库历史记录没有过更新,若不一致则说明数据库已更新或删除;
10、在步骤9的基础上,将数据库已更新的记录进行步骤4过程,使链下记录保持与链上记录的哈希一致,将每个批次里链下已更新的记录上链后,记录此批次最后一个标识为检查点;
11、在步骤10的基础上,重复步骤8到步骤10的过程,最终,在下一个扫描间隔内数据库所有已更新或删除的数据都会上链。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
- 一种适用于区块链的海量数据摘要生成系统和方法
- 一种应用于区块链及互联网的密钥管理方法、装置及系统
- 一种用于确定大数据存储系统的运行状态的方法及系统
- 一种用于服务器的PCIE扩展系统及方法
- 用于区块链扩展的多向状态通道方法、系统及介质
- 一种基于状态通道实现区块链交易的方法和系统