CN110245947A - The receipt storage method and node limited in conjunction with the condition of transaction and user type - Google Patents

The receipt storage method and node limited in conjunction with the condition of transaction and user type Download PDF

Info

Publication number
CN110245947A
CN110245947A CN201910420680.5A CN201910420680A CN110245947A CN 110245947 A CN110245947 A CN 110245947A CN 201910420680 A CN201910420680 A CN 201910420680A CN 110245947 A CN110245947 A CN 110245947A
Authority
CN
China
Prior art keywords
transaction
block chain
receipt
type
field
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.)
Granted
Application number
CN201910420680.5A
Other languages
Chinese (zh)
Other versions
CN110245947B (en
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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910420680.5A priority Critical patent/CN110245947B/en
Publication of CN110245947A publication Critical patent/CN110245947A/en
Priority to PCT/CN2020/089384 priority patent/WO2020233423A1/en
Priority to PCT/CN2020/089382 priority patent/WO2020233422A1/en
Priority to PCT/CN2020/089386 priority patent/WO2020233425A1/en
Priority to PCT/CN2020/091400 priority patent/WO2020233626A1/en
Application granted granted Critical
Publication of CN110245947B publication Critical patent/CN110245947B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

This specification one or more embodiment provides the receipt storage method and node of a kind of combination transaction and the condition limitation of user type, and this method may include: that the first block chain node receives the transaction for passing through encryption;First block chain node decrypts the transaction in credible performing environment and executes the transaction content of acquisition, obtains receipt data;First block chain node determines the exposure field in the receipt data according to the type of transaction of the transaction;First block chain node stores the receipt data, when the initiator that trades belongs to pre-set user type, meets the exposure field of preset condition in the receipt data and is stored with plaintext version storage, remaining receipt field with ciphertext form.

Description

The receipt storage method and node limited in conjunction with the condition of transaction and user type
Technical field
This specification one or more embodiment is related to block chain technical field more particularly to a kind of combination transaction and user The receipt storage method and node of the condition limitation of type.
Background technique
Block chain technology constructs on transmission network (such as point to point network).Network node in transmission network utilizes Linked data structure is verified and storing data, and knows together algorithm using distributed node to generate and more new data.
Technically maximum two challenges are exactly privacy and performance to the block platform chain of enterprise-level at present, and often the two are chosen War is difficult to solve simultaneously.Most solutions are all to exchange privacy for by losing performance, or less consider that privacy goes the property pursued Energy.The encryption technology of common solution privacy concern, as homomorphic cryptography (Homomorphic encryption) and Zero Knowledge are demonstrate,proved Complexities such as bright (Zero-knowledge proof) are high, poor universality, but also may bring serious performance loss.
Credible performing environment (Trusted Execution Environment, TEE) is another solution privacy concern Mode.TEE can play the role of the black box in hardware, and the code and data operating system layer executed in TEE can not all be peeped, Interface predetermined can just operate on it only in code.In terms of efficiency, due to the black box property of TEE, in TEE Carry out operation is clear data, rather than the complicated cryptography arithmetic in homomorphic cryptography, calculating process efficiency are not lost, because This combines safety and the privacy that block chain can be largely promoted under the premise of performance loss is lesser with TEE. Industry very pays close attention to the scheme of TEE at present, and the chip and software league of nearly all mainstream have the TEE solution party of oneself Case, TPM's (Trusted Platform Module, reliable platform module) and hardware aspect including software aspects Intel SGX (Software Guard Extensions, software protection extension), ARM Trustzone (trusted domain) and AMD PSP (Platform Security Processor, platform safety processor).
Summary of the invention
In view of this, this specification one or more embodiment provides the condition limitation of a kind of combination transaction and user type Receipt storage method and node.
To achieve the above object, it is as follows to provide technical solution for this specification one or more embodiment:
According to this specification one or more embodiment in a first aspect, proposing a kind of combination transaction and user type The receipt storage method of condition limitation, comprising:
First block chain node receives the transaction by encryption;
First block chain node decrypts the transaction in credible performing environment and executes the transaction content of acquisition, is received According to data;
First block chain node determines the exposure field in the receipt data according to the type of transaction of the transaction;
First block chain node stores the receipt data, when the initiator that trades belongs to pre-set user type, the receipts It is stored according to the exposure field for meeting preset condition in data with plaintext version storage, remaining receipt field with ciphertext form.
According to the second aspect of this specification one or more embodiment, a kind of combination transaction and user type are proposed The receipt memory node of condition limitation, comprising:
Receiving unit receives the transaction by encryption;
Decryption unit decrypts the transaction in credible performing environment, obtains transaction content;
Execution unit executes the transaction content in the credible execution and environment, obtains receipt data;
Determination unit determines the exposure field in the receipt data according to the type of transaction of the transaction;
Storage unit stores the receipt data, when the initiator that trades belongs to pre-set user type, the receipt data The middle exposure field for meeting preset condition is stored with plaintext version, remaining receipt field is stored with ciphertext form.
According to the third aspect of this specification one or more embodiment, a kind of electronic equipment is proposed, comprising:
Processor;
Memory for storage processor executable instruction;
Wherein, the processor is by running the executable instruction to realize method as described in relation to the first aspect.
According to the fourth aspect of this specification one or more embodiment, a kind of computer readable storage medium is proposed, The step of being stored thereon with computer instruction, method as described in relation to the first aspect realized when which is executed by processor.
Detailed description of the invention
Fig. 1 is a kind of schematic diagram that secret protection is realized on block chain node that an exemplary embodiment provides.
Fig. 2 is the flow chart that the method for secret protection is realized in a kind of block chain of exemplary embodiment offer.
Fig. 3 is a kind of schematic diagram for creation intelligence contract that an exemplary embodiment provides.
Fig. 4 is a kind of schematic diagram for calling intelligence contract that an exemplary embodiment provides.
Fig. 5 is a kind of function that block chain network is realized by system contract and chain code that an exemplary embodiment provides The schematic diagram of logic.
Fig. 6 is the block diagram that the device of secret protection is realized in a kind of block chain of exemplary embodiment offer.
Specific embodiment
Example embodiments are described in detail here, and the example is illustrated in the accompanying drawings.Following description is related to When attached drawing, unless otherwise indicated, the same numbers in different drawings indicate the same or similar elements.Following exemplary embodiment Described in embodiment do not represent all embodiments consistent with this specification one or more embodiment.Phase Instead, they are only some aspects phases with the one or more embodiments of as detailed in the attached claim, this specification The example of consistent device and method.
It should be understood that the sequence that might not show and describe according to this specification in other embodiments executes The step of correlation method.In some other embodiments, step included by method can than described in this specification more It is more or less.In addition, single step described in this specification, may be broken down into other embodiments multiple steps into Row description;And multiple steps described in this specification, it may also be merged into single step progress in other embodiments Description.
Block chain is normally divided into three types: publicly-owned chain (Public Blockchain), privately owned chain (Private ) and alliance's chain (Consortium Blockchain) Blockchain.In addition, there are also a plurality of types of combinations, such as privately owned chain The different combinations such as+alliance chain, alliance's chain+publicly-owned chain.It is publicly-owned chain that wherein decentralization degree is highest.Publicly-owned chain with than Special coin, ether mill are representative, and the participant that publicly-owned chain is added can read data record on chain, participate in business and compete newly Book keeping operation power of block etc..Moreover, each participant's (i.e. node) freely can be added and exit network, and carry out relevant operation.It is private There is chain then on the contrary, the write-in permission of the network is by some tissue or mechanism controls, reading data permission is by organization prescribed.Simply For, privately owned chain can be weak center's system, and participating in node has stringent limitation and less.Such block chain is more It is suitable for using inside particular organization.Alliance's chain is then block chain between publicly-owned chain and privately owned chain, it can be achieved that " part Decentralization ".Each node usually has corresponding physical mechanism or tissue in alliance's chain;Participant is added by authorization Enter network and composition interests correlation alliance, it is common to safeguard the operation of block chain.
Whether publicly-owned chain, privately owned chain or alliance's chain, the node in block chain network is after executing the transaction received, meeting Corresponding receipt (receipt) data are generated, for recording the relevant receipt information of the transaction.By taking ether mill as an example, node Executing resulting receipt data of trading may include following content:
Result field indicates the implementing result of transaction;
Gas used field indicates the gas value of transaction consumption;
Logs field indicates that the log that transaction generates, log may further include From field, To field, Topic word Section and Log data field etc., wherein From field indicates that the account address of the initiator called, To field indicate called pair As the account address of (such as intelligent contract), Topic field indicate that the theme of log, Log data field indicate daily record data;
Output field indicates the output of transaction.
For node when executing each transaction contained by a certain block, each transaction can all generate corresponding receipt after being performed Data, and node can organize each corresponding receipts of trading contained by the block according to predefined tree and processing logic According to data, a receipt tree is formed.Receipt tree is generated by tissue, so that when being inquired or being verified for receipt data, Corresponding inquiry or verification efficiency can greatly be promoted.For example, using MPT (Merkle Patricia Tree) in ether mill Structure organization generates above-mentioned receipt tree, and the leaf of the receipt tree is the Kazakhstan of each corresponding receipt data of trading contained by the block Uncommon value, and receipt tree root (receiptRoot) is to be breathed out according to the root that the cryptographic Hash of the receipt data of leaf generates upwards in turn It is uncommon.Certainly, other kinds of tree can also be used in other block chain networks.
In general, the receipt data that transaction generates after executing is stored with plaintext version, anyone is it can be seen that receive According to the content of above-mentioned each receipt field contained by data, the setting and ability of no secret protection.And in some block chains and TEE In the solution that (Trusted Execution Environment, credible performing environment) combines, for secret protection Purpose needs to store receipt data with ciphertext form.
Such as shown in Fig. 1, the first block chain node includes the conventional environment (being located at left side in figure) and TEE in left side, client The transaction that end (or other sources) is submitted initially enters " transaction/query interface " in conventional environment, then extremely by transaction transport It is handled in TEE.TEE is mutually isolated with conventional environment.For example, the transaction needs to be passed to TEE when transaction is encrypted The transaction content for plaintext is inside decrypted, thus under the premise of ensuring data safety, enables the transaction content of the plaintext Efficient process is enough realized in TEE, and the receipt data of plaintext is generated in TEE.
TEE is the security extension based on CPU hardware, and the credible performing environment completely isolated with outside.TEE be earliest by The concept that Global Platform is proposed, for solving the security isolation of resource in mobile device, being parallel to operating system is to answer Credible and secure performing environment is provided with program.The Trust Zone technology of ARM realizes the TEE technology of real commercialization earliest. Along with the high speed development of internet, safe demand is higher and higher, is not limited only to mobile device, cloud device, data center More demands all are proposed to TEE.The concept of TEE has also obtained the development and expansion of high speed.Now described TEE compare with The concept initially proposed has been the TEE of more broad sense.For example, server chips manufacturer Intel, AMD etc. are successively proposed The TEE of hardware auxiliary and the concept and characteristic for enriching TEE, have been widely recognized in industry.The TEE lifted now is logical Often more refer to the TEE technology of this kind of hardware auxiliary.Different from mobile terminal, cloud access needs to remotely access, and terminal user is to hard Part platform is invisible, therefore seeks to the genuine and believable of confirmation TEE using the first step of TEE.Therefore present TEE technology is all drawn Enter remote proving mechanism, endorsed by hardware vendor (mainly CPU manufacturer) and ensures user to TEE by digital signature technology State can verify that.It is simultaneously only the demand for security that the resource isolation of safety is also unable to satisfy, further data-privacy protection Also it is suggested.Including Intel SGX, the commercial TEE including AMD SEV also both provides memory encryption technology, by reliable hardware It is limited to inside CPU, the data of bus and memory are that ciphertext prevents malicious user from being spied upon.For example, the software of Intel Protection extends code execution, remote proving, security configuration, the secure storage of data such as (SGX) TEE technology insulation and is used for Execute the trusted path of code.The application program run in TEE is kept safe, as a consequence it is hardly possible to be accessed by third party.
By taking Intel SGX technology as an example, SGX provides enclosure (enclave, also referred to as enclave), i.e., one adds in memory Close credible execution region, protects data not to be stolen by CPU.By taking the first block chain node is using the CPU for supporting SGX as an example, Using newly-increased processor instruction, a part of region EPC (Enclave Page Cache, enclosure page can be distributed in memory Face caching or enclave page cache), by the crypto engine MEE (Memory Encryption Engine) in CPU to wherein Data encrypted.The content encrypted in EPC, which only enters after CPU, can just be decrypted into plain text.Therefore, in SGX, user It can distrust operating system, VMM (Virtual Machine Monitor, monitor of virtual machine), even BIOS (Basic Input Output System, basic input output system), it is only necessary to trust CPU just and can ensure that private data will not leak. It in practical application, is transferred in enclosure after private data being encrypted with ciphertext form, and will be corresponding by remote proving Code key is also passed to enclosure.Then, operation is carried out using data under the encipherment protection of CPU, as a result can be returned with ciphertext form.This Under kind mode, powerful calculating power not only can use, but also do not have to concern of data and leak.
In the related art, the full content of the receipt data generated in TEE is taken as the data for needing secret protection It is stored on block chain.The block chain is stored in data acquisition system made of certain logic tissue in the database of node.Institute Database is stated, as described later, physical support can store medium, such as persistent storage medium.In fact, for inhomogeneity It is not identical for the secret protection demand of receipt data for the transaction of type.It focuses on initiating transaction for example, depositing card transaction The identity of side carries out secret protection, and money transfer transactions are focused on carrying out secret protection to the identity for the both sides that transfer accounts, with intelligent contract phase The transaction of pass is focused on carrying out secret protection etc. to the identity of transaction initiator.Meanwhile being related in the transaction of same type When field contents difference, also tend to that there is some difference for the demand of secret protection.
Below in conjunction with the receipt storage method for illustrating that the application one combines the condition of transaction and user type to limit shown in Fig. 2 Embodiment realization process:
Step 202, the first block chain node receives the transaction by encryption.
In one embodiment, user can generate transaction directly on the first block chain node;Alternatively, user can be in visitor Transaction is generated on the end of family, and the transaction is sent to by the first block chain node by client;Alternatively, client can will be above-mentioned Transaction is sent to the second block chain node, and the transaction is sent to the first block chain node by the second block chain node.
Transaction in this specification can be used to implement relatively simple processing logic, for example be similar in the related technology Card logic, logic of transferring accounts etc. are deposited, i.e. relationship trading is to deposit card transaction, money transfer transactions etc..At this point, above-mentioned transaction can be with intelligent contract It is unrelated.
Transaction in this specification can be also used for realizing relative complex processing logic, here can be by means of above-mentioned Intelligent contract is realized.Intelligent contract on block chain is the contract that can be executed by transaction triggering on block catenary system.Intelligence Energy contract can pass through the formal definition of code.
By taking ether mill as an example, user is supported to create in the network of ether mill and call the logic of some complexity, this is ether Mill is different from the ultimate challenge of bit coin block chain technology.Ether mill is ether mill void as the core of a programmable block chain Quasi- machine (EVM), each ether mill node can run EVM.EVM is the complete virtual machine of figure spirit, it means that can be with The logic of various complexity is realized by it.It is exactly to run on EVM that user, which issues in ether mill and call intelligent contract,.It is real On border, what virtual machine was directly run is virtual machine code (Virtual Machine bytecodes, lower abbreviation " bytecode ").It is deployed on block chain Intelligent contract can be the form of bytecode.
Such as shown in Fig. 3, after a transaction comprising the intelligent contract information of creation is sent ether mill network by Bob, section The EVM of point 1 can execute this and trade and generate corresponding contract example." 0x6f8ae93 ... " in 3 in figure represents this The address of contract, what the data field of transaction saved can be bytecode, and the to field of transaction is sky.Pass through common recognition machine between node After system is reached an agreement, this contract is successfully created, and can be called in the follow-up process.After contract creation, on block chain There is a contract account corresponding with the intelligence contract, and possess a specific address, contract code will be stored in the conjunction About in account.The behavior of intelligent contract is controlled by contract code.In other words, intelligent contract to generate on block chain comprising closing The about virtual account of code and account storage (Storage).
As shown in figure 4, one is used to call the transaction of intelligent contract to be sent to ether mill by Bob still by taking ether mill as an example After network, the EVM of a certain node can execute this and trade and generate corresponding contract example.The from word traded in 2 in figure Section is the address of the account of transaction initiator (i.e. Bob), and " 0x6f8ae93 ... " in field represents called intelligence and close Address about, value field are the value of ether coin, the side of the intelligent contract of the calling that the data field of transaction saves in ether mill Method and parameter.Intelligent contract in a prescribed manner in block chain network each node disjoint execution, all execution record and Data are all stored on block chain, so just saving the transaction that can not be distorted, will not lose on block chain after the completion of transaction Voucher.
As it can be seen that transaction content may include the generation of the intelligent contract of required creation when transaction is for creating intelligent contract Code;When transaction is for calling intelligent contract, transaction content may include the account address of called intelligent contract, need to pass Method and parameter for entering etc..
Step 204, the first block chain node is decrypted in credible performing environment in the transaction traded and execute acquisition Hold, obtains receipt data.
In one embodiment, by encrypting to transaction content, the above-mentioned transaction by encryption can be made to be in privacy guarantor The state of shield, avoids transaction content from exposing.It for example, may the account address comprising transaction initiator, friendship in transaction content The information such as the account address of easy target, may insure these transaction contents by encryption can not be read directly.
In one embodiment, above-mentioned transaction can be encrypted by way of symmetric encipherment algorithm, can also be used non- The mode of symmetry algorithm is encrypted.The Encryption Algorithm that symmetric cryptography uses, e.g. DES algorithm, 3DES algorithm, TDEA are calculated Method, Blowfish algorithm, RC5 algorithm, IDEA algorithm etc..Rivest, shamir, adelman, e.g. RSA, Elgamal, knapsack algorithm, Rabin, D-H, ECC (elliptic curve encryption algorithm) etc..
In one embodiment, above-mentioned transaction can be carried out by way of symmetric encipherment algorithm combination rivest, shamir, adelman Encryption.By taking above-mentioned transaction is committed to the first block chain node by client as an example, client can be added using symmetric encipherment algorithm Close transaction content encrypts transaction content using the key of symmetric encipherment algorithm, and is added with rivest, shamir, adelman cryptographic symmetrical The key used in close algorithm, for example using the key used in the public key encryption symmetric encipherment algorithm of rivest, shamir, adelman. In this way, can be first decrypted using the private key of rivest, shamir, adelman after the first block chain node receives the transaction of encryption, The key of symmetric encipherment algorithm is obtained, and then decrypts to obtain transaction content with the key of symmetric encipherment algorithm.
When transaction is for calling intelligent contract, the calling of multinest structure can be.For example, transaction calls directly intelligence Can and about 1, and the intelligence and about 1 code have invoked intelligence and about 2, and the code in intelligence and about 2 be directed toward it is intelligent with about 3 Contract address so that transaction actually have invoked indirectly intelligence and about 3 codes.Specific implementation process and above process class Seemingly, details are not described herein.
As previously mentioned, the first received transaction of block chain node, such as can be creation and/or call the friendship of intelligent contract Easily.Such as in ether mill, the first block chain node receives the creation that client is sent and/or calls the transaction of intelligent contract Afterwards, can check transaction whether effectively, format it is whether correct, whether the signature for verifying transaction legal etc..
In general, the node in ether mill is typically also the node of contention book keeping operation power, and therefore, the first block chain node is made Node for contention book keeping operation power can be performed locally the transaction.If one in the node of contention book keeping operation power is striven in epicycle It wins during taking book keeping operation power by force, then becomes accounting nodes.If the first block chain node is in the process of epicycle contention book keeping operation power In win, just become accounting nodes;Certainly, if if the first block chain node does not have during epicycle contention is kept accounts and weighed It wins, is not then accounting nodes, and other nodes are likely to become accounting nodes.
Intelligent contract is similar to the class in Object-Oriented Programming, and the contract that the result of execution generates the corresponding intelligence contract is real Example is similar to and generates the corresponding object of class.It executes in transaction for creating the process of the code of intelligent contract, will create contract account Family, and contract is disposed in account space.In ether mill, the address of intelligent contract account is address (such as Fig. 3-4 by sender In " 0xf5e ... ") and transaction random number (nonce) as input, pass through what Encryption Algorithm generated, such as the conjunction in Fig. 3-4 About address " 0x6f8ae93 ... " is generated by the encrypted algorithm of nonce in the address of sender " 0xf5e ... " and transaction.
In general, proved using proof of work (Proof of Work, POW) and equity (Proof of Stake, POS), equity is appointed to prove the area of support intelligence contract of the common recognition such as (Delegated Proof of Stake, DPOS) algorithm In block chain network, the node of contention book keeping operation power can execute the friendship after receiving the transaction comprising the intelligent contract of creation Easily.Contention book keeping operation power node in may one of them epicycle contention keep accounts weigh during win, become accounting nodes.Note This can be included transaction of intelligent contract by account node and other transaction be packaged together and generate new block, and by the new of generation Block be sent to other nodes and know together.
For using machines such as practical Byzantine failure tolerance (Practical Byzantine Fault Tolerance, PBFT) In the block chain network of the support intelligence contract of system, there is the node of book keeping operation power to have agreed upon before epicycle book keeping operation.Therefore, After one block chain node receives above-mentioned transaction, if itself not being the accounting nodes of epicycle, which can be sent to Accounting nodes.For the accounting nodes (can be the first block chain node) of epicycle, which is being packaged and is generating new block During perhaps before or by the transaction with it is other transaction be packaged together and generate new block during or before, The transaction can be executed.The transaction is packaged (or further including that other transaction are packaged together) and generates new area by the accounting nodes After block, the new block of generation or block head are sent to other nodes and known together.
As described above, in block chain network using the support intelligence contract of POW mechanism, or using POS, DPOS, In the block chain network of the support intelligence contract of PBFT mechanism, which can be packaged and generate new by the accounting nodes of epicycle Block, and the new block back zone build of generation is sent to other nodes and is known together.If other nodes receive institute It states after block that there is no problem through verifying, which can be appended to original block chain end, to complete to keep accounts Journey is reached common understanding;If transaction completes deployment of the intelligent contract in block chain network, if handing over for creating intelligent contract It is easy for calling intelligent contract, then completes the calling and execution of intelligent contract.Other node verification accounting nodes are sent new Block or block head during, the transaction in the block can also be executed.
As described above, by executing the transaction content after decrypting in TEE, it can be ensured that implementation procedure is in trusted context Interior completion, to ensure that privacy information will not leak.It is used to create intelligent conjunction there are the transaction of privacy process demand when above-mentioned It include the code of intelligent contract when about, in the transaction, the first block chain node can be decrypted to obtain in TEE to the transaction The code of its contained intelligent contract, and the code is executed in TEE in turn.When the above-mentioned transaction there are privacy process demand is used for When calling intelligent contract, the first block chain node can execute the code (if called intelligent contract processing encryption in TEE State then needs that first the intelligence contract is decrypted in TEE, to obtain corresponding code).Specifically, the first block chain Node can use the processor instruction increased newly in CPU, distributes a part of region EPC in memory, is drawn by the encryption in CPU MEE is held up to carry out in the encryption deposit EPC above-mentioned plaintext code.The content encrypted in EPC enter after CPU be decrypted into it is bright Text.In CPU, operation is carried out to the code of plaintext, completes implementation procedure.For example, executing intelligent contract in SGX technology Plaintext code can load EVM into enclosure.During remote proving, Key Management server can calculate local EVM The hash value of code, and compared with the hash value of the EVM code loaded in the first block chain node, comparison result is correctly as logical A necessary condition of remote proving is crossed, to complete the measurement of the code loaded to the first block chain node SGX enclosure.By Measurement, correct EVM can execute the code of above-mentioned intelligent contract in SGX.
Step 206, the first block chain node determines the exposure in the receipt data according to the type of transaction of the transaction Field.
In one embodiment, transaction may include type field (such as the type field), and the value of the type field is for marking Bright corresponding type of transaction.Therefore, by the value of the contained type field of reading transaction, type of transaction can be determined, such as Card type, assets transfer is deposited (such as to transfer accounts) type, contract creation type, contract call type, this specification not to this into Row limitation.
In one embodiment, different types of transaction can be respectively present corresponding exposed field.Exposure field is receipt The one or more fields specified in data can combine under the premise of receipt data needs ciphertext to store to protect privacy It is corresponding will selectively to expose field to the situation that meets of preset condition for user type belonging to initiator of trading and exposure field Receipt contents stored with plaintext version, so as to it is subsequent for the plaintext version storage receipt contents implement retrieval etc. behaviour Make.
In one embodiment, the mapping relations between each type of transaction and exposure field can be pre-defined, and should Mapping relations are recorded in block chain, so that the available predefined mapping relations of the first block chain node, and further According to the type of transaction of above-mentioned transaction and the mapping relations, the exposure field in receipt data is determined.For example, it is corresponding to deposit card type Exposure field may include all fields except above-mentioned From field, the corresponding exposed field of assets transfer type can wrap Include above-mentioned To field, contract creation type and the corresponding exposed field of contract call type may include above-mentioned From field it Outer all fields, and the case where for other type of transaction, it no longer repeats one by one herein.
Wherein, above-mentioned mapping relations specifically can recorde in system contract.The mapping relations can also be recorded in In the chain code of block chain network.By the way that mapping relations are recorded in system contract, convenient for it is subsequent for the mapping relations into Row updates upgrading;It is subsequent to be described for the difference of the two, it wouldn't repeat herein.
Step 208, the first block chain node stores the receipt data, and when transaction, initiator belongs to pre-set user type When, the exposure field of preset condition is met in the receipt data with plaintext version storage, remaining receipt field with ciphertext form Storage.
In one embodiment, there are corresponding external accounts on block chain by user, and based on the external account in block Transaction is initiated on chain or executes other operations.For example, when user initiates a transaction on block chain, indeed through this The corresponding external account of user initiates this transaction, thus the corresponding transaction initiator of the transaction may be considered the user, It may be considered the corresponding external account of the user.
In one embodiment, there are multiple types by user.There are corresponding secret protection demands for each user type.It can be with According to the difference of secret protection demand, user is divided into corresponding multiple types;Alternatively, being divided to be formed according to a certain factor first Then a variety of user types configure corresponding secret protection demand for each user type.In short, being protected in user type and privacy Can establish corresponding relationship between shield demand, allow the first block chain node based on transaction initiator user type, It determines the need for implementing stored in clear for the corresponding log of special event function.
In one embodiment, it trades user type belonging to initiator, i.e., user type belonging to corresponding external account. Therefore, the first block chain node can determine the corresponding external account of transaction initiator, and by recording on inquiry block chain The corresponding user type of external account, using as transaction initiator belonging to user type.User corresponding for external account Type can be recorded on block chain by diversified forms:
For example, external account may include the user type field (such as UserType field) being recorded on block chain, it should The value of user type field corresponds to user type.For example, user type is general when the value of user type field is 00 General family, when the value of user type field is 01, user type is advanced level user, when the value of user type field is 11 When, user type is management user etc..Therefore, the first block chain node can pass through the user class of the above-mentioned external account of reading Type-word section can determine corresponding user type based on value.
For another example user type, which can be configured as, to be associated with to the external account when creating above-mentioned external account, and And the incidence relation between user type and external account can be recorded in block chain, for example the incidence relation may include The account address of user type and external account.In this embodiment, the data structure of external account does not need to change, i.e., outer Portion's account is without including above-mentioned user type field.Therefore, the first block chain node can be recorded on block chain by reading Incidence relation determine the corresponding user type of the external account and based on the corresponding external account of transaction initiator.Wherein, Incidence relation between user type and external account can be recorded in system contract or chain code, especially when external account When family is the prearranged account of block chain network, during creating system contract or writing chain code, you can learn that outside this Corresponding incidence relation is simultaneously added in system contract or chain code by account;Alternatively, when external account is not prearranged account, It can be in subsequent creation external account, by being updated to system contract or chain code, by the corresponding pass of the external account Connection relationship is added in system contract or chain code.
In one embodiment, it can modify under certain condition to the user type of external account.For example, management is used Family can have modification claim, allow the first block chain node according to management Client-initiated change request, change above-mentioned The corresponding user type of external account.Management user can correspond to external account preset, with administration authority in wound generation block Family allows management user to carry out Type Change to other ordinary users, advanced level user etc., for example ordinary user is changed Ordinary user etc. is changed to for advanced level user, by advanced level user.
It, can be according to different types of transaction by being identified to type of transaction under the premise of protecting privacy of user For the differentiated demand of secret protection, the exposure field for allowing stored in clear is determined;Further, different types of user It is not identical for the demand of secret protection, for example when the initiator that trades belongs to pre-set user type, allow to pass through exposed portion Receipt contents are divided to implement relevant subsequent operation to trigger DAPP client etc., to promote convenient degree, and other kinds of user can It can not allow to expose privacy information;Further, for even for the transaction initiator of pre-set user type, still not With the secret protection demand of having differences under scene, situation can be met to preset condition according to exposure field, stored The differentiated demand to secret protection and processing are embodied in the process, such as: by by the exposure field in receipt data and in advance If condition is compared, the exposure field for meeting preset condition can be stored with plaintext version, and be unsatisfactory for preset condition Exposure field or other receipt fields are then necessarily stored with ciphertext form.
The content of preset condition may include at least one of: include preset content in corresponding receipt field, corresponding The value of receipt field belong to default value section etc..
Preset content may include: specified one or more keywords, for example the keyword may include predefined State variable, predefined event functions, information for indicating transaction implementing result etc., so that when a certain exposed field includes When as the state variable of keyword, event functions or transaction implementing result, it is possible to determine that the exposure field meets preset condition. By taking implementing result of trading as an example, transaction implementing result may include: that " success " expression is traded successfully, and " fail " indicates transaction Failure;Under the premise of the initiator that trades belongs to pre-set user type, when keyword is " success ", include " success " Exposure field will be stored using plaintext version, and include that the exposure field of " fail " and other kinds of receipt field do not allow It is stored using plaintext version, it is ensured that successfully transaction can just be viewed and triggering following operates.
Preset content may include: preset value.For example the preset value can be numerical value, which can take with state variable Value etc. is compared, to determine whether the value of state variable meets expection;For another example the preset value can for numerical value, letter, The character string of the compositions such as additional character, the character string can with the transaction account address of initiator, transacting targeted side account address, The content etc. of event functions is compared, to identify specific transaction initiator, specific transacting targeted side or specific thing Part function etc..By taking preset content is character string as an example, it is assumed that the character string is the account address of transacting targeted side, is initiated in transaction Under the premise of side belongs to pre-set user type, family can be used to initiate transaction and type of transaction pair for specific transacting targeted side When the exposure field answered includes To field, To field is stored using plaintext version, and initiates to hand over for other transacting targeted sides Yi Shi, To field do not allow to store using plaintext version, avoid leakage privacy.
Default value section may indicate that the secret protection conditions of demand of relevant receipts field, such as in scene of transferring accounts, It default value section can be for numerical value be smaller, the lower numerical intervals of secret protection demand, even if so that open relevant receipts word Section will not cause serious privacy of user to reveal, but can be used for the relevant operation of automatic trigger such as DAPP client, thus Certain balance is obtained between secret protection and convenience.Therefore, under the premise of the initiator that trades belongs to pre-set user type, When the value of exposure field is in the default value section, which can be stored with plaintext version.
In one embodiment, preset condition may include the corresponding general conditions of all receipt fields in receipt data, When any receipt field i.e. in receipt data is identified as exposing field, it be used to be compared with the preset condition.Example It such as, can be by all exposed fields and the preset condition in receipt data when preset condition is " including predetermined keyword " Contained keyword is compared, to determine the exposure field comprising the keyword, as meeting the sudden and violent of above-mentioned preset condition Reveal field.
In one embodiment, preset condition may include the corresponding dedicated item of each receipt field in receipt data Part, i.e., each receipt field in receipt data are respectively present corresponding preset condition, so that each exposed field determined It is used to be compared with corresponding preset condition.It is mutually indepedent between the corresponding preset condition of different receipt fields, but may It is identical, it is also possible to different.For example, whether From field and the corresponding preset condition of To field can be " including preset content ", And the preset content can be preset account address, show the friendship initiated by account address or initiated for account address Easily, allow to store From field or To field with plaintext version (can transaction initiator belong to pre-set user type and It when From field or To field belong to exposed field, is stored with plaintext version).For another example the corresponding preset condition of Topic field It can be " whether belonging to default value interval ", and can recorde taking for the state variable that dependent event is quoted in Topic field It is worth, may include the state variable for representing " transfer amounts " under scene of for example transferring accounts, shows that transfer amounts are in default value area Between (typically smaller the amount of money corresponding small amount numerical intervals) when, allowing (can with plaintext version storage by the transfer amounts Stored with plaintext version when the initiator that trades belongs to pre-set user type and Topic field belongs to exposed field).
In one embodiment, preset condition can be located in transaction so that it is different trade used by preset condition can be with It has differences, to meet the demand difference that different exchanges face;Certainly, different transaction can also use identical default item Part.The difference of preset condition can show themselves in that the applicable receipt field of the content of preset condition, preset condition, to exposure field Whether the difference of at least one dimension in processing logic that preset condition judged is met.
In one embodiment, preset condition can be located in the intelligent contract that transaction is called or preset condition can position In another intelligent contract that the intelligent contract that transaction is called is called, so that transaction can be closed by choosing called intelligence About, to determine whether using corresponding preset condition.Intelligent contract can be preparatory by transaction initiator itself or any other user Creation;Certainly, if intelligent contract needs to make when the Call Condition is satisfied there are corresponding Call Condition It obtains above-mentioned transaction and calls the intelligence contract, for example the Call Condition may include: that transaction initiator belongs to default white list, transaction Initiator is not belonging to default blacklist or other conditions.
In one embodiment, preset condition can be located in system contract or chain code, so that the preset condition is applicable In the global conditions of the All Activity on block chain, and it is different from preset condition contained by above-mentioned transaction or intelligent contract, made Even if system contract or chain generation can be based in the case that the intelligent contract for obtaining calling of trading or trade does not include preset condition Preset condition defined in code, and the user type of transaction initiator is combined, determine the storage mode of receipt field.
It is and pre- contained by chain code or system contract it is noted that preset condition contained by transaction or intelligent contract If not contradiction between condition: the two can separately include the preset condition of different dimensions, such as the receipt that preset condition is applicable Field is different;Alternatively, can be defaulted as preferentially when there is conflict between the preset condition that the two includes using transaction or intelligence Preset condition contained by contract, or preferentially using preset condition contained by chain code or system contract, this depends on predefined Selection logic.
By program code (the hereinafter referred to as chain generation for running block chain on calculating equipment (physical machine or virtual machine) Code), it can be the block chain node in block chain network, such as the first above-mentioned block chain node by the calculating device configuration Deng.In other words, the first block chain node is by running above-mentioned chain code, to realize corresponding function logic.Therefore, Ke Yi When creating block chain network, receipt data relevant to user type, type of transaction and preset condition described above is stored Logic is written in chain code, so that receipt data storage logic may be implemented in each block chain node.
Receipt data storage logic relevant to user type, type of transaction and preset condition may include: to user class The recognition logic of type, to the recognition logic of type of transaction, the confirmation logic to exposure field, the determination logic to preset condition, To the processing logic etc. of exposure field.
First block chain node is used to indicate to the recognition logic of user type: the user type of identification transaction initiator. Such as: the incidence relation or system that can recorde between predefined external account and user type in system contract close It can recorde the corresponding relationship between the value and user type of user's type field in about.It can specifically refer to and above know The associated description of other user type, details are not described herein again.
First block chain node is used to indicate to the recognition logic of type of transaction: the transaction that identification transaction initiator is initiated Type.Such as: according to the value of the contained type field of transaction, determine the corresponding type of transaction of the transaction.Can specifically it join The associated description for above identifying type of transaction is examined, details are not described herein again.
First block chain node is used to indicate to the confirmation logic of exposure field: corresponding exposure is determined according to type of transaction Field.Such as: according to the type of transaction recorded in chain code or system contract or block and the mapping relations between field are exposed, In conjunction with the current type of transaction for initiating transaction, corresponding exposure field is determined.It can specifically refer to and above know type of transaction The associated description of corresponding exposed field, details are not described herein again.
First block chain node is used to indicate to the determination logic of preset condition: obtaining the applicable default item of exposure field Part.Such as: the general conditions for being suitable for all receipt fields are obtained, or obtain the conditions of particular application etc. for being suitable for exposure field. Specifically can be with reference to the associated description of above preset condition, details are not described herein again.
First block chain node is used to indicate to the processing logic of exposure field: according to exposure field to corresponding default item Part meets situation, stores to the corresponding receipt contents of exposure field.Such as: the exposure field of preset condition will be met It is stored, and other receipt contents in the exposure field for not meeting preset condition, receipt data is used close using plaintext version Literary form storage.Specifically can be with reference to the associated description for above storing receipt data, details are not described herein again.
However, the upgrading update of chain code is relatively difficult, so that realizing the storage to receipt data using chain code There is a problem of that flexibility is low, scalability is insufficient.In order to realize the Function Extension to chain code, as shown in figure 5, can use The mode that chain code is combined with system contract: chain code for realizing block chain network basic function, and in operational process Function Extension can be realized by way of system contract.Similar with above-mentioned intelligent contract, system contract includes example Such as the code of bytecode form, the first block chain node can be by the code of operating system contract (for example, according to unique corresponding Address " 0x53a98 ... " read the code in the system contract), realize and the function of chain code supplemented.Correspondingly, first Block chain node can read the code of system contract, define in the code of the system contract and user type, type of transaction Receipt data relevant with preset condition stores logic;Then, the first block chain node can execute the code of system contract, from And logic is stored based on receipt data relevant to type of transaction and preset condition, in transaction, initiator belongs to pre-set user type In the case where, the exposure field for meeting preset condition is stored with plaintext version, remaining content of receipt data is with ciphertext form Storage.
It is different from the above-mentioned intelligent contract that block chain is distributed to by user, system contract can not freely be issued by user.The The system contract that one block chain node is read may include the preset system contract being configured in the wound generation block of block chain network;With And the administrator (i.e. above-mentioned management user) in block chain network can have the renewal authority for system contract, thus It is updated for such as above-mentioned preset system contract, then the system contract that above-mentioned first block chain node is read can also wrap Include system contract after updating accordingly.Certainly, system contract can be implemented once preset system contract by administrator after update It is obtained after update;Alternatively, system contract obtains after can implementing successive ignition update to preset system contract by administrator after updating Arrive, for example, by preset system contract update to obtain system and about 1, to system and about 1 update the system that obtains and about 2, system is closed About 2 updates obtain system and about 3, and the system and about 1, system and about 2, system and about 3 can be considered as system contract after update, But the first block chain node would generally be subject to the system contract of latest edition, for example the first block chain node can be with system contract Subject to code in 3, and the code in nonsystematic and about 1 or system and about 2.
Other than the preset system contract for including in wound generation block, administrator can also close delivery system in subsequent block About, and for the system contract issued it is updated.In short, should be closed by modes such as rights managements to system Publication about and update and implement a degree of limitation, with ensure block chain network function logic can normal operation, and It avoids causing unnecessary loss to any user.
First block chain node passes through non-exposed field and no special event functions in key pair special event function Corresponding receipt contents are encrypted.The encryption can use symmetric cryptography, can also use asymmetric encryption.If the One block chain node symmetric cryptography mode encrypts receipt contents with the symmetric key of symmetric encipherment algorithm, then client (or other hold the object of key) can solve encrypted receipt contents with the symmetric key of the symmetric encipherment algorithm It is close.
In one embodiment, the symmetric key of the first block chain node symmetric encipherment algorithm encrypts receipt contents When, which can be provided previously to the first block chain node by client.So, due to only having client (actually should For the corresponding user of logon account in client) and the first block chain node grasp the symmetric key so that the only client End can decrypt corresponding encrypted receipt contents, avoid unrelated user even criminal to encrypted receipt contents into Row decryption.
For example, client, when initiating to trade to the first block chain node, client can use the first of symmetric encipherment algorithm Beginning key pair transaction content is encrypted, to obtain the transaction;Correspondingly, the first block chain node can be initial by obtaining this Key, for directly or indirectly being encrypted to receipt contents.For example, which can be by client and the first block Chain node is negotiated to obtain in advance, perhaps by Key Management server is sent to client and the first block chain node or by visitor Family end is sent to the first block chain node.When initial key is sent to the first block chain node by client, client can be with After encrypting by the public key of rivest, shamir, adelman to the initial key, encrypted initial key is sent to the firstth area Block chain node, and the first block chain node solves the encrypted initial key by the private key of rivest, shamir, adelman It is close, initial key is obtained, i.e., digital envelope encryption described above, details are not described herein again.
In one embodiment, the first block chain node can encrypt receipt contents using above-mentioned initial key. Difference transaction use initial keys can be identical so that the All Activity that same user is submitted be all made of the initial key into Row encryption, or the initial key that different transaction use can be different, for example client can be generated for each transaction is random One initial key, to promote safety.
In one embodiment, the first block chain node can generate derivative key according to initial key and impact factor, and Receipt contents are encrypted by the derivative key.It is encrypted compared to initial key is directlyed adopt, derivative key can be with Increase degree of randomness, to promote the difficulty being broken, facilitates the safeguard protection for optimizing data.Impact factor can be with transaction phase It closes;For example, impact factor may include trade cryptographic Hash specific bit, such as the first block chain node can by initial key with First 16 (or first 32,16 latter, rear 32 or other positions) of transaction cryptographic Hash are spliced, and to spliced word Symbol string carries out Hash operation, to generate derivative key.
In one embodiment, the first block chain node can also use asymmetric encryption mode, i.e., calculated with asymmetric encryption The public key of method encrypts receipt contents, then correspondingly, client can be decrypted above-mentioned with the private key of the rivest, shamir, adelman Encrypted receipt contents.The key of rivest, shamir, adelman, such as can be and a pair of of public key and private key are generated by client, and Public key is sent to the first block chain node in advance, so that the first block chain node can be by the receipt contents public key encryption.
First block chain node is by running the code for realizing a certain function, to realize the function.Therefore, for needing The function to realize in TEE also needs to execute correlative code.And the code for being executed in TEE, it needs to meet TEE Related specifications and requirement;Accordingly for the rule for realizing the code of a certain function, needed in the related technology in conjunction with TEE Model and requirement re-start written in code, and there is only relatively bigger exploitation amounts, and are easy to produce during rewriting Raw loophole (bug) influences the reliability and stability of function realization.
Therefore, the first block chain node can be by executing store function code, the receipts that will be generated in TEE except TEE According to data (including needing the receipt contents of the plaintext version of stored in clear, and the receipt of the ciphertext form that needs ciphertext to store Content) external memory space to except TEE is stored, allow the store function code to be in the related technology for realizing depositing It stores up the code of function, need to re-start written in code in conjunction with the specification and requirement of TEE, can realize peace for receipt data Complete reliable storage, on the basis of not influencing safe and reliable degree, can not only reduce the exploitation amount of correlative code, and TCB (Trusted Computing Base, trusted computing base) can be reduced by reducing the correlative code of TEE, so that TEE During technology and block chain technology are combined, it is additional caused by security risk be in controlled range.
In one embodiment, the first block chain node can execute write buffer function code in TEE, by above-mentioned receipts It is stored in the write buffer in TEE according to data, for example the write buffer can correspond to " caching " as shown in Figure 1.Further, One block chain node exports the data in write buffer from credible performing environment, to store to external memory space.Wherein, it writes slow Depositing function code can be stored in TEE with plaintext version, and the caching function generation of the plaintext version can be directly executed in TEE Code;Or, write buffer function code can be stored in except TEE with ciphertext form, for example it is stored in above-mentioned external memory space (such as " packing+storage " shown in Fig. 4, wherein " packing " indicates the first block chain node except credible performing environment to friendship Easily be packaged blocking), the write buffer function code of the ciphertext form can be read in TEE, be decrypted in TEE as in plain text Code, and execute the plaintext code.
Write buffer refers to when writing data into external memory space, in order to avoid causing " the punching to external memory space Hit " and " buffering " mechanism of offer.For example, can realize above-mentioned write buffer using buffer;Certainly, write buffer can also adopt It is realized with cache, this specification is limited not to this.In fact, due to the security context that TEE is isolation, and it is external Memory space is located at except TEE, so that can carry out batch by using write buffer mechanism to the data in caching and outside is written Memory space promotes data storage efficiency to reduce the interaction times between TEE and external memory space.Meanwhile TEE exists During constantly executing each item transaction, it may be necessary to transfer generated data, be write if the data that need to be called are located exactly at In caching, the data can be directly read from write buffer, on the one hand can reduce the friendship between external memory space in this way Mutually, it on the other hand eliminates to the decrypting process from external memory space data streams read, thus at the data being lifted in TEE Manage efficiency.
It is of course also possible to write buffer be built on except TEE, for example the first block chain node can execute except TEE Write buffer function code, thus by the write buffer outside above-mentioned receipt data deposit TEE, and further by the number in write buffer According to storing to external memory space.
The receipt memory node of the condition limitation of a kind of combination transaction of this specification and user type is introduced below in conjunction with Fig. 6 Embodiment, comprising:
Receiving unit 61 receives the transaction by encryption;
Decryption unit 62 decrypts the transaction in credible performing environment, obtains transaction content;
Execution unit 63 executes the transaction content in the credible performing environment, obtains receipt data;
Determination unit 64 determines the exposure field in the receipt data according to the type of transaction of the transaction;
Storage unit 65 stores the receipt data, when the initiator that trades belongs to pre-set user type, the receipt number It is stored according to the middle exposure field for meeting preset condition with plaintext version storage, remaining receipt field with ciphertext form.
Optionally, the transaction initiator is there are corresponding external account, user type belonging to the transaction initiator It include: the corresponding user type of the external account recorded on block chain.
Optionally, the external account includes the user type field being recorded on block chain, the user type field Value correspond to the user type.
Optionally, when creating the external account, the user type is configured as association to the external account, makes Incidence relation between the user type and the external account is recorded in block chain.
Optionally, further includes:
Changing unit 66 changes the corresponding user type of the external account according to management Client-initiated change request.
Optionally, the transaction includes type of transaction field, and the value of the type of transaction field is corresponding for indicating Type of transaction.
Optionally, the type of transaction of the transaction includes: to deposit card type, assets transfer type, contract creation type, contract Call type.
Optionally, the mapping relations being stored in block chain between predefined type of transaction and exposure field, it is described to reflect The relationship of penetrating is used for determining the corresponding exposed field of the type of transaction of the transaction.
Optionally, the preset condition includes at least one of: including preset content in corresponding receipt field, corresponding The value of receipt field belong to default value section.
Optionally,
The preset condition includes the corresponding general conditions of all receipt fields in the receipt data;Or,
The preset condition includes the corresponding conditions of particular application of each receipt field in the receipt data.
Optionally,
The preset condition is located in the transaction;Or,
The preset condition is located at the intelligent contract that in the intelligent contract that the transaction is called or the transaction is called and is adjusted In another intelligence contract;Or,
The preset condition is located in system contract or chain code.
Optionally, storage unit 65 is specifically used for:
The code of reading system contract defines in the code of the system contract and user type, type of transaction and pre- If the relevant receipt data of condition stores logic;
Execute the code of the system contract, with trade initiator belong to pre-set user type when, by the receipt number It is stored according to the middle exposure field for meeting preset condition with plaintext version storage, remaining receipt field with ciphertext form.
Optionally, the system contract includes: that the preset system contract being recorded in wound generation block or the preset system close System contract after about corresponding update.
Optionally, the storage unit 65 is specifically used for:
Store function code is executed except the credible performing environment, and the receipt data is stored to described credible External memory space except performing environment.
Optionally, the key that the first block chain node encrypts the receipt data includes: symmetric encipherment algorithm The key of key or rivest, shamir, adelman.
Optionally, the key of the symmetric encipherment algorithm includes the initial key that the client provides;Or, described symmetrical The key of Encryption Algorithm includes the derivative key that the initial key and impact factor generate.
Optionally, the transaction is encrypted by the initial key, and the initial key is by rivest, shamir, adelman Public key encrypted;The decryption unit 62 is specifically used for:
It is decrypted to obtain the initial key with the private key of the rivest, shamir, adelman, and with the initial key to described Transaction is decrypted, to obtain the transaction content.
Optionally, the initial key is generated by client;Or, the initial key is sent to by Key Management server The client.
Optionally, the impact factor is related to the transaction.
Optionally, the impact factor includes: the specific bit of the cryptographic Hash of the transaction.
In the 1990s, the improvement of a technology can be distinguished clearly be on hardware improvement (for example, Improvement to circuit structures such as diode, transistor, switches) or software on improvement (improvement for method flow).So And with the development of technology, the improvement of current many method flows can be considered as directly improving for hardware circuit. Designer nearly all obtains corresponding hardware circuit by the way that improved method flow to be programmed into hardware circuit.Cause This, it cannot be said that the improvement of a method flow cannot be realized with hardware entities module.For example, programmable logic device (Programmable Logic Device, PLD) (such as field programmable gate array (Field Programmable Gate Array, FPGA)) it is exactly such a integrated circuit, logic function determines device programming by user.By designer Voluntarily programming comes a digital display circuit " integrated " on a piece of PLD, designs and makes without asking chip maker Dedicated IC chip.Moreover, nowadays, substitution manually makes IC chip, this programming is also used instead mostly " is patrolled Volume compiler (logic compiler) " software realizes that software compiler used is similar when it writes with program development, And the source code before compiling also write by handy specific programming language, this is referred to as hardware description language (Hardware Description Language, HDL), and HDL is also not only a kind of, but there are many kind, such as ABEL (Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL (Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language) etc., VHDL (Very-High-Speed is most generally used at present Integrated Circuit Hardware Description Language) and Verilog.Those skilled in the art also answer This understands, it is only necessary to method flow slightly programming in logic and is programmed into integrated circuit with above-mentioned several hardware description languages, The hardware circuit for realizing the logical method process can be readily available.
Controller can be implemented in any suitable manner, for example, controller can take such as microprocessor or processing The computer for the computer readable program code (such as software or firmware) that device and storage can be executed by (micro-) processor can Read medium, logic gate, switch, specific integrated circuit (Application Specific Integrated Circuit, ASIC), the form of programmable logic controller (PLC) and insertion microcontroller, the example of controller includes but is not limited to following microcontroller Device: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320 are deposited Memory controller is also implemented as a part of the control logic of memory.It is also known in the art that in addition to Pure computer readable program code mode is realized other than controller, can be made completely by the way that method and step is carried out programming in logic Controller is obtained to come in fact in the form of logic gate, switch, specific integrated circuit, programmable logic controller (PLC) and insertion microcontroller etc. Existing identical function.Therefore this controller is considered a kind of hardware component, and to including for realizing various in it The device of function can also be considered as the structure in hardware component.Or even, it can will be regarded for realizing the device of various functions For either the software module of implementation method can be the structure in hardware component again.
System, device, module or the unit that above-described embodiment illustrates can specifically realize by computer chip or entity, Or it is realized by the product with certain function.It is a kind of typically to realize that equipment is computer.Specifically, computer for example may be used Think personal computer, laptop computer, cellular phone, camera phone, smart phone, personal digital assistant, media play It is any in device, navigation equipment, electronic mail equipment, game console, tablet computer, wearable device or these equipment The combination of equipment.
For convenience of description, it is divided into various units when description apparatus above with function to describe respectively.Certainly, implementing this The function of each unit can be realized in the same or multiple software and or hardware when specification.
It should be understood by those skilled in the art that, the embodiment of the present invention can provide as method, system or computer program Product.Therefore, complete hardware embodiment, complete software embodiment or reality combining software and hardware aspects can be used in the present invention Apply the form of example.Moreover, it wherein includes the computer of computer usable program code that the present invention, which can be used in one or more, The computer program implemented in usable storage medium (including but not limited to magnetic disk storage, CD-ROM, optical memory etc.) produces The form of product.
The present invention be referring to according to the method for the embodiment of the present invention, the process of equipment (system) and computer program product Figure and/or block diagram describe.It should be understood that every one stream in flowchart and/or the block diagram can be realized by computer program instructions The combination of process and/or box in journey and/or box and flowchart and/or the block diagram.It can provide these computer programs Instruct the processor of general purpose computer, special purpose computer, Embedded Processor or other programmable data processing devices to produce A raw machine, so that being generated by the instruction that computer or the processor of other programmable data processing devices execute for real The device for the function of being specified in present one or more flows of the flowchart and/or one or more blocks of the block diagram.
This specification can describe in the general context of computer-executable instructions executed by a computer, such as journey Sequence module.Generally, program module include routines performing specific tasks or implementing specific abstract data types, programs, objects, Component, data structure etc..This specification can also be practiced in a distributed computing environment, in these distributed computing environment In, by executing task by the connected remote processing devices of communication network.In a distributed computing environment, program module It can be located in the local and remote computer storage media including storage equipment.
These computer program instructions, which may also be stored in, is able to guide computer or other programmable data processing devices with spy Determine in the computer-readable memory that mode works, so that it includes referring to that instruction stored in the computer readable memory, which generates, Enable the manufacture of device, the command device realize in one box of one or more flows of the flowchart and/or block diagram or The function of being specified in multiple boxes.
These computer program instructions also can be loaded onto a computer or other programmable data processing device, so that counting Series of operation steps are executed on calculation machine or other programmable devices to generate computer implemented processing, thus in computer or The instruction executed on other programmable devices is provided for realizing in one or more flows of the flowchart and/or block diagram one The step of function of being specified in a box or multiple boxes.In a typical configuration, computer includes at one or more Manage device (CPU), input/output interface, network interface and memory.
Memory may include the non-volatile memory in computer-readable medium, random access memory (RAM) and/or The forms such as Nonvolatile memory, such as read-only memory (ROM) or flash memory (flash RAM).Memory is computer-readable medium Example.
Computer-readable medium includes permanent and non-permanent, removable and non-removable media can be by any method Or technology come realize information store.Information can be computer readable instructions, data structure, the module of program or other data. The example of the storage medium of computer includes, but are not limited to phase change memory (PRAM), static random access memory (SRAM), moves State random access memory (DRAM), other kinds of random access memory (RAM), read-only memory (ROM), electric erasable Programmable read only memory (EEPROM), flash memory or other memory techniques, read-only disc read only memory (CD-ROM) (CD-ROM), Digital versatile disc (DVD) or other optical storage, magnetic cassettes, disk storage, quantum memory, based on graphene Storage medium or other magnetic storage devices or any other non-transmission medium, can be used for storing can be accessed by a computing device Information.As defined in this article, computer-readable medium does not include temporary computer readable media (transitory media), Such as the data-signal and carrier wave of modulation.
It should also be noted that, the terms "include", "comprise" or its any other variant are intended to nonexcludability It include so that the process, method, commodity or the equipment that include a series of elements not only include those elements, but also to wrap Include other elements that are not explicitly listed, or further include for this process, method, commodity or equipment intrinsic want Element.In the absence of more restrictions, the element limited by sentence "including a ...", it is not excluded that including described want There is also other identical elements in the process, method of element, commodity or equipment.
It is above-mentioned that this specification specific embodiment is described.Other embodiments are in the scope of the appended claims It is interior.In some cases, the movement recorded in detail in the claims or step can be come according to the sequence being different from embodiment It executes and desired result still may be implemented.In addition, process depicted in the drawing not necessarily require show it is specific suitable Sequence or consecutive order are just able to achieve desired result.In some embodiments, multitasking and parallel processing be also can With or may be advantageous.
The term that this specification one or more embodiment uses be only merely for for the purpose of describing particular embodiments, and It is not intended to be limiting this specification one or more embodiment.In this specification one or more embodiment and the appended claims Used in the "an" of singular, " described " and "the" be also intended to including most forms, unless context understands earth's surface Show other meanings.It is also understood that term "and/or" used herein refers to and includes one or more associated list Any or all of project may combine.
It will be appreciated that though this specification one or more embodiment may using term first, second, third, etc. come Various information are described, but these information should not necessarily be limited by these terms.These terms are only used to same type of information area each other It separates.For example, the first information can also be referred to as in the case where not departing from this specification one or more scope of embodiments Two information, similarly, the second information can also be referred to as the first information.Depending on context, word as used in this is " such as Fruit " can be construed to " ... when " or " when ... " or " in response to determination ".
The foregoing is merely the preferred embodiments of this specification one or more embodiment, not to limit this theory Bright book one or more embodiment, all within the spirit and principle of this specification one or more embodiment, that is done is any Modification, equivalent replacement, improvement etc. should be included within the scope of the protection of this specification one or more embodiment.

Claims (23)

1. a kind of receipt storage method of the condition of combination transaction and user type limitation, comprising:
First block chain node receives the transaction by encryption;
First block chain node decrypts the transaction in credible performing environment and executes the transaction content of acquisition, obtains receipt number According to;
First block chain node determines the exposure field in the receipt data according to the type of transaction of the transaction;
First block chain node stores the receipt data, when the initiator that trades belongs to pre-set user type, the receipt number It is stored according to the middle exposure field for meeting preset condition with plaintext version storage, remaining receipt field with ciphertext form.
2. according to the method described in claim 1, there are corresponding external account, the transaction initiators by the transaction initiator Affiliated user type includes: the corresponding user type of the external account recorded on block chain.
3. according to the method described in claim 2, the external account includes the user type field being recorded on block chain, institute The value for stating user type field corresponds to the user type.
4. according to the method described in claim 2, the user type is configured as association extremely when creating the external account The external account is recorded in the incidence relation between the user type and the external account in block chain.
5. according to the method described in claim 4, further include:
First block chain node changes the corresponding user type of the external account according to management Client-initiated change request.
6. according to the method described in claim 1, the transaction includes type of transaction field, the value of the type of transaction field For indicating corresponding type of transaction.
7. according to the method described in claim 1, the type of transaction of the transaction includes: to deposit card type, assets transfer type, close About create type, contract call type.
8. according to the method described in claim 1, being stored in block chain between predefined type of transaction and exposure field Mapping relations, the mapping relations are used for determining the corresponding exposed field of the type of transaction of the transaction.
9. according to the method described in claim 1, the preset condition includes at least one of: being wrapped in corresponding receipt field Value containing preset content, corresponding receipt field belongs to default value section.
10. according to the method described in claim 1,
The preset condition includes the corresponding general conditions of all receipt fields in the receipt data;Or,
The preset condition includes the corresponding conditions of particular application of each receipt field in the receipt data.
11. according to the method described in claim 1,
The preset condition is located in the transaction;Or,
The preset condition is located at what the intelligent contract that in the intelligent contract that the transaction is called or the transaction is called was called In another intelligence contract;Or,
The preset condition is located in system contract or chain code.
12. according to the method described in claim 1, the first block chain node stores the receipt data, comprising:
First block chain node reads the code of system contract, defines in the code of the system contract and user type, friendship Easy type and the relevant receipt data of preset condition store logic;
First block chain node executes the code of the system contract, to incite somebody to action when the initiator that trades belongs to pre-set user type Meet the exposure field of preset condition in the receipt data to deposit with plaintext version storage, remaining receipt field with ciphertext form Storage.
13. according to the method for claim 12, the system contract includes: that the preset system being recorded in wound generation block closes System contract about or after the corresponding update of the preset system contract.
14. according to the method described in claim 1, the first block chain node stores the receipt data, comprising:
First block chain node executes store function code except the credible performing environment, and the receipt data is stored External memory space except to the credible performing environment.
15. according to the method described in claim 1, the key packet that the first block chain node encrypts the receipt data It includes: the key of symmetric encipherment algorithm or the key of rivest, shamir, adelman.
16. according to the method for claim 15, the key of the symmetric encipherment algorithm includes the first of the client offer Beginning key;Or, the key of the symmetric encipherment algorithm includes the derivative key that the initial key and impact factor generate.
17. according to the method for claim 16, the transaction is encrypted by the initial key, and the initial key It is encrypted by the public key of rivest, shamir, adelman;First block chain node decrypts the transaction in credible performing environment, packet It includes:
First block chain node decrypts to obtain the initial key with the private key of the rivest, shamir, adelman, and with described initial Transaction described in key pair is decrypted, to obtain the transaction content.
18. according to the method for claim 16, the initial key is generated by client;Or, the initial key is by close Key management server is sent to the client.
19. according to the method for claim 16, the impact factor is related to the transaction.
20. according to the method for claim 19, the impact factor includes: the specific bit of the cryptographic Hash of the transaction.
21. a kind of receipt memory node of the condition of combination transaction and user type limitation, comprising:
Receiving unit receives the transaction by encryption;
Decryption unit decrypts the transaction in credible performing environment, obtains transaction content;
Execution unit executes the transaction content in the credible execution and environment, obtains receipt data;
Determination unit determines the exposure field in the receipt data according to the type of transaction of the transaction;
Storage unit stores the receipt data, full in the receipt data when the initiator that trades belongs to pre-set user type The exposure field of sufficient preset condition is stored with plaintext version, remaining receipt field is stored with ciphertext form.
22. a kind of electronic equipment, comprising:
Processor;
Memory for storage processor executable instruction;
Wherein, the processor is by running the executable instruction to realize the side as described in any one of claim 1-20 Method.
23. a kind of computer readable storage medium, is stored thereon with computer instruction, realized such as when which is executed by processor The step of any one of claim 1-20 the method.
CN201910420680.5A 2019-05-20 2019-05-20 Receipt storage method and node combining conditional restrictions of transaction and user types Active CN110245947B (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201910420680.5A CN110245947B (en) 2019-05-20 2019-05-20 Receipt storage method and node combining conditional restrictions of transaction and user types
PCT/CN2020/089384 WO2020233423A1 (en) 2019-05-20 2020-05-09 Receipt storage method and node based on transaction type
PCT/CN2020/089382 WO2020233422A1 (en) 2019-05-20 2020-05-09 Receipt storage method and node based on user type
PCT/CN2020/089386 WO2020233425A1 (en) 2019-05-20 2020-05-09 Determination condition based receipt storage method and node
PCT/CN2020/091400 WO2020233626A1 (en) 2019-05-20 2020-05-20 Receipt storage method and node in combination with conditional limitation of transaction and user types

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910420680.5A CN110245947B (en) 2019-05-20 2019-05-20 Receipt storage method and node combining conditional restrictions of transaction and user types

Publications (2)

Publication Number Publication Date
CN110245947A true CN110245947A (en) 2019-09-17
CN110245947B CN110245947B (en) 2021-08-24

Family

ID=67884459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910420680.5A Active CN110245947B (en) 2019-05-20 2019-05-20 Receipt storage method and node combining conditional restrictions of transaction and user types

Country Status (2)

Country Link
CN (1) CN110245947B (en)
WO (1) WO2020233626A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020233634A1 (en) * 2019-05-20 2020-11-26 创新先进技术有限公司 Method and node for receipt storage combining transaction and event type condition restrictions
WO2020233422A1 (en) * 2019-05-20 2020-11-26 创新先进技术有限公司 Receipt storage method and node based on user type
WO2020233425A1 (en) * 2019-05-20 2020-11-26 创新先进技术有限公司 Determination condition based receipt storage method and node
WO2020233626A1 (en) * 2019-05-20 2020-11-26 创新先进技术有限公司 Receipt storage method and node in combination with conditional limitation of transaction and user types
CN112488688A (en) * 2020-12-17 2021-03-12 广州智链未来科技有限公司 Transaction processing method, device, equipment and storage medium based on block chain
CN112541820A (en) * 2019-09-20 2021-03-23 上海哔哩哔哩科技有限公司 Digital asset management method, device, computer equipment and readable storage medium
CN113469668A (en) * 2021-07-15 2021-10-01 中国银行股份有限公司 Block chain-based method and device for limiting public customer transaction

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112508621A (en) * 2020-12-15 2021-03-16 航天信息股份有限公司 Transaction analysis method and device
CN114529412A (en) * 2022-02-23 2022-05-24 支付宝(杭州)信息技术有限公司 Resource processing method and device based on block chain

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016209569A1 (en) * 2015-06-26 2016-12-29 Intel Corporation System, apparatus and method for performing cryptographic operations in a trusted execution environment
CN106559211A (en) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 Secret protection intelligence contract method in a kind of block chain
CN107342858A (en) * 2017-07-05 2017-11-10 武汉凤链科技有限公司 A kind of intelligent contract guard method and system based on trusted context
CN109525671A (en) * 2018-11-26 2019-03-26 远光软件股份有限公司 Date storage method, electronic equipment and storage medium based on block chain
CN109660358A (en) * 2019-01-08 2019-04-19 余炀 A kind of data circulation method based on block chain and secure execution environments

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019084345A1 (en) * 2017-10-25 2019-05-02 Mavatar Technologies, Inc. Mcart: democratizing influencer marketing on blockchain
CN107819749A (en) * 2017-10-26 2018-03-20 平安科技(深圳)有限公司 Block catenary system and transaction data processing method based on ether mill
CN108880863B (en) * 2018-05-26 2021-02-19 江西理工大学 Smart power grid equipment safety diagnosis service system based on block chain technology
CN110245947B (en) * 2019-05-20 2021-08-24 创新先进技术有限公司 Receipt storage method and node combining conditional restrictions of transaction and user types

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016209569A1 (en) * 2015-06-26 2016-12-29 Intel Corporation System, apparatus and method for performing cryptographic operations in a trusted execution environment
CN106559211A (en) * 2016-11-22 2017-04-05 中国电子科技集团公司第三十研究所 Secret protection intelligence contract method in a kind of block chain
CN107342858A (en) * 2017-07-05 2017-11-10 武汉凤链科技有限公司 A kind of intelligent contract guard method and system based on trusted context
CN109525671A (en) * 2018-11-26 2019-03-26 远光软件股份有限公司 Date storage method, electronic equipment and storage medium based on block chain
CN109660358A (en) * 2019-01-08 2019-04-19 余炀 A kind of data circulation method based on block chain and secure execution environments

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020233634A1 (en) * 2019-05-20 2020-11-26 创新先进技术有限公司 Method and node for receipt storage combining transaction and event type condition restrictions
WO2020233422A1 (en) * 2019-05-20 2020-11-26 创新先进技术有限公司 Receipt storage method and node based on user type
WO2020233425A1 (en) * 2019-05-20 2020-11-26 创新先进技术有限公司 Determination condition based receipt storage method and node
WO2020233626A1 (en) * 2019-05-20 2020-11-26 创新先进技术有限公司 Receipt storage method and node in combination with conditional limitation of transaction and user types
CN112541820A (en) * 2019-09-20 2021-03-23 上海哔哩哔哩科技有限公司 Digital asset management method, device, computer equipment and readable storage medium
CN112541820B (en) * 2019-09-20 2023-07-07 上海哔哩哔哩科技有限公司 Digital asset management method, device, computer equipment and readable storage medium
CN112488688A (en) * 2020-12-17 2021-03-12 广州智链未来科技有限公司 Transaction processing method, device, equipment and storage medium based on block chain
CN112488688B (en) * 2020-12-17 2024-03-26 广州智链未来科技有限公司 Transaction processing method, device, equipment and storage medium based on blockchain
CN113469668A (en) * 2021-07-15 2021-10-01 中国银行股份有限公司 Block chain-based method and device for limiting public customer transaction

Also Published As

Publication number Publication date
WO2020233626A1 (en) 2020-11-26
CN110245947B (en) 2021-08-24

Similar Documents

Publication Publication Date Title
CN110263544A (en) In conjunction with the receipt storage method and node of type of transaction and Rule of judgment
CN110264195A (en) It is marked and transaction, the receipt storage method of user type and node in conjunction with code
CN110245947A (en) The receipt storage method and node limited in conjunction with the condition of transaction and user type
CN110245490A (en) The receipt storage method and node of conditional combination code mark and type dimension
CN110223172A (en) The receipt storage method and node of conditional combination code mark and type dimension
CN110263087A (en) Receipt storage method and node based on various dimensions information and with condition limitation
CN110245942A (en) In conjunction with the receipt storage method and node of user type and Rule of judgment
CN110032883A (en) Method, system and the node of secret protection are realized in block chain
CN109831298A (en) The method of security update key and node, storage medium in block chain
CN110266644A (en) In conjunction with the receipt storage method and node of code mark and type of transaction
CN110264196A (en) In conjunction with the conditional receipt storage method and node of code mark and user type
CN110245504A (en) The receipt storage method and node limited in conjunction with the condition of polymorphic type dimension
CN110264198A (en) In conjunction with the conditional receipt storage method and node of code mark and type of transaction
CN110278193A (en) It is marked and transaction, the receipt storage method of event type and node in conjunction with code
CN110245946A (en) In conjunction with the receipt storage method and node of code mark and polymorphic type dimension
CN110245944A (en) Receipt storage method and node based on user type
CN110245945A (en) In conjunction with the receipt storage method and node of code mark and user type
CN110263086A (en) In conjunction with the receipt storage method and node of user type and event functions type
CN110033267A (en) Method, node, system and the storage medium of secret protection are realized in block chain
CN110264197A (en) The receipt storage method and node of binding events type function and Rule of judgment
CN110263091A (en) In conjunction with code mark and user, the receipt storage method of event type and node
CN110245503A (en) In conjunction with the receipt storage method and node of code mark and Rule of judgment
CN109936626A (en) Method, node and the storage medium of secret protection are realized in block chain
CN110020855A (en) Method, the node, storage medium of secret protection are realized in block chain
CN110263088A (en) In conjunction with the conditional receipt storage method and node of code mark and event type

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

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant