KR20220078254A - Method for processing transaction - Google Patents
Method for processing transaction Download PDFInfo
- Publication number
- KR20220078254A KR20220078254A KR1020200167598A KR20200167598A KR20220078254A KR 20220078254 A KR20220078254 A KR 20220078254A KR 1020200167598 A KR1020200167598 A KR 1020200167598A KR 20200167598 A KR20200167598 A KR 20200167598A KR 20220078254 A KR20220078254 A KR 20220078254A
- Authority
- KR
- South Korea
- Prior art keywords
- cryptocurrency
- transaction
- address
- addresses
- preset
- Prior art date
Links
Images
Classifications
-
- 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/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- 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/08—Payment architectures
- G06Q20/14—Payment architectures specially adapted for billing systems
- G06Q20/145—Payments according to the detected use or quantity
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
본 개시의 일 실시예에 따른 트랜잭션 처리 방법은, 컴퓨팅 장치의 하나 이상의 프로세서에서 수행되는 트랜잭션을 처리하는 방법에 있어서, 사용자 단말로부터 특정 정보를 기록하기 위한 제 1 신호를 수신하는 단계; 저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하는 단계; 상기 제 1 암호화폐 주소, 상기 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용 및 상기 특정 정보를 포함하는 트랜잭션을 생성하는 단계; 및 상기 트랜잭션을 블록체인 네트워크에 포함된 적어도 하나의 노드에 전송하여 상기 블록체인 네트워크에 상기 트랜잭션이 기록되도록 야기하는 단계;를 포함할 수 있다.A transaction processing method according to an embodiment of the present disclosure, a method of processing a transaction performed in one or more processors of a computing device, comprising: receiving a first signal for recording specific information from a user terminal; selecting a first cryptocurrency address from among a plurality of cryptocurrency addresses recorded in the storage unit in a preset manner; generating a transaction including the first cryptocurrency address, a preset transaction cost deducted from the first cryptocurrency address, and the specific information; and sending the transaction to at least one node included in the blockchain network to cause the transaction to be recorded in the blockchain network.
Description
본 개시 내용은 트랜잭션을 처리하는 방법에 관한 것으로, 보다 구체적으로 컴퓨팅 장치를 통해 거래비용을 차감하여 트랜잭션을 처리하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.The present disclosure relates to a method of processing a transaction, and more particularly, to an apparatus, method, and computer program for processing a transaction by deducting a transaction cost through a computing device.
블록체인은 블록에 데이터를 담아 체인 형태로 연결하고, 수많은 컴퓨터에 동시에 이를 복제해 저장하는 분산형 데이터 저장 기술이며 공공 거래 장부라고도 부른다. 블록체인은 중앙 집중형 서버에 거래 기록을 보관하지 않고 거래에 참여하는 모든 사용자에게 거래 내역을 보내 주며, 거래 때마다 모든 거래 참여자들이 정보를 공유하고 이를 대조해 데이터 위조나 변조를 할 수 없도록 돼 있다. 이러한 블록체인 기술을 기반으로 한 암호화폐가 개발되고 있다.Blockchain is a distributed data storage technology that stores data in blocks, connects them in a chain, and replicates and stores them on numerous computers at the same time, and is also called a public transaction ledger. The blockchain does not keep transaction records on a centralized server, but sends transaction details to all users participating in the transaction. . Cryptocurrency based on such block chain technology is being developed.
특정 암호화폐의 경우 모든 쓰기 요청에 거래비용을 지불해야한다. 따라서, 사용자는 특정 암호화폐가 없는 경우 특정 암호화폐를 통해 제공되는 앱을 사용할 수 없다는 문제점이 있다.For certain cryptocurrencies, you have to pay a transaction fee for every write request. Therefore, there is a problem that the user cannot use the app provided through the specific cryptocurrency if there is no specific cryptocurrency.
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 사용자 단말에서 거래비용을 차감하지 않고 컴퓨팅 장치를 통해 거래비용을 차감하여 트랜잭션을 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공하기 위함이다.The present disclosure has been made in response to the above-described background technology, and is intended to provide an apparatus, method, and computer program for processing a transaction by deducting a transaction cost through a computing device without deducting a transaction cost from a user terminal.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.
전술한 과제를 해결하기 위한 트랜잭션을 처리하는 방법은, 컴퓨팅 장치의 하나 이상의 프로세서에서 수행되는 트랜잭션을 처리하는 방법에 있어서, 사용자 단말로부터 특정 정보를 기록하기 위한 제 1 신호를 수신하는 단계; 저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하는 단계; 상기 제 1 암호화폐 주소, 상기 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용 및 상기 특정 정보를 포함하는 트랜잭션을 생성하는 단계; 및 상기 트랜잭션을 블록체인 네트워크에 포함된 적어도 하나의 노드에 전송하여 상기 블록체인 네트워크에 상기 트랜잭션이 기록되도록 야기하는 단계;를 포함할 수 있다.A method of processing a transaction for solving the above-described problem, the method of processing a transaction performed in one or more processors of a computing device, the method comprising: receiving a first signal for recording specific information from a user terminal; selecting a first cryptocurrency address from among a plurality of cryptocurrency addresses recorded in the storage unit in a preset manner; generating a transaction including the first cryptocurrency address, a preset transaction cost deducted from the first cryptocurrency address, and the specific information; and sending the transaction to at least one node included in the blockchain network to cause the transaction to be recorded in the blockchain network.
대안적으로, 상기 트랜잭션이 상기 블록체인 네트워크의 블록에 기록되었는지 여부를 확인하는 제 2 신호를 기 설정된 시간 간격으로 상기 적어도 하나의 노드에 전송하는 단계; 및 상기 적어도 하나의 노드로부터 상기 트랜잭션이 상기 블록체인 네트워크의 상기 블록에 기록되었는지 여부와 관련된 정보를 포함하는 제 3 신호를 수신한 경우, 상기 제 3 신호에 기초하여 상기 트랜잭션의 저장 성공 여부를 판단하는 단계;를 더 포함할 수 있다.Alternatively, transmitting a second signal confirming whether the transaction is recorded in a block of the blockchain network to the at least one node at a preset time interval; and when receiving a third signal including information related to whether or not the transaction is recorded in the block of the blockchain network from the at least one node, determine whether or not the storage of the transaction is successful based on the third signal It may further include;
대안적으로, 상기 제 3 신호를 통해 상기 트랜잭션이 상기 블록체인 네트워크의 상기 블록에 기록되었다고 인식한 경우, 상기 트랜잭션의 저장 성공을 알리는 제 4 신호를 상기 사용자 단말에 전송하는 단계;를 더 포함할 수 있다.Alternatively, when it is recognized through the third signal that the transaction has been recorded in the block of the blockchain network, transmitting a fourth signal informing the successful storage of the transaction to the user terminal; can
대안적으로, 상기 특정 정보는, 상기 블록체인 네트워크 상에서 동작가능한 스마트 컨트랙트를 포함할 수 있다.Alternatively, the specific information may include a smart contract operable on the blockchain network.
대안적으로, 상기 트랜잭션을 상기 적어도 하나의 노드에 전송하는 경우, 상기 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보에서 상기 기 설정된 거래비용을 차감시키는 단계;를 더 포함할 수 있다.Alternatively, when transmitting the transaction to the at least one node, deducting the preset transaction cost from quantitative information on the amount of the first cryptocurrency related to the first cryptocurrency address; can
대안적으로, 상기 기 설정된 거래비용이 차감된 후 상기 정량적 정보에 기초하여 상기 제 1 암호화폐의 양이 임계 값 미만이라고 인식한 경우, 알림 신호를 관리자 단말에 전송하는 단계;를 더 포함할 수 있다.Alternatively, when it is recognized that the amount of the first cryptocurrency is less than a threshold value based on the quantitative information after the preset transaction cost is deducted, transmitting a notification signal to the manager terminal; may further include have.
대안적으로, 상기 저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하는 단계는, 상기 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보에 기초하여 상기 제 1 암호화폐의 양이 상기 기 설정된 거래비용보다 적은지 여부를 인식하는 단계; 상기 제 1 암호화폐의 양이 상기 기 설정된 거래비용보다 적다고 인식한 경우, 상기 복수의 암호화폐 주소 중 상기 제 1 암호화폐 주소와 다른 암호화폐 주소를 선택하는 단계;를 포함할 수 있다.Alternatively, the step of selecting the first cryptocurrency address from among the plurality of cryptocurrency addresses recorded in the storage unit in a preset manner includes quantitative information about the amount of the first cryptocurrency related to the first cryptocurrency address. Recognizing whether the amount of the first cryptocurrency is less than the preset transaction cost based on the; When it is recognized that the amount of the first cryptocurrency is less than the preset transaction cost, selecting a cryptocurrency address different from the first cryptocurrency address from among the plurality of cryptocurrency addresses.
대안적으로, 상기 저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하는 단계는, 상기 복수의 암호화폐 주소 각각에 저장된 암호화폐가 상기 기 설정된 거래비용보다 적은 경우, 에러로 판단하는 단계;를 포함할 수 있다.Alternatively, the step of selecting a first cryptocurrency address from among the plurality of cryptocurrency addresses recorded in the storage unit in a preset manner may include, wherein the cryptocurrency stored in each of the plurality of cryptocurrency addresses is less than the preset transaction cost In this case, the step of determining as an error; may include.
대안적으로, 상기 기 설정된 방식은, 상기 복수의 암호화폐 주소 중에서 순서대로 상기 제 1 암호화폐 주소를 선택하는 제 1 방식, 상기 복수의 암호화폐 주소 중에서 사용 가능한 주소에 순서를 부여하여 순서대로 상기 제 1 암호화폐 주소를 선택하는 제 2 방식, 상기 복수의 암호화폐 주소 중에서 넌스(Nonce) 값이 낮은 순으로 상기 제 1 암호화폐 주소를 선택하는 제 3 방식, 상기 복수의 암호화폐 주소 중에서 누적된 선택 횟수가 적은 순으로 상기 제 1 암호화폐 주소를 선택하는 제 4 방식 및 상기 복수의 암호화폐 주소 중에서 무작위로 상기 제 1 암호화폐 주소를 선택하는 제 5 방식 중 하나일 수 있다.Alternatively, the preset method may include a first method of selecting the first cryptocurrency address from among the plurality of cryptocurrency addresses in order, giving an order to usable addresses from among the plurality of cryptocurrency addresses in order A second method of selecting a first cryptocurrency address, a third method of selecting the first cryptocurrency address in the order of the lowest nonce value among the plurality of cryptocurrency addresses, the accumulated It may be one of a fourth method of selecting the first cryptocurrency address in the order of the number of selections and a fifth method of randomly selecting the first cryptocurrency address from among the plurality of cryptocurrency addresses.
대안적으로, 상기 제 1 방식은, 상기 복수의 암호화폐 주소 중 현재 선택 예정인 암호화폐 주소에 문제가 생긴 경우, 다음 순서인 암호화폐 주소를 상기 제 1 암호화폐 주소로 사용할 수 있다.Alternatively, in the first method, when a problem occurs in the currently selected cryptocurrency address among the plurality of cryptocurrency addresses, the next cryptocurrency address may be used as the first cryptocurrency address.
대안적으로, 상기 제 3 방식은, 상기 복수의 암호화폐 주소 중에서 넌스(Nonce) 값이 동일한 암호화폐 주소들이 존재하는 경우, 상기 암호화폐 주소들 중에서 무작위로 상기 제 1 암호화폐 주소를 선택할 수 있다.Alternatively, in the third method, if there are cryptocurrency addresses having the same nonce value among the plurality of cryptocurrency addresses, the first cryptocurrency address may be randomly selected from among the cryptocurrency addresses. .
대안적으로, 상기 제 4 방식은, 상기 복수의 암호화폐 주소 중에서 상기 누적된 선택 횟수가 동일한 암호화폐 주소들이 존재하는 경우, 상기 암호화폐 주소들 중에서 무작위로 상기 제 1 암호화폐 주소를 선택할 수 있다.Alternatively, in the fourth method, if there are cryptocurrency addresses having the same accumulated number of selections among the plurality of cryptocurrency addresses, the first cryptocurrency address may be randomly selected from among the cryptocurrency addresses. .
전술한 과제를 해결하기 위한 트랜잭션을 처리하기 위한 컴퓨팅 장치에 있어서, 프로세서; 상기 프로세서에 의해 실행가능한 컴퓨터 프로그램을 저장하는 저장부; 및 사용자 단말로부터 특정 정보를 기록하기 위한 제 1 신호를 수신하는 통신부;를 포함하며, 상기 프로세서는: 상기 저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하고, 상기 제 1 암호화폐 주소, 상기 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용 및 상기 특정 정보를 포함하는 트랜잭션을 생성하며, 상기 트랜잭션을 블록체인 네트워크에 포함된 적어도 하나의 노드에 전송하여 상기 블록체인 네트워크에 상기 트랜잭션이 기록되도록 야기할 수 있다.A computing device for processing a transaction for solving the above problem, comprising: a processor; a storage unit for storing a computer program executable by the processor; and a communication unit for receiving a first signal for recording specific information from a user terminal, wherein the processor: selects a first cryptocurrency address from among a plurality of cryptocurrency addresses recorded in the storage unit in a preset manner, , generating a transaction including the first cryptocurrency address, a preset transaction cost deducted from the first cryptocurrency address, and the specific information, and transmitting the transaction to at least one node included in the block chain network. It can cause the transaction to be recorded on the blockchain network.
전술한 과제를 해결하기 위한 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨팅 장치의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은: 사용자 단말로부터 특정 정보를 기록하기 위한 제 1 신호를 수신하는 단계; 저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하는 단계; 상기 제 1 암호화폐 주소, 상기 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용 및 상기 특정 정보를 포함하는 트랜잭션을 생성하는 단계; 및 상기 트랜잭션을 블록체인 네트워크에 포함된 적어도 하나의 노드에 전송하여 상기 블록체인 네트워크에 상기 트랜잭션이 기록되도록 야기하는 단계;를 포함할 수 있다.A computer program stored in a computer-readable storage medium for solving the above-described problems, the computer program comprising instructions for causing a processor of a computing device to perform the following steps, the steps of: receiving specific information from a user terminal receiving a first signal for recording; selecting a first cryptocurrency address from among a plurality of cryptocurrency addresses recorded in the storage unit in a preset manner; generating a transaction including the first cryptocurrency address, a preset transaction cost deducted from the first cryptocurrency address, and the specific information; and sending the transaction to at least one node included in the blockchain network to cause the transaction to be recorded in the blockchain network.
본 개시는 사용자 단말에서 거래비용을 차감하지 않고 컴퓨팅 장치를 통해 거래비용을 차감함으로써, 사용자가 특정 암호화폐를 가지고 있지 않고, 복잡한 블록체인에 대한 지식이 없어도 특정 암호화폐를 통해 제공되는 서비스를 이용할 수 있는 트랜잭션을 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.The present disclosure does not deduct the transaction cost from the user terminal, but by deducting the transaction cost through the computing device, the user does not have a specific cryptocurrency and can use the service provided through the specific cryptocurrency even without knowledge of complex blockchain. An apparatus, method, and computer program for processing a transaction may be provided.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable in the present disclosure are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those of ordinary skill in the art to which the present disclosure belongs from the description below. .
다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 구체적인 세부사항들 없이 실시될 수 있음은 명백할 것이다.
도 1은 본 개시의 몇몇 실시예에 따른 트랜잭션을 처리하기 위한 시스템의 개략도이다.
도 2는 본 개시의 몇몇 실시예에 따라 블록에 저장되는 데이터 형태를 예시적으로 나타낸 도면이다.
도 3은 본 개시의 몇몇 실시예에 따라 트랜잭션을 처리하기 위한 시스템에서 수행되는 트랜잭션 처리 방법을 나타내는 흐름도이다.
도 4 내지 6은 본 개시의 몇몇 실시예에 따라 컴퓨팅 장치에서 수행되는 트랜잭션 처리 방법을 나타내는 흐름도이다.
도 7은 본 개시의 내용의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 일반적인 개략도이다.Various aspects are now described with reference to the drawings, wherein like reference numbers are used to refer to like elements throughout. In the following example, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects. It will be evident, however, that such aspect(s) may be practiced without these specific details.
1 is a schematic diagram of a system for processing a transaction in accordance with some embodiments of the present disclosure;
2 is a diagram exemplarily illustrating data types stored in blocks according to some embodiments of the present disclosure.
3 is a flowchart illustrating a transaction processing method performed in a system for processing a transaction according to some embodiments of the present disclosure;
4 to 6 are flowcharts illustrating a transaction processing method performed by a computing device according to some embodiments of the present disclosure.
7 is a general schematic diagram of an example computing environment in which embodiments of the present disclosure may be implemented.
다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 감지될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다. 구체적으로, 본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.Various embodiments and/or aspects are now disclosed with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of one or more aspects. However, it will also be appreciated by one of ordinary skill in the art that such aspect(s) may be practiced without these specific details. The following description and accompanying drawings set forth in detail certain illustrative aspects of one or more aspects. These aspects are illustrative, however, and some of various methods may be employed in the principles of the various aspects, and the descriptions set forth are intended to include all such aspects and their equivalents. Specifically, as used herein, “embodiment”, “example”, “aspect”, “exemplary”, etc. are not to be construed as advantageous or advantageous over any aspect or design described herein. It may not be.
이하, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않는다.Hereinafter, the same or similar components are assigned the same reference numerals regardless of reference numerals, and overlapping descriptions thereof will be omitted. In addition, in describing the embodiments disclosed in the present specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in the present specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in the present specification, and the technical ideas disclosed in the present specification are not limited by the accompanying drawings.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다. In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or.” That is, unless otherwise specified or clear from context, "X employs A or B" is intended to mean one of the natural implicit substitutions. That is, X employs A; X employs B; or when X employs both A and B, "X employs A or B" may apply to either of these cases. It should also be understood that the term “and/or” as used herein refers to and includes all possible combinations of one or more of the listed related items.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.Also, the terms "comprises" and/or "comprising" mean that the feature and/or element is present, but excludes the presence or addition of one or more other features, elements, and/or groups thereof. should be understood as not Also, unless otherwise specified or unless it is clear from context to refer to a singular form, the singular in the specification and claims should generally be construed to mean “one or more”.
그리고, "A 또는 B 중 적어도 하나"이라는 용어는, "A만을 포함하는 경우", “B 만을 포함하는 경우", "A와 B의 구성으로 조합된 경우"를 의미하는 것으로 해석되어야 한다.In addition, the term "at least one of A or B" should be interpreted as meaning "when including only A", "when including only B", and "when combined with the configuration of A and B".
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being “connected” or “connected” to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.
이하의 설명에서 사용되는 구성 요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.The suffixes "module" and "part" for the components used in the following description are given or used in consideration of only the ease of writing the specification, and do not have distinct meanings or roles by themselves.
본 개시의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 개시를 설명하는데 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.Objects and effects of the present disclosure, and technical configurations for achieving them will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. In describing the present disclosure, if it is determined that a detailed description of a well-known function or configuration may unnecessarily obscure the subject matter of the present disclosure, the detailed description thereof will be omitted. In addition, the terms described below are terms defined in consideration of functions in the present disclosure, which may vary according to intentions or customs of users and operators.
그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in various different forms. Only the present embodiments are provided so that the present disclosure is complete, and to fully inform those of ordinary skill in the art to which the present disclosure belongs, the scope of the disclosure, and the present disclosure is only defined by the scope of the claims . Therefore, the definition should be made based on the content throughout this specification.
본 개시의 몇몇 실시예에 따른 트랜잭션을 처리하는 방법은, 사용자가 거래비용을 지불하지 않고 컴퓨팅 장치를 통해 거래비용을 차감하여 트랜잭션을 처리하는 방법을 의미할 수 있다.A method of processing a transaction according to some embodiments of the present disclosure may refer to a method of processing a transaction by deducting a transaction cost through a computing device without a user paying a transaction cost.
도 1은 본 개시의 몇몇 실시예에 따른 트랜잭션을 처리하기 위한 시스템의 개략도이다.1 is a schematic diagram of a system for processing a transaction in accordance with some embodiments of the present disclosure;
도 1을 참조하면, 트랜잭션을 처리하기 위한 시스템은, 사용자 단말(100), 컴퓨팅 장치(200), 블록체인 네트워크(300) 및 통신 네트워크(400)를 포함할 수 있다. 다만, 상술한 구성요소는 트랜잭션을 처리하기 위한 시스템을 구현하는데 있어서 필수적인 것은 아니며, 트랜잭션을 처리하기 위한 시스템은 위에 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 1 , a system for processing a transaction may include a
사용자 단말(100)은 사용자가 특정 정보를 입력할 수 있는 다양한 종류의 컴퓨팅 장치를 의미할 수 있다. The
구체적으로, 사용자 단말(100)은 통신 네트워크(400)를 통하여 컴퓨팅 장치(200)와 통신하기 위한 매커니즘을 가지며, PC, 랩탑 컴퓨터, 워크스테이션 및 임의의 전자 디바이스를 포함할 수 있다. 그리고, 사용자 단말(100)은 애플리케이션 소스 및 클라이언트 애플리케이션을 포함할 수 있다.Specifically, the
도 1에 도시된 사용자 단말(100)은 프로세서(101), 저장부(102) 및 통신부(103)를 포함할 수 있다. 다만, 상술한 구성 요소들은 사용자 단말(100)을 구현하는데 있어서 필수적인 것은 아니어서, 사용자 단말(100)은 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다. 여기서, 각각의 구성 요소들은 별개의 칩이나 모듈이나 장치로 구성될 수 있고, 하나의 장치 내에 포함될 수도 있다.The
프로세서(101)는 통상적으로 사용자 단말(100)의 전반적인 동작을 처리할 수 있다. 프로세서(101)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 저장부(102)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.The
또한, 프로세서(101)는 하나 이상의 코어로 구성될 수 있으며, 사용자 단말(100)의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등과 같이 저장부(102) 상에 저장된 명령어들을 실행시키는 임의의 형태의 프로세서(101)를 포함할 수 있다. 프로세서(101)는 저장부(102)에 저장된 컴퓨터프로그램을 판독하여 본 개시의 몇몇 실시예에 따른 트랜잭션을 처리하기 위한 동작을 수행할 수 있다.In addition, the
그리고, 프로세서(101)는 사용자가 특정 정보를 입력하는 경우, 특정 정보를 기록하기 위한 제 1 신호를 컴퓨팅 장치(200)에 전송하도록 통신부(103)를 제어할 수 있다. In addition, when the user inputs specific information, the
여기에서, 특정 정보는 클라이언트 애플리케이션에서 실행되는 게임에 관련된 정보를 포함할 수 있다. 예를 들면, 특정 정보는 사용자가 게임 내에서 획득한 게임 아이템에 대한 정보, 사용자가 게임 내에서 사용한 게임 아이템에 대한 정보, 사용자가 게임 내에서 다른 사용자와 거래한 거래 정보 등을 포함할 수 있다. Here, the specific information may include information related to a game executed in the client application. For example, the specific information may include information on game items acquired by the user in the game, information on game items used by the user in the game, transaction information that the user makes with other users in the game, etc. .
또한, 특정 정보는 블록체인 네트워크(300) 상에서 동작가능한 스마트 컨트랙트를 포함할 수 있다.In addition, the specific information may include a smart contract operable on the
여기에서, 스마트 컨트랙트는 임의의 형태의 계약 또는 협상을 디지털적으로 증명하고 실행시키기 위한 컴퓨터 프로토콜일 수 있다. 또한, 스마트 컨트랙트는 디지털 언어로 작성되고 임의의 컴퓨팅 장치에서 실행될 수 있다. 그리고, 스마트 컨트랙트에 포함된 코드 또는 함수가 실행되는 경우, 그 코드 또는 함수에 기재된 형태의 동작들이 수행될 수 있다.Here, a smart contract may be a computer protocol for digitally verifying and executing any form of contract or negotiation. In addition, smart contracts can be written in digital language and executed on any computing device. And, when the code or function included in the smart contract is executed, the types of operations described in the code or function may be performed.
이러한, 스마트 컨트랙트는 새로운 스마트 컨트랙트를 생성하는 방식, 특정 스마트 컨트랙트 상의 함수를 실행하는 방식, 또는 블록체인 네트워크에서 동작가능한 코인 또는 토큰을 전송하는 방식 중 적어도 하나에 의해 실행될 수 있다. 그리고, 스마트 컨트랙트는 외부 소유 계정에 의해서 발생한 트랜잭션이나 다른 컨트랙트에 의해서 실행될 수 있다.Such a smart contract may be executed by at least one of a method of creating a new smart contract, a method of executing a function on a specific smart contract, or a method of transmitting an operable coin or token in a block chain network. And, the smart contract can be executed by a transaction generated by an externally owned account or by another contract.
또한, 스마트 컨트랙트는 무한 반복 같은 악의적인 코드를 막고 트랜잭션 처리와 관련된 데이터의 무결성을 지키기 위해, 트랜잭션을 실행할 때 기 설정된 거래비용을 지급하도록 규정할 수 있다. In addition, the smart contract may stipulate that a preset transaction fee be paid when executing a transaction to prevent malicious code such as infinite repetition and to protect the integrity of data related to transaction processing.
여기에서, 거래비용은 블록체인 네트워크(300)에서 거래가능한 임의의 형태의 코인 또는 코인과 연동될 수 있는 별도의 다른 형태의 매개체(예를 들면, 가스(gas))를 의미할 수 있다. 이와 같은 거래비용에는 트랜잭션 발행자의 계정 주소에 대한 ECDSA(Elliptic Curve Digital Signature Algorithm)를 처리하기 위한 비용, 트랜잭션 저장을 위한 스토리지 비용, 네트워크 대역폭 비용 등이 포함될 수 있다. 이와 같이 스마트 컨트랙트 실행 시 특정 비용을 지불하도록 정의되는 경우, 의도적인 디도스 공격과 같은 무한 실행과 같은 악의적인 공격이 방지될 수 있다.Here, the transaction cost may mean any type of coin tradable in the
또한, 스마트 컨트랙트들 간의 호출은, 메시지라는 구조체를 사용하여 구현될 수 있다. 여기에서, 메시지는 컨트랙트 계정에 의해 생성될 수 있으며, 함수 호출시에 다른 컨트랙트로 전달될 수 있다. 이러한 경우의 메시지는 외부 소유 계정에서 발생되는 트랜잭션과는 달리, 블록체인 네트워크(300) 내부에서 생성되어 처리되기 때문에, 가스와 같은 별도의 거래비용이 발생되지 않을 수도 있다.Also, calls between smart contracts can be implemented using a structure called a message. Here, a message can be generated by the contract account and can be delivered to another contract when a function is called. In this case, unlike a transaction generated by an externally owned account, a separate transaction cost such as gas may not be generated because the message is generated and processed inside the
그리고, 스마트 컨트랙트의 함수를 컴파일된 코드 형태로 트랜잭션에 포함하여 블록체인 네트워크(300)를 통해 동기화할 때, 트랜잭션에 포함된 정보를 함수의 입력으로 하여 코드로 표현된 함수를 실행한 후 그 결과를 별도의 상태로 보관하는 방식으로 스마트 컨트랙트가 구현될 수 있다.And, when the smart contract function is included in the transaction in the form of compiled code and synchronized through the
저장부(102)는 프로세서(101)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(103)가 수신한 임의의 형태의 정보를 저장할 수 있다.The
또한, 저장부(102)는 메모리 또는 영구저장매체를 포함할 수 있다. 여기에서, 메모리는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.Also, the
통신부(103)는 임의의 형태의 데이터 및 신호 등을 송수신할 수 있는 임의의 유무선 통신 네트워크를 포함할 수 있다. 예를 들면, 통신부(103)는 컴퓨팅 장치(200)로부터 트랜잭션의 저장 성공을 알리는 제 4 신호를 수신할 수 있다.The
컴퓨팅 장치(200)는 통신 네트워크(400)를 통하여 사용자 단말(100) 및 블록체인 네트워크(300)와 통신하기 위한 매커니즘을 가지며, 에이전트(Agent), API(Application Programming Interface) 및 플러그-인(Plug-in) 중 적어도 하나에 의해 구현되는 임의의 서버를 포함할 수도 있다.The
도 1에 도시된 컴퓨팅 장치(200)는 프로세서(201), 저장부(202) 및 통신부(203)를 포함할 수 있다. 다만, 상술한 구성 요소들은 컴퓨팅 장치(200)를 구현하는데 있어서 필수적인 것은 아니어서, 컴퓨팅 장치(200)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다. 여기서, 각각의 구성 요소들은 별개의 칩이나 모듈이나 장치로 구성될 수 있고, 하나의 장치 내에 포함될 수도 있다.The
프로세서(201)는 통상적으로 컴퓨팅 장치(200)의 전반적인 동작을 처리할 수 있다. 프로세서(201)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 저장부(202)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.The
또한, 프로세서(201)는 하나 이상의 코어로 구성될 수 있으며, 사용자 단말(100)의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등과 같이 저장부(202) 상에 저장된 명령어들을 실행시키는 임의의 형태의 프로세서(201)를 포함할 수 있다. 프로세서(201)는 저장부(202)에 저장된 컴퓨터프로그램을 판독하여 본 개시의 몇몇 실시예에 따른 트랜잭션을 처리하기 위한 동작을 수행할 수 있다.In addition, the
프로세서(201)는 사용자 단말(100)로부터 특정 정보를 기록하기 위한 제 1 신호를 통신부(203)를 통해 수신할 수 있다.The
프로세서(201)는 저장부(202)에 기록된 복수의 암호화폐 주소 중 하나의 주소를 기 설정된 방식으로 선택할 수 있다. 예를 들면, 프로세서(201)는 저장부(202)에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택할 수 있다. 여기서, 복수의 암호화폐 주소는 이더리움과 관련된 암호화폐 주소를 의미할 수 있다. The
기 설정된 방식은, 복수의 암호화폐 주소 중에서 순서대로 제 1 암호화폐 주소를 선택하는 제 1 방식, 복수의 암호화폐 주소 중에서 사용 가능한 주소에 순서를 부여하여 순서대로 제 1 암호화폐 주소를 선택하는 제 2 방식, 복수의 암호화폐 주소 중에서 넌스(Nonce) 값이 낮은 순으로 제 1 암호화폐 주소를 선택하는 제 3 방식, 복수의 암호화폐 주소 중에서 누적된 선택 횟수가 적은 순으로 제 1 암호화폐 주소를 선택하는 제 4 방식 및 복수의 암호화폐 주소 중에서 무작위로 제 1 암호화폐 주소를 선택하는 제 5 방식 중 하나일 수 있다.The preset method includes a first method of sequentially selecting a first cryptocurrency address from among a plurality of cryptocurrency addresses, a first method of selecting a first cryptocurrency address in order by assigning an order to available addresses among a plurality of cryptocurrency addresses Method 2, the third method of selecting the first cryptocurrency address in the order of the lowest nonce value among the plurality of cryptocurrency addresses, It may be one of a fourth method of selecting and a fifth method of randomly selecting a first cryptocurrency address from among a plurality of cryptocurrency addresses.
구체적으로 제 1 방식에 대해 설명하면 다음과 같다. Specifically, the first method will be described as follows.
복수의 암호화폐 주소 각각의 순서에 대한 순서 정보가 복수의 암호화폐 주소 각각과 맵핑되어 저장부(202)에 기록되어 있을 수 있다. 프로세서(201)는 제 1 방식에 따라 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택하는 경우, 저장부(202)에 기록되어 있는 순서 정보를 이용하여 복수의 암호화폐 주소 중 현재 순서에 해당되는 제 1 암호화폐 주소를 선택할 수 있다. Order information for each order of a plurality of cryptocurrency addresses may be mapped to each of a plurality of cryptocurrency addresses and recorded in the
한편, 본 개시의 몇몇 실시예에 따르면, 프로세서(201)는 제 1 방식에 따라 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택할 때, 복수의 암호화폐 주소 중 현재 선택 예정인 암호화폐 주소에 문제가 생겼다고 인식할 수도 있다. 이 경우, 프로세서(201)는 순서 정보를 확인하여 다음 순서인 암호화폐 주소를 제 1 암호화폐 주소로 사용할 수 있다. 즉, 프로세서(201)는 복수의 암호화폐 주소 중 현재 선택 예정인 암호화폐 주소에 문제가 존재한다고 인식한 경우, 다음에 선택할 예정인 암호화폐 주소를 선택할 수 있다. On the other hand, according to some embodiments of the present disclosure, when the
예를 들면, 복수의 암호화폐 주소 중 현재 선택 예정인 제 2 암호화폐 주소에 문제가 생겨서 제 2 암호화폐 주소에서 트랜잭션이 생성이 안되는 경우, 다음 순서인 제 3 암호화폐 주소를 선택할 수 있다.For example, if a transaction cannot be created at the second cryptocurrency address due to a problem with the currently selected second cryptocurrency address among a plurality of cryptocurrency addresses, the next third cryptocurrency address may be selected.
제 2 방식에 대해 구체적으로 설명하면 다음과 같다.The second method will be described in detail as follows.
프로세서(201)는 제 2 방식에 따라 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택하는 경우, 사용자 단말(100)로부터 특정 정보를 기록하기 위한 최초 신호를 수신한 시점에서 사용이 가능한 암호화폐 주소를 판단할 수 있다. 그리고, 프로세서(201)는 복수의 암호화폐 주소 중 특정 정보를 기록하기 위한 최초 신호를 수신한 시점에 사용이 가능하다고 판단된 암호화폐 주소에 순서를 부여하여 순서대로 주소를 선택할 수 있다. 여기서, 프로세서(201)는 최초 신호 이후에 다른 특정 정보를 기록하기 위한 다른 신호를 수신한 경우에는 최초 신호를 수신한 시점에 결정된 순서에 기초하여 순서대로 주소를 선택할 수 있다.When the
여기서, 프로세서(201)는 특정 정보를 기록하기 위한 최초 신호를 수신한 시점에 사용이 가능하다고 판단된 암호화폐 주소에 순서를 부여할 때 랜덤하게 순서를 부여할 수 있다. 다만, 이에 한정되는 것은 아니고 프로세서(201)는 다양한 방법으로 특정 정보를 기록하기 위한 최초 신호를 수신한 시점에 사용이 가능하다고 판단된 암호화폐 주소에 순서를 부여할 수 있다.Here, the
한편, 본 개시의 몇몇 실시예에 따르면, 프로세서(201)는 기 설정된 시간 간격으로 암호화폐 주소의 순서를 초기화할 수 있다. 이 경우, 프로세서(201)는 암호화폐 주소의 순서가 초기화된 후 사용자 단말(100)로부터 특정 정보를 기록하기 위한 최초 신호를 수신한 시점에 사용이 가능한 암호화폐 주소에 순서를 부여할 수 있다.On the other hand, according to some embodiments of the present disclosure, the
즉, 제 2 방식을 통해 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택하는 경우, 제 1 방식과 다르게, 복수의 암호화폐 주소 각각의 순서에 대한 정보가 저장부(202)에 기록되어 있지 않고, 복수의 암호화폐 주소만 저장부(202)에 기록되어 있을 수 있다. That is, when any one of the cryptocurrency addresses is selected through the second method, information about the order of each of the plurality of cryptocurrency addresses is recorded in the
이 경우, 저장부(202)에 기록되어 있는 복수의 암호화폐 주소 중 다수의 암호화폐 주소에 문제가 존재할 때, 프로세서(201)는 사용가능한 주소를 찾을 때까지 반복적으로 암호화폐 주소를 선택할 필요가 없다. 즉, 프로세서(201)는 사용가능한 주소에만 순서를 부여하고, 사용가능한 암호화폐 주소들 중에서 순서대로 암호화폐 주소를 선택할 수 있다는 점에서 시간적으로 제 1 방식보다 효과적일 수 있다. In this case, when there is a problem with a plurality of cryptocurrency addresses among a plurality of cryptocurrency addresses recorded in the
제 3 방식에 대해 구체적으로 설명하면 다음과 같다. The third method will be described in detail as follows.
프로세서(201)는, 제 3 방식을 통해 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택하는 경우, 복수의 암호화폐 주소 각각의 넌스 값을 인식할 수 있다. 그리고, 프로세서(201)는 복수의 암호화폐 주소 중에서 넌스(Nonce) 값이 낮은 순으로 제 1 암호화폐 주소를 선택할 수 있다. The
한편, 프로세서(201)는 제 3 방식을 통해 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택하는 경우, 복수의 암호화폐 주소 중에서 넌스(Nonce) 값이 동일한 암호화폐 주소들이 존재한다고 인식할 수도 있다. 이 경우, 프로세서(201)는 넌스 값이 동일한 암호화폐 주소들 중 무작위로 제 1 암호화폐 주소를 선택할 수 있다.On the other hand, when the
여기에서, 넌스 값은 해당 암호화폐 주소를 통해서 블록체인 네트워크(300)에 요청을 보낸 수를 의미하므로, 넌스 값이 가장 낮은 것을 사용하면 가장 적게 사용된 암호화폐 주소를 사용할 수 있다. 따라서, 트랜잭션 요청이 모든 암호화폐 주소에 균등하게 배분될 수 있다.Here, the nonce value refers to the number of requests sent to the
제 4 방식에 대해 구체적으로 설명하면 다음과 같다. The fourth method will be described in detail as follows.
본 개시의 몇몇 실시예에 따르면, 프로세서(201)는 복수의 암호화폐 주소 각각에서 전송한 트랜잭션 수를 컴퓨팅 장치(200)의 저장부(202)에 저장할 수 있다. 프로세서(201)는 제 4 방식에 따라 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택하는 경우, 저장부(202)에 저장된 복수의 암호화폐 주소 각각에서 전송한 트랜잭션 수를 확인할 수 있다. 그리고, 프로세서(201)는 복수의 암호화폐 주소 중에서 누적된 선택 횟수가 적은 순으로 제 1 암호화폐 주소를 선택할 수 있다. According to some embodiments of the present disclosure, the
한편, 프로세서(201)는 제 4 방식에 따라 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택하는 경우, 복수의 암호화폐 주소 중에서 누적된 선택 횟수가 동일한 암호화폐 주소들이 존재한다고 인식할 수도 있다. 이 경우, 프로세서(201)는 암호화폐 주소들 중에서 무작위로 제 1 암호화폐 주소를 선택할 수 있다.On the other hand, when the
제 4 방식에 따라 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택하는 경우 트랜잭션을 전송할 때 가장 적게 선택된 암호화폐 주소를 먼저 선택할 수 있어 효율적으로 트랜잭션 요청이 모든 암호화폐 주소에 균등하게 배분될 수 있다.According to the fourth method, if any one cryptocurrency address is selected among a plurality of cryptocurrency addresses, the least selected cryptocurrency address can be selected first when transmitting a transaction, so that transaction requests are efficiently distributed to all cryptocurrency addresses. can
한편, 제 5 방식과 같이 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 무작위로 선택하게 되면 단기적으로 트랜잭션 요청이 하나의 암호화폐 주소에 집중될 가능성이 있지만, 장기적으로는 트랜잭션 요청이 모든 암호화폐 주소에 균등하게 배분될 수 있다. 또한, 제 5 방식에 따라 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택하는 경우, 선택된 암호화폐 주소에 문제가 발생하면 해당 암호화폐 주소는 제외시키고 다른 암호화폐 주소를 선택할 수 있다. 따라서, 하나의 암호화폐 주소의 문제로 인하여 트랜잭션의 생성이 중단되지 않고 다른 암호화폐 주소를 선택하여 안정적으로 운영될 수 있다.On the other hand, if one cryptocurrency address is randomly selected from among a plurality of cryptocurrency addresses as in the fifth method, there is a possibility that transaction requests will be concentrated on one cryptocurrency address in the short term, but in the long term, transaction requests will be It can be evenly distributed among monetary addresses. In addition, when selecting any one cryptocurrency address from among a plurality of cryptocurrency addresses according to the fifth method, if a problem occurs in the selected cryptocurrency address, the corresponding cryptocurrency address may be excluded and another cryptocurrency address may be selected. Therefore, the creation of a transaction is not interrupted due to the problem of one cryptocurrency address, and it can be operated stably by selecting another cryptocurrency address.
본 개시의 몇몇 실시예에 따르면, 프로세서(201)는 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보에 기초하여 제 1 암호화폐의 양이 기 설정된 거래비용보다 적은지 여부를 인식할 수 있다. 또한, 프로세서(201)는 제 1 암호화폐의 양이 기 설정된 거래비용보다 적다고 인식한 경우, 복수의 암호화폐 주소 중 제 1 암호화폐 주소와 다른 암호화폐 주소를 선택할 수 있다. 여기서, 제 1 암호화폐는 제 1 암호화폐 주소에 의해 관리되고 있는(예를 들어, 제 1 암호화폐 주소에 저장되어 있는) 암호화폐를 의미할 수 있다. 즉, 프로세서(201)는 제 1 암호화폐 주소에 저장되어 있는 암호화폐의 양이 기 설정된 거래비용보다 적다고 인식하면 복수의 암호화폐 주소 중 다른 암호화폐 주소를 선택할 수 있다. According to some embodiments of the present disclosure, the
한편, 프로세서(201)는 복수의 암호화폐 주소 각각에 저장된 암호화폐가 기 설정된 거래비용보다 적은 경우, 에러로 판단할 수 있다. 즉, 프로세서(201)는 모든 암호화폐 주소에 저장된 암호화폐가 기 설정된 거래비용보다 적다고 인식한 경우, 에러가 발생했다고 인식할 수 있다. Meanwhile, the
프로세서(201)는 제 1 암호화폐 주소, 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용 및 특정 정보를 포함하는 트랜잭션을 생성할 수 있다.The
여기에서, 트랜잭션에 대한 설명은 도 2를 참조하여 후술하도록 한다.Here, a description of the transaction will be described later with reference to FIG. 2 .
프로세서(201)는 트랜잭션을 블록체인 네트워크(300)에 포함된 적어도 하나의 노드에 전송하도록 통신부(203)를 제어하고 블록체인 네트워크(300)에 트랜잭션이 기록되도록 야기할 수 있다. 여기서, 블록체인 네트워크(300)는 이더리움 네트워크를 의미할 수 있다. 다만, 이에 한정되는 것은 아니다. The
구체적으로, 프로세서(201)는 트랜잭션을 블록체인 네트워크(300)에 포함된 적어도 하나의 노드에 전송하도록 통신부(203)를 제어하여 블록체인 네트워크(300)를 구성하는 복수의 노드들에 의한 합의 알고리즘에 기초하여 트랜잭션이 블록체인 네트워크(300)에 기록되도록 야기할 수 있다.Specifically, the
프로세서(201)는 트랜잭션이 블록체인 네트워크(300)에 기록되었는지 여부를 확인하는 제 2 신호를 기 설정된 시간 간격(예를 들면, 1분) 또는 비주기적으로 블록체인 네트워크(300)에 포함된 적어도 하나의 노드에 전송하도록 통신부(203)를 제어할 수 있다.The
여기에서, 프로세서(201)는 기 설정된 시간 간격으로 제 2 신호를 적어도 하나의 노드에 전송하도록 통신부(203)를 제어할 수 있다. 이에 따라, 프로세서(201)는 일정하게 제 2 신호를 전송하도록 통신부(203)를 제어할 수 있지만, 통신부(203) 또는 통신 네트워크(400)의 상태가 불안정한 경우에는 제 2 신호가 지속적으로 누락될 수 있다. 따라서, 프로세서(201)는 통신부(203) 또는 통신 네트워크(400)의 상태가 불안정한 경우에는 비주기적으로 제 2 신호를 보냄으로써, 제 2 신호가 지속적으로 누락되는 것을 완화시킬 수 있다.Here, the
프로세서(201)는 블록체인 네트워크(300)에 포함된 적어도 하나의 노드로부터 트랜잭션이 블록체인 네트워크(300)의 블록에 기록되었는지 여부와 관련된 정보를 포함하는 제 3 신호를 통신부(203)를 통해 수신한 경우, 제 3 신호에 기초하여 트랜잭션의 저장 성공 여부를 판단할 수 있다.The
여기에서, 프로세서(201)는 제 3 신호를 통해 트랜잭션이 블록체인 네트워크(300)의 블록에 기록되었다고 인식한 경우, 트랜잭션의 저장 성공을 알리는 제 4 신호를 사용자 단말(100)에 전송할 수 있다.Here, when the
또한, 프로세서(201)는 제 3 신호를 통해 트랜잭션이 블록체인 네트워크(300)의 블록에 기록되지 않았다고 인식한 경우, 다시 트랜잭션이 블록체인 네트워크(300)에 기록되었는지 여부를 확인하는 과정을 반복할 수 있다. 여기에서, 프로세서(201)는 기 설정된 반복 횟수(예를 들면, 5회)를 초과하는 경우, 트랜잭션의 저장이 실패한 것으로 인식하고 트랜잭션의 저장 실패를 알리는 제 5 신호를 사용자 단말(100)에 전송할 수 있다.In addition, when the
상술한 바와 같이 저장 성공 또는 저장 실패를 알리는 신호가 사용자 단말(100)에 전송되는 경우, 사용자는 특정 정보가 블록체인 네트워크(300)에 기록되었는지 여부를 쉽게 확인할 수 있다. As described above, when a signal notifying storage success or storage failure is transmitted to the
한편, 저장부(202)에는 복수의 암호화폐 주소 각각에 저장된 암호화폐의 양에 대한 정량적 정보가 저장되어 있을 수 있다. 이 경우, 프로세서(201)는 복수의 암호화폐 주소 각각에 대한 정량적 정보를 확인하여 복수의 암호화폐 주소 각각에 저장되어 있는 암호화폐의 양을 확인할 수 있다. On the other hand, the
본 개시의 몇몇 실시예에 따르면, 프로세서(201)는 트랜잭션을 적어도 하나의 노드에 전송하는 경우, 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보에서 기 설정된 거래비용을 차감시킬 수 있다. 여기서, 제 1 암호화폐 주소는 저장부(202)에 저장된 복수의 암호화폐 주소 중 트랜잭션과 관련하여 선택된 암호화폐 주소를 의미할 수 있다. 즉, 프로세서(201)는 트랜잭션을 적어도 하나의 노드에 전송하는 경우, 트랜잭션을 기록할 때 사용되는 거래비용이 선택된 암호화폐 주소와 관련된 정량적 정보에서 차감되도록 제 1 암호화폐 주소와 관련된 정량적 정보를 업데이트할 수 있다. According to some embodiments of the present disclosure, when the
한편, 프로세서(201)는 제 1 암호화폐 주소에서 기 설정된 거래비용이 차감된 후 정량적 정보에 기초하여 제 1 암호화폐의 양이 임계 값 미만이라고 인식한 경우, 알림 신호를 관리자 단말에 전송하도록 통신부(203)를 제어할 수 있다. 여기에서, 관리자는 관리자 단말을 통해 제 1 암호화폐 주소에 제 1 암호화폐의 양이 부족하다는 알림 신호를 수신할 수 있고, 관리자는 관리자 단말을 통해 컴퓨팅 장치(200)의 저장부(202)에 저장된 복수의 암호화폐 주소를 확인하고 관리할 수 있다. 예를 들면, 제 1 암호화폐 주소에 제 1 암호화폐의 양이 부족하다는 알림 신호를 수신한 경우, 관리자는 관리자 단말을 통해 제 1 암호화폐를 전송하거나, 제 1 암호화폐 주소는 더 이상 사용하지 않도록 설정할 수 있다.On the other hand, when the
한편, 전송된 트랜잭션의 실제 거래비용이 기 설정된 거래비용보다 적은 경우, 기 설정된 거래비용이 차감된 제 1 암호화폐 주소에 남은 거래비용, 즉, 기 설정된 거래비용에서 실제 거래비용을 뺀 거래비용이 반환될 수 있다. 이 경우, 프로세서(201)는 제 1 암호화폐 주소와 관련된 정량적 정보에서 반환된 거래비용만큼의 암호화폐가 차감되지 않도록 제 1 암호화폐 주소와 관련된 정량적 정보를 다시 업데이트할 수 있다. On the other hand, if the actual transaction cost of the transmitted transaction is less than the preset transaction cost, the transaction cost remaining in the first cryptocurrency address from which the preset transaction cost is deducted, that is, the transaction cost obtained by subtracting the actual transaction cost from the preset transaction cost can be returned. In this case, the
저장부(202)는 프로세서(201)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(203)가 수신한 임의의 형태의 정보를 저장할 수 있다. The
또한, 저장부(202)는 메모리 또는 영구저장매체를 포함할 수 있다. 여기에서, 메모리는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.In addition, the
본 개시의 몇몇 실시예에 따르면, 저장부(202)에는 복수의 암호화폐 주소가 기록되어 있을 수 있다. 그리고, 복수의 암호화폐 주소에는 기 설정된 양의 암호화폐가 저장되어 있을 수 있다. 여기서, 암호화폐 주소는 이더리움 주소를 의미할 수 있고, 암호화폐는 이더리움을 의미할 수 있다. 다만, 이에 한정되는 것은 아니다. According to some embodiments of the present disclosure, a plurality of cryptocurrency addresses may be recorded in the
또한, 저장부(202)에는 기록된 복수의 암호화폐 주소를 하나의 풀(Pool)로 관리됨으로써, 복수의 암호화폐 주소의 관리가 용이할 수 있다.In addition, by managing a plurality of recorded cryptocurrency addresses as one pool in the
통신부(203)는 임의의 형태의 데이터 및 신호 등을 송수신할 수 있는 임의의 유무선 통신 네트워크를 포함할 수 있다.The
블록체인 네트워크(300)는 통신 네트워크(400)를 통하여 컴퓨팅 장치(200)와 통신하기 위한 매커니즘을 가질 수 있다. 여기서, 블록체인 네트워크(300)는 이더리움 네트워크를 의미할 수 있다. 다만, 이에 한정되는 것은 아니다. The
여기에서, 본 개시의 몇몇 실시예에 따른 블록체인 네트워크(300)는 블록체인 기술에 기반하여 동작하는 복수의 노드들을 포함할 수 있다. 여기에서, 블록체인 네트워크(300)에 포함된 적어도 하나의 노드는 컴퓨팅 장치(200)로부터 트랜잭션이 블록체인 네트워크(300)의 블록에 기록되었는지 여부를 확인하는 제 2 신호를 수신하는 경우, 블록체인 네트워크(300)에 포함된 적어도 하나의 노드는 트랜잭션이 블록체인 네트워크(300)의 블록에 기록되었는지 여부와 관련된 정보를 포함하는 제 3 신호를 생성하여 컴퓨팅 장치(200)로 전송할 수 있다.Here, the
블록체인 기술은, 블록들 또는 이벤트들이 서로 연결된 저장 구조 또는 트랜잭션들이 서로 연결된 저장 구조를 사용하여, 관리 대상이 되는 데이터를 복수의 노드들에 분산 저장하는 임의의 형태의 분산 원장(distributed ledger) 기술이고, 블록체인 네트워크(300)는 DAG(Directed Acyclic Graph) 기술을 기반한 임의의 형태의 분산 원장 기술들에 따라서 동작할 수도 있다.Blockchain technology is any form of distributed ledger technology that distributes and stores data to be managed in a plurality of nodes using a storage structure in which blocks or events are connected or a storage structure in which transactions are connected to each other. , and the
여기에서, 블록체인 네트워크(300)에서의 노드들은 계층 구조에 따른 블록체인 코어 패키지에 의해 동작할 수 있다. 계층 구조는, 블록체인 네트워크에서 다뤄지는 데이터의 구조를 정의하고 데이터를 관리하는 데이터 계층, 블록, 이벤트 또는 트랜잭션의 유효성을 검증할 수 있다. 필요한 경우, 마이닝을 수행하고 마이닝 과정에서 채굴자에게 지급되는 수수료의 처리를 담당하는 합의 계층, 스마트 컨트랙트를 처리 및 실행시키는 실행 계층, P2P 네트워크 프로토콜, 해시 함수, 전자서명, 인코딩 및 공통 저장소를 구현 및 관리하는 공통 계층, 및 다양한 어플리케이션이 생성, 처리 및 관리되는 응용 계층을 포함할 수 있다.Here, nodes in the
또한, 블록체인 네트워크(300)는 구현 형태에 따라서, 임의의 노드들이 합의 동작을 수행할 수 있는 퍼블릭(Public) 블록체인 네트워크 또는 사전결정된 노드만이 합의 동작을 수행할 수 있는 프라이빗(Private) 또는 컨소시엄(Consortium) 블록체인 네트워크를 포함할 수 있다.In addition, depending on the implementation type, the
그리고, 블록체인 네트워크(300)에서 수행되는 합의 알고리즘은, PoW(Proof of Work) 알고리즘, PoS(Proof of Stake) 알고리즘, DPoS(Delegated Proof of Stake) 알고리즘, PBFT(Practical Byzantine Fault Tolerance) 알고리즘, DBFT(Delegated Byzantine Fault Tolerance) 알고리즘, RBFT(Redundant Byzantine Fault Tolerance) 알고리즘, Sieve 알고리즘, Tendermint 알고리즘, Paxos 알고리즘, Raft 알고리즘, PoA(Proof of Authority) 알고리즘, PoET(Proof of Elapsed Time) 알고리즘, Tangle 네트워크 합의 알고리즘 및/또는 Hedera Hashgraph 합의 알고리즘을 포함할 수 있다.And, the consensus algorithm performed in the
통신 네트워크(400)는 임의의 형태의 데이터 및 신호 등을 송수신할 수 있는 임의의 유무선 통신 네트워크를 포함할 수 있다.The
도 2는 본 개시의 몇몇 실시예에 따라 블록에 저장되는 데이터 형태를 예시적으로 나타낸 도면이다.2 is a diagram exemplarily illustrating a data type stored in a block according to some embodiments of the present disclosure.
도 2를 참조하면, 블록체인 네트워크(300)에서의 저장 단위인 블록(500)은 복수로 이루어지면서 서로 체인 형태로 연결되어 블록체인을 구성할 수 있다.Referring to FIG. 2 , a plurality of
블록 (500)은 블록 헤더(Block header)(510), 트랜잭션이 기록되는 페이로드(520) 및 엉클(Uncle)(530)을 포함할 수 있다. The
여기에서, 블록 헤더(510)는 이전 블록 헤더의 해시값, 넌스(Nonce) 값, 트랜잭션의 해시값, 스택 트레이스(stack_trace), 블록당 지급가능한 최대 가스(트랜잭션 또는 스마트 컨트랙트를 처리하는데 사용되는 비용(토큰)의 개념)의 총합(Block gaslimit) 및 블록 내 트랜잭션에 사용된 가스의 총합(Gasused)을 포함할 수 있다. 다만, 이에 한정되는 것은 아니며, 블록 헤더(510)에는 상술한 정보보다 많거나 적은 정보가 포함될 수 있다. Here, the
넌스(Nonce) 값은 블록체인 네트워크(300)에서의 노드가 블록을 생성하기 위해 변경하는 값으로서, 블록 헤더의 다른 값과 함께 특정 해시 함수의 입력값으로 사용될 수 있다. 특정 넌스(Nonce) 값을 사용하였을 때, 블록 헤더의 해시값이 사전결정된 난이도값(블록 헤더에 저장될 수 있음)보다 작게 나온 경우, 해당 블록 헤더에 대한 해시값이 결정될 수 있다. 트랜잭션의 해시값은 트랜잭션에 포함된 데이터들의 Root 해시값을 의미할 수 있다.A nonce value is a value that a node in the
스택 트레이스(stack_trace)는 블록을 처리할 때 스택에서 생성되는 중간 데이터들의 해시값으로, 데이터 검증을 위해 사용될 수 있다.A stack trace (stack_trace) is a hash value of intermediate data generated in the stack when processing a block, and may be used for data verification.
페이로드(520)에 기록되는 트랜잭션은 암호화폐를 다른 계정으로 보내는 경우, 암호화폐를 다른 컨트랙트로 보내는 경우, 컨트랙트의 함수를 호출하는 경우, 새로운 컨트랙트를 배포하는 경우 중 적어도 하나의 경우에 서명으로 사용될 수 있다.The transaction recorded in the
트랜잭션은 메시지 수신처가 입력되는 필드(To), 발신처를 확인할 수 있는 서명이 입력되는 필드(Signature), 발신처가 수신처로 보내는 암호화폐의 양을 나타내는 필드(Value), 컨트랙트 메시지를 담을 수 있는 데이터 필드(Data), 트랜잭션 실행이 수행되도록 허용된 최대 가스의 총합(Transation gaslimit), 가스 하나 당 가격(Gasprice) 및 거래비용이 차감되는 제 1 암호화폐 주소를 포함할 수 있다. 다만, 이에 한정되는 것은 아니다. A transaction is a field where the recipient of the message is input (To), a field where a signature to confirm the sender is input (Signature), a field that indicates the amount of cryptocurrency the sender sends to the recipient (Value), and a data field that can contain contract messages (Data), the maximum amount of gas allowed to perform transaction execution (Translation gaslimit), the price per gas (Gasprice), and the first cryptocurrency address from which the transaction cost is deducted. However, the present invention is not limited thereto.
제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용은 트랜잭션 실행이 수행되도록 허용된 최대 가스의 총합(Transation gaslimit)과 가스 하나 당 가격(Gasprice)을 곱한 값일 수 있다. 다만, 거래비용은 이에 한정되지 않으며, 트랜잭션이 처리되기 위해 발생되는 모든 비용과 스마트 컨트랙트를 통해 트랜잭션이 실행될 때 발생되는 거래비용을 포함할 수 있다.The preset transaction cost deducted from the first cryptocurrency address may be a value obtained by multiplying the maximum amount of gas allowed to perform transaction execution (Translation gaslimit) and the price per gas (Gasprice). However, the transaction cost is not limited thereto, and may include all costs incurred to process a transaction and transaction costs incurred when a transaction is executed through a smart contract.
또한, 컨트랙트 메시지를 담을 수 있는 데이터 필드(Data)에는 특정 정보가 기록될 수 있다.In addition, specific information may be recorded in a data field (Data) that can contain a contract message.
한편, 동시에 블록이 생성되어 전파되는 경우, 블록의 유효성 검증은 통과되었지만, 블록의 난이도가 상대적으로 낮아 블록으로 채택되지 못한 블록(엉클블록(Uncle block))들이 엉클(Uncle)(530)에 저장될 수 있다.On the other hand, when a block is generated and propagated at the same time, the block validity verification is passed, but blocks (Uncle blocks) that are not adopted as blocks due to the relatively low difficulty of the block are stored in the
한편, 본 개시에 따르면, 트랜잭션에 저장되는 제 1 암호화폐 주소를 통해 거래비용이 차감되기 때문에, 발신자, 즉, 사용자는 사용자 단말(100)을 통해 스마트 컨트랙트와 같은 특정 정보를 블록체인 네트워크(300)에 기록하는 경우, 사용자의 암호화폐 주소에 필요한 거래비용이 없어도 중간 매개체인 컴퓨팅 장치(200)를 통해 블록체인 네트워크(300)에 특정 정보를 포함하는 트랜잭션을 기록할 수 있다.On the other hand, according to the present disclosure, since the transaction cost is deducted through the first cryptocurrency address stored in the transaction, the sender, that is, the user, transmits specific information such as a smart contract through the
도 3은 본 개시의 몇몇 실시예에 따라 트랜잭션을 처리하기 위한 시스템에서 수행되는 트랜잭션 처리 방법을 나타내는 흐름도이다. 도 4 내지 6은 본 개시의 몇몇 실시예에 따라 컴퓨팅 장치에서 수행되는 트랜잭션 처리 방법을 나타내는 흐름도이다.3 is a flowchart illustrating a transaction processing method performed in a system for processing a transaction according to some embodiments of the present disclosure; 4 to 6 are flowcharts illustrating a transaction processing method performed in a computing device according to some embodiments of the present disclosure.
도 3을 참조하면, 사용자 단말(100)의 프로세서(101)는 사용자로부터 특정 정보가 입력된 경우, 특정 정보를 기록하기 위한 제 1 신호를 컴퓨팅 장치(200)로 전송하도록 통신부(103)를 제어할 수 있다(S100).Referring to FIG. 3 , when specific information is input from the user, the
여기에서, 특정 정보는 클라이언트 애플리케이션에서 실행되는 게임에 관련된 정보를 포함할 수 있다. 예를 들면, 특정 정보는 사용자가 게임 내에서 획득한 게임 아이템에 대한 정보, 사용자가 게임 내에서 사용한 게임 아이템에 대한 정보, 사용자가 게임 내에서 다른 사용자와 거래한 거래 정보 등을 포함할 수 있다. Here, the specific information may include information related to a game executed in the client application. For example, the specific information may include information on game items acquired by the user in the game, information on game items used by the user in the game, transaction information that the user makes with other users in the game, etc. .
또한, 특정 정보는 블록체인 네트워크(300) 상에서 동작가능한 스마트 컨트랙트를 포함할 수 있다.In addition, the specific information may include a smart contract operable on the
컴퓨팅 장치(200)는 저장부(202)에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택할 수 있다(S200). 여기서, 기 설정된 방식은, 복수의 암호화폐 주소 중에서 순서대로 제 1 암호화폐 주소를 선택하는 제 1 방식, 복수의 암호화폐 주소 중에서 사용 가능한 주소에 순서를 부여하여 순서대로 제 1 암호화폐 주소를 선택하는 제 2 방식, 복수의 암호화폐 주소 중에서 넌스(Nonce) 값이 낮은 순으로 제 1 암호화폐 주소를 선택하는 제 3 방식, 복수의 암호화폐 주소 중에서 누적된 선택 횟수가 적은 순으로 제 1 암호화폐 주소를 선택하는 제 4 방식 및 복수의 암호화폐 주소 중에서 무작위로 제 1 암호화폐 주소를 선택하는 제 5 방식 중 하나일 수 있다. 다만, 이에 한정되는 것은 아니다. 한편, 기 설정된 방식에 대한 자세한 설명은 상술한바 이에 대한 자세한 설명은 생략한다.The
한편, 컴퓨팅 장치(200)의 프로세서(201)는 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 선택하기 위해서, 기 설정된 방식을 무작위로 제 1 방식 내지 제 5 방식 중에서 선택할 수 있다. 이렇게 기 설정된 방식을 무작위로 선택하게 되면 단기적으로 하나의 방식에 선택이 집중될 가능성이 있지만, 장기적으로는 모든 방식이 균등하게 선택될 수 있다.Meanwhile, the
한편, 본 개시의 몇몇 실시예에 따르면, 제 1 신호는 어느 방식을 통해 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 선택할지에 대한 지정 방식 정보가 포함되어 있을 수 있다. 여기에서, 지정 방식 정보는 제 1 방식 내지 제 5 방식 중 하나의 방식에 따른다는 정보 또는 사용자가 지정한 방식에 따라 암호화폐 주소를 선택한다는 정보를 포함할 수 있다. Meanwhile, according to some embodiments of the present disclosure, the first signal may include designation method information on which one of the plurality of cryptocurrency addresses is selected through which method. Here, the designation method information may include information indicating that one of the first to fifth methods is followed or information that a cryptocurrency address is selected according to a method specified by the user.
다만, 저장부(202)에 기록된 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소(예를 들어, 제 1 암호화폐 주소)를 지정하는 방식은 이에 한정되는 것은 아니다. However, the method of designating any one of the plurality of cryptocurrency addresses recorded in the storage unit 202 (eg, the first cryptocurrency address) is not limited thereto.
한편, 본 개시의 몇몇 실시예에 따르면, 프로세서(201)는 단계(S200)에서 기 설정된 방식에 따라 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 선택한 경우, 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양을 확인하여 다른 암호화폐 주소를 선택할지 여부를 결정할 수 있다. 여기서, 제 1 암호화폐 주소와 관련된 제 1 암호화폐는 제 1 암호화폐 주소에 의해 관리되고 있는(예를 들어, 제 1 암호화폐 주소에 저장되어 있는) 암호화폐를 의미할 수 있다.Meanwhile, according to some embodiments of the present disclosure, when the
구체적으로, 도 4를 참조하면, 컴퓨팅 장치(200)의 프로세서(201)는 제 1 암호화폐의 양이 기 설정된 거래비용보다 적은지 여부를 인식할 수 있다(S210). Specifically, referring to FIG. 4 , the
구체적으로, 프로세서(201)는 저장부(202)에 저장된 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보에 기초하여 제 1 암호화폐의 양이 기 설정된 거래비용보다 적은지 여부를 인식할 수 있다. 여기서, 정량적 정보는 복수의 암호화폐 주소 각각에서 관리되고 있는 암호화폐의 양에 대한 정보를 의미할 수 있다. 그리고, 정량적 정보는 복수의 암호화폐 주소 각각에서 관리되고 있는 암호화폐의 양의 변화가 있을 때마다 업데이트되는 정보일 수 있다. 따라서, 프로세서(201)는 저장부(202)에 저장된 정량적 정보에 기초하여 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보를 확인하여 현재 제 1 암호화폐 주소에서 관리되고 있는 암호화폐의 양이 기 설정된 거래비용보다 적은지 여부를 인식할 수 있다. Specifically, the
한편, 프로세서(201)는 제 1 암호화폐의 양이 기 설정된 거래비용보다 적다고 인식한 경우(S210, Yes), 복수의 암호화폐 주소 중 제 1 암호화폐 주소와 다른 암호화폐 주소를 선택할 수 있다(S220).On the other hand, when the
구체적으로, 컴퓨팅 장치(200)의 프로세서(201)는 복수의 암호화폐 주소 중 제 1 암호화폐 주소와 다른 암호화폐 주소를 선택하는 경우, 단계(S200)에서 선택한 방식대로 복수의 암호화폐 주소 중 제 1 암호화폐 주소와 다른 암호화폐 주소를 선택할 수 있다.Specifically, when the
다만, 선택하는 방식은 이에 한정되는 것은 아니고 프로세서(201)는 다른 방식을 이용하여 복수의 암호화폐 주소 중 다른 암호화폐 주소를 선택할 수도 있다.However, the selection method is not limited thereto, and the
컴퓨팅 장치(200)의 프로세서(201)는 제 1 암호화폐의 양이 기 설정된 거래비용보다 적지 않다고 인식한 경우(S210, No), 기존에 선택된 제 1 암호화폐 주소를 그대로 사용할 수 있다.When the
트랜잭션을 기록하는 과정에서 거래비용이 부족한 경우, 트랜잭션이 기록되지 않고 거래비용만 차감될 수 있다. 따라서, 트랜잭션에 기 설정된 거래비용만큼 충분한 암호화폐의 양이 있는 것이 중요하므로 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양을 미리 확인하고, 기 설정된 거래비용보다 부족한 거래비용을 가지는 트랜잭션이 생성되는 것을 미연에 방지할 수 있다.If the transaction cost is insufficient in the process of recording the transaction, the transaction is not recorded and only the transaction cost may be deducted. Therefore, it is important that the amount of cryptocurrency is sufficient as much as the preset transaction cost in the transaction, so the amount of the first cryptocurrency related to the first cryptocurrency address is checked in advance, and a transaction having a transaction cost that is insufficient than the preset transaction cost is generated can be prevented in advance.
다시 도 3을 참조하면, 컴퓨팅 장치(200)의 프로세서(201)는 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소(예를 들어, 제 1 암호화폐 주소)를 기 설정된 방식을 통해 선택한 경우, 제 1 암호화폐 주소, 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용 및 특정 정보를 포함하는 트랜잭션을 생성할 수 있다. 그리고, 프로세서(201)는 블록체인 네트워크(300)에 생성된 트랜잭션을 전송하여 블록체인 네트워크에 트랜잭션이 기록되도록 야기할 수 있다(S300).Referring back to FIG. 3 , when the
여기에서, 트랜잭션은 메시지 수신처가 입력되는 필드(To), 발신처를 확인할 수 있는 서명이 입력되는 필드(Signature), 발신처가 수신처로 보내는 암호화폐의 양을 나타내는 필드(Value), 컨트랙트 메시지를 담을 수 있는 데이터 필드(Data), 트랜잭션 실행이 수행되도록 허용된 최대 가스의 총합(Transation gaslimit), 가스 하나 당 가격(Gasprice) 및 거래비용이 차감되는 제 1 암호화폐 주소를 포함할 수 있다. 다만, 이에 한정되는 것은 아니다. 또한, 컨트랙트 메시지를 담을 수 있는 데이터 필드(Data)에는 사용자가 입력한 특정 정보가 기록될 수 있다.Here, a transaction can contain a field in which the message destination is input (To), a field in which a signature to confirm the sender is input (Signature), a field indicating the amount of cryptocurrency the sender sends to the recipient (Value), and a contract message. It may include a data field (Data), the maximum amount of gas allowed to perform transaction execution (Translation gaslimit), the price per gas (Gasprice), and the first cryptocurrency address from which the transaction cost is deducted. However, the present invention is not limited thereto. In addition, specific information input by the user may be recorded in the data field (Data) that can contain the contract message.
한편, 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용은 트랜잭션 실행이 수행되도록 허용된 최대 가스의 총합(Transation gaslimit)과 가스 하나 당 가격(Gasprice)을 곱한 값일 수 있다. 다만, 거래비용은 이에 한정되지 않으며, 트랜잭션이 처리되기 위해 발생되는 모든 비용과 스마트 컨트랙트를 통해 트랜잭션이 실행될 때 발생되는 거래비용을 포함할 수 있다.Meanwhile, the preset transaction cost deducted from the first cryptocurrency address may be a value obtained by multiplying the maximum amount of gas allowed to perform transaction execution (Translation gaslimit) and the price per gas (Gasprice). However, the transaction cost is not limited thereto, and may include all costs incurred to process a transaction and transaction costs incurred when a transaction is executed through a smart contract.
한편, 본 개시의 몇몇 실시예에 따르면, 프로세서(201)는 트랜잭션을 적어도 하나의 노드에 전송한 경우, 트랜잭션에 포함된 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보를 업데이트할 수 있다. 그리고, 프로세서(201)는 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보를 확인하여 암호화폐가 현재 부족하다는 알림 신호를 관리자 단말에 전송할 수 있다.On the other hand, according to some embodiments of the present disclosure, when the
구체적으로, 도 5를 참조하면, 컴퓨팅 장치(200)의 프로세서(201)는 트랜잭션을 적어도 하나의 노드에 전송하도록 통신부(203)를 제어하는 경우, 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보에서 기 설정된 거래비용을 차감시킬 수 있다(S310).Specifically, referring to FIG. 5 , when the
구체적으로, 제 1 암호화폐 주소는 저장부(202)에 저장된 복수의 암호화폐 주소 중 트랜잭션과 관련하여 선택된 암호화폐 주소를 의미할 수 있다. 즉, 프로세서(201)는 트랜잭션을 적어도 하나의 노드에 전송하는 경우, 트랜잭션을 기록할 때 사용되는 거래비용이 선택된 암호화폐 주소와 관련된 정량적 정보에서 차감되도록 제 1 암호화폐 주소와 관련된 정량적 정보를 업데이트할 수 있다.Specifically, the first cryptocurrency address may mean a cryptocurrency address selected in relation to a transaction among a plurality of cryptocurrency addresses stored in the
컴퓨팅 장치(200)의 프로세서(201)는 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 정량적 정보를 업데이트한 후에 제 1 암호화폐의 정량적 정보가 임계 값 미만인지 여부를 인식할 수 있다(S320). 여기서, 임계 값은 트랜잭션을 기록할 때 사용되는 거래비용의 평균 값보다 기 설정된 정도만큼 큰 값일 수 있다. 다만, 이에 한정되는 것은 아니고, 관리자가 임계 값을 임의로 설정할 수도 있다. After updating the quantitative information of the first cryptocurrency related to the first cryptocurrency address, the
컴퓨팅 장치(200)의 프로세서(201)는 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 정량적 정보에 기초하여 제 1 암호화폐의 양이 임계 값 미만이라고 인식한 경우(S320, Yes), 제 1 암호화폐 주소에 제 1 암호화폐의 양이 부족하다는 알림 신호를 관리자 단말에 전송할 수 있다(S330).When the
이 경우, 관리자는 관리자 단말을 통해 제 1 암호화폐 주소에 제 1 암호화폐의 양이 부족하다는 알림 신호를 확인할 수 있다. 그리고, 관리자는 관리자 단말을 통해 컴퓨팅 장치(200)의 저장부(202)에 저장된 복수의 암호화폐 주소를 확인하고 관리할 수 있다. 예를 들면, 제 1 암호화폐 주소에서 관리되고 있는 제 1 암호화폐의 양이 부족하다는 알림 신호를 수신한 경우, 관리자는 관리자 단말을 통해 제 1 암호화폐 주소에 암호화폐를 전송하거나, 제 1 암호화폐 주소는 더 이상 사용하지 않도록 설정할 수 있다.In this case, the manager may check the notification signal that the amount of the first cryptocurrency is insufficient in the first cryptocurrency address through the administrator terminal. In addition, the manager may check and manage a plurality of cryptocurrency addresses stored in the
다시 도 3을 참조하면, 블록체인 네트워크(300)는 합의 알고리즘에 기초하여 트랜잭션을 기록할 수 있다(S400).Referring back to FIG. 3 , the
한편, 본 개시의 몇몇 실시예에 따르면, 컴퓨팅 장치(200)의 프로세서(201)가 트랜잭션을 전송한 후에 전송된 트랜잭션의 실제 거래비용이 기 설정된 거래비용보다 적은 경우, 기 설정된 거래비용에서 실제 거래비용을 뺀 거래비용이 반환될 수 있다. 이 경우, 프로세서(201)는 제 1 암호화폐 주소와 관련된 정량적 정보에서 반환된 거래비용만큼의 암호화폐가 차감되지 않도록 제 1 암호화폐 주소와 관련된 정량적 정보를 다시 업데이트할 수 있다.On the other hand, according to some embodiments of the present disclosure, when the actual transaction cost of the transmitted transaction is less than the preset transaction cost after the
종래 기술에 따르면, 특정 정보를 블록체인 네트워크(300)에 기록하기 위해서 사용자는 자신의 암호화폐 주소를 사용자 단말(100)을 통해 입력해야 했다. 이 경우, 사용자는 암호화폐 주소와 관련된 지갑 애플리케이션을 통해 암호화폐 주소를 이용하는 요청을 승인해야 했다. 그리고, 사용자가 지갑 애플리케이션을 통해 암호화폐 주소의 이용을 승인한 경우, 사용자 단말(100)에서 사용자의 암호화폐 주소를 이용하여 트랜잭션을 생성하여 서버에 전송하여 이더리움 블록체인에 기록하는 과정을 거쳤었다. 이 경우, 서비스를 제공하는 서버에서 지갑 애플리케이션을 별도로 관리하지 않기 때문에 사용자가 암호화폐 주소와 관련된 지갑 애플리케이션을 소유하고 있지 않는 경우 특정 정보를 블록체인 네트워크에 기록할 수 없다는 문제가 존재했다.According to the prior art, in order to record specific information in the
또한, 종래 기술에 따르면, 사용자는 하나의 암호화폐 주소만을 이용하기 때문에, 하나의 암호화폐 주소에서 여러 개의 요청을 동시에 수신하면, 해당 처리가 완료되기 전까지 다른 요청들은 전부 대기하게 되어 병목 현상이 발생했다. 그리고, 종래 기술에 따르면, 새로운 가상 자산의 발급과 같은 요청 권한이 모든 사용자의 암호화폐 주소에 부여되어 서비스를 제공하는 서버에서 재화를 통제할 수 없다는 문제점이 존재했다.In addition, according to the prior art, since a user uses only one cryptocurrency address, if multiple requests are received from one cryptocurrency address at the same time, all other requests are queued until the corresponding processing is completed, resulting in a bottleneck. did. And, according to the prior art, there was a problem that the request authority, such as the issuance of a new virtual asset, was granted to the cryptocurrency addresses of all users, so that the server providing the service could not control the goods.
하지만, 상술한 본 개시의 몇몇 실시예에 따르면, 사용자는 특정 정보를 블록체인 네트워크(300)에 기록하기 위해서 특정 정보를 포함하는 제 1 신호를 사용자 단말(100)을 통해 컴퓨팅 장치(200)로 전송한다. 그리고, 컴퓨팅 장치(200)에서 관리하는 복수의 암호화폐 주소 중 어느 하나의 암호화폐 주소를 이용하여 트랜잭션을 생성하고, 트랜잭션을 블록체인 네트워크(300)에 포함된 적어도 하나의 노드에 전송하여 블록체인 네트워크(300)에 기록할 수 있다. 즉, 중간 매개체인 컴퓨팅 장치(200)에서 복수의 암호화폐 주소를 관리하므로, 사용자는 암호화폐 주소와 관련된 지갑 애플리케이션 없이도 컴퓨팅 장치(200)를 통해 특정 정보를 블록체인 네트워크(300)에 기록할 수 있다. 즉, 사용자는 사용자 단말(100)을 통해 직접적으로 블록체인 네트워크(300)과 연결되는 것이 아니고 컴퓨팅 장치(200)를 통해서 블록체인 네트워크(300)와 연결되는 것이기 때문에, 암호화폐, 암호화폐 주소, 블록체인에 대한 사전 지식이 없어도 컴퓨팅 장치(200)를 통해 특정 정보를 블록체인 네트워크(300)에 기록할 수 있다.However, according to some embodiments of the present disclosure described above, the user sends a first signal including specific information to the
그리고, 컴퓨팅 장치(200)는 복수의 암호화폐 주소를 기 설정된 방식으로 선택할 수 있다. 따라서, 여러 개의 요청을 수신한 경우, 복수의 암호화폐 주소에 분산하여 각각의 암호화폐 주소에서 트랜잭션의 처리가 수행되어 병목 현상이 일어나지 않을 수 있다.In addition, the
한편, 컴퓨팅 장치(200)는 요청 권한을 인증되지 않은 외부의 암호화폐의 주소에 부여하는 것이 아니라, 컴퓨팅 장치(200)에 저장된 복수의 암호화폐 주소에만 요청 권한을 부여함으로써, 보안도 강화될 수 있다.On the other hand, the
그리고, 컴퓨팅 장치(200)는 디도스(Distributed Denial of Service, DDOS) 공격을 받거나 사용자 요청이 증가함에 따라 처리해야하는 트랜잭션의 수가 예상치보다 많아지는 경우를 대비하여, 마일리지 포인트 또는 애플리케이션 내에서 결제하는 인앱 결제가 필요한 유료 재화는 저장부(202)에 복수의 암호화폐 주소와는 별도로 기록할 수 있다. 예를 들면, 저장부(202)는 제 1 저장매체 및 제 2 저장매체를 포함하고, 제 1 저장매체에는 복수의 암호화폐 주소 및 암호화폐가 저장되고, 제 2 저장매체에는 마일리지 포인트 또는 애플리케이션 내에서 결제하는 인앱 결제가 필요한 유료 재화가 저장될 수 있다.In addition, in case the
따라서, 컴퓨팅 장치(200)의 저장부(202)에 기록된 복수의 암호화폐 주소가 해킹을 당하는 경우, 복수의 암호화폐 주소와 별도로 관리되는 마일리지 포인트 또는 인앱 결제가 필요한 유료 재화는 피해를 보지 않을 수 있다.Therefore, if a plurality of cryptocurrency addresses recorded in the
한편, 본 개시의 몇몇 실시예에 따르면, 블록체인 네트워크에 트랜잭션의 기록되었는지 여부를 사용자가 쉽게 확인할 수 있도록 컴퓨팅 장치(200)의 프로세서(201)는 트랜잭션의 기록의 성공 여부에 대한 신호를 사용자 단말에 전송할 수 있다. On the other hand, according to some embodiments of the present disclosure, the
구체적으로, 도 6을 참조하면, 컴퓨팅 장치(200)는 트랜잭션이 블록체인 네트워크(300)의 블록에 기록되었는지 여부를 확인하는 제 2 신호를 기 설정된 시간 간격 또는 비주기적으로 블록체인 네트워크(300)에 포함된 적어도 하나의 노드에 전송할 수 있다(S500).Specifically, referring to FIG. 6 , the
여기에서, 컴퓨팅 장치(200)의 프로세서(201)는 기 설정된 시간 간격으로 제 2 신호를 적어도 하나의 노드에 전송하도록 통신부(203)를 제어할 수 있다. 이에 따라, 프로세서(201)는 일정하게 제 2 신호를 전송하도록 통신부(203)를 제어할 수 있지만, 통신부(203) 또는 통신 네트워크(400)의 상태가 불안정한 경우에는 제 2 신호가 지속적으로 누락될 수 있다. 따라서, 컴퓨팅 장치(200)의 프로세서(201)는 통신부(203) 또는 통신 네트워크(400)의 상태가 불안정한 경우에는 비주기적으로 제 2 신호를 보냄으로써, 제 2 신호가 지속적으로 누락되는 것을 완화시킬 수 있다.Here, the
컴퓨팅 장치(200)의 프로세서(201)는 적어도 하나의 노드로부터 트랜잭션이 블록체인 네트워크(300)의 블록에 기록되었는지 여부와 관련된 정보를 포함하는 제 3 신호를 수신할 수 있다(S600).The
컴퓨팅 장치(200)의 프로세서(201)는 제 3 신호에 기초하여 트랜잭션이 블록체인 네트워크(300)의 블록에 기록되었다고 인식한 경우(S700, Yes), 트랜잭션의 저장 성공을 알리는 제 4 신호를 사용자 단말(100)에 전송할 수 있다(S800).When the
컴퓨팅 장치(200)의 프로세서(201)는 제 3 신호를 통해 트랜잭션이 블록체인 네트워크(300)의 블록에 기록되지 않았다고 인식한 경우(S700, No), 단계(S500)로 돌아가서 다시 반복할 수 있다.When the
또한, 컴퓨팅 장치(200)의 프로세서(201)는 기 설정된 반복 횟수를 초과하는 경우, 트랜잭션의 저장이 실패한 것으로 인식하고 트랜잭션의 저장 실패를 알리는 제 5 신호를 사용자 단말(100)에 전송할 수 있다.Also, when the preset number of repetitions is exceeded, the
그리고, 컴퓨팅 장치(200)는 사용자 단말(100)로부터 특정 정보를 기록하기 위한 제 1 신호를 다시 수신할 수 있다.In addition, the
상술한 바와 같이 저장 성공 또는 저장 실패를 알리는 신호가 사용자 단말(100)에 전송되는 경우, 사용자가 특정 정보가 블록체인 네트워크(300)에 기록되었는지 여부를 쉽게 확인할 수 있다. As described above, when a signal informing of storage success or storage failure is transmitted to the
도 3 내지 6에서 도시되는 단계들은 예시적인 단계들로써, 본 개시내용의 사상의 범위를 벗어나지 않는 한도에서 도 3 내지 6의 단계들 중 일부가 생략되거나 추가적인 단계들이 존재할 수 있다는 점 또한 당업자에게 명백할 것이다. 또한, 도 3 내지 6에 기재된 구성들(100 내지 400)에 관한 구체적인 내용은 앞서 도 1 및 2를 통해 설명한 내용으로 대체될 수 있다.It will also be apparent to those skilled in the art that the steps shown in FIGS. 3 to 6 are exemplary steps, and some of the steps of FIGS. 3 to 6 may be omitted or additional steps may be present without departing from the scope of the present disclosure. will be. In addition, specific details regarding the
도 7은 본 개시의 내용의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 일반적인 개략도이다.7 is a general schematic diagram of an example computing environment in which embodiments of the present disclosure may be implemented.
본 개시가 일반적으로 컴퓨팅 장치에 의해 구현될 수 있는 것으로 전술되었지만, 당업자라면 본 개시가 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어 및/또는 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로써 구현될 수 있다는 것을 잘 알 것이다.Although the present disclosure has been described above as being generally capable of being implemented by a computing device, those skilled in the art will appreciate that the present disclosure may be implemented in hardware and software in combination with computer-executable instructions and/or other program modules and/or in combination with computer-executable instructions and/or other program modules that may be executed on one or more computers. It will be appreciated that it can be implemented as a combination.
일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 개시의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드(handheld) 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. In addition, those skilled in the art will appreciate that the methods of the present disclosure can be applied to single-processor or multiprocessor computer systems, minicomputers, mainframe computers as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, and the like. It will be appreciated that each of these may be implemented in other computer system configurations, including those capable of operating in connection with one or more associated devices.
본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.The described embodiments of the present disclosure may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.Computers typically include a variety of computer-readable media. Any medium accessible by a computer can be a computer-readable medium, and such computer-readable media includes volatile and nonvolatile media, transitory and non-transitory media, removable and non-transitory media. including removable media. By way of example, and not limitation, computer-readable media may include computer-readable storage media and computer-readable transmission media. Computer readable storage media includes volatile and nonvolatile media, temporary and non-transitory media, 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. includes media. A computer-readable storage medium may be RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage device, magnetic cassette, magnetic tape, magnetic disk storage device, or other magnetic storage device. device, or any other medium that can be accessed by a computer and used to store the desired information.
컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.Computer readable transmission media typically embodies computer readable instructions, data structures, program modules or other data, etc. in a modulated data signal such as a carrier wave or other transport mechanism, and Includes all information delivery media. The term modulated data signal means a signal in which one or more of the characteristics of the signal is set or changed so as to encode information in the signal. By way of example, and not limitation, computer-readable transmission media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above are also intended to be included within the scope of computer-readable transmission media.
컴퓨터(1102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(1100)이 나타내어져 있으며, 컴퓨터(1102)는 처리 장치(1104), 시스템 메모리(1106) 및 시스템 버스(1108)를 포함한다. 시스템 버스(1108)는 시스템 메모리(1106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(1104)에 연결시킨다. 처리 장치(1104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(1104)로서 이용될 수 있다.An example environment 1100 implementing various aspects of the disclosure is shown including a
시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.The
컴퓨터(1102)는 또한 내장형 하드 디스크 드라이브(HDD)(1114)(예를 들어, EIDE, SATA)-이 내장형 하드 디스크 드라이브(1114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음-, 자기 플로피 디스크 드라이브(FDD)(1116)(예를 들어, 이동식 디스켓(1118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(1120)(예를 들어, CD-ROM 디스크(1122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(1114), 자기 디스크 드라이브(1116) 및 광 디스크 드라이브(1120)는 각각 하드 디스크 드라이브 인터페이스(1124), 자기 디스크 드라이브 인터페이스(1126) 및 광 드라이브 인터페이스(1128)에 의해 시스템 버스(1108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(1124)는 USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘 다를 포함한다.The
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(1102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 개시의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.These drives and their associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, and the like. In the case of
운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(1112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.A number of program modules may be stored in the drive and
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.A user may enter commands and information into the
모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.A
컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 워크스테이션, 컴퓨팅 디바이스 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(1152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(1154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1156)를 통해 로컬 네트워크(1152)에 연결된다. 어댑터(1156)는 LAN(1152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(1152)은 또한 무선 어댑터(1156)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 모뎀(1158)을 포함할 수 있거나, WAN(1154) 상의 통신 컴퓨팅 디바이스에 연결되거나, 또는 인터넷을 통하는 등, WAN(1154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(1158)은 직렬 포트 인터페이스(1142)를 통해 시스템 버스(1108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(1102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(1150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.When used in a LAN networking environment, the
컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.The
Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성 있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a, b, g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.Wi-Fi (Wireless Fidelity) makes it possible to connect to the Internet, etc. without a wired connection. Wi-Fi is a wireless technology such as cell phones that allows these devices, eg, computers, to transmit and receive data indoors and outdoors, ie anywhere within range of a base station. Wi-Fi networks use a radio technology called IEEE 802.11 (a, b, g, others) to provide secure, reliable, and high-speed wireless connections. Wi-Fi can be used to connect computers to each other, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks may operate in unlicensed 2.4 and 5 GHz radio bands, for example at 11 Mbps (802.11a) or 54 Mbps (802.11b) data rates, or in products that include both bands (dual band). .
본 개시의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.One of ordinary skill in the art of this disclosure will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, instructions, information, signals, bits, symbols, and chips that may be referenced in the above description are voltages, currents, electromagnetic waves, magnetic fields or particles, optical field particles or particles, or any combination thereof.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 소프트웨어로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those of ordinary skill in the art of the present disclosure will recognize that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein include electronic hardware, (convenience For this purpose, it will be understood that it may be implemented by various forms of program or design code (referred to herein as software) or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. A person skilled in the art of the present disclosure may implement the described functionality in various ways for each specific application, but such implementation decisions should not be interpreted as a departure from the scope of the present disclosure.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 제조 물품은 임의의 컴퓨터-판독가능 저장장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다.The various embodiments presented herein may be implemented as methods, apparatus, or articles of manufacture using standard programming and/or engineering techniques. The term article of manufacture includes a computer program, carrier, or media accessible from any computer-readable storage device. For example, computer-readable storage media include magnetic storage devices (eg, hard disks, floppy disks, magnetic strips, etc.), optical disks (eg, CDs, DVDs, etc.), smart cards, and flash drives. memory devices (eg, EEPROMs, cards, sticks, key drives, etc.). Also, various storage media presented herein include one or more devices and/or other machine-readable media for storing information.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It is to be understood that the specific order or hierarchy of steps in the presented processes is an example of exemplary approaches. Based on design priorities, it is to be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of the present disclosure. The appended method claims present elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not intended to be limited to the embodiments presented herein, but is to be construed in the widest scope consistent with the principles and novel features presented herein.
Claims (14)
사용자 단말로부터 특정 정보를 기록하기 위한 제 1 신호를 수신하는 단계;
저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하는 단계;
상기 제 1 암호화폐 주소, 상기 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용 및 상기 특정 정보를 포함하는 트랜잭션을 생성하는 단계; 및
상기 트랜잭션을 블록체인 네트워크에 포함된 적어도 하나의 노드에 전송하여 상기 블록체인 네트워크에 상기 트랜잭션이 기록되도록 야기하는 단계;
를 포함하는,
트랜잭션을 처리하는 방법.
A method of processing a transaction performed on one or more processors of a computing device, the method comprising:
Receiving a first signal for recording specific information from a user terminal;
selecting a first cryptocurrency address from among a plurality of cryptocurrency addresses recorded in the storage unit in a preset manner;
generating a transaction including the first cryptocurrency address, a preset transaction cost deducted from the first cryptocurrency address, and the specific information; and
sending the transaction to at least one node included in the blockchain network to cause the transaction to be recorded in the blockchain network;
containing,
How to handle transactions.
상기 트랜잭션이 상기 블록체인 네트워크의 블록에 기록되었는지 여부를 확인하는 제 2 신호를 기 설정된 시간 간격으로 상기 적어도 하나의 노드에 전송하는 단계; 및
상기 적어도 하나의 노드로부터 상기 트랜잭션이 상기 블록체인 네트워크의 상기 블록에 기록되었는지 여부와 관련된 정보를 포함하는 제 3 신호를 수신한 경우, 상기 제 3 신호에 기초하여 상기 트랜잭션의 저장 성공 여부를 판단하는 단계;
를 더 포함하는,
트랜잭션을 처리하는 방법.
The method of claim 1,
transmitting a second signal for confirming whether the transaction is recorded in a block of the blockchain network to the at least one node at a preset time interval; and
When receiving a third signal including information related to whether the transaction is recorded in the block of the blockchain network from the at least one node, determining whether the transaction is successfully stored based on the third signal step;
further comprising,
How to handle transactions.
상기 제 3 신호를 통해 상기 트랜잭션이 상기 블록체인 네트워크의 상기 블록에 기록되었다고 인식한 경우, 상기 트랜잭션의 저장 성공을 알리는 제 4 신호를 상기 사용자 단말에 전송하는 단계;
를 더 포함하는,
트랜잭션을 처리하는 방법.
3. The method of claim 2,
transmitting, to the user terminal, a fourth signal informing the successful storage of the transaction when it is recognized that the transaction is recorded in the block of the block chain network through the third signal;
further comprising,
How to handle transactions.
상기 특정 정보는,
상기 블록체인 네트워크 상에서 동작가능한 스마트 컨트랙트를 포함하는,
트랜잭션을 처리하는 방법.
The method of claim 1,
The specific information is
comprising a smart contract operable on the blockchain network,
How to handle transactions.
상기 트랜잭션을 상기 적어도 하나의 노드에 전송하는 경우, 상기 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보에서 상기 기 설정된 거래비용을 차감시키는 단계;
를 더 포함하는,
트랜잭션을 처리하는 방법.
The method of claim 1,
when transmitting the transaction to the at least one node, deducting the preset transaction cost from quantitative information on the amount of first cryptocurrency related to the first cryptocurrency address;
further comprising,
How to handle transactions.
상기 기 설정된 거래비용이 차감된 후 상기 정량적 정보에 기초하여 상기 제 1 암호화폐의 양이 임계 값 미만이라고 인식한 경우, 알림 신호를 관리자 단말에 전송하는 단계;
를 더 포함하는,
트랜잭션을 처리하는 방법.
6. The method of claim 5,
transmitting a notification signal to a manager terminal when it is recognized that the amount of the first cryptocurrency is less than a threshold value based on the quantitative information after the preset transaction cost is deducted;
further comprising,
How to handle transactions.
상기 저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하는 단계는,
상기 제 1 암호화폐 주소와 관련된 제 1 암호화폐의 양에 대한 정량적 정보에 기초하여 상기 제 1 암호화폐의 양이 상기 기 설정된 거래비용보다 적은지 여부를 인식하는 단계;
상기 제 1 암호화폐의 양이 상기 기 설정된 거래비용보다 적다고 인식한 경우, 상기 복수의 암호화폐 주소 중 상기 제 1 암호화폐 주소와 다른 암호화폐 주소를 선택하는 단계;
를 포함하는,
트랜잭션을 처리하는 방법.
The method of claim 1,
The step of selecting a first cryptocurrency address from among the plurality of cryptocurrency addresses recorded in the storage unit in a preset manner comprises:
recognizing whether the amount of the first cryptocurrency is less than the preset transaction cost based on quantitative information on the amount of the first cryptocurrency related to the first cryptocurrency address;
selecting a cryptocurrency address different from the first cryptocurrency address from among the plurality of cryptocurrency addresses when it is recognized that the amount of the first cryptocurrency is less than the preset transaction cost;
containing,
How to handle transactions.
상기 저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하는 단계는,
상기 복수의 암호화폐 주소 각각에 저장된 암호화폐가 상기 기 설정된 거래비용보다 적은 경우, 에러로 판단하는 단계;
를 포함하는,
트랜잭션을 처리하는 방법.
The method of claim 1,
The step of selecting a first cryptocurrency address from among the plurality of cryptocurrency addresses recorded in the storage unit in a preset manner comprises:
determining an error when the amount of cryptocurrency stored in each of the plurality of cryptocurrency addresses is less than the preset transaction cost;
containing,
How to handle transactions.
상기 기 설정된 방식은,
상기 복수의 암호화폐 주소 중에서 순서대로 상기 제 1 암호화폐 주소를 선택하는 제 1 방식,
상기 복수의 암호화폐 주소 중에서 사용 가능한 주소에 순서를 부여하여 순서대로 상기 제 1 암호화폐 주소를 선택하는 제 2 방식,
상기 복수의 암호화폐 주소 중에서 넌스(Nonce) 값이 낮은 순으로 상기 제 1 암호화폐 주소를 선택하는 제 3 방식,
상기 복수의 암호화폐 주소 중에서 누적된 선택 횟수가 적은 순으로 상기 제 1 암호화폐 주소를 선택하는 제 4 방식 및
상기 복수의 암호화폐 주소 중에서 무작위로 상기 제 1 암호화폐 주소를 선택하는 제 5 방식 중 하나인,
트랜잭션을 처리하는 방법.
The method of claim 1,
The preset method is
A first method of sequentially selecting the first cryptocurrency address from among the plurality of cryptocurrency addresses;
A second method of selecting the first cryptocurrency address in order by giving an order to usable addresses among the plurality of cryptocurrency addresses;
A third method of selecting the first cryptocurrency address in the order of the lowest nonce value among the plurality of cryptocurrency addresses,
A fourth method of selecting the first cryptocurrency address in the order of the number of accumulated selections from among the plurality of cryptocurrency addresses; and
One of the fifth methods of randomly selecting the first cryptocurrency address from among the plurality of cryptocurrency addresses,
How to handle transactions.
상기 제 1 방식은,
상기 복수의 암호화폐 주소 중 현재 선택 예정인 암호화폐 주소에 문제가 생긴 경우, 다음 순서인 암호화폐 주소를 상기 제 1 암호화폐 주소로 사용하는,
트랜잭션을 처리하는 방법.
10. The method of claim 9,
The first method is
If there is a problem with the currently selected cryptocurrency address among the plurality of cryptocurrency addresses, using the next cryptocurrency address as the first cryptocurrency address,
How to handle transactions.
상기 제 3 방식은,
상기 복수의 암호화폐 주소 중에서 넌스(Nonce) 값이 동일한 암호화폐 주소들이 존재하는 경우, 상기 암호화폐 주소들 중에서 무작위로 상기 제 1 암호화폐 주소를 선택하는,
트랜잭션을 처리하는 방법.
10. The method of claim 9,
The third method is
If there are cryptocurrency addresses having the same nonce value among the plurality of cryptocurrency addresses, randomly selecting the first cryptocurrency address from among the cryptocurrency addresses,
How to handle transactions.
상기 제 4 방식은,
상기 복수의 암호화폐 주소 중에서 상기 누적된 선택 횟수가 동일한 암호화폐 주소들이 존재하는 경우, 상기 암호화폐 주소들 중에서 무작위로 상기 제 1 암호화폐 주소를 선택하는,
트랜잭션을 처리하는 방법.
10. The method of claim 9,
The fourth method is
If there are cryptocurrency addresses having the same accumulated number of selections among the plurality of cryptocurrency addresses, randomly selecting the first cryptocurrency address from among the cryptocurrency addresses,
How to handle transactions.
프로세서;
상기 프로세서에 의해 실행가능한 컴퓨터 프로그램을 저장하는 저장부; 및
사용자 단말로부터 특정 정보를 기록하기 위한 제 1 신호를 수신하는 통신부;
를 포함하며,
상기 프로세서는:
상기 저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하고,
상기 제 1 암호화폐 주소, 상기 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용 및 상기 특정 정보를 포함하는 트랜잭션을 생성하며,
상기 트랜잭션을 블록체인 네트워크에 포함된 적어도 하나의 노드에 전송하여 상기 블록체인 네트워크에 상기 트랜잭션이 기록되도록 야기하는,
컴퓨팅 장치.
A computing device for processing a transaction, comprising:
processor;
a storage unit for storing a computer program executable by the processor; and
a communication unit for receiving a first signal for recording specific information from a user terminal;
includes,
The processor is:
selecting a first cryptocurrency address from among the plurality of cryptocurrency addresses recorded in the storage unit in a preset manner;
generating a transaction including the first cryptocurrency address, a preset transaction cost deducted from the first cryptocurrency address, and the specific information,
sending the transaction to at least one node included in the blockchain network to cause the transaction to be recorded in the blockchain network,
computing device.
상기 컴퓨터 프로그램은 컴퓨팅 장치의 프로세서로 하여금 이하의 단계들을 수행하기 위한 명령들을 포함하며, 상기 단계들은:
사용자 단말로부터 특정 정보를 기록하기 위한 제 1 신호를 수신하는 단계;
저장부에 기록된 복수의 암호화폐 주소 중 제 1 암호화폐 주소를 기 설정된 방식으로 선택하는 단계;
상기 제 1 암호화폐 주소, 상기 제 1 암호화폐 주소에서 차감되는 기 설정된 거래비용 및 상기 특정 정보를 포함하는 트랜잭션을 생성하는 단계; 및
상기 트랜잭션을 블록체인 네트워크에 포함된 적어도 하나의 노드에 전송하여 상기 블록체인 네트워크에 상기 트랜잭션이 기록되도록 야기하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer-readable storage medium, comprising:
The computer program includes instructions for causing a processor of a computing device to perform the following steps:
Receiving a first signal for recording specific information from a user terminal;
selecting a first cryptocurrency address from among a plurality of cryptocurrency addresses recorded in the storage unit in a preset manner;
generating a transaction including the first cryptocurrency address, a preset transaction cost deducted from the first cryptocurrency address, and the specific information; and
sending the transaction to at least one node included in the blockchain network to cause the transaction to be recorded in the blockchain network;
containing,
A computer program stored on a computer-readable storage medium.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200167598A KR20220078254A (en) | 2020-12-03 | 2020-12-03 | Method for processing transaction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200167598A KR20220078254A (en) | 2020-12-03 | 2020-12-03 | Method for processing transaction |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220078254A true KR20220078254A (en) | 2022-06-10 |
Family
ID=81986526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200167598A KR20220078254A (en) | 2020-12-03 | 2020-12-03 | Method for processing transaction |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220078254A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102181493B1 (en) | 2019-06-12 | 2020-11-23 | 주식회사 위즈블 | Cryptocurrency transaction intermediation method and system using blockchain real time ecosystem |
-
2020
- 2020-12-03 KR KR1020200167598A patent/KR20220078254A/en not_active Application Discontinuation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102181493B1 (en) | 2019-06-12 | 2020-11-23 | 주식회사 위즈블 | Cryptocurrency transaction intermediation method and system using blockchain real time ecosystem |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111034114B (en) | Blockchain architecture with record security | |
EP3812992A1 (en) | Block chain transaction method and apparatus | |
US9967333B2 (en) | Deferred configuration or instruction execution using a secure distributed transaction ledger | |
EP3819850A1 (en) | Method and device for data processing based on blockchain | |
KR102162762B1 (en) | Technique for item tracking | |
US20240080205A1 (en) | System and method for off-chain cryptographic transaction verification | |
US20160260171A1 (en) | Systems and methods for a commodity contracts market using a secure distributed transaction ledger | |
CN113874899A (en) | Computer-implemented system and method for effecting transfers over blockchain networks | |
KR20180112061A (en) | Registry and automation management methods for smart contracts in block chain enforcement | |
WO2018232036A1 (en) | Systems and methods for creating multiple records based on an ordered smart contract | |
CN110679113A (en) | Industrial network using block chain for access control and access control method | |
CN110363512B (en) | Processing, creating and getting method and device for block chain red packet, medium and computer program | |
KR102207560B1 (en) | Computing devices for providing file sharing services | |
KR102407187B1 (en) | Method for charging electronic money automatically based on blockchain and system thereof | |
KR102162763B1 (en) | Method to transfer accounts | |
KR102455870B1 (en) | Clustering method for cryptocurrency wallet addresses | |
CN109388957A (en) | Information transfer method, device, medium and electronic equipment based on block chain | |
CN113947394A (en) | Block chain-based fair payment method for deletable duplicate data in cloud storage | |
KR102333322B1 (en) | Credit evaluation techniques based on zero-knowledge proof | |
KR102139551B1 (en) | Method and server for managing testament | |
KR102184147B1 (en) | Computing device for providing selective goods donation service using block chain | |
KR20200100451A (en) | Method for menaging game data on blockchain | |
KR102151731B1 (en) | Technique for allowing item self processing | |
CN113841206A (en) | Event management in a distributed computing system | |
KR20220078254A (en) | Method for processing transaction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |