CN109388957B - 基于区块链的信息移转方法、装置、介质及电子设备 - Google Patents
基于区块链的信息移转方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- CN109388957B CN109388957B CN201811124428.1A CN201811124428A CN109388957B CN 109388957 B CN109388957 B CN 109388957B CN 201811124428 A CN201811124428 A CN 201811124428A CN 109388957 B CN109388957 B CN 109388957B
- Authority
- CN
- China
- Prior art keywords
- information
- block
- transfer
- contract
- source address
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 title claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000006378 damage Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000012466 permeate Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
Abstract
本发明的实施例提供了一种基于区块链的信息移转方法,包括:响应于接收到的信息移转请求,确定信息内容对应的第一区块以及接收方的目标地址;基于所述第一区块中的合约数据,确定所述目标地址是否满足所述合约数据的执行条件;以及在确定所述目标地址满足所述执行条件时,基于所述第一区块和所述信息移转请求生成第二区块,并将生成的所述第二区块广播至区块链网络中,在所述第二区块中记录与所述目标地址对应的输出信息且指示所述输出信息未被花费。本发明实施例的技术方案基于区块链网络的交易模型和智能合约实现对信息流转过程的有效控制,能够避免信息在网络中的泄露风险,也节省了额外提供信息加解密的网络成本。
Description
技术领域
本发明涉及计算机及通信技术领域,具体而言,涉及一种区块链网络的信息移转方法、装置、计算机可读介质及电子设备。
背景技术
目前,随着互联网特别是移动互联网技术日益渗透到人们生活的方方面面,越来越多的个人信息都采用数字化的形式,通过网络在不同主体之间流转,由此产生的信息安全问题也逐渐引起关注。
以网络支付和移动支付的场景为例,二者因突出的便捷性而得到广泛普及,甚至有取代传统支付的趋势。但在网络和移动支付的过程中,身份证和银行卡、密码等重要信息在个人终端、金融机构、服务提供方等多个主体之间流转,尽管存在各种加密算法,仍然不能完全解决信息被破解、泄漏的问题。
又以版权保护的客体为例,越来越多的版权制品(例如音像和文字作品)采用数字发行的方式在网上传播。虽然版权方(作者或作者授权机构)尽力采用多种手段来避免数字作品被破解、盗版,现有的信息流转方式仍然不能杜绝这种现象的方式。
因此,针对重要信息在网络上的移转流程,需要设计一套行之有效的保护机制。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例提供了一种基于区块链的信息移转方法、装置、计算机可读介质及电子设备,进而至少可以在一定程度上解决信息在网络中流转存在的安全隐患问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本发明实施例的一个方面,提供了一种基于区块链的信息移转方法,包括:响应于接收到的信息移转请求,确定信息内容对应的第一区块以及接收方的目标地址;基于所述第一区块中的合约数据,确定所述目标地址是否满足所述合约数据的执行条件;以及在确定所述目标地址满足所述执行条件时,基于所述第一区块和所述信息移转请求生成第二区块,并将生成的所述第二区块广播至区块链网络中,在所述第二区块中记录与所述目标地址对应的输出信息且指示所述输出信息未被花费。
根据本发明实施例的一个方面,提供了一种基于区块链的信息移转装置,包括:请求处理模块,用于响应于接收到的信息移转请求,确定信息内容对应的第一区块以及接收方的目标地址;合约查询模块,用于基于所述第一区块中的合约数据,确定所述目标地址是否满足所述合约数据的执行条件;以及移转执行模块,用于在确定所述目标地址满足所述执行条件时,基于所述第一区块和所述信息移转请求生成第二区块,并将生成的所述第二区块广播至区块链网络中,在所述第二区块中记录与所述目标地址对应的输出信息且指示所述输出信息未被花费。
在本发明的一些实施例中,基于前述方案,所述信息移转装置还包括:信息发行模块,用于基于与用户标识对应的密钥对所述信息内容进行签名,获取信息签名结果;以及基于所述签名结果生成所述第一区块,并将生成的所述第一区块广播至所述区块链网络中。
在本发明的一些实施例中,基于前述方案,所述信息发行模块还用于:基于预设的业务流程生成所述合约数据;以及在所述第一区块中添加所述合约数据。
在本发明的一些实施例中,基于前述方案,所述合约数据用于指示所述信息内容从第一账户至第N账户的移转次序,其中N≥2,所述合约查询模块还用于:确定所述信息内容的来源地址与所述目标地址是否符合所述合约数据指示的移转次序;所述移转执行模块还用于:在所述合约查询模块确定所述来源地址与所述目标地址符合所述移转次序时,执行所述的基于所述第一区块和所述信息移转请求生成第二区块,否则,将所述信息内容退回至所述来源地址。
在本发明的一些实施例中,基于前述方案,所述合约数据用于指示所述信息内容从第一账户移转至销毁账户,所述合约查询模块还用于:确定所述目标地址与所述销毁账户是否匹配;所述移转执行模块还用于:在所述合约查询模块确定所述目标地址与所述销毁账户不匹配时,拒绝所述信息移转请求。
在本发明的一些实施例中,基于前述方案,所述合约数据用于指示所述信息内容由发行账户发行,所述合约查询模块还用于:在所述区块链网络中查询所述信息内容的初始来源地址,并确认所述初始来源地址与所述发行账户是否匹配;所述移转执行模块还用于:在所述合约查询模块确定所述初始来源地址与所述发行账户匹配时,执行所述的确定所述目标地址是否满足所述合约数据的执行条件;否则拒绝所述信息移转请求。
在本发明的一些实施例中,基于前述方案,所述合约查询模块还用于:基于所述第一区块获取所述信息内容的来源地址;以及在所述区块链网络中查询与所述来源地址对应的输出信息是否指示所述信息内容未被花费;所述移转执行模块还用于:在所述合约查询模块确定与所述来源地址对应的输出信息指示所述信息内容未被花费时,执行所述的基于所述第一区块和所述信息移转请求生成第二区块;否则拒绝所述信息移转请求。
根据本发明实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的基于区块链的信息移转方法。
根据本发明实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的基于区块链的信息移转方法。
在本发明的一些实施例所提供的技术方案中,基于区块链网络的交易模型和智能合约实现对信息流转过程的有效控制,能够避免信息在网络中的泄露风险,也节省了额外提供信息加解密的网络成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本发明实施例基于区块链的信息移转方法或基于区块链的信息移转装置的示例性系统架构的示意图。
图2示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
图3示意性示出了根据本发明一个实施例的基于区块链的信息移转方法的流程图。
图4示出基于传统UTXO模型的示意交易流程。
图5示意性示出了根据本发明一个实施例记录交易的一个示意性数据结构。
图6示意性示出了根据本发明一个实施例的基于区块链的信息移转装置的框图。
图7示意性示出了根据本发明另一实施例的基于区块链的信息移转装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本发明实施例基于区块链的信息移转方法或基于区块链的信息移转装置的示例性系统架构100的示意图。
区块链网络是由众多节点共同组成的一个端到端的去中心化网络,每个节点都允许获得一份完整的数据库拷贝,节点之间基于一套共识机制来共同维护整个区块链。
如图1所示,系统架构100可以包括分布式节点101、102、103、104、105和106。各个分布式节点之间可以通过通信链路进行连接,比如可以通过有线通信链路或无线通信链路进行连接等,多个分布式节点共同组成了区块链网络。
应该理解,图1中所示的分布式节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的分布式节点。
在本发明的一个实施例中,分布式节点101(也可以是分布式节点102、103、104、105和106中的任意一个)可以响应于接收到的信息移转请求,确定信息内容对应的第一区块以及接收方的目标地址;基于所述第一区块中的合约数据,确定所述目标地址是否满足所述合约数据的执行条件;以及在确定所述目标地址满足所述执行条件时,基于所述第一区块和所述信息移转请求生成第二区块,并将生成的所述第二区块广播至区块链网络中,在所述第二区块中记录与所述目标地址对应的输出信息且指示所述输出信息未被花费。
上述实施例基于区块链网络的交易模型和智能合约实现对信息流转过程的有效控制,能够避免信息在网络中的泄露风险,也节省了额外提供重要信息加解密的网络成本。
需要说明的是,本发明实施例所提供的基于区块链的信息移转方法一般由区块链节点执行,相应地,基于区块链的信息移转装置一般设置于区块链节点中。
图2示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从存储部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统操作所需的各种程序和数据。CPU201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的存储部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入存储部分208。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请中限定的各种功能。
需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。例如,所述的电子设备可以实现如图3和图4所示的各个步骤。
以下对本发明实施例的技术方案的实现细节进行详细阐述:
图3示意性示出了根据本发明的一个实施例的基于区块链的信息移转方法的流程图,该基于区块链的信息移转方法适用于前述实施例中所述的电子设备。参照图3所示,该基于区块链的信息移转方法至少包括步骤310至步骤330,详细介绍如下:
在步骤310中,响应于接收到的信息移转请求,确定信息内容对应的第一区块以及接收方的目标地址。
在一个实施例中,信息移转请求可来自当前节点所服务的任一用户的账户,对应的账户标识能够用来唯一的识别该用户。例如,该用户可在终端上选择要移转的信息内容和对应的接收账户,使得终端生成该信息移转请求并将该请求发送至当前节点。可以理解的是,信息移转请求对应了至少一个信息内容。
在一个实施例中,步骤310之前还包括信息内容的上链操作。例如,区块链网络中可设置唯一的发行账户,对应于网络中的可信节点;持有信息内容的用户由可信节点确认身份之后,由对应的发行账户在区块链网络中为该用户发行信息内容。
在信息内容涉及个人重大隐私(例如身份证号、银行卡号和密码)的应用场景下,上述可信节点例如为被授权的国家机构。在信息内容涉及版权制品等受保护内容的应用场景下,上述可信节点例如还可包括第三方的权威机构。
在一个实施例中,信息内容的上链操作例如包括以下步骤。首先,可信节点基于与用户标识对应的密钥对信息内容进行签名,获取信息签名结果。接续,由可信节点对应的发行账户基于所述签名结果生成所述第一区块,并将生成的所述第一区块广播至所述区块链网络中。使用用户密钥对信息内容签名可防止信息内容遭到非法篡改。
在一个实施例中,发行账户进一步还可通过与可信节点对应的密钥对上述第一签名结果和可信节点的节点信息进行签名。使用节点密钥签名,能够进一步避免节点信息和第一签名结果被非法篡改。
在区块链网络广播上述信息内容一段时间之后,网络中所有节点都记录有与该信息内容对应的第一区块,因此任一节点都可能作为当前接收信息移转请求的当前节点。
在收到信息移转请求后,当前节点首先确定请求中指定的信息内容所对应的第一区块和接收方的目标地址。
在一个实施例中,接收方的目标地址可以是接收方账户所使用的公钥或者多个公钥中的一个。
在步骤320中,基于所述第一区块中的合约数据,确定所述目标地址是否满足所述合约数据的执行条件。
在步骤330中,在确定所述目标地址满足所述执行条件时,基于所述第一区块和所述信息移转请求生成第二区块,并将生成的所述第二区块广播至区块链网络中,在所述第二区块中记录与所述目标地址对应的输出信息且指示所述输出信息未被花费。
本实施例的步骤320-330基于智能合约和UTXO(Unspent Transaction Output,未花费的交易输出)模型实现对信息移转流程的控制。下面先对二者进行简单介绍。
智能合约
基于区块链的智能合约包括事务处理和保存的机制,以及一个完备的状态机,用于接受和处理各种智能合约;并且事务的保存和状态处理都在区块链上完成。事务主要包含需要发送的数据;而事件则是对这些数据的描述信息。事务及事件信息传入智能合约后,合约资源集合中的资源状态会被更新,进而触发智能合约进行状态机判断。如果自动状态机中某个或某几个动作的触发条件满足,则由状态机根据预设信息选择合约动作自动执行。
智能合约系统根据事件描述信息中包含的触发条件,当触发条件满足时,从智能合约自动发出预设的数据资源,以及包括触发条件的事件;整个智能合约系统的核心就在于智能合约以事务和事件的方式经过智能合约模块的处理,出去还是一组事务和事件;智能合约只是一个事务处理模块和状态机构成的系统,它不产生智能合约,也不会修改智能合约;它的存在只是为了让一组复杂的、带有触发条件的数字化承诺能够按照参与者的意志,正确执行。
概括而言,智能合约可视为一段代码,被部署在分享的、复制的区块链账本上,它可以维持自己的状态,控制自己的资产和对接收到的外界信息或者资产进行回应。
UTXO
UTXO最早作为比特币交易的基本单位被提出,是比特币交易生成及验证中的核心概念之一。在比特币的UTXO模型中,交易构成一组链式结构,所有合法的比特币交易都可以追溯到前向一个或多个交易的输出,这些链条的源头都是挖矿奖励,末尾则是当前未花费的交易输出。所有的未花费的输出则是整个比特币网络的UTXO。
比特币规定每一笔新的交易的输入必须是某笔交易未花费的输出,每一笔输入同时也需要上一笔输出所对应的私钥进行签名,并且每个比特币的节点都会存储当前整个区块链上的UTXO,整个网络上的节点通过UTXO及签名算法来验证新交易的合法性。这样,节点不需要追溯历史就可以验证新交易的合法性。
图4示出基于传统UTXO模型的示意交易流程。如图所示,用户A通过挖矿得到12.5个比特币,通过初始交易#1001记录在自己的地址名下,输出中记录的12.5就是本次交易的未花费输出UTXO;接续,用户A希望将其中2.5个比特币转给用户B,通过发起交易#2001,在交易输入中记录资金来源的交易号#1001,在交易输出中将2.5个比特币的收款人地址设为用户B的地址,为了消耗剩余的10个比特币,交易输出中还将10个比特币的收款人地址设为自己的地址,以满足输入与输出配平的规则。
由上述示意流程可见,UTXO交易分为输入(input)和输出(output)两部分。其中,除了来自于特殊公钥的资产发行交易(如上述流程中的挖矿所得),input花费的金额必须引用自之前区块中某一交易的输出,且该输出未被花费;output则为实际的输出,每个output可以指向不同的地址(公钥);并且input中的金额总和需大于等于output的金额总和,一般二者都相同,若不同则多余部分为手续费。
步骤320中首先基于步骤310确定的第一区块,确定上述目标地址是否满足第一区块的合约数据中规定的执行条件。
在一个实施例中,上述合约数据是在生成第一区块时基于预设的业务流程生成并加入第一区块中,并且主要是基于接收方的目标地址实现对信息移转的控制。
例如,在信息内容涉及个人重大隐私信息的应用场景下,上述业务流程通常是指用户在利用个人信息办理各种业务时的流程。例如,用户在支付场景中,使用的个人信息可能需要从移动终端传送至支付服务器,再传送至金融机构的鉴权网关进行校验。相应的,在基于该信息生成第一区块时,可在其中添加合约数据用于指示信息内容从第一账户至第N账户的移转次序,其中N≥2。
又例如,在信息内容涉及版权制品等受保护内容的应用场景下,上述业务流程例如可禁止限制从发行方获得信息内容的用户,将信息内容移转给其他账户。相应的,在基于该信息生成第一区块时,可在其中添加合约数据用于指示信息内容只能从第一账户移转至销毁账户。
接续,当前节点基于目标地址是否满足执行条件的判断结果确定是否进行信息内容的移转。
可以理解的是,根据UTXO模型,当前移转交易中,信息内容的来源地址是指上次移转交易中信息内容的输出地址,信息内容的接收方的目标地址是指当前移转交易中信息内容的输出地址。在一个实施例中,当合约数据指示信息内容移转次序的情况下,当前节点判断信息内容的来源地址与目标地址是否符合该移转次序,如果符合则执行信息移转操作,否则拒绝上述信息移转请求,将所述信息内容退回至所述来源地址。这样一来,对于用户的个人隐私数据,可以严格确保按照业务流程的需求移转至当前需要使用数据的目标地址,防止出现泄漏风险。
在一个实施例中,当合约数据指示信息内容只能从第一账户移转至销毁账户的情况下,当前节点判断目标地址与合约数据中约定的销毁账户匹配时,执行将信息内容从第一账户移转至销毁账户的操作,否则拒绝上述信息移转请求。这样一来,信息内容的发行可以限制信息的使用和流转,从而可适用于版权保护等场景,防止盗版现象的出现。
上文提及本发明实施例中合约数据主要是基于接收方的目标地址实现对信息移转的控制,但本发明并不仅限于此。
在一个实施例中,合约数据用于指示所述信息内容由发行账户发行。回顾上文参照图4介绍的UTXO交易流程,本发明的实施例中可以通过合约数据来限定只有特殊公钥才可以发行信息内容。当前节点基于第一区块中记录的数据,可在区块链网络中查询信息内容的初始来源地址,并确认初始来源地址与约定的发行账户是否匹配。信息内容的初始来源地址可以是指最初将所述信息内容记录在区块链上的账户地址。在确定二者匹配时,才继续执行目标地址的判断,否则可直接拒绝所述信息移转请求。
最后,在确定信息移转请求满足合约数据的所有执行条件时,当前节点可执行信息内容的移转操作。
在一个实施例中,信息内容的移转操作可通过在第一区块的基础上生成包含本次移转交易记录的第二区块来实现。例如,当前节点在第二区块中记录与目标地址对应的输出信息并指示该输出信息未被花费,所述输出信息包含了移转操作对应的信息内容,该输出信息未被花费是指该输出信息未被转移至该目标地址以外的其它地址,然后将生成的第二区块广播至区块链网络中,经过一定数目的节点确认之后,本次移转交易将生效。
在一个实施例中,当前节点在生成第二区块以记录信息内容移转操作之前,还可包括确认本次移转交易的输入是否未被花费的步骤。具体的,可以执行如下步骤:基于所述第一区块获取所述信息内容的来源地址;在所述区块链网络中查询与所述来源地址对应的输出信息是否指示所述信息内容未被花费;以及在与所述来源地址对应的输出信息指示所述信息内容未被花费时,执行所述的基于所述第一区块和所述信息移转请求生成第二区块;在与所述来源地址对应的输出信息指示所述信息内容已被花费时,拒绝所述信息移转请求。
例如,当前节点可在区块链网络中查询与来源地址(即是上一次移转交易对应的信息内容的输出地址)对应的输出信息是否指示信息内容未被花费,可以理解的是,来源地址对应的输出信息即是指上一次移转交易对应的输出信息,也是指本次移转交易对应的输入信息;在确定信息内容未被花费时,才执行生成上述第二区块的操作;否则可拒绝本次信息移转请求。
图5示出上述第二区块中记录本次移转交易的一个示意性数据结构。如果所示,高度(Height)和索引(Index)字段510、520分别指示本次移转交易所属区块(Block)的高度及其在区块中的索引,第一哈希(Hash)字段530指示本次交易的哈希值,输入列表(InputList)540和输出列表(Output List)550分别记录本次交易的输入和输出数据。
在输入列表540中,第二哈希字段541指示本次交易所引用交易的哈希值,引用索引542用于指示引用交易中输出字段的索引,证明(Proof)字段543则用于记录可以花费当前信息内容的证明。在一个实施例中,本发明实施例的证明字段543可包括用户的私钥签名。
在输出列表550中,输出索引551用于指示输出在本次交易记录中的索引,地址(Address)字段552用于指示接收方的目标地址,内容(Content)字段553用于记录信息内容和类型等等,条件(Condition)字段554用于设置上述合约数据的执行条件,与证明字段543对应。
基于图5提供的示意性数据结构,通过输入列表540中的第二哈希字段541和引用索引542可定位到本次交易所引用交易的输出信息;输出列表550中的条件字段554可包括智能合约的字节码形式,用来指示后续交易的执行条件,后续交易通过输入列表540中的证明字段543证明当前用户和本次交易满足所引用交易输出中规定的条件。例如,可通过包括用户私钥前面的证明字段543来证明当前用户是前次交易输出的持有者。
本发明实施例提供的基于区块链的信息移转方案,通过区块链网络的交易模型和智能合约实现对信息流转过程的有效控制,能够避免信息在网络中的泄露风险,也节省了额外提供信息加解密的网络成本。
以下介绍本发明的装置实施例,可以用于执行本发明上述实施例中的基于区块链的信息移转方法。对于本发明装置实施例中未披露的细节,请参照本发明上述的基于区块链的信息移转方法的实施例。
图6示意性示出了根据本发明一个实施例的基于区块链的信息移转装置的框图,该基于区块链的信息移转装置可由前述实施例中所述的电子设备实现。参照图6所示,该基于区块链的信息移转装置包括请求处理模块610、合约查询模块620以及移转执行模块630。
在一个实施例中,请求处理模块610用于响应于接收到的信息移转请求,确定信息内容对应的第一区块以及接收方的目标地址。
在一个实施例中,合约查询模块620用于基于所述第一区块中的合约数据,确定所述目标地址是否满足所述合约数据的执行条件。
在一个实施例中,移转执行模块630用于在确定所述目标地址满足所述执行条件时,基于所述第一区块和所述信息移转请求生成第二区块,并将生成的所述第二区块广播至区块链网络中,在所述第二区块中记录与所述目标地址对应的输出信息且指示所述输出信息未被花费。
在本发明的一些实施例中,上述合约数据用于指示信息内容从第一账户至第N账户的移转次序,其中N≥2;合约查询模块620还用于:确定所述信息内容的来源地址与所述目标地址是否符合所述合约数据指示的移转次序;移转执行模块630还用于:在所述合约查询模块620确定所述来源地址与所述目标地址符合所述移转次序时,执行所述的基于所述第一区块和所述信息移转请求生成第二区块,否则,将所述信息内容退回至所述来源地址。
在本发明的一些实施例中,合约查询模块620还用于:基于所述第一区块获取所述信息内容的来源地址;以及在所述区块链网络中查询与所述来源地址对应的输出信息是否指示所述信息内容未被花费;移转执行模块630还用于:在合约查询模块620确定与所述来源地址对应的输出信息指示所述信息内容未被花费时,执行所述的基于所述第一区块和所述信息移转请求生成第二区块;否则拒绝所述信息移转请求。
本发明实施例提供的基于区块链的信息移转方案,通过区块链网络的交易模型和智能合约实现对信息流转过程的有效控制,能够避免信息在网络中的泄露风险,也节省了额外提供信息加解密的网络成本。
图7示意性示出了根据本发明一实施例的基于区块链的信息移转装置的框图,该基于区块链的信息移转装置可由前述实施例中所述的电子设备实现。参照图7所示,该基于区块链的信息移转装置,在图6实施例的基础上,还包括:信息发行模块640。
在一个实施例中,信息发行模块640用于基于与用户标识对应的密钥对所述信息内容进行签名,获取信息签名结果;以及基于所述签名结果生成所述第一区块,并将生成的所述第一区块广播至所述区块链网络中。
在本发明的一些实施例中,信息发行模块640还用于基于预设的业务流程生成所述合约数据;以及在所述第一区块中添加所述合约数据。
在本发明的一些实施例中,上述合约数据用于指示信息内容从第一账户移转至销毁账户,合约查询模块620还用于:确定目标地址与销毁账户是否匹配;移转执行模块630还用于:在合约查询模块620确定所述目标地址与销毁账户不匹配时,拒绝所述信息移转请求。
在本发明的一些实施例中,上述合约数据用于指示所信息内容由发行账户发行,合约查询模块620还用于:在区块链网络中查询信息内容的初始来源地址,并确认初始来源地址与发行账户是否匹配;移转执行模块630还用于:在合约查询模块620确定初始来源地址与发行账户匹配时,执行确定目标地址是否满足合约数据的执行条件;否则拒绝所述信息移转请求。
本发明实施例提供的基于区块链的信息移转方案,通过区块链网络的交易模型和智能合约实现对信息流转过程的有效控制,能够避免信息在网络中的泄露风险,也节省了额外提供信息加解密的网络成本。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (14)
1.一种基于区块链的信息移转方法,其特征在于,包括:
响应于接收到的信息移转请求,确定信息内容对应的第一区块以及接收方的目标地址;
基于所述第一区块中的合约数据,确定所述目标地址是否满足所述合约数据的执行条件;以及
在确定所述目标地址满足所述执行条件时,基于所述第一区块和所述信息移转请求生成第二区块,并将生成的所述第二区块广播至区块链网络中,在所述第二区块中记录与所述目标地址对应的输出信息且指示所述输出信息未被花费;
所述合约数据用于指示所述信息内容从第一账户至第N账户的移转次序,其中N≥2,所述方法还包括:确定所述信息内容的来源地址与所述目标地址是否符合所述合约数据指示的移转次序;以及
在确定所述来源地址与所述目标地址符合所述移转次序时,执行所述的基于所述第一区块和所述信息移转请求生成第二区块;
在确定所述来源地址与所述目标地址不符合所述移转次序时,将所述信息内容退回至所述来源地址。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于与用户标识对应的密钥对所述信息内容进行签名,获取信息签名结果;以及
基于所述签名结果生成所述第一区块,并将生成的所述第一区块广播至所述区块链网络中。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
基于预设的业务流程生成所述合约数据;以及
在所述第一区块中添加所述合约数据。
4.如权利要求1-3任一项所述的方法,其特征在于,所述合约数据用于指示所述信息内容从第一账户移转至销毁账户,所述方法还包括:
在确定所述目标地址与所述销毁账户不匹配时,拒绝所述信息移转请求。
5.如权利要求1-3任一项所述的方法,其特征在于,所述合约数据用于指示所述信息内容由发行账户发行,所述方法还包括:
在所述区块链网络中查询所述信息内容的初始来源地址,并确认所述初始来源地址与所述发行账户是否匹配;以及
在确定所述初始来源地址与所述发行账户匹配时,执行所述的确定所述目标地址是否满足所述合约数据的执行条件;
在确定所述初始来源地址与所述发行账户不匹配时,拒绝所述信息移转请求。
6.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
基于所述第一区块获取所述信息内容的来源地址;
在所述区块链网络中查询与所述来源地址对应的输出信息是否指示所述信息内容未被花费;以及
在与所述来源地址对应的输出信息指示所述信息内容未被花费时,执行所述的基于所述第一区块和所述信息移转请求生成第二区块;
在与所述来源地址对应的输出信息指示所述信息内容已被花费时,拒绝所述信息移转请求。
7.一种基于区块链的信息移转装置,其特征在于,包括:
请求处理模块,用于响应于接收到的信息移转请求,确定信息内容对应的第一区块以及接收方的目标地址;
合约查询模块,用于基于所述第一区块中的合约数据,确定所述目标地址是否满足所述合约数据的执行条件;以及
移转执行模块,用于在确定所述目标地址满足所述执行条件时,基于所述第一区块和所述信息移转请求生成第二区块,并将生成的所述第二区块广播至区块链网络中,在所述第二区块中记录与所述目标地址对应的输出信息且指示所述输出信息未被花费;
所述合约数据用于指示所述信息内容从第一账户至第N账户的移转次序,其中N≥2,所述合约查询模块还用于:确定所述信息内容的来源地址与所述目标地址是否符合所述合约数据指示的移转次序;所述移转执行模块还用于:在所述合约查询模块确定所述来源地址与所述目标地址符合所述移转次序时,执行所述的基于所述第一区块和所述信息移转请求生成第二区块,否则,将所述信息内容退回至所述来源地址。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:信息发行模块,用于基于与用户标识对应的密钥对所述信息内容进行签名,获取信息签名结果;以及基于所述签名结果生成所述第一区块,并将生成的所述第一区块广播至所述区块链网络中。
9.如权利要求8所述的装置,其特征在于,所述信息发行模块还用于:基于预设的业务流程生成所述合约数据;以及在所述第一区块中添加所述合约数据。
10.如权利要求7-9任一项所述的装置,其特征在于,所述合约数据用于指示所述信息内容从第一账户移转至销毁账户,所述合约查询模块还用于:确定所述目标地址与所述销毁账户是否匹配;所述移转执行模块还用于:在所述合约查询模块确定所述目标地址与所述销毁账户不匹配时,拒绝所述信息移转请求。
11.如权利要求7-9任一项所述的装置,其特征在于,所述合约数据用于指示所述信息内容由发行账户发行,所述合约查询模块还用于:在所述区块链网络中查询所述信息内容的初始来源地址,并确认所述初始来源地址与所述发行账户是否匹配;所述移转执行模块还用于:在所述合约查询模块确定所述初始来源地址与所述发行账户匹配时,执行所述的确定所述目标地址是否满足所述合约数据的执行条件;否则拒绝所述信息移转请求。
12.如权利要求7-9任一项所述的装置,其特征在于,所述合约查询模块还用于:基于所述第一区块获取所述信息内容的来源地址;以及在所述区块链网络中查询与所述来源地址对应的输出信息是否指示所述信息内容未被花费;所述移转执行模块还用于:在所述合约查询模块确定与所述来源地址对应的输出信息指示所述信息内容未被花费时,执行所述的基于所述第一区块和所述信息移转请求生成第二区块;否则拒绝所述信息移转请求。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的基于区块链的信息移转方法。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至6中任一项所述的基于区块链的信息移转方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811124428.1A CN109388957B (zh) | 2018-09-26 | 2018-09-26 | 基于区块链的信息移转方法、装置、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811124428.1A CN109388957B (zh) | 2018-09-26 | 2018-09-26 | 基于区块链的信息移转方法、装置、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109388957A CN109388957A (zh) | 2019-02-26 |
CN109388957B true CN109388957B (zh) | 2021-06-04 |
Family
ID=65419282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811124428.1A Active CN109388957B (zh) | 2018-09-26 | 2018-09-26 | 基于区块链的信息移转方法、装置、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388957B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109102261A (zh) * | 2018-08-02 | 2018-12-28 | 刘卓 | 基于赛博钞票的去中心化、安全、省电的加密货币 |
CN110334149B (zh) * | 2019-06-04 | 2023-06-06 | 创新先进技术有限公司 | 一种基于区块链的数据记录方法、装置及电子设备 |
CN110349025B (zh) * | 2019-07-11 | 2023-03-28 | 湖南天河国云科技有限公司 | 一种基于未花费交易输出的合约资产防遗失方法及装置 |
CN110766406B (zh) * | 2019-09-30 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 资源转移方法、资源转移装置、存储介质及电子设备 |
CN110910101B (zh) * | 2019-10-24 | 2022-09-06 | 南京可信区块链与算法经济研究院有限公司 | 基于UTXO模型的token记账方法、系统及存储介质 |
CN111309812A (zh) * | 2020-03-11 | 2020-06-19 | 深圳市网心科技有限公司 | 基于区块链的函件传输方法及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220820A (zh) * | 2017-05-16 | 2017-09-29 | 腾讯科技(深圳)有限公司 | 资源转移方法、装置及存储介质 |
WO2018078519A1 (en) * | 2016-10-25 | 2018-05-03 | nChain Holdings Limited | Method and system for directing an exchange associated with an anonymously held token on a blockchain |
CN108154366A (zh) * | 2017-12-25 | 2018-06-12 | 丁江 | 跨链数字资产转移方法和终端设备 |
KR101882802B1 (ko) * | 2017-04-17 | 2018-07-27 | 주식회사 코인플러그 | Utxo 기반 프로토콜을 이용한 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버 |
CN108335206A (zh) * | 2018-02-14 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 资产管理方法及装置、电子设备 |
-
2018
- 2018-09-26 CN CN201811124428.1A patent/CN109388957B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018078519A1 (en) * | 2016-10-25 | 2018-05-03 | nChain Holdings Limited | Method and system for directing an exchange associated with an anonymously held token on a blockchain |
KR101882802B1 (ko) * | 2017-04-17 | 2018-07-27 | 주식회사 코인플러그 | Utxo 기반 프로토콜을 이용한 블록체인 기반의 문서 관리 방법 및 이를 이용한 문서 관리 서버 |
CN107220820A (zh) * | 2017-05-16 | 2017-09-29 | 腾讯科技(深圳)有限公司 | 资源转移方法、装置及存储介质 |
CN108154366A (zh) * | 2017-12-25 | 2018-06-12 | 丁江 | 跨链数字资产转移方法和终端设备 |
CN108335206A (zh) * | 2018-02-14 | 2018-07-27 | 阿里巴巴集团控股有限公司 | 资产管理方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109388957A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388957B (zh) | 基于区块链的信息移转方法、装置、介质及电子设备 | |
JP6873270B2 (ja) | ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス | |
US11651109B2 (en) | Permission management method, permission verification method, and related apparatus | |
EP3639468B1 (en) | Systems and methods for avoiding or reducing cryptographically stranded resources on a blockchain network | |
US20220277307A1 (en) | Systems and methods for personal identification and verification | |
EP3610436B1 (en) | Rapid distributed consensus on blockchain | |
CN111046352B (zh) | 一种基于区块链的身份信息安全授权系统与方法 | |
KR101660627B1 (ko) | 암호화 화폐의 거래를 보호하는 방법 및 장치 | |
CN111931238B (zh) | 一种基于区块链的数据资产流转方法、装置及设备 | |
TW202016818A (zh) | 區塊鏈的交易方法和裝置 | |
CN111418184A (zh) | 基于区块链的可信保函 | |
CN111292174A (zh) | 一种纳税信息处理方法、装置及计算机可读存储介质 | |
CN111369236A (zh) | 一种应用于区块链的数据管理方法和装置 | |
CN112950201B (zh) | 一种应用于区块链系统的节点管理方法及相关装置 | |
CN111417945A (zh) | 基于区块链的可信保函 | |
CN112149077B (zh) | 基于区块链技术的供应链票据方法、系统和计算机设备 | |
CN111932263B (zh) | 一种数据管理方法、装置及设备 | |
CN110619222A (zh) | 基于区块链的授权处理方法、装置、系统及介质 | |
CN111433798A (zh) | 基于区块链的可信保函 | |
WO2019175427A1 (en) | Method, device and medium for protecting work based on blockchain | |
US11783415B2 (en) | Method for providing services requiring private information using access rights in distributed network and recording medium for performing the method | |
CN115001783A (zh) | 一种投票方法、系统及存储介质 | |
CN110276693B (zh) | 保险理赔方法及系统 | |
GB2592024A (en) | Methods and apparatus for controlling access to personal data | |
CN112202734B (zh) | 业务处理方法、电子设备及可读存储介质 |
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 |