WO2021205241A1 - System and method for establishing a trusted functional blockchain consensus - Google Patents
System and method for establishing a trusted functional blockchain consensus Download PDFInfo
- Publication number
- WO2021205241A1 WO2021205241A1 PCT/IB2021/051068 IB2021051068W WO2021205241A1 WO 2021205241 A1 WO2021205241 A1 WO 2021205241A1 IB 2021051068 W IB2021051068 W IB 2021051068W WO 2021205241 A1 WO2021205241 A1 WO 2021205241A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- nodes
- functional
- transactions
- consensus
- generated
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q2220/00—Business processing using cryptography
Definitions
- the present disclosure relates generally to blockchain transactions. More particularly, the present disclosure relates to systems and methods for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes.
- DLTs distributed ledger technologies.
- DLTs distributed ledger technologies
- the most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. While Bitcoin may be referred to herein for the purpose of convenience and illustration, it should be noted that the invention is not limited to use with the Bitcoin blockchain and alternative blockchain implementations and protocols fall within the scope of the present invention.
- a blockchain is a consensus-based, electronic ledger which is implemented as a computer-based decentralised, distributed system made up of blocks which in turn are made up of transactions.
- Each transaction is a data structure that encodes the transfer of control of a digital asset between participants in the blockchain system, and includes at least one input and at least one output.
- Each block contains a hash of the previous block so that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception.
- Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed. On the Bitcoin platform, these scripts are written using a stack-based scripting language.
- Contemporary distributed ledger technologies employ blockchain consensus protocols to define identical distributed copies of the transactions as part of blocks, to each peer in the blockchain network. Thus, every peer in the blockchain network is privy to the same information as part of the cryptocurrency ledger.
- functional encryption schemes exist in isolation from the principle of distributed consensus, as cryptosystems where each key-holder has the ability to recover some function of a message, given an encrypted message.
- Another cryptographic construction called fully homomorphic encryption exists to compute on cipher-texts to result in the encryption of a function of the underlying plain-texts.
- None of these computational constructions have been used together to define novel asymmetric distributed ledger technology wherein as part of the same distributed consensus, each peer in the blockchain network agrees on a separate function of a common block, instead of an identical block.
- the present disclosure relates generally to blockchain transactions. More particularly, the present disclosure relates to systems and methods for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes.
- An aspect of the present disclosure provides a method for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, said method comprising: maintaining, by one or more processors of a functional blockchain consensus engine for establishing blockchain consensus of the plurality of nodes, a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generating, by the one or more processors, a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes; and establishing, by the one or more processors, the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key.
- the method comprises generating the decryption key based on the request for accessing of a set of transactions of the one or more transactions.
- an encryption key is generated to encrypt the block, and one or more decryption keys are generated to decrypt functions of the block/metablock.
- the generated one or more decryption keys are unique for each of the one or more functions and each of the plurality of nodes.
- the keys are generated using a functional encryption scheme.
- the one or more interactions comprises exchange of one or more items between the entities.
- the one or more items comprises at least a part of Commodity
- CTC aggregate is determined for each entity of the entities based on the one or more interactions between the entities.
- the functional encryption scheme comprises any or a combination of homomorphic encryption, attribute-based encryption, identity-based encryption, fully secure functional encryption, and function private functional encryption.
- Another aspect of the present disclosure comprises a system for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, said system comprising: a consensus engine for establishing blockchain consensus of the plurality of nodes, the consensus engine comprising one or more processors, the one or more processors coupled to a memory, the memory storing instructions executable by the processor to: maintain a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generate a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes; and establish the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key.
- FIG. 1 illustrates exemplary functional components of the proposed system in accordance with an embodiment of the present disclosure.
- FIG. 2 is a flow diagram illustrating a method for establishing a trusted blockchain consensus in accordance with an embodiment of the present disclosure.
- FIG. 3 is an exemplary consensus chain with three nodes in accordance with an embodiment of the present disclosure.
- FIG. 4 is an exemplary consensus block with nine nodes in accordance with an embodiment of the present disclosure.
- FIG. 5 illustrates an exemplary computer system to implement the proposed system in accordance with embodiments of the present disclosure.
- Embodiments of the present invention include various steps, which will be described below.
- the steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special- purpose processor programmed with the instructions to perform the steps.
- steps may be performed by a combination of hardware, software, firmware and/or by human operators.
- Embodiments of the present invention may be provided as a computer program product, which may include a machine-readable storage medium tangibly embodying thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process.
- the machine-readable medium may include, but is not limited to, fixed (hard) drives, magnetic tape, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, PROMs, random access memories (RAMs), programmable read-only memories (PROMs), erasable PROMs (EPROMs), electrically erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions (e.g., computer programming code, such as software or firmware).
- Various methods described herein may be practiced by combining one or more machine-readable storage media containing the code according to the present invention with appropriate standard computer hardware to execute the code contained therein.
- An apparatus for practicing various embodiments of the present invention may involve one or more computers (or one or more processors within a single computer) and storage systems containing or having network access to computer program(s) coded in accordance with various methods described herein, and the method steps of the invention could be accomplished by modules, routines, subroutines, or subparts of a computer program product.
- Light be included or have a characteristic, that particular component or feature is not required to be included or have the characteristic.
- a blockchain network and a consensus network that are described in the implementations of the present application can be the same network.
- a blockchain node in the network can also be referred to as a consensus node.
- a node that handles service data in the network can be referred to as a service handling node and initiates consensus processing on the service data.
- the network includes a plurality of nodes in addition to the node. These nodes can be referred to as consensus nodes if these nodes participate in the consensus processing on the service data. In addition, these nodes can also function as service handling nodes.
- the blockchain network includes five nodes (node 1, node 2, node 3, node 4, and node 5), and each node can function as both a service handling node and a consensus node. If node 1 handles service data, node 1 functions as a service handling node, and node 2, node 3, node 4, and node 5 function as consensus nodes for the service data and participate in consensus processing on the service data.
- the blockchain network described in the implementations of the present application can include a consensus network. In this case, a consensus node included in the consensus network can perform consensus processing on a consensus request initiated by a blockchain node in the blockchain network.
- the blockchain network includes five nodes (node 1, node 2, node 3, node 4, and node 5), where node 2, node 4, and node 5 are consensus nodes in the consensus network.
- node 2, node 4, and node 5 can perform consensus processing on a consensus request initiated by node 1 or node 3.
- Node 1 and node 3 here can function as nodes for handling service data and request the consensus nodes in the consensus network to perform consensus processing on the handled service data. That is, the consensus nodes may not participate in service data handling.
- whether a consensus result is stored on a consensus node is not limited and can be determined based on actual demand. Both a case in which the consensus result is stored on the consensus node and a case in which the consensus result is not stored on the consensus node fall within the protection scope of the implementations of the present application.
- the present disclosure relates generally to blockchain transactions. More particularly, the present disclosure relates to systems and methods for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes.
- An aspect of the present disclosure provides a method for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, said method comprising: maintaining, by one or more processors of a functional blockchain consensus engine for establishing blockchain consensus of the plurality of nodes, a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generating, by the one or more processors, a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes; and establishing, by the one or more processors, the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key.
- the method comprises generating the decryption key based on the request for accessing of a set of transactions of the one or more transactions.
- an encryption key is generated to encrypt the block, and one or more decryption keys are generated to decrypt functions of the block/metablock.
- the generated one or more decryption keys are unique for each of the one or more functions and each of the plurality of nodes.
- the keys are generated using a functional encryption scheme.
- the one or more interactions comprises exchange of one or more items between the entities.
- the one or more items comprises at least a part of Commodity
- CTC aggregate is determined for each entity of the entities based on the one or more interactions between the entities.
- the functional encryption scheme comprises any or a combination of homomorphic encryption, attribute-based encryption, identity-based encryption, fully secure functional encryption, and function private functional encryption, but not limited to the likes.
- Another aspect of the present disclosure comprises a system for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, said system comprising: a consensus engine for establishing blockchain consensus of the plurality of nodes, the consensus engine comprising one or more processors, the one or more processors coupled to a memory, the memory storing instructions executable by the processor to: maintain a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generate a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes; and establish the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key.
- FIG. 1 illustrates exemplary functional components of the proposed system in accordance with an embodiment of the present disclosure.
- a functional blockchain consensus engine 102 may comprise one or more processor(s) 104.
- the one or more processor(s) 104 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and/or any devices that manipulate data based on operational instructions.
- the one or more processor(s) 104 are configured to fetch and execute computer-readable instructions stored in a memory 106 of the system 102.
- the memory 106 may store one or more computer-readable instructions or routines, which may be fetched and executed to create or share the data units over a network service.
- the memory 106 may comprise any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like.
- the system 102 may also comprise an interface(s) 108.
- the interface(s) 108 may comprise a variety of interfaces, for example, interfaces for data input and output devices, referred to as I/O devices, storage devices, and the like.
- the interface(s) 108 may facilitate communication of system 102.
- the interface(s) 108 may also provide a communication pathway for one or more components of the system 102. Examples of such components include, but are not limited to, processing engine(s) 110 and data 210.
- the processing engine(s) 110 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) 110.
- programming for the processing engine(s) 110 may be processor executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) 110 may comprise a processing resource (for example, one or more processors), to execute such instructions.
- the machine -readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) 110.
- system 102 may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine -readable storage medium may be separate but accessible to system 102 and the processing resource.
- processing engine(s) 110 may be implemented by electronic circuitry.
- the data 210 may comprise data that is either stored or generated as a result of functionalities implemented by any of the components of the processing engine(s) 110 or the system 102.
- the processing engine(s) 110 may include a transaction engine 112, a consensus establishing engine 114, and other engine(s) 116.
- system 102 can be implemented as a computing unit over the network that can be implemented as a cloud/server to which various nodes of the network are operatively coupled to implement or establish blockchain consensus.
- system 102 can be individually incorporated with various nodes of the network thereby establishing blockchain consensus.
- the transaction engine 112 facilitates maintaining details associated with transactions being conducted and updating details associated with the transactions.
- the transactions between entities needs to be documented and a consensus needs to be established between plurality of nodes of the blockchain network.
- a round of communication is being conducted between the plurality of nodes. For every round of communication being conducted after a predefined or preconfigured time period each node of the plurality of nodes generates a block. Subsequently a round leader (interchangeably referred to as primary node herein) is selected for every round.
- the round leader can be elected using a blockchain consensus protocol such as Bitcoin, Algorand, and Cardano.
- the generated block can include one or more functions and the one or more transaction being conducted between the entities.
- a new block is generated by each of the plurality of nodes for each round of communication.
- the generated block is maintained by the transaction engine
- the generated block is discarded after a first predefined time period. In another embodiment, the generated block is discarded after every round of communication. In another embodiment, the generated block is stored on a database (not shown). It would be appreciated by the person skilled in the art that the database is located on a cloud/server.
- the consensus establishing engine 114 configured to facilitate establishing of consensus amongst the plurality of nodes. In an embodiment, as a request for accessing a set of transactions from the one or more transactions is requested by any one of the plurality of nodes the consensus establishing engine 114 metablock is being transmitted to the plurality of other nodes (interchangeably referred to as secondary nodes or slave nodes hereinafter) by the round leader.
- the metablock includes Commodity Trade Coin (CTC) payments / privilege levels, CTC payment / privilege level received for revealing the set of functions, functional encrypted block, and a plain text description of the set of functions, and a hash of the decryption key.
- CTC Commodity Trade Coin
- the consensus establishing engine 114 can be configured to establish consensus amongst the plurality of nodes based on generated meta block. For each of the plurality of nodes a unique key is generated. The unique key can be generated based on the set of functions that the particular node has requested access for and hence a functional consensus can be established amongst the plurality of nodes. For example, in a block chain network comprising 4 nodes each node has to provide a payment of CTC to the leader node to request certain level of information and hence, based on the request, the decryption key can be generated, that can be based on homomorphic encryption scheme, to allow only the requested transaction to be revealed to designated node.
- Jj2 sk i They can decrypt their block functions f j ⁇ iBi) and f 2 ⁇ Bi) locally, and then re-encrypt their block functions in a Fully Homomorphic Encryption Scheme (again locally). Now, using their evaluation function, they can generate an encryption of gi (f ⁇ i Bi ), fJ 2 (Bi)), towards revealing to i, a function gi on fJ ⁇ Bi) and f ⁇ 2 (B ⁇ ). In this way, peer i also gets a function of Bi without communicating with the master node 1 of the current round.
- FIG. 2 is a flow diagram illustrating a method for establishing a trusted blockchain consensus in accordance with an embodiment of the present disclosure.
- the proposed method may be described in general context of computer executable instructions.
- computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types.
- the method can also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network.
- computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
- block 202 one or more processors of a functional blockchain consensus engine for establishing blockchain consensus of plurality of nodes, at least one node of the plurality of nodes as a master node, and other nodes of the plurality of nodes as slave nodes.
- This includes maintaining a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities. Therefore, in response to a request for accessing a set of transactions of the one or more transactions, block 204 pertains to generating, by the one or more processors, a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes.
- block 206 pertains to establishing, by the one or more processors, the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key, thereby establishing functional blockchain consensus that facilitates only revealing only a functional information based on the requested privilege level.
- block 208 pertains to revealing, by the leader processor as per the traditional consensus protocol functions of its block to counterpart processors by the use of decryption keys, from the functional encryption keys, on the encryption block in the (leader’s) metablock.
- FIG. 3 is an exemplary consensus chain with three nodes in accordance with an embodiment of the present disclosure.
- peer 2 is elected as a leader, which proposes / ⁇ ( B ) and / 3( f? ) to peers 1 and 3 respectively (apart from adding B for itself in the SightSteeple blockchain) .
- peer 3 is elected as leader, and it proposes £?f in continuation to B , while at the same time revealing only to peers 1 and 2 respectively.
- peer 1 is elected as leader, and it proposes in continuation to B f , while at the same time revealing only to peers 2 and 3 respectively.
- SightSteeple consensus scheme takes 0(n) time to achieve functional block consensus.
- the first step of collecting payments/privileges takes time O(n).
- Each node takes 0(1) (constant) time to prepare its metablock (second step).
- Achieving traditional consensus on the metablock takes nearly 0(1) time using fast blockchain protocols such as Algorand [4] (third step).
- the last step of distributing secret keys by the leader of the metablock to the rest of the peers for revealing the functions on blocks takes time 0(n). This justi es the total consensus time of SightSteeple as 0(n), for a single round of functional block proposal.
- FIG. 4 is an exemplary consensus block with nine nodes in accordance with an embodiment of the present disclosure.
- FIG. 5 illustrates an exemplary computer system to implement the proposed system in accordance with embodiments of the present disclosure.
- computer system 500 can include an external storage device 510, a bus 520, a main memory 530, a read only memory 540, a mass storage device 550, communication port 560, and a processor 570.
- processor 570 include, but are not limited to, an Intel® Itanium® or Itanium 2 processor(s), or AMD® Opteron® or Athlon MP® processor(s), Motorola® lines of processors, FortiSOCTM system on a chip processors or other future processors.
- Processor 570 may include various modules associated with embodiments of the present invention.
- Communication port 560 can be any of an RS-232 port for use with a modem based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports.
- Communication port 560 may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which computer system connects.
- LAN Local Area Network
- WAN Wide Area Network
- Memory 530 can be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art.
- Read only memory 540 can be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or BIOS instructions for processor 570.
- Mass storage 550 may be any current or future mass storage solution, which can be used to store information and/or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces), e.g.
- PATA Parallel Advanced Technology Attachment
- SATA Serial Advanced Technology Attachment
- USB Universal Serial Bus
- Seagate e.g., the Seagate Barracuda 7102 family
- Hitachi e.g., the Hitachi Deskstar 7K1000
- one or more optical discs e.g., Redundant Array of Independent Disks (RAID) storage, e.g. an array of disks (e.g., SATA arrays), available from various vendors including Dot Hill Systems Corp., LaCie, Nexsan Technologies, Inc. and Enhance Technology, Inc.
- RAID Redundant Array of Independent Disks
- Bus 520 communicatively couples processor(s) 570 with the other memory, storage and communication blocks.
- Bus 520 can be, e.g. a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), USB or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects processor 570 to software system.
- PCI Peripheral Component Interconnect
- PCI-X PCI Extended
- SCSI Small Computer System Interface
- FFB front side bus
- operator and administrative interfaces e.g. a display, keyboard, and a cursor control device
- bus 520 may also be coupled to bus 520 to support direct operator interaction with computer system.
- Other operator and administrative interfaces can be provided through network connections connected through communication port 560.
- External storage device 510 can be any kind of external hard-drives, floppy drives, IOMEGA® Zip Drives, Compact Disc - Read Only Memory (CD-ROM), Compact Disc - Re-Writable (CD- RW), Digital Video Disk - Read Only Memory (DVD-ROM).
- CD-ROM Compact Disc - Read Only Memory
- CD- RW Compact Disc - Re-Writable
- DVD-ROM Digital Video Disk - Read Only Memory
- Embodiments of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product comprising one or more computer readable media having computer readable program code embodied thereon.
- Coupled to is intended to include both direct coupling (in which two elements that are coupled to each other contact each other) and indirect coupling (in which at least one additional element is located between the two elements). Therefore, the terms “coupled to” and “coupled with” are used synonymously. Within the context of this document terms “coupled to” and “coupled with” are also used euphemistically to mean “communicatively coupled with” over a network, where two or more devices are able to exchange data with each other over the network, possibly via one or more intermediary device.
- the present disclosure provides system and method for establishing a trusted functional blockchain consensus.
- the present disclosure provides system and method for establishing a trusted functional blockchain consensus that is secure as the data blocks are encrypted based on functions and slave nodes.
- the present disclosure provides system and method for establishing a trusted functional blockchain consensus that can be incorporated easily for any cryptocurrency.
- the present disclosure provides system and method for establishing a trusted functional blockchain consensus that enables each peer is privileged to hold only a specific summary of transactions constituting the block, based on its access credentials.
- the present disclosure provides system and method for establishing a trusted functional blockchain consensus that is cost and time efficient.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (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)
Abstract
Systems and methods are disclosed for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes. According to an aspect, the method includes: maintaining, by one or more processors of a functional blockchain consensus engine for establishing blockchain consensus of the plurality of nodes, a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generating, by the one or more processors, a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes; and establishing, by the one or more processors, the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key.
Description
SYSTEM AND METHOD FOR ESTABLISHING A TRUSTED FUNCTIONAL
BLOCKCHAIN CONSENSUS
TECHNICAL FIELD
[0001] The present disclosure relates generally to blockchain transactions. More particularly, the present disclosure relates to systems and methods for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes.
BACKGROUND
[0002] Background description includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
[0003] With the widespread deployment of cryptocurrencies like Bitcoin, one of their supporting technologies, blockchain, becomes increasingly popular. It is a distributed consensus protocol that serves as a public ledger for cryptocurrency transactions. One of the problems is that their consensus protocols provide only probabilistic consistency guarantees.
[0004] In this document we use the term 'blockchain' to include all forms of electronic, computer-based, distributed ledger technologies. (DLTs) These include, but are not limited to consensus-based blockchain and transaction-chain technologies, permissioned and un-permissioned ledgers, shared ledgers, side chains and variations thereof. The most widely known application of blockchain technology is the Bitcoin ledger, although other blockchain implementations have been proposed and developed. While Bitcoin may be referred to herein for the purpose of convenience and illustration, it should be noted that the invention is not limited to use with the Bitcoin blockchain and alternative blockchain implementations and protocols fall within the scope of the present invention.
[0005] A blockchain is a consensus-based, electronic ledger which is implemented as a computer-based decentralised, distributed system made up of blocks which in turn are made up of transactions. Each transaction is a data structure that encodes the transfer of control of a
digital asset between participants in the blockchain system, and includes at least one input and at least one output. Each block contains a hash of the previous block so that blocks become chained together to create a permanent, unalterable record of all transactions which have been written to the blockchain since its inception. Transactions contain small programs known as scripts embedded into their inputs and outputs, which specify how and by whom the outputs of the transactions can be accessed. On the Bitcoin platform, these scripts are written using a stack-based scripting language.
[0006] Contemporary distributed ledger technologies employ blockchain consensus protocols to define identical distributed copies of the transactions as part of blocks, to each peer in the blockchain network. Thus, every peer in the blockchain network is privy to the same information as part of the cryptocurrency ledger. Secondly, functional encryption schemes exist in isolation from the principle of distributed consensus, as cryptosystems where each key-holder has the ability to recover some function of a message, given an encrypted message. Another cryptographic construction called fully homomorphic encryption exists to compute on cipher-texts to result in the encryption of a function of the underlying plain-texts. Unfortunately, none of these computational constructions have been used together to define novel asymmetric distributed ledger technology wherein as part of the same distributed consensus, each peer in the blockchain network agrees on a separate function of a common block, instead of an identical block.
[0007] There is therefore a need in the art to provide system and method for establishing a trusted functional blockchain consensus that seeks to overcome or at least ameliorate one or more of the above-mentioned problems and other limitations of the existing solutions and utilise techniques, which are robust, accurate, fast, efficient, cost-effective and simple.
OBJECTS OF THE PRESENT DISCLOSURE
[0008] Some of the objects of the present disclosure, which at least one embodiment herein satisfies are as listed herein below.
[0009] It is an object of the present disclosure to provide system and method for establishing a trusted functional blockchain consensus.
[0010] It is another object of the present disclosure to provide system and method for establishing a trusted functional blockchain consensus that is secure as the data blocks are encrypted based on functions and slave nodes.
[0011] It is another object of the present disclosure to provide system and method for establishing a trusted functional blockchain consensus that can be incorporated easily for any cryptocurrency.
[0012] It is another object of the present disclosure to provide system and method for establishing a trusted functional blockchain consensus that enables each peer is privileged to hold only a specific summary of transactions constituting the block, based on its access credentials.
[0013] It is another object of the present disclosure to provide system and method for establishing a trusted functional blockchain consensus that is cost effective and time-efficient.
SUMMARY
[0014] The present disclosure relates generally to blockchain transactions. More particularly, the present disclosure relates to systems and methods for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes.
[0015] An aspect of the present disclosure provides a method for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, said method comprising: maintaining, by one or more processors of a functional blockchain consensus engine for establishing blockchain consensus of the plurality of nodes, a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generating, by the one or more processors, a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes; and establishing, by the one or more processors, the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key.
[0016] In an aspect, the method comprises generating the decryption key based on the request for accessing of a set of transactions of the one or more transactions.
[0017] In an aspect, an encryption key is generated to encrypt the block, and one or more decryption keys are generated to decrypt functions of the block/metablock.
[0018] In an aspect, the generated one or more decryption keys are unique for each of the one or more functions and each of the plurality of nodes.
[0019] In an aspect, the keys are generated using a functional encryption scheme.
[0020] In an aspect, the one or more interactions comprises exchange of one or more items between the entities.
[0021] In an aspect, the one or more items comprises at least a part of Commodity
Trade Coin (CTC).
[0022] In an aspect, CTC aggregate is determined for each entity of the entities based on the one or more interactions between the entities.
[0023] In an aspect, the functional encryption scheme comprises any or a combination of homomorphic encryption, attribute-based encryption, identity-based encryption, fully secure functional encryption, and function private functional encryption.
[0024] Another aspect of the present disclosure comprises a system for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, said system comprising: a consensus engine for establishing blockchain consensus of the plurality of nodes, the consensus engine comprising one or more processors, the one or more processors coupled to a memory, the memory storing instructions executable by the processor to: maintain a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generate a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes; and establish the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key.
BRIEF DESCRIPTION OF THE DRAWINGS
[0025] FIG. 1 illustrates exemplary functional components of the proposed system in accordance with an embodiment of the present disclosure.
[0026] FIG. 2 is a flow diagram illustrating a method for establishing a trusted blockchain consensus in accordance with an embodiment of the present disclosure.
[0027] FIG. 3 is an exemplary consensus chain with three nodes in accordance with an embodiment of the present disclosure.
[0028] FIG. 4 is an exemplary consensus block with nine nodes in accordance with an embodiment of the present disclosure.
[0029] FIG. 5 illustrates an exemplary computer system to implement the proposed system in accordance with embodiments of the present disclosure.
DETAILED DESCRIPTION
[0030] In the following description, numerous specific details are set forth in order to provide a thorough understanding of embodiments of the present invention. It will be apparent to one skilled in the art that embodiments of the present invention may be practiced without some of these specific details.
[0031] Embodiments of the present invention include various steps, which will be described below. The steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special- purpose processor programmed with the instructions to perform the steps. Alternatively, steps may be performed by a combination of hardware, software, firmware and/or by human operators.
[0032] Embodiments of the present invention may be provided as a computer program product, which may include a machine-readable storage medium tangibly embodying thereon instructions, which may be used to program a computer (or other electronic devices) to perform a process. The machine-readable medium may include, but is not limited to, fixed (hard) drives, magnetic tape, floppy diskettes, optical disks, compact disc read-only memories (CD-ROMs), and magneto-optical disks, semiconductor memories, such as ROMs, PROMs, random access memories (RAMs), programmable read-only memories (PROMs), erasable PROMs (EPROMs), electrically erasable PROMs (EEPROMs), flash memory, magnetic or optical cards, or other type of media/machine-readable medium suitable for storing electronic instructions (e.g., computer programming code, such as software or firmware).
[0033] Various methods described herein may be practiced by combining one or more machine-readable storage media containing the code according to the present invention with appropriate standard computer hardware to execute the code contained therein. An apparatus for practicing various embodiments of the present invention may involve one or more computers (or one or more processors within a single computer) and storage systems containing or having network access to computer program(s) coded in accordance with various methods described herein, and the method steps of the invention could be accomplished by modules, routines, subroutines, or subparts of a computer program product.
[0034] If the specification states a component or feature “may”, “can”, “could”, or
“might” be included or have a characteristic, that particular component or feature is not required to be included or have the characteristic.
[0035] As used in the description herein and throughout the claims that follow, the meaning of “a,” “an,” and “the” includes plural reference unless the context clearly dictates otherwise. Also, as used in the description herein, the meaning of “in” includes “in” and “on” unless the context clearly dictates otherwise.
[0036] Exemplary embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which exemplary embodiments are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. These embodiments are provided so that this invention will be thorough and complete and will fully convey the scope of the invention to those of ordinary skill in the art. Moreover, all statements herein reciting embodiments of the invention, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof. Additionally, it is intended that such equivalents include both currently known equivalents as well as equivalents developed in the future (i.e., any elements developed that perform the same function, regardless of structure).
[0037] While embodiments of the present invention have been illustrated and described, it will be clear that the invention is not limited to these embodiments only. Numerous modifications, changes, variations, substitutions, and equivalents will be apparent to those skilled in the art, without departing from the spirit and scope of the invention, as described in the claim.
[0038] A blockchain network and a consensus network that are described in the implementations of the present application can be the same network. In other words, a blockchain node in the network can also be referred to as a consensus node. A node that handles service data in the network can be referred to as a service handling node and initiates consensus processing on the service data. The network includes a plurality of nodes in addition to the node. These nodes can be referred to as consensus nodes if these nodes participate in the consensus processing on the service data. In addition, these nodes can also function as service handling nodes. For example, the blockchain network includes five nodes (node 1, node 2, node 3, node 4, and node 5), and each node can function as both a service handling node and a consensus node. If node 1 handles service data, node 1 functions as a service handling node, and node 2, node 3, node 4, and node 5 function as consensus nodes for the service data and participate in consensus processing on the service data.
[0039] The blockchain network described in the implementations of the present application can include a consensus network. In this case, a consensus node included in the consensus network can perform consensus processing on a consensus request initiated by a blockchain node in the blockchain network. For example, the blockchain network includes five nodes (node 1, node 2, node 3, node 4, and node 5), where node 2, node 4, and node 5 are consensus nodes in the consensus network. In this case, node 2, node 4, and node 5 can perform consensus processing on a consensus request initiated by node 1 or node 3. Node 1 and node 3 here can function as nodes for handling service data and request the consensus nodes in the consensus network to perform consensus processing on the handled service data. That is, the consensus nodes may not participate in service data handling.
[0040] In the implementations of the present application, whether a consensus result is stored on a consensus node is not limited and can be determined based on actual demand. Both a case in which the consensus result is stored on the consensus node and a case in which the consensus result is not stored on the consensus node fall within the protection scope of the implementations of the present application.
[0041] The present disclosure relates generally to blockchain transactions. More particularly, the present disclosure relates to systems and methods for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes.
[0042] An aspect of the present disclosure provides a method for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, said method comprising: maintaining, by one or more processors of a functional blockchain consensus engine for establishing blockchain consensus of the plurality of nodes, a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generating, by the one or more processors, a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes; and establishing, by the one or more processors, the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key.
[0043] In an aspect, the method comprises generating the decryption key based on the request for accessing of a set of transactions of the one or more transactions.
[0044] In an aspect, an encryption key is generated to encrypt the block, and one or more decryption keys are generated to decrypt functions of the block/metablock.
[0045] In an aspect, the generated one or more decryption keys are unique for each of the one or more functions and each of the plurality of nodes.
[0046] In an aspect, the keys are generated using a functional encryption scheme.
[0047] In an aspect, the one or more interactions comprises exchange of one or more items between the entities.
[0048] In an aspect, the one or more items comprises at least a part of Commodity
Trade Coin (CTC).
[0049] In an aspect, CTC aggregate is determined for each entity of the entities based on the one or more interactions between the entities.
[0050] In an aspect, the functional encryption scheme comprises any or a combination of homomorphic encryption, attribute-based encryption, identity-based encryption, fully secure functional encryption, and function private functional encryption, but not limited to the likes.
[0051] Another aspect of the present disclosure comprises a system for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, said system comprising: a consensus engine for establishing blockchain consensus of the plurality of nodes, the consensus engine comprising one or more processors, the one or more processors coupled to a memory, the memory storing instructions executable by the processor to: maintain a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generate a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes; and establish the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key.
[0052] FIG. 1 illustrates exemplary functional components of the proposed system in accordance with an embodiment of the present disclosure.
[0053] In an aspect, a functional blockchain consensus engine 102 (interchangeably referred to as system 102 hereinafter) may comprise one or more processor(s) 104. The one or more processor(s) 104 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic
circuitries, and/or any devices that manipulate data based on operational instructions. Among other capabilities, the one or more processor(s) 104 are configured to fetch and execute computer-readable instructions stored in a memory 106 of the system 102. The memory 106 may store one or more computer-readable instructions or routines, which may be fetched and executed to create or share the data units over a network service. The memory 106 may comprise any non-transitory storage device including, for example, volatile memory such as RAM, or non-volatile memory such as EPROM, flash memory, and the like.
[0054] The system 102 may also comprise an interface(s) 108. The interface(s) 108 may comprise a variety of interfaces, for example, interfaces for data input and output devices, referred to as I/O devices, storage devices, and the like. The interface(s) 108 may facilitate communication of system 102. The interface(s) 108 may also provide a communication pathway for one or more components of the system 102. Examples of such components include, but are not limited to, processing engine(s) 110 and data 210.
[0055] The processing engine(s) 110 may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine(s) 110. In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine(s) 110 may be processor executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine(s) 110 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine -readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine(s) 110. In such examples, the system 102 may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine -readable storage medium may be separate but accessible to system 102 and the processing resource. In other examples, the processing engine(s) 110 may be implemented by electronic circuitry.
[0056] The data 210 may comprise data that is either stored or generated as a result of functionalities implemented by any of the components of the processing engine(s) 110 or the system 102.
[0057] In an exemplary embodiment, the processing engine(s) 110 may include a transaction engine 112, a consensus establishing engine 114, and other engine(s) 116.
[0058] In an embodiment, the system 102 can be implemented as a computing unit over the network that can be implemented as a cloud/server to which various nodes of the
network are operatively coupled to implement or establish blockchain consensus. In another embodiment, the system 102 can be individually incorporated with various nodes of the network thereby establishing blockchain consensus.
[0059] In an embodiment, the transaction engine 112 facilitates maintaining details associated with transactions being conducted and updating details associated with the transactions. The transactions between entities needs to be documented and a consensus needs to be established between plurality of nodes of the blockchain network.
[0060] In an embodiment, for establishing a consensus amongst the plurality of nodes a round of communication is being conducted between the plurality of nodes. For every round of communication being conducted after a predefined or preconfigured time period each node of the plurality of nodes generates a block. Subsequently a round leader (interchangeably referred to as primary node herein) is selected for every round. The round leader can be elected using a blockchain consensus protocol such as Bitcoin, Algorand, and Cardano. The generated block can include one or more functions and the one or more transaction being conducted between the entities. In an embodiment a new block is generated by each of the plurality of nodes for each round of communication.
[0061] In an embodiment, the generated block is maintained by the transaction engine
112. In one embodiment, the generated block is discarded after a first predefined time period. In another embodiment, the generated block is discarded after every round of communication. In another embodiment, the generated block is stored on a database (not shown). It would be appreciated by the person skilled in the art that the database is located on a cloud/server. [0062] In an embodiment, the consensus establishing engine 114 configured to facilitate establishing of consensus amongst the plurality of nodes. In an embodiment, as a request for accessing a set of transactions from the one or more transactions is requested by any one of the plurality of nodes the consensus establishing engine 114 metablock is being transmitted to the plurality of other nodes (interchangeably referred to as secondary nodes or slave nodes hereinafter) by the round leader. The metablock includes Commodity Trade Coin (CTC) payments / privilege levels, CTC payment / privilege level received for revealing the set of functions, functional encrypted block, and a plain text description of the set of functions, and a hash of the decryption key.
[0063] In an embodiment, the consensus establishing engine 114 can be configured to establish consensus amongst the plurality of nodes based on generated meta block. For each of the plurality of nodes a unique key is generated. The unique key can be generated based on the set of functions that the particular node has requested access for and hence a functional
consensus can be established amongst the plurality of nodes. For example, in a block chain network comprising 4 nodes each node has to provide a payment of CTC to the leader node to request certain level of information and hence, based on the request, the decryption key can be generated, that can be based on homomorphic encryption scheme, to allow only the requested transaction to be revealed to designated node.
[0064] In an embodiment, Given the case that in any round, any slave node cannot claim a key from master node, there is an alternate method to obtain a function of the proposed block Bi. for example, consider two peers ji; j2 who have claimed keys skfi and
Jj2 sk i . They can decrypt their block functions fj^iBi) and f2{Bi) locally, and then re-encrypt their block functions in a Fully Homomorphic Encryption Scheme (again locally). Now, using their evaluation function, they can generate an encryption of gi (f^i Bi ), fJ2(Bi)), towards revealing to i, a function gi on fJ^Bi) and f}2(B{). In this way, peer i also gets a function of Bi without communicating with the master node 1 of the current round.
[0065] FIG. 2 is a flow diagram illustrating a method for establishing a trusted blockchain consensus in accordance with an embodiment of the present disclosure.
[0066] In an aspect, the proposed method may be described in general context of computer executable instructions. Generally, computer executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, etc., that perform particular functions or implement particular abstract data types. The method can also be practiced in a distributed computing environment where functions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage devices.
[0067] The order in which the method as described is not intended to be construed as a limitation, and any number of the described method blocks may be combined in any order to implement the method or alternate methods. Additionally, individual blocks may be deleted from the method without departing from the spirit and scope of the subject matter described herein. Furthermore, the method may be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method may be considered to be implemented in the above described system.
[0068] In context of a flow diagram 200, at block 202 one or more processors of a functional blockchain consensus engine for establishing blockchain consensus of plurality of
nodes, at least one node of the plurality of nodes as a master node, and other nodes of the plurality of nodes as slave nodes. This includes maintaining a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities. Therefore, in response to a request for accessing a set of transactions of the one or more transactions, block 204 pertains to generating, by the one or more processors, a metablock by at least one of the plurality of nodes based on the generated block and a set of accesses enabled for each of the plurality of nodes. Further, block 206 pertains to establishing, by the one or more processors, the blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions being extracted using a decryption key, thereby establishing functional blockchain consensus that facilitates only revealing only a functional information based on the requested privilege level. Furthermore, block 208 pertains to revealing, by the leader processor as per the traditional consensus protocol functions of its block to counterpart processors by the use of decryption keys, from the functional encryption keys, on the encryption block in the (leader’s) metablock.
[0069] It would be appreciated by the person skilled in the art that using message- private and function-private functional encryption schemes, it can be ensured that the under the SightSteeple consensus protocol of peers who collude and exchange between themselves their individual information on the block, and even their secret keys under the functional encryption scheme, then each peer does not learn any information more than the block information as prepared by the colluding pair of peers.
[0070] FIG. 3 is an exemplary consensus chain with three nodes in accordance with an embodiment of the present disclosure.
[0071] In context of the present example 300, as shown one possible evolution of functional block proposal for three peers participating in blockchain consensus (alternatively referred to as SightSteeple consensus herein). In the first round, peer 2 is elected as a leader, which proposes / \(B ) and /3(f? ) to peers 1 and 3 respectively (apart from adding B for itself in the SightSteeple blockchain) . In the next round, peer 3 is elected as leader, and it proposes £?f in continuation to B , while at the same time revealing only
to peers 1 and 2 respectively. Similarly, in round three, peer 1 is elected as leader, and it proposes in continuation to B f , while at the same time revealing only
to peers 2 and 3 respectively.
[0072] It would be appreciated by the person skilled in the art that SightSteeple consensus scheme takes 0(n) time to achieve functional block consensus. For each node of the plurality of nodes, the first step of collecting payments/privileges takes time O(n). Each node takes 0(1) (constant) time to prepare its metablock (second step). Achieving traditional consensus on the metablock takes nearly 0(1) time using fast blockchain protocols such as Algorand [4] (third step). The last step of distributing secret keys by the leader of the metablock to the rest of the peers for revealing the functions on blocks takes time 0(n). This justi es the total consensus time of SightSteeple as 0(n), for a single round of functional block proposal.
[0073] FIG. 4 is an exemplary consensus block with nine nodes in accordance with an embodiment of the present disclosure.
[0074] In context of the present example 400, a round of block proposal can be fixed, and give an instance of functions where, ft(Bi) reveals the first tL transactions of Bi. We fix i e{ 1, 2, .8}, and 1 = 9.
[0075] FIG. 5 illustrates an exemplary computer system to implement the proposed system in accordance with embodiments of the present disclosure.
[0076] As shown in FIG. 5, computer system 500 can include an external storage device 510, a bus 520, a main memory 530, a read only memory 540, a mass storage device 550, communication port 560, and a processor 570. A person skilled in the art will appreciate that computer system may include more than one processor and communication ports. Examples of processor 570 include, but are not limited to, an Intel® Itanium® or Itanium 2 processor(s), or AMD® Opteron® or Athlon MP® processor(s), Motorola® lines of processors, FortiSOC™ system on a chip processors or other future processors. Processor 570 may include various modules associated with embodiments of the present invention. Communication port 560 can be any of an RS-232 port for use with a modem based dialup connection, a 10/100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. Communication port 560 may be chosen depending on a network, such a Local Area Network (LAN), Wide Area Network (WAN), or any network to which computer system connects.
[0077] Memory 530 can be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. Read only memory 540 can be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information e.g., start-up or BIOS instructions for processor 570. Mass storage 550 may be any current or future mass storage solution, which can be used to store
information and/or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and/or Firewire interfaces), e.g. those available from Seagate (e.g., the Seagate Barracuda 7102 family) or Hitachi (e.g., the Hitachi Deskstar 7K1000), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g. an array of disks (e.g., SATA arrays), available from various vendors including Dot Hill Systems Corp., LaCie, Nexsan Technologies, Inc. and Enhance Technology, Inc.
[0078] Bus 520 communicatively couples processor(s) 570 with the other memory, storage and communication blocks. Bus 520 can be, e.g. a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), USB or the like, for connecting expansion cards, drives and other subsystems as well as other buses, such a front side bus (FSB), which connects processor 570 to software system.
[0079] Optionally, operator and administrative interfaces, e.g. a display, keyboard, and a cursor control device, may also be coupled to bus 520 to support direct operator interaction with computer system. Other operator and administrative interfaces can be provided through network connections connected through communication port 560. External storage device 510 can be any kind of external hard-drives, floppy drives, IOMEGA® Zip Drives, Compact Disc - Read Only Memory (CD-ROM), Compact Disc - Re-Writable (CD- RW), Digital Video Disk - Read Only Memory (DVD-ROM). Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system limit the scope of the present disclosure.
[0080] Embodiments of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or combining software and hardware implementation that may all generally be referred to herein as a “circuit,” “module,” “component,” or “system.” Furthermore, aspects of the present disclosure may take the form of a computer program product comprising one or more computer readable media having computer readable program code embodied thereon.
[0081] Thus, it will be appreciated by those of ordinary skill in the art that the diagrams, schematics, illustrations, and the like represent conceptual views or processes illustrating systems and methods embodying this invention. The functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing associated software. Similarly, any switches shown in the figures are conceptual only. Their function may be carried out through the operation of
program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the entity implementing this invention. Those of ordinary skill in the art further understand that the exemplary hardware, software, processes, methods, and/or operating systems described herein are for illustrative purposes and, thus, are not intended to be limited to any particular named.
[0082] As used herein, and unless the context dictates otherwise, the term "coupled to" is intended to include both direct coupling (in which two elements that are coupled to each other contact each other) and indirect coupling (in which at least one additional element is located between the two elements). Therefore, the terms "coupled to" and "coupled with" are used synonymously. Within the context of this document terms "coupled to" and "coupled with" are also used euphemistically to mean “communicatively coupled with” over a network, where two or more devices are able to exchange data with each other over the network, possibly via one or more intermediary device.
[0083] It should be apparent to those skilled in the art that many more modifications besides those already described are possible without departing from the inventive concepts herein. The inventive subject matter, therefore, is not to be restricted except in the spirit of the appended claims. Moreover, in interpreting both the specification and the claims, all terms should be interpreted in the broadest possible manner consistent with the context. In particular, the terms “comprises” and “comprising” should be interpreted as referring to elements, components, or steps in a non-exclusive manner, indicating that the referenced elements, components, or steps may be present, or utilized, or combined with other elements, components, or steps that are not expressly referenced. Where the specification claims refers to at least one of something selected from the group consisting of A, B, C .... and N, the text should be interpreted as requiring only one element from the group, not A plus N, or B plus N, etc.
[0084] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.
ADVANTAGES OF THE PRESENT DISCLOSURE
[0085] The present disclosure provides system and method for establishing a trusted functional blockchain consensus.
[0086] The present disclosure provides system and method for establishing a trusted functional blockchain consensus that is secure as the data blocks are encrypted based on functions and slave nodes.
[0087] The present disclosure provides system and method for establishing a trusted functional blockchain consensus that can be incorporated easily for any cryptocurrency.
[0088] The present disclosure provides system and method for establishing a trusted functional blockchain consensus that enables each peer is privileged to hold only a specific summary of transactions constituting the block, based on its access credentials.
[0089] The present disclosure provides system and method for establishing a trusted functional blockchain consensus that is cost and time efficient.
Claims
1. A method for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, characterized in that said method comprising: maintaining (202), by one or more processors (104) of a functional blockchain consensus engine (114) for establishing blockchain consensus of the plurality of nodes, an agreement on functions of a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generating (204), by the one or more processors (104), a metablock by at least one of the plurality of nodes to provide access to the set of transactions based on the generated block and a set of accesses enabled for each of the plurality of nodes, wherein the metablock includes one of commodity trade coin (CTC) payments, privilege/ access levels, CTC payment, privilege/access level received for revealing the set of functions, functional encrypted block, a plain text description of the set of functions, and a hash of the decryption key; and establishing (206), by the one or more processors (104), the functional blockchain consensus among the plurality of nodes based on the generated metablock by application of one or more functions of the generated block being extracted using decryption keys under a functional encryption scheme.
2. The method as claimed in claim 1, wherein the method comprises generating the decryption key based on the request for accessing of a set of transactions of the one or more transactions.
3. The method as claimed in claim 1, wherein an encryption key is generated to encrypt the block, and wherein one or more decryption keys are generated to decrypt different functions of the block.
4. The method as claimed in claim 3, wherein the generated one or more decryption keys are unique for each of the one or more functions and each of the plurality of nodes.
5. The method as claimed in claim 3, wherein the keys are generated using a functional encryption scheme.
6. The method as claimed in claim 1, wherein the one or more interactions comprises exchange of one or more items between the entities.
7. The method as claimed in claim 6, wherein the one or more items comprises at least a part of Commodity Trade Coin (CTC).
8. The method as claimed in claim 7, wherein the CTC aggregate is determined for each entity of the entities based on the one or more interactions between the entities.
9. The method as claimed in claim 5, wherein the functional encryption scheme comprises any or a combination of attribute -based encryption, identity based encryption, fully secure functional encryption, and function private functional encryption.
10. A system (102) for establishing a trusted functional blockchain consensus over an asymmetric distributed multi-node communication network having a plurality of participating nodes, characterized in that said system comprising: a functional consensus engine (114) for establishing functional blockchain consensus of the plurality of nodes, wherein the consensus engine (114) comprising one or more processors (104), the one or more processors coupled to a memory (106), the memory storing instructions executable by the processor to: maintain (202) an agreement on functions of a block of information generated at each of the plurality of nodes pertaining to one or more transactions being conducted between entities; in response to a request for accessing of a set of transactions of the one or more transactions, generate (204) a metablock by at least one of the plurality of nodes to provides access to the set of transactions based on the generated block and a set of accesses enabled for each of the plurality of nodes, wherein the metablock includes one of commodity trade coin (CTC) payments, privilege/ access levels, CTC payment,
privilege/access level received for revealing the set of functions, functional encrypted block, a plain text description of the set of functions, and a hash of the decryption key; and establish (206) the functional blockchain consensus among the plurality of nodes based on the generated metablock, by application of one or more functions of the generated block, being extracted using decryption keys under a functional encryption scheme.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202011015452 | 2020-04-08 | ||
IN202011015452 | 2020-04-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021205241A1 true WO2021205241A1 (en) | 2021-10-14 |
Family
ID=78023094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/IB2021/051068 WO2021205241A1 (en) | 2020-04-08 | 2021-02-10 | System and method for establishing a trusted functional blockchain consensus |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2021205241A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949518A (en) * | 2021-10-18 | 2022-01-18 | 甘肃同兴智能科技发展有限责任公司 | Consensus method and system for improving block chain throughput |
CN115733859A (en) * | 2022-11-08 | 2023-03-03 | 昆明理工大学 | IOT data credible collection and sharing method based on block chain and attribute encryption |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160028552A1 (en) * | 2014-07-25 | 2016-01-28 | Blockchain Technologies Corporation | System and method for creating a multi-branched blockchain with configurable protocol rules |
EP3364353A1 (en) * | 2017-02-17 | 2018-08-22 | Accenture Global Services Limited | Hardware blockchain consensus operating procedure enforcement |
-
2021
- 2021-02-10 WO PCT/IB2021/051068 patent/WO2021205241A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160028552A1 (en) * | 2014-07-25 | 2016-01-28 | Blockchain Technologies Corporation | System and method for creating a multi-branched blockchain with configurable protocol rules |
EP3364353A1 (en) * | 2017-02-17 | 2018-08-22 | Accenture Global Services Limited | Hardware blockchain consensus operating procedure enforcement |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113949518A (en) * | 2021-10-18 | 2022-01-18 | 甘肃同兴智能科技发展有限责任公司 | Consensus method and system for improving block chain throughput |
CN113949518B (en) * | 2021-10-18 | 2024-05-28 | 甘肃同兴智能科技发展有限责任公司 | Consensus method and system for improving throughput of block chain |
CN115733859A (en) * | 2022-11-08 | 2023-03-03 | 昆明理工大学 | IOT data credible collection and sharing method based on block chain and attribute encryption |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10846416B2 (en) | Method for managing document on basis of blockchain by using UTXO-based protocol, and document management server using same | |
TWI740423B (en) | System and method for providing privacy and security protection in blockchain-based private transactions | |
US20200374134A1 (en) | Method and apparatus for processing account information in block chain, storage medium, and electronic apparatus | |
CN112491847B (en) | Block chain all-in-one machine and automatic chain building method and device thereof | |
Baird et al. | Hedera: A public hashgraph network & governing council | |
CN110945550B (en) | Processing and storing blockchain data in a trusted execution environment | |
EP3438903B1 (en) | Hierarchical network system, and node and program used in same | |
US20190268139A1 (en) | Data authentication using a blockchain approach | |
US20180285839A1 (en) | Providing data provenance, permissioning, compliance, and access control for data storage systems using an immutable ledger overlay network | |
US11940958B2 (en) | Artificial intelligence software marketplace | |
JP6756041B2 (en) | Information protection systems and methods | |
JP2020511807A (en) | Achieving consensus among network nodes in distributed systems | |
EP3739538A1 (en) | System and method of supporting reflection of transactions between blockchain networks | |
JP2020507098A (en) | Authentication system through combination after separation of personal information using blockchain | |
US11128440B2 (en) | Blockchain based file management system and method thereof | |
CN110771127A (en) | Method and system for consistent distributed memory pools in blockchain networks | |
US20190268153A1 (en) | Event execution using a blockchain approach | |
JP2021518962A (en) | Asynchronous processing of blockchain blocks | |
US11893577B2 (en) | Cryptographic key storage system and method | |
WO2022058183A1 (en) | Integrating device identity into a permissioning framework of a blockchain | |
WO2021205241A1 (en) | System and method for establishing a trusted functional blockchain consensus | |
US20220222237A1 (en) | Systems and methods for synchronizing database operations with a distributed blockchain | |
US11625385B2 (en) | Method and apparatus for managing data based on blockchain | |
WO2021134835A1 (en) | System and methods for data exchange using a distributed ledger | |
KR20210063055A (en) | Distributed blockchain oracle system by using TEE and method of transferring external data in the oracle system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21785078 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21785078 Country of ref document: EP Kind code of ref document: A1 |