Abstract: A SYSTEM AND METHOD FOR STORING TRANSACTION RECORDS USING BLOCKCHAIN The present invention discloses an electronic transaction system and method using a blockchain to store transaction records. The system passes blocks between blockchains of a plurality of blockchains, wherein each member of the blockchain network can verify the immutable record of data transactions free of the mutual trust requirement of a typical blockchain environment. (To be published with figure 1)
Description:TECHNICAL FIELD
[0001] The present invention is related to an electronic transaction system and method, in particular, an electronic transaction system and method using a blockchain to store transaction records.
BACKGROUND
[0002] Blockchain technology, also known as distributed ledger technology, is a new technology in which computing devices jointly participate in "accounting" and jointly maintain a fully distributed database. Blockchain technology is characterized by decentralization, as well as openness and transparency. In blockchain technology, each computing device can participate in database recording, and data synchronization can be implemented quickly between computing devices. With the above in mind, blockchain technology is used to establish a distributed system, and various executable programs are collected in a blockchain distributed database for automatic execution. Blockchain technology is widely applied in various fields.
[0003] Bitcoins, blockchains, that are developed as the accounting method for Bitcoin and use a distributed ledger technology (DLT), are appearing in a variety of commercial applications today. Given the potential of this distributed ledger technology to simplify current business operations, and to offer the ability to create businesses and operations that are both flexible and secure, it should not be surprised to see DLT services and products becoming more mainstream in the near future.
[0004] The primary characteristics underlying the blockchain technology are: blockchain is capable of maintaining and managing the general ledger. The blockchain has complete information about different user addresses and their balances right from the genesis block to the most recently completed block. An indelible record is created. However, once the private key is lost, the right to access the digital record is compromised. For any transaction request, a digital signature is needed.
[0005] Given the above characteristics, the blockchain provides an open, transparent, and decentralized operating mode which is most appropriate to be applied in a wide variety of commercial applications. However, for commerce and financial transactions using blockchain technology nowadays, there is still room for improvement with respect to transaction security, and the protection mechanism for the assets or equity needs to be established.
[0006] Therefore, there is a need of a system and method which overcomes the aforementioned problems.
SUMMARY
[0007] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems.
[0008] Before the present subject matter relating to a system and method for storing transaction records using blockchain, it is to be understood that this application is not limited to the particular system described, as there can be multiple possible embodiments which are not expressly illustrated in the present disclosure. It is also to be understood that the terminology used in the description is for the purpose of describing the implementations or versions or embodiments only and is not intended to limit the scope of the present subject matter.
[0009] This summary is provided to introduce aspects related to a system and method for storing transaction records using blockchain. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the present subject matter.
[0010] In one embodiment, a system and method for providing immutable records in a computing perform a step of passing blocks between blockchains of the plurality of blockchains. Each member of the blockchain network can verify the immutable record of data transactions free of the mutual trust requirement of a typical blockchain environment. In another embodiment, the system and method perform a step of entering an event record into an event log of the computing system wherein the block was generated, wherein the event record may contain actionable instructions, requests, etc.
BRIEF DESCRIPTION OF ACCOMPANYING DRAWINGS
[0011] The detailed description is described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference features and modules.
[0012] Figure 1 illustrates a block diagram depicting a blockchain within a system according to an embodiment of the present disclosure.
[0013] Figure 2 illustrates a block diagram depicting an example computing device according to an embodiment of the present disclosure.
[0014] Figure 3 illustrates a block diagram depicting a block chain provided in each node and blocks constituting the block chain in the system according to an embodiment of the present disclosure.
[0015] It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative methods embodying the principles of the present disclosure. Similarly, it will be appreciated that any flow charts, flow diagrams, and the like represent various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
DETAILED DESCRIPTION
[0016] The invention will now be described with reference to the accompanying drawings and embodiments which do not limit the scope and ambit of the invention. The description provided is purely by way of example and illustration.
[0017] One or more embodiments are provided so as to thoroughly and fully convey the scope of the present invention to the person skilled in the art. Numerous details are set forth, relating to specific components, and methods, to provide a complete understanding of embodiments of the present invention. It will be apparent to the person skilled in the art that the details provided in the embodiments should not be construed to limit the scope of the present invention. In some embodiments, well-known processes, well-known apparatus structures, and well-known techniques are not described in detail.
[0018] The terminology used, in the present invention, is only for the purpose of explaining a particular embodiment and such terminology shall not be considered to limit the scope of the present invention. As used in the present invention, the forms "a,” "an," and "the" may be intended to include the plural forms as well, unless the context clearly suggests otherwise. The terms "comprises," "comprising," “including,” and “having,” are open ended transitional phrases and therefore specify the presence of stated features, integers, steps, operations, elements, modules, units and/or components, but do not forbid the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The particular order of steps disclosed in the method and process of the present invention is not to be construed as necessarily requiring their performance as described or illustrated. It is also to be understood that additional or alternative steps may be employed.
[0019] Figure 1 illustrates a block diagram depicting a blockchain within a system according to an embodiment of the present disclosure.
[0020] The block 10 may include a header 11 and a payload 13. The block 10 may be produced or otherwise implemented on the computing system 1 by a blockchain implementation, according to an embodiment of the present disclosure. The block 10 of FIG. 1 comprises a block identifier (or block ID) 12, a blockchain version (or blockchain version identifier) 14, a blockchain identifier (or blockchain ID) 16, a timestamp 18, a proof-of-work region (or POWR) 20 (which may be considered a set within the meaning of mathematical set theory), a block digest 30, a target difficulty 40, a block nonce 50, and a collection 60 of contributing block digests. The block 10 may include one or more record digest(s) 70, 72, 74 (e.g., merkel roots), including a record digest 70 of the instant block 10 and one or more record digests 72, 74 of blocks of participating neighbor blockchains. The record digests 70, 72, 74 may be considered a set within the meaning of mathematical set theory. The block 10 may include one more block headers 80, 82 of blocks received from other blockchains (e.g., participating neighbor blockchains).
[0021] Block 10 may include a collection 90 of records within the payload 13. The collection of records may comprise transaction records. A transaction record may comprise an entry of information concerning a transaction.
[0022] The header 11 of the block 10 may comprise the block ID 12, the blockchain version 14, the blockchain ID 16, the timestamp 18, the POWR 20, the block digest 30, the target difficulty 40, the block nonce 50, the collection 60 of contributing block digests, and a record digest 70 (merkel root) of the transactions of the block 10. The payload 13 may comprise the collection 90 of records.
[0023] The block ID 12 may be a sequential identifier indicating a relative order of the block 10 in the blockchain to which the block 10 belongs. The blockchain version identifier 14 may indicate the particular version of blockchain protocol under which the blockchain that created the block 10 is operating. The timestamp 18 may be an indicator of the system time, according to a timekeeping subsystem of the computing system 1 hosting the blockchain, at which the block 10 was created. The POWR 20, the block digest 30, the target difficulty 40, and the collection 60 of contributing block digests are further described below. The form and order of the above elements within the block 10 may be governed by the blockchain protocol under which the blockchain that created the block 10 operates.
[0024] The computing system 1 may be any appropriate computing system including one or more computing devices, each comprising one or more processors, one or more computer readable media, one or more electronic memory, one or more input/output devices, and/or one or more communication interfaces.
[0025] The order of the elements 12-90 shown in FIG. 1 is for the convenience of the reader, and not a requirement of a particular embodiment of the disclosure. An embodiment of the present disclosure may have more elements than described herein, or fewer.
[0026] Figure 2 illustrates a block diagram depicting an example computing device according to an embodiment of the present disclosure.
[0027] The computing device 200 may include a processor 203 for controlling the overall operation of the computing device 200 and its associated components, including RAM 205, ROM 207, input/output device 209, communication interface 211, and/or memory 215. A data bus may interconnect processor(s) 203, RAM 205, ROM 207, memory 215, I/O device 209, and/or communication interface 211. In some embodiments, computing device 200 may represent, be incorporated in, and/or include various devices such as a desktop computer, a computer server, a mobile device, such as a laptop computer, a tablet computer, a smart phone, any other types of mobile computing devices, and the like, and/or any other type of data processing device.
[0028] Input/output (I/O) device 209 may include a microphone, keypad, touch screen, and/or stylus through which a user of the computing device 200 may provide input, and may also include one or more of a speaker for providing audio output and a video display device for providing textual, audiovisual, and/or graphical output. Software may be stored within memory 215 to provide instructions to processor 203, allowing computing device 200 to perform various actions. Memory 215 may store software used by the computing device 200, such as an operating system 217, application programs 219, and/or an associated internal database 221. The various hardware memory units in memory 215 may include volatile and nonvolatile, removable, and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Memory 215 may include one or more physical persistent memory devices and/or one or more non-persistent memory devices. Memory 215 may include, but is not limited to, random access memory (RAM) 205, read-only memory (ROM) 207, electronically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store the desired information and that may be accessed by processor 203.
[0029] Communication interface 211 may include one or more transceivers, digital signal processors, and/or additional circuitry and software for communicating via any network, wired or wireless, using any protocol as described herein.
[0030] Processor 203 may include a single central processing unit (CPU), which may be a single core or multi-core processor, or may include multiple CPUs. Processor(s) 203 and associated components may allow the computing device 200 to execute a series of computer-readable instructions to perform some or all of the processes described herein. Although not shown in FIG. 2, various elements within memory 215 or other components in computing device 200, may include one or more caches including, but not limited to, CPU caches used by the processor 203, page caches used by the operating system 217, disk caches of a hard drive, and/or database caches used to cache content from database 221. For embodiments including a CPU cache, the CPU cache may be used by one or more processors 203 to reduce memory latency and access time. A processor 203 may retrieve data from or write data to the CPU cache rather than reading/writing to memory 215, which may improve the speed of these operations. In some examples, a database cache may be created in which certain data from a database 221 is cached in a separate smaller database in a memory separate from the database, such as in RAM 205 or on a separate computing device. For instance, in a multi-tiered application, a database cache on an application server may reduce data retrieval and data manipulation time by not needing to communicate over a network with a back-end database server. These types of caches and others may be included in various embodiments, and may provide potential advantages in certain implementations of devices, systems, and methods described herein, such as faster response times and less dependence on network conditions when transmitting and receiving data.
[0031] Figure 3 illustrates a block diagram depicting a block chain provided in each node and blocks constituting the block chain in the system according to an embodiment of the present disclosure.
[0032] Referring to FIG. 3, each of the blocks of the block chain includes not only a block hash value of the block chain but also a block hash value for the immediately previous block, so that the blocks of the block chain are linked to each other like a chain.
[0033] The IP list 11 stores the IP addresses and the port numbers of all the nodes having the block chain, and is provided by all the nodes.
[0034] The data storage module 12 is a memory area in which a generated data or file is stored in a preset folder. Each node designates, in advance, a folder for storing the data or the file to be shared with other nodes in a data storage area. With the system according to the present invention, it is possible to provide a file sharing platform in which all the nodes can share the data stored in the data storage module.
[0035] When the data or the file is stored or deleted in or from the preset folder of the data storage module 12, the transaction transmission module 13 sets a data name, generates a transaction containing information on the data or file including the data name, owner information, and a digital signature, and transmits the generated transaction to other nodes having the block chain. In this specification, for the convenience of description, the node that transmitted the transaction is referred to as a transaction transmitting node.
[0036] It is preferable that the data name is converted into an ASCII code form to be included in a transaction, and the IP address and the port number are converted into a decimal form to be included in the transaction.
[0037] It is preferable that when the data or the file is stored in the preset folder, the transaction transmission module adds a first flag indicating the generation of the data or the file to the transaction as a portion of the information on the data; and when the data or the file is stored from the preset folder, the transaction transmission module adds a second flag indicating the deletion of the data to the transaction a portion of the information on the data.
[0038] When receiving a transaction from other nodes having the block chain, the block chain execution module 14 generates a block for the received transaction and links the block to the block chain to expand the block chain. In the present specification, for the convenience of description, the node receiving the transaction from the transaction transmitting node is referred to as a transaction receiving node. Hereinafter, the operation of the block chain execution module 14 will be described in more detail.
[0039] When the block chain execution module receives a transaction from another node, the block chain execution module executes a proof of work to generate the necessary block hash value in order to generate the block. The proof of work is a task of generating a hexadecimal block hash value satisfying a predetermined number of 0's by calculating a random nonce value with the received transaction by using a preset hash function. The system according to the present invention uses a SHA 256 hash function. In addition, other hash functions may be used. The reason for executing the proof of work is to allow which node among the nodes participating in the block chain is to generate the block not to be known, so that a malicious node cannot identify the node to generate the current block, and thus, a malicious attack can be prevented. For example, the height of the block chain of the bit coin is 417453, and the number of 0's of the block hash value is 17. In the bit coin, a degree of difficulty of block generation is adjusted by increasing the number of 0's. The degree of difficulty of block generation is set in such a manner that the number of 0's is taken to generate one block every 10 minutes as a reference based on a system having the highest performance CPU or GPU at present.
[0040] When a node has first succeeded in the proof of work among the transaction receiving nodes, the block chain execution module finds a block hash value and a random nonce value generates a block by using the block hash value and the nonce value, and transmits a message indicating that the block is generated, the found block hash value, and the random nonce value to all the nodes. In the present specification, for the convenience of description, the node that has first succeeded in the proof of work among the transaction receiving nodes is referred to as proof-of-work succeeding node.
[0041] When the block hash value and the nonce value are received from the proof-of-work succeeding node, the block chain execution module verifies the validity of the transaction, the received block hash value, and the received nonce value by using the validity verification algorithm. After that, when the verification of validity is completed, the block chain execution module generates an additional block by using the received block hash value and the received nonce value and links the additional block to the block chain.
[0042] The file search module 15 is configured to search for the data stored in each node and the owner by using the block chain 10 and the IP list 11.
[0043] When the data name to be searched for is input, the file search module reads out the nonce value of each block stored in the block chain, generates the block hash value by using the read nonce value, the input data name, and the IP address and the port number of each node in the IP list, and determines whether or not the generated block hash value matches with the block hash value of the block including the nonce value. If there is a block having the block hash value that matches with the generated block hash, it is determined that the node having the corresponding IP address and the port number is the owner, and the corresponding node is requested to transmit the corresponding data. If there is no block having the block hash value that matches with the generated block hash value, it is determined that there is no corresponding data.
[0044] Meanwhile, in the system according to the present invention, if one transaction is received from other nodes having the block chain, the block chain execution module generates one block for the received one transaction and links the block to the block chain.
[0045] The foregoing description of the invention has been set merely to illustrate the invention and is not intended to be limiting. Since modifications of the disclosed embodiments incorporating the substance of the invention may occur to person skilled in the art, the invention should be construed to include everything within the scope of the invention.
, Claims:We claim:
1. A method for providing immutable records in a computing system, comprising:
passing blocks between blockchains of the plurality of blockchains, wherein each member of the blockchain network can verify the immutable record of data transactions free of the mutual trust requirement of a typical blockchain environment.
2. The method as claimed in claim 1, comprising:
transmitting the event record to computing systems of participating neighbor blockchains, where actionable items may be acted upon.
3. The method as claimed in claim 1, comprising:
generating a cryptographic digest in a block of a blockchain network, wherein generating the cryptographic digest in conformation with a minimum degree of difficulty and a nonce.
4. The method as claimed in claim 1, comprising:
generating a proof-of-work (POW) digest of the most recent block of a principal series of blocks; and
cryptographically hashing a block digest of the most recent block with a nonce to achieve (comply with) a target difficulty.
5. A system for generating event records in a computing system, comprising:
entering an event record into an event log of the computing system wherein the block was generated, wherein the event record may contain actionable instructions, requests, etc.
6. The system as claimed in claim 5, comprising: a blockchain network of multiple blockchains, wherein each block includes a cryptographic digest, a nonce, and a list of cryptographic digests of recent blocks of participating neighbor blockchains.
5. The system as claimed in claim 5, comprising: means configured to exchange, compare, and adjust the event logs to reflect the earliest appearance of each block of each participating neighbor blockchain.
7. The system as claimed in claim 5, comprising: a principal blockchain module configured to store transaction records in a principal series of blocks that are chronologically linked,
9. The system as claimed in claim 5, wherein the system is configured to provide provable ordering of events within and between dynamically changing state machines, comprising: a computing system used for transactional record keeping.
| # | Name | Date |
|---|---|---|
| 1 | 202321064624-STATEMENT OF UNDERTAKING (FORM 3) [26-09-2023(online)].pdf | 2023-09-26 |
| 2 | 202321064624-POWER OF AUTHORITY [26-09-2023(online)].pdf | 2023-09-26 |
| 3 | 202321064624-FORM FOR STARTUP [26-09-2023(online)].pdf | 2023-09-26 |
| 4 | 202321064624-FORM FOR SMALL ENTITY(FORM-28) [26-09-2023(online)].pdf | 2023-09-26 |
| 5 | 202321064624-FORM 1 [26-09-2023(online)].pdf | 2023-09-26 |
| 6 | 202321064624-FIGURE OF ABSTRACT [26-09-2023(online)].pdf | 2023-09-26 |
| 7 | 202321064624-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [26-09-2023(online)].pdf | 2023-09-26 |
| 8 | 202321064624-EVIDENCE FOR REGISTRATION UNDER SSI [26-09-2023(online)].pdf | 2023-09-26 |
| 9 | 202321064624-DRAWINGS [26-09-2023(online)].pdf | 2023-09-26 |
| 10 | 202321064624-DECLARATION OF INVENTORSHIP (FORM 5) [26-09-2023(online)].pdf | 2023-09-26 |
| 11 | 202321064624-COMPLETE SPECIFICATION [26-09-2023(online)].pdf | 2023-09-26 |
| 12 | Abstract.jpg | 2024-01-22 |