CN111753335B - 区块内容的编辑方法及装置 - Google Patents
区块内容的编辑方法及装置 Download PDFInfo
- Publication number
- CN111753335B CN111753335B CN202010889932.1A CN202010889932A CN111753335B CN 111753335 B CN111753335 B CN 111753335B CN 202010889932 A CN202010889932 A CN 202010889932A CN 111753335 B CN111753335 B CN 111753335B
- Authority
- CN
- China
- Prior art keywords
- block
- node
- blockchain
- private key
- hash
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- 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
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Computing Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个或多个实施例提供一种区块内容的编辑方法及装置,该方法可以包括:区块链节点Bi接收用于将区块Qi的原始区块内容m编辑为目标区块内容m’的区块编辑交易,区块Qi+1的区块头中记录有区块Qi对应的父哈希,父哈希由原始区块内容m、公钥H和原始随机数r计算生成;区块链节点Bi在确定区块编辑交易通过共识的情况下,执行生成随机数的智能合约,智能合约用于通过安全多方计算生成私钥X,并根据原始区块内容m、目标区块内容m’、原始随机数r和私钥X确定对应的目标随机数r’,由目标区块内容m’、公钥H和目标随机数r’计算生成的哈希值与所述父哈希相同;区块链节点Bi将(m,r)更新为(m’,r’)。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种区块内容的编辑方法及装置。
背景技术
区块链技术(也被称之为,分布式账本技术)是一种去中性化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景中。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种区块内容的编辑方法及装置。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种区块内容的编辑方法,包括:
区块链节点Bi接收区块编辑交易,所述区块编辑交易用于将区块Qi的原始区块内容m编辑为目标区块内容m’;其中,区块Qi+1的区块头中记录有区块Qi对应的父哈希,所述父哈希由原始区块内容m、公钥H和原始随机数r计算生成,公钥H由区块链节点B1~Bn分别对应的节点公钥h1~hn计算生成,i∈[1,n]且i为正整数;
所述区块链节点Bi在确定所述区块编辑交易通过共识的情况下,执行生成随机数的智能合约,所述智能合约用于执行与区块链节点B1~Bn分别对应的节点私钥x1~xn相关的安全多方计算以生成私钥X,并根据原始区块内容m、目标区块内容m’、原始随机数r和私钥X确定对应的目标随机数r’;其中,由目标区块内容m’、公钥H和目标随机数r’计算生成的哈希值与所述父哈希相同;
所述区块链节点Bi将原始区块内容m更新为目标区块内容m’、将原始随机数r更新为目标随机数r’。
根据本说明书一个或多个实施例的第二方面,提出了一种区块内容的编辑装置,包括:
接收单元,使区块链节点Bi接收区块编辑交易,所述区块编辑交易用于将区块Qi的原始区块内容m编辑为目标区块内容m’;其中,区块Qi+1的区块头中记录有区块Qi对应的父哈希,所述父哈希由原始区块内容m、公钥H和原始随机数r计算生成,公钥H由区块链节点B1~Bn分别对应的节点公钥h1~hn计算生成,i∈[1,n]且i为正整数;
执行单元,使所述区块链节点Bi在确定所述区块编辑交易通过共识的情况下,执行生成随机数的智能合约,所述智能合约用于执行与区块链节点B1~Bn分别对应的节点私钥x1~xn相关的安全多方计算以生成私钥X,并根据原始区块内容m、目标区块内容m’、原始随机数r和私钥X确定对应的目标随机数r’;其中,由目标区块内容m’、公钥H和目标随机数r’计算生成的哈希值与所述父哈希相同;
更新单元,使所述区块链节点Bi将原始区块内容m更新为目标区块内容m’、将原始随机数r更新为目标随机数r’。
根据本说明书一个或多个实施例的第三方面,提出了一种区块链节点,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
附图说明
图1是一示例性实施例提供的一种区块链结构的示意图。
图2是一示例性实施例提供的一种区块内容的编辑方法的流程图。
图3是一示例性实施例提供的一种创建智能合约的示意图。
图4是一示例性实施例提供的一种调用智能合约的示意图。
图5是一示例性实施例提供的一种设备的结构示意图。
图6是一示例性实施例提供的一种区块内容的编辑装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链由若干区块依次链接形成,区块链内容不可篡改的特性与相邻区块之间的锚定关系相关。图1是一示例性实施例提供的一种区块链结构的示意图。如图1所示,以区块高度分别为Qi、Qi+1的两个区块为例,对上述的锚定关系予以说明;为了便于理解,将区块高度为Qi的区块称为区块Qi、将区块高度为Qi+1的区块称为区块Qi+1。
区块Qi与区块Qi+1的结构一致,都包括区块头和区块体;实际上,所有区块的结构都一致。在区块Qi+1的区块头中包含图1所示的信息HASH_Qi,该HASH_Qi为区块Qi+1所含的父哈希,该父哈希HASH_Qi为针对区块Qi的内容进行哈希运算而得到。由于区块Qi与区块Qi+1为相邻区块,且区块Qi的创建时刻早于区块Qi+1,因而可以认为区块Qi为区块Qi+1的父区块,并将区块Qi的内容所产生的哈希称为上述的父哈希。类似地,如果区块Qi也存在相应的父区块,那么区块Qi的区块头也会包含该父区块对应的父哈希;如果区块Qi为创世块,即区块Qi不存在父区块,则区块Qi的区块头可以不包含父哈希。
哈希运算可以将任意输入内容进行运算并输出相应的哈希值。同时,由于哈希运算的特性,几乎可以认为输入内容与哈希值之间具有一一对应的关系,只有极小概率下可能出现哈希碰撞——即不同输入内容产生相同的哈希值。相关技术中存在多种方式可以尽可能地降低哈希碰撞的出现概率,比如扩大哈希值的取值空间等,使得哈希碰撞的问题几乎可以忽略不计。因此,通过在区块Qi+1的区块头中包含父哈希HASH_Qi,可以对区块Qi的内容进行锚定,因为区块Qi的内容变更会导致其哈希值区别于父哈希HASH_Qi,从而很容易地发现区块Qi的内容被篡改。
但在一些场景下,比如隐私数据可能在未加密的情况下被记录至区块链上,造成隐私暴露的风险,再比如错误数据可能被记录至区块链上,造成链上存储空间的浪费,等等。总之,对于已经上链的区块而言,存在对区块内容进行编辑的需求。下面对本说明书提供的区块内容的编辑方案进行介绍。
图2是一示例性实施例提供的一种区块内容的编辑方法的流程图。如图2所示,该方法可以包括以下步骤:
步骤202,区块链节点Bi接收区块编辑交易,所述区块编辑交易用于将区块Qi的原始区块内容m编辑为目标区块内容m’;其中,区块Qi+1的区块头中记录有区块Qi对应的父哈希,所述父哈希由原始区块内容m、公钥H和原始随机数r计算生成,公钥H由区块链节点B1~Bn分别对应的节点公钥h1~hn计算生成,i∈[1,n]且i为正整数。
区块链节点Bi可以为区块链网络中的任意一个节点,而并不特指某一节点。实际上,由于区块链技术的分布式特性,区块链网络中的每个区块链节点都会执行相同的操作,以确保每个区块链节点分别维护的区块链数据的一致性,因而可以将每个区块链节点都认为是区块链节点Bi。
在相关技术的基础上,可以在区块链交易中添加Type(类型)字段,使得区块链节点Bi可以根据该Type字段的取值来区分不同类型的区块链交易,比如Type的取值为0时对应于区块编辑交易,Type的取值为1时对应于其他的区块链交易。当然,还可以通过其他方式对不同类型的区块链交易予以区分,本说明书并不对此进行限制。其中,区块编辑交易由某一交易发起方创建,并进而被发送至区块链网络中。该交易发起方可以为某一用户。区块链节点Bi可以从该交易发起方使用的客户端处接收到区块编辑交易。或者,交易发起方可以通过客户端将区块编辑交易发送至区块链节点Bj,并区块链节点Bi可以从该区块链节点Bj处接收到区块编辑交易。
通常应当避免对区块内容进行随意编辑。例如,区块链节点Bi可以确定区块编辑交易的交易发起方,并在该交易发起方针对区块Qi具有编辑权限的情况下,根据区块编辑交易对区块Qi的区块内容进行编辑,否则可以不执行该区块编辑交易。区块链节点Bi可以通过多种方式实现编辑权限的管理,比如在区块链的创世块中可以记录有区块链管理员的信息,而区块链节点Bi可以仅在交易发起方为区块链管理员的情况下,才认为该交易发起方具有编辑权限,这种方式可以适用于区块链所含的所有区块;再比如,在区块Qi中可以包含拥有编辑权限的账号列表,而区块链节点Bi可以在交易发起方属于该账号列表的情况下,才认为该交易发起方具有编辑权限,这种方式相当于在每个区块中分别维护一个账号列表,且不同区块维护的账户列表之间相互独立,从而实现区块级别的编辑权限管理,具有相对更高的灵活性。
假定区块链网络中存在n个区块链节点,分别为上述的区块链节点B1~Bn,每个区块链节点分别维护有对应于其身份信息的节点公私钥对,比如区块链节点B1对应于节点公钥h1、节点私钥x1,区块链节点B2对应于节点公钥h2、节点私钥x2,……,区块链节点Bn对应于节点公钥hn、节点私钥xn。区块链节点Bi需要自行维护其节点私钥xi,并防止节点私钥xi发生泄漏,而节点公钥hi需要分享至其他的区块链节点,使得每个区块链节点都可以获知节点公钥h1~hn,进而可以据此生成上述的公钥H,以用于生成父哈希以及后续的区块编辑过程。
步骤204,所述区块链节点Bi在确定所述区块编辑交易通过共识的情况下,执行生成随机数的智能合约,所述智能合约用于执行与区块链节点B1~Bn分别对应的节点私钥x1~xn相关的安全多方计算以生成私钥X,并根据原始区块内容m、目标区块内容m’、原始随机数r和私钥X确定对应的目标随机数r’;其中,由目标区块内容m’、公钥H和目标随机数r’计算生成的哈希值与所述父哈希相同。
区块链节点B1~Bn需要对区块编辑交易进行共识。在该区块编辑交易通过共识的情况下,表明各个区块链节点均同意根据该区块编辑交易对区块Qi的区块内容进行编辑,进而由各个区块链节点执行该区块编辑交易以针对区块Qi的区块内容进行编辑。区块链节点B1~Bn可以采用任意类型的共识算法进行共识,本说明书并不对此进行限制。
在采用工作量证明(Proof of Work, POW)以及股权证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)等共识算法的区块链网络中,共识过程包括区块链节点之间对于记账权的争夺。以以太坊为例,以太坊中的节点一般也是争夺记账权的节点,上述区块链节点作为争夺记账权的节点可以在本地执行上述的区块编辑交易。所有争夺记账权的节点中的某一节点如果在本轮争夺记账权的过程中胜出,则成为记账节点。假定上述区块链节点在本轮争夺记账权的过程中胜出,就成为记账节点;当然,如果该区块链节点在本轮争夺记账权的过程中没有胜出,则不是记账节点,而其它节点可能成为记账节点。对于上述争夺记账权的区块链网络,本说明书中的区块链节点对收到的区块编辑交易进行共识前校验后,如果校验通过则将该区块编辑交易广播至区块链网络中的其他区块链节点,使得不论本轮的记账节点为哪个节点,该记账节点均可以将该区块编辑交易打包(或还包括其它交易一起打包)并生成新的区块,并将该新的区块发送至非记账节点进行共识,而非记账节点在对收到的上述新的区块进行验证没有问题的情况下,可以将该新的区块追加到原有的区块链末尾,从而完成记账过程、达成共识。而如果上述区块编辑交易在本说明书的区块链节点处未通过共识前校验,那么该区块链节点就不会向其他区块链节点广播该区块编辑交易。
在采用实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等机制的区块链网络中,具有记账权的节点在本轮记账前已经商定好。因此,上述区块链节点接收到前述的区块编辑交易后,假定该区块编辑交易通过了共识前校验,那么:在该区块链节点自身不是本轮的记账节点的情况下,将该区块编辑交易发送至记账节点;在该区块链节点自身是本轮的记账节点的情况下,将该区块编辑交易打包(或还包括其它交易一起打包)并生成新的区块后,将生成的新的区块发送至非记账节点进行共识。以及,上述区块链节点接收到前述的区块编辑交易后,假定该区块编辑交易未通过共识前校验,则该区块链节点在自身不是本轮的记账节点的情况下不会将该区块编辑交易发送至记账节点,该区块链节点在自身是本轮的记账节点的情况下不会将该区块编辑交易用于打包生成新的区块。对于上述记账节点生成的新的区块,非记账节点可以在对收到的上述新的区块进行验证没有问题的情况下,可以将该新的区块追加到原有的区块链末尾,从而完成记账过程、达成共识。
在相关技术中,通常采用的哈希算法f()仅存在一个输入,以计算区块Qi的哈希值为例,输入即为该区块Qi的区块内容m,即哈希值为f(m)。如果希望将区块内容m更改为区块内容m’,必须恰好使得m与m’发生哈希碰撞,才能够使得f(m)=f(m’),而这样的概率几乎可以忽略不计,故而实际上无法根据需求对区块内容m进行修改。而在本说明书的技术方案中,采用的哈希算法f()存在两个输入,仍以计算区块Qi的哈希值为例,输入为该区块Qi的区块内容m和随机数r,即哈希值为f(m, r)。如果希望将区块内容m更改为区块内容m’,只需要找到与区块内容m’相匹配的随机数r’,即可确保计算得到的哈希值f(m, r)=f(m’, r’),因而可以根据需求将区块内容m修改为任意的区块内容m’。
区块链节点Bi无法随意地生成随机数r’,而必须使用上述公钥H对应的私钥X,否则区块链节点Bi可能会随意地修改区块内容。因此,本说明书采用分布式的私钥管理方式,使得每个区块链节点Bi仅掌握节点私钥xi,而私钥X的生成则与所有的节点私钥x1~xn相关,那么只要每个区块链节点都维护好自己掌握的节点私钥、避免某个区块链节点同时掌握所有的节点私钥,即可防止任意一个区块链节点获得私钥X。本说明书进一步提出了通过智能合约实现安全多方计算的方式以生成私钥X,并进而根据私钥X生成随机数r’,从而既能够满足对节点内容进行编辑的需求,又可以避免节点私钥或私钥X被暴露。
无论是公有链、私有链或联盟链,都可以部署和调用智能合约。以以太坊为例,支持用户在以太坊网络中创建和/或调用一些复杂的逻辑,这是以太坊区别于比特币区块链技术的最大挑战。以太坊作为一个可编程区块链的核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,这意味着可以通过它实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。
例如图3所示,Bob将一个包含创建智能合约信息的交易发送到以太坊网络后,节点1的EVM可以执行这个交易并生成对应的合约实例。交易的data字段保存的可以是智能合约的代码(如字节码),交易的to字段为一个空的账户。节点间通过共识机制达成一致后,这个合约成功创建,后续用户可以调用这个合约。合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址,合约代码和账户存储将保存在该合约账户中。智能合约的行为由合约代码控制,而智能合约的账户存储则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储(Storage)的虚拟账户。
进一步地,如图4所示,仍以以太坊为例,Bob将一个调用智能合约的交易发送到以太坊网络后,节点1的EVM可以执行这个交易并生成对应的合约实例。图中4中交易的from字段是发起调用智能合约的账户的地址,to字段中的“0x692a70d2…”代表了被调用的智能合约的地址,value字段在以太坊中是以太币的值,交易的data字段保存的调用智能合约的方法和参数。智能合约可以通过规定的方式在区块链网络中的每个节点独立地执行,所有执行记录和数据都保存在区块链上,所以当这样的交易完成后,区块链上就保存了无法篡改、不会丢失的交易凭证。
由于智能合约所含的合约代码为预先定义、可检查的,并且智能合约被调用后,相应的合约代码可以自动执行以实现预定义的逻辑功能,可以确保智能合约总是能够独立地、忠实地完成计算任务。因此,在将智能合约应用于区块编辑过程时,智能合约可以实现对私钥X和随机数r’的计算,而不会将私钥X或用于计算私钥X的数据泄露给区块链节点,整个计算过程对于区块链节点而言相当于是一个“黑盒”,避免区块链节点掌握私钥X或用于计算私钥X的数据。
区块链节点B1~Bn之间可以采用秘密共享算法对私钥x1~xn或其衍生数据进行共享,每个区块链节点获得的共享数据即为上述用于计算私钥X的数据。举例而言,区块链节点Bi可以通过秘密共享算法对自身维护的节点私钥xi进行分片处理,得到私钥分片xi_1~xi_n,比如区块链节点B1将节点私钥x1处理为私钥分片x1_1~x1_n、区块链节点B2将节点私钥x2处理为私钥分片x2_1~x2_n……区块链节点Bn将节点私钥xn处理为私钥分片xn_1~xn_n。然后,区块链节点Bi可以将私钥分片xi_j分享至区块链节点Bj,j∈[1,i-1]∪[i+1,n]且j为正整数,比如当i=1时,区块链节点B1将私钥分片x1_2分享至区块链节点B2、将私钥分片x1_3分享至区块链节点B3……将私钥分片x1_n分享至区块链节点Bn,再比如当i=2时,区块链节点B2将私钥分片x2_1分享至区块链节点B1、将私钥分片x2_3分享至区块链节点B3……将私钥分片x2_n分享至区块链节点Bn,使得区块链节点Bi最终可以获得自身生成的私钥分片xi_i和其他的区块链节点Bj分别分享的私钥分片xj_i,相当于区块链节点Bi最终可以获得私钥分片x1_i~xn_i,比如区块链节点B1获得私钥分片x1_1~xn_1、区块链节点B2获得私钥分片x1_2~xn_2……区块链节点Bn获得私钥分片x1_n~xn_n。
那么,在需要针对区块Qi的区块内容进行编辑时,各个区块链节点之间需要对自身获得的私钥分片进行分享,以便还原出私钥X。例如,区块链节点Bi可以通过秘密共享算法对自身维护的私钥分片x1_i~xn_i进行恢复处理,得到中间分片xi’;然后,各个区块链节点之间可以对自身生成的中间分片进行共享,使得每个区块链节点都可以获得中间分片x1’~xn’。那么,区块链节点Bi在调用智能合约时,可以将中间分片x1’~xn’作为该智能合约的入参,使得该智能合约可以通过秘密共享算法对中间分片x1’~xn’进行恢复处理,得到私钥X,并进而生成随机数r’。
区块链节点Bi在调用并执行智能合约的过程中,可能需要对中间分片x1’~xn’和过程中生成的私钥X进行缓存。为了避免区块链节点Bi上的不可信应用从缓存中读取中间分片x1’~xn’或私钥X,可以在区块链节点Bi上部署可信执行环境(Trusted ExecutionEnvironment, TEE),并确保在TEE中执行上述的智能合约。
TEE是基于 CPU 硬件的安全扩展,且与外部完全隔离的可信执行环境。TEE最早是由Global Platform提出的概念,用于解决移动设备上资源的安全隔离,平行于操作系统为应用程序提供可信安全的执行环境。ARM的Trust Zone技术最早实现了真正商用的TEE技术。伴随着互联网的高速发展,安全的需求越来越高,不仅限于移动设备,云端设备,数据中心都对TEE提出了更多的需求。TEE的概念也得到了高速的发展和扩充。现在所说的TEE相比与最初提出的概念已经是更加广义的TEE。例如,服务器芯片厂商Intel,AMD等都先后推出了硬件辅助的TEE并丰富了TEE的概念和特性,在工业界得到了广泛的认可。现在提起的TEE通常更多指这类硬件辅助的TEE技术。不同于移动端,云端访问需要远程访问,终端用户对硬件平台不可见,因此使用TEE的第一步就是要确认TEE的真实可信。因此现在的TEE技术都引入了远程证明机制,由硬件厂商(主要是CPU厂商) 背书并通过数字签名技术确保用户对TEE状态可验证。同时仅仅是安全的资源隔离也无法满足的安全需求,进一步的数据隐私保护也被提出。包括Intel SGX, AMD SEV在内的商用TEE也都提供了内存加密技术,将可信硬件限定在CPU内部,总线和内存的数据均是密文防止恶意用户进行窥探。例如,英特尔的软件保护扩展(SGX)等 TEE 技术隔离了代码执行、远程证明、安全配置、数据的安全存储以及用于执行代码的可信路径。在 TEE 中运行的应用程序受到安全保护,几乎不可能被第三方访问。
以Intel SGX技术为例,SGX提供了围圈(enclave,也称为飞地),即内存中一个加密的可信执行区域,由 CPU 保护数据不被窃取。以第一区块链节点采用支持SGX的CPU为例,利用新增的处理器指令,在内存中可以分配一部分区域 EPC(Enclave Page Cache,围圈页面缓存或飞地页面缓存),通过 CPU 内的加密引擎 MEE(Memory Encryption Engine)对其中的数据进行加密。EPC 中加密的内容只有进入 CPU 后才会被解密成明文。因此,在SGX 中,用户可以不信任操作系统、VMM(Virtual Machine Monitor,虚拟机监控器)、甚至BIOS(Basic Input Output System,基本输入输出系统),只需要信任 CPU 便能确保隐私数据不会泄漏。实际应用中,可以将隐私数据加密后以密文形式传递至围圈中,并通过远程证明将对应的秘钥也传入围圈。然后,在 CPU 的加密保护下利用数据进行运算,结果会以密文形式返回。这种模式下,既可以利用强大的计算力,又不用担心数据泄漏。
智能合约还在确定出目标随机数r’的情况下,可以主动删除已生成的私钥X,比如清空用于存储私钥X的缓存空间。类似地,智能合约可以在确定出私钥X的情况下,主动删除中间分片x1’~xn’,比如情况用于存储中间分片x1’~xn’的缓存空间。通过对缓存空间的主动清空,可以避免不可信应用从缓存中窃取私钥X或中间分片x1’~xn’,以提升安全性。
相关技术中存在很多能够满足本说明书的运算需求的哈希算法,比如变色龙哈希(Chameleon Hash)算法。以变色龙哈希算法为例,所采用的哈希值计算公式为:HASH=g^a*H^b,其中g为预设生成元,H为公钥,a为数据、b为随机数,比如当a为区块内容m时,b为随机数r,当a为区块内容m’时,b为随机数r’。因此,可以计算得到上述的父哈希HASH_Qi=g^m*H^r。
由于节点公私钥对满足hi=g^xi,因而设定公钥H=h1*h2*…*hn、私钥X=x1+x2+…+xn,从而得到上述的父哈希HASH_Qi=g^m*H^r=g^m*(h1*h2*…*hn)^r=g^m*(g^x1*g^x2*…*g^xn)^r=g^[m+(x1+x2+…+xn)*r]=g^(m+Xr)。类似地,可以计算得到区块编辑后对应的父哈希HASH_Qi’=g^m’*H^r’=g^m’*(h1*h2*…*hn)^r’=g^m’*(g^x1*g^x2*…*g^xn)^r’=g^[m’+(x1+x2+…+xn)*r’]=g^(m’+Xr’)。由于区块编辑前后的父哈希取值需要保持一致,即HASH_Qi=HASH_Qi’,因而可以得出g^(m+Xr)=g^(m’+Xr’),进而可以确定随机数r’=(m+Xr-m’)/X。
可见,通过智能合约计算得到私钥X,并结合随机数r、区块内容m和区块内容m’,即可计算得到随机数r’;而由于随机数r、区块内容m和区块内容m’的取值均已知,故而私钥X是成功计算出随机数r’的关键,所以需要通过前述的方式对私钥X以及用于计算得到私钥X的数据进行保密,否则可以据此对区块内容进行随意修改,产生安全性风险。
步骤206,所述区块链节点Bi将原始区块内容m更新为目标区块内容m’、将原始随机数r更新为目标随机数r’。
区块链节点Bi在生成区块Qi+1时,需要在区块Qi+1的区块头添加区块Qi的哈希值,即前述的父哈希HASH_Qi。由于父哈希HASH_Qi的计算涉及到区块内容m、随机数r和公钥H,而区块内容m和随机数r均为固定,所以父哈希HASH_Qi的取值受到公钥H的影响。而公钥H由各个区块链节点对应的节点公钥h1~hn计算得到,因而区块链节点Bi在生成区块Qi+1的过程中,需要确定针对区块Qi使用的节点公钥hi,将确定的节点公钥hi发送至其他区块链节点且接收其他区块链节点确定针对区块Qi使用的节点公钥,最终使得每个区块链节点都得到节点公钥h1~hn,以用于生成公钥H,并进而生成父哈希HASH_Qi。
如果每个区块链节点采用的节点公私钥对都不变,即区块链节点Bi固定使用公私钥对(hi, xi),那么公钥H的取值也将固定不变,使得区块链节点只需要对节点公钥进行一次共享即可,而无需在生成每个区块时都对节点公钥进行共享。但是,公私钥对长期不变可能会导致安全隐患,所以区块链节点可以周期性或临时性地变更所采用的公私钥对,这样即便部分公私钥对泄露也不会导致所有区块都存在被篡改的风险。如果采用周期性的变更方式,那么所有区块链节点之间按照固定周期变更自身所采用的公私钥对,区块链节点可以在每次变更后生成首个区块的过程中,对变更后的节点公钥进行共享,而在同一周期内的剩余时刻则无需共享。如果采用临时性的变更方式,那么每个区块链节点都无法确定其他区块链节点是否会变更其采用的公私钥对,因而需要在每次生成区块的过程中都共享节点公钥,相比于周期性的变更方式而言,这种临时性的变更方式具有更大的随机性,从而带来更佳的安全性。
如前所述,如果每个区块链节点采用的节点公私钥对都不变,那么区块链节点Bi对不同区块必然采用相同的公私钥对,可以将节点公钥的共享次数降至最少。而如果区块链节点对公私钥对存在变更行为,那么区块链节点Bi会对至少两个区块采用不同的公私钥对,使得区块链节点Bi需要记录每一区块与对应使用的公私钥对的对应关系,这样在后续针对区块Qi的区块内容进行编辑时,可以根据该对应关系对区块Qi的区块内容进行编辑,比如确保区块链节点Bi使用正确的私钥分片来生成相应的中间分片,进而生成正确的私钥X。
图5是一示例性实施例提供的一种设备的示意结构图。请参考图5,在硬件层面,该设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行,在逻辑层面上形成区块内容的编辑装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图6,在软件实施方式中,该区块内容的编辑装置可以包括:
接收单元61,使区块链节点Bi接收区块编辑交易,所述区块编辑交易用于将区块Qi的原始区块内容m编辑为目标区块内容m’;其中,区块Qi+1的区块头中记录有区块Qi对应的父哈希,所述父哈希由原始区块内容m、公钥H和原始随机数r计算生成,公钥H由区块链节点B1~Bn分别对应的节点公钥h1~hn计算生成,i∈[1,n]且i为正整数;
执行单元62,使所述区块链节点Bi在确定所述区块编辑交易通过共识的情况下,执行生成随机数的智能合约,所述智能合约用于执行与区块链节点B1~Bn分别对应的节点私钥x1~xn相关的安全多方计算以生成私钥X,并根据原始区块内容m、目标区块内容m’、原始随机数r和私钥X确定对应的目标随机数r’;其中,由目标区块内容m’、公钥H和目标随机数r’计算生成的哈希值与所述父哈希相同;
更新单元63,使所述区块链节点Bi将原始区块内容m更新为目标区块内容m’、将原始随机数r更新为目标随机数r’。
可选的,所述执行单元62通过安全多方计算生成私钥X,包括:
获取中间分片x1’~xn’;其中,中间分片xi’由所述区块链节点Bi通过秘密共享算法对私钥分片x1_i~xn_i进行恢复处理得到,而私钥分片xi_1~xi_n由所述区块链节点Bi通过秘密共享算法对节点私钥xi进行分片处理得到,且xi_j被所述区块链节点Bi分享至区块链节点Bj,j∈[1,i-1]∪[i+1,n]且j为正整数;
通过秘密共享算法对中间分片x1’~xn’进行恢复处理,得到私钥X。
可选的,所述执行单元62具体用于:
在所述区块链节点Bi上部署的可信执行环境中执行生成随机数的智能合约。
可选的,所述智能合约还用于:在确定出目标随机数r’的情况下,删除已生成的私钥X。
可选的,当采用公式g^a*H^b计算哈希值时,公钥H为节点公钥h1~hn之积、私钥X为节点私钥x1~xn之和,且hi=g^xi;
其中,g为预设生成元;a=m且b=r,或者a=m’且b=r’。
可选的,还包括:
发起方确定单元64,使所述区块链节点Bi确定所述区块编辑交易的交易发起方;
所述更新单元63使所述区块链节点Bi在所述交易发起方针对区块Qi具有编辑权限的情况下,根据所述区块编辑交易对区块Qi的区块内容进行更新。
可选的,还包括:
公钥确定单元65,使所述区块链节点Bi在生成区块Qi+1的过程中,确定针对所述区块Qi使用的节点公钥hi;
发送单元66,使所述区块链节点Bi将确定的节点公钥hi发送至其他区块链节点,且接收其他区块链节点确定针对区块Qi使用的节点公钥,得到节点公钥h1~hn;
生成单元67,使所述区块链节点Bi根据节点公钥h1~hn对应的公钥H生成所述父哈希,并添加至区块Qi+1的区块头中。
可选的,
所述区块链节点Bi对不同区块采用相同的公私钥对;或者,
在所述区块链节点Bi对至少两个区块采用不同的公私钥对的情况下,所述装置还包括:记录单元68,使所述区块链节点Bi记录每一区块与对应使用的公私钥对的对应关系,以根据所述对应关系对区块Qi的区块内容进行编辑。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (8)
1.一种区块内容的编辑方法,包括:
区块链节点Bi接收区块编辑交易,所述区块编辑交易用于将区块Qi的原始区块内容m编辑为目标区块内容m’;其中,区块Qi+1的区块头中记录有区块Qi对应的父哈希,所述父哈希由原始区块内容m、公钥H和原始随机数r计算生成,公钥H由区块链节点B1~Bn分别对应的节点公钥h1~hn计算生成,i∈[1,n]且i为正整数;其中,所述区块链节点Bi在生成区块Qi+1的过程中,确定针对所述区块Qi使用的节点公钥hi,所述区块链节点Bi将确定的节点公钥hi发送至其他区块链节点,且接收其他区块链节点确定针对区块Qi使用的节点公钥,得到节点公钥h1~hn,所述区块链节点Bi根据节点公钥h1~hn对应的公钥H生成所述父哈希,并添加至区块Qi+1的区块头中;在所述区块链节点Bi对至少两个区块采用不同的公私钥对的情况下,所述区块链节点Bi记录每一区块与对应使用的公私钥对的对应关系,以根据所述对应关系对区块Qi的区块内容进行编辑;
所述区块链节点Bi在确定所述区块编辑交易通过共识的情况下,执行生成随机数的智能合约,所述智能合约用于执行与区块链节点B1~Bn分别对应的节点私钥x1~xn相关的安全多方计算以生成私钥X,并根据原始区块内容m、目标区块内容m’、原始随机数r和私钥X确定对应的目标随机数r’;其中,由目标区块内容m’、公钥H和目标随机数r’计算生成的哈希值与所述父哈希相同,所述私钥X的生成过程包括:获取中间分片x1’~xn’;其中,中间分片xi’由所述区块链节点Bi通过秘密共享算法对私钥分片x1_i~xn_i进行恢复处理得到,而私钥分片xi_1~xi_n由所述区块链节点Bi通过秘密共享算法对节点私钥xi进行分片处理得到,且xi_j被所述区块链节点Bi分享至区块链节点Bj,j∈[1,i-1]∪[i+1,n]且j为正整数;通过秘密共享算法对中间分片x1’~xn’进行恢复处理,得到私钥X;
所述区块链节点Bi将原始区块内容m更新为目标区块内容m’、将原始随机数r更新为目标随机数r’。
2.根据权利要求1所述的方法,所述执行生成随机数的智能合约,包括:
在所述区块链节点Bi上部署的可信执行环境中执行生成随机数的智能合约。
3.根据权利要求1所述的方法,所述智能合约还用于:在确定出目标随机数r’的情况下,删除已生成的私钥X。
4.根据权利要求1所述的方法,当采用公式g^a*H^b计算哈希值时,公钥H为节点公钥h1~hn之积、私钥X为节点私钥x1~xn之和,且hi=g^xi;
其中,g为预设生成元;a=m且b=r,或者a=m’且b=r’。
5.根据权利要求1所述的方法,还包括:
所述区块链节点Bi确定所述区块编辑交易的交易发起方;
所述区块链节点Bi在所述交易发起方针对区块Qi具有编辑权限的情况下,根据所述区块编辑交易对区块Qi的区块内容进行更新。
6.一种区块内容的编辑装置,包括:
接收单元,使区块链节点Bi接收区块编辑交易,所述区块编辑交易用于将区块Qi的原始区块内容m编辑为目标区块内容m’;其中,区块Qi+1的区块头中记录有区块Qi对应的父哈希,所述父哈希由原始区块内容m、公钥H和原始随机数r计算生成,公钥H由区块链节点B1~Bn分别对应的节点公钥h1~hn计算生成,i∈[1,n]且i为正整数;其中,所述区块链节点Bi在生成区块Qi+1的过程中,确定针对所述区块Qi使用的节点公钥hi,所述区块链节点Bi将确定的节点公钥hi发送至其他区块链节点,且接收其他区块链节点确定针对区块Qi使用的节点公钥,得到节点公钥h1~hn,所述区块链节点Bi根据节点公钥h1~hn对应的公钥H生成所述父哈希,并添加至区块Qi+1的区块头中;在所述区块链节点Bi对至少两个区块采用不同的公私钥对的情况下,所述区块链节点Bi记录每一区块与对应使用的公私钥对的对应关系,以根据所述对应关系对区块Qi的区块内容进行编辑;
执行单元,使所述区块链节点Bi在确定所述区块编辑交易通过共识的情况下,执行生成随机数的智能合约,所述智能合约用于执行与区块链节点B1~Bn分别对应的节点私钥x1~xn相关的安全多方计算以生成私钥X,并根据原始区块内容m、目标区块内容m’、原始随机数r和私钥X确定对应的目标随机数r’;其中,由目标区块内容m’、公钥H和目标随机数r’计算生成的哈希值与所述父哈希相同,所述私钥X的生成过程包括:获取中间分片x1’~xn’;其中,中间分片xi’由所述区块链节点Bi通过秘密共享算法对私钥分片x1_i~xn_i进行恢复处理得到,而私钥分片xi_1~xi_n由所述区块链节点Bi通过秘密共享算法对节点私钥xi进行分片处理得到,且xi_j被所述区块链节点Bi分享至区块链节点Bj,j∈[1,i-1]∪[i+1,n]且j为正整数;通过秘密共享算法对中间分片x1’~xn’进行恢复处理,得到私钥X;
更新单元,使所述区块链节点Bi将原始区块内容m更新为目标区块内容m’、将原始随机数r更新为目标随机数r’。
7.一种区块链节点,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-5中任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-5中任一项所述方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010889932.1A CN111753335B (zh) | 2020-08-28 | 2020-08-28 | 区块内容的编辑方法及装置 |
EP21178959.9A EP3961974B1 (en) | 2020-08-28 | 2021-06-11 | Block content editing methods and apparatuses |
US17/350,569 US20210314164A1 (en) | 2020-08-28 | 2021-06-17 | Block content editing methods and apparatuses |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010889932.1A CN111753335B (zh) | 2020-08-28 | 2020-08-28 | 区块内容的编辑方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753335A CN111753335A (zh) | 2020-10-09 |
CN111753335B true CN111753335B (zh) | 2023-09-01 |
Family
ID=72713319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010889932.1A Active CN111753335B (zh) | 2020-08-28 | 2020-08-28 | 区块内容的编辑方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210314164A1 (zh) |
EP (1) | EP3961974B1 (zh) |
CN (1) | CN111753335B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111934890B (zh) * | 2020-10-13 | 2021-01-26 | 百度在线网络技术(北京)有限公司 | 密钥生成方法、签名和验签方法、装置、设备和介质 |
CN112468302B (zh) * | 2020-10-23 | 2024-05-24 | 湖南天河国云科技有限公司 | 基于可验证多方秘密分享的可编辑区块链 |
CN112070501B (zh) * | 2020-11-10 | 2021-03-02 | 支付宝(杭州)信息技术有限公司 | 一种区块链交易发起、验证方法及系统 |
CN115801794A (zh) * | 2021-09-09 | 2023-03-14 | 华为技术有限公司 | 一种通信方法及装置 |
CN114338673A (zh) * | 2021-12-30 | 2022-04-12 | 马上消费金融股份有限公司 | 一种交易数据处理方法、装置、设备、系统及存储介质 |
CN114884976B (zh) * | 2022-03-21 | 2024-01-30 | 杭州锘崴信息科技有限公司 | 区块链结构生成方法、区块链结构、电子设备和存储介质 |
CN114417429B (zh) * | 2022-04-02 | 2022-06-07 | 湖南宸瀚科技有限公司 | 一种基于环式验证的可编辑区块链系统 |
CN115296843B (zh) * | 2022-06-29 | 2024-04-16 | 蚂蚁区块链科技(上海)有限公司 | 区块链系统中的交易执行方法、第一节点和第二节点 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108830602A (zh) * | 2018-06-27 | 2018-11-16 | 电子科技大学 | 一种基于变色龙哈希函数的许可链构造及管控方法 |
CN111526009A (zh) * | 2020-04-09 | 2020-08-11 | 西南交通大学 | 一种适用于联盟链的前向安全可编辑区块链构造方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9967088B2 (en) * | 2016-05-23 | 2018-05-08 | Accenture Global Solutions Limited | Rewritable blockchain |
US10380685B1 (en) * | 2018-05-18 | 2019-08-13 | Capital One Services, Llc | Secure system |
CN111899102A (zh) * | 2018-11-30 | 2020-11-06 | 创新先进技术有限公司 | 区块链中实现隐私保护的方法 |
-
2020
- 2020-08-28 CN CN202010889932.1A patent/CN111753335B/zh active Active
-
2021
- 2021-06-11 EP EP21178959.9A patent/EP3961974B1/en active Active
- 2021-06-17 US US17/350,569 patent/US20210314164A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108830602A (zh) * | 2018-06-27 | 2018-11-16 | 电子科技大学 | 一种基于变色龙哈希函数的许可链构造及管控方法 |
CN111526009A (zh) * | 2020-04-09 | 2020-08-11 | 西南交通大学 | 一种适用于联盟链的前向安全可编辑区块链构造方法 |
Non-Patent Citations (1)
Title |
---|
可更改区块链技术研究;李佩丽等;《密码学报》;20181031;第5卷(第5期);第501-508页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3961974B1 (en) | 2023-05-24 |
US20210314164A1 (en) | 2021-10-07 |
EP3961974A1 (en) | 2022-03-02 |
CN111753335A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753335B (zh) | 区块内容的编辑方法及装置 | |
CN110245506B (zh) | 基于区块链的智能合约管理方法及装置、电子设备 | |
US11048825B2 (en) | Managing a smart contract on a blockchain | |
CN111475849B (zh) | 基于区块链账户的隐私数据查询方法及装置 | |
US11251963B2 (en) | Blockchain-based data authorization method and apparatus | |
US11310051B2 (en) | Blockchain-based data authorization method and apparatus | |
CN110766550B (zh) | 基于区块链的资产查询方法及装置、电子设备 | |
CN110580413B (zh) | 基于链下授权的隐私数据查询方法及装置 | |
CN110032884B (zh) | 区块链中实现隐私保护的方法及节点、存储介质 | |
CN111523110B (zh) | 基于链代码的权限查询配置方法及装置 | |
CN111539731A (zh) | 基于区块链的联邦学习方法及装置和电子设备 | |
CN111475829A (zh) | 基于区块链账户的隐私数据查询方法及装置 | |
CN110580262A (zh) | 基于智能合约的隐私数据查询方法及装置 | |
CN111475850B (zh) | 基于智能合约的隐私数据查询方法及装置 | |
CN110580245B (zh) | 隐私数据的共享方法及装置 | |
CN110992027A (zh) | 在区块链中实现隐私保护的高效交易方法及装置 | |
CN111047443B (zh) | 用户评分方法及装置、电子设备、计算机可读存储介质 | |
CN110264192B (zh) | 基于交易类型的收据存储方法和节点 | |
CN110245947B (zh) | 结合交易与用户类型的条件限制的收据存储方法和节点 | |
US11861612B2 (en) | Blockchain-based offline resource transfer method and apparatus | |
EP3961453B1 (en) | Method and apparatus for invoking smart contract, electronic device, and storage medium | |
CN110580411A (zh) | 基于智能合约的权限查询配置方法及装置 | |
CN114866409B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40039063 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |