CN110533402B - 一种异构***的记账共识方法及*** - Google Patents
一种异构***的记账共识方法及*** Download PDFInfo
- Publication number
- CN110533402B CN110533402B CN201910781389.0A CN201910781389A CN110533402B CN 110533402 B CN110533402 B CN 110533402B CN 201910781389 A CN201910781389 A CN 201910781389A CN 110533402 B CN110533402 B CN 110533402B
- Authority
- CN
- China
- Prior art keywords
- node
- value
- credit
- accounting
- current
- 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.)
- Active
Links
Images
Classifications
-
- 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/23—Updating
-
- 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
-
- 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/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
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
一种异构***的记账共识方法及***。在该***中,观察节点选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点,并根据至少一个当值记账节点的信用值高低,选择信用值最高的当值记账节点作为最高信用节点;当接收到入账请求时,对应的至少一个当值记账节点分别更新自身的公共账本,将至少一个更新后的账户余额发送给最高信用节点;以及最高信用节点根据至少一个更新后的账户余额,选取共识余额,并将共识余额发送给至少一个当值记账节点和非当值记账节点。采用本申请的方案,通过一个中立的观察节点确定当值记账节点以及最高信用节点,将该最高信用节点确定的共识余额作为最终的账户余额,保证了参与交易的节点的公平性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种异构***的记账共识方法及***。
背景技术
区块链可以作为一种计算机架构技术,它将给很多应用场景带来巨大的改变,例如产业链管理,产融结合、供应链金融等。
共识机制是区块链技术根基,是区块链区别于其他分布式计算机技术的重要标志。区块链的根本属性是去中心化,而去中心化的依托便是共识机制。具体地讲,共识机制承载两个重要的任务:1)保证所有参与节点的公平性;2)保证分布式异构***的数据的一致性。
多数的区块链网络架构都是由同构节点组成的。换句话说,多数的区块链架构并不区分交易节点和记账节点。如图1所示的同构***的结构示意图,在一个三个节点构成的可信区块链P2P网络结构中,每个节点一旦完成了身份验证(KYC),便可以加盟区块链交易,同时根据该链的共识机制参与记账。
比较贴近真实金融***的可信区块链,一般把交易节点和记账节点区分开来。因此,现提出了一种由异构节点组成的区块链网络架构。在此类架构中,区块链网络由两层不同的节点组成。例如交易过程由TBC节点完成,而清算(记账)过程由ABC节点完成。这种多层架构的优点是交易过程和清算过程可以在机制完全不相同的区块链网络架构中进行,可以采用高效的交易共识机制处理交易过程,而采用相对完备的记账共识机制方式处理清算。这个机制不仅解决的金融交易所需要的效率问题,同时使区块链扩展相对容易。
然而,金融交易和记账毕竟是互相关联的。“信用”的英语单词(Credit)直译的意思是“现在买,将来支付”。在“一手交钱,一手交货”式的交易方式中,不存在信用问题。也就是是说,在同构(单一节点类型)的***中,交易和支付是同时发生的,期间不存在转换,也不存在延迟。因而,没有信用问题。而节点的功能一旦分开,交易就存在延迟、异构的清算和支付的问题。清算和支付由不同的部门、不同的机构(不同的节点)以不同的方式参与,如何解决交易和(清算)记账之间关系,就成为一个非常重要的问题。
如果交易采取的是“交易所”模式,那么交易的清算过程一般是中心化的,ABC可能是一种中心化的架构。但在现实的商务来往中,更多的交易是以一种“OTC”的方式进行的。换句话说,账本是分布式的,交易过程中并没有一个“权威方”出来界定各参与方账户余额的真实性和可靠性,从而决定结算的最后支付金额,同时也由这个中心化的机构承担所有的信用风险。在OTC的交易过程中,账本的真实性是由相关交易方达成共识决定的。这也是现实中最能体现区块链优越性的交易类型。然而,如果把区块链的应用仅仅局限在交易的清算上面,而交易本身放在链下进行,交易的真实性又可能成为问题。在区块链真正落地的很多供应链金融实际场景中,很多人采取内部“Token“的办法解决交易和清算之间的问题,使得交易在闭环中成为”现金交易“,而清算成为内部“Token”清算。这个方法在封闭平台中也许有效,可是在一个开放的平台中,很难合规合法地去发行这种有信用背书兑现的“Token”。因此,研究一种基于信用的机制解决开放平台中交易和清算之间的关系很有必要。
到目前为止的所有区块链共识机制,都是建立在同构节点的基础上的。目前尚未发现试图联系交易节点和记账(清算/结算)节点的跨越结构共识机制。
发明内容
本申请提供一种异构***的记账共识方法及***。
第一方面,提供了一种异构***的记账共识方法,所述方法包括:
观察节点选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点;
所述观察节点根据至少一个当值记账节点的信用值高低,选择信用值最高的当值记账节点作为最高信用节点;
当接收到入账请求时,对应的所述至少一个当值记账节点分别更新自身的公共账本,将至少一个更新后的账户余额发送给所述最高信用节点;
所述最高信用节点根据所述至少一个更新后的账户余额,选取共识余额,并将所述共识余额发送给所述至少一个当值记账节点和非当值记账节点。
在一个实现中,所述最高信用节点根据所述至少一个更新后的账户余额,选取共识余额,包括:
所述最高信用节点确定发生记账差异的当值记账节点的数量小于第一设定阈值;
所述最高信用节点对所述至少一个更新后的账户余额进行统计,取相同且占多数的账户余额作为所述共识余额。
在又一个实现中,所述方法还包括:
当所述至少一个当值记账节点中的任一当值记账节点的更新后的账户余额与所述共识余额的差值大于第二设定阈值时,所述观察节点将所述任一当值记账节点的信用值减去第一设定值。
在又一个实现中,所述方法还包括:
所述观察节点确定至少一个记账节点的信用值,所述确定至少一个记账节点的信用值所依据的至少一个参数包括:机构真实信用评分C1、交易参与得分C2、记账得分C3和记账当值得分C4。
在又一个实现中,所述方法还包括:
所述观察节点根据至少一个当值记账节点的信用值高低,对所述至少一个当值记账节点进行排序;
当所述观察节点与所述最高信用节点的心跳连接断开时,所述观察节点选择信用值排序在所述最高信用节点的信用值之后的第一个当值记账节点作为新的最高信用节点。
在又一个实现中,所述方法还包括:
所述观察节点根据异构***的效率和/或参与选取节点的数量,确定所述设定信用阈值。
在又一个实现中,所述方法还包括:
当记账节点收到入账请求时,所述观察节点判断所述记账节点是否为当值记账节点;
如果所述记账节点不是当值记账节点,则等待下一次入账请求;
如果所述记账节点是当值记账节点,则执行所述对应的所述至少一个当值记账节点分别更新自身的公共账本的步骤。
在又一个实现中,所述方法还包括:
所述记账节点判断所述入账请求是否为本机构交易;
如果所述入账请求是为本机构交易,则所述记账节点根据所述入账请求更新自身的账本。
第二方面,提供了一种异构***,包括交易节点和记账节点,所述异构***还包括观察节点;
观察节点用于选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点;
所述观察节点用于根据至少一个当值记账节点的信用值高低,选择信用值最高的当值记账节点作为最高信用节点;
对应的所述至少一个当值记账节点用于当接收到入账请求时,分别更新自身的公共账本,将至少一个更新后的账户余额发送给所述最高信用节点;
所述最高信用节点用于根据所述至少一个更新后的账户余额,选取共识余额,并将所述共识余额发送给所述至少一个当值记账节点和非当值记账节点。
在一个实现中,所述最高信用节点用于确定发生记账差异的当值记账节点的数量小于第一设定阈值;
所述最高信用节点对所述至少一个更新后的账户余额进行统计,取相同且占多数的账户余额作为所述共识余额。
在又一个实现中,所述观察节点还用于当所述至少一个当值记账节点中的任一当值记账节点的更新后的账户余额与所述共识余额的差值大于第二设定阈值时,将所述任一当值记账节点的信用值减去第一设定值。
在又一个实现中,所述观察节点还用于确定所述记账节点的信用值,所述确定记账节点的信用值所依据的至少一个参数包括:机构真实信用评分C1、交易参与得分C2、记账得分C3和记账当值得分C4。
在又一个实现中,所述观察节点还用于根据至少一个当值记账节点的信用值高低,对所述至少一个当值记账节点进行排序;
所述观察节点还用于当所述观察节点与所述最高信用节点的心跳连接断开时,选择信用值排序在所述最高信用节点的信用值之后的第一个当值记账节点作为新的最高信用节点。
在又一个实现中,所述观察节点还用于根据异构***的效率和/或参与选取节点的数量,确定所述设定信用阈值。
在又一个实现中,所述观察节点还用于当记账节点收到入账请求时,判断所述记账节点是否为当值记账节点;
所述记账节点用于如果所述记账节点不是当值记账节点,则等待下一次入账请求。
在又一个实现中,所述记账节点还用于判断所述入账请求是否为本机构交易;
所述记账节点还用于如果所述入账请求是为本机构交易,则根据所述入账请求更新自身的账本。
第三方面,提供了一种异构***,包括输入装置、输出装置、存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行上述第一方面或第一方面的任一个实现所述的方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一个实现所述的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任一个实现所述的方法。
采用本申请的方案,具有如下有益效果:
通过一个中立的观察节点确定当值记账节点以及最高信用节点,将该最高信用节点确定的共识余额作为最终的账户余额,保证了参与交易的节点的公平性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的一种同构***的结构示意图;
图2是本申请实施例提供的一种异构***的结构示意图;
图3是本申请实施例提供的一种异构***的记账共识方法的流程示意图;
图4是本申请实施例提供的又一种异构***的记账共识方法的流程示意图;
图5是本申请实施例提供的又一种异构***的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本公开说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本公开。如在本公开说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本公开说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
本申请实施例提供一种异构***的记账共识方法及***,通过一个中立的观察节点确定当值记账节点以及最高信用节点,将该最高信用节点确定的共识余额作为最终的账户余额,保证了参与交易的节点的公平性。
本申请实施例提出了一个以“信用证明”(Proof of Credit)为核心的在异构区块链交易***(简称“异构***”)中跨越交易节点和记账节点的共识机制。如图2所示,是本申请实施例提供的一种异构***的结构示意图,该异构***包括交易节点11、记账节点12,还包括观察节点13,以及连接观察节点13和记账节点12的动态信用评分器14,与记账节点12连接的预选记账节点池15、节点信用阈值控制器16和记账节点池17。
其中,观察节点13:是在交易节点和记账节点之间新增的一类第三方中立观察节点。在OTC实际应用场景中,交易节点和记账节点都和某个上链的机构有关,都需要实名认证。经过KYC机制对节点进行机构(或个人)认证后,观察节点将该机构的交易节点和记账节点相关联。观察节点的责任是根据动态信用评分器提供的信息,更新记账节点的信用值。
预选记账节点池15:所有上链的记账节点都会被放到预选记账节点池中。预选记账节点池中的记账节点将记录交易,但是不参加选举。
节点信用阈值控制器16:根据***的效率要求和参加选举节点的多寡决定本轮选举(选举当值记账节点)从预选记账节点池中抽取参选记账节点的信用阈值。
记账节点池17:所有信用值大于本轮选举阈值的记账节点都将进入当值记账节点(实际记账节点)池。
动态信用评分模型:根据交易参与的历史、现状、记账节点的状态、机构KYC信息对记账节点实时评分。
最高信用算法:从记账池中选取有效账户余额、有效交易列表的算法。
下面将结合具体的流程对本申请实施例提供的异构***的记账共识方法进行描述:
如图3所示,是本申请实施例提供的一种异构***的记账共识方法的流程示意图,该方法可以包括以下步骤:
S101、观察节点选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点。
为了保证异构***的效率和/或考虑参与选取节点的数量,不是所有的记账节点都可以作为当值记账节点。因此,预先设定信用阈值,选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点。
S102、观察节点根据至少一个当值记账节点的信用值高低,选择信用值最高的当值记账节点作为最高信用节点。
为了确定记账共识余额,可以选择信用值最高的当值记账节点作为最高信用节点,由该最高信用节点确定记账共识余额。具体地,观察节点对所有当值记账节点的信用值进行排序,选择信用值最高的当值记账节点作为最高信用节点。
S103、当接收到入账请求时,对应的至少一个当值记账节点分别更新自身的公共账本,将至少一个更新后的账户余额发送给最高信用节点。
当接收到交易节点的入账请求时,对应的一个或多个当值记账节点分别记录记账链中应付账款结算信息的账本,更新自身的公共账本,分别将更新后的账户余额发送给最高信用节点。
S104、最高信用节点根据至少一个更新后的账户余额,选取共识余额,并将共识余额发送给至少一个当值记账节点和非当值记账节点。
最高信用节点根据当值记账节点提供的某一账户余额,进行统计并取相同且占多数(“少数服从多数”取值方式)的账户余额作为共识余额。即采用“少数服从多数”取值方式评选出来的某个交易方账户的余额(可能与真实的余额有点偏差,但是被认定为该交易方的余额),将该最高信用节点确定的共识余额作为最终的账户余额,保证了参与交易的节点的公平性。
将共识更新后的公共账本发布给所有节点,包括当值记账节点和非当值记账节点。
根据本申请实施例提供的一种异构***的记账共识方法,通过一个中立的观察节点确定当值记账节点以及最高信用节点,将该最高信用节点确定的共识余额作为最终的账户余额,保证了参与交易的节点的公平性。
如图4所示,是本申请实施例提供的一种异构***的记账共识方法的流程示意图,该方法可以包括以下步骤:
S201、观察节点根据异构***的效率和/或参与选取节点的数量,确定设定信用阈值。
在进行记账共识之前,观察节点根据异构***的效率和/或参与选取节点的数量(即参加选举节点的多寡),确定节点信用阈值控制器的设定信用阈值(本轮选举阈值)。记账节点的信用值大于该设定信用阈值的记账节点进入当值记账节点(实际记账节点)池。
开始记账共识时,首先分别初始化以下模块:动态信用评分器、预选记账节点池、节点信用阈值控制器和当值记账节点池。其中,初始化的参数包括对账周期、上一记账周期所得到的最终公共账本(也称权威公共账本)、记账节点的公共账本、节点信用值等。其中,对账周期可以是时间长度或者账单条数,例如每60分钟为一个对账周期,或者每1000条公共账本长度为一个对账周期。
S202、观察节点确定至少一个记账节点的信用值,确定至少一个记账节点的信用值所依据的至少一个参数包括:机构真实信用评分C1、交易参与得分C2、记账得分C3和记账当值得分C4。
观察节点根据事先设定的对账周期和上述初始化的对账周期长度检查是否处于一个新的对账周期。如果是,则启动动态信用评分器更新所有记账节点的信用状态。
具体地,更新所有记账节点的信用状态,即确定所有记账节点的信用值。其中,确定所有记账节点的信用值所依据的至少一个参数包括:
机构真实信用评分C1(可以采用大数据、机器学习方法获得);
交易参与得分C2(在上一轮对账周期中交易总金额);
记账得分C3;
记账当值得分C4;
则,得到每个记账节点的信用值为:C=aC1+bC2+cC3+dC4
其中a、b、c、d为可调参数。可以根据需要进行调整。例如如果a>>(b,c,d),则该***偏向由商业信用高的大企业主导清算。如果(b=0,c=0,d=0),则该***成为以企业真实信用为依据的中心化清算机制。如果(a=0,c=0,d=0),则该***以交易量最大的机构组织中心化清算。
为了避免中心化,可以均衡各个参量的权重,同时加大C4的权重,保证上一轮对账周期的最高信用节点L(T)在下一次对账周期不会被重复选上,以保证记账的民主性。
进一步地,观察节点还指示所有记账节点留存上一个记账周期的“权威公共账本”,并初始化所有记账节点所持的公共账本,标记为新的对账周期待确认账本。其中,权威公共账本,是指经过全体当值记账节点记入的且经过对账共识后的结算记录。公共账本,是指记录记账链中应付账款结算信息的账本,在未初始化之前,有可能与“权威公共账本”不同的(如该节点没有参与上一记账周期记账)。新的对账周期待确认账本,是指在本对账周期内当值记账节点记载的结算记录。
S203、观察节点选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点。
观察节点根据上述节点信用阈值控制器的设定信用阈值,将满足条件的预选记账节点纳入实际记账节点池,定义为当值记账节点。
S204、观察节点根据至少一个当值记账节点的信用值高低,选择信用值最高的当值记账节点作为最高信用节点。
在新的对账周期开始时,根据观察节点的要求选举出最高信用节点L(T)。记账节点池中的当值信用节点把自己的信用值发布给上一个周期的最高信用节点L(T-1)。L(T-1)根据信用节点的信用评分选出本轮对账周期的最高信用节点,并对其他节点根据信用值进行排序。同时上一个周期的最高信用节点L(T-1)对自己信用评分中的当值积分清零,退出当值记账节点池。
S205、交易节点发送入账请求。
相应地,记账节点接收该入账请求。
其中,交易本身的真实性验证已经在TBC交易链中完成。
记账节点首先判别是否为本机构交易。即将记账节点的相关信息与交易节点数据库中交易机构(交易参与者)相关信息进行比对;如果该记账节点的信息与交易参与者的信息能够匹配,对于该记账节点而言就是本机构交易。如果是本机构交易,则留存该笔交易的哈希值(HashKey),该哈希值是证明该交易真实性的一个特征参数,本实施例所有的前提是交易的真实性已经在TBC(交易链)中完成被证实为真实。记账节点根据留存的自身交易信息从“权威公共账本”中摘取本机构交易细节和账户余额,更新“私有账本”。私有账本即记账节点所记载的与本机构相关的交易细节与账户余额等账款记录。
S206、观察节点判断记账节点是否为当值记账节点。
如果节点数太多效率会低下,因此为了提高记账效率,不是每次记账都要求全部的记账节点均参与实际记账,只有满足条件的人才参与记账(当值记账)。前面观察节点已经确定了哪些是当值记账节点,因此在记账节点接收到入账请求时,进一步判断该记账节点是否为当值记账节点。
S207、观察节点向记账节点发送判断结果。
在又一个实现中,上述S206步骤和S207步骤是可以直接在S203步骤中予以确定,即直接在划分当值记账节点时就明确了哪些记账节点在本周期内有权记账,哪些记账节点在本周期内无权记账;无需实施S206步骤和S207步骤。可以直接通过通知的方式予以确定或者通过设置记账权限的方式进行,或者其他记录记账节点状态标识的方法确定。
S208、如果记账节点不是当值记账节点,则记账节点等待下一次入账请求;如果记账节点是当值记账节点,则对应的至少一个当值记账节点分别更新自身的公共账本,将至少一个更新后的账户余额发送给最高信用节点。
如果记账节点判断该入账请求不是本机构交易,且根据观察节点的判断结果,如果该记账节点为非当值节点,就只能等待。如果该记账节点是当值记账节点,则更新该记账节点待确认的公共账本,使该入账请求反映到相关的账户余额中。
S209、最高信用节点确定发生记账差异的当值记账节点的数量小于第一设定阈值,所述最高信用节点对所述至少一个更新后的账户余额进行统计,取相同且占多数的账户余额作为所述共识余额。
在本次对账周期中,每次发生入账请求后,所有当值记账节点对自身所持公共账本进行更新,并将更新后的相关余额发布给L(T)。L(T)根据记账节点发布余额选取共识余额,即最高信用节点根据当值记账节点提供的某一账户余额,评选出来的某个交易方账户的余额(可能与真实的余额有点偏差,但是被认定为该交易方的余额)。具体地,入账共识采用“少数服从多数”取值方式。选取时,可以根据需要设定容错阈值,例如容忍33%以下的记账节点余额计算发生差异,即发生记账差异的当值记账节点的数量小于第一设定阈值时,是可以容忍的。
S210、最高信用节点将共识余额发送给至少一个当值记账节点和非当值记账节点。
L(T)将共识更新后的公共账本发布给所有节点,包括当值记账节点和非当值记账节点。
S211、当至少一个当值记账节点中的任一当值记账节点的更新后的账户余额与共识余额的差值大于第二设定阈值时,观察节点将任一当值记账节点的信用值减去第一设定值。其中,第一设定阈值可以等于第二设定阈值。
上述记账周期中计算出现误差的记账节点将被处罚减去信用评分。例如,该当值节点记账的某一账户的余额数与共识余额发生偏差,且偏差大于一个容忍值后,就会处罚该记账节点的信用值,减去一个第一设定值,作为记账当值得分。
S212、观察节点根据至少一个当值记账节点的信用值高低,对至少一个当值记账节点进行排序,并且当观察节点与最高信用节点的心跳连接断开时,观察节点选择信用值排序在最高信用节点的信用值之后的第一个当值记账节点作为新的最高信用节点。
为了保证记账***的稳定性,如果监测不到L(T)的心跳,则由处于信用排序的下一位的记账节点接替,重新发起本次选举。
根据本申请实施例提供的一种异构***的记账共识方法,通过一个中立的观察节点确定当值记账节点以及最高信用节点,将该最高信用节点确定的共识余额作为最终的账户余额,保证了参与交易的节点的公平性;且综合机构真实信用评分、交易参与得分、记账得分和记账当值得分等参数对记账节点的信用值进行评分,可以保证记账的民主性。
本申请实施例还提供一种异构***,其结构如图2所示。该异构***用于执行上述记账共识方法。示例性地:
观察节点用于选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点;
所述观察节点用于根据至少一个当值记账节点的信用值高低,选择信用值最高的当值记账节点作为最高信用节点;
对应的所述至少一个当值记账节点用于当接收到入账请求时,分别更新自身的公共账本,将至少一个更新后的账户余额发送给所述最高信用节点;
所述最高信用节点用于根据所述至少一个更新后的账户余额,选取共识余额,并将所述共识余额发送给所述至少一个当值记账节点和非当值记账节点。
在一个实现中,所述最高信用节点用于确定发生记账差异的当值记账节点的数量小于第一设定阈值;
所述最高信用节点对所述至少一个更新后的账户余额进行统计,取相同且占多数的账户余额作为所述共识余额。
在又一个实现中,所述观察节点还用于当所述至少一个当值记账节点中的任一当值记账节点的更新后的账户余额与所述共识余额的差值大于第二设定阈值时,将所述任一当值记账节点的信用值减去第一设定值。
在又一个实现中,所述观察节点还用于确定所述记账节点的信用值,所述确定记账节点的信用值所依据的至少一个参数包括:机构真实信用评分C1、交易参与得分C2、记账得分C3和记账当值得分C4。
在又一个实现中,所述观察节点还用于根据至少一个当值记账节点的信用值高低,对所述至少一个当值记账节点进行排序;
所述观察节点还用于当所述观察节点与所述最高信用节点的心跳连接断开时,选择信用值排序在所述最高信用节点的信用值之后的第一个当值记账节点作为新的最高信用节点。
在又一个实现中,所述观察节点还用于根据异构***的效率和/或参与选取节点的数量,确定所述设定信用阈值。
在又一个实现中,所述观察节点还用于当记账节点收到入账请求时,判断所述记账节点是否为当值记账节点;
所述记账节点用于如果所述记账节点不是当值记账节点,则等待下一次入账请求。
在又一个实现中,所述记账节点还用于判断所述入账请求是否为本机构交易;
所述记账节点还用于如果所述入账请求是为本机构交易,则根据所述入账请求更新自身的账本。
有关该异构***的各模块或节点的详细描述可参考图3或图4所示的方法中相关的描述。
根据本申请实施例提供的一种异构***,通过一个中立的观察节点确定当值记账节点以及最高信用节点,将该最高信用节点确定的共识余额作为最终的账户余额,保证了参与交易的节点的公平性。
本申请实施例还提供一种异构***,该异构***用于执行上述记账共识方法。上述方法中的部分或全部可以通过硬件来实现,也可以通过软件或固件来实现。
可选的,***在具体实现时可以是芯片或者集成电路。
可选的,当上述实施例的记账共识方法中的部分或全部通过软件或固件来实现时,可以通过图5提供的一种异构***200来实现。如图5所示,该***200可包括:
输入装置21、输出装置22、存储器23和处理器24(装置中的处理器24可以是一个或多个,图5中以一个处理器为例)。在本实施例中,输入装置21、输出装置22、存储器23和处理器24可通过总线或其它方式连接,其中,图5中以通过总线连接为例。
其中,处理器24用于执行如下步骤:
控制观察节点选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点;
控制所述观察节点根据至少一个当值记账节点的信用值高低,选择信用值最高的当值记账节点作为最高信用节点;
当接收到入账请求时,控制对应的所述至少一个当值记账节点分别更新自身的公共账本,将至少一个更新后的账户余额发送给所述最高信用节点;
控制所述最高信用节点根据所述至少一个更新后的账户余额,选取共识余额,并将所述共识余额发送给所述至少一个当值记账节点和非当值记账节点。
在一个实现中,处理器24控制所述最高信用节点根据所述至少一个更新后的账户余额,选取共识余额,包括:
所述最高信用节点确定发生记账差异的当值记账节点的数量小于第一设定阈值;
所述最高信用节点对所述至少一个更新后的账户余额进行统计,取相同且占多数的账户余额作为所述共识余额。
在又一个实现中,处理器24还用于执行如下步骤:
当所述至少一个当值记账节点中的任一当值记账节点的更新后的账户余额与所述共识余额的差值大于第二设定阈值时,控制所述观察节点将所述任一当值记账节点的信用值减去第一设定值。
在又一个实现中,处理器24还用于执行如下步骤:
控制所述观察节点确定至少一个记账节点的信用值,所述确定至少一个记账节点的信用值所依据的至少一个参数包括:机构真实信用评分C1、交易参与得分C2、记账得分C3和记账当值得分C4。
在又一个实现中,处理器24还用于执行如下步骤:
控制所述观察节点根据至少一个当值记账节点的信用值高低,对所述至少一个当值记账节点进行排序;
当所述观察节点与所述最高信用节点的心跳连接断开时,控制所述观察节点选择信用值排序在所述最高信用节点的信用值之后的第一个当值记账节点作为新的最高信用节点。
在又一个实现中,处理器24还用于执行如下步骤:
控制所述观察节点根据异构***的效率和/或参与选取节点的数量,确定所述设定信用阈值。
在又一个实现中,处理器24还用于执行如下步骤:
当记账节点收到入账请求时,控制所述观察节点判断所述记账节点是否为当值记账节点;
如果所述记账节点不是当值记账节点,则控制所述记账节点等待下一次入账请求;
如果所述记账节点是当值记账节点,则执行所述对应的所述至少一个当值记账节点分别更新自身的公共账本的步骤。
在又一个实现中,处理器24还用于执行如下步骤:
控制所述记账节点判断所述入账请求是否为本机构交易;
如果所述入账请求是为本机构交易,则控制所述记账节点根据所述入账请求更新自身的账本。
可选的,上述数据处理方法的程序可以存储在存储器23中。该存储器23可以是物理上独立的单元,也可以与处理器24集成在一起。该存储器23也可以用于存储数据。
可选的,当上述实施例的数据处理方法中的部分或全部通过软件实现时,该装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路或电线与存储器连接,用于读取并执行存储器中存储的程序。
处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),或WLAN设备。
处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
根据本申请实施例提供的一种异构***,通过一个中立的观察节点确定当值记账节点以及最高信用节点,将该最高信用节点确定的共识余额作为最终的账户余额,保证了参与交易的节点的公平性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本公开实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read-onlymemory,ROM),或随机存储存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。
Claims (7)
1.一种异构***的记账共识方法,其特征在于,所述方法包括:
观察节点选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点;
所述观察节点根据至少一个当值记账节点的信用值高低,选择信用值最高的当值记账节点作为最高信用节点;
当接收到入账请求时,对应的所述至少一个当值记账节点分别更新自身的公共账本,将至少一个更新后的账户余额发送给所述最高信用节点;
所述最高信用节点根据所述至少一个更新后的账户余额,选取共识余额,并将所述共识余额发送给所述至少一个当值记账节点和非当值记账节点;包括:
所述最高信用节点确定发生记账差异的当值记账节点的数量小于第一设定阈值;
所述最高信用节点对所述至少一个更新后的账户余额进行统计,取相同且占多数的账户余额作为所述共识余额;
当所述至少一个当值记账节点中的任一当值记账节点的更新后的账户余额与所述共识余额的差值大于第二设定阈值时,所述观察节点将所述任一当值记账节点的信用值减去第一设定值;
所述观察节点确定至少一个记账节点的信用值,所述确定至少一个记账节点的信用值所依据的至少一个参数包括:机构真实信用评分C1、交易参与得分C2、记账得分C3和记账当值得分C4。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述观察节点根据至少一个当值记账节点的信用值高低,对所述至少一个当值记账节点进行排序;
当所述观察节点与所述最高信用节点的心跳连接断开时,所述观察节点选择信用值排序在所述最高信用节点的信用值之后的第一个当值记账节点作为新的最高信用节点。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述观察节点根据异构***的效率和/或参与选取节点的数量,确定所述设定信用阈值。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当记账节点收到入账请求时,所述观察节点判断所述记账节点是否为当值记账节点;
如果所述记账节点不是当值记账节点,则等待下一次入账请求;
如果所述记账节点是当值记账节点,则执行所述对应的所述至少一个当值记账节点分别更新自身的公共账本的步骤。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述记账节点判断所述入账请求是否为本机构交易;
如果所述入账请求是为本机构交易,则所述记账节点根据所述入账请求更新自身的账本。
6.一种异构***,包括交易节点和记账节点,其特征在于,所述异构***还包括观察节点;
观察节点用于选取记账节点的信用值大于设定信用阈值的至少一个记账节点作为当值记账节点;
所述观察节点用于根据至少一个当值记账节点的信用值高低,选择信用值最高的当值记账节点作为最高信用节点;
对应的所述至少一个当值记账节点用于当接收到入账请求时,分别更新自身的公共账本,将至少一个更新后的账户余额发送给所述最高信用节点;
所述最高信用节点用于根据所述至少一个更新后的账户余额,选取共识余额,并将所述共识余额发送给所述至少一个当值记账节点和非当值记账节点;包括:
所述最高信用节点确定发生记账差异的当值记账节点的数量小于第一设定阈值;
所述最高信用节点对所述至少一个更新后的账户余额进行统计,取相同且占多数的账户余额作为所述共识余额;
当所述至少一个当值记账节点中的任一当值记账节点的更新后的账户余额与所述共识余额的差值大于第二设定阈值时,所述观察节点将所述任一当值记账节点的信用值减去第一设定值;
所述观察节点确定至少一个记账节点的信用值,所述确定至少一个记账节点的信用值所依据的至少一个参数包括:机构真实信用评分C1、交易参与得分C2、记账得分C3和记账当值得分C4。
7.一种异构***,其特征在于,包括输入装置、输出装置、存储器和处理器;其中,所述存储器中存储一组程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行如权利要求1~5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910781389.0A CN110533402B (zh) | 2019-08-22 | 2019-08-22 | 一种异构***的记账共识方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910781389.0A CN110533402B (zh) | 2019-08-22 | 2019-08-22 | 一种异构***的记账共识方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110533402A CN110533402A (zh) | 2019-12-03 |
CN110533402B true CN110533402B (zh) | 2023-01-03 |
Family
ID=68662616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910781389.0A Active CN110533402B (zh) | 2019-08-22 | 2019-08-22 | 一种异构***的记账共识方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110533402B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113379539B (zh) * | 2020-03-09 | 2024-02-23 | ***通信集团设计院有限公司 | 基于区块链的委托权益证明共识方法及装置 |
CN111683083B (zh) * | 2020-06-05 | 2022-07-08 | 成都质数斯达克科技有限公司 | 一种区块链用户身份验证方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108600161A (zh) * | 2018-03-12 | 2018-09-28 | 成都零光量子科技有限公司 | 一种公平高效的区块链共识方法 |
CN108596623A (zh) * | 2018-05-09 | 2018-09-28 | 合肥达朴汇联科技有限公司 | 一种区块链共识达成方法 |
CN108665359A (zh) * | 2017-03-29 | 2018-10-16 | ***通信有限公司研究院 | 区块链处理方法、记账节点及验证节点 |
CN108737375A (zh) * | 2018-04-13 | 2018-11-02 | 中山大学 | 一种区块链共识方法及*** |
CN109544982A (zh) * | 2019-01-04 | 2019-03-29 | 通链(北京)科技有限公司 | 停车信息共享方法及共享*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190238485A1 (en) * | 2018-01-30 | 2019-08-01 | Hewlett Packard Enterprise Development Lp | Transmitting credits between accounting channels |
KR102151894B1 (ko) * | 2018-11-07 | 2020-09-03 | 알리바바 그룹 홀딩 리미티드 | 계좌 모델 하에서 퍼블릭 및 프라이빗 트랜잭션을 지원하는 블록체인 시스템 |
-
2019
- 2019-08-22 CN CN201910781389.0A patent/CN110533402B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108665359A (zh) * | 2017-03-29 | 2018-10-16 | ***通信有限公司研究院 | 区块链处理方法、记账节点及验证节点 |
CN108600161A (zh) * | 2018-03-12 | 2018-09-28 | 成都零光量子科技有限公司 | 一种公平高效的区块链共识方法 |
CN108737375A (zh) * | 2018-04-13 | 2018-11-02 | 中山大学 | 一种区块链共识方法及*** |
CN108596623A (zh) * | 2018-05-09 | 2018-09-28 | 合肥达朴汇联科技有限公司 | 一种区块链共识达成方法 |
CN109544982A (zh) * | 2019-01-04 | 2019-03-29 | 通链(北京)科技有限公司 | 停车信息共享方法及共享*** |
Non-Patent Citations (3)
Title |
---|
The Development of Smart Contracts for Heterogeneous Blockchains;Henry Syahputra 等;《ResearchGate》;20190131;第1-10页 * |
区块链技术及在金融业的应用;王文庆;《商场现代化》;20180430(第08期);第132-133页 * |
基于P2P电子商务的可信信用评价模型;安静;《石家庄职业技术学院学报》;20151228(第06期);第52-56页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110533402A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11250518B2 (en) | Method for secure ledger distribution and computer system using secure distributed ledger technology | |
US20230129822A1 (en) | Resource transfer system | |
US11995645B2 (en) | Computer-implemented system and method for generating and extracting user related data stored on a blockchain | |
US20230177515A1 (en) | Decentralized safeguard against fraud | |
WO2020192272A1 (zh) | 基于区块链的转账方法、***、计算设备及存储介质 | |
Rosner et al. | Understanding and regulating twenty-first century payment systems: The ripple case study | |
JP3847560B2 (ja) | 1日のネッティング支払い決済のためのシステムおよび方法 | |
US8560436B2 (en) | System and method for assessing credit risk in an on-line lending environment | |
US11521290B2 (en) | Systems and methods for storing contract information on multiple blockchain ledgers | |
US12026723B2 (en) | Electronic payment network security | |
US20080133402A1 (en) | Sociofinancial systems and methods | |
CN105389488B (zh) | 身份认证方法及装置 | |
US11481499B2 (en) | Blockchain security system | |
US20120226587A1 (en) | System and method for electronically-facilitated collective purchasing | |
CN110751468A (zh) | 用于区块链扩展的多向状态通道方法、***及介质 | |
CN107103530A (zh) | 一种银行个人多账户交易方法及*** | |
CN110533402B (zh) | 一种异构***的记账共识方法及*** | |
CN109785127A (zh) | 一种销项***核验方法、***及相关设备 | |
CN110009497B (zh) | 基于区块链的决策方法及装置和电子设备 | |
CN111292178A (zh) | 需求的匹配方法、装置、存储介质及电子设备 | |
CN113506112A (zh) | 应收账款确权方法及装置和电子设备 | |
CA2986719A1 (en) | Systems and methods for providing an orchestration layer for service offered by early warning services | |
CN116703395A (zh) | 一种数字人民币的支付方法、装置、设备、***及介质 | |
CN111598693A (zh) | 一种基于区块链的账户管理方法、***及装置 | |
US20150100474A1 (en) | Internet rosca data processing method |
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 |