CN107273759B - 用于保护区块链数据的方法、设备以及计算机可读存储介质 - Google Patents

用于保护区块链数据的方法、设备以及计算机可读存储介质 Download PDF

Info

Publication number
CN107273759B
CN107273759B CN201710318981.8A CN201710318981A CN107273759B CN 107273759 B CN107273759 B CN 107273759B CN 201710318981 A CN201710318981 A CN 201710318981A CN 107273759 B CN107273759 B CN 107273759B
Authority
CN
China
Prior art keywords
node
data
key
intelligent contract
blockchain
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.)
Expired - Fee Related
Application number
CN201710318981.8A
Other languages
English (en)
Other versions
CN107273759A (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.)
Shanghai Dianrong Information Technology Co ltd
Original Assignee
Shanghai Dianrong Information Technology 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 Shanghai Dianrong Information Technology Co ltd filed Critical Shanghai Dianrong Information Technology Co ltd
Priority to CN201710318981.8A priority Critical patent/CN107273759B/zh
Publication of CN107273759A publication Critical patent/CN107273759A/zh
Priority to PCT/CN2018/078518 priority patent/WO2018205731A1/zh
Application granted granted Critical
Publication of CN107273759B publication Critical patent/CN107273759B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

本公开涉及用于保护区块链数据的方法、设备以及计算机可读存储介质。该用于保护区块链数据的方法包括:在区块链的第一节点处创建智能合约,智能合约被设定有权限管理字段,权限管理字段包括可访问地址列表;在第一节点处使用密钥对智能合约进行加密,并将经加密的智能合约包括在第一节点处的区块数据中;在第一节点处根据可访问地址列表向区块链的第二节点分发密钥;以及在第一节点处将区块数据发送到第二节点。

Description

用于保护区块链数据的方法、设备以及计算机可读存储介质
技术领域
本公开的实施例总体上涉及区块链技术,并且更具体地,涉及用于保护区块链数据的方法、设备以及计算机可读存储介质。
背景技术
区块链作为一种新型的去中心化的记录技术而受到广泛关注。由于区块链本身不支持数据保护,因此,数据保护成为区块链应用(例如商用)的重点技术之一。
目前已有的解决方案包括:1)多链+明文数据,即每个区块链节点需要维护多条区块链;2)同态算法或零知识证明。这两种解决方案中,第一种解决方案存在因单一区块链上节点数有限而产生的备份风险及共识风险;而第二种解决方案存在算法复杂度高,执行效率低的问题。
发明内容
本公开的各实施例提供了用于保护区块链数据的方法、设备以及计算机可读存储介质以至少部分地解决现有技术的上述以及其它潜在问题。
在本公开的第一方面,提供了一种用于保护区块链数据的方法。该方法包括:在区块链的第一节点处创建智能合约,智能合约被设定有权限管理字段,权限管理字段包括可访问地址列表;在第一节点处使用密钥对智能合约进行加密,并将经加密的智能合约包括在第一节点处的区块数据中;在第一节点处根据可访问地址列表向区块链的第二节点分发密钥;以及在第一节点处将区块数据发送到第二节点,
在本公开的第二方面,提供了一种用于保护区块链数据的设备。该设备包括:处理器;存储器,耦合至处理器并且存储有指令,该指令在由处理器执行时使得设备执行以下动作:在区块链的第一节点处创建智能合约,智能合约被设定有权限管理字段,权限管理字段包括可访问地址列表;在第一节点处使用密钥对智能合约进行加密,并将经加密的智能合约包括在第一节点处的区块数据中;在第一节点处根据可访问地址列表向区块链的第二节点分发密钥;以及在第一节点处将区块数据发送到第二节点。
在本公开的第三方面,提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令,该计算机可读程序指令用于执行根据以上在本公开的第一方面中所描述的方法。
附图说明
现将仅通过示例的方式,参考所附附图对本公开的实施例进行描述,在附图中,相同或相似的附图标注表示相同或相似的元素,其中:
图1示出了区块链技术的示意图;
图2示出了根据本公开的实施例的用于保护区块链数据的方法的流程示意图;
图3示出了根据本公开的实施例的用于保护区块链数据的方法的示例实现方式;以及
图4示出了根据本公开的实施例的用于保护区块链数据的设备的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。
图1示出了区块链技术的示意图,本公开的示例实施例中的方法、设备以及计算机可读存储介质可以实现于这样的场景(例如区块链网络)中。应当理解的是,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。其中,所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。由于区块链是一种新型的去中心化的记录技术,因此受到了广泛的关注,其应用领域也日益广泛。
关于智能合约的理念,密码学家尼克·萨博(Nick Szabo)给出的定义是“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议”。从本质上讲,这些自动合约的工作原理类似于其它计算机程序的if-then语句。智能合约只是以这种方式与真实世界的资产进行交互。当一个预先编好的条件被触发时,智能合约执行相应的合同条款。
传统地,由于区块链本身不支持数据保护,因此,数据保护成为区块链商用的重点技术之一。以区块链的典型应用场景——供应链管理为例,供应链的上下游企业形成了区块链上的各个节点。这一场景并不适合采用传统的多链形式进行数据交易。而且,对链上的任一企业而言,由于交易仅限于链上的部分企业,因此,不必要的交易信息共享将会导致商业机密的泄露。
为了解决上述以及其他潜在的缺陷和问题,本公开的实施例提供了用于保护区块链数据的方法、设备以及计算机可读存储介质。下面将参考附图描述本公开的若干示例实施例。
图2示出了根据本公开的实施例的用于保护区块链数据的方法200的流程示意图。其中,该方法200能够应用于图1所示的区块链网络中。
在202处,在区块链的第一节点处创建智能合约,智能合约可以被设定有权限管理字段,权限管理字段包括可访问地址列表。
在一些示例实现中,权限管理字段还可以包括第二节点对智能合约的访问权限,访问权限可以包括设定读写权限的读写访问权限。
以三个区块链节点为例,如图3所示,其中示出了用于保护区块链数据的方法的示例实现方式。该区块链网络中包括例如三个区块链节点,分别为区块链节点1(称为“第一节点”)、区块链节点2(称为“第二节点”)和区块链节点3(称为“第三节点”)。其中,在区块链节点1处创建智能合约,在提交时,可以增加额外的权限管理字段,该权限管理字段可包含可访问地址列表(例如可访问地址哈希值列表)。以此方式,私密数据可以通过智能合约进行管理,配置相应的访问权限。
附加地,在区块链节点1处创建智能合约时,权限管理字段除了可包含可访问地址列表之外,还可以包含区块链节点2对智能合约的访问权限。此外,权限管理字段还可以包含区块链节点3对智能合约的访问权限。该访问权限例如可以包括设定具体读写或特定数据接口访问的读写访问权限。应当理解的是,这里对“访问权限”的限定仅仅是示例性的,无意以任何方式限制本公开的范围。
例如,如图3所示,可以在区块链的区块链节点1处创建智能合约X,并设定权限管理字段,权限管理字段的内容为区块链节点2和3的地址的哈希值(即"3C344bQYPsL5FXAbv67kGksNLR1urufnE"和"3GFHwAZFDtPuBDS396PirD5jzHRDv9ni1n"),以及区块链节点2和3对智能合约X的访问权限。
作为示例,具体实现的权限管理字段的内容如下所示。
Figure BDA0001289268360000041
Figure BDA0001289268360000051
通过以上的示例,可以设置针对智能合约X的权限管理字段。而且,根据以上权限管理字段中的可访问地址列表,区块链上的区块链节点2和区块链节点3可以访问在区块链节点1处创建的智能合约X。附加地,由于权限管理字段中还可以设置有区块链节点2和区块链节点3对智能合约的访问权限,因此,根据这样的访问权限,区块链节点2和区块链节点3对于智能合约X可以分别具有不同的访问权限。
在一些示例实现中,如果智能合约未设定有权限管理字段,则该智能合约将以公开智能合约(如图3所示的公开智能合约)处理,即智能合约的创建和交易信息将以明文形式存在。
在204处,在第一节点处使用密钥对智能合约进行加密,并将经加密的智能合约包括在第一节点处的区块数据中。
例如,区块数据为区块链间通信使用,其中在第一节点处经加密的智能合约可以包括在区块数据中,而该区块数据随后可以被发送到区块链上的其它节点(例如图3中的区块链节点2和区块链节点3)。比如,智能合约的所有交易数据可以以密文形式添加到区块数据中,随后可以发送给区块链上的其它节点。
以此方式,可以保证私密数据(例如第一节点处的智能合约Y)以密文形式保存在区块链上,所有节点均可备份,不存在因节点数的限制(例如传统的多链+明文数据技术中存在的节点数的限制)带来的备份风险。而且,由于具体实现时仅依赖于常用的加密算法,不存在高时延(例如传统的同态算法技术中存在算法复杂度高带来的高时延)而带来的效率问题。
在一些示例实现中,区块数据还包括区块号、交易数据、签名、以及随机数(Nonce)。
例如,区块数据是链上数据的一部分,且用于区块链节点之间的数据通信,而智能合约数据可以包含在区块数据中。在保存数据时,区块原始数据可以单独保存,与智能合约的执行状态数据可以是分离的。由于区块数据可被全网共享,因此,可以从根本上保证区块链上的数据的一致性。
在206处,在第一节点处根据可访问地址列表向区块链的第二节点分发密钥。
在一些示例实现中,在第一节点处根据可访问地址列表向第二节点分发密钥包括:以点对点通信进行密钥分发,密钥包括对称密钥。
如图3所示,区块链节点1创建了智能合约Y,并在可访问地址列表中指定仅区块链节点2可访问(例如图3中S1——创建智能合约Y,设置区块链节点2可访问)。相应地,区块链节点1可以以点对点通信仅向区块链节点2分发密钥(例如图3中S2——发送智能合约Y密钥给区块链节点2)。
在208处,在第一节点处将区块数据发送到第二节点。
在一些示例实现中,图2所示的方法200还可以包括:在第一节点处将区块数据发送到区块链的第三节点,而不向第三节点分发密钥。
在一些示例实现中,在第二节点处接收密钥和区块数据,并使用密钥从区块数据中解密经加密的智能合约,以创建经解密的智能合约。附加地,在第二节点处还可以根据经解密的智能合约来执行交易。
如图3所示,区块链节点1在将经加密的智能合约Y包括在第一节点(即区块链节点1)处的区块数据中之后,可以以广播的方式将区块数据发送到包括第二节点(即区块链节点2)和第三节点(即区块链节点3)的所有区块链节点上(例如,图3中S3——加密智能合约Y,以及图3中S4——发送经加密的智能合约Y(其被包含在区块数据中))。
此时,由于区块链节点2接收到从第一节点发送的智能合约Y的密钥,而区块链节点3没有接收到这样的密钥,因此,区块链节点2可以在接收到区块数据后采用这样的密钥进行解密(例如图3中S5——解密智能合约Y),以便在区块链节点2处创建经解密的智能合约Y(例如图3中S6——建立智能合约Y的逻辑数据分片),而区块链节点3由于没有接收到这样的密钥,因此将无法在区块链节点3处创建经解密的智能合约Y(例如图3中S5——解密智能合约Y失败)。
以此方式,在第一节点处创建智能合约并将经加密的智能合约包括在第一节点处的区块数据中之后,区块链上的其它节点都可接收区块数据(即实现所有节点均可备份),但只有拥有该智能合约的密钥的节点才能进行解密,执行相应的交易,从而实现对区块链上数据的保护功能(例如,在交易仅限于供应链上的部分企业时,避免不必要的交易信息共享所导致的商业机密泄露的问题)。
根据本公开的实施例,方法200还可以包括附加的数据共识过程。例如,在208之后,第一节点与第二节点之间可以通过点对点通信来进行数据共识。
这里的数据共识例如是指采用已有共识算法(例如raft/pbft)来确认区块链上多个节点之间的数据一致性。以此方式,本公开能够在保证数据私密性的同时可达成数据共识。
在一些示例实现中,数据共识可以根据区块号、智能合约的智能合约号、以及智能合约的历史交易数据形成的交易数据摘要来进行。
这里,数据共识(例如私密数据(如智能合约Y)的共识)可以具有唯一标识,即区块号及智能合约号(例如可以是智能合约地址或唯一指定的ID)。并且,可以采用现有共识算法来达成局部共识。
为获得区块号及智能合约号,每个智能合约的历史交易数据及当前状态在存储时可以逻辑隔离。例如,底层可采用相同的物理数据库,也可采用不同的物理数据库。在存储时,执行完任一交易后,可以在智能合约的逻辑数据库中插入一条以区块号及智能合约号作为键值的记录,以便用于后续完成数据共识。
相应地,在一些示例实现中,智能合约的历史交易数据和当前状态可以被逻辑隔离地存储在数据库中,智能合约的当前状态根据数据库中存储的区块号和智能合约的智能合约号进行查询。
进一步地,数据共识可以通过点对点通信完成,部署同一智能合约的节点(例如图3中部署有同一智能合约Y的区块链节点1和区块链节点2)可参与共识(例如图3中S7——完成智能合约Y的交易的区块的共识)。而且,数据共识可由提交智能合约的节点(例如图3中创建智能合约的区块链节点1)发起,通过点对点通信,发送等待共识的数据,例如:
Figure BDA0001289268360000081
其中,以上等待共识的数据包括区块号(blockhash),智能合约号(contract)以及根据所有该智能合约历史数据形成的交易数据摘要(如上面提到的merkleroot值)。具体来说,merkleroot可以基于该智能合约的历史交易数据来生成,对每次交易生成一个摘要(这里是哈希值),插入作为merkle数的底层节点,同时更新根节点值。这里的等待共识的数据仅仅是示例性的,无意以任何方式限制本公开的范围。
由此可见,由于私密数据(例如智能合约Y)以密文形式保存在区块数据中,区块链上所有节点均可备份,而且还可以对区块数据达成数据共识,因此不存在因节点数的限制(例如传统的多链+明文数据技术中存在节点数的限制)带来的备份风险和共识风险。
图4示出了根据本公开的实施例的用于保护区块链数据的设备400。该设备400包括处理器402和存储器404。该存储器404耦合至处理器402并且存储有指令,该指令在由处理器执行时使得设备执行以下动作:在区块链的第一节点处创建智能合约,智能合约被设定有权限管理字段,权限管理字段包括可访问地址列表;在第一节点处使用密钥对智能合约进行加密,并将经加密的智能合约包括在第一节点处的区块数据中;在第一节点处根据可访问地址列表向区块链的第二节点分发密钥;以及在第一节点处将区块数据发送到第二节点。
在一些示例实现中,用于保护区块链数据的设备400可以对应于区块链上的任意节点。作为示例,每个区块链节点可以包含相应的处理器402和存储器404,其中处理器402可以包括数据管理模块406和密钥管理模块408。
数据管理模块406例如可以负责管理区块数据和智能合约数据。其中,区块数据是链上数据的一部分,且用于节点间数据通信,而智能合约数据是包含在区块数据中。在保存数据时,区块原始数据单独保存,与智能合约的执行状态数据是分离的。区块数据为全网共享,从根本上保证了链上数据的一致性。这里,管理私密数据的智能合约可以保存在独立的逻辑数据分片中(例如管理私密数据的智能合约,其原始合约和交易数据均加密后保存在唯一的区块链上,每个智能合约对应一个独立的数据分片),按区块号及智能合约号(例如智能合约地址或唯一指定的ID)查询当前状态。
密钥管理模块408例如可以负责维护智能合约的密钥的生成、分发、使用、存储和备份等。密钥管理模块408还可以引入密钥维护算法,如前向安全性或密钥旋转以提升安全性。此外,密钥管理模块408还可以根据数据管理模块406给出的权限管理字段(例如权限列表)来分发密钥,同时向数据管理模块406提供数据的加密和解密的接口。
本公开可以被实现为一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令可以用于执行根据图1中的示例实施例所描述的用于保护区块链数据的方法。
取决于具体的需求和应用场景,本公开可以被具体实现为一种系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
本公开中所描述的方法和功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的硬件逻辑组件的示意性类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其它设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实现的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
以下列出了本公开的一些示例实现方式。
本公开可以被实现为一种用于保护区块链数据的方法,包括:在所述区块链的第一节点处创建智能合约,所述智能合约被设定有权限管理字段,所述权限管理字段包括可访问地址列表;在所述第一节点处使用密钥对所述智能合约进行加密,并将经加密的所述智能合约包括在所述第一节点处的区块数据中;在所述第一节点处根据所述可访问地址列表向所述区块链的第二节点分发所述密钥;以及在所述第一节点处将所述区块数据发送到所述第二节点。
在一些实施例中,所述权限管理字段还包括所述第二节点对所述智能合约的访问权限,所述访问权限包括设定读写权限的读写访问权限。
在一些实施例中,所述在所述第一节点处根据所述可访问地址列表向所述第二节点分发所述密钥包括:以点对点通信进行密钥分发,所述密钥包括对称密钥。
在一些实施例中,在所述第二节点处接收所述密钥和所述区块数据,并使用所述密钥从所述区块数据中解密经加密的所述智能合约,以创建经解密的所述智能合约。
在一些实施例中,在所述第二节点处根据经解密的所述智能合约来执行交易。
在一些实施例中,所述区块数据还包括区块号、交易数据、签名、以及随机数。
在一些实施例中,所述智能合约的历史交易数据和当前状态被逻辑隔离地存储在数据库中,所述智能合约的当前状态根据所述数据库中存储的所述区块号和所述智能合约的智能合约号进行查询。
在一些实施例中,所述第一节点与所述第二节点之间通过点对点通信来进行数据共识。
在一些实施例中,所述数据共识根据所述区块号、所述智能合约的智能合约号、以及所述智能合约的历史交易数据形成的交易数据摘要来进行。
在一些实施例中,所述方法还包括:在所述第一节点处将所述区块数据发送到所述区块链的第三节点,而不向所述第三节点分发所述密钥。
本公开可以被实现为一种用于保护区块链数据的设备,包括:处理器;存储器,耦合至所述处理器并且存储有指令,所述指令在由所述处理器执行时使得所述设备执行以下动作:在所述区块链的第一节点处创建智能合约,所述智能合约被设定有权限管理字段,所述权限管理字段包括可访问地址列表;在所述第一节点处使用密钥对所述智能合约进行加密,并将经加密的所述智能合约包括在所述第一节点处的区块数据中;在所述第一节点处根据所述可访问地址列表向所述区块链的第二节点分发所述密钥;以及在所述第一节点处将所述区块数据发送到所述第二节点。
在一些实施例中,所述权限管理字段还包括所述第二节点对所述智能合约的访问权限,所述访问权限包括设定读写权限的读写访问权限。
在一些实施例中,所述在所述第一节点处根据所述可访问地址列表向所述第二节点分发所述密钥包括:以点对点通信进行密钥分发,所述密钥包括对称密钥。
在一些实施例中,在所述第二节点处接收所述密钥和所述区块数据,并使用所述密钥从所述区块数据中解密经加密的所述智能合约,以创建经解密的所述智能合约。
在一些实施例中,在所述第二节点处根据经解密的所述智能合约来执行交易。
在一些实施例中,所述区块数据还包括区块号、交易数据、签名、以及随机数。
在一些实施例中,所述智能合约的历史交易数据和当前状态被逻辑隔离地存储在数据库中,所述智能合约的当前状态根据所述数据库中存储的所述区块号和所述智能合约的智能合约号进行查询。
在一些实施例中,所述第一节点与所述第二节点之间通过点对点通信来进行数据共识。
在一些实施例中,所述数据共识根据所述区块号、所述智能合约的智能合约号、以及所述智能合约的历史交易数据形成的交易数据摘要来进行。
在一些实施例中,所述指令在由所述处理器执行时使得所述设备还执行以下动作:在所述第一节点处将所述区块数据发送到所述区块链的第三节点,而不向所述第三节点分发所述密钥。
本公开可以被实现为一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据以上所描述的用于保护区块链数据的方法。
通过以上描述和相关附图中所给出的教导,这里所给出的本公开的许多修改形式和其它实施方式将被本公开相关领域的技术人员所意识到。因此,所要理解的是,本公开的实施方式并不局限于所公开的具体实施方式,并且修改形式和其它实施方式意在包括在本公开的范围之内。此外,虽然以上描述和相关附图在部件和/或功能的某些示例组合形式的背景下对示例实施方式进行了描述,但是应当意识到的是,可以由备选实施方式提供部件和/或功能的不同组合形式而并不背离本公开的范围。就这点而言,例如,与以上明确描述的有所不同的部件和/或功能的其它组合形式也被预期处于本公开的范围之内。虽然这里采用了具体术语,但是它们仅以一般且描述性的含义所使用而并非意在进行限制。

Claims (21)

1.一种用于保护区块链数据的方法,包括:
在所述区块链的第一节点处创建智能合约,所述智能合约被设定有权限管理字段,所述权限管理字段包括可访问地址列表;
在所述第一节点处使用密钥对所述智能合约进行加密,并将经加密的所述智能合约包括在所述第一节点处的区块数据中;
在所述第一节点处根据所述可访问地址列表向所述区块链的第二节点分发所述密钥;以及
在所述第一节点处将所述区块数据发送到所述第二节点,所述第一节点与所述第二节点之间至少根据区块号、智能合约的智能合约号来进行局部数据共识。
2.根据权利要求1所述的方法,其中,所述权限管理字段还包括所述第二节点对所述智能合约的访问权限,所述访问权限包括设定读写权限的读写访问权限。
3.根据权利要求1或2所述的方法,其中,所述在所述第一节点处根据所述可访问地址列表向所述第二节点分发所述密钥包括:
以点对点通信进行密钥分发,所述密钥包括对称密钥。
4.根据权利要求1或2所述的方法,其中,在所述第二节点处接收所述密钥和所述区块数据,并使用所述密钥从所述区块数据中解密经加密的所述智能合约,以创建经解密的所述智能合约。
5.根据权利要求4所述的方法,其中,在所述第二节点处根据经解密的所述智能合约来执行交易。
6.根据权利要求1或2所述的方法,其中,所述区块数据还包括区块号、交易数据、签名、以及随机数。
7.根据权利要求6所述的方法,其中,所述智能合约的历史交易数据和当前状态被逻辑隔离地存储在数据库中,所述智能合约的当前状态根据所述数据库中存储的所述区块号和所述智能合约的智能合约号进行查询。
8.根据权利要求6所述的方法,其中,所述第一节点与所述第二节点之间通过点对点通信来进行数据共识。
9.根据权利要求8所述的方法,其中,所述数据共识根据所述区块号、所述智能合约的智能合约号、以及所述智能合约的历史交易数据形成的交易数据摘要来进行。
10.根据权利要求1或2所述的方法,还包括:
在所述第一节点处将所述区块数据发送到所述区块链的第三节点,而不向所述第三节点分发所述密钥。
11.一种用于保护区块链数据的设备,包括:
处理器;
存储器,耦合至所述处理器并且存储有指令,所述指令在由所述处理器执行时使得所述设备执行以下动作:
在所述区块链的第一节点处创建智能合约,所述智能合约被设定有权限管理字段,所述权限管理字段包括可访问地址列表;
在所述第一节点处使用密钥对所述智能合约进行加密,并将经加密的所述智能合约包括在所述第一节点处的区块数据中;
在所述第一节点处根据所述可访问地址列表向所述区块链的第二节点分发所述密钥;以及
在所述第一节点处将所述区块数据发送到所述第二节点,所述第一节点与所述第二节点之间至少根据区块号、智能合约的智能合约号来进行局部数据共识。
12.根据权利要求11所述的设备,其中,所述权限管理字段还包括所述第二节点对所述智能合约的访问权限,所述访问权限包括设定读写权限的读写访问权限。
13.根据权利要求11或12所述的设备,其中,所述在所述第一节点处根据所述可访问地址列表向所述第二节点分发所述密钥包括:
以点对点通信进行密钥分发,所述密钥包括对称密钥。
14.根据权利要求11或12所述的设备,其中,在所述第二节点处接收所述密钥和所述区块数据,并使用所述密钥从所述区块数据中解密经加密的所述智能合约,以创建经解密的所述智能合约。
15.根据权利要求14所述的设备,其中,在所述第二节点处根据经解密的所述智能合约来执行交易。
16.根据权利要求11或12所述的设备,其中,所述区块数据还包括区块号、交易数据、签名、以及随机数。
17.根据权利要求16所述的设备,其中,所述智能合约的历史交易数据和当前状态被逻辑隔离地存储在数据库中,所述智能合约的当前状态根据所述数据库中存储的所述区块号和所述智能合约的智能合约号进行查询。
18.根据权利要求16所述的设备,其中,所述第一节点与所述第二节点之间通过点对点通信来进行数据共识。
19.根据权利要求18所述的设备,其中,所述数据共识根据所述区块号、所述智能合约的智能合约号、以及所述智能合约的历史交易数据形成的交易数据摘要来进行。
20.根据权利要求11或12所述的设备,所述指令在由所述处理器执行时使得所述设备还执行以下动作:
在所述第一节点处将所述区块数据发送到所述区块链的第三节点,而不向所述第三节点分发所述密钥。
21.一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,所述计算机可读程序指令用于执行根据权利要求1-10中任一项所述的方法。
CN201710318981.8A 2017-05-08 2017-05-08 用于保护区块链数据的方法、设备以及计算机可读存储介质 Expired - Fee Related CN107273759B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710318981.8A CN107273759B (zh) 2017-05-08 2017-05-08 用于保护区块链数据的方法、设备以及计算机可读存储介质
PCT/CN2018/078518 WO2018205731A1 (zh) 2017-05-08 2018-03-09 用于保护区块链数据的方法、设备以及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710318981.8A CN107273759B (zh) 2017-05-08 2017-05-08 用于保护区块链数据的方法、设备以及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107273759A CN107273759A (zh) 2017-10-20
CN107273759B true CN107273759B (zh) 2020-07-14

Family

ID=60074098

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710318981.8A Expired - Fee Related CN107273759B (zh) 2017-05-08 2017-05-08 用于保护区块链数据的方法、设备以及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN107273759B (zh)
WO (1) WO2018205731A1 (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107273759B (zh) * 2017-05-08 2020-07-14 上海点融信息科技有限责任公司 用于保护区块链数据的方法、设备以及计算机可读存储介质
CN108234442B (zh) * 2017-10-26 2020-11-27 招商银行股份有限公司 获取合约的方法、系统及可读存储介质
CN108009824A (zh) * 2017-11-28 2018-05-08 北京博晨技术有限公司 数据共识方法、装置及电子设备
CN108418689B (zh) * 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
CN108282459B (zh) 2017-12-18 2020-12-15 中国银联股份有限公司 基于智能合约的数据传递方法及系统
CN108170740B (zh) * 2017-12-18 2022-04-26 深圳前海微众银行股份有限公司 数据迁移方法、系统和计算机可读存储介质
US11544708B2 (en) 2017-12-29 2023-01-03 Ebay Inc. User controlled storage and sharing of personal user information on a blockchain
CN108235772B (zh) * 2017-12-29 2021-04-09 达闼机器人有限公司 基于区块链的数据处理方法、装置、存储介质及电子设备
CN111587434A (zh) * 2018-01-02 2020-08-25 惠普发展公司,有限责任合伙企业 对修改的调节
CN108346110B (zh) * 2018-01-26 2021-04-02 广东工业大学 一种基于制造区块链的信息交互系统
CN108492180B (zh) 2018-02-14 2020-11-24 创新先进技术有限公司 资产管理方法及装置、电子设备
CN108389118B (zh) 2018-02-14 2020-05-29 阿里巴巴集团控股有限公司 资产管理系统、方法及装置、电子设备
CN108416675A (zh) 2018-02-14 2018-08-17 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
CN108335206B (zh) 2018-02-14 2020-12-22 创新先进技术有限公司 资产管理方法及装置、电子设备
CN108335207B (zh) 2018-02-14 2020-08-04 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备
CN108416226B (zh) * 2018-02-26 2020-07-14 深圳智乾区块链科技有限公司 区块链的权限管理方法、装置及计算机可读存储介质
CN108616574B (zh) * 2018-03-30 2020-06-16 华为技术有限公司 管理数据的存储方法、设备及存储介质
CN110390516B (zh) * 2018-04-20 2023-06-06 伊姆西Ip控股有限责任公司 用于数据处理的方法、装置和计算机存储介质
CN108596618B (zh) * 2018-04-26 2022-03-04 众安信息技术服务有限公司 区块链系统的数据处理方法、装置和计算机可读存储介质
CN108737105B (zh) * 2018-05-07 2021-09-28 中钞信用卡产业发展有限公司杭州区块链技术研究院 私钥的找回方法、装置、私钥设备和介质
CN108848058A (zh) * 2018-05-07 2018-11-20 众安信息技术服务有限公司 智能合约处理方法及区块链系统
CN108829725B (zh) * 2018-05-09 2021-06-25 深圳壹账通智能科技有限公司 区块链上用户通信方法、装置、终端设备及存储介质
KR102384351B1 (ko) * 2018-05-09 2022-04-06 삼성에스디에스 주식회사 블록체인 기반 시스템에서의 블록 생성 방법
CN108768988B (zh) * 2018-05-17 2021-01-05 深圳前海微众银行股份有限公司 区块链访问控制方法、设备及计算机可读存储介质
CN108805565B (zh) * 2018-05-17 2022-01-18 深圳前海微众银行股份有限公司 基于区块链的承诺存在性证明方法、设备及可读存储介质
CN108664223B (zh) * 2018-05-18 2021-07-02 百度在线网络技术(北京)有限公司 一种分布式存储方法、装置、计算机设备及存储介质
CN108959945B (zh) * 2018-07-06 2020-05-05 腾讯科技(深圳)有限公司 医疗数据共享方法、装置、计算机可读介质及电子设备
JP7056430B2 (ja) * 2018-07-18 2022-04-19 株式会社デンソー 履歴管理方法、履歴管理装置及び履歴管理システム
CN109214197B (zh) * 2018-08-14 2021-07-27 上海点融信息科技有限责任公司 基于区块链来处理隐私数据的方法、装置及存储介质
CN109359957B (zh) * 2018-09-17 2022-11-22 中国银联股份有限公司 一种安全多方计算的方法及相关装置
CN109040133A (zh) * 2018-09-27 2018-12-18 上海点融信息科技有限责任公司 在区块链网络中安装智能合约的方法、装置及存储介质
CN109255210A (zh) * 2018-09-27 2019-01-22 上海点融信息科技有限责任公司 在区块链网络中提供智能合约的方法、装置及存储介质
US11301452B2 (en) 2018-10-09 2022-04-12 Ebay, Inc. Storing and verification of derivative work data on blockchain with original work data
CN113283905A (zh) * 2018-10-26 2021-08-20 创新先进技术有限公司 基于区块链的数据存证、获取方法和装置
CN111382458A (zh) * 2018-12-28 2020-07-07 富泰华工业(深圳)有限公司 数据分批封存方法、装置及计算机存储介质
CN109493061B (zh) * 2018-12-28 2021-03-23 合肥达朴汇联科技有限公司 一种区块链的数据的验证方法、装置、电子设备及存储介质
CN109727132B (zh) * 2018-12-28 2021-03-23 合肥达朴汇联科技有限公司 区块链共识节点的获取方法、装置、电子设备及存储介质
CN109727033B (zh) * 2018-12-29 2020-12-11 杭州趣链科技有限公司 一种基于区块链的数据安全访问控制方法
CN110032884B (zh) * 2019-01-31 2020-04-17 阿里巴巴集团控股有限公司 区块链中实现隐私保护的方法及节点、存储介质
CN111614464B (zh) * 2019-01-31 2023-09-29 创新先进技术有限公司 区块链中安全更新密钥的方法及节点、存储介质
CN111901402A (zh) * 2019-02-19 2020-11-06 创新先进技术有限公司 区块链中实现隐私保护的方法、节点和存储介质
CN110060158B (zh) * 2019-03-07 2020-06-09 阿里巴巴集团控股有限公司 基于变长编码的智能合约执行方法和装置
CN113421088A (zh) * 2019-03-26 2021-09-21 创新先进技术有限公司 基于区块链的数据处理方法及装置和电子设备
CN110264195B (zh) * 2019-05-20 2021-03-16 创新先进技术有限公司 结合代码标注与交易、用户类型的收据存储方法和节点
CN113438068B (zh) * 2019-05-31 2024-01-09 创新先进技术有限公司 基于区块高度实现动态加密的方法及装置
CN110213268A (zh) * 2019-05-31 2019-09-06 联想(北京)有限公司 一种数据处理方法、数据处理装置和计算机系统
CN110971390A (zh) * 2019-11-29 2020-04-07 杭州云象网络技术有限公司 一种用于智能合约隐私保护的全同态加密方法
CN111127205B (zh) * 2019-12-23 2020-11-20 卓尔智联(武汉)研究院有限公司 智能合约生成方法、装置、计算机设备和存储介质
CN113127921A (zh) * 2019-12-31 2021-07-16 伊姆西Ip控股有限责任公司 数据管理的方法、电子设备和计算机程序产品
CN111262692B (zh) * 2020-01-08 2023-02-28 网络通信与安全紫金山实验室 基于区块链的密钥分发系统和方法
CN113496398A (zh) * 2020-03-19 2021-10-12 中移(上海)信息通信科技有限公司 基于智能合约的数据处理方法、装置、设备及介质
CN111478890B (zh) * 2020-03-30 2021-12-03 中国科学院计算技术研究所 一种基于智能合约的网络服务访问控制方法和系统
CN112468577B (zh) * 2020-11-25 2021-11-02 上海欧冶金融信息服务股份有限公司 一种基于数据映射关系的数据可控共享方法及系统
CN112822224B (zh) * 2021-04-19 2021-06-22 国网浙江省电力有限公司 一种用于财务数据查询的安全传输方法
CN113360883B (zh) * 2021-06-10 2023-07-11 网易(杭州)网络有限公司 一种智能合约的处理方法、装置、计算机设备及存储介质
CN114666064A (zh) * 2022-03-25 2022-06-24 广东启链科技有限公司 基于区块链的数字资产管理方法、装置、存储介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812126A (zh) * 2016-05-19 2016-07-27 齐鲁工业大学 健康区块链数据加密密钥的轻量级备份与高效恢复方法
CN106022917A (zh) * 2016-05-08 2016-10-12 杭州复杂美科技有限公司 区块链撮合交易所方案
CN106534097A (zh) * 2016-10-27 2017-03-22 上海亿账通区块链科技有限公司 基于区块链交易的权限管制方法及系统
CN106548330A (zh) * 2016-10-27 2017-03-29 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341421B (zh) * 2016-10-31 2019-04-02 杭州云象网络技术有限公司 一种基于区块链技术的数据交换方法
CN106506505A (zh) * 2016-11-15 2017-03-15 深圳银链科技有限公司 一种基于区块链的单密聊和群密聊方法及其系统
CN107273759B (zh) * 2017-05-08 2020-07-14 上海点融信息科技有限责任公司 用于保护区块链数据的方法、设备以及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106022917A (zh) * 2016-05-08 2016-10-12 杭州复杂美科技有限公司 区块链撮合交易所方案
CN105812126A (zh) * 2016-05-19 2016-07-27 齐鲁工业大学 健康区块链数据加密密钥的轻量级备份与高效恢复方法
CN106534097A (zh) * 2016-10-27 2017-03-22 上海亿账通区块链科技有限公司 基于区块链交易的权限管制方法及系统
CN106548330A (zh) * 2016-10-27 2017-03-29 上海亿账通区块链科技有限公司 基于区块链的交易验证方法及系统

Also Published As

Publication number Publication date
CN107273759A (zh) 2017-10-20
WO2018205731A1 (zh) 2018-11-15

Similar Documents

Publication Publication Date Title
CN107273759B (zh) 用于保护区块链数据的方法、设备以及计算机可读存储介质
CN110520882B (zh) 在区块链网络中并行执行交易
CN107360248B (zh) 用于配置局部共识的方法和装置及计算机可读存储介质
EP3560143B1 (en) Data isolation in a blockchain network
WO2019120326A2 (en) Managing sensitive data elements in a blockchain network
Parmar et al. Large-scale encryption in the Hadoop environment: Challenges and solutions
US11296879B2 (en) Encrypted search
US11616636B2 (en) Hash updating methods and apparatuses of blockchain integrated station
US11387999B2 (en) Access to secured information
US9660801B2 (en) Methods and devices for key management in an as-a-service context
US10887085B2 (en) System and method for controlling usage of cryptographic keys
CN113329030A (zh) 区块链一体机及其密码加速卡、密钥管理方法和装置
CN112953974B (zh) 数据碰撞方法、装置、设备及计算机可读存储介质
CN112235193A (zh) 基于跨网络多级路由的数据传输方法、装置、设备和介质
CN110731073A (zh) 在区块链系统中的节点之间建立通信的方法和设备
CN112000978B (zh) 隐私数据的输出方法、数据处理系统及存储介质
CN111008400A (zh) 数据处理方法、装置及系统
CN110708390A (zh) 基于节点间数据共享的数据处理方法、设备、装置、介质
CN117349685A (zh) 一种通信数据的聚类方法、系统、终端及介质
CN111046408A (zh) 判断结果处理方法、查询方法、装置、电子设备和系统
CN113609156B (zh) 数据的查询与写入方法、装置、电子设备及可读存储介质
CN114357472B (zh) 数据的打标签方法、系统、电子设备和可读存储介质
CN111881474B (zh) 基于可信计算环境的私钥管理方法和装置
US20230269092A1 (en) Distributed network having a plurality of subnets
WO2022002428A1 (en) Verification key generation in distributed networks

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1239856

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200714