WO2020159072A1 - 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치 - Google Patents

블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치 Download PDF

Info

Publication number
WO2020159072A1
WO2020159072A1 PCT/KR2019/017520 KR2019017520W WO2020159072A1 WO 2020159072 A1 WO2020159072 A1 WO 2020159072A1 KR 2019017520 W KR2019017520 W KR 2019017520W WO 2020159072 A1 WO2020159072 A1 WO 2020159072A1
Authority
WO
WIPO (PCT)
Prior art keywords
blockchain
transaction
request transaction
cache
request
Prior art date
Application number
PCT/KR2019/017520
Other languages
English (en)
French (fr)
Inventor
테겔런드비욘
Original Assignee
주식회사 카사코리아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020190010322A external-priority patent/KR20200093719A/ko
Priority claimed from KR1020190087569A external-priority patent/KR102262618B1/ko
Application filed by 주식회사 카사코리아 filed Critical 주식회사 카사코리아
Publication of WO2020159072A1 publication Critical patent/WO2020159072A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof

Definitions

  • the present invention relates to a method for high-speed processing of transactions on a blockchain and an apparatus using such a method. More specifically, it relates to a method and apparatus for processing a transaction that requires processing at high speed without generating unnecessary load on the blockchain platform.
  • the blockchain may be a digital ledger in which transaction information generated in a public network or a private network is encrypted and shared between members of the network.
  • a copy of the ledger of the transaction is distributed to each network member, and whenever a new transaction occurs, the authentication process for the transaction can be performed through the members' consent.
  • Transparent transactions through a distributed ledger system can reduce security, supervision and regulatory costs.
  • Blockchain technology can be applied not only to the financial field, but also to logistics, distribution, and even government public administration services.
  • Existing public blockchain networks such as Bitcoin
  • the differential authority is set for each node and can operate within the blockchain.
  • the present invention aims to solve all the above-mentioned problems.
  • the present invention aims to improve the transaction processing speed on the blockchain by reducing unnecessary access to the blockchain on the blockchain platform.
  • the present invention also aims to group transactions on a blockchain platform to perform transaction verification based on a transaction group, and to prevent unnecessary transmission of transactions for management of information stored in the blockchain. .
  • a representative configuration of the present invention for achieving the above object is as follows.
  • a method for high-speed processing of a transaction on a blockchain includes the steps of a blockchain platform receiving a request transaction from a user device, and determining whether the blockchain platform can process the request transaction based on a cache.
  • the step and the blockchain platform may include transmitting a response transaction for the request transaction without access to the blockchain based on the information recorded on the cache.
  • the blockchain platform for high-speed transaction processing determines whether or not processing is possible for the request transaction determined based on recorded information and a communication unit implemented to receive the request transaction from the user device, and the Based on the recorded information, it may include a cache implemented to transmit a response transaction for the request transaction without access to the blockchain.
  • transaction verification is performed based on a transaction group by grouping transactions on a blockchain platform, and transmission of a transaction for managing information stored in the blockchain may not be unnecessary.
  • FIG. 1 is a conceptual diagram showing a high-performance blockchain platform according to an embodiment of the present invention.
  • FIG. 2 is a conceptual diagram showing a high-performance blockchain platform according to an embodiment of the present invention.
  • FIG. 3 is a conceptual diagram showing a high-performance blockchain platform according to an embodiment of the present invention.
  • FIG. 4 is a conceptual diagram showing a high-performance blockchain platform according to an embodiment of the present invention.
  • FIG. 5 is a conceptual diagram illustrating an operation of determining access to a record on a blockchain according to an embodiment of the present invention.
  • FIG. 6 is a conceptual diagram illustrating an operation of a data streaming unit according to an embodiment of the present invention.
  • a high-performance blockchain platform is disclosed to enable a large amount of transactions (or transactions) to be made simultaneously or in a short time while storing a distributed ledger in the form of a blockchain.
  • the high performance blockchain platform according to an embodiment of the present invention can dramatically increase the transaction speed while reducing the load on the blockchain to support the level and speed of transactions that millions of people can trade simultaneously.
  • a procedure for checking deposit and withdrawal of an amount of money from a user account will be described.
  • a high-performance blockchain platform according to an embodiment of the present invention can be used for the procedure of transmitting or receiving an object having a certain value such as digital securities on the user wallet, and checking the user wallet, and the rights of the present invention It can be included in the scope.
  • the user account may be used as a meaning including various online value storage means including an object having a value, and an amount of money may be used as a meaning including an object having a value.
  • FIG. 1 is a conceptual diagram showing a high-performance blockchain platform according to an embodiment of the present invention.
  • FIG. 1 a high-performance blockchain platform is disclosed in which the transaction speed is dramatically increased so that a large amount of transactions can be made simultaneously and in a short time while storing the distributed ledger in the form of a blockchain.
  • a high-performance blockchain platform includes a Ledger application programming interface (API) 100, a cache 110, a Ledger invoker 130, and data streaming (data streaming) (or data streaming unit (data streaming unit)) 120, a blockchain (blockchain) 140, a notifier (notifier) 150, may include a Ledger Manager (ledger manager) 160 have.
  • API application programming interface
  • Ledger API 100 may be an interface for connecting a user device and a blockchain (or blockchain platform) 140 to provide a blockchain-based service.
  • the user device can access information on the blockchain 140 through the Ledger API 100.
  • the user may request a deposit, withdrawal, transaction, etc. through the Ledger API 100 and receive a result value for the request.
  • the cache 110 may be implemented to rapidly provide data on the blockchain 140 without access on the blockchain 140.
  • the cache 110 may store information recorded on the blockchain 140 (blockchain record information), information changing information recorded on the blockchain 140 (blockchain record change information), and the like.
  • the cache 110 may store data related to a transaction when the user generates a transaction for access on the blockchain 140.
  • a transaction may occur in which user account information is changed through a user device, such as a transaction for depositing a certain amount to a user account (or wallet) (or a specific account) or for withdrawing a certain amount from a user account.
  • a transaction may be generated that does not change user account information, such as a transaction for verification of a user account (or wallet) through the user device. In this case, deposit information/withdrawal information related to the user account, user account balance information, and the like may be recorded in the cache.
  • the user can check information about the current user account without additional access. For example, when it is determined that there is no change in information related to a user account on the blockchain 140 through a check for information stored in the cache 110, the cache 110 is accessed without access to the blockchain 140.
  • the current user account information can be transmitted to the user device using the recorded information. That is, when a request for reading data recorded on the blockchain 140 that has not been simply changed from the user occurs, the data recorded on the cache 110 is immediately accessed without unnecessary access to the blockchain 140. It can be sent to a user device.
  • the data streaming unit 120 may be implemented to sequentially deliver to the Ledger Invoker 130 without losing the transaction delivered through the Ledger API 100.
  • the plurality of transactions generated from the plurality of user devices includes a timestamp, and may be delivered to the cache 110 and the data streaming unit 120 through the Ledger API 100.
  • the timestamp may include information about the time when the transaction occurred.
  • the data streaming unit 120 may be implemented as a queue.
  • the plurality of transaction data accumulated in the data streaming unit 120 may be delivered to the Ledger Invoker 130.
  • the Ledger Invoker 130 may scrape and organize a plurality of (eg, 100 to 1000) transactions stored in the data streaming unit 120 at least once, and transmit them to the blockchain 140.
  • a plurality of transactions in the data streaming unit 120 may be grouped, and the group of grouped transactions may be recognized and processed as one transaction.
  • a transaction group including 1000 transactions may be regarded as one transaction, and a verification operation for the transaction may be performed. The grouping of transactions will be described later in detail.
  • Ledger invoker 130 may be implemented to invoke the chaincode of the blockchain 140 based on the transaction received from the data streaming unit 120.
  • Various types of chain codes may be executed by the Ledger Invoker 130.
  • Ledger Invoker 130 executes the chaincode of Blockchain 140, and a transaction (or transaction group) can be transmitted on Blockchain 140 through Ledger Invoker 130.
  • a transaction is transferred to the blockchain 140 through the Ledger Invoker 130, and data (or data) included in the transaction is connected to the blockchain 140 through mining of the block. Can be recorded.
  • the notifier 150 recognizes a change occurring on the blockchain 140 and may transmit change information on the blockchain 140 to another component (or module).
  • the notifier 150 may play a role of checking the data integrity between the blockchain 140 and the cache 110 and automatically recovering in the event of corruption.
  • the notifier 150 may 1) when a transaction related to deposit/withdrawal for a user account is recorded on the blockchain 140, 2) a transaction related to the settlement request by the Ledger Manager 160, which will be described later.
  • the Ledger Manager 160 On the high-performance blockchain platform, such as the cache 110, the Ledger Manager 160, information about changes that occurred on the blockchain 140, such as when (account transaction request transaction) is recorded on the blockchain 140. It can be delivered to the component.
  • Ledger manager 160 may be implemented for management/update of data stored on blockchain 140.
  • the Ledger manager 160 may request a data update request transaction (for example, update the user account balance information based on the user's account balance information and account change information, etc. recorded on the blockchain 140) , The transaction to clear the account) may be transmitted on the blockchain 140.
  • a data update request transaction for example, update the user account balance information based on the user's account balance information and account change information, etc. recorded on the blockchain 140
  • the transaction to clear the account may be transmitted on the blockchain 140.
  • an account cleanup request transaction is transmitted on the blockchain 140, the user's account information is updated based on the user's account information and account change information recorded on the blockchain 140 to block the blockchain 140 ) May be performed.
  • the specific operation of the Ledger manager 160 will be described later.
  • FIG. 2 is a conceptual diagram showing a high-performance blockchain platform according to an embodiment of the present invention.
  • FIG. 2 a flow for data write operation on a high-performance blockchain platform is disclosed.
  • a data writing flow related to data writing (or writing) that changes data on the blockchain is disclosed.
  • a transaction that changes data on the blockchain can be expressed in terms of a data change request transaction.
  • user account information (or user account information, user wallet information) will be described as an example for convenience of description, but reading and writing of various information other than user account information will be described.
  • the present invention can be applied to a change alarm, and such an embodiment can also be included in the scope of the present invention.
  • first timestamp a first transaction (request for 3000 won withdrawal)
  • second timestamp a second transaction (request for 5000 won deposit)
  • the first transaction (request for 3000 won withdrawal) (first timestamp) and the second transaction (request for 5000 won deposit) (second timestamp) are stored in the cache 210, and simultaneously or sequentially data streaming unit It can also be transmitted to 220 and stored.
  • the data streaming unit 220 may store the first transaction (request for 3000 won withdrawal) (first timestamp) and the second transaction (request for 5000 won deposit) (second timestamp) in chronological order.
  • the Ledger Invoker 230 receives the first transaction (request for 3000 won withdrawal) stored in the data streaming unit 220 (first timestamp) and the second transaction (request for 5000 won deposit) (second timestamp) can do.
  • the first transaction (request for 3000 won withdrawal) (first timestamp) and the second transaction (request for 5000 won deposit) (second timestamp) may be stored on a block on the blockchain 240.
  • 1) user account balance information (10000 won), 2) user account withdrawal information (3000 won), 3) user account deposit information (5000 won) may be recorded.
  • the user account balance information when the account cleanup request transaction of the ledger manager 260 is not transmitted, the user account balance information may not be updated. 2) User account withdrawal information (3000 won) and 3) user account deposit information (5000 won), which is information that changes the user account balance information, may have an identifier (or mark) indicating that it is unreflected information.
  • the user account balance information is updated to 12000 won, and 2) user account withdrawal information (3000 won), 3 ) With respect to the user account deposit information (5000 won), an identifier (mark) indicating that the information is reflected may be displayed.
  • whether or not it is reflected as the user account balance may be checked by an account cleanup request transaction through a separate identifier.
  • FIG. 3 is a conceptual diagram showing a high-performance blockchain platform according to an embodiment of the present invention.
  • FIG. 3 a data change alarm flow informing a change in data on the blockchain is disclosed.
  • a data change alarm flow may be generated when a data change occurs on the blockchain 340.
  • the second transaction (5000 won deposit request) (second timestamp) and the first transaction (3000 won withdrawal request) (first timestamp) and second transaction (5000 won deposit request) ( If deposit request data and withdrawal request data are recorded on the blockchain 340 due to the second time stamp), a change may occur on the blockchain.
  • the notifier 350 recognizes a change on the blockchain, and can transmit information (or information related to the change) that informs the change on the blockchain to a component on a high-performance blockchain platform such as cache, ledger manager 360, and the like. have.
  • Information indicating change on the blockchain 340 may be expressed in terms of blockchain change alarm information.
  • the Ledger manager 360 may transmit an account cleanup request transaction on the blockchain 340.
  • the user account can be sorted to the final value. Specifically, 1) user account balance information (10000 won), 2) user account withdrawal information (3000 won), 3) user account deposit information (5000 won) stored on the blockchain 340 are all organized and the blockchain ( On 340), the user account balance information may be updated and stored at 12000 won.
  • changes due to the account cleanup request transaction sent by the Ledger manager 360 may be known to the Ledger manager 360 and the cache 310 by the notifier 350.
  • Ledger manager 360 may receive change information from notifier 350 and send an account cleanup request transaction back to blockchain 340. Ledger manager 360 transmits an account cleanup request transaction, receives block chain change alarm information due to the account cleanup request transaction from the notifier 350, and sends an account cleanup request transaction back to the unnecessary account cleanup request transaction. May not be continuously transmitted. Therefore, transmission of an unnecessary transaction request for account clearance on the blockchain is prevented, and as a result, overload on the blockchain 340 can be reduced, and the processing speed of the blockchain 340 can be improved.
  • the period for the account cleanup request transaction is set, and the Ledger manager 360 may transmit the account cleanup request transaction every set period.
  • the cache 310 may receive the block chain change alarm information from the notifier 350, and the response to the transaction generated from the user device according to whether the block chain change alarm information is received is based on the information recorded in the cache It can determine whether to provide or based on the information recorded on the blockchain 340. The response method based on the cache 310 will be described later.
  • FIG. 4 is a conceptual diagram showing a high-performance blockchain platform according to an embodiment of the present invention.
  • FIG. 4 a data read flow related to reading data on a blockchain is disclosed. Transactions that do not change data on the blockchain, such as reading data, can be expressed in terms of data change request transactions.
  • a transaction (user account balance confirmation transaction) requesting confirmation of an account balance from a user device occurs, firstly, confirmation of user account related information through the cache 410 This is performed and a determination as to whether it is possible to provide the user account balance information on the cache 410 directly to the user may be performed. Thereafter, when the user account balance information on the cache 410 can be provided directly to the user, the user account balance information on the cache 410 can be provided to the user device without access to the blockchain 440. Conversely, when the user account balance information on the cache 410 is not immediately available to the user, the user account balance information may be provided to the user device through access to the blockchain.
  • the user account balance information may be provided directly without access to the blockchain 440.
  • the user account balance related information (user account balance information) among data recorded on the blockchain 440 by accessing the blockchain 440 , User account deposit information, user account withdrawal information, etc.) to organize the user account balance can be provided to the user.
  • the balance of the user account arranged by the user's request may not be stored on the blockchain 440. That is, only by the account manager request transaction of the Ledger Manager 460, the organization of each of the plurality of user account balances of the plurality of users is performed, and finally the updated information of the plurality of user account balances of each of the plurality of users is blocked in the blockchain. It can be recorded on (440).
  • an account balance confirmation transaction is generated by the user device even when the account cleanup request transaction of the ledger manager 460 is not transmitted, separate account cleanup is performed for the user account balance of the user Is performed, the user account balance information is updated, and an identifier (mark) indicating that the user account withdrawal information and the user account deposit information is reflected information may be displayed. That is, when an individual account balance confirmation transaction for a specific user occurs, separate account organization is performed only for the user account balance for the corresponding user and may be recorded on the blockchain as user account balance information.
  • FIG. 5 is a conceptual diagram illustrating an operation of determining access to a record on a blockchain according to an embodiment of the present invention.
  • FIG. 5 a method for providing data to a user device by accessing the cache without access to the blockchain is disclosed when a data read operation (or transaction related to data read) occurs by the user device.
  • the blockchain platform may receive a request transaction from a user device, and the blockchain platform may determine whether to process a request transaction based on a cache.
  • the request transaction may be a transaction for reading/writing data on the above-described blockchain (for example, an account balance confirmation transaction, a user account deposit/withdrawal related transaction, etc.).
  • the blockchain platform can send a response transaction to the request transaction without access to the blockchain based on the information recorded on the cache.
  • the request transaction can be transmitted to the data streaming unit for transmission of the request transaction on the blockchain.
  • the cache stores information related to the request transaction, and the request transaction may include a time stamp.
  • the data streaming unit stores a request transaction different from the request transaction, but the other request transaction may include a transaction before receiving and transmitting on the blockchain before receiving the request transaction from the user device or another user device.
  • the blockchain platform can transmit the request transaction and other request transactions on the blockchain based on the invoking of the Ledger Invoker to the blockchain.
  • Whether the request transaction can be processed based on the cache may be determined based on the characteristics of the request transaction and the characteristics of the previous request transaction previously transmitted on the cache in relation to the user device.
  • the characteristics of the request transaction and the previous request transaction may be one of the data change request transaction 550 and the data change request transaction 570.
  • the transaction transmitted from the user device is a data changeless request transaction (for example, an account verification request transaction 500) that does not change the data on the blockchain, and after the latest update of the data to be provided, the data on the blockchain changes
  • a data changeless request transaction for example, an account verification request transaction 500
  • the data on the blockchain changes
  • data stored in the cache 520 without access to the blockchain 540 may be transmitted as the response transaction 580.
  • the transaction transmitted from the user device is a data changeless request transaction (e.g., account verification request transaction 500) that does not change data on the blockchain 540, and after a recent update of data to be provided, the blockchain ( If at least one data change request transaction 570 that changes data on 540 is recorded on the cache 520, based on the data recorded on the blockchain 540 through access to the blockchain 540 In response, the response transaction 580 may be transmitted.
  • a data changeless request transaction e.g., account verification request transaction 500
  • the blockchain If at least one data change request transaction 570 that changes data on 540 is recorded on the cache 520, based on the data recorded on the blockchain 540 through access to the blockchain 540
  • the response transaction 580 may be transmitted.
  • the user account balance information stored in the cache 520 may be determined as the latest updated account information.
  • user account balance information stored in the cache may be provided without having to access the blockchain 540 to read data.
  • the user account balance change information such as user account withdrawal information and/or user account deposit information that changes the user account balance information occurs (or on the cache). It may be assumed that information related to a transaction related to user account withdrawal and/or user account deposit changing the user account balance information is stored. In this case, the user account balance information can be confirmed on the blockchain 540.
  • Information related to the user account balance recorded on the blockchain 540 is extracted, and information recorded on the blockchain 540 is updated as the latest information updated after the transmission of a data update transaction such as an account cleanup request transaction.
  • a data update transaction such as an account cleanup request transaction
  • the user account balance information recorded on the blockchain 540 may be provided to the user.
  • the information recorded on the blockchain 540 after the transmission of a data update transaction such as an account cleanup request transaction is user account balance change information (or data change information 595)
  • the most recent user account balance information and the Afterwards, the account balance change information generated is searched, and a separate account arrangement is performed for the user to be provided to the user device.
  • the user account balance information on the extracted blockchain 540 may be stored again in the cache.
  • a response transaction based on data on the blockchain may be generated by determining whether data change information 595 has been stored in relation to the requested data.
  • a response transaction to a request transaction related to reading data may be transmitted to the user device only with access to the user.
  • a data change request transaction 570 that changes at least one data is recorded on the cache 520 after the last update of the data on the blockchain 540, the data is accessed through access on the blockchain 540.
  • a response transaction to the request transaction related to reading may be transmitted to the user device.
  • FIG. 6 is a conceptual diagram illustrating an operation of a data streaming unit according to an embodiment of the present invention.
  • the data streaming unit 600 may generate a transaction group 650 for grouping of transactions to be processed.
  • the verification of the transaction group 650 may be performed on a group basis, thereby increasing processing speed on the blockchain 660.
  • Transactions generated from a plurality of user devices include a timestamp, and a plurality of transactions may be sequentially stored in the data streaming unit 600 based on the timestamp.
  • transactions may be individually verified and recorded on the blockchain 660 based on the invoking of the Ledger Invoker 620, however, the Ledger Invoker ( It may be recorded on the blockchain 660 based on the invoking (or call) of 620).
  • the transaction group 650 including a plurality of transactions stored in the data streaming unit 600 may be determined in various ways. First, when invoking a transaction of the Ledger Invoker 620, all transactions existing in the data streaming unit 600 at the time of invoking may be grouped into a single transaction group 650. At this time, sub-groups may be separately formed for each account. For example, when a transaction is performed between User A, User B, and User C, transactions related to User A, User B, and User C may be separately set as a sub-transaction group.
  • a transaction group 650 may be formed according to the characteristics of a transaction, and a verification procedure may proceed. For example, an operation performed based on a transaction, such as a transaction group for reading simple data that does not change data on the blockchain 660 (hereinafter, a data unchanged transaction group), and a transaction group that causes data changes on the blockchain. Accordingly, a transaction group (data change transaction group) may be formed. Different verification procedures may be performed for the data changeless transaction group and the data changeable transaction group.
  • the basic verification is performed in the same manner, but for the data changeable transaction group, verification of whether data change is possible may be additionally performed.
  • the data change transaction group may be divided into a data change (deposit) transaction group that is a data change for deposit and a data change (withdrawal) transaction group which is a data change for withdrawal.
  • a data change (deposit) transaction group it may be necessary to verify whether deposit is possible in the user account to be deposited.
  • a data change (withdrawal) transaction group which is a data change, it may be necessary to verify whether the withdrawal is possible from the withdrawing user account.
  • a plurality of transactions may form a transaction group 650 according to the characteristics of the transaction, and may be recorded on a block by performing a separate verification procedure for each transaction group 650.
  • the transaction group 650 is not considered and may be stored based on a timestamp. Specifically, when recording on the blockchain, the transaction group 650 is released, and a timestamp of the transaction is taken into account, and a plurality of transactions can be recorded.
  • the transaction group 650 may be recorded on a block, or identification information of the grouped transaction groups 650 may be displayed in individual transactions during verification.
  • the embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and can be recorded in a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, or the like alone or in combination.
  • the program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention or may be known and available to those skilled in the computer software field.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. medium), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware device can be changed to one or more software modules to perform the processing according to the present invention, and vice versa.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치에 관한 것이다. 블록체인 상에서 트랜잭션 고속 처리 방법은 블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하는 단계, 블록체인 플랫폼이 캐시를 기반으로 요청 트랜잭션에 대한 처리 가능 여부를 결정하는 단계와 블록체인 플랫폼이 캐시 상에 기록된 정보를 기반으로 블록체인 상으로의 액세스 없이 요청 트랜잭션에 대한 응답 트랜잭션을 전송하는 단계를 포함할 수 있다.

Description

블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치
본 발명은 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치에 관한 것이다. 보다 상세하게는 블록체인 플랫폼 상에서 불필요한 부하를 발생시키기 않고, 처리가 필요한 트랜잭션을 고속으로 처리하기 위한 방법 및 장치에 관한 것이다.
블록체인은 퍼블릭 네트워크(public network) 또는 프라이빗 네트워크(private network)에서 일어나는 거래 정보가 암호화되어 해당 네트워크 구성원 간 공유되는 디지털 원장(ledger)일 수 있다.
거래 원장의 복사본이 각 네트워크 구성원에게 분산되어(distributed) 새로운 거래가 발생할 때마다 구성원들의 동의를 통해 해당 거래에 대한 인증 절차가 진행될 수 있다.
블록체인에 기반한 거래 정보는 임의로 변경이 불가능하기 때문에 거래의 신뢰성이 높아지고 정보 추적이 용이하다. 특히 금융 서비스 분야에서는 블록체인 기술을 적용하여 업무 효율성을 높이고 새로운 서비스 기반을 구축하기 위한 노력이 진행 중이다.
분산 장부 시스템을 통한 투명한 거래로 보안, 감독, 규제 비용 절감이 가능하다. 블록체인 기술은 금융 분야뿐만 아니라 물류, 유통, 나아가 정부 공공 행정 서비스에도 적용될 수 있다.
기존의 비트코인과 같은 퍼블릭 블록체인 네트워크(public blockchain network)는 참여 노드들이 동일한 권한을 가지고 블록체인 네트워크 상에서 동작할 수 있으나, 프라이빗 블록체인 네트워크(private blockchain network) 또는 허가형 블록체인 네트워크(permissioned blockchain network)의 경우, 노드 별로 차등적인 권한이 설정되어 블록체인 내에서 동작할 수 있다.
블록체인 상에 기록된 특정 정보에 액세스하고자 하는 시도가 많아질 경우, 블록체인 상의 부하가 발생될 수 있고, 부하로 인해 블록체인 상의 정보에 대한 액세스 속도가 느려질 수 있다.
따라서, 블록체인 상에 기록된 정보를 정확하게 획득하되 블록체인 상에 불필요한 부하를 발생시키지 않게 하기 위한 방법에 대한 연구가 필요하다.
본 발명은 상술한 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은, 블록체인 플랫폼 상에서 블록체인에 대한 불필요한 액세스를 감소시켜 블록체인 상에서 트랜잭션 처리 속도를 향상시키는 것을 목적으로 한다.
또한, 본 발명은, 블록체인 플랫폼 상에서 트랜잭션을 그룹핑하여 트랜잭션 그룹을 기준으로 트랜잭션 검증을 수행하고, 블록체인에 저장된 정보에 대한 관리를 위한 트랜잭션에 대한 전송이 불필요하게 이루어지지 않도록 하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 블록체인 상에서 트랜잭션 고속 처리 방법은 블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하는 단계, 상기 블록체인 플랫폼이 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하는 단계와 상기 블록체인 플랫폼이 상기 캐시 상에 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하는 단계를 포함할 수 있다.
본 발명의 다른 태양에 따르면, 트랜잭션 고속 처리를 위한 블록체인 플랫폼은 상기 사용자 장치로부터 요청 트랜잭션을 수신하도록 구현된 통신부와 기록된 정보를 기반으로 결정된 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하고, 상기 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하기 위해 구현된 캐시를 포함할 수 있다.
본 발명에 의하면, 블록체인 플랫폼 상에서 블록체인에 대한 불필요한 액세스를 감소시켜 블록체인 상에서 트랜잭션 처리 속도가 향상될 수 있다.
또한, 본 발명에 의하면, 블록체인 플랫폼 상에서 트랜잭션을 그룹핑하여 트랜잭션 그룹을 기준으로 트랜잭션 검증이 수행되고, 블록체인에 저장된 정보에 대한 관리를 위한 트랜잭션에 대한 전송이 불필요하게 이루어지지 않을 수 있다.
도 1은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 2는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 3은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 4는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 5는 본 발명의 실시예에 따른 블록체인 상의 기록에 대한 액세스 판단 동작을 나타낸 개념도이다.
도 6은 본 발명의 실시예에 따른 데이터 스트리밍부의 동작을 나타낸 개념도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여 지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
이하, 본 발명의 실시예에서는 분산 원장을 블록체인의 형태로 저장하면서 대량의 거래(또는 트랜잭션)를 동시에 또는 빠른 시간 안에 이루어질 수 있도록 하기 위한 고성능 블록체인 플랫폼이 개시된다.
본 발명의 실시예에 따른 고성능 블록체인 플랫폼은 블록체인 상에 부하를 감소시키면서 거래 속도를 비약적으로 높여 수백만명 이상이 동시에 거래할 수 있는 수준의 거래량과 속도를 지원할 수 있다.
이하, 본 발명의 실시예에서는 설명의 편의상 사용자 계좌에서 금액의 입금 출금하고, 사용자 계좌를 확인하는 절차에 대해 개시한다. 하지만, 사용자 지갑 상에서 디지털 유가 증권과 같은 일정한 가치를 가지는 객체를 전송 또는 수신하고, 사용자 지갑을 확인하는 절차에 대해서도 이하 본 발명의 실시예에 따른 고성능 블록체인 플랫폼이 사용될 수 있고, 본 발명의 권리 범위에 포함될 수 있다.
즉, 사용자 계좌는 가치가 존재하는 객체를 포함하는 다양한 온라인 상의 가치 저장 수단을 포함하는 의미로 사용될 수 있고, 금액은 가치가 존재하는 객체를 포함하는 의미로 사용될 수 있다.
도 1은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 1에서는 분산 원장을 블록체인의 형태로 저장하면서 대량의 거래가 동시에 빠른 시간 안에 이루어질 수 있도록 거래 속도를 비약적으로 높인 고성능 블록체인 플랫폼이 개시된다.
도 1을 참조하면, 본 발명의 실시예에 따른 고성능 블록체인 플랫폼은 렛저 API(application programming interface)(100), 캐시(cache)(110), 렛저 인보커(ledger invoker)(130), 데이터 스트리밍(data streaming)(또는 데이터 스트리밍부(data streaming unit))(120), 블록체인(blockchain)(140), 노티파이어(notifier)(150), 렛저 매니저(ledger manager)(160)를 포함할 수 있다.
렛저 API(100)는 블록체인 기반 서비스를 제공하기 위해 사용자 장치와 블록체인(또는 블록체인 플랫폼)(140)을 연결하기 위한 인터페이스일 수 있다. 사용자 장치는 렛저 API(100)를 통해 블록체인(140) 상의 정보에 액세스할 수 있다. 예를 들어, 사용자는 렛저 API(100)를 통해 입금, 출금, 거래 등을 요청하고, 요청에 대한 결과값을 수신할 수 있다.
캐시(110)는 블록체인(140) 상의 데이터를 블록체인(140) 상에 액세스 없이 빠르게 제공하기 위해 구현될 수 있다. 캐시(110)는 블록체인(140) 상에 기록된 정보(블록체인 기록 정보), 블록체인(140) 상에 기록된 정보를 변화시키는 정보(블록체인 기록 변화 정보) 등을 저장할 수 있다.
캐시(110)는 사용자가 블록체인(140) 상에 액세스를 위한 트랜잭션을 발생시키는 경우, 트랜잭션과 관련된 데이터를 저장할 수 있다. 예를 들어, 사용자 장치를 통해 사용자 계좌(또는 지갑)(또는 특정 계좌)에 일정 금액을 입금하거나, 사용자 계좌로부터 일정 금액을 출금하기 위한 트랜잭션과 같은 사용자 계좌 정보를 변화시키는 트랜잭션이 발생될 수 있다. 또는 사용자 장치를 통해 사용자 계좌(또는 지갑)에 대한 확인을 위한 트랜잭션과 같은 사용자 계좌 정보를 변화시키지 않는 트랜잭션이 발생될 수 있다. 이러한 경우, 사용자 계좌와 관련된 입금 정보/출금 정보, 사용자 계좌 잔고 정보 등이 캐시에 기록될 수 있다.
이러한 캐시(110)의 기록을 기반으로 사용자는 별도의 액세스 없이 현재 사용자 계좌에 대한 정보를 확인할 수 있다. 예를 들어, 캐시(110)에 저장된 정보에 대한 체크를 통해 블록체인(140) 상에서 추가적으로 사용자 계좌와 관련된 정보의 변화가 없다고 판단되는 경우, 블록체인(140) 상에 액세스 없이 캐시(110)에 기록된 정보를 사용하여 사용자 장치로 현재 사용자 계좌 정보를 전송할 수 있다. 즉, 사용자로부터 단순하게 변화되지 않은 블록체인(140) 상에 기록된 데이터의 읽기(read) 요청이 발생한 경우, 블록체인(140)으로의 불필요한 액세스 없이 캐시(110) 상에 기록된 데이터가 바로 사용자 장치로 전송될 수 있다.
이러한 방법을 통해 블록체인(140) 상에 데이터의 기록을 위한 불필요한 트랜잭션/합의 등이 감소되고, 블록체인(140)의 데이터 처리 속도가 향상될 수 있다. 캐시(110)의 동작은 보다 구체적으로 후술된다.
데이터 스트리밍부(120)는 렛저 API(100)를 통해 전달된 트랜잭션을 유실하지 않고, 순차적으로 렛저 인보커(130)로 전달하기 위해 구현될 수 있다. 복수의 사용자 장치로부터 발생된 복수의 트랜잭션은 타임스탬프를 포함하고, 렛저 API(100)를 통해 캐시(110) 및 데이터 스트리밍부(120)로 전달될 수 있다. 타임스탬프는 트랜잭션이 발생한 시간에 대한 정보를 포함할 수 있다. 데이터 스트리링부(120)는 큐(que)로 구현될 수 있다. 데이터 스트리밍부(120)에 누적된 복수의 트랜잭션 데이터는 렛저 인보커(130)로 전달될 수 있다.
예를 들어, 렛저 인보커(130)는 데이터 스트리밍부(120)에 저장된 복수개(예를 들어, 100 내지 1000개)의 트랜잭션을 적어도 한번에 긁어서 정리하여 블록체인(140)으로 전송할 수 있다. 본 발명의 실시예에 따르면, 데이터 스트리밍부(120)에서 복수의 트랜잭션은 그룹핑될 수 있고, 그룹핑된 트랜잭션 그룹은 하나의 트랜잭션으로 인식되어 처리될 수도 있다. 예를 들어, 1000건의 트랜잭션을 포함하는 트랜잭션 그룹은 하나의 트랜잭션으로 간주되어 트랜잭션에 대한 검증 작업이 수행될 수 있다. 트랜잭션의 그룹핑은 구체적으로 후술된다.
렛저 인보커(130)는 데이터 스트리밍부(120)로부터 수신한 트랜잭션을 기반으로 블록체인(140)의 체인코드를 실행(invoke)하도록 구현될 수 있다. 렛저 인보커(130)에 의해 다양한 종류의 체인코드(chain code)가 실행될 수 있다. 렛저 인보커(130)는 블록체인(140)의 체인코드를 실행하고, 렛저 인보커(130)를 통해 블록체인(140) 상으로 트랜잭션(또는 트랜잭션 그룹)이 전송될 수 있다. 예를 들어, 렛저 인보커(130)를 통해 블록체인(140) 상으로 트랜잭션이 전달되고, 블록의 마이닝을 통해 트랜잭션에 포함된 데이터(또는 데이터)가 블록체인(140)에 연결되는 블록 상에 기록될 수 있다.
노티파이어(150)는 블록체인(140) 상에 발생되는 변화를 인식하고, 블록체인(140) 상의 변화 정보를 다른 구성부(또는 모듈)로 전달할 수 있다. 또한, 노티파이어(150)는 블록체인(140)과 캐시(110) 간의 데이터 정합성을 체크하고 정합성의 손상시 자동으로 복구하는 역할을 담당할 수 있다. 예를 들어, 노티파이어(150)는 1) 사용자 계좌에 대한 입금/출금과 관련된 트랜잭션이 블록체인(140) 상에 기록되는 경우, 2) 후술할 렛저 매니저(160)에 의해 결산 요청과 관련된 트랜잭션(계좌 정리 요청 트랜잭션)이 블록체인(140) 상에 기록되는 경우 등과 같이 블록체인(140) 상에 발생된 변화에 대한 정보를 캐시(110), 렛저 매니저(160) 등과 같은 고성능 블록체인 플랫폼 상의 구성부로 전달할 수 있다.
렛저 매니저(160)는 블록체인(140) 상에 저장된 데이터에 대한 관리/업데이트를 위해 구현될 수 있다. 예를 들어, 렛저 매니저(160)는 블록체인(140) 상에 기록된 사용자의 계좌 잔고 정보 및 계좌 변화 정보 등을 기반으로 사용자 계좌 잔고 정보에 대한 업데이트를 요청하는 데이터 업데이트 요청 트랜잭션(예를 들어, 계좌 정리 요청 트랜잭션)을 블록체인(140) 상으로 전송할 수 있다. 블록체인(140) 상에 계좌 정리 요청 트랜잭션이 전송되는 경우, 블록체인(140) 상에 기록된 사용자의 계좌 정보 및 계좌 변화 정보 등을 기반으로 사용자의 계좌 정보를 최신으로 업데이트하여 블록체인(140) 상에 기록되는 동작이 수행될 수 있다. 렛저 매니저(160)의 구체적인 동작은 후술된다.
도 2는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 2에서는 고성능 블록체인 플랫폼 상에서 데이터의 쓰기 동작에 대한 흐름이 개시된다. 특히, 블록체인 상의 데이터를 변화시키는 데이터 쓰기(또는 기록)에 관련된 데이터 쓰기 플로우가 개시된다. 블록체인 상의 데이터를 변화시키는 트랜잭션은 데이터 변화 요청 트랜잭션이라는 용어로 표현될 수 있다.
도 2를 참조하면, 이하, 본 발명의 실시예에서는 설명의 편의상 사용자 계좌 정보(또는 사용자 어카운트 정보, 사용자 지갑 정보)를 예로 들어 설명하나, 사용자 계좌 정보가 아닌 다른 다양한 정보에 대한 읽기, 쓰기, 변화 알람에 대해 본 발명이 적용될 수 있고, 이러한 실시예 또한 본 발명의 권리 범위에 포함될 수 있다.
사용자 계좌에 10,000원이 현재 입금되어 있고, 사용자 계좌에 대한 정보(10,000원)가 블록체인(240) 상에 기록된 경우가 가정된다. 이후, 사용자가 1) 3,000원 출금 요청, 2) 5,000원 입금 요청을 한 경우가 가정된다.
이러한 경우, 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프)이 발생되고, 이후, 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)이 발생될 수 있다.
이러한 경우, 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)이 캐시(210)에 저장되고, 동시에 또는 순차적으로 데이터 스트리밍부(220)로도 전송되어 저장될 수 있다.
데이터 스트리밍부(220)는 시간 순서대로 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)를 저장할 수 있다.
이후, 렛저 인보커(230)는 데이터 스트리밍부(220)에 저장된 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)를 수신할 수 있다. 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)는 블록체인(240) 상의 블록 상에 저장될 수 있다.
블록체인(240) 상에는 1) 사용자 계좌 잔고 정보(10000원), 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)이 기록될 수 있다.
본 발명의 실시예에 따르면, 렛저 매니저(260)의 계좌 정리 요청 트랜잭션이 전송되지 않는 경우, 사용자 계좌 잔고 정보는 업데이트되지 않을 수 있다. 사용자 계좌 잔고 정보를 변화시키는 정보인 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)에 대해서는 미반영 정보임을 표시하는 식별자(또는 마크)가 추가되어 있을 수 있다.
이후, 렛저 매니저(260)에 의해 계좌 정리 요청 트랜잭션이 전송되는 경우, 사용자 계좌 잔고 정보는 12000원으로 업데이트되고, 사용자 계좌 잔고 정보를 변화시키는 정보인 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)에 대해서는 반영 정보임을 표시하는 식별자(마크)가 표시될 수 있다.
즉, 사용자 계좌 잔고를 변화시키는 정보에 대해서는 별도의 식별자를 통해 계좌 정리 요청 트랜잭션에 의해 사용자 계좌 잔고로의 반영 여부가 체크될 수 있다.
도 3은 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 3에서는 블록체인 상의 데이터의 변화를 알리는 데이터 변화 알람 플로우가 개시된다.
도 3을 참조하면, 데이터 변화 알람 플로우는 블록체인(340) 상에 데이터 변화가 발생한 경우 발생될 수 있다. 예를 들어, 데이터 쓰기 플로우에서 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프) 및 제1 트랜잭션(3000원 출금 요청)(제1 타임스탬프) 및 제2 트랜잭션(5000원 입금 요청)(제2 타임스탬프)으로 인해 블록체인(340) 상에 입금 요청 데이터, 출금 요청 데이터가 기록된 경우, 블록체인 상에 변화가 발생될 수 있다.
이러한 경우, 노티파이어(350)는 블록체인 상의 변화를 인식하고, 블록체인 상의 변화를 알리는 정보(또는 변화에 관련된 정보)를 캐시, 렛저 매니저(360) 등과 같은 고성능 블록체인 플랫폼 상의 구성부로 전달할 수 있다. 블록체인(340) 상의 변화를 알리는 정보(또는 변화에 관련된 정보)는 블록체인 변화 알람 정보라는 용어로 표현될 수 있다.
예를 들어, 렛저 매니저(360)는 계좌 정리 요청 트랜잭션을 블록체인(340) 상으로 전송할 수 있다. 이러한 경우, 사용자 계좌는 최종값으로 정리될 수 있다. 구체적으로 블록체인(340) 상에 저장된 1) 사용자 계좌 잔고 정보(10000원), 2) 사용자 계좌 출금 정보(3000원), 3) 사용자 계좌 입금 정보(5000원)가 모두 정리되고, 블록체인(340) 상에서 사용자 계좌 잔고 정보가 12000원으로 업데이트되어 저장될 수 있다.
마찬가지로 렛저 매니저(360)에 의해 전송된 계좌 정리 요청 트랜잭션으로 인한 변화는 노티파이어(350)에 의해 렛저 매니저(360) 및 캐시(310)에 알려질 수 있다.
렛저 매니저(360)는 노티파이어(350)로부터 변화 정보를 수신하고, 다시 계좌 정리 요청 트랜잭션을 블록체인(340) 상으로 전송할 수 있다. 렛저 매니저(360)는 계좌 정리 요청 트랜잭션을 전송하고, 계좌 정리 요청 트랜잭션으로 인한 블록체인 변화 알람 정보를 노티파이어(350)로부터 수신하고, 다시 계좌 정리 요청 트랜잭션을 전송하는 방식으로 불필요한 계좌 정리 요청 트랜잭션을 계속적으로 전송하지 않을 수 있다. 따라서, 불필요한 블록체인 상의 계좌 정리 요청 트랜잭션의 전송이 방지되고 결과적으로 블록체인(340) 상의 오버로드를 감소시킬 수 있고, 블록체인(340)의 처리 속도가 향상될 수 있다.
또한 본 발명의 실시예에 따르면, 계좌 정리 요청 트랜잭션에 대한 주기가 설정되고, 렛저 매니저(360)는 설정된 주기마다 계좌 정리 요청 트랜잭션을 전송할 수도 있다.
캐시(310)는 블록체인 변화 알람 정보를 노티파이어(350)로부터 수신할 수 있고, 블록체인 변화 알람 정보의 수신 여부에 따라 사용자 장치로부터 발생된 트랜잭션에 대한 응답을 캐시 상에 기록된 정보를 기반으로 제공할지 블록체인(340) 상에 기록된 정보를 기반으로 제공할지 여부를 결정할 수 있다. 이러한 캐시(310) 기반의 응답 방법에 대해서는 후술한다.
도 4는 본 발명의 실시예에 따른 고성능 블록체인 플랫폼을 나타낸 개념도이다.
도 4에서는 블록체인 상의 데이터 읽기와 관련된 데이터 읽기 플로우가 개시된다. 데이터 읽기와 같은 블록체인 상의 데이터를 변화시키지 않는 트랜잭션은 데이터 무변화 요청 트랜잭션이라는 용어로 표현될 수 있다.
도 4를 참조하면, 예를 들어, 사용자 장치로부터 계좌 잔고에 대한 확인을 요청하는 트랜잭션(사용자 계좌 잔고 확인 트랜잭션)이 발생하는 경우, 1차적으로 캐시(410)를 통한 사용자 계좌 관련 정보에 대한 확인이 수행되고 캐시(410) 상의 사용자 계좌 잔고 정보를 사용자에게 바로 제공 가능할지에 대한 판단이 수행될 수 있다. 이후, 캐시(410) 상의 사용자 계좌 잔고 정보가 사용자에게 바로 제공 가능한 경우, 블록체인(440) 상으로의 액세스없이 캐시(410) 상의 사용자 계좌 잔고 정보를 사용자 장치로 제공할 수 있다. 반대로, 캐시(410) 상의 사용자 계좌 잔고 정보가 사용자에게 바로 제공 가능하지 않은 경우, 블록체인 상으로의 액세스를 통해 사용자 계좌 잔고 정보를 사용자 장치로 제공할 수 있다.
캐시(410) 상의 사용자 계좌 잔고 정보를 사용자에게 바로 제공 가능할지에 대한 판단은 후술된다.
만약, 캐시(410)를 통한 사용자 계좌 잔고 정보의 제공이 가능한 경우, 블록체인(440) 상에 접근하지 않고, 바로 사용자 계좌 잔고 정보가 제공될 수 있다. 반대로, 캐시(410)를 통한 사용자 계좌 잔고 정보의 제공이 가능하지 않은 경우, 블록체인(440) 상에 접근하여 블록체인(440) 상에 기록된 데이터 중 사용자 계좌 잔고 관련 정보(사용자 계좌 잔고 정보, 사용자 계좌 입금 정보, 사용자 계좌 출금 정보 등)을 기반으로 사용자 계좌 잔고를 정리하여 사용자에게 제공할 수 있다.
예를 들어, 전술한 예에서 블록체인 상에 저장된 사용자 계좌 잔고 관련 정보(사용자 계좌 잔고 정보(10000원), 사용자 계좌 출금 정보(3000원), 사용자 계좌 입금 정보(5000원))를 수집하고, 수집된 정보를 기반으로 사용자 계좌 잔고를 계산(10000원-3000원+5000원=12000원)하여 사용자 장치로 제공할 수 있다.
렛저 매니저(460)의 계좌 정리 요청 트랜잭션이 전송되지 않는 경우, 사용자의 요청에 의해 정리된 사용자 계좌 잔고가 블록체인(440) 상에 저장되지 않을 수 있다. 즉, 렛저 매니저(460)의 계좌 정리 요청 트랜잭션에 의해서만 복수의 사용자들의 복수의 사용자 계좌 잔고 각각에 대한 정리가 수행되고 최종적으로 업데이트된 복수의 사용자 각각의 복수의 사용자 계좌 잔고에 대한 정보가 블록체인(440) 상에 기록될 수 있다.
또는 본 발명의 실시예에 따르면, 렛저 매니저(460)의 계좌 정리 요청 트랜잭션이 전송되지 않는 경우에도 사용자 장치에 의해 계좌 잔고 확인 트랜잭션이 발생되는 경우, 해당 사용자의 사용자 계좌 잔고에 대해 별도의 계좌 정리가 수행되고, 사용자 계좌 잔고 정보가 업데이트되고, 사용자 계좌 출금 정보 및 사용자 계좌 입금 정보에 대해서는 반영 정보임을 표시하는 식별자(마크)가 표시될 수 있다. 즉, 특정 사용자에 대한 개별적인 계좌 잔고 확인 트랜잭션이 발생되는 경우, 해당 사용자에 대한 사용자 계좌 잔고에 대해서만 별도의 계좌 정리가 수행되어 사용자 계좌 잔고 정보로서 블록체인 상에 기록될 수도 있다.
도 5는 본 발명의 실시예에 따른 블록체인 상의 기록에 대한 액세스 판단 동작을 나타낸 개념도이다.
도 5에서는 사용자 장치에 의해 데이터 읽기 동작(또는 데이터 읽기와 관련된 트랜잭션)이 발생시 블록체인으로의 접근 없이 캐시에 대한 접근 만으로 사용자 장치로 데이터를 제공하기 위한 방법이 개시된다.
도 5를 참조하면, 캐시 상에 기록된 사용자 트랜잭션 정보 및/또는 노티파이어로부터 수신한 블록체인 변화 알람 정보를 기반으로 블록체인으로의 접근 없이 캐시에 대한 접근만으로 사용자 장치로 데이터를 제공할지 여부가 결정될 수 있다.
본 발명의 실시예에 따르면, 블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하고, 블록체인 플랫폼이 캐시를 기반으로 요청 트랜잭션에 대한 처리 가능 여부를 결정할 수 있다. 요청 트랜잭션은 전술한 블록체인 상에서 데이터에 대한 읽기/쓰기 등을 위한 트랜잭션(예를 들어, 계좌 잔고 확인 트랜잭션, 사용자 계좌 입금/출금 관련 트랜잭션 등)일 수 있다.
가능한 경우, 블록체인 플랫폼이 캐시 상에 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 요청 트랜잭션에 대한 응답 트랜잭션을 전송할 수 있다. 블록체인 플랫폼이 캐시를 기반으로 요청 트랜잭션에 대한 처리가 불가능한 경우, 요청 트랜잭션의 블록체인 상으로의 전송을 위해 요청 트랜잭션을 데이터 스트리밍부로 전송할 수 있다.
캐시는 요청 트랜잭션에 관련된 정보를 저장하고, 요청 트랜잭션은 타임 스탬프를 포함할 수 있다. 데이터 스트리밍부는 요청 트랜잭션과 다른 요청 트랜잭션을 저장하되, 다른 요청 트랜잭션은 사용자 장치 또는 다른 사용자 장치로부터 요청 트랜잭션의 수신 이전에 수신하여 블록체인 상으로 전송되기 이전의 트랜잭션을 포함할 수 있다. 전술한 바와 같이 블록체인 플랫폼이 렛저 인보커의 블록체인에 대한 인보킹을 기반으로 요청 트랜잭션과 다른 요청 트랜잭션을 블록체인 상으로 전송할 수 있다.
캐시를 기반으로 요청 트랜잭션에 대한 처리 가능 여부는 요청 트랜잭션의 특성 및 사용자 장치와 관련되어 캐시 상에 이전에 전송된 이전 요청 트랜잭션의 특성을 기반으로 결정될 수 있다. 요청 트랜잭션 및 이전 요청 트랜잭션의 특성은 데이터 무변화 요청 트랜잭션(550), 데이터 변화 요청 트랜잭션(570) 중 하나일 수 있다.
구체적으로 사용자 장치로부터 전송된 트랜잭션이 블록체인 상의 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(예를 들어, 계좌 확인 요청 트랜잭션(500))이고, 제공될 데이터의 최근 업데이트 이후, 블록체인 상의 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(550)만이 캐시(520) 상에 기록된 경우, 블록체인(540) 상으로 액세스 없이 캐시(520)가 저장된 데이터가 응답 트랜잭션(580)으로서 전송될 수 있다.
반대로, 사용자 장치로부터 전송된 트랜잭션이 블록체인(540) 상의 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(예를 들어, 계좌 확인 요청 트랜잭션(500))이고, 제공될 데이터의 최근 업데이트 이후, 블록체인(540) 상의 데이터를 변화시키는 적어도 하나의 데이터 변화 요청 트랜잭션(570)이 캐시(520) 상에 기록된 경우, 블록체인(540) 상으로 액세스를 통해 블록체인(540) 상에 기록된 데이터를 기반으로 응답 트랜잭션(580)이 전송될 수 있다.
예를 들어, 사용자 계좌 잔고 정보를 캐시(520)로부터 바로 제공할지 아니면 블록체인(540) 상에 기록된 데이터를 기반으로 제공할지 여부를 결정할 수 있다. 예를 들어, 캐시(520) 상에 사용자 계좌 잔고 정보가 기록된 이후에 사용자 계좌 잔고 정보를 변화시키는 사용자 계좌 출금 및/또는 사용자 계좌 입금과 관련된 트랜잭션과 관련된 정보가 저장되지 않은 경우(사용자 계좌 출금 정보 및/또는 사용자 계좌 입금 정보가 발생하지 않은 경우), 캐시(520) 상에 저장된 사용자 계좌 잔고 정보가 최신 업데이트된 계좌 정보로 판단될 수 있다. 이러한 상태에서 사용자 장치로부터 계좌 확인 요청 트랜잭션(500)이 발생된 경우, 블록체인(540) 상에 액세스하여 데이터를 읽을 필요가 없이 캐시 상에 저장된 사용자 계좌 잔고 정보가 제공될 수 있다.
반대로, 캐시(520) 상에 사용자 계좌 잔고 정보가 기록된 이후, 사용자 계좌 잔고 정보를 변화시키는 사용자 계좌 출금 정보 및/또는 사용자 계좌 입금 정보와 같은 사용자 계좌 잔고 변화 정보가 발생한 경우(또는 캐시 상에 사용자 계좌 잔고 정보를 변화시키는 사용자 계좌 출금 및/또는 사용자 계좌 입금과 관련된 트랜잭션과 관련된 정보가 저장된 경우)가 가정될 수 있다. 이러한 경우, 사용자 계좌 잔고 정보는 블록체인(540) 상에서 확인될 수 있다.
블록체인(540) 상에서 기록된 사용자 계좌 잔고 관련 정보가 추출되고, 계좌 정리 요청 트랜잭션과 같은 데이터 업데이트 트랜잭션의 전송 이후 업데이트된 최신 정보로서 블록체인(540) 상에 기록된 정보가 사용자 계좌 잔고 정보(또는 데이터 무변화 정보(590))인 경우, 블록체인(540) 상에 기록된 사용자 계좌 잔고 정보가 사용자에게 제공할 수 있다. 반대로 계좌 정리 요청 트랜잭션과 같은 데이터 업데이트 트랜잭션의 전송 이후 블록체인(540) 상에 기록된 정보가 사용자 계좌 잔고 변경 정보(또는 데이터 변화 정보(595))인 경우, 가장 최신의 사용자 계좌 잔고 정보 및 그 이후에 발생된 계좌 잔고 변경 정보가 탐색되고, 해당 사용자에 대해 별도의 계좌 정리가 수행되어 사용자 장치로 제공될 수 있다. 추출된 블록체인(540) 상의 사용자 계좌 잔고 관련 정보는 캐시 상에 다시 저장될 수 있다. 즉, 블록체인(540) 상에서도 제공 요청 데이터와 관련하여 데이터 무변화 요청 트랜잭션이 발생하였는지(또는 제공 요청 데이터와 관련되어 데이터 무변화 정보(590)가 저장되었는지) 또는 데이터 변화 요청 트랜잭션이 발생하였는지(또는 제공 요청 데이터와 관련하여 데이터 변화 정보(595)가 저장되었는지) 여부를 판단하여 블록체인 상의 데이터를 기반으로 한 응답 트랜잭션이 생성될 수 있다.
이러한 방법을 통해 사용자는 블록체인(540) 상으로 액세스 없이 캐시(520)에 대한 액세스만으로 정보에 대한 획득이 가능한 경우, 블록체인(540) 상에 불필요한 트랜잭션의 발생이 감소될 수 있고, 사용자는 보다 빠르게 원하는 정보를 정확하게 획득할 수 있다.
다른 표현으로 블록체인(540) 상의 데이터의 최종 업데이트 이후, 데이터를 변화시키지 않는 데이터 무변화 요청 트랜잭션(550)만이 캐시(520) 상에 기록되어 있는 경우, 블록체인(540) 상의 액세스 없이 캐시(520) 상으로의 액세스만으로 데이터 읽기와 관련된 요청 트랜잭션에 대한 응답 트랜잭션이 사용자 장치로 전송될 수 있다.
반대로, 블록체인(540) 상의 데이터의 최종 업데이트 이후, 적어도 하나의 데이터를 변화시키는 데이터 변화 요청 트랜잭션(570)이 캐시(520) 상에 기록되어 있는 경우, 블록체인(540) 상의 액세스를 통해 데이터 읽기와 관련된 요청 트랜잭션에 대한 응답 트랜잭션이 사용자 장치로 전송될 수 있다.
도 6은 본 발명의 실시예에 따른 데이터 스트리밍부의 동작을 나타낸 개념도이다.
도 6에서는 데이터 스트리밍부에서 트랜잭션을 그룹핑하는 동작이 개시된다.
도 6을 참조하면, 데이터 스트리밍부(600)는 처리될 트랜잭션에 대한 그룹핑을 트랜잭션 그룹(650)을 생성할 수 있다. 트랜잭션 그룹(650)에 대한 검증은 그룹 단위로 수행됨으로써 블록체인(660) 상에 처리 속도를 높일 수 있다.
복수의 사용자 장치로부터 발생된 트랜잭션은 타임스탬프를 포함하고, 타임스탬프를 기반으로 복수의 트랜잭션이 순차적으로 데이터 스트리밍부(600)에 저장될 수 있다.
본 발명의 실시예에 따르면, 트랜잭션은 개별적으로 검증되어 렛저 인보커(620)의 인보킹을 기반으로 블록체인(660) 상에 기록될 수도 있지만, 트랜잭션 그룹 단위로 그룹핑되고 검증되어 렛저 인보커(620)의 인보킹(또는 호출)을 기반으로 블록체인(660) 상에 기록될 수도 있다.
데이터 스트리밍부(600)에 저장된 복수의 트랜잭션을 포함하는 트랜잭션 그룹(650)은 다양한 방법으로 결정될 수 있다. 우선 렛저 인보커(620)의 트랜잭션을 인보킹하는 경우, 인보킹 시점에 데이터 스트리밍부(600)에 존재하는 모든 트랜잭션이 하나의 트랜잭션 그룹(650)으로 그룹핑될 수 있다. 이때 관련된 계좌별로 별도로 하위 그룹을 형성할 수도 있다. 예를 들어, 사용자A, 사용자B, 사용자C 간의 거래가 이루어진 경우, 사용자A, 사용자B, 사용자C와 관련된 트랜잭션은 하위 트랜잭션 그룹으로 별도로 설정될 수도 있다.
또는 본 발명의 실시예에 따르면, 트랜잭션의 특성에 따라 트랜잭션 그룹(650)이 형성되어 검증 절차가 진행될 수 있다. 예를 들어, 블록체인(660) 상의 데이터를 변화시키지 않는 단순 데이터 읽기를 위한 트랜잭션 그룹(이하, 데이터 무변화 트랜잭션 그룹), 블록체인 상의 데이터 변화를 발생시키는 트랜잭션 그룹과 같이 트랜잭션을 기반으로 수행되는 동작에 따라 트랜잭션 그룹(데이터 변화 트랜잭션 그룹)이 형성될 수 있다. 데이터 무변화 트랜잭션 그룹과 데이터 변화 트랜잭션 그룹에 대해서 서로 다른 검증 절차가 수행될 수 있다.
데이터 무변화 트랜잭션 그룹과 데이터 변화 트랜잭션 그룹은 기본적인 검증은 동일하게 수행되되, 데이터 변화 트랜잭션 그룹에 대해서는 데이터 변화 가능 여부에 대한 검증이 추가적으로 수행될 수 있다.
예를 들어, 데이터 변화 트랜잭션 그룹은 입금을 위한 데이터 변화인 데이터 변화(입금) 트랜잭션 그룹과 출금을 위한 데이터 변화인 데이터 변화(출금) 트랜잭션 그룹으로 구분될 수 있다.
데이터 변화(입금) 트랜잭션 그룹의 경우, 입금하는 사용자 계좌에서 입금이 가능한지 여부에 대한 검증이 필요할 수 있다. 데이터 변화인 데이터 변화(출금) 트랜잭션 그룹의 경우, 출금하는 사용자 계좌에서 출금이 가능한지 여부에 대한 검증이 필요할 수 있다.
본 발명의 실시예에 따르면, 트랜잭션의 특성에 따라 복수의 트랜잭션이 트랜잭션 그룹(650)을 형성할 수 있고, 트랜잭션 그룹(650)별로 별도의 검증 절차를 수행하여 블록 상에 기록될 수 있다. 트랜잭션 그룹(650)에 포함되는 복수의 트랜잭션이 블록체인 상에 기록되는 경우, 트랜잭션 그룹(650)이 고려되지 않고, 타임스탬프를 기반으로 저장될 수도 있다. 구체적으로 블록체인 상에 기록시에는 트랜잭션 그룹(650)이 해제되고, 트랜잭션의 타임스탬프가 고려되어 복수의 트랜잭션이 기록될 수 있다. 또는 트랜잭션 그룹(650)을 고려하여 블록 상에 기록되거나, 검증시 그룹핑된 트랜잭션 그룹(650)에 대한 식별 정보가 개별 트랜잭션에 표시될 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (8)

  1. 블록체인 상에서 트랜잭션 고속 처리 방법은,
    블록체인 플랫폼이 사용자 장치로부터 요청 트랜잭션을 수신하는 단계;
    상기 블록체인 플랫폼이 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하는 단계; 및
    상기 블록체인 플랫폼이 상기 캐시 상에 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 블록체인 플랫폼이 상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리가 불가능한 경우, 상기 요청 트랜잭션의 상기 블록체인 상으로의 전송을 위해 상기 요청 트랜잭션을 데이터 스트리밍부로 전송하는 단계를 더 포함하되,
    상기 캐시는 상기 요청 트랜잭션에 관련된 정보를 저장하고,
    상기 요청 트랜잭션은 타임 스탬프를 포함하고,
    상기 데이터 스트리밍부는 상기 요청 트랜잭션과 다른 요청 트랜잭션을 저장하되,
    상기 다른 요청 트랜잭션은 상기 사용자 장치 또는 다른 사용자 장치로부터 상기 요청 트랜잭션의 수신 이전에 수신하여 상기 블록체인 상으로 전송되기 이전의 트랜잭션을 포함하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 블록체인 플랫폼이 렛저 인보커의 상기 블록체인에 대한 인보킹을 기반으로 상기 요청 트랜잭션과 상기 다른 요청 트랜잭션을 상기 블록체인 상에 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부는 상기 요청 트랜잭션의 특성 및 상기 사용자 장치와 관련되어 상기 캐시 상에 이전에 전송된 이전 요청 트랜잭션의 특성을 기반으로 결정되는 것을 특징으로 하는 방법.
  5. 트랜잭션 고속 처리를 위한 블록체인 플랫폼은,
    상기 사용자 장치로부터 요청 트랜잭션을 수신하도록 구현된 통신부; 및
    기록된 정보를 기반으로 결정된 상기 요청 트랜잭션에 대한 처리 가능 여부를 결정하고, 상기 기록된 정보를 기반으로 상기 블록체인 상으로의 액세스 없이 상기 요청 트랜잭션에 대한 응답 트랜잭션을 전송하기 위해 구현된 캐시를 포함하는 것을 특징으로 하는 블록체인 플랫폼.
  6. 제5항에 있어서,
    상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리가 불가능한 경우, 상기 요청 트랜잭션의 상기 블록체인 상으로의 전송을 위해 상기 요청 트랜잭션을 수신하도록 구현되는 데이터 스트리밍부를 더 포함하되,
    상기 캐시는 상기 요청 트랜잭션에 관련된 정보를 저장하고,
    상기 요청 트랜잭션은 타임 스탬프를 포함하고,
    상기 데이터 스트리밍부는 상기 요청 트랜잭션과 다른 요청 트랜잭션을 저장하되,
    상기 다른 요청 트랜잭션은 상기 사용자 장치 또는 다른 사용자 장치로부터 상기 요청 트랜잭션의 수신 이전에 수신하여 상기 블록체인 상으로 전송되기 이전의 트랜잭션을 포함하는 것을 특징으로 하는 블록체인 플랫폼.
  7. 제6항에 있어서,
    상기 블록체인에 대한 인보킹을 기반으로 상기 요청 트랜잭션과 상기 다른 요청 트랜잭션을 상기 블록체인 상에 저장하도록 구현되는 렛저 인보커를 더 포함하는 것을 특징으로 하는 블록체인 플랫폼.
  8. 제5항에 있어서,
    상기 캐시를 기반으로 상기 요청 트랜잭션에 대한 처리 가능 여부는 상기 요청 트랜잭션의 특성 및 상기 사용자 장치와 관련되어 상기 캐시 상에 이전에 전송된 이전 요청 트랜잭션의 특성을 기반으로 결정되는 것을 특징으로 하는 블록체인 플랫폼.
PCT/KR2019/017520 2019-01-28 2019-12-11 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치 WO2020159072A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020190010322A KR20200093719A (ko) 2019-01-28 2019-01-28 캐시를 사용한 고성능 블록체인 플랫폼
KR10-2019-0010322 2019-01-28
KR10-2019-0087569 2019-07-19
KR1020190087569A KR102262618B1 (ko) 2019-07-19 2019-07-19 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치

Publications (1)

Publication Number Publication Date
WO2020159072A1 true WO2020159072A1 (ko) 2020-08-06

Family

ID=71841159

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/017520 WO2020159072A1 (ko) 2019-01-28 2019-12-11 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치

Country Status (2)

Country Link
TW (1) TW202032480A (ko)
WO (1) WO2020159072A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100013755A (ko) * 2008-08-01 2010-02-10 주식회사 비즈모델라인 계좌 잔액 미러링을 통한 캐시 결제 방법 및 시스템과 이를위한 기록매체
US20150120539A1 (en) * 2013-10-29 2015-04-30 Quisk, Inc. Hacker-Resistant Balance Monitoring
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20180101848A1 (en) * 2016-10-12 2018-04-12 Bank Of America Corporation System for managing a virtual private ledger and distributing workflow of authenticated transactions within a blockchain distributed network
KR20190000578A (ko) * 2017-06-23 2019-01-03 홍석현 블록체인 기반의 공개 분산 데이터베이스에서 데이터에 대한 보안을 유지하는 방법 및 이를 이용한 블록체인 관리 서버

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100013755A (ko) * 2008-08-01 2010-02-10 주식회사 비즈모델라인 계좌 잔액 미러링을 통한 캐시 결제 방법 및 시스템과 이를위한 기록매체
US20150120539A1 (en) * 2013-10-29 2015-04-30 Quisk, Inc. Hacker-Resistant Balance Monitoring
US20170005804A1 (en) * 2015-07-02 2017-01-05 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US20180101848A1 (en) * 2016-10-12 2018-04-12 Bank Of America Corporation System for managing a virtual private ledger and distributing workflow of authenticated transactions within a blockchain distributed network
KR20190000578A (ko) * 2017-06-23 2019-01-03 홍석현 블록체인 기반의 공개 분산 데이터베이스에서 데이터에 대한 보안을 유지하는 방법 및 이를 이용한 블록체인 관리 서버

Also Published As

Publication number Publication date
TW202032480A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
WO2018012871A1 (ko) 메신저 서비스를 통하여 송수신하는 데이터에 대한 기록 서비스 및 검증 서비스를 제공하는 방법, 및 이를 이용한 서버
WO2018155822A1 (ko) 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버
WO2021002692A1 (en) Method for providing virtual asset service based on decentralized identifier and virtual asset service providing server using them
WO2018043865A2 (ko) 블록체인을 기반으로 한 파일 관리/검색 시스템 및 파일 관리/검색 방법
WO2020022760A1 (ko) 시스템에 포함되는 노드들에 대하여 그룹을 운영하는 분산 네트워크 시스템
WO2014042415A1 (ko) 지능형 분산 스토리지 서비스 시스템 및 방법
WO2017131355A1 (ko) 시스템 환경 및 사용자 행동 분석 기반의 자기 방어 보안 장치와 이의 작동 방법
JP4548758B2 (ja) 共有アクセス管理機能を備えた携帯可能な情報処理装置
CN101202633A (zh) 数据发布系统以及索引保持装置
WO2021137396A1 (ko) 블록체인 네트워크를 이용한 영지식 증명 기반의 인증서 서비스 방법, 이를 이용한 인증 지원 서버 및 사용자 단말
WO2021162341A1 (ko) 블록체인 송금 서비스 시스템의 동작 방법과 송금을 위한 전자 지갑
WO2019125041A1 (ko) 블록체인을 이용한 개인정보 분리 후 분산저장을 통한 인증 시스템
CN110968563B (zh) 一种数据存储方法、元数据服务器及客户端
WO2021096001A1 (ko) 프라이빗 블록체인 기반 모바일 디바이스 관리 방법 및 시스템
WO2019125069A1 (ko) 블록체인을 이용한 개인정보 분리 후 조합을 통한 인증 시스템
WO2020153580A1 (ko) 블록체인 상에서 외부 노드를 통한 트랜잭션 처리 방법 및 이러한 방법을 수행하는 장치
WO2014042414A1 (ko) 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법
WO2020159072A1 (ko) 블록체인 상에서 트랜잭션 고속 처리 방법 및 이러한 방법을 사용하는 장치
WO2021137391A1 (ko) 비밀 공유를 이용한 블록 체인 생성 방법
WO2023149660A1 (ko) 그룹 서명 기반 연합학습 방법 및 시스템, 이를 수행하기 위한 기록 매체
WO2011040765A2 (ko) 실시간으로 대용량 랭킹을 산정하기 위한 랭킹 데이터 시스템, 랭킹 질의 시스템 및 랭킹 산정 방법
CN111339567A (zh) 一种基于区块链的记账方法和记账系统
WO2021101040A1 (ko) 패치 트랜잭션을 이용한 블록체인 생성 방법
CN110221991A (zh) 计算机外围设备的管控方法及系统
WO2021025403A2 (ko) 보안키 관리 방법 및 보안키 관리 서버

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: 19914039

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: 19914039

Country of ref document: EP

Kind code of ref document: A1