WO2019182377A1 - Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency - Google Patents
Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency Download PDFInfo
- Publication number
- WO2019182377A1 WO2019182377A1 PCT/KR2019/003298 KR2019003298W WO2019182377A1 WO 2019182377 A1 WO2019182377 A1 WO 2019182377A1 KR 2019003298 W KR2019003298 W KR 2019003298W WO 2019182377 A1 WO2019182377 A1 WO 2019182377A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- private keys
- transaction
- keys
- processor
- external electronic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Definitions
- the present disclosure relates to a method for generating address information, an electronic device, and a computer-readable recording medium used for a transaction of a blockchain-based cryptocurrency.
- cryptocurrency is implemented based on blockchain technology for central authority or bankless operation.
- digital signature technology is used for cryptocurrency transactions.
- Digital signature technology is a technology for identifying the sender of a message, and is performed using a public key encryption algorithm in a transaction of cryptocurrency.
- the public key and the private key used in the public key encryption algorithm are paired with each other.
- the public key is open to everyone, but the private key is only known to the user, and in the transaction of cryptocurrency, if the private key is leaked, it cannot use its own cryptocurrency. Is required.
- a cryptocurrency transaction is established by confirming the sender of the message used in the cryptocurrency transaction by using an electronic signature technique.
- the private key used to identify who sent the message needs to be managed with a high level of security.
- the user has to remember all the private key for the transaction of cryptocurrency or to manage the private key separately in their own way, there is an inconvenience in managing the private key.
- Various embodiments of the present disclosure may provide a method for solving the above-described problems or other problems, an electronic device for performing a transaction of a blockchain-based cryptocurrency, a method, and a computer-readable recording medium.
- an electronic device that performs a transaction of a blockchain-based cryptocurrency is connected through a network, and stores a plurality of private keys and a plurality of public keys corresponding to the plurality of private keys, respectively.
- a communication circuit configured to communicate with an external electronic device, a memory storing connection information for connecting to the plurality of external electronic devices, and a processor electrically connected to the memory and the communication circuit, wherein the processor includes: the connection; Control the communication circuit to connect to the plurality of external electronic devices using information, receive the plurality of public keys from the plurality of external electronic devices through the communication circuit, and use the plurality of public keys. And generating address information used for a transaction of the first cryptocurrency, wherein the address definition is one of the plurality of private keys. The number of private keys required for the electronic signature used in the transaction of the first cryptocurrency through the beam can be set.
- the number of private keys may be set to be equal to or less than the number of received public keys.
- the electronic device further comprises an input interface for receiving authentication information used for connecting to a plurality of external electronic devices from a user, wherein the processor is configured to receive the connection information and the received information via the input interface.
- the communication circuit may be controlled to connect to the plurality of external electronic devices using the authentication information.
- the memory may further store information for confirming whether the plurality of public keys have been modulated, and when the plurality of public keys are received, the processor verifies whether the plurality of public keys have been modulated. On the basis of the information to confirm, if it is confirmed whether the plurality of public keys have been modified, and if it is confirmed that the plurality of public keys are not modulated, the address information can be generated using the plurality of public keys.
- the processor is further configured to generate a transaction message for a transaction of the first cryptocurrency when the electronic signature is performed using each of the set number of private keys among the plurality of private keys.
- the communication circuit may be controlled to generate a smart contract and to broadcast the generated smart contract.
- the processor may be configured to receive, from the at least one external electronic device of the plurality of external devices, the set number of the plurality of first private keys of the plurality of private keys through the communication circuit, Digitally signing the first transaction message generated for the transaction of the first cryptocurrency using each of the plurality of first private keys, and performing electronic signature using each of the plurality of first private keys
- the communication circuit can be controlled to broadcast a first transaction message.
- the at least one external electronic device may be selected according to a user input or a set algorithm.
- the processor determines whether the plurality of first private keys are modulated based on information for confirming whether the plurality of private keys have been modulated. If it is confirmed that the plurality of first private keys have not been tampered with, the first transaction message may be digitally signed using each of the plurality of first private keys.
- the plurality of private keys are encrypted and stored in the plurality of external electronic devices, and the processor decrypts the plurality of first private keys when the user is authenticated through authentication information input from a user. And digitally sign the first transaction message using each of the plurality of decrypted first private keys.
- the program may be executed by a processor when the processor executes a plurality of private keys and the plurality of private individuals.
- 1 Set the number of private keys required for digital signatures used in cryptocurrency transactions. Run may include the possible commands.
- the executable command may generate a transaction message for a transaction of the first cryptocurrency when the electronic signature is performed using each of the set number of private keys among the plurality of private keys.
- the smart contract may be further performed.
- the executable command may include receiving, from the at least one external electronic device of the plurality of external devices, the set number of the plurality of first private keys of the plurality of private keys. Performing a digital signature on each of the plurality of first private keys for the first transaction message generated for a transaction of a cryptocurrency, and performing a digital signature on each of the plurality of first private keys One may further perform the step of broadcasting a transaction message.
- the generating of the address information used for the transaction of the first cryptocurrency may include: when the plurality of public keys are received, based on information for confirming whether the plurality of public keys have been tampered with, Checking whether the plurality of public keys have been tampered with, and if it is determined that the plurality of public keys have not been tampered with, generating address information used for the transaction of the first cryptocurrency using the plurality of public keys; It may include.
- a method of generating address information used for a transaction of a blockchain-based cryptocurrency includes a plurality of external keys in which a plurality of private keys and a plurality of public keys corresponding to the plurality of private keys are stored, respectively.
- Acquiring connection information for accessing an electronic device accessing the plurality of external electronic devices using the connection information, and receiving the plurality of public keys from the plurality of external electronic devices, the plurality of Generating address information used in the transaction of the first cryptocurrency, using the public key, and an individual required for the electronic signature used in the transaction of the first cryptocurrency via the address information, among the plurality of private keys
- the number of keys may be set.
- an electronic device performing a transaction of a blockchain-based cryptocurrency may include an input interface for receiving an input from a user and a communication circuit for communicating with at least one external electronic device connected through a network. And a memory storing a first algorithm for generating a value according to an input received through the input interface and a second algorithm for generating a private key, and a processor electrically connected to the input interface, the communication circuit and the memory.
- the processor When the first input is received through the input interface, the processor generates the first value by applying the first input to the first algorithm and corresponds to the second input received through the input interface.
- the at least one external device requesting transmission of first data and second data Control the communication circuit to transmit, receive the first data and the second data from the at least one external electronic device via the communication circuit, and in the second algorithm, the first data and the second data
- a plurality of first private keys are generated by applying at least one of the first values and the first value, and used for a transaction of a first cryptocurrency using a plurality of first public keys corresponding to the plurality of first private keys. Can generate address information.
- the processor is configured to set the number of private keys required for the electronic signature used in the transaction of the first cryptocurrency through the address information, among the plurality of first private keys, The number may be set to be equal to or less than the number of the generated first public keys.
- the processor may discard the generated plurality of first private keys.
- the processor when the first input is received again through the input interface, applies the first input to the first algorithm to regenerate the first value and re-creates the input through the input interface. Control the communication circuit to transmit the first data corresponding to the received second input and the transmission request for the second data to the at least one external device, and from the at least one external electronic device through the communication circuit.
- Receiving first data and the second data applying at least one of the first data and the second data and the first value to the second algorithm, restoring the plurality of first private keys, and Digitally sign each of the plurality of restored first private keys for a first transaction message generated for a transaction of a first cryptocurrency; It can be restored by using the plurality of first private keys, respectively, to control the communication circuit electronic signature the first to broadcast the message transaction performed.
- the processor may discard the restored plurality of first private keys after broadcasting the first transaction message.
- the processor obtains a first hash value and a second hash value for each of the first data and the second data by using a hash function, and the first algorithm determines the first hash value and the second hash value.
- the plurality of first private keys may be generated by applying at least one of the second hash values and the first value.
- each of the plurality of private keys and the plurality of public keys corresponding to the plurality of private keys may be stored in a plurality of external electronic devices.
- a plurality of public keys or a plurality of private keys are received and used from at least one external electronic device among a plurality of external electronic devices. Can be.
- a plurality of private keys are stored in each of the plurality of external electronic devices, and received and used from the plurality of external electronic devices only when a cryptocurrency is required, so that the private keys can be managed at a higher security level.
- the private keys can be more conveniently managed.
- FIG. 1 is a block diagram of an electronic device and an external electronic device according to various embodiments of the present disclosure
- FIG. 2 is a flowchart illustrating a method of generating address information used in a cryptocurrency transaction by an electronic device according to various embodiments of the present disclosure.
- FIG. 3 is a flowchart illustrating a method of operating an electronic device according to whether a public key is modulated according to various embodiments of the present disclosure.
- FIG. 4 is a flowchart of a method for broadcasting a transaction message by an electronic device according to various embodiments of the present disclosure.
- FIG. 5 is a flowchart illustrating an address generation method used for a cryptocurrency transaction by an electronic device according to various embodiments of the present disclosure.
- FIG. 6 is a flowchart of a method for broadcasting a transaction message by an electronic device according to various embodiments of the present disclosure.
- Embodiments of the present disclosure are illustrated for the purpose of describing the technical spirit of the present disclosure.
- the scope of the present disclosure is not limited to the embodiments set forth below or the detailed description of these embodiments.
- the expression “based on” is used to describe one or more factors that affect the behavior or behavior of a decision, judgment, described in a phrase or sentence that includes the expression, which expression Does not exclude additional factors that affect decisions, actions of behaviour, or actions.
- a component when referred to as being "connected” or “connected” to another component, the component may be directly connected to or connected to the other component, or new It is to be understood that the connection may be made or may be connected via other components.
- FIG. 1 is a block diagram of an electronic device and an external electronic device according to various embodiments of the present disclosure
- the electronic device 100 may include a communication circuit 110, a memory 120, and a processor 130.
- the electronic device 100 may further include an input interface 140.
- the plurality of components included in the electronic device 100 may be electrically connected through a bus (not shown) to transmit and receive information, control commands, data, and the like.
- the electronic device 100 may include various electronic devices that can be used to perform a blockchain-based cryptocurrency transaction, such as a smart phone, a tablet PC, a desktop PC, a wearable device, and the like.
- a transaction of cryptocurrency may include at least one of an operation for transferring ownership of the cryptocurrency to another person and uploading data to the blockchain (e.g., a function call operation of a smart contract). Can be.
- the cryptocurrency using blockchain technology is a currency that can be used to create new coins or securely proceed transactions using cryptography, which may be a kind of digital currency.
- Cryptocurrency unlike real money, is distributed and operated in a peer-to-peer manner on the Internet network without a central bank issuing money, and cryptocurrency can be issued and managed through blockchain technology.
- cryptocurrencies may include Bitcoin, Ethereum, Stellar Lumen, Litecoin, and the like. However, this is only for the purpose of description and the present invention is not limited thereto.
- the cryptocurrency below may include various types of cryptocurrencies based on blockchain technology.
- the communication circuit 110 may communicate with the plurality of external electronic devices 150 and 151.
- the communication circuit 110 may establish communication between the electronic device 110 and the plurality of external electronic devices 150 and 151.
- the communication circuit 110 may be connected to a network through wireless or wired communication to communicate with a plurality of external electronic devices 150 and 151.
- the communication circuit 110 may be connected to the plurality of external electronic devices 150 and 151 by wire to perform communication.
- Wireless communication may include, for example, cellular communication (eg, LTE, LTE Advance (LTE-A), code division multiple access (CDMA), wideband CDMA (WCDMA), universal mobile telecommunications system (UMTS), and wireless broadband (WiBro). And the like).
- the wireless communication may include short-range wireless communication (eg, wireless fidelity (WiFi), light fidelity (LiFi), Bluetooth, Bluetooth low power (BLE), Zigbee, near field communication (NFC), etc.).
- WiFi wireless fidelity
- LiFi light fidelity
- BLE Bluetooth low power
- NFC near field communication
- the plurality of external electronic devices 150 and 151 may include external servers that store and manage data. For example, subjects managing each of the plurality of external electronic devices 150 and 151 may be different.
- the private and public keys are public key cryptographic algorithms that ensure that the encryption key and the decryption key are not the same (or that one key cannot easily infer another key).
- a public key may be a key that is disclosed to everyone, and a private key may be a key that only the user knows and is not disclosed to others.
- a message encrypted with a public key may be decrypted through a private key, and a message encrypted with a private key may be decrypted through a public key.
- the plurality of external electronic devices 150 and 151 may store a plurality of private keys and a plurality of public keys corresponding to the plurality of private keys, respectively.
- the first external electronic device 151 stores the first private key and the first public key corresponding to the first private key
- the second external electronic device 152 stores the second private key and the second private key.
- the second public key corresponding to the key may be stored.
- the private key and the public key stored in the plurality of external electronic devices 150 and 151 may be different from each other.
- the plurality of external electronic devices 150 and 151 will be described based on storing one private key and one public key, but the present invention is not limited thereto, and each of the plurality of external electronic devices 150 and 151 may be described. May store a plurality of private keys and a plurality of public keys.
- the processor 130 may transmit the plurality of private keys and the plurality of public keys corresponding to the plurality of private keys to the plurality of external electronic devices 150 and 151.
- the processor 130 may generate a plurality of public keys corresponding to the plurality of private keys using an algorithm configured to convert the private key into a public key.
- the processor 130 may advance the plurality of private keys and the plurality of public keys to the plurality of external electronic devices 150 and 151 before performing the process of generating address information used for the transaction of the virtual currency. I can send it.
- the processor 130 may transmit a plurality of private keys and a plurality of public keys to the plurality of external electronic devices 150 and 151. It may be.
- the processor 130 may transmit only a plurality of private keys to the plurality of external electronic devices 150 and 151.
- the plurality of external electronic devices 150 and 151 may generate and store a plurality of public keys corresponding to the plurality of private keys using an algorithm configured to convert the private key into a public key. .
- the memory 120 may store instructions or data related to at least one other element of the electronic device 100.
- the memory 120 may store software and / or a program.
- the memory 120 may include an internal memory or an external memory.
- the internal memory may include, for example, at least one of volatile memory (eg, DRAM, SRAM, or SDRAM), nonvolatile memory (eg, flash memory, hard drive, or solid state drive (SSD)).
- volatile memory eg, DRAM, SRAM, or SDRAM
- nonvolatile memory eg, flash memory, hard drive, or solid state drive (SSD)
- SSD solid state drive
- the external memory may be functionally or physically connected to the electronic device 201 through various interfaces.
- the memory 120 may store access information for accessing the plurality of external electronic devices 150 and 151.
- the connection information may include information about the plurality of external electronic devices 150 and 151 storing the private key and the public key and address information (such as an IP address) of the plurality of external electronic devices 150 and 151.
- information used to access the plurality of external electronic devices 150 and 151 may be included.
- the processor 130 may control at least one other component of the electronic device 100 by driving an operating system or an application program, and may perform various data processing and operations.
- the processor 130 may include a central processing unit and the like, and may be implemented as a system on chip (SoC).
- SoC system on chip
- the input interface 140 may transfer an input received from the user to at least one other component of the electronic device 100.
- the input interface 140 may include a touch screen, a keypad, a mouse, a keyboard, and the like.
- the processor 130 may control the communication circuit 110 to connect to the plurality of external electronic devices 150 and 151 using the connection information stored in the memory 120. For example, when an input for instructing generation of address information used for a transaction of a cryptocurrency is received from the user through the input interface 140, the processor 130 uses the access information to display a plurality of external electronic devices 150 and 151. Communication circuit 110 can be controlled to
- the processor 130 will be described based on controlling the communication circuit 110 to connect to the plurality of external electronic devices 150 and 151 based on the connection information.
- the communication circuit 110 may be controlled to connect to at least one of the plurality of external electronic devices 150 and 151.
- the input interface 140 may receive authentication information used to connect to the plurality of external electronic devices 150 and 151 from the user.
- the processor 130 displays a screen for requesting input of authentication information for the user when authentication information about the user of the electronic device 100 is required to access the plurality of external electronic devices 150 and 151 (not shown). Can be displayed.
- the processor 130 controls the communication circuit 110 to access the plurality of external electronic devices 150 and 151 using the authentication information received through the input interface 140 and the connection information stored in the memory 120. can do.
- the processor 130 transmits authentication information to the plurality of external electronic devices 150 and 151 using the connection information, and receives a message indicating authentication success from the plurality of external electronic devices 150 and 151. Thereafter, the communication circuit 110 may be connected to the plurality of external electronic devices 150 and 151.
- the processor 130 may receive a plurality of public keys from the plurality of external electronic devices 150 and 151 connected through the communication circuit 110.
- the processor 130 may receive the first public key from the first external electronic device 150 and the second public key from the second external electronic device 151.
- the processor 130 may receive a plurality of private keys from the plurality of external electronic devices 150 and 151 through the communication circuit 110.
- the processor 130 may generate a plurality of public keys using the received plurality of private keys.
- the processor 130 discloses the private key.
- the first public key may be generated using the first private key
- the second public key may be generated using the second private key.
- the processor 130 may generate address information used for a transaction of the first cryptocurrency, using the received plurality of public keys. For example, the processor 130 uses the public key to generate address information used for the transaction of the cryptocurrency, and the address information used for the transaction of the first cryptocurrency using the received plurality of public keys. Can be generated.
- the first cryptocurrency may be at least a part of the cryptocurrency held by the user of the electronic device 100.
- the processor 130 may generate at least one first external electronic device in addition to the public keys received from the plurality of external electronic devices 150 and 151 to generate address information used for the transaction of the first cryptocurrency.
- the public key received from can be further used.
- the processor 130 may request to perform the electronic signature on the transaction message and the transaction message. A detailed method of requesting the at least one first external electronic device to the transaction message and the electronic signature for the transaction message by the processor 130 will be described later.
- the memory 120 may include at least one of information for confirming whether a plurality of private keys are stored in the plurality of external electronic devices 150 and 151 and information for confirming whether a plurality of public keys are modulated.
- the information for confirming whether the plurality of private keys are modulated may include a value for confirming whether the plurality of private keys has been modulated
- the information for confirming whether the plurality of public keys has been modulated may include a plurality of information. It may include a value for checking whether the public key has been tampered with.
- a value for confirming whether a plurality of private keys or a plurality of public keys are modulated may include an electronic signature value (for example, SHA256, MD5, etc.).
- the processor 130 transmits a plurality of private keys and a plurality of public keys to the plurality of external electronic devices 150 and 151
- information for confirming whether a plurality of private keys are modulated or a plurality of information At least one of information for confirming whether the public key is modulated may be generated and stored in the memory 120.
- information for confirming whether a plurality of public keys generated by the plurality of external electronic devices 150 and 151 are modulated may be received and stored in the memory 120.
- the information for confirming whether the plurality of private keys have been modulated and the information for confirming whether the plurality of public keys have been modulated are stored in a memory of another electronic device that is linked with the electronic device 100 by wire or wirelessly.
- the processor 130 may receive and use the communication circuit 110 in a process of checking whether the private key and the plurality of public keys are modulated. In this case, the processor 130 checks whether the plurality of private keys and the plurality of public keys have been modulated and then checks whether the received plurality of private keys have been modulated and whether the plurality of public keys have been modulated. Information may be discarded.
- the processor 130 may determine the plurality of public keys based on information for confirming whether the plurality of public keys have been modulated. You can check whether the key has been tampered with. For example, if it is determined that the plurality of public keys are not tampered with, the processor 130 may generate address information used for a transaction of the first cryptocurrency using the received plurality of public keys. As another example, when it is determined that at least one of the plurality of public keys is modified, the processor 130 may display a message on the display indicating that the address information used for the transaction of the first cryptocurrency cannot be generated. .
- the processor 130 of the plurality of private keys stored in the plurality of external electronic devices 150, 151, the number of private keys required for the electronic signature used in the transaction of the first cryptocurrency through the address information Can be set.
- the processor 150 may set the number of private keys required for the electronic signature that is performed during the transaction of at least a portion of the first cryptocurrency through the generated address information.
- the processor 130 may set the number of private keys to be equal to or less than the number of received public keys.
- the processor 130 may generate a smart contract to perform a set operation when a specific condition is satisfied. For example, when the electronic signature is performed using a specific condition, for example, each of the set number of private keys, the processor 130 generates a transaction message for the set operation, for example, a transaction of the first cryptocurrency. You can create a smart contract to perform The processor 130 may generate a smart contract using one private key and a plurality of public keys received from the plurality of external electronic devices 150 and 151.
- the processor 130 may generate a smart contract by receiving all of the set number of private keys required for performing the electronic signature from the plurality of external electronic devices 150 and 151.
- the processor 130 may perform a first encryption on the at least one first external electronic device.
- a smart contract can be created to request an electronic signature for a transaction message for the transaction of money.
- the at least one first external electronic device receives a request for an electronic signature for generating a transaction message
- the at least one first external electronic device performs the electronic signature using at least one private key received from the plurality of external electronic devices 150 and 151, thereby transmitting the transaction message. Can be generated.
- the processor 130 may control the communication circuit 110 to broadcast the generated smart contract.
- At least one second external electronic device operating as a node associated with the blockchain may receive the smart contract and verify the validity of the smart contract. If the validity of the smart contract is verified by at least one second external electronic device, the smart contract may be registered in the blockchain.
- the at least one second external electronic device may store block information about the blocks of the block chain or header information of the block information.
- the at least one second external electronic device may store block information for all blocks of the blockchain, or may store only header information of the block information without storing block information for all blocks.
- the processor 130 may set a plurality of sets of a plurality of private keys among a plurality of private keys from at least one third external electronic device among the plurality of external electronic devices 150 and 151 through the communication circuit 110. 1 Private key can be received.
- the processor 130 may receive at least one third external electronic device to receive a set number of first private keys from at least one third external electronic device of the plurality of external electronic devices 150 and 151.
- the device may send a request for transmission of the private key.
- the processor 130 may transmit a request for transmission of a private key to at least one third external electronic device according to an input instructing generation of a transaction message received through the input interface 140.
- the at least one third external electronic device may transmit the stored private key to the electronic device 100 in response to the request for transmission of the private key.
- the at least one third external electronic device may be selected according to a user input or may be selected according to a set algorithm.
- the processor 130 may perform an electronic signature using each of the plurality of first private keys received for the first transaction message generated for the transaction of the first cryptocurrency.
- the processor 130 may electronically sign the first transaction message using the plurality of first private keys to prove that the user who generated the first transaction message is the user of the electronic device 100.
- the processor 130 may transmit a first transaction message to at least one third external electronic device and request to perform an electronic signature with a private key stored in the third external electronic device.
- the third external electronic device may perform an electronic signature with a private key stored in the received transaction message.
- the at least one third external electronic device may transmit or broadcast the transaction message on which the electronic signature has been performed to the electronic device 100.
- one electronic device may determine whether an electronic signature of another external electronic device is additionally required. If it is determined that an electronic signature of another external electronic device is additionally necessary, the one electronic device may forward the electronically signed transaction message to another external electronic device of the plurality of first external electronic devices after the electronic signature is performed. have.
- the other external electronic device performs an electronic signature using at least one private key received from the plurality of external electronic devices 150 and 151, and if it is determined that the electronic signature is not additionally necessary, the electronic message has been performed. May be transmitted or broadcasted to the electronic device 100.
- the processor 130 may generate at least one message for calling the generated smart contract using each of the plurality of received first private keys for the transaction of the first cryptocurrency.
- the transaction message is sent to the at least one first external electronic device.
- the processor 130 may transmit a transaction message on which the electronic signature has been performed to the at least one first external electronic device, and request the electronic signature for the transaction message.
- the at least one first external electronic device generates an electronic signature or generates an electronic signature by performing an electronic signature on the received transaction message using at least one private key received from the plurality of external electronic devices 150 and 151.
- the at least one first external electronic device broadcasts the generated electronic signature or the transaction message on which the electronic signature has been performed so that the at least one other external electronic device can receive or transmits the electronic signature to the electronic device 100 that has requested the electronic signature. Can be.
- the processor 130 when a plurality of first private keys are received from the at least one third external electronic device, the processor 130 based on information for confirming whether the plurality of private keys stored in the memory 120 is modulated. At least one of the plurality of first private keys may determine whether the first private key is modulated. For example, if it is determined that the plurality of first private keys are not modulated, the processor 130 may perform an electronic signature on each of the plurality of first private keys for the first transaction message. As another example, when it is determined that at least one first private key of the plurality of first private keys is modulated, the processor 130 may digitally sign the first transaction message using the plurality of first private keys. A message indicating that it is not possible can be output via the display.
- the plurality of private keys may be encrypted and stored in the plurality of external electronic devices 150 and 151.
- the processor 130 encrypts the plurality of private keys and transmits the encrypted plurality of private keys to the plurality of external electronic devices 150, 151 before transmitting the plurality of private keys to the plurality of external electronic devices 150, 151. ) Can be sent.
- the processor 130 may store an algorithm in the memory 120 for decrypting the plurality of encrypted private keys.
- the processor 130 sets authentication information for decrypting the plurality of encrypted private keys, and when the set authentication information is received, decrypts the plurality of encrypted private keys to decrypt the plurality of encrypted private keys. You can configure the algorithm.
- the processor 130 may display a screen requesting authentication information for decrypting the plurality of encrypted first private keys on a display.
- the processor 130 may decrypt the plurality of encrypted first private keys. have.
- the processor 130 may digitally sign each of the plurality of decrypted first private keys for the first transaction message.
- the processor 130 may output a message indicating that the encrypted plurality of first private keys cannot be decrypted through the display.
- the processor 130 may control the communication circuit 110 to broadcast the first transaction message that has been digitally signed using each of the plurality of first private keys.
- At least one second external electronic device operating as a node associated with the blockchain receives the first transaction message, and the first transaction message is decrypted with a plurality of first public keys corresponding to the plurality of first private keys. 1 You can validate the transaction message. When the validity of the first transaction message is verified, the at least one second external electronic device may determine that the transaction of the first cryptocurrency confirmed through the first transaction message is a valid transaction.
- the at least one second external electronic device may store block information about the blocks of the block chain or header information of the block information.
- the at least one second external electronic device may store block information for all blocks of the blockchain, or may store only header information of the block information without storing block information for all blocks.
- the memory 120 may store a first algorithm for generating a value according to a first input received from a user through the input interface 140 and a second algorithm for generating a private key.
- the first algorithm may be configured to convert the received input to generate a random value when an input set by the user is received.
- the first algorithm may generate an arbitrary first value by converting the first input when the first input is received.
- the first algorithm may be configured to transform the first input to generate an arbitrary first value, and then convert the first input to regenerate the first value if the first input is received again.
- the first algorithm generates a random value according to an input received first to generate a specific private key, and when the same input is received again, the value generated according to the first received input is equally regenerated. Can be.
- the second algorithm may be configured to generate a private key using a plurality of data received from the plurality of external electronic devices 160 and 161 and a value generated through the first algorithm.
- the second algorithm may be configured by arbitrarily combining predetermined functions such as a union function, a hash function, a shifting function, and the like.
- the second algorithm may be configured in advance or may be configured every time a private key is generated.
- the second algorithm may be configured to generate a private key using a hash value for the plurality of data obtained through the hash function and a value generated through the first algorithm.
- the plurality of external electronic devices 160 and 161 may include external electronic devices that operate as nodes associated with the blockchain.
- the plurality of external electronic devices 160 and 161 may include various electronic devices such as a smart phone, a tablet PC, a desktop PC, a server, and a wearable device.
- the processor 130 may apply the first input to the first algorithm to generate an arbitrary first value.
- the first algorithm may transform the first input to produce an arbitrary first value.
- the first input may be an input first input to the first algorithm.
- the processor 130 may transmit the first data corresponding to the second input received through the input interface 140 and a request for transmission of the second data to the plurality of external electronic devices 160 and 161.
- the communication circuit 110 can be controlled.
- the second input may be an input for referring to the first data and the second data that are targets of the transmission request.
- the first data and the second data are data disclosed to all users, and a separate procedure for receiving the first data and the second data may not be required.
- the first data and the second data may be part of data stored in the plurality of external electronic devices 160 and 161 based on the blockchain technology.
- a request for transmission of the first data and the second data may be transmitted to at least one external electronic device of the plurality of external electronic devices 160 and 161, and a request for transmission of one data or transmission of three or more data.
- the request may be transmitted to at least one external electronic device of the plurality of external electronic devices 160 and 161 or the plurality of external electronic devices 160 and 161.
- the processor 130 may receive first data and second data from the plurality of external electronic devices 160 and 161 through the communication circuit 110.
- the processor 130 may generate a plurality of first private keys by applying at least one of the first data and the second data and the generated first value to the second algorithm stored in the memory 120.
- the processor 130 selects one of the first data and the second data according to the reception order of the first data and the second data, and applies the selected data and the first value to the second algorithm to apply a plurality of agents. 1 You can create a private key. However, this is only for the purpose of description and the present invention is not limited thereto, and one of the first data and the second data may be selected in various ways.
- the processor 130 may generate a plurality of first private keys by applying both the first data and the second data and the first value to the second algorithm.
- the processor 130 may obtain a first hash value and a second hash value for each of the first data and the second data by using a hash function.
- the processor 130 may generate a plurality of first private keys by applying at least one of the first hash value and the second hash value and the first value to the second algorithm.
- the processor 130 may generate a plurality of first public keys corresponding to the generated plurality of first private keys using an algorithm configured to convert the private key into a public key.
- the processor 130 may generate address information used for a transaction of the first cryptocurrency, using the generated plurality of first public keys.
- the processor 130 may set the number of private keys required for the electronic signature used in the transaction of the first cryptocurrency through the address information among the plurality of generated first public keys.
- the processor 150 may set the number of private keys required for the electronic signature that is performed during the transaction of at least a portion of the first cryptocurrency through the generated address information. For example, the processor 130 may set the number of private keys to be equal to or less than the number of generated public keys.
- the processor 130 may generate the address information using the plurality of first public keys and then discard the generated plurality of first private keys. In addition, the processor 130 transmits the generated plurality of first private keys to the plurality of external electronic devices 150 and 151 before discarding the generated plurality of first private keys, and the plurality of external electronic devices 150. 151 may store the plurality of received first private keys. The processor 130 may transmit the generated plurality of first private keys to the plurality of external electronic devices 150 and 151 without encrypting them, or encrypt the generated plurality of first private keys to provide the plurality of external electronic devices ( 150, 151 may be transmitted.
- the processor 130 may encrypt the plurality of first private keys themselves and transmit them to the plurality of external electronic devices 150 and 151, or may transmit the plurality of first private keys using a plurality of encrypted protocols. The transmission may be transmitted to the external electronic devices 150 and 151. As another example, the processor 130 may encrypt the plurality of first private keys themselves and transmit the plurality of first private keys encrypted using an encrypted protocol to the plurality of external electronic devices 150 and 151. .
- the processor 130 may perform an electronic signature on a transaction message for a transaction of the first cryptocurrency.
- the plurality of first private keys may be received and used from the plurality of external electronic devices 150 and 151 without restoring the plurality of first private keys.
- the processor 130 applies the first input to the first algorithm to apply the first value. Can be regenerated. For example, the processor 130 re-receives a first input that is identical to a first input applied to the first algorithm to generate a first value used to generate a plurality of first private keys. By applying the received first input, a first value identical to the first value used for generating the plurality of first private keys may be regenerated.
- the processor 130 after discarding the generated plurality of first private keys, the processor 130 sends a request for transmission of the first data and the second data according to the second input received again through the input interface 140.
- the communication circuit 110 may be controlled to transmit to the plurality of external electronic devices 160 and 161.
- the processor 130 may receive first data and second data from the plurality of external electronic devices 160 and 161 through the communication circuit 110.
- the processor 130 may restore the plurality of first private keys by applying at least one of the first data and the second data and the generated first value to the second algorithm stored in the memory 120.
- the processor 130 may apply at least one of the first data and the second data and the first value to the second algorithm in the same manner as the method of generating the plurality of first private keys, thereby generating the plurality of first private keys. You can restore your private key.
- the processor 130 may perform the electronic signature using each of the plurality of first private keys restored in the first transaction message generated for the transaction of the first cryptocurrency.
- the processor 130 may electronically sign the first transaction message by using the plurality of restored first private keys to prove that the user who generated the first transaction message is the user of the electronic device 100. .
- the processor 130 may control the communication circuit 110 to broadcast the first transaction message on which the electronic signature has been performed using each of the plurality of restored first private keys.
- the at least one second external electronic device operating as a node associated with the blockchain receives the first transaction message, and the first transaction message is decrypted with a plurality of first public keys corresponding to the plurality of first private keys to make the first transaction. You can validate the message. When the validity of the first transaction message is verified, the at least one second external electronic device may determine that the transaction of the first cryptocurrency confirmed through the first transaction message is a valid transaction. In addition, the processor 130 may discard the plurality of restored first private keys after broadcasting the first transaction message.
- the processor 130 may generate or restore the private key using the disclosed data, and discard the private key after using the generated or restored private key. Through this, the risk of leakage of the private key can be reduced, and since the user does not separately manage the private key, convenience for the user can be increased.
- the processor 130 receives a plurality of public keys or a plurality of private keys from a plurality of external electronic devices 150 and 151 or generates a plurality of public information in order to generate address information or digitally sign a transaction message.
- the processor 130 receives some of a plurality of public keys or a plurality of private keys required for generating address information or digitally signing a transaction message from the plurality of external electronic devices 150 and 151, and generates others. can do.
- the processor 130 may further use at least one public key or at least one private key stored in the memory 120 to generate address information or digitally sign a transaction message.
- FIG. 2 is a flowchart illustrating a method of generating address information used in a cryptocurrency transaction by an electronic device according to various embodiments of the present disclosure.
- the electronic device 100 may access the plurality of external electronic devices 150 and 151 to receive the plurality of public keys.
- the processor 130 uses a plurality of connection information stored in the memory 120.
- the communication circuit 110 may be controlled to connect to the external electronic devices 150 and 151.
- the processor 130 may display a screen for requesting input of the authentication information through a display.
- the processor 130 may control the communication circuit 110 to access the plurality of external electronic devices 150 and 151 using authentication information received through the input interface 140 and connection information stored in the memory 120. have.
- the electronic device 100 may receive a plurality of public keys from the plurality of external electronic devices 150 and 151.
- the processor 130 may request transmission of a public key stored in each of the plurality of external electronic devices 150 and 151.
- the processor 130 may receive, via the communication circuit 110, a plurality of public keys transmitted by each of the plurality of external electronic devices 150 and 151 in response to the public key transmission request.
- the electronic device 100 may generate address information used for a transaction of the first cryptocurrency using the received plurality of public keys.
- the processor 130 uses the public key to generate address information used for the transaction of the cryptocurrency, and the address information used for the transaction of the first cryptocurrency using the received plurality of public keys. Can be generated.
- the electronic device 100 may set the number of private keys required for the electronic signature used in the transaction of the first cryptocurrency.
- the processor 130 is required for the electronic signature used in the transaction of the first cryptocurrency through the address information generated in step 20 of the plurality of private keys stored in the plurality of external electronic devices 150 and 151. You can set the number of private keys.
- the processor 130 may set the number of private keys to be equal to or less than the number of received public keys. For example, when the number of the plurality of public keys received is a, the processor 130 may not exceed the number of private keys required for the electronic signature used in the transaction of the first cryptocurrency through the generated address information. It can be set to b, the number of.
- FIG. 3 is a flowchart illustrating a method of operating an electronic device according to whether a public key is modulated according to various embodiments of the present disclosure.
- the electronic device 100 determines whether at least one public key of the plurality of public keys has been tampered with before generating address information used for a transaction of the first cryptocurrency. Can be.
- the processor 130 may check whether the received plurality of public keys is modulated based on information for confirming whether the plurality of public keys are stored in the memory 120.
- a plurality of public keys have been modulated, a plurality of private keys corresponding to the plurality of public keys may have been modulated. Therefore, it is necessary to confirm whether or not the plurality of public keys have been modulated before generating address information.
- the electronic device 100 may display a message indicating that the address information used for the transaction of the first cryptocurrency cannot be generated using the received plurality of public keys. Can be.
- the processor 130 may display a message on the display indicating that the address information used for the transaction of the first cryptocurrency cannot be generated.
- the processor 130 may be stored in at least one external electronic device storing at least one public key whose modulation is confirmed among the plurality of external electronic devices 150 and 151. Information on the display can be displayed. In this way, the user may not use at least one public key stored in the at least one external electronic device to generate address information, or may cause the new private key and the public key to be stored again in the at least one external electronic device.
- the electronic device 100 may generate address information used for a transaction of the first cryptocurrency using the received plurality of public keys. For example, when it is determined that the plurality of public keys are not tampered with, the processor 130 uses the received plurality of public keys according to an algorithm for generating address information used for a transaction of a cryptocurrency using the public key. To generate address information used for the transaction of the first cryptocurrency. In addition, the processor 130 may display the generated address information on the display and store the generated address information in the memory 120.
- FIG. 4 is a flowchart of a method for broadcasting a transaction message by an electronic device according to various embodiments of the present disclosure.
- the electronic device 100 may receive a set number of first private keys among a plurality of private keys from at least one third external electronic device among the plurality of external electronic devices 150 and 151.
- the processor 130 may receive at least one third external electronic device to receive a set number of first private keys from at least one third external electronic device of the plurality of external electronic devices 150 and 151.
- the device may send a request for transmission of the private key.
- the at least one third external electronic device may be selected from among the plurality of external electronic devices 150 and 151 according to a user's input.
- the processor 130 may transmit a transmission request for the private key to the selected at least one third external electronic device.
- the at least one third external electronic device may be selected from among the plurality of external electronic devices 150 and 151 according to a set algorithm, and the set number of external electronic devices from among the plurality of external electronic devices 150 and 151. May be arbitrarily selected.
- the electronic device 100 may perform an electronic signature using each of the plurality of first private keys received for the first transaction message generated for the transaction of the first cryptocurrency.
- the processor 130 may digitally sign the first transaction message by using the plurality of first private keys to prove that the user who generated the first transaction message is the user of the electronic device 100. Can be.
- the processor 130 may determine whether at least one of the first private keys of the plurality of first private keys is modulated based on information for confirming whether the plurality of private keys are stored in the memory 120. Can be. When it is confirmed that the plurality of first private keys are not modulated, the processor 130 may digitally sign each of the plurality of first private keys using the first transaction message. As another example, when it is determined that at least one first private key of the plurality of first private keys is modulated, the processor 130 may digitally sign the first transaction message using the plurality of first private keys. A message indicating that it is not possible can be output via the display.
- the electronic device 100 may broadcast the first transaction message on which the electronic signature is performed using each of the plurality of first private keys.
- the processor 130 may control the communication circuit 110 to broadcast the first transaction message on which the electronic signature is performed using each of the plurality of first private keys.
- FIG. 5 is a flowchart illustrating an address generation method used for a cryptocurrency transaction by an electronic device according to various embodiments of the present disclosure.
- the electronic device 100 may receive a first input from a user. For example, when a first input is received through the input interface 140, the processor 130 may determine whether the received first input corresponds to a set input.
- the electronic device 100 may generate an arbitrary first value by converting the first input. For example, if the first input corresponds to a set input, the processor 130 may generate an arbitrary first value by applying the first input to the first algorithm.
- the electronic device 100 may receive a second input from the user.
- the second input may be an input for referring to the first data and the second data that are targets of the transmission request.
- the second input may refer to the first data and the external electronic device that requests the second data.
- the processor 130 may check the first data and the second data according to the second input.
- the processor 130 may identify the first external electronic device 501 and the second external electronic device 502 that request the first data and the second data according to the second input.
- the electronic device 100 transmits a transmission request for the first data to the first external electronic device 501 according to the received second input.
- the electronic device 100 transmits a transmission request for the second data. It may transmit to the second external electronic device 502.
- the processor 130 transmits a request for transmission of the first data to the first external electronic device 501 based on the second input, and transmits a request for transmission of the second data to the second external electronic device 502.
- the communication circuit 110 can be controlled to do so.
- the first external electronic device 501 and the second external electronic device 502 may include external electronic devices that operate as nodes associated with the blockchain.
- the processor 130 may transmit a request for transmission of at least one data not referred to by the second input to at least one other external electronic device and receive at least one data.
- the processor 130 may not use the received at least one data to generate address information used for the transaction of the first cryptocurrency. In this way, it is possible to prevent other users from knowing what data is used to generate address information used in the transaction of the first cryptocurrency, thereby preventing the private key from being leaked by another user. .
- the first external electronic device 501 may retrieve the first data and transmit the first data to the electronic device 100.
- the second external electronic device 502 may retrieve the second data and transmit the second data to the electronic device 100 in response to the request for transmission of the second data.
- steps 530 to 541 may be repeated a predetermined number of times in order to enhance security of the private key generation method.
- the number of data used to generate the private key may be two or more depending on the setting.
- the electronic device 100 may generate a plurality of first private keys using at least one of the received first data and the second data and the generated first value.
- the processor 130 may generate a plurality of first private keys by applying at least one of the first data and the second data and the generated first value to a second algorithm stored in the memory 120.
- the processor 130 may store the generated plurality of first private keys in the secure area of the memory 120.
- the security area of the memory 120 may be an area logically divided to prevent access of at least one component of the electronic device 100 to which the right is not authorized.
- the processor 130 may discard the first data, the second data, and the first value. For example, the processor 130 may delete the first data, the second data, and the first value stored in the memory 120.
- the electronic device 100 may generate address information used for a transaction of the first cryptocurrency using the generated plurality of first private keys.
- the processor 130 may generate a plurality of first public keys corresponding to the generated plurality of first private keys by using an algorithm configured to convert the private key into a public key.
- the processor 130 may generate address information used for a transaction of the first cryptocurrency, using the generated plurality of first public keys.
- the processor 130 may set the number of private keys required for the electronic signature that is performed during the transaction of at least a portion of the first cryptocurrency through the generated address information.
- the electronic device 100 may discard the plurality of first private keys.
- the processor 130 may generate the address information using the plurality of first public keys and then discard the plurality of first private keys.
- the processor 130 may delete the plurality of first private keys stored in the secure area of the memory 120.
- the electronic device 100 may prevent the generated plurality of first private keys from being repeatedly used and restore and use the private key whenever a private key is needed in a transaction of a cryptocurrency. The method of restoring the private key will be described later.
- FIG. 6 is a flowchart of a method for broadcasting a transaction message by an electronic device according to various embodiments of the present disclosure.
- the electronic device 100 may receive a first input from a user.
- the processor 130 may discard the plurality of generated first private keys and then receive the first input corresponding to the input set through the input interface 140 again.
- the electronic device 100 may generate a first value by converting the first input.
- the processor 130 may regenerate the first value by applying the first input to the first algorithm.
- the first algorithm may be configured to transform the first input to generate an arbitrary first value, and then, if the first input is received again, convert the first input to generate the first value.
- the electronic device 100 may receive a second input from the user.
- the processor 130 may confirm the first data and the second data according to the second input received again after discarding the plurality of first private keys.
- the processor 130 may identify the first external electronic device 601 and the second external electronic device 602 that request the first data and the second data according to the second input received again.
- the electronic device 100 transmits a transmission request for the first data to the first external electronic device 601 according to the second input.
- the electronic device 100 transmits a transmission request for the second data. It can transmit to the external electronic device 602.
- the processor 130 transmits a transmission request for the first data identified according to the second input to the first external electronic device 601 and transmits a transmission request for the second data identified according to the second input to the second external.
- the communication circuit 110 may be controlled to transmit to the electronic device 602.
- the first external electronic device 601 and the second external electronic device 602 may include external electronic devices that operate as nodes associated with the blockchain.
- the processor 130 may transmit a request for transmission of at least one data not referred to by the second input to at least one other external electronic device and receive at least one data.
- the processor 130 may not use the received at least one data to generate address information used for the transaction of the first cryptocurrency. In this way, it is possible to prevent other users from knowing what data is used to generate address information used in the transaction of the first cryptocurrency, thereby preventing the private key from being leaked by another user. .
- the first external electronic device 601 may retrieve the first data and transmit the first data to the electronic device 100 in response to the request for transmission of the first data.
- the second external electronic device 602 may search for and transmit the second data to the electronic device 100 in response to the request for transmission of the second data.
- steps 630 to 641 may be repeated a predetermined number of times.
- the number of data used to generate the private key may be two or more depending on the setting.
- the electronic device 100 may restore the plurality of first private keys using at least one of the received first data and the second data and the generated first value.
- the processor 130 may restore the plurality of first private keys by applying at least one of the first data and the second data and the generated first value to the second algorithm stored in the memory 120.
- the number of the plurality of first private keys to be restored may be the number of private keys required for an electronic signature performed at the time of the transaction of at least a portion of the first cryptocurrency, which is set when generating address information used for the transaction of the first cryptocurrency. .
- the electronic device 100 may perform an electronic signature by using each of the plurality of first private keys restored in the first transaction message generated for the transaction of the first cryptocurrency.
- the processor 130 generates a first transaction message for a transaction of the first cryptocurrency according to a user's input, and digitally signs each of the plurality of first private keys restored in the first transaction message. Can be performed.
- the electronic device 100 may broadcast the first transaction message.
- the processor 130 may control the communication circuit 110 to broadcast the first transaction message on which the electronic signature is performed using each of the restored plurality of first private keys.
- the electronic device 100 may discard the plurality of restored first private keys.
- the processor 130 may digitally sign the first transaction message using each of the plurality of first private keys and then discard the plurality of restored first private keys.
- the electronic device 100 may prevent the generated plurality of second private keys from being repeatedly used, and restore and use the private key whenever a private key is required in a transaction of a cryptocurrency.
- Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media may include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like.
- the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
- functional programs, codes, and code segments for implementing the above embodiments can be easily inferred by programmers in the art to which the present disclosure belongs.
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephone Function (AREA)
Abstract
Description
본 개시는 블록체인 기반 암호화폐의 트랜잭션(transaction)에 이용되는 주소 정보 생성 방법, 전자 장치 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.The present disclosure relates to a method for generating address information, an electronic device, and a computer-readable recording medium used for a transaction of a blockchain-based cryptocurrency.
최근, 온라인 트랜잭션 상에서 블록체인 기반의 암호화폐가 사용되고 있으며, 다양한 종류의 블록체인 가빈의 암호화폐가 사용되고 있다. 기존의 명목 화폐(fiat currency)와는 달리 중앙권한이나 은행 없는 운영을 위해, 암호화폐는 블록체인 기술을 기반으로 구현된다.Recently, blockchain-based cryptocurrencies have been used in online transactions, and various kinds of blockchain-based cryptocurrencies have been used. Unlike traditional fiat currency, cryptocurrency is implemented based on blockchain technology for central authority or bankless operation.
또한, 암호화폐의 트랜잭션에는 전자 서명(digital signature) 기술이 이용된다. 전자 서명 기술은 메시지를 송신한 사람을 확인하기 위한 기술로서, 암호화폐의 트랜잭션에서는 공개키 암호화 알고리즘을 이용하여 수행된다. 공개키 암호화 알고리즘에서 이용되는 공개키(public key)와 개인키(private key)는 서로 쌍으로 이루어진다. 공개키는 모든 사람에게 공개되나, 개인키는 사용자만이 알고 있는 것으로써, 암호화폐의 트랜잭션에 있어서, 개인키가 유출될 경우, 자신의 암호화폐를 이용할 수 없게 되므로, 개인키에 대한 높은 보안이 요구된다.In addition, digital signature technology is used for cryptocurrency transactions. Digital signature technology is a technology for identifying the sender of a message, and is performed using a public key encryption algorithm in a transaction of cryptocurrency. The public key and the private key used in the public key encryption algorithm are paired with each other. The public key is open to everyone, but the private key is only known to the user, and in the transaction of cryptocurrency, if the private key is leaked, it cannot use its own cryptocurrency. Is required.
암호화폐의 트랜잭션에서는 전자 서명 기술을 이용하여, 암호화폐의 트랜잭션에서 이용되는 메시지를 송신한 사람을 확인함으로써, 암호화폐의 트랜잭션이 성립된다. 따라서, 메시지를 송신한 사람을 확인하는 데에 이용되는 개인키는 높은 보안 수준으로 관리될 필요가 있다. 또한, 사용자는 암호화폐의 트랜잭션을 위해 개인키를 모두 기억하거나 자신만의 방법으로 개인키를 별도로 관리해야 하여, 개인키를 관리하는 함에 있어 불편함이 존재한다.In a cryptocurrency transaction, a cryptocurrency transaction is established by confirming the sender of the message used in the cryptocurrency transaction by using an electronic signature technique. Thus, the private key used to identify who sent the message needs to be managed with a high level of security. In addition, the user has to remember all the private key for the transaction of cryptocurrency or to manage the private key separately in their own way, there is an inconvenience in managing the private key.
본 개시의 다양한 실시예는 상술한 문제점 또는 다른 문제점을 해결하기 위한 방법, 블록체인 기반 암호화폐의 트랜잭션을 수행하는 전자 장치, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.Various embodiments of the present disclosure may provide a method for solving the above-described problems or other problems, an electronic device for performing a transaction of a blockchain-based cryptocurrency, a method, and a computer-readable recording medium.
본 개시의 일 실시예에 따르면, 블록체인 기반 암호화폐의 트랜잭션을 수행하는 전자 장치는, 네트워크를 통해 연결되고, 복수의 개인키 및 상기 복수의 개인키에 대응하는 복수의 공개키 각각이 저장된 복수의 외부 전자 장치와 통신을 수행하는 통신 회로, 상기 복수의 외부 전자 장치에 접속하기 위한 접속 정보를 저장하는 메모리 및 상기 메모리 및 상기 통신 회로와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 접속 정보를 이용하여, 상기 복수의 외부 전자 장치에 접속하도록 상기 통신 회로를 제어하고, 상기 통신 회로를 통해 상기 복수의 외부 전자 장치로부터 상기 복수의 공개키를 수신하고, 상기 복수의 공개키를 이용하여, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하고, 상기 복수의 개인키 중, 상기 주소 정보를 통한 상기 제1 암호화폐의 트랜잭션에서 이용되는 전자 서명을 위해 필요한 개인키의 개수를 설정할 수 있다.According to an embodiment of the present disclosure, an electronic device that performs a transaction of a blockchain-based cryptocurrency is connected through a network, and stores a plurality of private keys and a plurality of public keys corresponding to the plurality of private keys, respectively. A communication circuit configured to communicate with an external electronic device, a memory storing connection information for connecting to the plurality of external electronic devices, and a processor electrically connected to the memory and the communication circuit, wherein the processor includes: the connection; Control the communication circuit to connect to the plurality of external electronic devices using information, receive the plurality of public keys from the plurality of external electronic devices through the communication circuit, and use the plurality of public keys. And generating address information used for a transaction of the first cryptocurrency, wherein the address definition is one of the plurality of private keys. The number of private keys required for the electronic signature used in the transaction of the first cryptocurrency through the beam can be set.
일 실시예에서, 상기 개인키의 개수는 상기 수신된 복수의 공개키의 개수 이하로 설정될 수 있다.In one embodiment, the number of private keys may be set to be equal to or less than the number of received public keys.
일 실시예에서, 전자 장치는, 사용자로부터 상기 복수의 외부 전자 장치로 접속하기 위해 이용되는 인증 정보를 수신하는 입력 인터페이스를 더 포함하고, 상기 프로세서는, 상기 접속 정보 및 상기 입력 인터페이스를 통해 수신된 상기 인증 정보를 이용하여 상기 복수의 외부 전자 장치에 접속하도록 상기 통신 회로를 제어할 수 있다.In one embodiment, the electronic device further comprises an input interface for receiving authentication information used for connecting to a plurality of external electronic devices from a user, wherein the processor is configured to receive the connection information and the received information via the input interface. The communication circuit may be controlled to connect to the plurality of external electronic devices using the authentication information.
일 실시예에서, 상기 메모리는, 상기 복수의 공개키의 변조 여부를 확인하기 위한 정보를 더 저장하고, 상기 프로세서는, 상기 복수의 공개키가 수신되면, 상기 복수의 공개키의 변조 여부를 확인하기 위한 정보에 기초하여, 상기 복수의 공개키의 변조 여부를 확인하고, 상기 복수의 공개키가 변조되지 않은 것으로 확인되면, 상기 복수의 공개키를 이용하여 상기 주소 정보를 생성할 수 있다.In an embodiment, the memory may further store information for confirming whether the plurality of public keys have been modulated, and when the plurality of public keys are received, the processor verifies whether the plurality of public keys have been modulated. On the basis of the information to confirm, if it is confirmed whether the plurality of public keys have been modified, and if it is confirmed that the plurality of public keys are not modulated, the address information can be generated using the plurality of public keys.
일 실시예에서, 상기 프로세서는, 상기 복수의 개인키 중, 상기 설정된 개수의 복수의 개인키 각각을 이용하여 상기 전자 서명이 수행되면, 상기 제1 암호화폐의 트랜잭션을 위한 트랜잭션 메시지를 생성하도록 하는 스마트 컨트랙트(smart contract)을 생성하고, 상기 생성된 스마트 컨트랙트를 브로드캐스팅(broadcasting)하도록 상기 통신 회로를 제어할 수 있다.In an embodiment, the processor is further configured to generate a transaction message for a transaction of the first cryptocurrency when the electronic signature is performed using each of the set number of private keys among the plurality of private keys. The communication circuit may be controlled to generate a smart contract and to broadcast the generated smart contract.
일 실시예에서, 상기 프로세서는, 상기 통신 회로를 통해 상기 복수의 외부 장치 중, 적어도 하나의 외부 전자 장치로부터, 상기 복수의 개인키 중, 상기 설정된 개수의 복수의 제1 개인키를 수신하고, 상기 제1 암호화폐의 트랜잭션을 위해 생성되는 제1 트랜잭션 메시지에 대해 상기 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행하고, 상기 복수의 제1 개인키 각각을 이용하여 전자 서명이 수행된 제1 트랜잭션 메시지를 브로드캐스팅하도록 상기 통신 회로를 제어할 수 있다.In an embodiment, the processor may be configured to receive, from the at least one external electronic device of the plurality of external devices, the set number of the plurality of first private keys of the plurality of private keys through the communication circuit, Digitally signing the first transaction message generated for the transaction of the first cryptocurrency using each of the plurality of first private keys, and performing electronic signature using each of the plurality of first private keys The communication circuit can be controlled to broadcast a first transaction message.
일 실시예에서, 상기 적어도 하나의 외부 전자 장치는 사용자의 입력 또는 설정된 알고리즘에 따라 선택될 수 있다.In at least one example embodiment, the at least one external electronic device may be selected according to a user input or a set algorithm.
일 실시예에서, 상기 프로세서는, 상기 복수의 제1 개인키가 수신되면, 상기 복수의 개인키의 변조 여부를 확인하기 위한 정보에 기초하여, 상기 복수의 제1 개인키의 변조 여부를 확인하고, 상기 복수의 제1 개인키가 변조되지 않은 것으로 확인되면, 상기 제1 트랜잭션 메시지에 대해 상기 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다.In one embodiment, when the plurality of first private keys is received, the processor determines whether the plurality of first private keys are modulated based on information for confirming whether the plurality of private keys have been modulated. If it is confirmed that the plurality of first private keys have not been tampered with, the first transaction message may be digitally signed using each of the plurality of first private keys.
일 실시예에서, 상기 복수의 개인키는 암호화되어 상기 복수의 외부 전자 장치에 저장되고, 상기 프로세서는, 사용자로부터 입력된 인증 정보를 통해 상기 사용자가 인증되면, 상기 복수의 제1 개인키를 복호화하고, 상기 제1 트랜잭션 메시지에 대해 상기 복호화된 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다.In an embodiment, the plurality of private keys are encrypted and stored in the plurality of external electronic devices, and the processor decrypts the plurality of first private keys when the user is authenticated through authentication information input from a user. And digitally sign the first transaction message using each of the plurality of decrypted first private keys.
본 개시의 일 실시예에 따르면, 컴퓨터 상에서 수행하기 위한 프로그램을 기록한 비일시적 컴퓨터 판독 가능한 기록 매체에 있어서, 상기 프로그램은, 프로세서에 의한 실행 시, 상기 프로세서가, 복수의 개인키 및 상기 복수의 개인키에 대응하는 복수의 공개키 각각이 저장된 복수의 외부 전자 장치에 접속하기 위한 접속 정보를 획득하는 단계, 상기 접속 정보를 이용하여, 상기 복수의 외부 전자 장치에 접속하여, 상기 복수의 외부 전자 장치로부터 상기 복수의 공개키를 수신하는 단계, 상기 복수의 공개키를 이용하여, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하는 단계 및 상기 복수의 개인키 중, 상기 주소 정보를 통한 상기 제1 암호화폐의 트랜잭션에서 이용되는 전자 서명을 위해 필요한 개인키의 개수를 설정하는 단계를 수행하도록 하는 실행 가능한 명령을 포함할 수 있다.According to an embodiment of the present disclosure, in a non-transitory computer readable recording medium having recorded thereon a program for performing on a computer, the program may be executed by a processor when the processor executes a plurality of private keys and the plurality of private individuals. Acquiring connection information for accessing a plurality of external electronic devices each of which stores a plurality of public keys corresponding to a key; using the connection information, accessing the plurality of external electronic devices to access the plurality of external electronic devices Receiving the plurality of public keys from the server; generating address information used for a transaction of a first cryptocurrency using the plurality of public keys; and among the plurality of private keys, the first through the address information. 1 Set the number of private keys required for digital signatures used in cryptocurrency transactions. Run may include the possible commands.
일 실시예에서, 상기 실행 가능한 명령은, 상기 복수의 개인키 중, 상기 설정된 개수의 복수의 개인키 각각을 이용하여 상기 전자 서명이 수행되면, 상기 제1 암호화폐의 트랜잭션을 위한 트랜잭션 메시지를 생성하도록 하는 스마트 컨트랙트를 생성하는 단계를 더 수행하도록 할 수 있다.In one embodiment, the executable command may generate a transaction message for a transaction of the first cryptocurrency when the electronic signature is performed using each of the set number of private keys among the plurality of private keys. The smart contract may be further performed.
일 실시예에서, 상기 실행 가능한 명령은, 상기 복수의 외부 장치 중, 적어도 하나의 외부 전자 장치로부터, 상기 복수의 개인키 중, 상기 설정된 개수의 복수의 제1 개인키를 수신하는 단계, 상기 제1 암호화폐의 트랜잭션을 위해 생성되는 제1 트랜잭션 메시지에 대해 상기 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행하는 단계 및 상기 복수의 제1 개인키 각각을 이용하여 전자 서명이 수행된 제1 트랜잭션 메시지를 브로드캐스팅하는 단계를 더 수행하도록 할 수 있다.In an embodiment, the executable command may include receiving, from the at least one external electronic device of the plurality of external devices, the set number of the plurality of first private keys of the plurality of private keys. Performing a digital signature on each of the plurality of first private keys for the first transaction message generated for a transaction of a cryptocurrency, and performing a digital signature on each of the plurality of first private keys One may further perform the step of broadcasting a transaction message.
일 실시예에서, 상기 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하는 단계는, 상기 복수의 공개키가 수신되면, 상기 복수의 공개키의 변조 여부를 확인하기 위한 정보에 기초하여, 상기 복수의 공개키의 변조 여부를 확인하는 단계 및 상기 복수의 공개키가 변조되지 않은 것으로 확인되면, 상기 복수의 공개키를 이용하여 상기 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하는 단계를 포함할 수 있다.In an embodiment, the generating of the address information used for the transaction of the first cryptocurrency may include: when the plurality of public keys are received, based on information for confirming whether the plurality of public keys have been tampered with, Checking whether the plurality of public keys have been tampered with, and if it is determined that the plurality of public keys have not been tampered with, generating address information used for the transaction of the first cryptocurrency using the plurality of public keys; It may include.
본 개시의 일 실시예에 따르면, 블록체인 기반 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하는 방법은, 복수의 개인키 및 상기 복수의 개인키에 대응하는 복수의 공개키 각각이 저장된 복수의 외부 전자 장치에 접속하기 위한 접속 정보를 획득하는 단계, 상기 접속 정보를 이용하여, 상기 복수의 외부 전자 장치에 접속하여, 상기 복수의 외부 전자 장치로부터 상기 복수의 공개키를 수신하는 단계, 상기 복수의 공개키를 이용하여, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하는 단계 및 상기 복수의 개인키 중, 상기 주소 정보를 통한 상기 제1 암호화폐의 트랜잭션에서 이용되는 전자 서명을 위해 필요한 개인키의 개수를 설정하는 단계를 포함할 수 있다.According to an embodiment of the present disclosure, a method of generating address information used for a transaction of a blockchain-based cryptocurrency includes a plurality of external keys in which a plurality of private keys and a plurality of public keys corresponding to the plurality of private keys are stored, respectively. Acquiring connection information for accessing an electronic device, accessing the plurality of external electronic devices using the connection information, and receiving the plurality of public keys from the plurality of external electronic devices, the plurality of Generating address information used in the transaction of the first cryptocurrency, using the public key, and an individual required for the electronic signature used in the transaction of the first cryptocurrency via the address information, among the plurality of private keys The number of keys may be set.
본 개시의 일 실시예에 따르면, 블록체인 기반 암호화폐의 트랜잭션을 수행하는 전자 장치는, 사용자로부터 입력을 수신하는 입력 인터페이스, 네트워크를 통해 연결되는 적어도 하나의 외부 전자 장치와 통신을 수행하는 통신 회로, 상기 입력 인터페이스를 통해 수신되는 입력에 따라 값을 생성하는 제1 알고리즘 및 개인키를 생성하기 위한 제2 알고리즘을 저장하는 메모리 및 상기 입력 인터페이스, 상기 통신 회로 및 상기 메모리와 전기적으로 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 입력 인터페이스를 통해 제1 입력이 수신되면, 상기 제1 알고리즘에 상기 제1 입력을 적용하여 제1 값을 생성하고, 상기 입력 인터페이스를 통해 수신되는 제2 입력에 대응하는 제1 데이터 및 제2 데이터에 대한 전송 요청을 상기 적어도 하나의 외부 장치로 송신하도록 상기 통신 회로를 제어하고, 상기 통신 회로를 통해 상기 적어도 하나의 외부 전자 장치로부터 상기 제1 데이터 및 상기 제2 데이터를 수신하고, 상기 제2 알고리즘에, 상기 제1 데이터 및 상기 제2 데이터 중 적어도 하나와 상기 제1 값을 적용하여, 복수의 제1 개인키를 생성하고, 상기 복수의 제1 개인키에 대응하는 복수의 제1 공개키를 이용하여, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다.According to an embodiment of the present disclosure, an electronic device performing a transaction of a blockchain-based cryptocurrency may include an input interface for receiving an input from a user and a communication circuit for communicating with at least one external electronic device connected through a network. And a memory storing a first algorithm for generating a value according to an input received through the input interface and a second algorithm for generating a private key, and a processor electrically connected to the input interface, the communication circuit and the memory. When the first input is received through the input interface, the processor generates the first value by applying the first input to the first algorithm and corresponds to the second input received through the input interface. The at least one external device requesting transmission of first data and second data Control the communication circuit to transmit, receive the first data and the second data from the at least one external electronic device via the communication circuit, and in the second algorithm, the first data and the second data A plurality of first private keys are generated by applying at least one of the first values and the first value, and used for a transaction of a first cryptocurrency using a plurality of first public keys corresponding to the plurality of first private keys. Can generate address information.
일 실시예에서, 상기 프로세서는, 상기 복수의 제1 개인키 중, 상기 주소 정보를 통한 상기 제1 암호화폐의 트랜잭션에서 이용되는 전자 서명을 위해 필요한 개인키의 개수를 설정하고, 상기 개인키의 개수는 상기 생성된 복수의 제1 공개키의 개수 이하로 설정될 수 있다.In one embodiment, the processor is configured to set the number of private keys required for the electronic signature used in the transaction of the first cryptocurrency through the address information, among the plurality of first private keys, The number may be set to be equal to or less than the number of the generated first public keys.
일 실시예에서, 상기 프로세서는, 상기 주소 정보를 생성한 후, 상기 생성된 복수의 제1 개인키를 폐기할 수 있다.In one embodiment, after generating the address information, the processor may discard the generated plurality of first private keys.
일 실시예에서, 상기 프로세서는, 상기 입력 인터페이스를 통해 상기 제1 입력이 재 수신되면, 상기 제1 알고리즘에 상기 제1 입력을 적용하여 상기 제1 값을 재 생성하고, 상기 입력 인터페이스를 통해 재 수신되는 제2 입력에 대응하는 제1 데이터 및 제2 데이터에 대한 전송 요청을 상기 적어도 하나의 외부 장치로 송신하도록 상기 통신 회로를 제어하고, 상기 통신 회로를 통해 상기 적어도 하나의 외부 전자 장치로부터 상기 제1 데이터 및 상기 제2 데이터를 수신하고, 상기 제2 알고리즘에 상기 제1 데이터 및 상기 제2 데이터 중 적어도 하나와 상기 제1 값을 적용하여, 상기 복수의 제1 개인키를 복원하고, 상기 제1 암호화폐의 트랜잭션을 위해 생성되는 제1 트랜잭션 메시지에 대해 상기 복원된 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행하고, 상기 복원된 복수의 제1 개인키 각각을 이용하여 전자 서명이 수행된 제1 트랜잭션 메시지를 브로드캐스팅하도록 상기 통신 회로를 제어할 수 있다.In one embodiment, when the first input is received again through the input interface, the processor applies the first input to the first algorithm to regenerate the first value and re-creates the input through the input interface. Control the communication circuit to transmit the first data corresponding to the received second input and the transmission request for the second data to the at least one external device, and from the at least one external electronic device through the communication circuit. Receiving first data and the second data, applying at least one of the first data and the second data and the first value to the second algorithm, restoring the plurality of first private keys, and Digitally sign each of the plurality of restored first private keys for a first transaction message generated for a transaction of a first cryptocurrency; It can be restored by using the plurality of first private keys, respectively, to control the communication circuit electronic signature the first to broadcast the message transaction performed.
일 실시예에서, 상기 프로세서는, 상기 제1 트랜잭션 메시지를 브로드캐스팅한 후, 상기 복원된 복수의 제1 개인키를 폐기할 수 있다.In one embodiment, the processor may discard the restored plurality of first private keys after broadcasting the first transaction message.
일 실시예에서, 상기 프로세서는, 해쉬 함수를 이용하여 상기 제1 데이터 및 상기 제2 데이터 각각에 대한 제1 해쉬 값 및 제2 해쉬 값을 획득하고, 상기 제2 알고리즘에 상기 제1 해쉬 값 및 상기 제2 해쉬 값 중 적어도 하나와 상기 제1 값을 적용하여 상기 복수의 제1 개인키를 생성할 수 있다.In one embodiment, the processor obtains a first hash value and a second hash value for each of the first data and the second data by using a hash function, and the first algorithm determines the first hash value and the second hash value. The plurality of first private keys may be generated by applying at least one of the second hash values and the first value.
본 개시의 다양한 실시예에 따르면, 복수의 개인키 및 복수의 개인키에 대응하는 복수의 공개키 각각은 복수의 외부 전자 장치에 저장될 수 있다. 또한, 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하거나 암호화폐에 대한 트랜잭션 데이터의 생성 시, 복수의 외부 전자 장치 중 적어도 하나의 외부 전자 장치로부터 복수의 공개키 또는 복수의 개인키가 수신되어 이용될 수 있다. 이와 같이, 복수의 개인키가 복수의 외부 전자 장치 각각에 저장되고, 암호화폐의 필요 시에만 복수의 외부 전자 장치로부터 수신하여 이용됨으로써, 보다 높은 보안 수준으로 개인키가 관리될 수 있다. 또한, 사용자는 개인키를 모두 기억할 필요가 없으므로, 보다 편리하게 개인키가 관리될 수 있다.According to various embodiments of the present disclosure, each of the plurality of private keys and the plurality of public keys corresponding to the plurality of private keys may be stored in a plurality of external electronic devices. In addition, when generating address information used for a transaction of a cryptocurrency or generating transaction data for a cryptocurrency, a plurality of public keys or a plurality of private keys are received and used from at least one external electronic device among a plurality of external electronic devices. Can be. In this way, a plurality of private keys are stored in each of the plurality of external electronic devices, and received and used from the plurality of external electronic devices only when a cryptocurrency is required, so that the private keys can be managed at a higher security level. In addition, since the user does not need to store all the private keys, the private keys can be more conveniently managed.
도 1은 본 개시의 다양한 실시예에 따른 전자 장치의 블록도 및 외부 전자 장치를 도시한다.1 is a block diagram of an electronic device and an external electronic device according to various embodiments of the present disclosure;
도 2는 본 개시의 다양한 실시예에 따른 전자 장치에 의한 암호화폐 트랜잭션에 이용되는 주소 정보를 생성하는 방법의 흐름도이다.2 is a flowchart illustrating a method of generating address information used in a cryptocurrency transaction by an electronic device according to various embodiments of the present disclosure.
도 3은 본 개시의 다양한 실시예에 따른 공개키의 변조 여부에 따른 전자 장치의 동작 방법의 흐름도이다.3 is a flowchart illustrating a method of operating an electronic device according to whether a public key is modulated according to various embodiments of the present disclosure.
도 4는 본 개시의 다양한 실시예에 따른 전자 장치에 의한 트랜잭션 메시지를 브로드캐스팅하는 방법의 흐름도이다.4 is a flowchart of a method for broadcasting a transaction message by an electronic device according to various embodiments of the present disclosure.
도 5는 본 개시의 다양한 실시예에 따른 전자 장치에 의한 암호화폐 트랜잭션에 이용되는 주소 생성 방법의 흐름도이다.5 is a flowchart illustrating an address generation method used for a cryptocurrency transaction by an electronic device according to various embodiments of the present disclosure.
도 6은 본 개시의 다양한 실시예에 따른 전자 장치에 의한 트랜잭션 메시지를 브로드캐스팅하는 방법의 흐름도이다.6 is a flowchart of a method for broadcasting a transaction message by an electronic device according to various embodiments of the present disclosure.
본 개시의 실시예들은 본 개시의 기술적 사상을 설명하기 위한 목적으로 예시된 것이다. 본 개시에 따른 권리범위가 이하에 제시되는 실시예들이나 이들 실시예들에 대한 구체적 설명으로 한정되는 것은 아니다.Embodiments of the present disclosure are illustrated for the purpose of describing the technical spirit of the present disclosure. The scope of the present disclosure is not limited to the embodiments set forth below or the detailed description of these embodiments.
본 개시에 사용되는 모든 기술적 용어들 및 과학적 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 갖는다. 본 개시에 사용되는 모든 용어들은 본 개시를 더욱 명확히 설명하기 위한 목적으로 선택된 것이며 본 개시에 따른 권리범위를 제한하기 위해 선택된 것이 아니다.All technical and scientific terms used in the present disclosure, unless defined otherwise, have the meanings that are commonly understood by one of ordinary skill in the art to which this disclosure belongs. All terms used in the present disclosure are selected for the purpose of more clearly describing the present disclosure, and are not selected to limit the scope of the rights according to the present disclosure.
본 개시에서 사용되는 "포함하는", "구비하는", "갖는" 등과 같은 표현은, 해당 표현이 포함되는 어구 또는 문장에서 달리 언급되지 않는 한, 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.As used in this disclosure, expressions such as "comprising", "including", "having", and the like, are open terms that imply the possibility of including other embodiments unless otherwise stated in the phrase or sentence in which the expression is included. It should be understood as (open-ended terms).
본 개시에서 기술된 단수형의 표현은 달리 언급하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구범위에 기재된 단수형의 표현에도 마찬가지로 적용된다.As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
본 개시에서 사용되는 "제1", "제2" 등의 표현들은 복수의 구성요소들을 상호 구분하기 위해 사용되며, 해당 구성요소들의 순서 또는 중요도를 한정하는 것은 아니다.Expressions such as “first”, “second”, and the like used in the present disclosure are used to distinguish a plurality of components from each other, and do not limit the order or importance of the components.
본 개시에서 사용되는 "~에 기초하여"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는데 사용되며, 이 표현은 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다.As used in this disclosure, the expression “based on” is used to describe one or more factors that affect the behavior or behavior of a decision, judgment, described in a phrase or sentence that includes the expression, which expression Does not exclude additional factors that affect decisions, actions of behaviour, or actions.
본 개시에서, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 경우, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결될 수 있거나 접속될 수 있는 것으로, 또는 새로운 다른 구성요소를 매개로 하여 연결될 수 있거나 접속될 수 있는 것으로 이해되어야 한다.In the present disclosure, when a component is referred to as being "connected" or "connected" to another component, the component may be directly connected to or connected to the other component, or new It is to be understood that the connection may be made or may be connected via other components.
이하, 첨부한 도면들을 참조하여, 본 개시의 실시예들을 설명한다. 첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. In the accompanying drawings, the same or corresponding components are given the same reference numerals. In addition, in the following description of the embodiments, it may be omitted to duplicate the same or corresponding components. However, even if the description of the component is omitted, it is not intended that such component is not included in any embodiment.
도 1은 본 개시의 다양한 실시예에 따른 전자 장치의 블록도 및 외부 전자 장치를 도시한다.1 is a block diagram of an electronic device and an external electronic device according to various embodiments of the present disclosure;
본 개시의 다양한 실시예에 따르면, 전자 장치(100)는 통신 회로(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다. 또한, 전자 장치(100)는 입력 인터페이스(140)를 더 포함할 수 있다. 전자 장치(100)에 포함되는 복수의 구성 요소들은 버스(미도시)를 통해 전기적으로 연결되어, 정보, 제어 명령, 데이터 등을 송수신 할 수 있다. 예를 들어, 전자 장치(100)는 스마트 폰, 태블릿 PC, 데스크탑 PC, 웨어러블 장치 등과 같이 블록체인 기반 암호화폐의 트랜잭션을 수행하기 위해 이용 가능한 다양한 전자 장치를 포함할 수 있다. 예를 들어, 암호 화폐의 트랜잭션은 암호화폐의 소유권을 타인에게 이전하기 위한 동작 및 데이터를 블록체인에 업로드 하는 동작(예: 스마트 컨트랙트(smart contract)의 함수 호출 동작 등) 중 적어도 하나를 포함할 수 있다.According to various embodiments of the present disclosure, the
일 실시예에서, 블록체인 기술을 이용하는 암호화폐는 암호를 사용하여 새로운 코인을 생성하거나 트랜잭션을 안전하게 진행할 수 있도록 매개하는 화폐로서, 디지털 화폐의 일종일 수 있다. 암호화폐는 실물 화폐와 달리 화폐를 발행하는 중앙 은행 없이 전 세계 인터넷 네트워크에 P2P(peer-to-peer) 방식으로 분산 저장되어 운영되며, 블록체인 기술을 통해 암호화폐가 발행되고 관리될 수 있다. 예를 들어, 암호화폐는 비트 코인, 이더리움, 스텔라 루멘, 라이트 코인 등을 포함할 수 있다. 다만, 이는 설명의 목적일 뿐, 이에 제한되는 것은 아니며, 이하에서의 암호화폐는 블록체인 기술에 기반한 다양한 종류의 암호화폐를 포함할 수 있다.In one embodiment, the cryptocurrency using blockchain technology is a currency that can be used to create new coins or securely proceed transactions using cryptography, which may be a kind of digital currency. Cryptocurrency, unlike real money, is distributed and operated in a peer-to-peer manner on the Internet network without a central bank issuing money, and cryptocurrency can be issued and managed through blockchain technology. For example, cryptocurrencies may include Bitcoin, Ethereum, Stellar Lumen, Litecoin, and the like. However, this is only for the purpose of description and the present invention is not limited thereto. The cryptocurrency below may include various types of cryptocurrencies based on blockchain technology.
일 실시예에서, 통신 회로(110)는 복수의 외부 전자 장치(150, 151)와 통신을 수행할 수 있다. 예를 들어, 통신 회로(110)는 전자 장치(110)와 복수의 외부 전자 장치(150, 151) 사이의 통신을 설정할 수 있다. 통신 회로(110)는 무선 통신 또는 유선 통신을 통해서 네트워크와 연결되어, 복수의 외부 전자 장치(150, 151)와 통신할 수 있다. 또 다른 예로, 통신 회로(110)는 복수의 외부 전자 장치(150, 151)와 유선으로 연결되어 통신을 수행할 수 있다.In an embodiment, the
무선 통신은, 예를 들면, 셀룰러 통신(예: LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband) 등)을 포함할 수 있다. 또한, 무선 통신은, 근거리 무선 통신(예: WiFi(wireless fidelity), LiFi(light fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication) 등)을 포함할 수 있다.Wireless communication may include, for example, cellular communication (eg, LTE, LTE Advance (LTE-A), code division multiple access (CDMA), wideband CDMA (WCDMA), universal mobile telecommunications system (UMTS), and wireless broadband (WiBro). And the like). In addition, the wireless communication may include short-range wireless communication (eg, wireless fidelity (WiFi), light fidelity (LiFi), Bluetooth, Bluetooth low power (BLE), Zigbee, near field communication (NFC), etc.). .
일 실시예에서, 복수의 외부 전자 장치(150, 151)는 데이터를 저장 및 관리하는 외부 서버들을 포함할 수 있다. 예를 들어, 복수의 외부 전자 장치(150, 151) 각각을 관리하는 주체는 상이할 수 있다.In an embodiment, the plurality of external
일 실시예에서, 개인키(private key) 및 공개키(public key)는, 암호화하는 키와 복호화하는 키가 동일하지 않도록(또는 하나의 키로 다른 키를 쉽게 유추할 수 없도록)하는 공개키 암호 알고리즘(예: RSA 알고리즘 등)에서 사용되는 키로서, 공개키는 모든 사람에게 공개되는 키이고, 개인키는 사용자만이 알고, 다른 사람에게는 공개되지 않는 키일 수 있다. 예를 들어, 공개키로 암호화한 메시지는 개인키를 통해 복호화되고, 개인키를 통해 암호화한 메시지는 공개키를 통해 복호화될 수 있다.In one embodiment, the private and public keys are public key cryptographic algorithms that ensure that the encryption key and the decryption key are not the same (or that one key cannot easily infer another key). As a key used in (eg, an RSA algorithm), a public key may be a key that is disclosed to everyone, and a private key may be a key that only the user knows and is not disclosed to others. For example, a message encrypted with a public key may be decrypted through a private key, and a message encrypted with a private key may be decrypted through a public key.
일 실시예에서, 복수의 외부 전자 장치(150, 151)는 복수의 개인키 및 복수의 개인키에 대응하는 복수의 공개키 각각을 저장할 수 있다. 예를 들어, 제1 외부 전자 장치(151)는 제1 개인키 및 제1 개인키에 대응하는 제1 공개키를 저장하고, 제2 외부 전자 장치(152)는 제2 개인키 및 제2 개인키에 대응하는 제2 공개키를 저장할 수 있다. 복수의 외부 전자 장치(150, 151)에 저장되는 개인키 및 공개키는 서로 상이할 수 있다. 이하에서는, 복수의 외부 전자 장치(150, 151) 각각이 하나의 개인키 및 하나의 공개키를 저장하는 것을 중심으로 설명하나, 이에 제한되는 것은 아니며, 복수의 외부 전자 장치(150, 151) 각각은 복수의 개인키 및 복수의 공개키를 저장할 수도 있다.According to an embodiment, the plurality of external
일 실시예에서, 프로세서(130)는 복수의 개인키 및 복수의 개인키에 대응하는 복수의 공개키 각각을 복수의 외부 전자 장치(150, 151)로 송신할 수 있다. 예를 들어, 프로세서(130)는 개인키를 공개키로 변환하도록 설정된 알고리즘을 이용하여, 복수의 개인키에 대응하는 복수의 공개키를 생성할 수 있다.In an embodiment, the
예를 들어, 프로세서(130)는 가상 화폐의 트랜잭션에 이용되는 주소 정보를 생성하는 과정을 수행하기에 앞서, 미리 복수의 개인키 및 복수의 공개키를 복수의 외부 전자 장치(150, 151)로 송신할 수 있다. 또 다른 예로, 프로세서(130)는 가상 화폐의 트랜잭션에 이용되는 주소 정보 생성을 지시하는 입력이 수신되면, 복수의 개인키 및 복수의 공개키를 복수의 외부 전자 장치(150, 151)로 송신할 수도 있다.For example, the
또 다른 예로, 프로세서(130)는 복수의 개인키만을 복수의 외부 전자 장치(150, 151)로 송신할 수도 있다. 복수의 외부 전자 장치(150, 151)는 복수의 개인키만을 수신하는 경우, 개인키를 공개키로 변환하도록 설정된 알고리즘을 이용하여, 복수의 개인키에 대응하는 복수의 공개키를 생성하여 저장할 수 있다.As another example, the
일 실시예에서, 메모리(120)는 전자 장치(100)의 적어도 하나의 다른 구성 요소에 관계된 명령 또는 데이터를 저장할 수 있다. 또한, 메모리(120)는 소프트웨어 및/또는 프로그램을 저장할 수 있다.In an embodiment, the
예를 들어, 메모리(120)는 내장 메모리 또는 외장 메모리를 포함할 수 있다. 내장 메모리는, 예를 들면, 휘발성 메모리(예: DRAM, SRAM 또는 SDRAM 등), 비휘발성 메모리(예: 플래시 메모리, 하드 드라이브, 또는 솔리드 스테이트 드라이브 (SSD)) 중 적어도 하나를 포함할 수 있다. 외장 메모리는 다양한 인터페이스를 통하여 전자 장치(201)와 기능적으로 또는 물리적으로 연결될 수 있다.For example, the
일 실시예에서, 메모리(120)는 복수의 외부 전자 장치(150, 151)에 접속하기 위한 접속 정보를 저장할 수 있다. 예를 들어, 접속 정보는, 개인키 및 공개키를 저장하고 있는 복수의 외부 전자 장치(150, 151)에 대한 정보 및 복수의 외부 전자 장치(150, 151)의 주소 정보(IP 주소 등) 등과 같이 복수의 외부 전자 장치(150, 151)에 접속하기 위해 이용되는 정보를 포함할 수 있다.In an embodiment, the
일 실시예에서, 프로세서(130)는 운영 체제 또는 응용 프로그램을 구동하여 전자 장치(100)의 적어도 하나의 다른 구성 요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다. 예를 들어, 프로세서(130)는 중앙처리장치 등을 포함할 수 있고, SoC(system on chip)로 구현될 수 있다.In an embodiment, the
일 실시예에서, 입력 인터페이스(140)는 사용자로부터 수신되는 입력을 전자 장치(100)의 적어도 하나의 다른 구성 요소에 전달할 수 있다. 예를 들어, 입력 인터페이스(140)는 터치 스크린, 키패드, 마우스, 키보드 등을 포함할 수 있다.In an embodiment, the
일 실시예에서, 프로세서(130)는 메모리(120)에 저장된 접속 정보를 이용하여, 복수의 외부 전자 장치(150, 151)에 접속하도록 통신 회로(110)를 제어할 수 있다. 예를 들어, 프로세서(130)는 사용자로부터 암호화폐의 트랜잭션에 이용되는 주소 정보 생성을 지시하는 입력이 입력 인터페이스(140)를 통해 수신되면, 접속 정보를 이용하여 복수의 외부 전자 장치(150, 151)에 접속하도록 통신 회로(110)를 제어할 수 있다.In an embodiment, the
이하에서는, 설명의 편의를 위해 프로세서(130)는 접속 정보에 기초하여, 복수의 외부 전자 장치(150, 151)에 접속하도록 통신 회로(110)를 제어하는 것을 중심으로 설명하나, 이에 제한되는 것은 아니며, 복수의 외부 전자 장치(150, 151) 중 적어도 하나의 외부 전자 장치에 접속하도록 통신 회로(110)를 제어할 수도 있다.Hereinafter, for convenience of description, the
일 실시예에서, 입력 인터페이스(140)는 사용자로부터 복수의 외부 전자 장치(150, 151)로 접속하기 위해 이용되는 인증 정보를 수신할 수 있다. 프로세서(130)는 복수의 외부 전자 장치(150, 151)에 접속하기 위하여, 전자 장치(100)의 사용자에 대한 인증 정보가 필요한 경우, 사용자에 대한 인증 정보의 입력을 요청하는 화면을 디스플레이(미도시)를 통해 표시할 수 있다.In an embodiment, the
또한, 프로세서(130)는 입력 인터페이스(140)를 통해 수신되는 인증 정보 및 메모리(120)에 저장된 접속 정보를 이용하여 복수의 외부 전자 장치(150, 151)에 접속하도록 통신 회로(110)를 제어할 수 있다. 예를 들어, 프로세서(130)는 접속 정보를 이용하여, 복수의 외부 전자 장치(150, 151)로 인증 정보를 송신하고, 복수의 외부 전자 장치(150, 151)로부터 인증 성공을 나타내는 메시지를 수신한 후, 통신 회로(110)를 통해 복수의 외부 전자 장치(150, 151)에 접속할 수 있다.In addition, the
일 실시예에서, 프로세서(130)는 통신 회로(110)를 통해 접속된 복수의 외부 전자 장치(150, 151)로부터 복수의 공개키를 수신할 수 있다. 예를 들어, 프로세서(130)는 제1 외부 전자 장치(150)로부터 제1 공개키를 수신하고, 제2 외부 전자 장치(151)로부터 제2 공개키를 수신할 수 있다.In an embodiment, the
또 다른 예로, 프로세서(130)는 통신 회로(110)를 통해 복수의 외부 전자 장치(150, 151)로부터 복수의 개인키를 수신할 수도 있다. 이 경우, 프로세서(130)는 수신된 복수의 개인키를 이용하여 복수의 공개키를 생성할 수 있다. 예를 들어, 프로세서(130)는 제1 외부 전자 장치(150)로부터 제1 개인키를 수신하고, 제2 외부 전자 장치(151)로부터 제2 개인키를 수신하는 경우, 개인키를 이용하여 공개키를 생성하기 위한 알고리즘에 따라, 제1 개인키를 이용하여 제1 공개키를 생성하고, 제2 개인키를 이용하여 제2 공개키를 생성할 수 있다.As another example, the
일 실시예에서, 프로세서(130)는 수신된 복수의 공개키를 이용하여, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다. 예를 들어, 프로세서(130)는 공개키를 이용하여 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하는 알고리즘에 따라, 수신된 복수의 공개키를 이용하여 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다. 제1 암호화폐는 전자 장치(100)의 사용자가 보유하고 있는 암호화폐 중 적어도 일부일 수 있다.In one embodiment, the
일 실시예에서, 프로세서(130)는 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하기 위하여, 복수의 외부 전자 장치(150, 151)로부터 수신되는 공개키 외에 적어도 하나의 제1 외부 전자 장치로부터 수신되는 공개키를 더 이용할 수 있다. 이 경우, 프로세서(130)는 생성된 주소 정보를 이용하여 트랜잭션 메시지를 생성하는 경우, 트랜잭션 메시지 및 트랜잭션 메시지에 대해 전자 서명 수행을 요청할 수 있다. 프로세서(130)가 적어도 하나의 제1 외부 전자 장치에 트랜잭션 메시지 및 트랜잭션 메시지에 대한 전자 서명을 요청하는 구체적인 방법에 대해서는 후술하도록 한다.In an embodiment, the
일 실시예에서, 메모리(120)는 복수의 외부 전자 장치(150, 151)에 저장된 복수의 개인키의 변조 여부를 확인하기 위한 정보 및 복수의 공개키의 변조 여부를 확인하기 위한 정보 중 적어도 하나를 더 저장할 수 있다. 예를 들어, 복수의 개인키의 변조 여부를 확인하기 위한 정보는 복수의 개인키의 변조 여부를 확인하기 위한 값을 포함할 수 있고, 복수의 공개키의 변조 여부를 확인하기 위한 정보는 복수의 공개키의 변조 여부를 확인하기 위한 값을 포함할 수 있다. 예를 들어, 복수의 개인키 또는 복수의 공개키의 변조 여부를 확인하기 위한 값은 전자 서명 값(예를 들어, SHA256, MD5 등)을 포함할 수 있다.According to an embodiment, the
예를 들어, 프로세서(130)는 복수의 개인키 및 복수의 공개키를 복수의 외부 전자 장치(150, 151)로 송신하는 시점에서, 복수의 개인키의 변조 여부를 확인하기 위한 정보 및 복수의 공개키의 변조 여부를 확인하기 위한 정보 중 적어도 하나를 생성하여 메모리(120)에 저장할 수 있다. 또한, 복수의 외부 전자 장치(150, 151)에 의해 생성된 복수의 공개키의 변조 여부를 확인하기 위한 정보가 수신되어 메모리(120)에 저장될 수도 있다. 또한, 복수의 개인키의 변조 여부를 확인하기 위한 정보 및 복수의 공개키의 변조 여부를 확인하기 위한 정보는 전자 장치(100)와 유선 또는 무선으로 연동된 다른 전자 장치의 메모리에 저장되고, 복수의 개인키 및 복수의 공개키의 변조 여부를 확인하는 과정에서 프로세서(130)가 통신 회로(110)를 통해 수신하여 이용할 수 있다. 이 경우, 프로세서(130)는 복수의 개인키 및 복수의 공개키의 변조 여부를 확인한 후, 수신된 복수의 개인키의 변조 여부를 확인하기 위한 정보 및 복수의 공개키의 변조 여부를 확인하기 위한 정보를 폐기할 수 있다.For example, when the
일 실시예에서, 프로세서(130)는 복수의 공개키가 복수의 외부 전자 장치(150, 151)로부터 수신되면, 복수의 공개키의 변조 여부를 확인하기 위한 정보에 기초하여, 수신된 복수의 공개키의 변조 여부를 확인할 수 있다. 예를 들어, 프로세서(130)는 복수의 공개키가 변조되지 않은 것으로 확인되면, 수신된 복수의 공개키를 이용하여 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다. 또 다른 예로, 프로세서(130)는 복수의 공개키 중 적어도 하나가 변조된 것으로 확인되면, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 없음을 나타내는 메시지를 디스플레이를 통해 표시할 수 있다.According to an embodiment, when a plurality of public keys are received from the plurality of external
일 실시예에서, 프로세서(130)는 복수의 외부 전자 장치(150, 151)에 저장된 복수의 개인키 중, 주소 정보를 통한 제1 암호화폐의 트랜잭션에서 이용되는 전자 서명을 위해 필요한 개인키의 개수를 설정할 수 있다. 프로세서(150)는 생성된 주소 정보를 통하여 제1 암호화폐의 적어도 일부분을 트랜잭션 시 수행되는 전자 서명을 위해 필요한 개인키의 개수를 설정할 수 있다. 예를 들어, 프로세서(130)는 개인키의 개수를 수신된 복수의 공개키의 개수 이하로 설정할 수 있다.In one embodiment, the
일 실시예에서, 프로세서(130)는 특정 조건이 만족되면 설정된 동작을 수행하도록 하는 스마트 컨트랙트(smart contract)를 생성할 수 있다. 예를 들어, 프로세서(130)는 특정 조건, 예를 들어 설정된 개수의 복수의 개인키 각각을 이용하여 전자 서명이 수행되면, 설정된 동작, 예를 들어 제1 암호화폐의 트랜잭션을 위한 트랜잭션 메시지의 생성을 수행하도록 하는 스마트 컨트랙트를 생성할 수 있다. 프로세서(130)는 복수의 외부 전자 장치(150, 151)로부터 수신하는 하나의 개인키와 복수의 공개키를 이용하여 스마트 컨트랙트를 생성할 수 있다.In one embodiment, the
예를 들어, 프로세서(130)는 전자 서명의 수행을 위해 요구되는 설정된 개수의 복수의 개인키 모두를 복수의 외부 전자 장치(150, 151)로부터 수신하는 것으로 스마트 컨트랙트를 생성할 수 있다.For example, the
또 다른 예로, 프로세서(130)는 전자 서명의 수행을 위해 요구되는 설정된 개수의 복수의 개인키 중 적어도 하나의 개인키를 통해 전자 서명이 수행되면, 적어도 하나의 제1 외부 전자 장치로 제1 암호화폐의 트랜잭션을 위한 트랜잭션 메시지에 대한 전자 서명을 요청하도록 스마트 컨트랙트를 생성할 수 있다. 적어도 하나의 제1 외부 전자 장치는 트랜잭션 메시지의 생성을 위한 전자 서명을 요청 받으면, 복수의 외부 전자 장치(150, 151)로부터 수신한 적어도 하나의 개인키를 이용하여 전자 서명을 수행함으로써, 트랜잭션 메시지를 생성할 수 있다.As another example, when the electronic signature is performed through at least one private key among a set number of private keys required for performing the electronic signature, the
일 실시예에서, 프로세서(130)는 생성된 스마트 컨트랙트를 브로드캐스팅(broadcasting)하도록 통신 회로(110)를 제어할 수 있다. 블록체인과 관련된 노드로서 동작하는 적어도 하나의 제2 외부 전자 장치는 스마트 컨트랙트를 수신하여 스마트 컨트랙트의 유효성을 검증할 수 있다. 적어도 하나의 제2 외부 전자 장치에 의해 스마트 컨트랙트의 유효성이 검증되면, 스마트 컨트랙트는 블록체인에 등록될 수 있다. 예를 들어, 적어도 하나의 제2 외부 전자 장치는 블록체인의 블록들에 대한 블록정보 또는 블록정보의 헤더정보를 저장할 수 있다. 예를 들어, 적어도 하나의 제2 외부 전자 장치는 블록체인의 모든 블록들에 대한 블록정보를 저장할 수도 있고, 모든 블록들에 대한 블록정보를 저장하지 않고, 블록정보의 헤더정보만을 저장할 수도 있다.In one embodiment, the
일 실시예에서, 프로세서(130)는 통신 회로(110)를 통해 복수의 외부 전자 장치(150, 151) 중, 적어도 하나의 제3 외부 전자 장치로부터 복수의 개인키 중, 설정된 개수의 복수의 제1 개인키를 수신할 수 있다. 예를 들어, 프로세서(130)는 복수의 외부 전자 장치(150, 151) 중 적어도 하나의 제3 외부 전자 장치로부터 설정된 개수의 복수의 제1 개인키를 수신하기 위하여, 적어도 하나의 제3 외부 전자 장치로 개인키에 대한 전송 요청을 송신할 수 있다.In an embodiment, the
예를 들어, 프로세서(130)는 입력 인터페이스(140)를 통해 수신되는 트랜잭션 메시지 생성을 지시하는 입력에 따라 개인키에 대한 전송 요청을 적어도 하나의 제3 외부 전자 장치로 송신할 수 있다. 적어도 하나의 제3 외부 전자 장치는 개인키에 대한 전송 요청에 응답하여, 저장된 개인키를 전자 장치(100)로 송신할 수 있다. 예를 들어, 적어도 하나의 제3 외부 전자 장치는 사용자의 입력에 따라 선택될 수도 있고, 설정된 알고리즘에 따라 선택될 수도 있다.For example, the
일 실시예에서, 프로세서(130)는 제1 암호화폐의 트랜잭션을 위해 생성되는 제1 트랜잭션 메시지에 대해 수신된 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다. 프로세서(130)는 제1 트랜잭션 메시지를 생성한 사용자가 전자 장치(100)의 사용자임을 증명하기 위하여, 복수의 제1 개인키를 이용하여 제1 트랜잭션 메시지에 대해 전자 서명을 수행할 수 있다.In one embodiment, the
일 실시예에서, 프로세서(130)는 적어도 하나의 제3 외부 전자 장치로 제1 트랜잭션 메시지를 전송하며, 제3 외부 전자 장치에 저장된 개인키로 전자 서명을 수행해 줄 것을 요청할 수 있다. 제3 외부 전자 장치는 수신한 트랜잭션 메시지에 저장된 개인키로 전자 서명을 수행할 수 있다. 적어도 하나의 제3 외부 전자 장치는 전자 서명이 수행된 트랜잭션 메시지를 전자 장치(100)로 송신할 수도 있고, 브로드캐스팅할 수도 있다.In an embodiment, the
예를 들어, 트랜잭션 메시지에 전자 서명의 수행이 요구되는 제3 외부 전자 장치가 복수인 경우, 전자 장치(100)로부터 트랜잭션 메시지 및 트랜잭션 메시지에 대한 전자 서명을 요청 받은 복수의 제3 외부 전자 장치 중 하나의 전자 장치는 전자 서명을 수행 한 후, 다른 외부 전자 장치의 전자 서명이 추가적으로 필요한지 여부를 판단할 수 있다. 다른 외부 전자 장치의 전자 서명이 추가적으로 필요하다고 판단되면, 상기 하나의 전자 장치는 전자 서명을 수행 한 후, 전자 서명이 수행된 트랜잭션 메시지를 복수의 제1 외부 전자 장치 중 다른 외부 전자 장치로 전달할 수 있다. 상기 다른 외부 전자 장치는 복수의 외부 전자 장치(150, 151)로부터 수신한 적어도 하나의 개인키를 이용하여 전자 서명을 수행하고, 전자 서명이 추가적으로 필요하지 않다고 판단되면, 전자 서명이 수행된 트랜잭션 메시지를 전자 장치(100)로 송신하거나 브로드캐스팅할 수 있다.For example, when a plurality of third external electronic devices are required to perform an electronic signature on a transaction message, among the plurality of third external electronic devices that have been requested to electronically sign a transaction message and a transaction message from the
일 실시예에서, 프로세서(130)는 제1 암호화폐의 트랜잭션을 위하여, 수신된 복수의 제1 개인키 각각을 이용하여, 생성된 스마트 컨트랙트를 호출하기 위한 적어도 하나의 메시지를 생성할 수 있다. 또한, 스마트 컨트랙트가 트랜잭션 메시지를 생성하기 위한 전자 서명의 수행에 요구되는 설정된 개수의 복수의 개인키 중 적어도 하나의 개인키를 통해 전자 서명이 수행되면, 적어도 하나의 제1 외부 전자 장치로 트랜잭션 메시지에 대한 전자 서명을 요청하도록 생성된 경우, 프로세서(130)는 전자 서명이 수행된 트랜잭션 메시지를 적어도 하나의 제1 외부 전자 장치로 송신하며, 트랜잭션 메시지에 대한 전자 서명을 요청할 수 있다. 적어도 하나의 제1 외부 전자 장치는, 수신된 트랜잭션 메시지에 대해 복수의 외부 전자 장치(150, 151)로부터 수신한 적어도 하나의 개인키를 이용하여 전자 서명을 수행함으로써, 전자 서명을 생성하거나 전자 서명이 수행된 트랜잭션 메시지를 생성할 수 있다. 적어도 하나의 제1 외부 전자 장치는 생성된 전자 서명 또는 전자 서명이 수행된 트랜잭션 메시지를 적어도 하나의 다른 외부 전자 장치가 수신할 수 있도록 브로드캐스팅하거나, 전자 서명을 요청한 전자 장치(100)로 송신할 수 있다.In one embodiment, the
일 실시예에서, 프로세서(130)는 적어도 하나의 제3 외부 전자 장치로부터 복수의 제1 개인키가 수신되면, 메모리(120)에 저장된 복수의 개인키의 변조 여부를 확인하기 위한 정보에 기초하여, 복수의 제1 개인키 중 적어도 하나의 제1 개인키의 변조여부를 확인할 수 있다. 예를 들어, 프로세서(130)는 복수의 제1 개인키가 변조되지 않은 것으로 확인되면, 제1 트랜잭션 메시지에 대해 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다. 또 다른 예로, 프로세서(130)는 복수의 제1 개인키 중 적어도 하나의 제1 개인키가 변조된 것으로 확인되면, 제1 트랜잭션 메시지에 대해 복수의 제1 개인키를 이용하여 전자 서명을 수행할 수 없음을 나타내는 메시지를 디스플레이를 통해 출력할 수 있다.In one embodiment, when a plurality of first private keys are received from the at least one third external electronic device, the
일 실시예에서, 복수의 개인키는 암호화되어 복수의 외부 전자 장치(150, 151)에 저장될 수 있다. 프로세서(130)는 복수의 개인키를 복수의 외부 전자 장치(150, 151)로 송신하기에 앞서, 복수의 개인키를 암호화하고, 암호화된 복수의 개인키를 복수의 외부 전자 장치(150, 151)로 송신할 수 있다. 또한, 프로세서(130)는 암호화된 복수의 개인키를 복호화하기 위한 알고리즘을 메모리(120)에 저장할 수 있다. 또한, 프로세서(130)는 암호화된 복수의 개인키를 복호화하기 위한 인증 정보를 설정하고, 설정된 인증 정보가 수신되는 경우, 암호화된 복수의 개인키를 복호화하도록 암호화된 복수의 개인키를 복호화하기 위한 알고리즘을 구성할 수 있다.In an embodiment, the plurality of private keys may be encrypted and stored in the plurality of external
예를 들어, 프로세서(130)는 암호화된 복수의 제1 개인키가 수신되는 경우, 암호화된 복수의 제1 개인키를 복호화하기 위한 인증 정보를 요청하는 화면을 디스플레이를 통해 표시할 수 있다. 프로세서(130)는 입력 인터페이스(140)를 통해 사용자로부터 제1 인증 정보를 입력 받고, 제1 인증 정보가 설정된 인증 정보에 대응되어 사용자가 인증되면, 암호화된 복수의 제1 개인키를 복호화할 수 있다. 프로세서(130)는 제1 트랜잭션 메시지에 대해 복호화된 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다.For example, when a plurality of encrypted first private keys are received, the
또 다른 예로, 프로세서(130)는 제1 인증 정보가 설정된 인증 정보에 대응되지 않으면, 암호화된 복수의 제1 개인키를 복호화할 수 없음을 나타내는 메시지를 디스플레이를 통해 출력할 수 있다.As another example, if the first authentication information does not correspond to the set authentication information, the
일 실시예에서, 프로세서(130)는 복수의 제1 개인키 각각을 이용하여 전자 서명이 수행된 제1 트랜잭션 메시지를 브로드캐스팅하도록 통신 회로(110)를 제어할 수 있다. 블록체인과 관련된 노드로서 동작하는 하나의 적어도 하나의 제2 외부 전자 장치는 제1 트랜잭션 메시지를 수신하고, 제1 트랜잭션 메시지는 복수의 제1 개인키에 대응하는 복수의 제1 공개키로 복호화하여 제1 트랜잭션 메시지의 유효성을 검증할 수 있다. 제1 트랜잭션 메시지의 유효성이 검증되면, 적어도 하나의 제2 외부 전자 장치는 제1 트랜잭션 메시지를 통해 확인되는 제1 암호화폐의 트랜잭션을 유효한 트랜잭션으로 판단할 수 있다. 예를 들어, 적어도 하나의 제2 외부 전자 장치는 블록체인의 블록들에 대한 블록정보 또는 블록정보의 헤더정보를 저장할 수 있다. 예를 들어, 적어도 하나의 제2 외부 전자 장치는 블록체인의 모든 블록들에 대한 블록정보를 저장할 수도 있고, 모든 블록들에 대한 블록정보를 저장하지 않고, 블록정보의 헤더정보만을 저장할 수도 있다.In one embodiment, the
일 실시예에서, 메모리(120)는 입력 인터페이스(140)를 통해 사용자로부터 수신되는 제1 입력에 따라 값을 생성하는 제1 알고리즘 및 개인키를 생성하기 위한 제2 알고리즘을 저장할 수 있다.In one embodiment, the
예를 들어, 제1 알고리즘은 사용자로부터 설정된 입력이 수신되면, 수신된 입력을 변환하여 임의의 값을 생성하도록 구성될 수 있다. 예를 들어, 제1 알고리즘은 제1 입력이 수신되면, 제1 입력을 변환하여 임의의 제1 값을 생성할 수 있다. 또한, 제1 알고리즘은, 제1 입력을 변환하여 임의의 제1 값을 생성한 후, 제1 입력이 재 수신되면, 제1 입력을 변환하여 제1 값을 재생성하도록 구성될 수 있다. 이와 같이, 제1 알고리즘은 특정 개인키를 생성하기 위해 최초로 수신되는 입력에 따라 임의의 값을 생성한 후, 동일한 입력이 재 수신되면, 최초로 수신되는 입력에 따라 생성된 값이 동일하게 재생성되도록 구성될 수 있다.For example, the first algorithm may be configured to convert the received input to generate a random value when an input set by the user is received. For example, the first algorithm may generate an arbitrary first value by converting the first input when the first input is received. Further, the first algorithm may be configured to transform the first input to generate an arbitrary first value, and then convert the first input to regenerate the first value if the first input is received again. As such, the first algorithm generates a random value according to an input received first to generate a specific private key, and when the same input is received again, the value generated according to the first received input is equally regenerated. Can be.
예를 들어, 제2 알고리즘은, 복수의 외부 전자 장치(160, 161)로부터 수신되는 복수의 데이터 및 제1 알고리즘을 통해 생성된 값을 이용하여 개인키를 생성하도록 구성될 수 있다. 예를 들어, 제2 알고리즘은 유니온 함수(union function), 해쉬 함수(hash function), 쉬프팅 함수(shifting function)등과 같이 미리 설정된 함수들이 임의로 조합되어 구성될 수 있다. 제2 알고리즘은 미리 구성될 수도 있고, 개인키 생성 시마다 구성될 수도 있다. 또한, 제2 알고리즘은 해쉬 함수를 통해 획득되는 복수의 데이터에 대한 해쉬 값과 제1 알고리즘을 통해 생성된 값을 이용하여 개인키를 생성하도록 구성될 수도 있다. 예를 들어, 복수의 외부 전자 장치(160, 161)는 블록체인과 관련된 노드로서 동작하는 외부 전자 장치를 포함할 수 있다. 복수의 외부 전자 장치(160, 161)는 스마트 폰, 태블릿 PC, 데스크탑 PC, 서버, 웨어러블 장치 등 다양한 전자 장치를 포함할 수 있다.For example, the second algorithm may be configured to generate a private key using a plurality of data received from the plurality of external
일 실시예에서, 프로세서(130)는 입력 인터페이스(140)를 통해 제1 입력이 수신되면, 제1 알고리즘에 제1 입력을 적용하여 임의의 제1 값을 생성할 수 있다. 제1 알고리즘은 제1 입력을 변환하여 임의의 제1 값을 생성할 수 있다. 예를 들어, 제1 입력은 제1 알고리즘에 최초로 입력된 입력일 수 있다.In one embodiment, when the first input is received through the
일 실시예에서, 프로세서(130)는 입력 인터페이스(140)를 통해 수신되는 제2 입력에 대응하는 제1 데이터 및 제2 데이터에 대한 전송 요청을 복수의 외부 전자 장치(160, 161)로 송신하도록 통신 회로(110)를 제어할 수 있다. 예를 들어, 제2 입력은 전송 요청 대상이 되는 제1 데이터 및 제2 데이터를 지칭하기 위한 입력일 수 있다. 예를 들어, 제1 데이터 및 제2 데이터는 모든 사용자에게 공개된 데이터로서, 제1 데이터 및 제2 데이터를 수신하기 위한 별도의 절차가 요구되지 않을 수 있다. 예를 들어, 제1 데이터 및 제2 데이터는 블록체인 기술을 기반으로 복수의 외부 전자 장치(160, 161)에 저장된 데이터 중 일부 일 수 있다.In an embodiment, the
이하에서는, 설명의 편의를 위해 제2 입력에 따라 제1 데이터 및 제2 데이터에 대한 전송 요청을 복수의 외부 전자 장치(160, 161)로 송신하는 것을 중심으로 설명하나, 이에 제한되는 것은 아니며, 제1 데이터 및 제2 데이터에 대한 전송 요청을 복수의 외부 전자 장치(160, 161) 중 적어도 하나의 외부 전자 장치로 송신할 수도 있고, 하나의 데이터에 대한 전송 요청 또는 3 개 이상의 데이터에 대한 전송 요청을 복수의 외부 전자 장치(160, 161) 또는 복수의 외부 전자 장치(160, 161) 중 적어도 하나의 외부 전자 장치로 송신할 수도 있다.Hereinafter, for convenience of description, a description will be given of transmitting the transmission request for the first data and the second data to the plurality of external
일 실시예에서, 프로세서(130)는 통신 회로(110)를 통해 복수의 외부 전자 장치(160, 161)로부터 제1 데이터 및 제2 데이터를 수신할 수 있다. 프로세서(130)는 메모리(120)에 저장된 제2 알고리즘에 제1 데이터 및 제2 데이터 중 적어도 하나와 생성된 제1 값을 적용하여 복수의 제1 개인키를 생성할 수 있다. 예를 들어, 프로세서(130)는 제1 데이터 및 제2 데이터의 수신 순서에 따라 제1 데이터 및 제2 데이터 중 하나를 선택하고, 선택된 데이터와 제1 값을 제2 알고리즘에 적용하여 복수의 제1 개인키를 생성할 수 있다. 다만, 이는 설명의 목적일 뿐, 이에 제한되는 것은 아니며, 다양한 방식으로 제1 데이터 및 제2 데이터 중 하나를 선택 할 수 있다. 또 다른 예로, 프로세서(130)는 제1 데이터 및 제2 데이터 모두와 제1 값을 제2 알고리즘에 적용하여 복수의 제1 개인키를 생성할 수도 있다.In an embodiment, the
또 다른 예로, 프로세서(130)는 제1 데이터 및 제2 데이터가 수신되면, 해쉬 함수를 이용하여 제1 데이터 및 제2 데이터 각각에 대한 제1 해쉬 값 및 제2 해쉬 값을 획득할 수 있다. 프로세서(130)는 제2 알고리즘에 제1 해쉬 값 및 제2 해쉬 값 중 적어도 하나와 제1 값을 적용하여 복수의 제1 개인키를 생성할 수 있다.As another example, when the first data and the second data are received, the
일 실시예에서, 프로세서(130)는 개인키를 공개키로 변환하도록 설정된 알고리즘을 이용하여, 생성된 복수의 제1 개인키에 대응하는 복수의 제1 공개키를 생성할 수 있다. 또한, 프로세서(130)는 생성된 복수의 제1 공개키를 이용하여, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다. 또한, 프로세서(130)는 생성된 복수의 제1 공개키 중, 주소 정보를 통한 제1 암호화폐의 트랜잭션에서 이용되는 전자 서명을 위해 필요한 개인키의 개수를 설정할 수 있다. 프로세서(150)는 생성된 주소 정보를 통하여 제1 암호화폐의 적어도 일부분을 트랜잭션 시 수행되는 전자 서명을 위해 필요한 개인키의 개수를 설정할 수 있다. 예를 들어, 프로세서(130)는 개인키의 개수를 생성된 복수의 공개키의 개수 이하로 설정할 수 있다.In an embodiment, the
일 실시예에서, 프로세서(130)는 복수의 제1 공개키를 이용하여 주소 정보를 생성한 후, 생성된 복수의 제1 개인키를 폐기할 수 있다. 또한, 프로세서(130)는 생성된 복수의 제1 개인키를 폐기하기 전, 생성된 복수의 제1 개인키를 복수의 외부 전자 장치(150, 151)로 송신하고, 복수의 외부 전자 장치(150, 151)는 수신된 복수의 제1 개인키를 저장할 수 있다. 프로세서(130)는 생성된 복수의 제1 개인키를 암호화하지 않고 복수의 외부 전자 장치(150, 151)로 송신할 수도 있고, 생성된 복수의 제1 개인키를 암호화하여 복수의 외부 전자 장치(150, 151)로 송신할 수도 있다. 예를 들어, 프로세서(130)는 복수의 제1 개인키 자체를 암호화하여 복수의 외부 전자 장치(150, 151)로 송신할 수도 있고, 복수의 제1 개인키를 암호화된 프로토콜을 이용하여 복수의 외부 전자 장치(150, 151)로 송신할 수도 있다. 또 다른 예로, 프로세서(130)는 복수의 제1 개인키 자체를 암호화하고, 암호화된 프로토콜을 이용하여 암호화된 복수의 제1 개인키를 복수의 외부 전자 장치(150, 151)로 송신할 수도 있다.In an embodiment, the
이와 같이, 생성된 복수의 제1 개인키가 복수의 외부 전자 장치(150, 151)에 저장되는 경우, 프로세서(130)는 제1 암호화폐의 트랜잭션을 위한 트랜잭션 메시지에 전자 서명을 수행하기 위해, 복수의 제1 개인키를 복원하지 않고, 복수의 외부 전자 장치(150, 151)로부터 복수의 제1 개인키를 수신하여 이용할 수 있다.As such, when the generated plurality of first private keys are stored in the plurality of external
일 실시예에서, 프로세서(130)는 생성된 복수의 제1 개인키의 폐기 후, 입력 인터페이스(140)를 통해 제1 입력이 재 수신되면, 제1 알고리즘에 제1 입력을 적용하여 제1 값을 재 생성할 수 있다. 예를 들어, 프로세서(130)는 복수의 제1 개인키의 생성에 이용된 제1 값을 생성하기 위해 제1 알고리즘에 적용한 제1 입력과 동일한 제1 입력이 재 수신되면, 제1 알고리즘에 재 수신된 제1 입력을 적용하여, 복수의 제1 개인키의 생성에 이용된 제1 값과 동일한 제1 값을 재 생성할 수 있다.In one embodiment, if the first input is received again through the
일 실시예에서, 생성된 복수의 제1 개인키의 폐기 후, 프로세서(130)는 입력 인터페이스(140)를 통해 재 수신되는 제2 입력에 따라, 제1 데이터 및 제2 데이터에 대한 전송 요청을 복수의 외부 전자 장치(160, 161)로 송신하도록 통신 회로(110)를 제어할 수 있다.In one embodiment, after discarding the generated plurality of first private keys, the
일 실시예에서, 프로세서(130)는 통신 회로(110)를 통해 복수의 외부 전자 장치(160, 161)로부터 제1 데이터 및 제2 데이터를 수신할 수 있다. 프로세서(130)는 메모리(120)에 저장된 제2 알고리즘에 제1 데이터 및 제2 데이터 중 적어도 하나와 생성된 제1 값을 적용하여 복수의 제1 개인키를 복원할 수 있다. 예를 들어, 프로세서(130)는 복수의 제1 개인키를 생성한 방식과 동일한 방식으로, 제1 데이터 및 제2 데이터 중 적어도 하나와 제1 값을 제2 알고리즘에 적용하여, 복수의 제1 개인키를 복원할 수 있다.In an embodiment, the
일 실시예에서, 프로세서(130)는 제1 암호화폐의 트랜잭션을 위해 생성되는 제1 트랜잭션 메시지에 복원된 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다. 프로세서(130)는 제1 트랜잭션 메시지를 생성한 사용자가 전자 장치(100)의 사용자임을 증명하기 위하여, 복원된 복수의 제1 개인키를 이용하여 제1 트랜잭션 메시지에 대해 전자 서명을 수행할 수 있다.In one embodiment, the
일 실시예에서, 프로세서(130)는 복원된 복수의 제1 개인키 각각을 이용하여 전자 서명이 수행된 제1 트랜잭션 메시지를 브로드캐스팅하도록 통신 회로(110)를 제어할 수 있다. 블록체인과 관련된 노드로서 동작하는 적어도 하나의 제2 외부 전자 장치는 제1 트랜잭션 메시지를 수신하고, 제1 트랜잭션 메시지는 복수의 제1 개인키에 대응하는 복수의 제1 공개키로 복호화하여 제1 트랜잭션 메시지의 유효성을 검증할 수 있다. 제1 트랜잭션 메시지의 유효성이 검증되면, 적어도 하나의 제2 외부 전자 장치는 제1 트랜잭션 메시지를 통해 확인되는 제1 암호화폐의 트랜잭션을 유효한 트랜잭션으로 판단할 수 있다. 또한, 프로세서(130)는 제1 트랜잭션 메시지를 브로드캐스팅한 후, 복원된 복수의 제1 개인키를 폐기할 수 있다.In one embodiment, the
이와 같이, 프로세서(130)는 개인키가 필요할 때마다, 공개된 데이터를 이용하여 개인키를 생성하거나 복원하고, 생성되거나 복원된 개인키를 사용한 후에는 개인키를 폐기할 수 있다. 이를 통해, 개인키의 유출의 위험이 감소될 수 있으며, 사용자가 개인키를 별도로 관리하지 않으므로, 사용자에 대한 편리성이 증대될 수 있다.As such, whenever a private key is required, the
위에서는, 프로세서(130)가 주소 정보를 생성하거나 트랜잭션 메시지에 전자 서명을 수행하기 위하여, 복수의 외부 전자 장치(150, 151)로부터 복수의 공개키 또는 복수의 개인키를 수신하거나, 복수의 공개키 또는 복수의 개인키를 생성하는 것을 중심으로 설명하였으나, 이에 제한되는 것은 아니다. 프로세서(130)는 주소 정보를 생성하거나 트랜잭션 메시지에 전자 서명을 수행하기 위하여 필요한 복수의 공개키 또는 복수의 개인키 중 일부는 복수의 외부 전자 장치(150, 151)로부터 수신하고, 다른 일부는 생성할 수 있다. 또한, 프로세서(130)는 주소 정보를 생성하거나 트랜잭션 메시지에 전자 서명을 수행하기 위하여 메모리(120)에 저장된 적어도 하나의 공개키 또는 적어도 하나의 개인키를 더 이용할 수도 있다.In the above, the
도 2는 본 개시의 다양한 실시예에 따른 전자 장치에 의한 암호화폐 트랜잭션에 이용되는 주소 정보를 생성하는 방법의 흐름도이다.2 is a flowchart illustrating a method of generating address information used in a cryptocurrency transaction by an electronic device according to various embodiments of the present disclosure.
도 2 내지 도 6에 도시된 흐름도에서 프로세스 단계들, 방법 단계들, 알고리즘들 등이 순차적인 순서로 설명되었지만, 그러한 프로세스들, 방법들 및 알고리즘들은 임의의 적합한 순서로 작동하도록 구성될 수 있다. 다시 말하면, 본 개시의 다양한 실시예들에서 설명되는 프로세스들, 방법들 및 알고리즘들의 단계들이 본 개시에서 기술된 순서로 수행될 필요는 없다. 또한, 일부 단계들이 비동시적으로 수행되는 것으로서 설명되더라도, 다른 실시예에서는 이러한 일부 단계들이 동시에 수행될 수 있다. 또한, 도면에서의 묘사에 의한 프로세스의 예시는 예시된 프로세스가 그에 대한 다른 변화들 및 수정들을 제외하는 것을 의미하지 않으며, 예시된 프로세스 또는 그의 단계들 중 임의의 것이 본 개시의 다양한 실시예들 중 하나 이상에 필수적임을 의미하지 않으며, 예시된 프로세스가 바람직하다는 것을 의미하지 않는다.Although process steps, method steps, algorithms, and the like have been described in a sequential order in the flowcharts shown in FIGS. 2-6, such processes, methods, and algorithms may be configured to operate in any suitable order. In other words, the steps of the processes, methods, and algorithms described in various embodiments of the present disclosure need not be performed in the order described in this disclosure. In addition, although some steps are described as being performed asynchronously, in some embodiments these some steps may be performed simultaneously. Moreover, illustration of the process by depiction in the figures does not mean that the illustrated process excludes other changes and modifications thereto, and any of the illustrated process or steps thereof is one of the various embodiments of the present disclosure. It is not meant to be essential to more than one, nor does it mean that the illustrated process is preferred.
210 단계에서, 전자 장치(100)는 복수의 공개키를 수신하기 위하여, 복수의 외부 전자 장치(150, 151)에 접속할 수 있다. 예를 들어, 프로세서(130)는 사용자로부터 암호화폐의 트랜잭션에 이용되는 주소 정보 생성을 지시하는 입력이 입력 인터페이스(140)를 통해 수신되면, 메모리(120)에 저장된 접속 정보를 이용하여, 복수의 외부 전자 장치(150, 151)에 접속하도록 통신 회로(110)를 제어할 수 있다. 또한, 프로세서(130)는 복수의 외부 전자 장치(150, 151)로의 접속을 위해 사용자에 대한 인증 정보가 요구되는 경우, 인증 정보의 입력을 요청하기 위한 화면을 디스플레이를 통해 표시할 수 있다. 프로세서(130)는 입력 인터페이스(140)를 통해 수신되는 인증 정보와 메모리(120)에 저장된 접속 정보를 이용하여 복수의 외부 전자 장치(150, 151)에 접속하도록 통신 회로(110)를 제어할 수 있다.In
220 단계에서, 전자 장치(100)는 복수의 외부 전자 장치(150, 151)로부터 복수의 공개키를 수신할 수 있다. 예를 들어, 프로세서(130)는 복수의 외부 전자 장치(150, 151)로 접속되면, 복수의 외부 전자 장치(150, 151) 각각에 저장된 공개키의 전송을 요청할 수 있다. 프로세서(130)는 공개키 전송 요청에 응답하여, 복수의 외부 전자 장치(150, 151) 각각이 송신하는 복수의 공개키를 통신 회로(110)를 통해 수신할 수 있다.In
230 단계에서, 전자 장치(100)는 수신된 복수의 공개키를 이용하여, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다. 예를 들어, 프로세서(130)는 공개키를 이용하여 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하는 알고리즘에 따라, 수신된 복수의 공개키를 이용하여 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다.In
240 단계에서, 전자 장치(100)는 제1 암호화폐의 트랜잭션에서 이용되는 전자 서명을 위해 필요한 개인키의 개수를 설정할 수 있다. 예를 들어, 프로세서(130)는 복수의 외부 전자 장치(150, 151)에 저장된 복수의 개인키 중, 20 단계에서 생성된 주소 정보를 통한 제1 암호화폐의 트랜잭션에서 이용되는 전자 서명을 위해 필요한 개인키의 개수를 설정할 수 있다. 예를 들어, 프로세서(130)는 개인키의 개수를 수신된 복수의 공개키의 개수 이하로 설정할 수 있다. 예를 들어, 프로세서(130)는 수신된 복수의 공개 키의 개수가 a개인 경우, 생성된 주소 정보를 통한 제1 암호화폐의 트랜잭션에서 이용되는 전자 서명을 위해 필요한 개인키의 개수를 a개 이하의 수인 b개로 설정할 수 있다.In
도 3은 본 개시의 다양한 실시예에 따른 공개키의 변조 여부에 따른 전자 장치의 동작 방법의 흐름도이다.3 is a flowchart illustrating a method of operating an electronic device according to whether a public key is modulated according to various embodiments of the present disclosure.
310 단계에서, 전자 장치(100)는 복수의 공개키가 수신되면, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하기에 앞서, 복수의 공개키 중 적어도 하나의 공개키의 변조 여부를 확인할 수 있다. 예를 들어, 프로세서(130)는 메모리(120)에 저장된 복수의 공개키의 변조 여부를 확인하기 위한 정보에 기초하여, 수신된 복수의 공개키의 변조 여부를 확인할 수 있다. 복수의 공개키가 변조되었을 경우, 복수의 공개키에 대응하는 복수의 개인키가 변조되었을 가능성이 있으므로, 주소 정보 생성에 앞서 복수의 공개키의 변조 여부를 확인할 필요가 있다.In
320 단계에서, 전자 장치(100)는 복수의 공개키가 변조되었을 경우, 수신된 복수의 공개키를 이용하여 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 없음을 나타내는 메시지를 표시할 수 있다. 예를 들어, 프로세서(130)는 복수의 공개키 중 적어도 하나가 변조된 것으로 확인되면, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 없음을 나타내는 메시지를 디스플레이를 통해 표시할 수 있다. 또한, 프로세서(130)는 복수의 공개키 중 적어도 하나가 변조된 것으로 확인되면, 복수의 외부 전자 장치(150, 151) 중 변조가 확인된 적어도 하나의 공개키가 저장된 적어도 하나의 외부 전자 장치에 대한 정보를 디스플레이를 통해 표시할 수 있다. 이를 통해, 사용자는 적어도 하나의 외부 전자 장치에 저장된 적어도 하나의 공개키를 주소 정보 생성에 이용하지 않거나, 적어도 하나의 외부 전자 장치에 새로운 개인키 및 공개키가 다시 저장되도록 할 수 있다.In
330 단계에서, 전자 장치(100)는 복수의 공개키가 변조되지 않은 것으로 확인되면, 수신된 복수의 공개키를 이용하여 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다. 예를 들어, 프로세서(130)는 복수의 공개키가 변조되지 않은 것으로 확인되면, 공개키를 이용하여 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성하는 알고리즘에 따라, 수신된 복수의 공개키를 이용하여 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다. 또한, 프로세서(130)는 생성된 주소 정보를 디스플레이를 통해 표시하고, 메모리(120)에 저장할 수 있다.In
도 4는 본 개시의 다양한 실시예에 따른 전자 장치에 의한 트랜잭션 메시지를 브로드캐스팅하는 방법의 흐름도이다.4 is a flowchart of a method for broadcasting a transaction message by an electronic device according to various embodiments of the present disclosure.
410 단계에서, 전자 장치(100)는 복수의 외부 전자 장치(150, 151) 중, 적어도 하나의 제3 외부 전자 장치로부터 복수의 개인키 중, 설정된 개수의 복수의 제1 개인키를 수신할 수 있다. 예를 들어, 프로세서(130)는 복수의 외부 전자 장치(150, 151) 중 적어도 하나의 제3 외부 전자 장치로부터 설정된 개수의 복수의 제1 개인키를 수신하기 위하여, 적어도 하나의 제3 외부 전자 장치로 개인키에 대한 전송 요청을 송신할 수 있다.In
예를 들어, 적어도 하나의 제3 외부 전자 장치는 사용자의 입력에 따라 복수의 외부 전자 장치(150, 151) 중에서 선택될 수 있다. 프로세서(130)는 선택된 적어도 하나의 제3 외부 전자 장치로 개인키에 대한 전송 요청을 송신할 수 있다. 또 다른 예로, 적어도 하나의 제3 외부 전자 장치는 설정된 알고리즘에 따라 복수의 외부 전자 장치(150, 151) 중에서 선택될 수도 있고, 복수의 외부 전자 장치(150, 151) 중에서 설정된 개수의 외부 전자 장치가 임의로 선택될 수도 있다.For example, the at least one third external electronic device may be selected from among the plurality of external
420 단계에서, 전자 장치(100)는 제1 암호화폐의 트랜잭션을 위해 생성되는 제1 트랜잭션 메시지에 대해 수신된 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다. 예를 들어, 프로세서(130)는 제1 트랜잭션 메시지를 생성한 사용자가 전자 장치(100)의 사용자임을 증명하기 위하여, 복수의 제1 개인키를 이용하여 제1 트랜잭션 메시지에 대해 전자 서명을 수행할 수 있다.In
예를 들어, 프로세서(130)는 메모리(120)에 저장된 복수의 개인키의 변조 여부를 확인하기 위한 정보에 기초하여, 복수의 제1 개인키 중 적어도 하나의 제1 개인키의 변조여부를 확인할 수 있다. 프로세서(130)는 복수의 제1 개인키가 변조되지 않은 것으로 확인되면, 제1 트랜잭션 메시지에 대해 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다. 또 다른 예로, 프로세서(130)는 복수의 제1 개인키 중 적어도 하나의 제1 개인키가 변조된 것으로 확인되면, 제1 트랜잭션 메시지에 대해 복수의 제1 개인키를 이용하여 전자 서명을 수행할 수 없음을 나타내는 메시지를 디스플레이를 통해 출력할 수 있다.For example, the
430 단계에서, 전자 장치(100)는 복수의 제1 개인키 각각을 이용하여 전자 서명이 수행된 제1 트랜잭션 메시지를 브로드캐스팅할 수 있다. 예를 들어, 프로세서(130)는 복수의 제1 개인키 각각을 이용하여 전자 서명이 수행된 제1 트랜잭션 메시지를 브로드캐스팅하도록 통신 회로(110)를 제어할 수 있다.In
도 5는 본 개시의 다양한 실시예에 따른 전자 장치에 의한 암호화폐 트랜잭션에 이용되는 주소 생성 방법의 흐름도이다.5 is a flowchart illustrating an address generation method used for a cryptocurrency transaction by an electronic device according to various embodiments of the present disclosure.
510 단계에서, 전자 장치(100)는 사용자로부터 제1 입력을 수신할 수 있다. 예를 들어, 프로세서(130)는 입력 인터페이스(140)를 통해 제1 입력이 수신되면, 수신된 제1 입력이 설정된 입력에 대응되는 지를 결정할 수 있다.In
520 단계에서, 전자 장치(100)는 제1 입력을 변환하여 임의의 제1 값을 생성할 수 있다. 예를 들어, 프로세서(130)는 제1 입력이 설정된 입력에 대응되면, 제1 알고리즘에 제1 입력을 적용하여 임의의 제1 값을 생성할 수 있다.In
530 단계에서, 전자 장치(100)는 사용자로부터 제2 입력을 수신할 수 있다. 예를 들어, 제2 입력은 전송 요청 대상이 되는 제1 데이터 및 제2 데이터를 지칭하기 위한 입력일 수 있다. 또한, 제2 입력은 제1 데이터 및 제2 데이터를 요청할 외부 전자 장치에 대해서도 지칭할 수 있다. 프로세서(130)는 입력 인터페이스(140)를 통해 제2 입력이 수신되면, 제2 입력에 따라, 제1 데이터 및 제2 데이터를 확인할 수 있다. 또한, 프로세서(130)는 제2 입력에 따라 제1 데이터 및 제2 데이터를 요청할 제1 외부 전자 장치(501) 및 제2 외부 전자 장치(502)를 확인할 수 있다.In
531 단계에서, 전자 장치(100)는 수신되는 제2 입력에 따라, 제1 데이터에 대한 전송 요청을 제1 외부 전자 장치(501)로 송신하고, 532 단계에서, 제2 데이터에 대한 전송 요청을 제2 외부 전자 장치(502)로 송신할 수 있다. 프로세서(130)는 제2 입력에 기초하여, 제1 데이터에 대한 전송 요청을 제1 외부 전자 장치(501)로 송신하고, 제2 데이터에 대한 전송 요청을 제2 외부 전자 장치(502)로 송신하도록 통신 회로(110)를 제어할 수 있다. 예를 들어, 제1 외부 전자 장치(501) 및 제2 외부 전자 장치(502)는 블록체인과 관련된 노드로서 동작하는 외부 전자 장치를 포함할 수 있다.In
또한, 도시되지는 않았으나, 프로세서(130)는 제2 입력에서 지칭하고 있지 않는 적어도 하나의 데이터에 대한 전송 요청을 적어도 하나의 다른 외부 전자 장치로 송신하고, 적어도 하나의 데이터를 수신할 수 있다. 예를 들어, 프로세서(130)는 수신된 적어도 하나의 데이터는 제1 암호화폐의 트랜잭션에 이용되는 주소 정보의 생성에는 이용하지 않을 수 있다. 이를 통해, 다른 사용자가 제1 암호화폐의 트랜잭션에 이용되는 주소 정보의 생성에 어떤 데이터가 이용되는 지를 알 수 없게 하여, 다른 사용자에 의해 개인키가 생성되어 개인키가 유출되는 것을 방지할 수 있다.In addition, although not shown, the
540 단계에서 제1 외부 전자 장치(501)는 제1 데이터에 대한 전송 요청에 응답하여, 제1 데이터를 검색하여 전자 장치(100)로 송신할 수 있다. 또한, 541 단계에서, 제2 외부 전자 장치(502)는 제2 데이터에 대한 전송 요청에 응답하여, 제2 데이터를 검색하여 전자 장치(100)로 송신할 수 있다.In
또한, 도시되지는 않았으나, 개인키 생성 방법에 대한 보안을 강화하기 위하여, 530 단계 내지 541 단계는 미리 설정된 횟수만큼 반복될 수 있다. 다시 말해서, 개인키를 생성하기 위하여 이용되는 데이터의 수가 설정에 따라 2 개 이상일 수 있다.In addition, although not shown, steps 530 to 541 may be repeated a predetermined number of times in order to enhance security of the private key generation method. In other words, the number of data used to generate the private key may be two or more depending on the setting.
550 단계에서, 전자 장치(100)는 수신된 제1 데이터 및 제2 데이터 중 적어도 하나와 생성된 제1 값을 이용하여 복수의 제1 개인키를 생성할 수 있다. 예를 들어, 프로세서(130)는 메모리(120)에 저장된 제2 알고리즘에 제1 데이터 및 제2 데이터 중 적어도 하나와 생성된 제1 값을 적용하여 복수의 제1 개인키를 생성할 수 있다. 예를 들어, 프로세서(130)는 생성된 복수의 제1 개인키를 메모리(120)의 보안 영역에 저장할 수 있다. 예를 들어, 메모리(120)의 보안 영역은 권한이 부여되지 않은 전자 장치(100)의 적어도 하나의 구성 요소가 접근하지 못하도록 논리적으로 구분된 영역일 수 있다.In
또한, 프로세서(130)는 복수의 제1 개인키를 생성한 후, 제1 데이터, 제2 데이터 및 제1 값을 폐기할 수 있다. 예를 들어, 프로세서(130)는 메모리(120)에 저장된 제1 데이터, 제2 데이터 및 제1 값을 삭제할 수 있다.In addition, after generating a plurality of first private keys, the
560 단계에서, 전자 장치(100)는 생성된 복수의 제1 개인키를 이용하여 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다. 예를 들어, 프로세서(130)는 개인키를 공개키로 변환하도록 설정된 알고리즘을 이용하여, 생성된 복수의 제1 개인키에 대응하는 복수의 제1 공개키를 생성할 수 있다. 또한, 프로세서(130)는 생성된 복수의 제1 공개키를 이용하여, 제1 암호화폐의 트랜잭션에 이용되는 주소 정보를 생성할 수 있다. 또한, 프로세서(130)는 생성된 주소 정보를 통하여 제1 암호화폐의 적어도 일부분을 트랜잭션 시 수행되는 전자 서명을 위해 필요한 개인키의 개수를 설정할 수 있다.In
570 단계에서, 전자 장치(100)는 복수의 제1 개인키를 폐기할 수 있다. 예를 들어, 프로세서(130)는 복수의 제1 공개키를 이용하여 주소 정보를 생성한 후, 복수의 제1 개인키를 폐기할 수 있다. 예를 들어, 프로세서(130)는 메모리(120)의 보안 영역에 저장된 복수의 제1 개인키를 삭제할 수 있다. 이와 같이, 전자 장치(100)는 생성된 복수의 제1 개인키가 반복되어 사용되는 것을 방지하고, 암호화폐의 트랜잭션에서 개인키가 필요할 때마다 개인키를 복원하여 이용할 수 있다. 개인키를 복원하는 방법에 대해서는 후술하도록 한다.In
도 6은 본 개시의 다양한 실시예에 따른 전자 장치에 의한 트랜잭션 메시지를 브로드캐스팅하는 방법의 흐름도이다.6 is a flowchart of a method for broadcasting a transaction message by an electronic device according to various embodiments of the present disclosure.
610 단계에서, 전자 장치(100)는 사용자로부터 제1 입력을 수신할 수 있다. 예를 들어, 프로세서(130)는 생성된 복수의 제1 개인키를 폐기한 후, 입력 인터페이스(140)를 통해 설정된 입력에 대응하는 제1 입력을 재 수신할 수 있다.In
620 단계에서, 전자 장치(100)는 제1 입력을 변환하여 제1 값을 생성할 수 있다. 예를 들어, 프로세서(130)는 제1 알고리즘에 제1 입력을 적용하여 제1 값을 재 생성할 수 있다. 예를 들어, 제1 알고리즘은, 제1 입력을 변환하여 임의의 제1 값을 생성한 후, 제1 입력이 재 수신되면, 제1 입력을 변환하여 제1 값을 생성하도록 구성될 수 있다.In
630 단계에서, 전자 장치(100)는 사용자로부터 제2 입력을 수신할 수 있다. 예를 들어, 프로세서(130)는 복수의 제1 개인키를 폐기한 후 재 수신되는 제2 입력에 따라, 제1 데이터 및 제2 데이터를 확인할 수 있다. 또한, 프로세서(130)는 재 수신되는 제2 입력에 따라, 제1 데이터 및 제2 데이터를 요청할 제1 외부 전자 장치(601) 및 제2 외부 전자 장치(602)를 확인할 수 있다.In
631 단계에서, 전자 장치(100)는 제2 입력에 따라, 제1 데이터에 대한 전송 요청을 제1 외부 전자 장치(601)로 송신하고, 632 단계에서, 제2 데이터에 대한 전송 요청을 제2 외부 전자 장치(602)로 송신할 수 있다. 프로세서(130)는 제2 입력에 따라 확인되는 제1 데이터에 대한 전송 요청을 제1 외부 전자 장치(601)로 송신하고, 제2 입력에 따라 확인되는 제2 데이터에 대한 전송 요청을 제2 외부 전자 장치(602)로 송신하도록 통신 회로(110)를 제어할 수 있다. 예를 들어, 제1 외부 전자 장치(601) 및 제2 외부 전자 장치(602)는 블록체인과 관련된 노드로서 동작하는 외부 전자 장치를 포함할 수 있다.In
또한, 도시되지는 않았으나, 프로세서(130)는 제2 입력에서 지칭하고 있지 않는 적어도 하나의 데이터에 대한 전송 요청을 적어도 하나의 다른 외부 전자 장치로 송신하고, 적어도 하나의 데이터를 수신할 수 있다. 예를 들어, 프로세서(130)는 수신된 적어도 하나의 데이터는 제1 암호화폐의 트랜잭션에 이용되는 주소 정보의 생성에는 이용하지 않을 수 있다. 이를 통해, 다른 사용자가 제1 암호화폐의 트랜잭션에 이용되는 주소 정보의 생성에 어떤 데이터가 이용되는 지를 알 수 없게 하여, 다른 사용자에 의해 개인키가 생성되어 개인키가 유출되는 것을 방지할 수 있다.In addition, although not shown, the
640 단계에서 제1 외부 전자 장치(601)는 제1 데이터에 대한 전송 요청에 응답하여, 제1 데이터를 검색하여 전자 장치(100)로 송신할 수 있다. 또한, 641 단계에서, 제2 외부 전자 장치(602)는 제2 데이터에 대한 전송 요청에 응답하여, 제2 데이터를 검색하여 전자 장치(100)로 송신할 수 있다.In
또한, 도시되지는 않았으나, 개인키 생성 방법에 대한 보안을 강화하기 위하여, 630 단계 내지 641 단계는 미리 설정된 횟수만큼 반복될 수 있다. 다시 말해서, 개인키를 생성하기 위하여 이용되는 데이터의 수가 설정에 따라 2 개 이상일 수 있다.In addition, although not shown, in order to enhance security of the private key generation method, steps 630 to 641 may be repeated a predetermined number of times. In other words, the number of data used to generate the private key may be two or more depending on the setting.
650 단계에서, 전자 장치(100)는 수신된 제1 데이터 및 제2 데이터 중 적어도 하나와 생성된 제1 값을 이용하여 복수의 제1 개인키를 복원할 수 있다. 예를 들어, 프로세서(130)는 메모리(120)에 저장된 제2 알고리즘에 제1 데이터 및 제2 데이터 중 적어도 하나와 생성된 제1 값을 적용하여 복수의 제1 개인키를 복원할 수 있다. 복원되는 복수의 제1 개인키의 개수는 제1 암호화폐의 트랜잭션에 이용되는 주소 정보 생성 시 설정된, 제1 암호화폐의 적어도 일부분을 트랜잭션 시 수행되는 전자 서명을 위해 필요한 개인키의 개수일 수 있다.In
660 단계에서, 전자 장치(100)는 제1 암호화폐의 트랜잭션을 위해 생성되는 제1 트랜잭션 메시지에 복원된 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다. 예를 들어, 프로세서(130)는 사용자의 입력에 따라, 제1 암호화폐의 트랜잭션을 위해 제1 트랜잭션 메시지를 생성하고, 제1 트랜잭션 메시지에 복원된 복수의 제1 개인키 각각을 이용하여 전자 서명을 수행할 수 있다.In
670 단계에서, 전자 장치(100)는 제1 트랜잭션 메시지를 브로드캐스팅할 수 있다. 예를 들어, 프로세서(130)는 복원된 복수의 제1 개인키 각각을 이용하여 전자 서명이 수행된 제1 트랜잭션 메시지를 브로드캐스팅하도록 통신 회로(110)를 제어할 수 있다.In
680 단계에서, 전자 장치(100)는 복원된 복수의 제1 개인키를 폐기할 수 있다. 예를 들어, 프로세서(130)는 복수의 제1 개인키 각각을 이용하여 제1 트랜잭션 메시지에 전자 서명을 수행한 후, 복원된 복수의 제1 개인키를 폐기할 수 있다. 이와 같이, 전자 장치(100)는 생성된 복수의 제2 개인키가 반복되어 사용되는 것을 방지하고, 암호화폐의 트랜잭션에서 개인키가 필요할 때마다 개인키를 복원하여 이용할 수 있다.In
상기 방법은 특정 실시예들을 통하여 설명되었지만, 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 개시가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Although the method has been described through specific embodiments, the method may also be embodied as computer readable code on a computer readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media may include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the above embodiments can be easily inferred by programmers in the art to which the present disclosure belongs.
이상 일부 실시예들과 첨부된 도면에 도시된 예에 의해 본 개시의 기술적 사상이 설명되었지만, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 이해할 수 있는 본 개시의 기술적 사상 및 범위를 벗어나지 않는 범위에서 다양한 치환, 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 치환, 변형 및 변경은 첨부된 청구범위 내에 속하는 것으로 생각되어야 한다.While the technical spirit of the present disclosure has been described with reference to some embodiments and the examples shown in the accompanying drawings, the technical spirit and scope of the present disclosure may be understood by those skilled in the art. It will be appreciated that various substitutions, modifications, and alterations can be made in the scope. Also, such substitutions, modifications and variations are intended to be included within the scope of the appended claims.
Claims (20)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020180033148A KR101952329B1 (en) | 2018-03-22 | 2018-03-22 | Method for generating address information used in transaction of cryptocurrency based on blockchain, electronic apparatus and computer readable recording medium |
| KR10-2018-0033148 | 2018-03-22 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019182377A1 true WO2019182377A1 (en) | 2019-09-26 |
Family
ID=65562812
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2019/003298 Ceased WO2019182377A1 (en) | 2018-03-22 | 2019-03-21 | Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR101952329B1 (en) |
| WO (1) | WO2019182377A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220094675A1 (en) * | 2017-03-31 | 2022-03-24 | Vijay Madisetti | Method and System for Zero-Knowledge and Identity Based Key Management for Decentralized Applications |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102358329B1 (en) * | 2020-03-11 | 2022-02-04 | 아주대학교산학협력단 | Method and apparatus for ownership change of cryptocurrency wallet |
| KR102318947B1 (en) * | 2020-08-21 | 2021-10-27 | 세종대학교산학협력단 | Method for protecting privacy data, computing device and system for executing the method |
| KR102303431B1 (en) * | 2020-12-03 | 2021-09-23 | 주식회사 한컴위드 | Blockchain-based electronic contract management system apparatus that supports electronic contracts between parties and operating method thereof |
| WO2025058456A1 (en) * | 2023-09-15 | 2025-03-20 | 삼성전자주식회사 | First electronic device for generating smart contract set to perform wallet function, operating method thereof, and second electronic device for performing cryptocurrency transaction by using same smart contract |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030025384A (en) * | 2001-09-20 | 2003-03-29 | 한국전자통신연구원 | A secure method for transferring active packets between active nodes |
| KR20160024185A (en) * | 2014-08-25 | 2016-03-04 | 아이보 (주) | Management system and method of crytocurrency using secure element |
| KR20160095720A (en) * | 2015-02-03 | 2016-08-12 | 한양대학교 에리카산학협력단 | Method and apparatus for protecting transasction of encrypted currency |
| KR101778768B1 (en) * | 2017-04-21 | 2017-09-18 | (주)케이사인 | METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME |
| KR20170141976A (en) * | 2016-06-16 | 2017-12-27 | 주식회사 티모넷 | System and method for providing electronic signature service |
-
2018
- 2018-03-22 KR KR1020180033148A patent/KR101952329B1/en active Active
-
2019
- 2019-03-21 WO PCT/KR2019/003298 patent/WO2019182377A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20030025384A (en) * | 2001-09-20 | 2003-03-29 | 한국전자통신연구원 | A secure method for transferring active packets between active nodes |
| KR20160024185A (en) * | 2014-08-25 | 2016-03-04 | 아이보 (주) | Management system and method of crytocurrency using secure element |
| KR20160095720A (en) * | 2015-02-03 | 2016-08-12 | 한양대학교 에리카산학협력단 | Method and apparatus for protecting transasction of encrypted currency |
| KR20170141976A (en) * | 2016-06-16 | 2017-12-27 | 주식회사 티모넷 | System and method for providing electronic signature service |
| KR101778768B1 (en) * | 2017-04-21 | 2017-09-18 | (주)케이사인 | METHOD OF CONTROLLING IoT DEVICE AND IoT DEVICE CONTROL SYSTEM FOR PERFORMING THE SAME |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220094675A1 (en) * | 2017-03-31 | 2022-03-24 | Vijay Madisetti | Method and System for Zero-Knowledge and Identity Based Key Management for Decentralized Applications |
| US11720891B2 (en) * | 2017-03-31 | 2023-08-08 | Vijay Madisetti | Method and system for zero-knowledge and identity based key management for decentralized applications |
| US11900368B2 (en) | 2017-03-31 | 2024-02-13 | Vijay Madisetti | Method and system for zero-knowledge and identity based key management for decentralized applications |
Also Published As
| Publication number | Publication date |
|---|---|
| KR101952329B1 (en) | 2019-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2016137304A1 (en) | Trust-zone-based end-to-end security | |
| CN106686008B (en) | Information storage means and device | |
| WO2019182377A1 (en) | Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency | |
| WO2021095998A1 (en) | A trusted computing method and system | |
| WO2020147383A1 (en) | Process examination and approval method, device and system employing blockchain system, and non-volatile storage medium | |
| WO2020029585A1 (en) | Neural network federation modeling method and device employing transfer learning, and storage medium | |
| WO2018030707A1 (en) | Authentication system and method, and user equipment, authentication server, and service server for performing same method | |
| WO2019132272A1 (en) | Id as blockchain based service | |
| WO2018151390A1 (en) | Internet of things device | |
| WO2012093900A2 (en) | Method and device for authenticating personal network entity | |
| WO2017209467A1 (en) | Method and apparatus for providing p2p data security service in iot environment | |
| WO2018072261A1 (en) | Information encryption method and device, information decryption method and device, and terminal | |
| WO2019132270A1 (en) | Secure communication method in nfv environment and system therefor | |
| CN107517224A (en) | A method to realize password-free login of cluster nodes | |
| WO2022126972A1 (en) | Data communication method, key management system, device, and storage medium | |
| WO2020101087A1 (en) | Encryption system and method for handling personal information | |
| WO2020032351A1 (en) | Method for establishing anonymous digital identity | |
| US9825920B1 (en) | Systems and methods for multi-function and multi-purpose cryptography | |
| WO2015178597A1 (en) | System and method for updating secret key using puf | |
| KR20210152295A (en) | Apparatus and method for mutual authentication based on physical unclonable function | |
| WO2018004114A2 (en) | Proxy authentication system and authentication method for providing proxy service | |
| WO2018032583A1 (en) | Method and apparatus for acquiring location information of terminal | |
| WO2022055301A1 (en) | On-boarding method, apparatus, and program for group authenticator | |
| WO2012165901A2 (en) | Method for inter-terminal security channelization | |
| WO2022119387A1 (en) | Method, electronic device and server for performing user authentication |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19772394 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19772394 Country of ref document: EP Kind code of ref document: A1 |