CN108235772B - 基于区块链的数据处理方法、装置、存储介质及电子设备 - Google Patents

基于区块链的数据处理方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN108235772B
CN108235772B CN201780002508.7A CN201780002508A CN108235772B CN 108235772 B CN108235772 B CN 108235772B CN 201780002508 A CN201780002508 A CN 201780002508A CN 108235772 B CN108235772 B CN 108235772B
Authority
CN
China
Prior art keywords
block
sub
key
intelligent contract
node
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
Application number
CN201780002508.7A
Other languages
English (en)
Other versions
CN108235772A (zh
Inventor
王健
谢辉
张跃洋
陈敏
周阳
庞洪福
薛鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Robotics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Cloudminds Robotics Co Ltd filed Critical Cloudminds Robotics Co Ltd
Publication of CN108235772A publication Critical patent/CN108235772A/zh
Application granted granted Critical
Publication of CN108235772B publication Critical patent/CN108235772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提出一种基于区块链的数据处理方法、装置、存储介质及电子设备,用以保护区块链节点的隐私交易。该方法包括:接收区块链网络中的区块;区块包括子区块,子区块包括智能合约代码和智能合约代码对应的数据;通过预先获取的私钥从管理合约的数字信封中获取秘钥;根据秘钥获取子区块中的智能合约代码,以使第一区块链节点执行智能合约代码;将智能合约代码和第一区块链节点执行智能合约代码产生的数据加密并写入子区块中;将子区块写入第一区块链节点的区块中。

Description

基于区块链的数据处理方法、装置、存储介质及电子设备
技术领域
本公开涉及计算机领域,尤其涉及一种基于区块链的数据处理方法、装置、存储介质及电子设备。
背景技术
区块链技术是一种分布式、去中心、去信任的网络数据共识存储技术,其基于独特的区块(Block)生成机制和P2P(Point to Point,点对点)网络通信机制实现了分布式计算的同步性问题。
对传统的公有区块链而言,任一区块链节点的交易信息都是公开的,且任一区块链节点都可以查看其他区块链节点的交易信息。但在一些应用领域,区块链节点的交易信息可能包括隐私信息,需要避免给每个参与节点提供数据明文,但如果节点没有数据明文,节点将无法验证数据的有效性,最终不能达到保护链上数据的目的。
因此,传统的公有区块链无法较好地保护隐私交易。
发明内容
有鉴于此,本公开提供一种基于区块链的数据处理方法、装置、存储介质及电子设备,用以保护区块链节点的隐私交易。
为了实现上述目的,根据本公开实施例的第一方面,提供一种基于区块链的数据处理方法,所述方法应用于区块链网络中的第一区块链节点,所述区块链网络部署一管理合约,所述管理合约定义了能够执行智能合约的可信节点,所述可信节点至少包括所述第一区块链节点;
所述方法包括:
接收所述区块链网络中的区块;所述区块包括子区块,所述子区块包括智能合约代码和所述智能合约代码对应的数据;
通过预先获取的私钥从所述管理合约的数字信封中获取秘钥;
根据所述秘钥获取所述子区块中的所述智能合约代码,以使所述第一区块链节点执行所述智能合约代码;
将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密并写入子区块中;
将所述子区块写入所述第一区块链节点的区块中。
根据本公开实施例的第二方面,提供一种安全访问块链的装置,配置于区块链网络中的第一区块链节点,所述区块链网络部署一管理合约,所述管理合约定义了能够执行智能合约的可信节点,所述可信节点至少包括所述第一区块链节点;
该装置包括:
接收模块,被配置为接收所述区块链网络中的区块;所述区块包括子区块,所述子区块包括智能合约代码和所述智能合约代码对应的数据;
获取模块,被配置为通过预先获取的私钥从所述智能合约的数字信封中获取秘钥;
解密模块,被配置为根据所述秘钥获取所述子区块中的所述智能合约代码,以使所述第一区块链节点执行所述智能合约代码;
第一写入模块,被配置为将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密并写入子区块中;以及
第二写入模块,被配置为将所述子区块写入所述第一区块链节点的区块中。
根据本公开实施例的第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行第一方面所述的方法的指令。
本公开第四方面提供一种电子设备,包括:第三方面所述的计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
通过本公开上述技术方案,通过部署管理合约,所述管理合约可以定义能够执行具有隐私交易的智能合约的可信节点,即可以由所述管理合约定义隐私交易的对象,只有隐私交易的对象能够通过预先获取的私钥从所述管理合约的数字信封中获取秘钥,并通过获取的秘钥来解密子区块中经过加密的隐私交易,并且由于子区块只是区块中独立的一部分,并不影响其它节点验证区块中其它数据的有效性,而子区块数据的有效性只有隐私交易的对象(即可信节点)能够验证。因而,采用上述方法实现了对隐私交易的保护。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
图1是根据本公开一示例性实施例示出的实施环境示意图。
图2是根据本公开一示例性实施例提供的一种基于区块链的数据处理方法的流程示意图。
图3是根据本公开一示例性实施例提供的一种基于区块链的数据处理方法中加密的流程示意图。
图4是根据本公开一示例性实施例提供的一种基于区块链的数据处理方法中子区块写入区块的流程示意图。
图5是根据本公开一示例性实施例提供的一种基于区块链的数据处理装置的框图。
图6是根据本公开一示例性实施例提供的一种基于区块链的数据处理装置的第一写入模块的框图。
图7是根据本公开一示例性实施例提供的一种基于区块链的数据处理装置的第二写入模块的框图。
图8是是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在介绍本公开提供的基于区块链的数据处理方法、装置及存储介质之前,首先对区块链网络进行简单介绍。区块链是由区块链网络中所有节点共同参与维护的去中心化分布式数据库系统,它是由一系列基于密码学方法产生的数据块组成,每个数据块即为区块链中的一个区块。根据产生时间的先后顺序,区块被有序地链接在一起,形成一个数据链条,被形象地称为区块链(Blockchain)。下面对区块链网络的一些概念进行介绍。
区块链网络中的节点可以称为区块链节点,其中区块链网络基于P2P(Peer toPeer,对等网络)网络,每个参与交易和区块存储、验证、转发的P2P网络节点都是一个区块链网络中的节点。
区块链中的用户身份可以使用公钥或者是根据该公钥生成的账户地址表示,并且公钥和私钥是成对出现的,其中私钥由用户掌握而不发布到上述的区块链网络中,公钥或者上述的账户地址可随意发布在区块链网络中。其中,公钥可以通过特定的哈希和编码后成为上述的账户地址。值得一提的是,用户身份和区块链节点不存在一一对应关系,用户可以在任意一个区块链节点上使用自己的私钥。
通常意义上,在区块链的形成过程中,每一个参与计算的节点均享有相同的权限(去中心、无信任),其中包括交易(Transaction),计算区块(俗称挖矿,即mining)等核心功能。其中,交易代表将被写入区块的数据,而区块(Block)则采用特定生成机制,保证最长的链(最长的链包含最多前后关联的区块)为有效链。在交易的数据中,通常包括了一定属性或货币,比如交易拥有者的数字签名(即拥有者的私钥对其交易进行加密处理,通常意义上称为数字签名),交易接受者的账户地址等,在该交易通过了对拥有者数字签名的验证,并被写入区块后,即将该货币的所有权转移到接受者一方。
关于区块链的数据写入区块的过程,是由区块链节点通过向区块链网络发布交易(Transaction)实现向区块链写入数据。该交易包括:区块链节点按照预设的交易数据格式对生成的交易数据包,以及利用该区块链节点自己的私钥对该交易数据包进行的数字签名,该数字签名用于证明该区块链节点的用户的身份。而后,该交易被区块链网络中的“矿工”(即执行PoW共识竞争机制的区块链节点)记录入区块链中产生的新区块,并将该交易发布到区块链网络中,在该交易被其他区块链节点验证通过(其他节点可以从该区块链节点生成的交易中获取该区块链节点的公钥,并根据该区块链节点的公钥对上述的数字签名进行验证,除了验证数字签名之外还可以验证交易数据包是否为规定的数据结构)和接受后,该交易即被写入区块链。其中,区块链中的新区块是由上述的“矿工”通过执行PoW共识竞争机制(该机制可以理解为:各个“矿工”按照区块的预设技术要求,例如按照预设的随机数要求来共同计算随机数,哪一个“矿工”先计算出符合该随机数要求的随机数,该“矿工”产生的区块就作为该新区块)而定期产生的,因此产生新区块的时间间隔通常和上述的预设技术要求相关,通过设置不同的预设技术要求可以改变区块链产生新区块的时间间隔。
智能合约(Smart Contract):智能合约实际上是存储在区块链上的可执行代码,不是严格意义上的账户因其不一定设有实际拥有人,但其特性和行为在很多情况下能够被看作是一种受编程逻辑控制的机器账户。
为了使公开技术方案更加易于理解,再对本公开各个实施例所涉及的可能的区块链网络结构进行介绍。图1是根据本公开一示例性实施例示出的实施环境示意图。如图1所示,该实施环境可以包括由若干节点组成的区块链网络10,该区块链网络10部署管理合约,所述管理合约为区块链网络中的所有节点都能够执行的合约。所述管理合约定义了能够执行智能合约的可信节点,这里所提的所述智能合约可以为任何智能合约,包括了具有隐私交易的智能合约;所述智能合约也可以是只指具有隐私交易的智能合约。该区块链网络10可以包括:第一区块链节点11、第二区块链节点12、参与节点13。其中:
第一区块链节点11,可以包括但不限于各种终端,是能够执行具有隐私交易的智能合约的可信节点,同步区块链网络的区块数据。
第二区块链节点12,可以包括但不限于各种终端,是能够执行该智能合约的可信节点,同步区块链网络的区块数据。
参与节点13,可以包括但不限于各种终端,区块链网络中除可信节点外的任意节点,数量不限。所述第一区块链节点11与所述第二区块链节点12,能够执行具有隐私交易的智能合约,参与节点13不能执行具有隐私交易的智能合约。其中,所述第一区块链节点11、所述第二区块链节点12与参与节点13都能够执行所述管理合约。
图2是根据本公开第一方面一示例性实施例提供的一种基于区块链的数据处理方法的流程图。该方法应用于区块链网络中的第一区块链节点。如图2所示,该方法可以包括以下步骤。
步骤S21,接收所述区块链网络中的区块;所述区块包括子区块,所述子区块包括智能合约代码和所述智能合约代码对应的数据。所述智能合约代码可以是指具有隐私交易的智能合约的代码,所述智能合约代码对应的数据是指隐私交易的数据。
步骤S22,通过预先获取的私钥从所述管理合约的数字信封中获取秘钥。
步骤S23,根据所述秘钥获取所述子区块中的所述智能合约代码,以使所述第一区块链节点执行所述智能合约代码。
步骤S24,将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密并写入子区块中。
步骤S25,将所述子区块写入所述第一区块链节点的区块中。
本公开的技术方案基于能够支持智能合约的区块链,例如,以太坊就是一个支持智能合约的区块链,基于以太坊可以实施本公开的技术方案。以太坊本身没有接入限制,需要将以太坊改造为许可链,并在改造的许可链中部署管理合约和智能合约,所述管理合约定义了能够执行智能合约的可信节点,比如,所述管理合约可以定义可信节点能够执行所有的智能合约,特别是包括了具有隐私交易的智能合约;所述管理合约也可以定义只有可信节点能够执行具有隐私交易的智能合约。在图1中,所述可信节点包括第一区块链节点11和第二区块链节点12。
在该许可链中包括EOA(External Owned Account)账号和合约账号两类。其中,EOA账号包括ExtInfo字段、账号的nonce和账号的余额balance。其中,nonce是防止回放攻击的一个数字,账号每发一个交易,nonce需要加1。原生的以太坊账号没有ExtInfo字段,通过增加该字段可以为用户增加权限的定义,其数据与账号的nonce、余额一起形成账号的属性标识,受区块链的数据防篡改保护。合约账号除了包括EOA账号所拥有的数据项外,还包括智能合约代码和智能合约代码对应的数据,该数据为可信节点执行智能合约代码产生的持久化的数据。本方案需要保护区块链节点的隐私信息包括智能合约代码和智能合约代码对应的数据。
在步骤S21中,所述第一区块链节点从所述区块链网络中接收邻近节点广播的区块。其中,所述子区块里存有隐私交易的数据。如图1所示,一个参与节点13广播自己的区块,第一区块链节点11从接收该参与节点13的区块,假设该区块中包括子区块,所述子区块包括智能合约代码和所述智能合约代码对应的数据。
所述管理合约可以定义交易接口,通过该交易接口可以向可信节点发送隐私交易;所述管理合约可以定义增加可信节点的接口,如图1所示,可以通过该接口将其中一个参与节点13增加为可信节点;所述管理合约可以定义删除可信节点的接口,如图1所示,可以通过该接口将第二区块链节点12从可信节点中删除,以使第二区块链节点12作为参与节点;所述管理合约还可以定义修改可信节点的接口。以下是管理合约的伪代码示例:
Figure BDA0001557728880000081
DealTx接口是管理合约的交易接口。本公开可以通过改造以太坊的EVM(合约执行虚拟机),使其执行DealTx接口时,完成部署可信节点、启动可信节点进行隐私交易等功能。
在接收区块后,执行步骤S22,通过预先获取的私钥从所述管理合约的数字信封中获取秘钥。其中,所述秘钥可以是所述可以是通过非对称加密方式加密后放入所述管理合约的数字信封中,所述秘钥可以为对称秘钥,所述私钥为非对称私钥。所述第一区块链节点首先获取所述管理合约的中的数字信封,然后,通过私钥解密加密的秘钥,以获取秘钥。
在获取秘钥后,就可以执行步骤S23,根据所述秘钥解密所述子区块中的经过加密的所述智能合约代码,以获取所述智能合约代码。所述第一区块链节点在获取所述智能合约代码后,执行获取的所述智能合约代码,进而产生对应的数据。然后,执行步骤S24,将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密并写入子区块中。
其中,步骤S24中对所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据的加密方式包括但不限于以下两种实施方式:
第一种实施方式:如图3所示,图3是根据本公开一示例性实施例提供的一种基于区块链的数据处理方法中加密的流程示意图,所述将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密,可以包括以下步骤。
在步骤S241中,随机生成所述秘钥,并获取本次随机生成的秘钥。
在步骤S242中,利用本次随机生成的秘钥加密所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据。
在步骤S243中,将本次随机生成的秘钥更新到所述管理合约的数字信封中。
采用第一种实施方式,在每次对所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据进行加密之前,第一区块链节点随机生成秘钥,并利用本次随机生成的秘钥,执行步骤S24。由于每次生成秘钥的规则都是随机生成,所以第一区块链节点每次随机生成的秘钥不同,即第一区块链节点每次执行步骤S24所使用的秘钥不同,并且,当前执行步骤S24所使用的秘钥会更新到管理合约的数字信封中,因此,第一区块链节点以往各次执行步骤S24产生的子区块将不能再被解密,能够适用于需要清除历史记录的应用场景。
第二种实施方式:利用所述秘钥加密所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据;其中,所述秘钥为所述第一区块链节点第一次对所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据进行加密之前,随机生成的秘钥,并将第一次随机生成的秘钥存入所述数字信封中。
采用第二种实施方式,在第一次对所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据进行加密之前,第一区块链节点随机生成秘钥,并利用第一次随机生成的秘钥,执行步骤S24。在第一次随机生成秘钥之后,第一区块链节点以后每次执行步骤S24都使用第一次随机生成的秘钥。也就是说,只要第一区块链节点在第一次对智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据进行加密之前随机生成秘钥,此后都无需再次随机生成秘钥,该第一次随机生成的秘钥固定为第一区块链节点执行步骤S24所使用的秘钥,因而,第一区块链节点每次执行步骤S24所使用的秘钥相同。
在对所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密后,将加密后的智能合约代码和数据写入子区块中,然后执行步骤S25,将所述子区块写入所述第一区块链节点的区块中。
图4是根据本公开一示例性实施例提供的一种基于区块链的数据处理方法中子区块写入区块的流程示意图。如图4所示,所述将所述子区块写入所述第一区块链节点的区块中,可以包括以下步骤。
在步骤S251中,根据所述子区块,由所述第一区块链节点所在的设备进行挖矿。
在步骤S252中,将挖矿完成后的所述子区块写入所述第一区块链节点的区块中。
为了节约资源,即避免为了子区块而另外分配挖矿的CPU和内存资源,在生成子区块后,由生成该子区块的第一区块链节点所在的设备进行挖矿,挖矿完成后,将所述子区块写入所述第一区块链节点的区块中。进而,所述第一区块链节点可以将该区块通过广播的形式发送给区块链网络中的其它节点。
为了使得子区块所在的进程能够独立运行,逻辑上与区块所在的进程没有关系。物理部署上为了方便管理,所述子区块存在于所述区块所在的区块目录的下一级子目录中,且所述子区块所在的子目录与所述区块目录的目录结构一致。目录结构可以如下所示:
Figure BDA0001557728880000101
Figure BDA0001557728880000111
区块所在的进程与子区块所在的进程之间从逻辑和物理上完全解耦,所以它们之间的通信是进程间的消息通信。以太坊已经支持RPC(远程过程调用),本方案只需要在RPC的基础上扩展消息即可。
举例来讲,如图1所示的区块链网络10,该区块链网络10部署的管理合约定义了第一区块链节点11和第二区块链节点12为可信节点,参与节点13为不可信节点,且所述管理合约的数字信封中存有秘钥。以第二区块链节点12发起隐私交易,第一区块链节点11执行隐私交易为例(当然,在其它实施例中,也可以是第一区块链节点11发起隐私交易,第二区块链节点12执行隐私交易):
第二区块链节点12的区块包括子区块,子区块中包含隐私交易的信息。第二区块链节点12发起隐私交易后,第二区块链节点12的区块通过点对点网络透传给邻近的参与节点13,参与节点13再将第二区块链节点12的区块通过点对点网络透传给邻近的第一区块链节点11。由于参与节点13不是可信节点,因此,参与节点13不能从所述管理合约的数字信封中获取秘钥,即不能解密第二区块链节点12的区块中的子区块;
第一区块链节点11收到第二区块链节点12的区块后,将第二区块链节点12的区块通过点对点网络透传给邻近节点的同时,通过预先获取的私钥从所述管理合约的数字信封中获取秘钥。第一区块链节点11根据所述秘钥解密所述子区块中经过加密的智能合约代码;接着,第一区块链节点11执行所述智能合约代码,并产生对应的数据;然后,第一区块链节点11将所述智能合约代码和对应的数据加密并打包到子区块中;接着,第一区块链节点11将所述子区块写入所述第一区块链节点的区块中;最后,第一区块链节点11将该区块进行广播。
可见,通过本公开上述技术方案,通过部署管理合约,所述管理合约可以定义能够执行具有隐私交易的智能合约的可信节点,即可以由所述管理合约定义隐私交易的对象,只有隐私交易的对象能够通过预先获取的私钥从所述管理合约的数字信封中获取秘钥,并通过获取的秘钥来解密子区块中经过加密的隐私交易,并且由于子区块只是区块中独立的一部分,并不影响其它节点验证区块中其它数据的有效性,而子区块数据的有效性只有隐私交易的对象(即可信节点)能够验证。因而,采用上述方法实现了对隐私交易的保护。
基于同一发明构思,本公开实施例还提供一种基于区块链的数据处理装置,用于执行本公开实施例提供的上述基于区块链的数据处理方法。图5是根据本公开一示例性实施例提供的一种基于区块链的数据处理装置的框图。如图5所示,基于区块链的数据处理装置500配置于区块链网络中的第一区块链节点,所述区块链网络部署一管理合约,所述管理合约定义了能够执行该智能合约的可信节点,所述可信节点至少包括所述第一区块链节点;该装置500包括:
所述装置包括:
接收模块510,被配置为接收所述区块链网络中的区块;所述区块包括子区块,所述子区块包括智能合约代码和所述智能合约代码对应的数据;
获取模块520,被配置为通过预先获取的私钥从所述管理合约的数字信封中获取秘钥;
解密模块530,被配置为根据所述秘钥获取所述子区块中的所述智能合约代码,以使所述第一区块链节点执行所述智能合约代码;
第一写入模块540,被配置为将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密并写入子区块中;以及
第二写入模块550,被配置为将所述子区块写入所述第一区块链节点的区块中。
可选地,如图7所示,所述第二写入模块550包括:
挖矿子模块551,被配置为根据所述子区块,由所述第一区块链节点所在的设备进行挖矿;以及
写入子模块552,被配置为将挖矿完成后的所述子区块写入所述第一区块链节点的区块中。
可选地,如图6所示,所述第一写入模块540包括:
获取子模块541,被配置为随机生成所述秘钥,并获取本次随机生成的秘钥;
加密子模块542,被配置为利用本次随机生成的秘钥加密所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据;以及
更新子模块543,被配置为将本次随机生成的秘钥更新到所述管理合约的数字信封中。
可选地,所述第一写入模块540还被配置为:
利用所述秘钥加密所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据;
其中,所述秘钥为所述第一区块链节点第一次对所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据进行加密之前,随机生成的秘钥,并将第一次随机生成的秘钥存入所述管理合约的所述数字信封中。
可选地,所述子区块存在于所述区块所在的区块目录的下一级子目录中,且所述子区块所在的子目录与所述区块目录的目录结构一致。
可选地,所述管理合约至少定义了交易接口、以及增加、删除、修改可信节点的接口。
可选地,所述私钥为非对称私钥,所述秘钥为对称秘钥,所述秘钥通过非对称加密后放入所述管理合约的数字信封中。
所属本领域的技术人员应该清楚地了解到,为描述的方便和简洁,上述描述的基于区块链的数据处理装置的各模块的具体工作过程,可以参考前述方法实施例中对应的过程,此处不再赘述。
另外,上述对基于区块链的数据处理装置组成模块进行的划分,仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。并且,各个模块的物理实现也可以有多种方式,本公开对此不做限定。
图8是根据一示例性实施例示出的一种电子设备800的框图。如图8所示,该电子设备800可以包括:处理器801,存储器802,多媒体组件803,输入/输出(I/O)接口804,以及通信组件805。
其中,处理器801用于控制该电子设备800的整体操作,以完成上述的基于区块链的数据处理方法中的全部或部分步骤。存储器802用于存储各种类型的数据以支持在该电子设备800的操作,这些数据例如可以包括用于在该电子设备800上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器802可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件803可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器802或通过通信组件805发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口804为处理器801和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件805用于该电子设备800与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件805可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的基于区块链的数据处理方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器802,上述程序指令可由电子设备800的处理器801执行以完成上述的基于区块链的数据处理方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

Claims (14)

1.一种基于区块链的数据处理方法,其特征在于,所述方法应用于区块链网络中的第一区块链节点,所述区块链网络部署一管理合约,所述管理合约定义了能够执行具有隐私交易的智能合约的可信节点,所述可信节点至少包括所述第一区块链节点;
所述方法包括:
接收所述区块链网络中的区块;所述区块包括子区块,所述子区块包括智能合约代码和所述智能合约代码对应的数据;
通过预先获取的私钥从所述管理合约的数字信封中获取秘钥;
根据所述秘钥获取所述子区块中的所述智能合约代码,以使所述第一区块链节点执行所述智能合约代码;
将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密并写入子区块中;
将所述子区块写入所述第一区块链节点的区块中;
所述将所述子区块写入所述第一区块链节点的区块中,包括:
根据所述子区块,由所述第一区块链节点所在的设备进行挖矿;
将挖矿完成后的所述子区块写入所述第一区块链节点的区块中。
2.根据权利要求1所述的方法,其特征在于,所述将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密,包括:
随机生成所述秘钥,并获取本次随机生成的秘钥;
利用本次随机生成的秘钥加密所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据;
将本次随机生成的秘钥更新到所述管理合约的数字信封中。
3.根据权利要求1所述的方法,其特征在于,所述将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密,包括:
利用所述秘钥加密所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据;
其中,所述秘钥为所述第一区块链节点第一次对所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据进行加密之前,随机生成的秘钥,并将第一次随机生成的秘钥存入所述管理合约的所述数字信封中。
4.根据权利要求1所述的方法,其特征在于,所述子区块存在于所述区块所在的区块目录的下一级子目录中,且所述子区块所在的子目录与所述区块目录的目录结构一致。
5.根据权利要求1所述的方法,其特征在于,所述管理合约至少定义了交易接口、以及增加、删除、修改可信节点的接口。
6.根据权利要求1所述的方法,其特征在于,所述私钥为非对称私钥,所述秘钥为对称秘钥,所述秘钥通过非对称加密后放入所述管理合约的数字信封中。
7.一种基于区块链的数据处理装置,其特征在于,所述装置配置于区块链网络中的第一区块链节点,所述区块链网络部署一管理合约,所述管理合约定义了能够执行具有隐私交易的智能合约的可信节点,所述可信节点至少包括所述第一区块链节点;
所述装置包括:
接收模块,被配置为接收所述区块链网络中的区块;所述区块包括子区块,所述子区块包括智能合约代码和所述智能合约代码对应的数据;
获取模块,被配置为通过预先获取的私钥从所述管理合约的数字信封中获取秘钥;
解密模块,被配置为根据所述秘钥获取所述子区块中的所述智能合约代码,以使所述第一区块链节点执行所述智能合约代码;
第一写入模块,被配置为将所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据加密并写入子区块中;以及
第二写入模块,被配置为将所述子区块写入所述第一区块链节点的区块中;
所述第二写入模块包括:
挖矿子模块,被配置为根据所述子区块,由所述第一区块链节点所在的设备进行挖矿;以及
写入子模块,被配置为将挖矿完成后的所述子区块写入所述第一区块链节点的区块中。
8.根据权利要求7所述的装置,其特征在于,所述第一写入模块包括:
获取子模块,被配置为随机生成所述秘钥,并获取本次随机生成的秘钥;
加密子模块,被配置为利用本次随机生成的秘钥加密所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据;以及
更新子模块,被配置为将本次随机生成的秘钥更新到所述管理合约的数字信封中。
9.根据权利要求7所述的装置,其特征在于,所述第一写入模块还被配置为:
利用所述秘钥加密所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据;
其中,所述秘钥为所述第一区块链节点第一次对所述智能合约代码和所述第一区块链节点执行所述智能合约代码产生的数据进行加密之前,随机生成的秘钥,并将第一次随机生成的秘钥存入所述管理合约的所述数字信封中。
10.根据权利要求7所述的装置,其特征在于,所述子区块存在于所述区块所在的区块目录的下一级子目录中,且所述子区块所在的子目录与所述区块目录的目录结构一致。
11.根据权利要求7所述的装置,其特征在于,所述管理合约至少定义了交易接口、以及增加、删除、修改可信节点的接口。
12.根据权利要求7所述的装置,其特征在于,所述私钥为非对称私钥,所述秘钥为对称秘钥,所述秘钥通过非对称加密后放入所述管理合约的数字信封中。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行权利要求1-6任一所述的方法的指令。
14.一种电子设备,其特征在于,包括:
权利要求13中所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
CN201780002508.7A 2017-12-29 2017-12-29 基于区块链的数据处理方法、装置、存储介质及电子设备 Active CN108235772B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/120264 WO2019127531A1 (zh) 2017-12-29 2017-12-29 基于区块链的数据处理方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN108235772A CN108235772A (zh) 2018-06-29
CN108235772B true CN108235772B (zh) 2021-04-09

Family

ID=62643248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780002508.7A Active CN108235772B (zh) 2017-12-29 2017-12-29 基于区块链的数据处理方法、装置、存储介质及电子设备

Country Status (2)

Country Link
CN (1) CN108235772B (zh)
WO (1) WO2019127531A1 (zh)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11240035B2 (en) * 2017-05-05 2022-02-01 Jeff STOLLMAN Systems and methods for extending the utility of blockchains through use of related child blockchains
CN109064172A (zh) * 2018-07-27 2018-12-21 深圳市新名泽科技有限公司 密钥处理方法、装置及区块链系统
CN109063498A (zh) * 2018-07-27 2018-12-21 深圳市新名泽科技有限公司 数字资产存储方法、装置、恢复方法及装置
CN109040133A (zh) * 2018-09-27 2018-12-18 上海点融信息科技有限责任公司 在区块链网络中安装智能合约的方法、装置及存储介质
CN111008222A (zh) * 2018-10-08 2020-04-14 顺丰科技有限公司 数据状态查询方法和装置
CN109658238B (zh) * 2018-10-26 2020-06-16 阿里巴巴集团控股有限公司 数据处理方法及装置
CN111199044B (zh) * 2018-11-20 2022-06-17 中国电信股份有限公司 数据存储方法、装置以及存储介质
CN110033368B (zh) * 2018-11-30 2020-07-07 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法
CN109756496B (zh) * 2018-12-29 2022-02-01 播金信息科技(上海)有限公司 基于dna特征和区块链的数据网络传输安全保护方法及计算机可读存储介质
CN111767555B (zh) * 2019-01-31 2024-07-09 创新先进技术有限公司 区块链中实现隐私保护的方法及节点、存储介质
CN110008736A (zh) * 2019-01-31 2019-07-12 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法及节点、存储介质
CN109886682B (zh) * 2019-01-31 2020-10-23 创新先进技术有限公司 区块链中实现合约调用的方法及节点、存储介质
CN110032885B (zh) * 2019-02-19 2020-03-06 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法、节点和存储介质
CN111612462B (zh) * 2019-02-19 2023-08-22 创新先进技术有限公司 区块链中实现隐私保护的方法、节点和存储介质
CN110009499B (zh) * 2019-04-17 2021-05-11 北京八分量信息科技有限公司 一种基于区块链和隐藏地址的交易方法及系统
CN110266644B (zh) * 2019-05-20 2021-04-06 创新先进技术有限公司 结合代码标注与交易类型的收据存储方法和节点
CN110245945B (zh) * 2019-05-20 2021-03-23 创新先进技术有限公司 结合代码标注与用户类型的收据存储方法和节点
CN110223172B (zh) * 2019-05-20 2021-04-13 创新先进技术有限公司 有条件的结合代码标注与类型维度的收据存储方法和节点
CN110264198B (zh) * 2019-05-20 2021-04-06 创新先进技术有限公司 结合代码标注与交易类型的有条件的收据存储方法和节点
CN110263090B (zh) * 2019-05-20 2021-04-27 创新先进技术有限公司 多类型维度的收据存储方法和节点
CN110245489B (zh) * 2019-05-20 2021-04-27 创新先进技术有限公司 基于明文日志的收据存储方法、节点和系统
CN110245946B (zh) * 2019-05-20 2021-04-27 创新先进技术有限公司 结合代码标注与多类型维度的收据存储方法和节点
WO2020233421A1 (zh) * 2019-05-20 2020-11-26 创新先进技术有限公司 基于代码标注的对象级收据存储方法和节点
CN110264195B (zh) * 2019-05-20 2021-03-16 创新先进技术有限公司 结合代码标注与交易、用户类型的收据存储方法和节点
CN110263091B (zh) * 2019-05-20 2021-06-04 创新先进技术有限公司 结合代码标注与用户、事件类型的收据存储方法和节点
CN110263544B (zh) * 2019-05-20 2021-04-27 创新先进技术有限公司 结合交易类型和判断条件的收据存储方法和节点
CN110263089B (zh) * 2019-05-20 2021-05-04 创新先进技术有限公司 结合交易与事件类型的条件限制的收据存储方法和节点
CN113240519A (zh) * 2019-05-30 2021-08-10 创新先进技术有限公司 基于区块链的智能合约管理方法及装置、电子设备
CN110263547B (zh) * 2019-05-31 2021-07-20 创新先进技术有限公司 基于合约状态的修改次序实现动态加密的方法及装置
CN110210209A (zh) * 2019-06-06 2019-09-06 中星技术股份有限公司 管理摄像设备的方法和装置
US11251963B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
US11057189B2 (en) 2019-07-31 2021-07-06 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
US11252166B2 (en) 2019-07-31 2022-02-15 Advanced New Technologies Co., Ltd. Providing data authorization based on blockchain
CN110399184B (zh) * 2019-07-31 2023-04-25 中国工商银行股份有限公司 区块链中智能合约的执行方法及装置
CN110457875B (zh) * 2019-07-31 2021-04-27 创新先进技术有限公司 基于区块链的数据授权方法及装置
CN110717203B (zh) * 2019-09-25 2021-04-27 支付宝(杭州)信息技术有限公司 基于fpga实现隐私区块链的方法及装置
CN110827168A (zh) * 2019-09-26 2020-02-21 国网山东省电力公司菏泽供电公司 基于区块链的电量数据处理方法和电子设备
CN110750541B (zh) * 2019-10-18 2023-05-02 天津理工大学 一种基于区块链的数据存储索引系统及方法
CN110766078A (zh) * 2019-10-24 2020-02-07 广东工业大学 一种车联网环境下基于区块链的图片校验方法
CN110928951B (zh) * 2019-11-26 2023-03-14 天津理工大学 一种基于区块链的数据共享及仲裁方法
CN113128999B (zh) * 2019-12-31 2024-04-12 航天信息股份有限公司 一种区块链隐私保护方法及装置
CN111262692B (zh) * 2020-01-08 2023-02-28 网络通信与安全紫金山实验室 基于区块链的密钥分发系统和方法
US11310051B2 (en) 2020-01-15 2022-04-19 Advanced New Technologies Co., Ltd. Blockchain-based data authorization method and apparatus
CN111368333A (zh) * 2020-03-26 2020-07-03 国金公用通链(海南)信息科技有限公司 一种通用区块链密钥封装技术
CN111585764A (zh) * 2020-04-28 2020-08-25 浙江大学宁波理工学院 一种终端设备数据上区块链的系统
CN112073467A (zh) * 2020-08-11 2020-12-11 东软集团股份有限公司 基于区块链的数据传输方法、装置、存储介质及电子设备
CN112070608B (zh) * 2020-08-20 2024-03-19 财付通支付科技有限公司 信息处理方法、装置、介质及电子设备
CN112148278A (zh) * 2020-09-25 2020-12-29 模视科技(北京)有限公司 可视化的区块链智能合约框架及智能合约开发部署方法
CN112634040B (zh) * 2020-12-25 2023-08-18 中国农业银行股份有限公司 一种数据处理方法及装置
CN113034140B (zh) * 2021-03-17 2023-07-18 深圳壹账通智能科技有限公司 实现智能合约加密的方法、系统、设备及存储介质
CN113050929A (zh) * 2021-04-22 2021-06-29 橙网(南京)人工智能研究院有限公司 一种基于Hyperledger Fabric的智能合约开发运维一体化平台
CN113297614A (zh) * 2021-05-13 2021-08-24 江苏南工科技集团有限公司 一种基于区块链技术的数据加密认证及安全分析方法
CN113472512A (zh) * 2021-06-10 2021-10-01 东软集团股份有限公司 智能合约执行方法、装置、存储介质及电子设备
US20230145340A1 (en) * 2021-11-08 2023-05-11 Adobe Inc. Distributing and synchronizing encrypted data for multi-regional accessibility

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2992458A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN107342858A (zh) * 2017-07-05 2017-11-10 武汉凤链科技有限公司 一种基于可信环境的智能合约保护方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107103473A (zh) * 2017-04-27 2017-08-29 电子科技大学 一种基于区块链的智能合约实现方法
CN107273759B (zh) * 2017-05-08 2020-07-14 上海点融信息科技有限责任公司 用于保护区块链数据的方法、设备以及计算机可读存储介质
CN107464118A (zh) * 2017-08-16 2017-12-12 济南浪潮高新科技投资发展有限公司 一种基于区块链智能合约的数据交易方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2992458A1 (en) * 2015-07-14 2017-01-19 Fmr Llc Computationally efficient transfer processing, auditing, and search apparatuses, methods and systems
CN106559211A (zh) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN107342858A (zh) * 2017-07-05 2017-11-10 武汉凤链科技有限公司 一种基于可信环境的智能合约保护方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于区块链、智能合约和物联网的供应链原型系统;叶小榕等;《科技导报》;20171213;第35卷(第23期);正文第66-68页 *

Also Published As

Publication number Publication date
WO2019127531A1 (zh) 2019-07-04
CN108235772A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN108235772B (zh) 基于区块链的数据处理方法、装置、存储介质及电子设备
CN108632292B (zh) 基于联盟链的数据共享方法和系统
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及系统
CN111797415A (zh) 基于区块链的数据共享方法、电子设备和存储介质
CN116601912B (zh) 提供加密安全的后秘密供应服务的系统、方法和存储介质
CN111159306B (zh) 一种基于区块链的信息发布方法、装置及计算机设备
CN110050437B (zh) 分布式证书注册的装置和方法
US10880100B2 (en) Apparatus and method for certificate enrollment
EP2293490A1 (en) Information processing device, encryption key management method, computer program and integrated circuit
CN110311787B (zh) 授权管理方法、系统、设备及计算机可读存储介质
KR102282788B1 (ko) 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템
CN112202612B (zh) 区块链节点管理方法、存储介质、节点以及区块链系统
WO2018235845A1 (ja) 鍵交換システムおよび鍵交換方法
CN110445840B (zh) 一种基于区块链技术的文件存储和读取的方法
CA3178180A1 (en) Constructing a distributed ledger transaction on a cold hardware wallet
US20220086009A1 (en) Method for generating stateful hash based signatures of messages to be signed
CN102821098A (zh) 云环境下即时通讯消息自溶解系统及方法
CN111181944B (zh) 通信系统及信息发布方法、装置、介质、设备
CN107070896B (zh) 一种安全高效的区块链网络客户化登录方法及安全加固系统
CN111669434B (zh) 一种通信群组的建立方法、系统、装置及设备
CN115409619A (zh) 一种基于区块链的数据处理方法及区块链节点装置
WO2021098152A1 (zh) 基于区块链的数据处理方法、装置及计算机设备
CN112100144A (zh) 区块链文件共享方法、装置、存储介质及电子设备
EP2892206A1 (en) A system and method for push framework security
CN113365264A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210315

Address after: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Applicant after: Dalu Robot Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: Shenzhen Qianhaida Yunyun Intelligent Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Patentee after: Dayu robot Co.,Ltd.

Address before: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee before: Dalu Robot Co.,Ltd.