CN110555682A - multi-channel implementation method based on alliance chain - Google Patents

multi-channel implementation method based on alliance chain Download PDF

Info

Publication number
CN110555682A
CN110555682A CN201910854426.6A CN201910854426A CN110555682A CN 110555682 A CN110555682 A CN 110555682A CN 201910854426 A CN201910854426 A CN 201910854426A CN 110555682 A CN110555682 A CN 110555682A
Authority
CN
China
Prior art keywords
channel
chain
token
transaction
block
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
CN201910854426.6A
Other languages
Chinese (zh)
Other versions
CN110555682B (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.)
Suzhou Arshan Digital Technology Co Ltd
Original Assignee
Suzhou Arshan Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Arshan Digital Technology Co Ltd filed Critical Suzhou Arshan Digital Technology Co Ltd
Priority to CN201910854426.6A priority Critical patent/CN110555682B/en
Publication of CN110555682A publication Critical patent/CN110555682A/en
Application granted granted Critical
Publication of CN110555682B publication Critical patent/CN110555682B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The invention relates to the technical field of block chains, in particular to a multi-channel realization method based on a alliance chain. The multichannel implementation method comprises the following steps: a) a federation chain creates channels with or without tokens; b) the transaction occurs within a token-bearing channel or a token-free channel created by a federation chain; or closing the channel in a token-bearing channel or a token-free channel created by the alliance chain; or cross-chain transactions. When the cross-chain operation is needed, the endorsement node returns corresponding result set operation by sending information to the endorsement node. Aiming at a multichannel alliance chain, recording unique hash values of all blocks by establishing a sorting chain, adding block information into the sorting chain when a new block is generated on the chain in a channel, and acquiring the block content on the corresponding chain through the block information. By introducing the sorting chain, the block sequence of different channels can be determined, and when a plurality of transactions operate on the same block, other transactions cannot fail.

Description

Multi-channel implementation method based on alliance chain
Technical Field
the invention relates to the technical field of block chains, in particular to a multi-channel realization method based on a alliance chain.
Background
In a public chain, all nodes belong to the same chain, all nodes can synchronize the same data, each node can synchronize and store some unnecessary data along with the increase of the data volume, the pressure of each node is increased, meanwhile, the nodes in the network can read all data, some sensitive data can be distributed to nodes which should not access the data, and potential safety hazards can be brought.
Furthermore, all public chains have a fatal vulnerability that each node must participate in each transaction and protect the system by keeping a copy of the transaction, which limits the number of transactions that the blockchain can handle, resulting in low throughput and increasing the need for node storage, bandwidth and computing as the volume of transactions in the blockchain increases.
There are many common chain solutions such as fragmentation, calculation under chain, DAG, etc., and the fragmentation technique reduces the pressure on each node by distributing storage and calculation by dividing all the contents of the blockchain into different fragments, each fragment being stored and processed by a different node in the network. Or to perform the calculation under the chain in a secure and verifiable way, improving throughput, TrueBit based on etherhouses is a good example. The DAG-based data structure is used for maintaining the system in a starting stage, large-scale popularization is not achieved, and application scenes of the DAG-based data structure are carefully selected before the final theory is perfected.
Hyperridge Fabric is a basic core platform of a block chain, aims to become a distributed account book platform of enterprise-oriented development application and solution, innovatively introduces authority management support, is designed to support pluggable and expandable, is the first open source project facing a alliance chain scene, is also the top level project added into the Hyperridge project at the earliest, and is submitted to a community by enterprises such as IBM and DAH at the end of 2015. A plurality of different organizations under the alliance establish a channel, each channel has an independent account book, and only channel member organizations can share the account book. In practical applications, it often carries sensitive data such as assets and transactions, so security and privacy protection are two very important issues.
However, although the existing public chain can solve the problem of node expandability, privacy is limited, and after key service data is uploaded to the blockchain, a hacker, a competitor or other unauthorized parties can check the information on the blockchain, which is unwilling to do so for most companies. Privacy is a bottom line for individuals, organizations, and industries concerned about privacy and personal interests. Many blockchains and custodians of cryptocurrency have common promises and it is desirable to be able to build a trust-free, unchecked system that allows everyone to participate in billing. Paradoxically, we use a common, easily traceable ledger. The lack of formal contract validation for the public chain remains an unsolved problem, and above all, smart contracts are immutable, meaning that once they are dropped onto the ethernet host network, they cannot be updated and repaired. In addition, the content of the smart contracts is public, anyone can view the smart contracts, and anyone can call the public algorithm of the smart contracts, and although the public algorithm provides the public and the transparency, the smart contracts are also the targets of hackers, in fact, the smart contracts are difficult to be perfectly flawless no matter how many precautionary measures are taken, and in any case, formal verification is a powerful method for reducing errors and attacks. It ensures higher security than conventional methods (e.g., testing, peer review, etc.). There is an urgent need for better solutions. The Hyperlenger Fabric is a representative in the existing alliance chain, a read-write set is adopted to conduct on-chain transaction operation, although the security is good, the concurrency is poor, if only one block is successfully updated for multiple times, the subsequent transaction fails, the transaction can only be resubmitted to be executed, the experience is poor, the consistency is only ensured, but the usability is not met, and the actual application scene is not met. The HyperLegendre Fabric multi-channel technology lacks a global sequence, so that the HyperLegendre Fabric multi-channel technology cannot well support an economic model, cross-link calling and the like.
Disclosure of Invention
In order to solve the technical problems described in the background art, the invention provides a multi-channel implementation method based on a federation chain. Aiming at a multichannel alliance chain, recording unique hash values of all blocks by establishing a sorting chain, namely recording an index value of each block at the current moment, adding block information into the sorting chain when a new block is generated on the chain in the channel, if the chain-crossing operation is not particularly frequent, performing batch operation recording on the blocks at intervals, and when the chain-crossing operation is performed, acquiring the related blocks related to the current operation by accessing the sorting chain by a main chain, and then acquiring the block content on the corresponding chain by the block information. The block sequence of different channels can be determined by introducing the sequencing chain, the sequencing chain is not required to be connected with the endorsement node, when a plurality of transactions operate on the same block, the transactions can be queued for execution, and other transactions cannot fail.
the technical scheme adopted by the invention for solving the technical problems is as follows:
a multi-channel realization method based on alliance chain includes the following steps:
a) A federation chain creates channels with or without tokens;
b) The transaction occurs within a token-bearing channel or a token-free channel created by a federation chain; or closing the channel in a token-bearing channel or a token-free channel created by the alliance chain; or cross-chain transactions.
Specifically, in the step a), the specific steps of creating a channel with tokens by the alliance chain are as follows: and when a new channel is created, performing authority control through a digital certificate, starting to create the channel when identity verification passes, otherwise, failing to create the channel and quitting, writing an initial token value so as to perform account transaction subsequently, configuring information, generating a configuration information block and writing the configuration information block into a system channel chain, and finally generating block information in the new channel and packaging hash information and writing the block information into the chain, wherein the channel is successfully created.
Specifically, in step a), the specific steps of the alliance chain creating a token-free channel are as follows: and when the client side starts to create a new channel, performing authority control through a digital certificate, when the identity verification passes, starting to create the channel, otherwise, failing to create the channel and quitting, then writing the configuration information of the channel, generating a configuration information block and writing the configuration information block into a system channel chain, and finally generating block information in the new channel according to the configuration information and packaging the block information in a hash writing chain, wherein the channel creation is successful.
specifically, in the step b), the specific steps of the transaction occurring in the token-containing channel or the token-free channel created in the alliance chain are as follows: when a client side carries out transaction, right control is carried out through a digital certificate, when identity verification passes, the transaction starts, otherwise, the transaction fails and exits, whether the transaction carries token information or not is detected, if the transaction carries the token information, the system processes the account token according to transaction block information, if the transaction does not carry the token information, the system does not process the transaction, then block information is generated by packaging according to the sorting result of the order node, the block information is broadcasted to other nodes of an organization and the transaction is executed, and finally the transaction result is returned to the client side, and the transaction is completed.
specifically, in the step b), the specific step of closing the channel in the token-containing channel or the token-free channel created in the alliance chain is as follows: when a client needs to close a channel, a system firstly authenticates the identity through a digital certificate, if the authentication is successful, the action of closing the channel is started, otherwise, the channel is failed to close and quit; if the channel has a token, finally writing the token value of the client into the account chain, and returning the result to the client; if the token is not involved, the channel is directly closed and the transaction is stopped.
Specifically, in step b), the specific steps of the cross-chain transaction are as follows: when a new chunk is generated in a channel, the hash value of the chunk is written into the global ordering chain. When cross-chain operation is needed at a certain moment, the global sequencing chain is directly accessed, and the block information of the time node is obtained.
the invention has the beneficial effects that: the invention provides a multi-channel realization method based on a alliance chain.A Hyperlenger Fabric needs to simulate a transaction through an endorsement node to generate a reading and writing set when the transaction occurs, then returns a result to a client, and when a cross-chain operation is needed, the endorsement node returns corresponding result set operation by sending information to the endorsement node. Aiming at a multichannel alliance chain, recording unique hash values of all blocks by establishing a sorting chain, namely recording an index value of each block at the current moment, adding block information into the sorting chain when a new block is generated on the chain in the channel, if the chain-crossing operation is not particularly frequent, performing batch operation recording on the blocks at intervals, and when the chain-crossing operation is performed, acquiring the related blocks related to the current operation by accessing the sorting chain by a main chain, and then acquiring the block content on the corresponding chain by the block information. The block sequence of different channels can be determined by introducing the sequencing chain, the sequencing chain is not required to be connected with the endorsement node, when a plurality of transactions operate on the same block, the transactions can be queued for execution, and other transactions cannot fail.
Drawings
the invention is further described with reference to the following figures and examples.
FIG. 1 is a flow diagram of the federation chain of the present invention creating a channel with tokens;
FIG. 2 is a flow diagram of the federation chain of the present invention creating a token-free channel;
FIG. 3 is a flow chart of the invention for transactions occurring within a token-bearing channel or a token-free channel created by a federation chain;
FIG. 4 is a flow chart of the present invention for closing a channel within a token-bearing channel or a token-free channel created by a federation chain;
FIG. 5 is a flow diagram of a cross-chain transaction of the present invention;
Detailed Description
The invention will now be described in further detail with reference to the accompanying drawings. These drawings are simplified schematic diagrams illustrating only the basic structure of the invention in a schematic manner, and thus show only the constitution related to the invention.
Fig. 1 is a flow chart of the alliance chain of the present invention creating a channel with tokens, fig. 2 is a flow chart of the alliance chain of the present invention creating a channel without tokens, fig. 3 is a flow chart of the present invention taking place within a channel with tokens or a channel without tokens created by the alliance chain, fig. 4 is a flow chart of the present invention closing a channel within a channel with tokens or a channel without tokens created by the alliance chain, and fig. 5 is a flow chart of a cross-chain transaction of the present invention.
The channel creation of the alliance chain is divided into tokens and non-tokens, which need to be created when an account transaction is involved.
As shown in figure 1, when a league chain creates a channel with tokens:
1) And when a new channel is created, performing authority control through a digital certificate, starting to create the channel when the identity verification passes, otherwise, failing to create the channel and exiting.
2) Writing the initial token value for subsequent account transactions.
3) And generating the configuration information and writing the configuration information into the system channel chain.
4) And generating block information in the new channel by the information, and packaging the block information into a hash write-in chain, wherein the channel is successfully established.
As shown in fig. 2, when a league chain creates a channel without tokens:
1) when the client side starts to create a new channel, the authority control is carried out through the digital certificate, when the identity verification is passed, the channel is created, otherwise, the channel creation is failed and quitting is carried out.
2) writing the configuration information of the channel, and generating a configuration information block to write in the system channel chain.
3) and generating block information in the new channel according to the configuration information, and packaging the block information in a hash write-in chain, wherein the channel is successfully established.
As shown in fig. 3, transactions occur within a token-bearing or token-free channel created by a federation chain:
1) When the client side carries out transaction, the authority control is carried out through the digital certificate, when the identity verification is passed, the transaction starts, otherwise, the transaction fails and quits.
2) and detecting whether the transaction carries token information, if so, processing the account token by the system according to the transaction block information, and if not, not processing.
3) And packing and generating block information according to the sorting result of the order node, broadcasting the block information to other nodes of the organization and executing transaction.
4) And finally, returning the transaction result to the client to complete the transaction.
As shown in fig. 4, the channel is closed within a token-bearing channel or token-free channel created by the federation chain:
1) When the client needs to close the channel, the system firstly authenticates the identity through the digital certificate, if the authentication is successful, the action of closing the channel is started, otherwise, the channel is failed to close and quit.
2) If the channel has a token, finally writing the token value of the client into the account chain, and returning the result to the client; if the token is not involved, the channel is directly closed and the transaction is stopped.
As shown in FIG. 5, a cross-chain transaction:
when a new chunk is generated in a channel, the hash value of the chunk is written into the global ordering chain. When cross-chain operation is needed at a certain moment, the global sequencing chain is directly accessed to obtain the block information of the time node, and even if the number of the blocks is increased subsequently, the consistency of the block operation at the current moment cannot be influenced.
Global ordering chain: when a new block is generated in the channel, the hash values of all blocks are recorded in sequence.
In light of the foregoing description of preferred embodiments according to the invention, many modifications and variations can be made by the worker skilled in the art without departing from the scope of the invention. The technical scope of the present invention is not limited to the content of the specification, and must be determined according to the scope of the claims.

Claims (6)

1. A multi-channel realization method based on alliance chain is characterized in that: the multichannel implementation method comprises the following steps:
a) A federation chain creates channels with or without tokens;
b) The transaction occurs within a token-bearing channel or a token-free channel created by a federation chain; or closing the channel in a token-bearing channel or a token-free channel created by the alliance chain; or cross-chain transactions.
2. A federation chain-based multi-channel implementation method as claimed in claim 1 wherein: in the step a), the specific steps of creating a channel with tokens by the alliance chain are as follows: and when a new channel is created, performing authority control through a digital certificate, starting to create the channel when identity verification passes, otherwise, failing to create the channel and quitting, writing an initial token value so as to perform account transaction subsequently, configuring information, generating a configuration information block and writing the configuration information block into a system channel chain, and finally generating block information in the new channel and packaging hash information and writing the block information into the chain, wherein the channel is successfully created.
3. A federation chain-based multi-channel implementation method as claimed in claim 1 wherein: in step a), the specific steps of the alliance chain creating a token-free channel are as follows: and when the client side starts to create a new channel, performing authority control through a digital certificate, when the identity verification passes, starting to create the channel, otherwise, failing to create the channel and quitting, then writing the configuration information of the channel, generating a configuration information block and writing the configuration information block into a system channel chain, and finally generating block information in the new channel according to the configuration information and packaging the block information in a hash writing chain, wherein the channel creation is successful.
4. a federation chain-based multi-channel implementation method as claimed in claim 1 wherein: in step b), the specific steps of the transaction occurring in the channel with or without token created in the alliance chain are as follows: when a client side carries out transaction, right control is carried out through a digital certificate, when identity verification passes, the transaction starts, otherwise, the transaction fails and exits, whether the transaction carries token information or not is detected, if the transaction carries the token information, the system processes the account token according to transaction block information, if the transaction does not carry the token information, the system does not process the transaction, then block information is generated by packaging according to the sorting result of the order node, the block information is broadcasted to other nodes of an organization and the transaction is executed, and finally the transaction result is returned to the client side, and the transaction is completed.
5. A federation chain-based multi-channel implementation method as claimed in claim 1 wherein: in step b), the specific step of closing the channel in the channel with or without token created in the alliance chain is as follows: when a client needs to close a channel, a system firstly authenticates the identity through a digital certificate, if the authentication is successful, the action of closing the channel is started, otherwise, the channel is failed to close and quit; if the channel has a token, finally writing the token value of the client into the account chain, and returning the result to the client; if the token is not involved, the channel is directly closed and the transaction is stopped.
6. A federation chain-based multi-channel implementation method as claimed in claim 1 wherein: in the step b), the specific steps of the cross-chain transaction are as follows: when a new chunk is generated in a channel, the hash value of the chunk is written into the global ordering chain. When cross-chain operation is needed at a certain moment, the global sequencing chain is directly accessed, and the block information of the time node is obtained.
CN201910854426.6A 2019-09-10 2019-09-10 Multi-channel implementation method based on alliance chain Active CN110555682B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910854426.6A CN110555682B (en) 2019-09-10 2019-09-10 Multi-channel implementation method based on alliance chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910854426.6A CN110555682B (en) 2019-09-10 2019-09-10 Multi-channel implementation method based on alliance chain

Publications (2)

Publication Number Publication Date
CN110555682A true CN110555682A (en) 2019-12-10
CN110555682B CN110555682B (en) 2023-04-07

Family

ID=68739742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910854426.6A Active CN110555682B (en) 2019-09-10 2019-09-10 Multi-channel implementation method based on alliance chain

Country Status (1)

Country Link
CN (1) CN110555682B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113691569A (en) * 2020-05-18 2021-11-23 顺丰科技有限公司 Dynamic extended billing method and device based on alliance chain
CN114490741A (en) * 2022-04-18 2022-05-13 武汉龙津科技有限公司 Time sorting method and device based on trusted block chain, electronic equipment and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881187A (en) * 2018-05-31 2018-11-23 杭州秘猿科技有限公司 A kind of across chain data transferring method and equipment suitable for permitting chain scene
CN109246179A (en) * 2018-06-30 2019-01-18 华为技术有限公司 Safeguard method and apparatus, server and the computer readable storage medium of block chain
CN109242456A (en) * 2018-09-04 2019-01-18 湖南宸瀚信息科技有限责任公司 Across the chain method of commerce of block chain, system and storage medium
CN109255610A (en) * 2018-09-26 2019-01-22 石帅 A kind of value assessment method of fictitious assets under internet block chain environment
CN109858908A (en) * 2019-01-09 2019-06-07 暨南大学 Alliance's chain building method, method of commerce and distributed supply chain system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881187A (en) * 2018-05-31 2018-11-23 杭州秘猿科技有限公司 A kind of across chain data transferring method and equipment suitable for permitting chain scene
CN109246179A (en) * 2018-06-30 2019-01-18 华为技术有限公司 Safeguard method and apparatus, server and the computer readable storage medium of block chain
CN109242456A (en) * 2018-09-04 2019-01-18 湖南宸瀚信息科技有限责任公司 Across the chain method of commerce of block chain, system and storage medium
CN109255610A (en) * 2018-09-26 2019-01-22 石帅 A kind of value assessment method of fictitious assets under internet block chain environment
CN109858908A (en) * 2019-01-09 2019-06-07 暨南大学 Alliance's chain building method, method of commerce and distributed supply chain system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
自游: "一文理解超级账本 Hyperledger Fabric 的架构与坑", 《百度》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113691569A (en) * 2020-05-18 2021-11-23 顺丰科技有限公司 Dynamic extended billing method and device based on alliance chain
CN114490741A (en) * 2022-04-18 2022-05-13 武汉龙津科技有限公司 Time sorting method and device based on trusted block chain, electronic equipment and medium

Also Published As

Publication number Publication date
CN110555682B (en) 2023-04-07

Similar Documents

Publication Publication Date Title
EP3560143B1 (en) Data isolation in a blockchain network
CN110024357B (en) System and method for data processing using distributed ledgers
Tan et al. A survey on proof of retrievability for cloud data integrity and availability: Cloud storage state-of-the-art, issues, solutions and future trends
KR20190136245A (en) Method for managing content based on blockchain and system performing the method
CN108292351A (en) Use the data verification method and system of the Hash tree of such as time-centered Merkel's Hash tree etc
CN109902086A (en) A kind of index creation method, device and equipment
CN110932859B (en) User information processing method, device and equipment and readable storage medium
CN112464212B (en) Data authority control reconstruction method based on mature complex service system
WO2020233149A1 (en) Method, apparatus and device for timing authentication in blockchain account book
KR20190125683A (en) System and method for verifying forgery of contract information or legal information based on block chain
CN113495920A (en) Content auditing system, method and device based on block chain and storage medium
CN110555682B (en) Multi-channel implementation method based on alliance chain
CN110019278A (en) A kind of data verification method, device and equipment
WO2024002105A1 (en) Data asset usage control method, client and intermediate service platform
US20230138035A1 (en) Transaction based fraud detection
CN110192212B (en) Digital asset platform
CN116583833A (en) Self-auditing blockchain
US20230246814A1 (en) Data intermediary registry security
CN113821820B (en) Method, device, medium and equipment for encrypting and decrypting resources in splitting mode
CN110020547A (en) A kind of data hiding method, device and equipment
CN103902919B (en) A kind of method and device recovering log-on message
CN110008210A (en) A kind of index creation method, device and equipment
CN114491662A (en) Block chain-based data asset auditing method, system and equipment
CN112395591A (en) Encryption method and system
Rao et al. Dynamic outsourced proofs of retrievability enabling auditing migration for remote storage security

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant