基于区块链的存证方法和装置
技术领域
本说明书涉及数据处理技术领域,尤其涉及一种基于区块链的存证方法和装置。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
有鉴于此,本说明书一个或多个实施例提供了一种基于区块链的存证方法,应用于包括第三方支付服务节点设备的区块链系统;所述方法包括:
所述第三方支付服务节点设备获取用户的第三方支付使用信息,所述第三方支付使用信息包括所述用户的第三方支付账户信息和基于所述第三方支付账户的资金流转信息;
基于所述第三方支付使用信息,生成第一存证交易;
将所述第一存证交易发送到区块链的分布式数据库,以使所述第一存证交易被所述区块链的节点设备共识验证后,被收录于所述区块链的分布式数据库。
在又一示出的实施方式中,所述的方法还包括:
获取所述第三方支付账户的用户注册信息,所述用户注册信息包括用户的身份识别信息;
基于所述注册信息生成第二存证交易;
将所述第二存证交易发送到区块链的分布式数据库,以使所述第二存证交易被所述区块链的节点设备共识验证后,被收录于所述区块链的分布式数据库。
在又一示出的实施方式中,所述区块链还包括与关联金融机构节点设备;所述区块链的分布式数据库还收录有所述关联金融机构节点设备发送的第三存证交易,所述第三存证交易用以为所述第三方支付账户的资金流转信息提供凭证。
在又一示出的实施方式中,所述第一存证交易包括所述第三方支付使用信息的哈希摘要。
在又一示出的实施方式中,所述第二存证交易包括所述用户注册信息的哈希摘要。
在又一示出的实施方式中,所述区块链为联盟链;所述第三方支付服务节点设备、和所述关联金融机构节点设备为所述联盟链的联盟成员节点设备。
相应地,本说明书还提供了一种基于区块链的存证装置,应用于包括第三方支付服务节点设备的区块链系统;所述装置包括:
获取单元,用于获取用户的第三方支付使用信息,所述第三方支付使用信息包括所述用户的第三方支付账户信息和基于所述第三方支付账户的资金流转信息;
生成单元,用于基于所述第三方支付使用信息,生成第一存证交易;
发送单元,用于将所述第一存证交易发送到区块链的分布式数据库,以使所述第一存证交易被所述区块链的节点设备共识验证后,被收录于所述区块链的分布式数据库。
在又一示出的实施方式中,所述获取单元,进一步用于获取所述第三方支付账户的用户注册信息,所述用户注册信息包括用户的身份识别信息;
所述生成单元,进一步用于基于所述注册信息生成第二存证交易;
所述发送单元,进一步用于将所述第二存证交易发送到区块链的分布式数据库,以使所述第二存证交易被所述区块链的节点设备共识验证后,被收录于所述区块链的分布式数据库。
在又一示出的实施方式中,所述区块链还包括与关联金融机构节点设备;所述区块链的分布式数据库还收录有所述关联金融机构节点设备发送的第三存证交易,所述第三存证交易用以为所述第三方支付账户的资金流转信息提供凭证。
在又一示出的实施方式中,所述第一存证交易包括所述第三方支付使用信息的哈希摘要。
在又一示出的实施方式中,所述第二存证交易包括所述用户注册信息的哈希摘要。
在又一示出的实施方式中,所述区块链为联盟链;所述第三方支付服务节点设备、和所述关联金融机构节点设备为所述联盟链的联盟成员节点设备。
相应地,本说明书还提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述第三方支付服务节点设备所执行的基于区块链的存证方法。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述第三方支付服务节点设备所执行的基于区块链的存证方法。
由以上技术方案可见,本说明书提供的基于区块链的存证方法及装置,将第三方支付机构的服务终端设置为区块链的节点设备,基于区块链技术的分布式数据库存储机制,将第三方支付机构的用户使用第三方支付的使用信息生成第一存证交易,而存证于区块链的分布式数据库中,由区块链系统的节点设备共同维护,实时进行同步,所有记录可回溯;而且,基于区块链的共识机制,上述第一存证交易不会在提供后被篡改,从而保证了上述第一存证交易的真实性和安全性,为基于上述第一存证交易进行的司法取证或其他应用提供了有效的数据基础。
附图说明
图1为本说明书所提供的一实施例所示的基于区块链的存证方法的流程示意图;
图2为本说明书所提供的一实施例提供的基于区块链的存证装置的示意图;
图3为运行本说明书所提供的基于区块链的存证装置实施例的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
第三方支付机构通常是指具备一定实力和信誉保障的独立机构,通过促成交易双方进行交易的网络支付模式,目前用户可以基于第三方支付完成商品购买异步支付、用户第三方支付账户之间转账收款、或用户的其他金融账户与第三方支付账户之间转账收款等金融。对于第三方支付机构而言,如果用户出现黑灰交易,第三方支付机构不得不配合司法机构进行调查取证及对受害用户的赔付;在第三方支付机构基于自身受损进行司法追偿诉讼时,其收益往往小于诉讼成本;对此问题,第三方支付机构只能通过不断追加技术投入以叠加风控策略。
基于以上提出的技术现状和问题,图1是本说明书所提供的一实施例所示的基于区块链的存证方法,应用于包括第三方支付服务节点设备的区块链系统
本实施例所述的第三方支付服务机构是指承担第三方支付的货款支付、转账汇款等功能的金融服务机构;本实施例所述的第三方支付服务节点设备是指上述第三方支付服务机构设置的、连接入区块链网络的终端设备。
本实施例所述的区块链,具体可指一个各节点设备通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的数据分布在时间上相连的一个个“区块(block)”之内,后一区块包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。本领域的技术人员熟知,由于区块链系统在相应共识机制下运行,已收录至区块链数据库内的数据很难被任意的节点篡改,例如采用Pow共识的区块链,至少需要全网51%算力的攻击才有可能篡改已有数据,因此区块链系统有着其他中心化数据库系统所无法比拟的保证数据安全、防攻击篡改的特性。由此可知,在本说明书所提供的实施例中,被收录至区块链的分布式数据库中的数据不会被攻击或篡改,从而保证了上述区块链系统中各节点设备(包括上述第三方支付服务节点设备)向上述区块链存证的数据信息的真实可靠性。
上述第三方支付服务机构的终端设备,可通过遵循相应节点协议、运行节点协议程序的安装来加入该区块链,作为该区块链的节点设备。本领域的技术人员通常将具有区块链分布式数据库的数据全备份的节点设备称为全节点,将具有区块链分布式数据库的部分备份数据(如仅有区块头的数据)的节点设备称为轻节点等;在本实施例中所述的第三方支付服务节点设备可以为上述的全节点或轻节点,只要直接或间接连入上述区块链、且可发送或获取区块链的分布式数据库的数据的任何设备均可称为本实施例所述的节点设备。
如图1所示,上述基于区块链的存证方法包括:
步骤102,所述第三方支付服务节点设备获取用户的第三方支付使用信息,所述第三方支付使用信息包括所述用户的第三方支付账户信息和基于所述第三方支付账户的资金流转信息。
本实施例所述的用户的第三方支付使用信息,是指用户基于自身的第三方支付账户使用第三方支付服务的记录信息;可包括用户基于自身的第三方支付账户,进行货款支付(或收取)、转账汇款(或收款)等资金流转的使用信息。值得注意的是,上述转账汇款(或收款)可包括多个用户的第三方支付账户之间的转账汇款(或收款),也可包括用户的第三方支付账户与其他金融机构的账户(如银行账户)之间的转账汇款(或收款),在本说明书中不作限定。
本说明书并不限定上述第三方支付服务节点设备获取上述用户的第三方支付使用信息的具体方式,既可以从用户的第三方支付服务客户端获取上述用户的第三方支付使用信息,也可以从第三方支付服务机构的其他服务器或终端设备获取上述用户的第三方支付使用信息,等等。
步骤104,基于所述第三方支付使用信息,生成第一存证交易。
在本说明书中所描述的交易(transfer),是指通过区块链的节点设备创建,并需要最终发布至区块链的分布式数据库中的一笔数据。其中,区块链中的交易,存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔具有业务意图的业务数据;例如,本说明书的上述实施例所述的由第三方支付服务节点设备生成的、用于为上述用户的第三方支付使用信息进行存证的数据即可以为一笔交易;上述第三方支付服务节点设备可将上述第三方支付使用信息按照预设的数据内容生成规则和交易数据格式整理,从而转化为一笔交易——即第一存证交易。
上述基于第三方支付使用信息生成第一存证交易的具体方式可以有多种,例如,可将用户的第三方支付使用信息直接按照预设的交易数据格式整理成第一存证交易,从而方便区块链上任一节点设备对上述用户的第三方支付使用信息的信息内容获取。又如,由于用户的第三方支付使用信息通常涉及用户的账户信息、资金流转信息等隐私信息,为保护用户信息的安全,可以将上述用户的第三方支付使用信息基于预设的加密规则加密后,再生成上述第一存证交易。上述预设的加密规则可以有多种设置方法,如对称加密或非对称加密,在本说明书中不作限定。
对数据原文进行数学哈希化处理以生成数据原文的哈希摘要(或称哈希指纹)是本领域常用的一种对数据原文的存证手段,通过存证哈希摘要基本上可唯一性地指向数据原文信息;而且哈希摘要占用的数据空间相对于数据原文,尤其是大数据量的数据原文,具有占用空间小的优点。鉴于以上的技术基础,本实施例所述的第一存证交易还可包括上述第三方支付使用信息的哈希摘要;通过将第三方支付使用信息的哈希摘要存证于区块链的分布式数据库中,可在取证时,验证上述第三方支付使用信息是否与被存证的哈希摘要对应,如果对应,则证明上述第三方支付使用信息为原始的信息,未经过篡改,具有作为证据的合法性。
步骤106,将所述第一存证交易发送到区块链的分布式数据库,以使所述第一存证交易被所述区块链的节点设备共识验证后,被收录于所述区块链的分布式数据库。
本实施例所述的将所述第一存证交易上传到所述区块链的分布式数据库中的详细过程,可依据所述区块链的共识机制及交易规则而具体设定。在一示出的实施例中,将所述第一存证交易上传到所述区块链的分布式数据库中,包括:
所述区块链中具有记账权限的节点设备将所述第一存证交易加入到候选区块;
从所述具有记账权限的节点设备中确定满足所述区块链共识机制的共识记账节点设备;
所述共识记账节点向所述区块链的节点设备广播所述候选区块;
在所述候选区块通过所述区块链符合预设数量的节点设备的验证认可后,所述候选区块被视为最新区块,加入到所述区块链的分布式数据库中。
在上述的实施例中,具有记账权限的节点设备是指具有生成候选区块权限的节点设备。根据所述区块链的共识机制,可从所述候选区块具有记账权限的节点设备中确定共识记账节点设备,上述共识机制可以包括工作量证明机制(PoW)、或权利证明机制(PoS)、或股份授权证明机制(DPoS)等。
PoS或DPoS共识机制与PoW类似,均属于公有区块链中确认共识记账节点设备所常选用的共识算法。在又一示出的实施例中,为降低交易或数据的确认时间、提高交易吞吐量、满足对安全和性能的需求,本说明书所提供的实施例还可选用联盟链架构来构建该区块链。上述第三方支付服务节点设备、或对金融服务业务实行监管的机构、司法机构等可作为该联盟链的预选的联盟成员节点设备,参与区块的记账。联盟链的共识过程也由该预选的节点设备控制,当网络上有超过设定比例(如2/3)的节点设备确认一个区块,该区块记录的交易或数据将得到全网确认。
联盟链通常多采用权益证明或PBFT、RAFT等共识算法。在实现时,在区块链的每一轮共识开始之前,可以在区块链中的各节点设备中选举出一台主节点设备,即上述实施例所述的共识记账节点(比如,每一轮共识都重新选举出一主节点设备,其它节点设备作为从节点设备),由主节点设备进一步向发起交易的验证和共识,并负责基于共识通过的交易数据(或目标数据)为区块链创建最新的区块。
PBFT算法作为本说明书所提供的联盟链的共识算法的一种优选的实施方式,是由于采用该种算法共识的效率高,可满足高频交易量的需求,例如在本实施例中第三方支付服务机构基于用户频繁发生第三方支付使用行为而生成的第一存证交易;且共识的时延很低,基本达到实时处理的要求,能快速实时地在区块链的新生区块中收录上述第一存证交易;而且,将联盟链网络中可信节点作为预选的记账节点,兼顾了安全性与稳定性;另外,采用PBFT算法不会消耗过多的计算机算力资源,也不一定需要代币流通,因此具有良好的可使用性。
基于本实施例提供的存证方法,基于区块链技术的分布式数据库存储机制,将基于用户的第三方支付使用信息生成的第一存证交易去中心化地记录在多个区块链节点中,由区块链节点共同维护,实时进行同步,所有记录可回溯;而且,基于区块链的共识机制,第三方支付服务节点设备提供的第一存证交易不会在提供后被篡改,从而保证了存证数据的真实性和安全性,为基于该第一存证交易进行的对用户的第三方支付使用行为进行调查取证或其他应用提供了有效的数据基础;在出现用户基于第三方支付账户进行黑灰交易时,区块链上的任一节点设备(包括第三方支付服务节点设备、或司法机构的节点设备)可从区块链上直接获取上述第一存证交易,基于区块链的防篡改机制进行取证,从而降低了第三方支付服务机构应对用户黑灰交易时的诉讼成本。
在又一示出的实施方式中,为进一步加强对第三方支付服务用户的监管力度,提升对用户的第三方支付服务使用行为的取证全面性,本说明书提供的存证方法还可包括:获取所述第三方支付账户的用户注册信息,所述用户注册信息包括用户的身份识别信息;基于所述注册信息生成第二存证交易;将所述第二存证交易发送到区块链的分布式数据库,以使所述第二存证交易被所述区块链的节点设备共识验证后,被收录于所述区块链的分布式数据库。
类似地,上述用户注册信息既可以从用户的第三方支付服务客户端获取,也可以从第三方支付服务机构的其他服务器或终端设备获取,等等,在本说明书中不作限定。
上述用户的身份识别信息可包括个人用户的身份证件信息、或企业用户的营业执照信息,还可包括个人用户的生物学识别信息、或企业用户的相关责任人的生物学识别信息等等。用户的第三方支付服务客户端可以通过各种采集方式获取用户的人脸信息、或指纹信息、或声纹信息等生物学身份识别信息,或者,可以通过扫描刷卡或手动录入的方式,获取用户的证件信息等,并将采集到的上述信息发送到上述第三方支付服务机构的服务器或终端设备。
由于用户的身份识别信息通常为隐私信息,如果直接将用户的身份识别信息的明文备份于区块链的分布式数据库中进行存证,其他节点设备均可获取到上述身份识别信息的明文,有可能会带来身份信息泄露的安全隐患。因此与第一存证交易类似,上述各实施例所述的第二存证交易可以包括上述用户注册信息的原文、或上述用户注册信息的加密密文、或上述用户注册信息的哈希摘要等信息的一种或多种。采用将身份识别信息加密或将身份识别信息的转化为哈希摘要的方式,既可以为上述身份识别信息的原文进行存证,又可以防止信息泄露。
上述实施例所述的将所述第二存证交易收录到区块链的分布式数据库的具体过程,可以与上述第一存证交易被收录到区块链的分布式数据库的过程类似,在此不再赘述。
本领域的技术人员应知,用户在使用第三方支付服务时,有时会涉及第三方支付账户与外部金融账户之间的资金流转,因此为了完善对用户的第三方支付服务使用情况的调查取证,建立完整的证据链,上述区块链还包括关联金融机构的节点设备,所述关联金融机构是指与上述第三方支付服务机构具有资金流通关系的金融机构,可包括各银行机构;而且,所述区块链的分布式数据库还收录有所述关联金融机构节点设备发送的第三存证交易,所述第三存证交易用以为所述第三方支付账户的资金流转信息提供凭证,例如,第三存证交易可以为用户在关联金融机构的账户变动信息,用以为上述用户的第三方支付使用信息所包括的,基于所述第三方支付账户的资金流转信息提供到账通知、或资金划出通知等。
上述实施例所述的将所述第三存证交易收录到区块链的分布式数据库的具体过程,可以与上述第一存证交易被收录到区块链的分布式数据库的过程类似,在此不再赘述。值得注意的是,当上述区块链为联盟链时;上述第三方支付服务节点设备、和上述关联金融机构节点设备均可为所述联盟链的联盟成员节点设备,参与构建上述联盟链;还可作为上述联盟链预选的节点设备,参与到对上述第一存证交易、第二存证交易、或第三存证交易的共识记账中。
与上述流程实现对应,本说明书的实施例还提供了基于区块链的存证装置20。该装置20可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图3所示的CPU、内存以及存储器之外,网络风险业务的实现装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图2所示为本说明书还提供了一种基于区块链的存证装置20,应用于包括第三方支付服务节点设备的区块链系统;所述装置20包括:
获取单元202,用于获取用户的第三方支付使用信息,所述第三方支付使用信息包括所述用户的第三方支付账户信息和基于所述第三方支付账户的资金流转信息;
生成单元204,用于基于所述第三方支付使用信息,生成第一存证交易;
发送单元206,用于将所述第一存证交易发送到区块链的分布式数据库,以使所述第一存证交易被所述区块链的节点设备共识验证后,被收录于所述区块链的分布式数据库。
在又一示出的实施方式中,所述获取单元202,进一步用于获取所述第三方支付账户的用户注册信息,所述用户注册信息包括用户的身份识别信息;
所述生成单元204,进一步用于基于所述注册信息生成第二存证交易;
所述发送单元206,进一步用于将所述第二存证交易发送到区块链的分布式数据库,以使所述第二存证交易被所述区块链的节点设备共识验证后,被收录于所述区块链的分布式数据库。
在又一示出的实施方式中,所述区块链还包括与关联金融机构节点设备;所述区块链的分布式数据库还收录有所述关联金融机构节点设备发送的第三存证交易,所述第三存证交易用以为所述第三方支付账户的资金流转信息提供凭证。
在又一示出的实施方式中,所述第一存证交易包括所述第三方支付使用信息的哈希摘要。
在又一示出的实施方式中,所述第二存证交易包括所述用户注册信息的哈希摘要。
在又一示出的实施方式中,所述区块链为联盟链;所述第三方支付服务节点设备、和所述关联金融机构节点设备为所述联盟链的联盟成员节点设备。
上述装置20中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,相关之处参见方法实施例的部分说明即可,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,如图3所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中第三方支付服务节点设备所执行的基于区块链的存证方法的各个步骤。对上述第三方支付服务节点设备所执行的基于区块链的存证方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中第三方支付服务节点设备所执行的基于区块链的存证方法的各个步骤。对上述第三方支付服务节点设备所执行的基于区块链的存证方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。