掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的数据存证、获取方法和装置

文献发布时间:2023-06-19 12:18:04


基于区块链的数据存证、获取方法和装置

技术领域

本说明书涉及数据处理技术领域,尤其涉及一种基于区块链的数据存证、获取方法和装置。

背景技术

区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。

发明内容

针对以上提出的区块链数据处理流程的现状,本说明书提供了一种基于区块链的事件存证方法,应用于包括存证方节点设备的区块链中;所述区块链上部署有用于数据存储和读取的智能合约;所述方法包括:

所述存证方节点设备向所述区块链发送第一目标交易,所述第一目标交易包括待存储的目标事件数据;

调用所述智能合约,执行所述智能合约声明的数据存储逻辑,存储所述目标事件数据至所述智能合约;

至少基于所述智能合约的标识生成存证标识图像。

在又一示出的实施方式中,所述目标数据还包括目标事件相关方所作的数字签名,以供获取方节点设备基于所述数字签名对所述目标事件数据进行验证;

所述至少基于所述智能合约的标识生成存证标识图像,包括:

至少基于所述智能合约的标识和所述目标事件相关方的身份名称生成存证标识图像。

在又一示出的实施方式中,所述至少基于所述智能合约的标识生成存证标识图像,包括:

根据预设的编码规则至少对所述智能合约的标识进行编码以生成存证数字编码;

根据预设的编码与色彩的映射关系和预设的色块生成顺序,将所述存证数字编码依次生成具有预设样式的色块。

在又一示出的实施方式中,所述的方法还包括:

接收所述智能合约为所述目标事件数据分配的映射码;

所述至少基于所述智能合约的标识生成存证标识图像,包括:

至少基于所述智能合约的标识和所述映射码生成存证标识图像。

在又一示出的实施方式中,所述的方法还包括:

向所述区块链发送目标用户的数据获取权限交易,所述数据获取权限交易用以设置所述目标用户对所述目标事件数据的获取权限;

调用所述智能合约,执行所述智能合约声明的设置用户的数据获取权限的逻辑,为所述目标用户设置获取所述目标事件数据的权限。

在又一示出的实施方式中,所述的方法还包括:

接收所述智能合约发送的获取方节点设备获取所述目标数据的通知消息。

本说明书还提供了一种基于区块链的事件获取方法,应用于包括存证方节点设备和获取方节点设备的区块链中;所述区块链上部署有已存储目标事件数据的智能合约;所述方法包括:

所述获取方节点设备识别所述存证方节点设备提供的存证标识图像,以至少获取所述智能合约的标识;其中,所述存证标识图像至少基于所述智能合约的标识生成;

向所述区块链发送第二目标交易,所述第二目标交易包括所述智能合约的标识;

调用所述智能合约,执行所述智能合约声明的数据获取逻辑,获取所述目标事件数据。

在又一示出的实施方式中,所述目标事件数据还包括目标事件相关方所作的数字签名;

所述方法还包括:

基于所述数字签名对所述目标数据进行验证。

在又一示出的实施方式中,所述识别所述存证标识图像以至少获取所述智能合约的标识,包括:

根据预设的色块生成顺序和预设的数字编码与色彩的映射关系,将所述色块的色彩依次转化为存证数字编码;

根据预设的解码规则,对所述存证数字编码进行解码以至少获取所述智能合约的标识。

在又一示出的实施方式中,所述存证标识图像至少基于所述智能合约的标识和所述智能合约为所述目标事件数据分配的映射码生成;

所述识别所述存证标识图像以至少获取所述智能合约的标识,包括:识别所述存证标识图像以至少获取所述智能合约的标识和所述映射码;

所述第二目标交易还包括所述映射码。

在又一示出的实施方式中,所述智能合约为所述获取方设置有对所述目标事件数据的获取权限;所述执行所述智能合约声明的数据获取逻辑,获取所述目标事件数据,包括:

获得所述获取方对所述目标事件数据的获取权限;

基于所述获取方对所述目标数据的获取权限,执行所述智能合约声明的数据获取逻辑。

相应的,本说明书还提供了一种基于区块链的事件存证装置,应用于包括存证方节点设备的区块链中;所述区块链上部署有用于数据存储和读取的智能合约;所述装置包括:

发送单元,所述存证方节点设备向所述区块链发送第一目标交易,所述第一目标交易包括待存储的目标事件数据;

智能合约执行单元,调用所述智能合约,执行所述智能合约声明的数据存储逻辑,存储所述目标事件数据至所述智能合约;

图像生成单元,至少基于所述智能合约的标识生成存证标识图像。

在又一示出的实施方式中,所述目标数据还包括目标事件相关方所作的数字签名,以供获取方节点设备基于所述数字签名对所述目标事件数据进行验证;

所述图像生成单元:

至少基于所述智能合约的标识和所述目标事件相关方的身份名称生成存证标识图像。

在又一示出的实施方式中,所述图像生成单元:

根据预设的编码规则至少对所述智能合约的标识进行编码以生成存证数字编码;

根据预设的编码与色彩的映射关系和预设的色块生成顺序,将所述存证数字编码依次生成具有预设样式的色块。

在又一示出的实施方式中,所述的装置还包括:

接收单元,接收所述智能合约为所述目标事件数据分配的映射码;

所述图像生成单元:

至少基于所述智能合约的标识和所述映射码生成存证标识图像。

在又一示出的实施方式中,所述发送单元:

向所述区块链发送目标用户的数据获取权限交易,所述数据获取权限交易用以设置所述目标用户对所述目标事件数据的获取权限;

所述智能合约执行单元,调用所述智能合约,执行所述智能合约声明的设置用户的数据获取权限的逻辑,为所述目标用户设置获取所述目标事件数据的权限。

在又一示出的实施方式中,所述的装置还包括接收单元:接收所述智能合约发送的获取方节点设备获取所述目标数据的通知消息。

相应的,本说明书还提供了一种基于区块链的事件获取装置,应用于包括存证方节点设备和获取方节点设备的区块链中;所述区块链上部署有已存储目标事件数据的智能合约;所述装置包括:

图像识别单元,所述存证方节点设备识别所述存证方节点设备提供的存证标识图像,以至少获取所述智能合约的标识;其中,所述存证标识图像至少基于所述智能合约的标识生成;

发送单元,向所述区块链发送第二目标交易,所述第二目标交易包括所述智能合约的标识;

智能合约执行单元,调用所述智能合约,执行所述智能合约声明的数据获取逻辑,获取所述目标事件数据。

在又一示出的实施方式中,所述目标事件数据还包括目标事件相关方所作的数字签名;

所述装置还包括:

数据验证单元,基于所述数字签名对所述目标数据进行验证。

在又一示出的实施方式中,所述图像识别单元:

根据预设的色块生成顺序和预设的数字编码与色彩的映射关系,将所述色块的色彩依次转化为存证数字编码;

根据预设的解码规则,对所述存证数字编码进行解码以至少获取所述智能合约的标识。

在又一示出的实施方式中,所述存证标识图像至少基于所述智能合约的标识和所述智能合约为所述目标事件数据分配的映射码生成;

所述图像识别单元:识别所述存证标识图像以至少获取所述智能合约的标识和所述映射码;

所述第二目标交易还包括所述映射码。

在又一示出的实施方式中,所述智能合约为所述获取方设置有对所述目标事件数据的获取权限;所述智能合约执行单元:

获得所述获取方对所述目标事件数据的获取权限;

基于所述获取方对所述目标数据的获取权限,执行所述智能合约声明的数据获取逻辑。

本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述基于区块链的事件存证方法所述的步骤。

本说明书还提供了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述基于区块链的事件获取方法所述的步骤。

本说明书提供的基于区块链的数据存证、获取方法和装置,在所述区块链上部署有用于数据存储和读取的智能合约,该智能合约可应用户的调用而执行对数据的存储或读取。基于区块链技术的分布式数据库存储机制,存证方用户在所述智能合约内存储的目标数据被去中心化地记录在所有节点中,由所有参与方的节点共同维护;基于区块链的共识机制,每个存证方用户提供的数据信息不会在提供后被篡改,从而达到了存证目标数据的效果。存证方至少基于所述智能合约的标识生成存证标识图像,以供获取方可通过图像识别该存证标识图像而获取上述智能合约的标识,进而调用该智能合约以获取上述目标数据。

智能合约可在任何时候应用户的调用而完成对目标数据的存证或获取,大大提升对目标数据的存证或获取的效率;且智能合约执行有着较低的人为干预、去中心化权威的优势,更加增加了数据存证及获取行为的公平性。

附图说明

图1为本说明书一示例性实施例提供的基于区块链的数据存证、获取方法的流程图;

图2为本说明书又一实施例提供的存证标识图像示意图;

图3为本说明书一示例性实施例提供的基于区块链的数据存证装置的示意图;

图4为本说明书一示例性实施例提供的基于区块链的数据获取装置的示意图;

图5为运行本说明书示例性实施例所提供的基于区块链的数据存证或验证装置实施例的一种硬件结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

如图1所示,本说明书一示意性实施例提供了一种基于区块链的目标事件存证、及获取方法,应用于包括存证方节点设备和获取方节点设备的区块链中,所述区块链上部署有用于数据存储和读取的智能合约。

本实施例所述的区块链,具体可指一个各节点设备通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的数据分布在时间上相连的一个个“区块(block)”之内,后一区块包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点设备的数据全备份。本领域的技术人员熟知,由于区块链系统在相应共识机制下运行,已收录至区块链数据库内的数据很难被任意的节点设备篡改,例如采用Pow共识的区块链,至少需要全网51%算力的攻击才有可能篡改已有数据,因此区块链系统有着其他中心化数据库系统所法比拟的保证数据安全、防攻击篡改的特性。

另外,值得注意的是,本说明书所述的节点设备,不仅可包括备份有区块链的分布式数据库的全量数据的全节点设备,还可包括备份有区块链的分布式数据库的部分数据的轻节点设备,以及其他的终端设备或客户端,在本说明书中不做限定。

区块链上部署的智能合约,是被区块链的节点设备共识验证以保存至区块链的分布式数据库的可执行的计算机程序语言;区块链上的任一节点设备均可接收区块链的用户对智能合约的调用,以执行该智能合约声明的逻辑;上述执行结果经区块链的节点设备共识验证后也可被保存至区块链的分布式数据库。

在本实施例中,区块链上部署有用以数据存储和读取的智能合约,用户可通过向该智能合约的账户地址或其他标识发送交易,调用该智能合约的接口、及相应的函数,完成向所述智能合约内存储数据或读取所述智能合约内已存储的数据的操作。

如图1所示,本实施例所提供的基于区块链的数据存证方法包括:

步骤102,所述存证方节点设备向所述区块链发送第一目标交易,所述第一目标交易包括待存储的目标事件数据。

在本说明书中所描述的交易(transaction),是指用户通过区块链的节点设备创建,并需要最终发布至区块链的分布式数据库中的一笔数据。其中,区块链中的交易,存在狭义的交易以及广义的交易之分。狭义的交易是指用户向区块链发布的一笔价值转移;例如,在传统的比特币区块链网络中,交易可以是用户在区块链中发起的一笔转账。而广义的交易是指用户向区块链发布的一笔任意的数据。本实施例所述的第一目标交易,是包括待存储的目标事件数据,上述目标事件数据可以包括描述全部或部分事件发生的过程的数据,或描述事件的特征值的数据等,其可以具体表现为合同、通知书、说明书、业务概况、订单等各种形式,在本说明书中不做限定。为了防止区块链中的其他节点获知上述目标事件数据的原文,引起一些隐私信息的泄露,可对上述目标事件数据加密,将上述包含目标事件数据密文的第一目标交易向区块链发送。

本领域的技术人员容易知道,本实施例所述的存证方,可以是上述目标事件相关方或目标事件相关方之一,也可以不属于上述目标事件相关方,而作为一个中立方或事件存证机构方,执行本说明书实施例所述的事件存证方法。

在又一示出的实施例中,上述目标事件数据还包括所述目标事件相关方所作的数字签名,例如合同的签署方对合同正文所作的数字签名,通知书发布方对通知书正文所作的数字签名,说明书撰写方对说明书正文所作的数字签名,订单订购方对订单内容所作的数字签名,电子邮件的发送方对电子邮件的正文内容所作的数字签名等等。类似于实际业务中的签名,上述的数字签名可以表达为目标事件相关方对目标事件数据的认定,例如合同签署方对电子合同所作的数字签名等。

数字签名是签名者基于自身的私钥对其认可的数据内容的数学摘要所进行的数学加密;通过验证数字签名,不仅可验证签名者的公钥所对应的身份,还可通过将上述私钥加密的数学摘要与现有的数据内容所得的数学摘要进行对比,验证现有的数据内容是否与签名者签署的数据内容是否一致,从而获知现有的数据内容是否被篡改过。因此在本实施例中,通过验证上述数字签名,通常可供该目标事件数据的获取方对目标事件数据的签署方身份及目标事件数据的内容是否经篡改进行验证。

在所述第一目标交易经过所述区块链节点设备的共识验证后,该第一目标交易即可被收录至所述区块链的分布式数据库中;区块链中的任一节点设备,包括存证方节点设备在内,均可接收所述存证方节点设备发送至所述区块链的第一目标交易,以基于所述第一目标交易内的智能合约的地址,调用上述智能合约。

步骤104,调用所述智能合约,执行所述智能合约声明的数据存储逻辑,存储所述目标事件数据至所述智能合约。

上述将目标事件数据存储至所述智能合约的过程,也可被视为在上述区块链的分布式数据库内更新上述智能合约的过程。在一示出的实施例中,所述存储所述目标事件数据至所述智能合约,包括:

所述区块链中具有记账权限的节点将所述存储有所述目标事件数据的智能合约代码加入到候选区块;

从所述具有记账权限的节点中确定满足所述区块链共识机制的共识记账节点;

所述共识记账节点向所述区块链的节点广播所述候选区块;

在所述候选区块通过所述区块链符合预设数量的节点的验证认可后,所述候选区块被视为最新区块,加入到所述区块链的分布式数据库中。

在上述的实施例中,具有记账权限的节点是指具有生成候选区块权限的节点,可包括本说明书所述的存证方节点设备、获取方节点设备及上述区块链中的其他节点设备。根据所述区块链的共识机制,可从上述对所述候选区块具有记账权限的节点中确定共识记账节点,上述共识机制可以包括工作量证明机制(PoW)、或权利证明机制(PoS)、或股份授权证明机制(DPoS)、或PBFT算法机制等。

基于以上的具体过程,上述目标事件数据被存储至所述智能合约,也即被存储在所述区块链的分布式数据库中,从而完成对上述目标事件数据的区块链存证。

当上述第一目标交易中包含的目标事件数据为加密的密文状态时,上述智能合约既可以将上述密文解密,在智能合约内存证上述目标事件数据的原文;也可以直接存证上述目标事件数据的密文,在本说明书中不做限定。

在本实施例中,为了方便其他用户获取到上述已存证的目标事件数据,存证方节点设备还可执行步骤106:至少基于所述智能合约的标识生成存证标识图像,以供其他用户基于图像识别的方式获取到所述智能合约的标识,从而在上述区块链中调用所述智能合约,执行所述智能合约声明的数据获取逻辑,获取所述目标事件数据。上述智能合约的标识通常可包括智能合约的地址、或智能合约的账户名称、或智能合约的数字摘要值等可唯一性识别上述智能合约的标识。

在又一示出的实施方式中,当所述目标数据还包括所述目标事件相关方所作的数字签名时,为方便目标事件数据的获取方节点设备在获取目标事件数据后,基于所述数字签名对所述目标事件数据进行验证——例如,验证目标事件相关方的身份,或验证区块链上存证的目标事件数据是否与目标事件相关方数字签名所签署的目标事件数据一致,上述存证标识图像可基于上述智能合约的标识和目标事件相关方的身份名称而生成。

表征所述智能合约的标识或所述目标事件相关方的身份名称的存证标识图像通常可采用二维码或条形码等数字图像化的方式,便捷地通过图像扫码的方式获取上述智能合约的标识或/和目标事件相关方的身份名称,以用于对目标事件数据的获取或/和验证;但是上述二维码或条形码形式的存证识别图像通常不能直观的体现其代表的数据信息。

图2示意了本说明书一示例性实施例提供的存证标识图像,该存证标识图像为至少基于所述智能合约的标识生成的图片(含色彩),例如根据预设的编码规则至少对所述智能合约的标识进行编码以生成存证数字编码,根据预设的编码与色彩的映射关系,将所述存证数字编码依次生成相应色彩的色块。可选的,上述色块可以为具有固定样式的图案,如图2所示的花朵等,可以按照上述色块生成的顺序(如图2所示的花瓣1至8的顺序)生成彩色图片。

当存证标识图像还包括目标事件相关方的身份名称信息时,上述目标事件相关方的身份名称可以采用手写签名的方式与上述彩色图片共同呈现,如图2所示的手写签名“林立”(标号为9),相较于上述以二维码或条形码的形式呈现的存证标识图像,图2所示的彩色图片加手写签名方式呈现的存证标识图像,获取方用户既可以通过观察手写签名,直接获取待获取或待验证的目标事件相关方的身份名称,具有更好的直观性,也可以通过图像识别的方式识别上述手写签名获得事件相关方的用户名称;相较于条形码或二维码的图像样式,图2所示的用彩色图案也具有更好的美观性。

上述实施例所述的用于数据存储和读取的智能合约,可以为指定的一个目标业务事件作存证,也可以为多个目标业务事件作存证;既可以为一个目标事件的多条目标事件数据作存证,也可以为多个目标事件的目标事件数据作存证。当上述智能合约用于为多个目标业务事件作存证或为一个目标业务事件的多条目标事件数据作存证时,上述智能合约还可为上述目标事件数据分配相应的映射码,以供目标事件数据的获取方可基于该映射码获取到相应的目标事件数据。上述映射码可以包括上述智能合约为目标事件数据分配的序列号,也可包括上述智能合约为目标事件数据的相关方的名称分配的识别号,等等。相应地,上述至少基于所述智能合约的标识生成存证标识图像,也应包括:至少基于所述智能合约的标识和所述映射码生成存证标识图像。

为了保证上述目标事件数据不会应任何区块链用户对该智能合约的调取而被获得,保证该目标事件数据的隐私性和安全性,上述智能合约内还可为不同的区块链用户设置其对上述目标事件数据的获取权限,上述获取权限可包括:不可获取任何目标事件数据、可获取预设的部分目标事件数据、可获得全部的目标事件数据等,可依据上述智能合约应用的具体场景而设置。上述对目标事件数据的获取权限的设置,可以在该智能合约的部署上链前由该智能合约的部署方设置,也可在该智能合约部署后由具有权限设置的管理员用户给予设置,还可根据具体的目标事件,由该目标事件的存证方给予设置。

在一示出的实施方式中,上述由目标事件的存证方设置目标用户的数据获取权限的过程包括:该区块链中的任一节点设备(包括所述存证方节点设备)接收所述存证方节点设备向所述区块链发送的目标用户的数据获取权限交易,所述数据获取权限交易用以设置所述目标用户对所述目标事件数据的获取权限;调用所述智能合约,执行所述智能合约声明的设置用户的数据获取权限的逻辑,为所述目标用户设置获取所述目标事件数据的权限。

为了保证存证方节点设备监控上述目标事件数据的获取以保证数据的安全性,包括及时获知从上述智能合约内获取到上述目标事件数据的获取方用户,在又一示出的实施方式中,该智能合约还声明有获取消息通知逻辑,用以向上述目标事件数据的存证方发送关于获取方节点设备获取上述目标事件数据的通知消息;相应地,上述存证方节点设备可接收上述智能合约发送的关于获取方节点设备获取上述目标事件数据的通知消息。

以上的一个或多个实施例描述了一种或多种基于区块链的事件存证方法,在存证方节点设备完成对目标事件数据的存证后,存证方可将上述存证识别图像发送至任何需要获取或验证上述目标事件数据的区块链节点设备,以供上述节点设备作为获取方节点设备获取上述目标事件数据。如图1所示,获取上述目标事件数据的过程可以包括:

步骤108,所述获取方节点设备识别所述存证方节点设备提供的存证标识图像,以至少获取所述智能合约的标识;其中,所述存证标识图像至少基于所述智能合约的标识生成;

步骤110,向所述区块链发送第二目标交易,所述第二目标交易包括所述智能合约的标识;

步骤108,调用所述智能合约,执行所述智能合约声明的数据获取逻辑,获取所述目标事件数据。

如前所述,上述目标事件数据可以包括描述全部或部分目标事件发生的过程的数据,或描述目标事件的特征值的数据等,其可以具体表现为合同、通知书、说明书、业务概况、订单等各种形式,在本说明书中不做限定。

在又一示出的实施例中,上述目标事件数据还包括所述目标事件相关方所作的数字签名,例如合同的签署方对合同正文所作的数字签名,通知书发布方对通知书正文所作的数字签名,说明书撰写方对说明书正文所作的数字签名,订单订购方对订单内容所作的数字签名,电子邮件的发送方对电子邮件的正文内容所作的数字签名等等。类似于实际业务中的签名,上述的数字签名可以表达为目标事件相关方对目标事件数据的认定,例如合同签署方对电子合同所作的数字签名等。

相应地,上述基于区块链的事件获取方法还包括:基于所述数字签名对所述目标数据进行验证。数字签名是签名者基于自身的私钥对其认可的数据内容的数学摘要所进行的数学加密;通过验证数字签名,不仅可获得签名者的公钥,进而将上述公钥提供至身份认证机构予以身份认证,从而获知签名者的公钥所对应的身份,还可通过将上述私钥加密的数学摘要与现有的数据内容所得的数学摘要进行对比,验证现有的数据内容是否与签名者签署的数据内容是否一致,从而获知现有的数据内容是否被篡改过。因此在本实施例中,通过验证上述数字签名,通常可供该目标事件数据的获取方对目标事件数据的签署方身份及目标事件数据的内容是否经篡改进行验证。

在又一示出的实施方式中,当所述目标数据还包括所述目标事件相关方所作的数字签名时,为方便目标事件数据的获取方节点设备在获取目标事件数据后,基于所述数字签名对所述目标事件数据进行验证——例如,验证目标事件相关方的身份,或验证区块链上存证的目标事件数据是否与目标事件相关方数字签名所签署的目标事件数据一致,上述存证标识图像可基于上述智能合约的标识和目标事件相关方的身份名称而生成。

表征所述智能合约的标识或所述目标事件相关方的身份名称的存证标识图像通常可采用二维码或条形码等数字图像化的方式,便捷地通过图像扫码的方式获取上述智能合约的标识或/和目标事件相关方的身份名称,以用于对目标事件数据的获取或/和验证;但是上述二维码或条形码形式的存证识别图像通常不能直观的体现其代表的数据信息。

图2示意了本说明书一示例性实施例提供的存证标识图像,该存证标识图像为至少基于所述智能合约的标识生成的图片(含色彩),例如根据预设的编码规则至少对所述智能合约的标识进行编码以生成存证数字编码,根据预设的编码与色彩的映射关系,将所述存证数字编码依次生成相应色彩的色块。可选的,上述色块可以为具有固定样式的图案,如图2所示的花朵等,可以按照上述色块生成的顺序(如图2所示的花瓣1至8的顺序)生成彩色图片。获取方可通过图像识别终端扫描上述彩色图片,根据所述色块的生成顺序(如图2所示的花瓣1至8的顺序),识别上述具有预设样式的色块的色彩;根据预设的数字编码与色彩的映射关系,将所述色块的色彩解码,以获得存证数字编码;根据预设的解码规则,对所述存证数字编码进行解码以至少获取所述智能合约的标识。

当存证标识图像还包括目标事件相关方的身份名称信息时,上述目标事件相关方的身份名称可以采用手写签名的方式与上述彩色图片共同呈现,如图2所示的手写签名“林立”(标号为9),相较于上述以二维码或条形码的形式呈现的存证标识图像,图2所示的彩色图片加手写签名方式呈现的存证标识图像,获取方用户既可以通过观察手写签名,直接获取待获取或待验证的目标事件相关方的身份名称,具有更好的直观性,也可以通过图像识别的方式识别上述手写签名获得事件相关方的用户名称;相较于条形码或二维码的图像样式,图2所示的用彩色图案也具有更好的美观性。

上述实施例所述的用于数据存储和读取的智能合约,可以为指定的一个目标业务事件作存证,也可以为多个目标业务事件作存证;既可以为一个目标事件的多条目标事件数据作存证,也可以为多个目标事件的目标事件数据作存证。当上述智能合约用于为多个目标业务事件作存证或为一个目标业务事件的多条目标事件数据作存证时,上述智能合约还可为上述目标事件数据分配相应的映射码,以供目标事件数据的获取方可基于该映射码获取到相应的目标事件数据。上述映射码可以包括上述智能合约为目标事件数据分配的序列号,也可包括上述智能合约为目标事件数据的相关方的名称分配的识别号,等等。相应地,上述至少基于所述智能合约的标识生成存证标识图像,也应包括:至少基于所述智能合约的标识和所述映射码生成存证标识图像。在获取方节点设备进行存证标识图像识别后,可获得所述智能合约的标识和所述映射码,并将上述智能合约的标识和所述映射码一起放置于第二目标交易中,以调用上述智能合约,并基于上述映射码获取到相应的目标事件数据。

为了保证上述目标事件数据不会应任何区块链用户对该智能合约的调取而被获得,保证该目标事件数据的隐私性和安全性,上述智能合约内还可为不同的区块链用户设置其对上述目标事件数据的获取权限,上述获取权限可包括:不可获取任何目标事件数据、可获取预设的部分目标事件数据、可获得全部的目标事件数据等,可依据上述智能合约应用的具体场景而设置。上述对目标事件数据的获取权限的设置,可以在该智能合约的部署上链前由该智能合约的部署方设置,也可在该智能合约部署后由具有权限设置的管理员用户给予设置,还可根据具体的目标事件,由该目标事件的存证方给予设置。

因此,所述执行所述智能合约声明的数据获取逻辑,获取所述目标数据,包括:获得所述获取方对所述目标数据的获取权限;基于所述获取方对所述目标数据的获取权限,执行所述智能合约声明的数据获取逻辑。具体的,上述获取方的数据获取权限的设置可以通过设置用户白名单、用户黑名单、用户权限设置表等技术手段来实现,在此不再赘述。

与上述流程实现对应,本说明书的实施例还提供了一种基于区块链的事件存证装置和一种基于区块链的事件获取。该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图5所示的CPU、内存以及存储器之外,网络风险业务的实现装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。

如图3所示,本说明书还提供了一种基于区块链的事件存证装置30,应用于包括存证方节点设备的区块链中;所述区块链上部署有用于数据存储和读取的智能合约;所述装置30包括:

发送单元302,所述存证方节点设备向所述区块链发送第一目标交易,所述第一目标交易包括待存储的目标事件数据;

智能合约执行单元304,调用所述智能合约,执行所述智能合约声明的数据存储逻辑,存储所述目标事件数据至所述智能合约;

图像生成单元306,至少基于所述智能合约的标识生成存证标识图像。

在又一示出的实施方式中,所述目标事件数据还包括目标事件相关方所作的数字签名,以供获取方节点设备基于所述数字签名对所述目标事件数据进行验证;

所述图像生成单元306:

至少基于所述智能合约的标识和所述目标事件相关方的身份名称生成存证标识图像。

在又一示出的实施方式中,所述图像生成单元306:

根据预设的编码规则至少对所述智能合约的标识进行编码以生成存证数字编码;

根据预设的编码与色彩的映射关系和预设的色块生成顺序,将所述存证数字编码依次生成具有预设样式的色块。

在又一示出的实施方式中,所述的装置30还包括:

接收单元308,接收所述智能合约为所述目标事件数据分配的映射码;

所述图像生成单元306:

至少基于所述智能合约的标识和所述映射码生成存证标识图像。

在又一示出的实施方式中,所述发送单元302:

向所述区块链发送目标用户的数据获取权限交易,所述数据获取权限交易用以设置所述目标用户对所述目标事件数据的获取权限;

所述智能合约执行单元304,调用所述智能合约,执行所述智能合约声明的设置用户的数据获取权限的逻辑,为所述目标用户设置获取所述目标事件数据的权限。

在又一示出的实施方式中,所述的装置30还包括接收单元310:接收所述智能合约发送的获取方节点设备获取所述目标数据的通知消息。

相应的,如图4所示,本说明书还提供了一种基于区块链的事件获取装置40,应用于包括存证方节点设备和获取方节点设备的区块链中;所述区块链上部署有已存储目标事件数据的智能合约;所述装置40包括:

图像识别单元402,所述存证方节点设备识别所述存证方节点设备提供的存证标识图像,以至少获取所述智能合约的标识;其中,所述存证标识图像至少基于所述智能合约的标识生成;

发送单元404,向所述区块链发送第二目标交易,所述第二目标交易包括所述智能合约的标识;

智能合约执行单元406,调用所述智能合约,执行所述智能合约声明的数据获取逻辑,获取所述目标事件数据。

在又一示出的实施方式中,所述目标事件数据还包括目标事件相关方所作的数字签名;

所述装置40还包括:

数据验证单元408,基于所述数字签名对所述目标数据进行验证。

在又一示出的实施方式中,所述图像识别单元402:

根据预设的色块生成顺序和预设的数字编码与色彩的映射关系,将所述色块的色彩依次转化为存证数字编码;

根据预设的解码规则,对所述存证数字编码进行解码以至少获取所述智能合约的标识。

在又一示出的实施方式中,所述存证标识图像至少基于所述智能合约的标识和所述智能合约为所述目标事件数据分配的映射码生成;

所述图像识别单元402:识别所述存证标识图像以至少获取所述智能合约的标识和所述映射码;

所述第二目标交易还包括所述映射码。

在又一示出的实施方式中,所述智能合约为所述获取方设置有对所述目标事件数据的获取权限;所述智能合约执行单元404:

获得所述获取方对所述目标事件数据的获取权限;

基于所述获取方对所述目标数据的获取权限,执行所述智能合约声明的数据获取逻辑。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,相关之处参见方法实施例的部分说明即可,在此不再赘述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

上述实施例阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中基于区块链的事件存证方法的各个步骤。对基于区块链的事件存证方法的各个步骤的详细描述请参见之前的内容,不再重复。

与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中基于区块链的事件获取方法的各个步骤。对基于区块链的事件获取方法的各个步骤的详细描述请参见之前的内容,不再重复。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。

计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

相关技术
  • 基于区块链的数据存证、获取方法和装置
  • 基于区块链的数据存证、获取方法和装置
技术分类

06120113239376