WO2021246725A1 - 블록체인을 이용하는 전자 장치 및 동작 방법 - Google Patents

블록체인을 이용하는 전자 장치 및 동작 방법 Download PDF

Info

Publication number
WO2021246725A1
WO2021246725A1 PCT/KR2021/006659 KR2021006659W WO2021246725A1 WO 2021246725 A1 WO2021246725 A1 WO 2021246725A1 KR 2021006659 W KR2021006659 W KR 2021006659W WO 2021246725 A1 WO2021246725 A1 WO 2021246725A1
Authority
WO
WIPO (PCT)
Prior art keywords
transaction data
electronic device
server
transaction
fee information
Prior art date
Application number
PCT/KR2021/006659
Other languages
English (en)
French (fr)
Inventor
박찬준
김예원
신규현
이다솜
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN202180040305.3A priority Critical patent/CN115943405A/zh
Priority to EP21818889.4A priority patent/EP4148647A4/en
Publication of WO2021246725A1 publication Critical patent/WO2021246725A1/ko
Priority to US18/075,025 priority patent/US20230093968A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/385Payment protocols; Details thereof using an alias or single-use codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment

Definitions

  • Various embodiments according to the present disclosure relate to an electronic device that performs a transaction using a block chain.
  • Blockchain is a data storage technology that makes data into blocks of specific units and connects them in a chain form on a valid network.
  • Blockchain nodes are not managed by a central server and have a separate distributed public ledger. Cryptocurrency transaction details are recorded in a distributed public ledger, and nodes on all blockchain networks can have the same transaction history data. Accordingly, it is difficult to individually forge and falsify data stored in blockchain nodes.
  • the blockchain node When a transaction created by a user is sent to the blockchain network, the blockchain node performs verification to verify the validity of the transaction. Validated transactions are sent to the memory pool of the blockchain network.
  • the memory pool may mean a space in which unconfirmed transactions that are not recorded in a block are stored.
  • a new block is created at a specific time interval (eg, 10 minutes), among the unconfirmed transactions stored in the memory pool, the transaction with the highest transaction fee is sequentially recorded in the new block.
  • the transaction generated by the user may be in a transmission delay state.
  • the transmission delay state may mean a state in which a transaction is not written to a new block and waits for a long time in the memory pool.
  • the transaction status information is not transmitted to the user, it is difficult for the user to understand that the transaction is in a transmission delay state. Therefore, it is difficult to generate a transaction including a high transaction fee.
  • the user cannot know the transaction fee of unconfirmed transactions waiting in the memory pool, it is difficult to predict the transaction fee at which a transaction can be recorded in a block.
  • various embodiments according to the present disclosure provide an electronic device that displays transaction status information and recommendation fee information.
  • the electronic device includes a communication circuit and at least one processor connected to the communication circuit, wherein the at least one processor stores at least a portion of an unused transaction output value of a first address from the first address.
  • generating first transaction data including at least one transaction data to be transferred to a second address distinct from the first address, transmitting the first transaction data to the server through the communication circuit, and the server through the communication circuit Receives status information indicating the transmission delay state of the first transaction data in the block chain network from and generate second transaction data including at least one transaction data for transferring at least a portion of the unused transaction output value from the first address to the second address.
  • the method of operating an electronic device includes at least one piece of transaction data for transferring at least a portion of an unused transaction output value of a first address from the first address to a second address distinct from the first address 1
  • a second method comprising: receiving fee information; and at least one transaction data for transferring at least a portion of an unused transaction output value of the first address from the first address to the second address based on the recommendation fee information It may include an operation for generating transaction data.
  • the server includes a communication circuit and at least one processor connected to the communication circuit, wherein the at least one processor receives at least a portion of the unused transaction output value of the first address from the electronic device through the communication circuit Receives first transaction data including at least one transaction data transferred from the first address to a second address distinct from the first address, and indicates a transmission delay state of the first transaction data in a block chain network Detecting status information, transmitting the detected status information to the electronic device through the communication circuit, calculating recommendation fee information and transmitting it to the electronic device through the communication circuit, and generating based on the recommendation fee information Receive second transaction data including at least one transaction data for transferring at least a portion of the unused transaction output value of the first address from the first address to the second address from the electronic device through the communication circuit can be set to
  • status information of a transaction may be displayed through the electronic device.
  • delay in transmission of a transaction may be prevented through an electronic device that generates a transaction based on recommendation fee information.
  • FIG. 1 shows the configuration of a transaction system including an electronic device, a server, and a block chain network according to an embodiment.
  • FIG. 2 is a flowchart illustrating an operation of a transaction system according to an embodiment.
  • FIG. 3 is a flowchart illustrating an operation of an electronic device according to an exemplary embodiment.
  • FIG. 4 illustrates a UI state of an electronic device that has received transaction status information and recommendation fee information, according to an embodiment.
  • FIG. 5 is a flowchart illustrating an operation of a server for detecting a transmission delay state of a transaction when first transaction data includes a plurality of transaction data according to an embodiment.
  • FIG. 6 is a flowchart illustrating an operation of a server for determining state information of transaction data based on a threshold transmission time for fee information according to an embodiment.
  • FIG. 7A illustrates a first UI state of an electronic device for setting a fee range according to an embodiment.
  • FIG. 7B illustrates a second UI state of an electronic device for setting a fee range according to an embodiment.
  • FIG. 7C illustrates a third UI state of an electronic device for setting a fee range according to an embodiment.
  • FIG. 8A illustrates a memory pool of a blockchain network according to an embodiment.
  • 8B illustrates a virtual block for calculating recommendation fee information according to an embodiment.
  • FIG. 9 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure.
  • FIG. 1 illustrates a configuration of a transaction system 100 including an electronic device, a server, and a block chain network according to an embodiment.
  • a transaction system 100 may include an electronic device 110 , a server 130 , and a block chain network 150 .
  • the electronic device 110 (eg, the electronic device 901 of FIG. 9 ) includes a communication circuit 112 (eg, the communication module 990 of FIG. 9 ) and a memory 114 (eg, FIG. 9 ). of a memory 930 ), a processor 116 (eg, the processor 920 of FIG. 9 ), and a display 118 (eg, the display device 960 of FIG. 9 ).
  • the communication circuit 112 may establish a communication channel between the electronic device 110 and an external electronic device (eg, the server 130 ) and transmit and receive data.
  • the communication circuit 112 may transmit transaction data of the electronic device 110 performing a transaction to the server 130 .
  • the server 130 may include a manufacturer server of the electronic device 110 .
  • the electronic device 110 may generate a key pair using an asymmetric key cryptography method (eg, public-key cryptography) to perform a transaction.
  • the memory 114 may store the generated private key. Transactions can be created through digital signatures based on private keys.
  • the memory 114 may refer to a secure memory (eg, TrustZone) that is a memory that provides a secure environment.
  • the display 118 may visually provide information to the outside (eg, a user) of the electronic device 110 .
  • the display 118 may display at least one of transaction generation information, balance information, transaction transmission delay information, transaction transmission completion information, and recommendation fee information of the electronic device 110 .
  • the processor 116 may calculate a fee based on the transaction data. For example, the processor 116 may generate transaction data that sends 1.9 BTC from a first address to a second address with an unused transaction output value (UTXO) with 2.1 BTC and 0.05 BTC to the first address. can The processor 116 may calculate that the transaction data fee is 0.15 BTC based on Vin and Vout. In another embodiment, the processor 116 may generate transaction data based on set fee information. For example, the processor 116 may set the fee for transaction data to 0.15 BTC. The processor 116 may transmit the remainder minus the fee of 0.15 BTC from the first address having an unused transaction output value (UTXO) having 2.1 BTC to the first address and the second address.
  • UTXO unused transaction output value
  • the server 130 may include a communication circuit 132 , a memory 134 , and a processor 136 .
  • the communication circuit 132 establishes a communication channel between the server 130 and an external device (eg, the electronic device 110 and the block chain network 150) to transmit and receive data.
  • the communication circuit 132 may transmit transaction data received from the electronic device 110 to the block chain network 150 .
  • the transmitted transaction data may be stored in the blockchain node 152 .
  • the block chain node 152 may serve to transmit a transaction in the block chain network 150 to an electronic device included in the block chain network 150 , and the electronic device 901 of FIG. 9 . , 902 ) and/or the electronic device 110 may be the same or at least partially similar to, but not limited to, some electronic devices or system components (eg, a processor, a memory).
  • some electronic devices or system components eg, a processor, a memory.
  • the processor 136 may receive data from the electronic device 110 through the communication circuit 132 .
  • the processor 136 may monitor the blockchain network 150 through the communication circuit 132 .
  • the processor 136 uses a message exchange library (eg, jsonRPC, ZeroMQ) between the blockchain node 152 and the server 130 to generate new block information and transactions in the memory pool of the blockchain network 150 . You can check information, etc.
  • the memory pool is a space in which unconfirmed transaction information that is not written to a block is stored, and may be located in the memory of the block chain node 152 (eg, the memory 930 of FIG. 9 ).
  • transaction information in the memory pool may be shared through a plurality of block chain nodes 152 connected through the block chain network 150 .
  • 1 illustrates only a transaction system in which data generated by the electronic device 110 is transmitted to the block chain network 150 via the server 130, in another embodiment, data generated by the electronic device 110 may be transmitted directly to the blockchain network 150 .
  • the electronic device 110 may generate transaction data and transmit it directly to the block chain network 150 , and transmit data including whether the transaction data is generated to the server 130 .
  • the server 130 may start monitoring the blockchain network 150 based on the reception of data including only whether transaction data is generated.
  • FIG. 2 is a flowchart illustrating an operation of a transaction system according to an embodiment.
  • the electronic device 110 may generate first transaction data in operation 201 .
  • the electronic device 110 may generate first transaction data including at least one piece of transaction data for transferring a portion of an unused transaction output value of the first address from the first address to the second address.
  • the plurality of transaction data may include different fee information.
  • the electronic device 110 may generate the first transaction data including a plurality of transaction data by setting a fee range (eg, 1 to 3 satoshi/byte).
  • the range of the fee may be set by the user.
  • the range of the fee may be set based on the recommendation fee received from the server.
  • the electronic device 110 may transmit the first transaction data to the server 130 in operation 203 .
  • the electronic device 110 may transmit the transaction data to the server 130 as it is generated based on the digital signature through the private key.
  • the server 130 may detect a transmission delay state of the first transaction data generated in the block chain network 150 in operation 205 . However, when the first transaction data includes a plurality of transaction data, the server 130 sequentially transmits the first transaction data to the block chain network 150 based on the fee information before executing operation 205 . action can be executed first.
  • the server 130 may start monitoring the blockchain network 150 in response to receiving the first transaction data from the electronic device 110 .
  • the transmission delay state may refer to a state in which any one of the first transaction data including at least one transaction data is not written to a new block and waits in the memory pool.
  • the first transaction data may include first-first transaction data having fee information of 1 satoshi/byte, first-second transaction data having fee information of 2 satoshi/byte, and first-transaction data having fee information of 3 satoshi/byte 3 It can contain transaction data.
  • the 1-1 transaction data having the lowest fee information (eg, 1 satoshi/byte) may be transmitted to the blockchain network 150 first among the first transaction data.
  • the 1-1 transaction data may be determined to be in the 0 confirmation state.
  • a new block is generated according to a specific time interval (eg, 10 minutes)
  • transaction data including a high fee may be sequentially recorded in the new block.
  • the transaction data recorded in the new block may be determined as 1 confirmation state.
  • the first transaction data is stored for a long time (eg, 30 minutes) It can exist in the standby state in the memory pool for a while.
  • Transaction data waiting in the memory pool of the blockchain network 150 may be determined to be in the 0 confirmation state.
  • the server 130 may determine the state of the 1-1 transaction data as a transmission delay state when the time that the first transaction data is in the 0 confirmation state in the memory pool exceeds a threshold transmission time (eg, 10 minutes). .
  • the threshold transmission time may be set according to an arbitrary setting in the server 130 and/or the electronic device 110 or a user setting.
  • the 1-2 transaction data having higher fee information (eg, 2 satoshi/byte) than the 1-1 transaction data is transferred to the block chain may be transmitted to the network 150 .
  • the status of the 1-2 transaction data may be determined as a transmission delay state.
  • the server 130 transmits the first transaction data (eg, the first transaction data It may be determined that the -1 transaction data, the 1-2 transaction data, and the 1-3 transaction data) are in a transmission delay state.
  • the server 130 may transmit the state information of the first transaction data to the electronic device 110 in operation 207 .
  • the state information of the first transaction data may mean that the first transaction data is in a transmission delay state.
  • the server 130 may transmit the state information of the first transaction data to the electronic device 110 through a push notification.
  • a specific application eg, decentralized application, DApp
  • the server 130 may transmit the state information of the first transaction data detected by monitoring the blockchain network 150 to a specific application of the electronic device 110 through a push notification.
  • the push notification may be in the form of a message (eg Firebase Cloud Messaging, FCM) sent per app.
  • FCM Firebase Cloud Messaging
  • the server 130 may calculate the recommendation fee information in operation 209 .
  • the server 130 may check (eg, monitor) transaction information in the memory pool of the block chain network 150 through the communication circuit 132 .
  • the server 130 may calculate a recommendation fee based on fee information of unconfirmed transactions waiting in the memory pool. For example, the server 130 may arrange unconfirmed transactions waiting in the memory pool in the order of transactions having high fee information.
  • the server 130 may calculate recommendation fee information having a “fast” transmission speed based on fee information of unconfirmed transactions having high fee information (eg, unconfirmed transactions having top 25% fee information).
  • the server 130 may calculate recommendation fee information having a “normal” transfer rate based on fee information of unconfirmed transactions having intermediate fee information (eg, unconfirmed transactions having fee information of the top 25 to 50%). .
  • the server 130 may calculate recommendation fee information having a “slow” transfer speed based on fee information of unconfirmed transactions having low fee information (eg, unconfirmed transactions having fee information of the top 50 to 75%).
  • reference values eg, top 25%, 50%, and 75%) for “fast”, “normal” and “slow” transmission rates may be changed based on parameter values set in the server.
  • the recommendation fee information may mean a single fee value (eg, 0.00005BTC) calculated based on a plurality of unconfirmed transactions.
  • the recommendation fee information may mean a range of fees calculated based on a plurality of unconfirmed transactions (eg, 0.00004BTC to 0.00006BTC).
  • the recommendation fee information may mean at least one of a fee having a “fast” transmission speed, a fee having a “normal” transmission speed, and a fee having a “slow” transmission speed.
  • operation 209 may be sequentially executed after operation 207 or may be executed in parallel with operation 207 .
  • the server 130 may calculate the recommendation fee after transmitting the status information to the electronic device 110 in response to detecting the transmission delay status of the first transaction data.
  • the server 130 may transmit the status information to the electronic device 110 after calculating the recommendation fee information in response to detecting the transmission delay status of the first transaction data.
  • the recommendation fee information may be transmitted to the electronic device 110 together with the status information.
  • the server 130 may transmit recommendation fee information to the electronic device 110 in operation 211 .
  • the server 130 may transmit recommendation fee information to the electronic device 110 through a push notification.
  • the electronic device 110 may generate second transaction data in operation 213 .
  • the electronic device 110 may generate second transaction data including at least one piece of transaction data for transferring some of the unused transaction output values of the first address from the first address to the second address.
  • the electronic device 110 may generate second transaction data based on the received recommendation fee information.
  • the electronic device 110 may identify a fee range (eg, 0.00004BTC to 0.00006BTC) set based on recommendation fee information having a “fast” transmission speed.
  • the electronic device 110 may generate second transaction data including the set fee range by performing a digital signature based on the private key.
  • the electronic device 110 may transmit the second transaction data to the server 130 in operation 215 .
  • the server 130 may sequentially transmit the second transaction data to the block chain network 150 based on the fee information in operation 217 . have.
  • the server 130 may acquire status information indicating the transmission completion status.
  • FIG. 3 is a flowchart illustrating an operation of an electronic device according to an exemplary embodiment.
  • contents corresponding to, identical to, or similar to those described above may be omitted.
  • operations 301 to 309 illustrated in FIG. 3 will be understood to be performed by a processor (eg, processor 116 of FIG. 1 ) of an electronic device (eg, electronic device 110 of FIG. 1 ).
  • a processor eg, processor 116 of FIG. 1
  • an electronic device eg, electronic device 110 of FIG. 1 .
  • the electronic device 110 may generate first transaction data in operation 301 .
  • the first transaction data includes first-to-first transaction data including first fee information (eg, 0.00000003BTC (3satoshi)) and second fee information that is a higher fee than the first fee information (eg, 0.00000005BTC ( 5satoshi)) included in the 1-2 transaction data may be included.
  • first fee information and the second fee information may be set by a user.
  • the first fee information and the second fee information may be received from a server (eg, the server 130 of FIG. 1 ).
  • the electronic device 110 may transmit the first transaction data to the server in operation 303 .
  • the electronic device 110 may transmit the first transaction data to the server (eg, the server 130 of FIG. 1 ) as it generates the first transaction data based on the digital signature through the private key.
  • the electronic device 110 may receive the state information of the first transaction data from the server 130 in operation 305 .
  • the electronic device 110 may display that the first transaction data is in a transmission delay state through a display (eg, the display 118 of FIG. 1 ).
  • the electronic device 110 may display a notification indicating that the first transaction data is in a transmission delay state on a notification bar disposed at the upper end of the display 118 .
  • the notification may include a notification suggesting a fee change.
  • the electronic device 110 may receive recommendation fee information from the server 130 in operation 307 .
  • the electronic device 110 may receive a recommendation fee based on real-time transaction information of a block chain network (eg, the block chain network 150 of FIG. 1 ).
  • the recommendation fee may mean a fee range that can be recorded in a new block to be generated within a short time (eg, 10 minutes) from the current time point.
  • operation 307 may be sequentially executed after operation 305 or may be executed in parallel with operation 305 .
  • the electronic device 110 may generate second transaction data based on the recommendation fee information.
  • the second transaction data includes second transaction data 2-1 including third fee information (eg 0.0000002BTC (20satoshi)) and fourth fee information higher than the third fee information (eg 0.0000003BTC (30satoshi)) ) may be generated with the 2-2 transaction data.
  • the third fee information and the fourth fee information may be included in a recommendation fee (eg, 0.0000002BTC to 0.0000003BTC) that can be recorded in a new block to be generated within a short time from the current time point.
  • FIG. 4 illustrates a UI state of an electronic device that has received transaction status information and recommendation fee information, according to an embodiment.
  • contents corresponding to, identical to, or similar to those described above may be omitted.
  • the electronic device (eg, the electronic device 110 of FIG. 1 ) includes a first UI 400 including a transmission delay notification of transaction data through a display (eg, the display 118 of FIG. 1 ).
  • the transmission delay notification may be displayed through a notification bar on the display 118 or may be displayed through a pop-up window.
  • the transmission delay notification may include information suggesting retransmission of transaction data (eg, “Click retransmission”).
  • the electronic device 110 may receive a touch input 402 for a region displaying a transmission delay notification.
  • the electronic device 110 may display the second UI 410 including the newly generated transaction data through the display 118 .
  • the electronic device 110 may display the newly generated transaction data 412 through a layer pop-up that may be superimposed on the first UI 400 .
  • the transaction data 412 may include a transaction ID (TXID), a remittance amount (amount), a fee (fee), and a total amount (total).
  • the transaction data 412 may be generated based on the recommendation fee information 414 received from a server (eg, the server 130 of FIG. 1 ).
  • transaction data in a transmission delay state is " Remittance amount of "1,022,019KRW", " A fee of 60,820” and " 1,082,839KRW”.
  • the recommendation fee information 414 received from the server 130 sign " 74,915KRW" may be reflected to generate transaction data 412.
  • FIG. 5 is a flowchart illustrating an operation of a server for detecting a transmission delay state of a transaction when first transaction data includes a plurality of transaction data according to an embodiment.
  • the operations illustrated in FIG. 5 may be related to operation 205 of FIG. 2 .
  • contents corresponding to, identical to, or similar to those described above may be omitted.
  • operations 501 to 509 illustrated in FIG. 5 may be understood to be performed by a processor (eg, processor 136 of FIG. 1 ) of a server (eg, server 130 of FIG. 1 ). .
  • the server 130 may receive first transaction data including a plurality of transaction data from an electronic device (eg, the electronic device 110 of FIG. 1 ).
  • the first transaction data includes first-to-first transaction data including first fee information (eg, 0.00000003BTC (3satoshi)) and second fee information that is a higher fee than the first fee information (eg, 0.00000005BTC ( 5satoshi)) included in the 1-2 transaction data may be included.
  • first fee information eg, 0.00000003BTC (3satoshi)
  • second fee information that is a higher fee than the first fee information (eg, 0.00000005BTC ( 5satoshi)) included in the 1-2 transaction data
  • the server 130 may transmit the 1-1 transaction data including the first fee information to the block chain network (eg, the block chain network 150 of FIG. 1 ) in operation 503 .
  • the server 130 may arrange the fee information of the first transaction data in an ascending order, and sequentially transmit the transaction data including the lowest fee information to the block chain network 150 .
  • the server 130 transmits the 1-1 transaction data including a fee of 0.00000003 BTC (3 satoshi) to the blockchain network 150 before the 1-2 transaction data including a fee of 0.00000005 (5 satoshi). can be transmitted
  • the server 130 may check the transmission delay state of the 1-1 transaction data in operation 505 .
  • the server 130 delays the transmission of the 1-1 transaction data. state can be determined.
  • the server 130 may transmit the 1-2 transaction data including the second fee information higher than the first fee information to the block chain network 150 in operation 507 .
  • the server 130 after transmitting the 1-1 transaction data including the lowest fee information among the first transaction data, the server 130 sequentially transmits the 1-2 transaction data including the second lowest fee information.
  • the first transaction data includes only two transaction data, but is not limited to two, and the number of transaction data may be changed according to a fee range setting.
  • the server 130 may check the transmission delay state of the 1-2 transaction data in operation 509 . In an embodiment, when the 1-2 transaction data is not recorded in the new block during the threshold transmission time set by the user, the server 130 may determine the transmission delay state for the 1-2 transaction data. In another embodiment, when the 1-2 transaction data is recorded in the new block within the threshold transmission time set by the user, the server 130 may determine the transmission completion status for the 1-2 transaction data. In this case, operations after operation 205 of FIG. 2 may be omitted.
  • FIG. 6 is a flowchart illustrating an operation of a server for determining state information of transaction data based on a threshold transmission time for fee information according to an embodiment.
  • the operations illustrated in FIG. 6 may be related to operation 205 of FIG. 2 .
  • contents corresponding to, identical to, or similar to those described above may be omitted.
  • operations 601 to 611 illustrated in FIG. 6 may be understood to be performed by a processor (eg, processor 136 of FIG. 1 ) of a server (eg, server 130 of FIG. 1 ). .
  • the server 130 receives a first threshold transmission time for the first fee information from the electronic device (eg, the electronic device 110 of FIG. 1 ) and a first fee that is higher than the first fee information.
  • 2 Information on the second threshold transmission time for the fee information may be received.
  • the first threshold transmission time may correspond to 3 confirmation times (about 30 minutes).
  • the second threshold transmission time may correspond to 1 confirmation time (about 10 minutes).
  • the confirmation time can be used to calculate the time it takes for transaction data to be written to the new block, based on the time it takes for the new block to be created.
  • the server 130 may transmit the 1-1 transaction data to the block chain network (eg, the block chain network 150 of FIG. 1 ) in operation 603 .
  • the description of operation 603 may correspond to the description of operation 503 of FIG. 5 .
  • the server 130 determines whether the waiting time in the memory pool of the 1-1 transaction data exceeds a first threshold transmission time (eg, 3 confirmation time (30 minutes)).
  • a first threshold transmission time eg, 3 confirmation time (30 minutes)
  • the server 130 may measure the waiting time in the memory pool from the point in time when the 1-1 transaction data is transmitted to the block chain network 150 .
  • the server 130 transmits the 1-2 transaction data in operation 607 to the blockchain network 150 can be sent to
  • the server 130 checks whether the waiting time in the memory pool of the 1-2 transaction data exceeds a second threshold transmission time (eg, 1 confirmation time (10 minutes)). can In an embodiment, when the waiting time in the memory pool exceeds the second threshold transmission time (operation 609 - Yes), the server 130 may detect state information of the first transaction data in operation 611 .
  • the state information of the first transaction data may mean that the 1-1 transaction data and the 1-2 transaction data are in a transmission delay state.
  • the server 130 if, as a result of the execution of operation 605, the memory pool waiting time does not exceed the first threshold transmission time (operation 605 - NO), the server 130 completes the transmission of the 1-1 transaction data. state can be determined. According to another embodiment, as a result of the execution of operation 609, when the memory pool waiting time does not exceed the second threshold transmission time (operation 609-No), the server 130 transmits the 1-2 transaction data It can be determined to be completed.
  • 7A illustrates a first UI state of an electronic device for setting a fee range according to an embodiment.
  • 7B illustrates a second UI state of an electronic device for setting a fee range according to an embodiment.
  • 7C illustrates a third UI state of an electronic device for setting a fee range according to an embodiment.
  • 7A to 7C may correspond to a UI state corresponding to operation 201 or operation 213 of FIG. 2 .
  • the electronic device may display a first UI 700 that generates transaction data through a display (eg, the display 118 of FIG. 1 ).
  • the first UI 700 may include transaction data including an address of a recipient who receives the remittance amount, a remittance amount, and a fee.
  • the electronic device 110 transmits recommendation fee information (eg, “Fast: 0.000078BTC”, “Normal: 0.000041BTC”) received from the server (eg, the server 130 of FIG. 1 ) in the area where the fee is displayed. ” and “Slow: 0.000005BTC”).
  • recommendation fee information eg, “Fast: 0.000078BTC”, “Normal: 0.000041BTC”
  • the electronic device 110 may receive a touch input 702 for a “fee range setting” area that is disposed in at least a part of the area where the fee is displayed.
  • the electronic device 110 displays a UI for setting the fee range through the display 118 (eg, the second UI 710 of FIG. 7B ). can be displayed
  • the electronic device 110 may display a second UI 710 for setting a fee range through the display 118 .
  • the fee range may be calculated based on the recommendation fee received from the server 130 .
  • the electronic device 110 receives information received from the server 130 in an area 712 representing the lowest fee value and an area 714 representing the highest fee value.
  • Referral fees e.g. the lowest fee value of 0.00004BTC and the highest fee value of 0.00006BTC
  • the electronic device 110 may change the fee range based on a user input to the area 712 representing the lowest fee value and the area 714 representing the highest fee value.
  • the electronic device 110 may display windows (eg text boxes) and input UIs (eg keyboard UIs).
  • the electronic device 110 may display values within a predetermined range based on the displayed fee value in a list form (eg, a drop-down list). For example, the electronic device 110 may change the lowest fee value to 0.00003BTC and the highest fee value to 0.00007BTC based on the user input.
  • the electronic device 110 may receive a touch input 716 that determines the fee range as a recommendation fee or a fee range set by the user.
  • the electronic device 110 may display a third UI 720 including information related to a plurality of transaction data through the display 118 .
  • the third UI 720 may include information related to a plurality of transaction data generated based on the determined fee range.
  • the electronic device 110 may generate transaction data TX#a13n including the lowest fee value of 0.00004 BTC and transaction data TX#c21d including the highest fee value of 0.00006 BTC.
  • the electronic device 110 may generate a plurality of transaction data based on a fee value that is between the lowest fee value and the highest fee value.
  • the electronic device 110 may generate transaction data TX#b23p including 0.00005BTC within the determined fee range.
  • a plurality of transaction data is generated at an interval of 0.00001 BTC (1000 satoshi) for the fee range, but the interval value may be changed according to a user setting or an arbitrary setting in the electronic device.
  • the electronic device 110 may display 0.00004BTC, 0.000041BTC, 0.000042BTC, . , it is possible to create multiple transaction data including fees of 0.000059BTC and 0.00006BTC.
  • the electronic device 110 may include information (eg, TX ID, fee information) related to a plurality of generated transaction data in the third UI 720 and display it through the display 118 .
  • FIG. 8A illustrates a memory pool of a blockchain network according to an embodiment.
  • the memory pool 800 may mean a space in which unconfirmed transactions that are not recorded in blocks are stored.
  • the memory pool 800 may be temporarily located in the memory of a blockchain node (eg, the blockchain node 152 of FIG. 1 ).
  • the blockchain node 152 may add only the verified transaction data to the memory pool 800 after validating the received transaction data.
  • the unconfirmed transaction stored in the memory pool 800 includes a plurality of transactions including a first transaction 802 , a second transaction 804 , a third transaction 806 , and an n-th transaction 808 .
  • the memory pool 800 may arrange and store a plurality of transactions in the order of the highest fee.
  • the memory pool 800 may include a second transaction 804 with a 0.00004 BTC fee 812 , a first transaction 802 with a 0.00001 BTC fee 810 , and a third transaction 804 with a 0.000008 BTC fee 814 .
  • a transaction 806 and an n-th transaction 808 having a 0.00000002 BTC fee 816 may be arranged and stored in order.
  • 8B illustrates a virtual block for calculating recommendation fee information according to an embodiment.
  • some transactions among a plurality of transactions arranged in the memory pool may be included in a block to be generated by a miner. After some transactions are included in the block to be created, the miner generates a block by sequentially substituting nonce values, and only when the nonce values are matched, the generated block can be propagated to the block chain node 152 .
  • some transactions may be composed of transactions corresponding to a priority among a plurality of transactions.
  • the server (eg, the server 130 of FIG. 1 ) checks the memory pool 800 of the blockchain network (eg, the blockchain network 150 of FIG. 1 ), and stores the virtual block 824 .
  • the server 130 may create a virtual block 824 having a size of 1 MB, and add an upper part of the transaction data of the memory pool 800 arranged in descending order of fees to the virtual block 824 . have.
  • the server 130 may add transaction data added to the virtual block 824 until the size reaches 1 MB.
  • the server 130 may calculate the recommendation fee based on the transaction speed and the fee information of the transaction data added to the virtual block 824 .
  • the server 130 generates later based on the fee information and the current transaction speed of a plurality of transactions (eg, the second transaction, the first transaction, and the third transaction) included in the virtual block 824 .
  • the commission of the top 50% that can be recorded in the block to be to-be can be calculated as the referral fee.
  • FIG. 9 is a block diagram of an electronic device in a network environment according to various embodiments of the present disclosure.
  • the electronic device 901 communicates with the electronic device 902 through a first network 998 (eg, a short-range wireless communication network) or a second network 999 . It may communicate with the electronic device 904 or the server 908 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 901 may communicate with the electronic device 904 through the server 908 .
  • a first network 998 eg, a short-range wireless communication network
  • a second network 999 e.g., a second network 999 . It may communicate with the electronic device 904 or the server 908 through (eg, a long-distance wireless communication network). According to an embodiment, the electronic device 901 may communicate with the electronic device 904 through the server 908 .
  • the electronic device 901 includes a processor 920 , a memory 930 , an input device 950 , a sound output device 955 , a display device 960 , an audio module 970 , and a sensor module ( 976 , interface 977 , haptic module 979 , camera module 980 , power management module 988 , battery 989 , communication module 990 , subscriber identification module 996 , or antenna module 997 . ) may be included. In some embodiments, at least one of these components (eg, the display device 960 or the camera module 980 ) may be omitted or one or more other components may be added to the electronic device 901 .
  • the sensor module 976 eg, a fingerprint sensor, an iris sensor, or an illuminance sensor
  • the display device 960 eg, a display
  • the processor 920 executes software (eg, a program 940) to execute at least one other component (eg, hardware or software component) of the electronic device 901 connected to the processor 920 . It can control and perform various data processing or operations. According to an embodiment, as at least part of data processing or operation, the processor 920 stores a command or data received from another component (eg, the sensor module 976 or the communication module 990 ) into the volatile memory 932 . may be loaded into , process commands or data stored in volatile memory 932 , and store the resulting data in non-volatile memory 934 .
  • software eg, a program 940
  • the processor 920 stores a command or data received from another component (eg, the sensor module 976 or the communication module 990 ) into the volatile memory 932 .
  • the processor 920 stores a command or data received from another component (eg, the sensor module 976 or the communication module 990 ) into the volatile memory 932 . may be loaded into , process commands or data stored in volatile
  • the processor 920 includes a main processor 921 (eg, a central processing unit or an application processor), and an auxiliary processor 923 (eg, a graphic processing unit or an image signal processor) that can be operated independently or together with the main processor 921 . , a sensor hub processor, or a communication processor). Additionally or alternatively, the auxiliary processor 923 may be configured to use less power than the main processor 921 or to be specialized for a designated function.
  • the coprocessor 923 may be implemented separately from or as part of the main processor 921 .
  • the co-processor 923 may be, for example, on behalf of the main processor 921 while the main processor 921 is in an inactive (eg, sleep) state, or the main processor 921 is active (eg, executing an application). ), together with the main processor 921, at least one of the components of the electronic device 901 (eg, the display device 960, the sensor module 976, or the communication module 990) It is possible to control at least some of the related functions or states.
  • the coprocessor 923 eg, image signal processor or communication processor
  • may be implemented as part of another functionally related component eg, camera module 980 or communication module 990. have.
  • the memory 930 may store various data used by at least one component (eg, the processor 920 or the sensor module 976 ) of the electronic device 901 .
  • the data may include, for example, input data or output data for software (eg, the program 940 ) and instructions related thereto.
  • the memory 930 may include a volatile memory 932 or a non-volatile memory 934 .
  • the program 940 may be stored as software in the memory 930 , and may include, for example, an operating system 942 , middleware 944 , or an application 946 .
  • the input device 950 may receive a command or data to be used by a component (eg, the processor 920 ) of the electronic device 901 from the outside (eg, a user) of the electronic device 901 .
  • the input device 950 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (eg, a stylus pen).
  • the sound output device 955 may output a sound signal to the outside of the electronic device 901 .
  • the sound output device 955 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback, and the receiver can be used to receive an incoming call.
  • the receiver may be implemented separately from or as a part of the speaker.
  • the display device 960 may visually provide information to the outside (eg, a user) of the electronic device 901 .
  • the display device 960 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the corresponding device.
  • the display device 960 may include a touch circuitry configured to sense a touch or a sensor circuit (eg, a pressure sensor) configured to measure the intensity of a force generated by the touch. have.
  • the audio module 970 may convert a sound into an electric signal or, conversely, convert an electric signal into a sound. According to an embodiment, the audio module 970 acquires a sound through the input device 950 , or an external electronic device (eg, a sound output device 955 ) directly or wirelessly connected to the electronic device 901 .
  • the electronic device 902) eg, a speaker or headphones
  • the sensor module 976 detects an operating state (eg, power or temperature) of the electronic device 901 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the sensed state. can do.
  • the sensor module 976 may include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, a humidity sensor, or an illuminance sensor.
  • the interface 977 may support one or more designated protocols that may be used for the electronic device 901 to directly or wirelessly connect with an external electronic device (eg, the electronic device 902 ).
  • the interface 977 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card
  • connection terminal 978 may include a connector through which the electronic device 901 can be physically connected to an external electronic device (eg, the electronic device 902 ).
  • the connection terminal 978 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 979 may convert an electrical signal into a mechanical stimulus (eg, vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic sense.
  • the haptic module 979 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 980 may capture still images and moving images. According to an embodiment, the camera module 980 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 988 may manage power supplied to the electronic device 901 .
  • the power management module 388 may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
  • PMIC power management integrated circuit
  • the battery 989 may supply power to at least one component of the electronic device 901 .
  • the battery 989 may include, for example, a non-rechargeable primary cell, a rechargeable secondary cell, or a fuel cell.
  • the communication module 990 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 901 and an external electronic device (eg, the electronic device 902 , the electronic device 904 , or the server 908 ). It can support establishment and communication performance through the established communication channel.
  • the communication module 990 may include one or more communication processors that operate independently of the processor 920 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 990 is a wireless communication module 992 (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 994 (eg, : It may include a LAN (local area network) communication module, or a power line communication module).
  • GNSS global navigation satellite system
  • a corresponding communication module is a first network 998 (eg, a short-range communication network such as Bluetooth, WiFi direct or IrDA (infrared data association)) or a second network 999 (eg, a cellular network, the Internet, or It can communicate with an external electronic device through a computer network (eg, a telecommunication network such as a LAN or WAN).
  • a computer network eg, a telecommunication network such as a LAN or WAN.
  • These various types of communication modules may be integrated into one component (eg, a single chip) or may be implemented as a plurality of components (eg, multiple chips) separate from each other.
  • the wireless communication module 992 uses subscriber information (eg, International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 996 within a communication network, such as the first network 998 or the second network 999 .
  • subscriber information eg, International Mobile Subscriber Identifier (IMSI)
  • IMSI International Mobile Subscriber Identifier
  • the electronic device 901 may be identified and authenticated.
  • the antenna module 997 may transmit or receive a signal or power to the outside (eg, an external electronic device).
  • the antenna module may include one antenna including a conductor formed on a substrate (eg, a PCB) or a radiator formed of a conductive pattern.
  • the antenna module 997 may include a plurality of antennas. In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 998 or the second network 999 is connected from the plurality of antennas by, for example, the communication module 990 . can be chosen.
  • a signal or power may be transmitted or received between the communication module 990 and an external electronic device through the selected at least one antenna.
  • other components eg, RFIC
  • other than the radiator may be additionally formed as a part of the antenna module 997 .
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • GPIO general purpose input and output
  • SPI serial peripheral interface
  • MIPI mobile industry processor interface
  • a command or data may be transmitted or received between the electronic device 901 and the external electronic device 904 through the server 908 connected to the second network 999 .
  • Each of the electronic devices 902 and 904 may be the same or a different type of device from the electronic device 901 .
  • all or some of the operations performed by the electronic device 901 may be executed by one or more of the external electronic devices 902 , 904 , or 908 .
  • the electronic device 901 may instead of executing the function or service itself.
  • one or more external electronic devices may be requested to perform at least a part of the function or the service.
  • the one or more external electronic devices that have received the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit a result of the execution to the electronic device 901 .
  • the electronic device 901 may process the result as it is or additionally and provide it as at least a part of a response to the request.
  • cloud computing, distributed computing, or client-server computing technology may be used.
  • the electronic device may be a device of various types.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance device.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a laptop, a desktop, a tablet, or a portable multimedia device
  • portable medical device e.g., a portable medical device
  • camera e.g., a camera
  • a wearable device e.g., a smart watch
  • a home appliance device e.g., a smart bracelet
  • first, second, or first or second may be used simply to distinguish the element from other elements in question, and may refer to elements in other aspects (e.g., importance or order) is not limited. that one (eg first) component is “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively” When referenced, it means that one component can be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as, for example, logic, logic block, component, or circuit.
  • a module may be an integrally formed part or a minimum unit or a part of the part that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • one or more instructions stored in a storage medium may be implemented as software (eg, a program 940) including
  • a processor eg, processor 920
  • a device eg, electronic device 901
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium is a tangible device and does not contain a signal (eg, electromagnetic wave), and this term is used in cases where data is semi-permanently stored in the storage medium and It does not distinguish between temporary storage cases.
  • a signal eg, electromagnetic wave
  • the method according to various embodiments disclosed in this document may be provided by being included in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • the computer program product is distributed in the form of a machine-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or on two user devices ( It can be distributed (eg downloaded or uploaded) directly or online between smartphones (eg: smartphones).
  • a part of the computer program product may be temporarily stored or temporarily created in a machine-readable storage medium such as a memory of a server of a manufacturer, a server of an application store, or a relay server.
  • each component eg, a module or a program of the above-described components may include a singular or a plurality of entities.
  • one or more components or operations among the above-described corresponding components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg, a module or a program
  • the integrated component may perform one or more functions of each component of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. .
  • operations performed by a module, program, or other component are executed sequentially, in parallel, repetitively, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Multimedia (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Telephonic Communication Services (AREA)
  • Computer Security & Cryptography (AREA)

Abstract

본 개시에 따른 일 실시 예는 통신회로 및 상기 통신회로와 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 제1 주소의 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제1 주소와 구별되는 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터를 생성하고, 상기 통신회로를 통해서 상기 제1 트랜잭션 데이터를 서버에 전송하고, 상기 통신회로를 통해서 상기 서버로부터 블록체인 네트워크에서의 상기 제1 트랜잭션 데이터의 전송 지연 상태를 나타내는 상태 정보를 수신하고, 상기 통신회로를 통해서 상기 서버로부터 추천 수수료 정보를 수신하고, 상기 추천 수수료 정보에 기반하여 상기 제1 주소의 상기 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제2 트랜잭션 데이터를 생성하도록 설정되는 전자 장치가 개시된다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

블록체인을 이용하는 전자 장치 및 동작 방법
본 개시에 따른 다양한 실시 예들은, 블록체인을 이용하여 거래를 수행하는 전자 장치에 관한 것이다.
블록체인(blockchain)은 데이터를 특정 단위의 블록으로 만들어 유효한 네트워크 상에서 체인 형태로 연결하는 데이터 저장 기술이다. 블록체인 노드(node)는 중앙 서버에 의해 관리되지 않으며, 개별적인 분산 공공 장부를 갖는다. 암호화폐의 거래 내역은 분산 공공 장부에 기재되고, 모든 블록체인 네트워크 상의 노드는 동일한 거래 내역 데이터를 보유할 수 있다. 이에 따라 블록체인 노드에 저장된 데이터에 대한 개별적인 위조 및 변조는 어렵다.
최근에는 블록체인 기술에 기반하여 다양한 암호화폐(예: 비트코인(bitcoin), 이더리움(ethereum))가 등장하고 있다. 암호화폐를 통해 가상 거래를 수행하는 경우에, 거래 내용이 담긴 신규 블록이 생성될 수 있다. 생성된 블록은 블록체인 네트워크 상에 있는 모든 참여자에게 전송되고, 특정 알고리즘에 기반하여 승인된 블록만이 블록체인 노드에 저장되어 거래가 완료될 수 있다.
사용자에 의해 생성된 트랜잭션이 블록체인 네트워크에 전송되면, 블록체인 노드는 트랜잭션의 유효성을 검사하는 검증(verify)을 수행한다. 유효성이 검증된 트랜잭션은 블록체인 네트워크의 메모리 풀(memory pool)에 전송된다. 메모리 풀은 블록에 기록되지 않은 미확인 트랜잭션(unconfirmed transaction)들이 저장되는 공간을 의미할 수 있다. 특정한 시간 간격(예: 10분)으로 신규 블록이 생성되면, 메모리 풀에 저장된 미확인 트랜잭션 중 거래 수수료가 높은 트랜잭션부터 순차적으로 신규 블록에 기록된다.
사용자가 트랜잭션의 거래 수수료를 낮게 설정하거나, 메모리 풀 내에 트랜잭션이 급증하는 경우에, 사용자에 의해 생성된 트랜잭션은 전송 지연 상태가 될 수 있다. 전송 지연 상태는 트랜잭션이 신규 블록에 기록되지 않고, 메모리 풀에서 장시간 동안 대기하는 상태를 의미할 수 있다. 트랜잭션의 상태 정보가 사용자에게 전달되지 않는 경우에, 사용자는 트랜잭션이 전송 지연 상태임을 파악하기 어렵다. 따라서, 높은 거래 수수료를 포함하는 트랜잭션이 생성되기 어렵다. 또한, 사용자는 메모리 풀에서 대기하는 미확인 트랜잭션들의 거래 수수료를 알 수 없으므로, 트랜잭션이 블록에 기록될 수 있는 거래 수수료를 예측하기 어렵다.
따라서, 본 개시에 따른 다양한 실시 예에서는 트랜잭션의 상태 정보 및 추천 수수료 정보를 표시하는 전자 장치를 제공하고자 한다.
일 실시 예에서의 전자 장치는 통신회로 및 상기 통신회로와 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 제1 주소의 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제1 주소와 구별되는 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터를 생성하고, 상기 통신회로를 통해서 상기 제1 트랜잭션 데이터를 서버에 전송하고, 상기 통신회로를 통해서 상기 서버로부터 블록체인 네트워크에서의 상기 제1 트랜잭션 데이터의 전송 지연 상태를 나타내는 상태 정보를 수신하고, 상기 통신회로를 통해서 상기 서버로부터 추천 수수료 정보를 수신하고, 상기 추천 수수료 정보에 기반하여 상기 제1 주소의 상기 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제2 트랜잭션 데이터를 생성하도록 설정될 수 있다.
일 실시 예에서의 전자 장치의 동작 방법은 제1 주소의 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제1 주소와 구별되는 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터를 생성하는 동작, 상기 제1 트랜잭션 데이터를 서버에 전송하는 동작, 상기 서버로부터 블록체인 네트워크에서의 상기 제1 트랜잭션 데이터의 전송 지연 상태를 나타내는 상태 정보를 수신하는 동작, 상기 서버로부터 추천 수수료 정보를 수신하는 동작, 및 상기 추천 수수료 정보에 기반하여 상기 제1 주소의 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제2 트랜잭션 데이터를 생성하는 동작을 포함할 수 있다.
일 실시 예에서의 서버는 통신회로 및 상기 통신회로와 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는 상기 통신회로를 통해서 전자 장치로부터 제1 주소의 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제1 주소와 구별되는 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터를 수신하고, 블록체인 네트워크에서의 상기 제1 트랜잭션 데이터의 전송 지연 상태를 나타내는 상태 정보를 검출하고, 상기 검출된 상태 정보를 상기 통신회로를 통해서 상기 전자 장치에 전송하고, 추천 수수료 정보를 계산하여 상기 통신회로를 통해서 상기 전자 장치에 전송하고, 상기 추천 수수료 정보에 기반하여 생성된 상기 제1 주소의 상기 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제2 트랜잭션 데이터를 상기 통신회로를 통해서 상기 전자 장치로부터 수신하도록 설정될 수 있다.
본 개시의 다양한 실시 예에 따르면, 전자 장치를 통해 트랜잭션의 상태 정보를 표시할 수 있다.
본 개시의 다양한 실시 예에 따르면, 추천 수수료 정보에 기반한 트랜잭션을 생성하는 전자 장치를 통해 트랜잭션의 전송 지연을 방지할 수 있다.
도 1은 일 실시 예에 따른 전자 장치, 서버 및 블록체인 네트워크를 포함하는 트랜잭션 시스템의 구성을 나타낸다.
도 2는 일 실시 예에 따른 트랜잭션 시스템의 동작 흐름도를 도시한다.
도 3은 일 실시 예에 따른 전자 장치의 동작 흐름도를 도시한다.
도 4는 일 실시 예에 따른 트랜잭션의 상태 정보 및 추천 수수료 정보를 수신한 전자 장치의 UI 상태를 도시한다.
도 5는 일 실시 예에 따른 제1 트랜잭션 데이터가 복수 개의 트랜잭션 데이터를 포함하는 경우에, 트랜잭션의 전송 지연 상태를 검출하는 서버의 동작 흐름도를 도시한다.
도 6은 일 실시 예에 따른 수수료 정보에 대한 임계 전송 시간에 기반하여 트랜잭션 데이터의 상태 정보를 판단하는 서버의 동작 흐름도를 도시한다.
도 7a는 일 실시 예에 따른 수수료 범위를 설정하는 전자 장치의 제1 UI 상태를 도시한다.
도 7b는 일 실시 예에 따른 수수료 범위를 설정하는 전자 장치의 제2 UI 상태를 도시한다.
도 7c는 일 실시 예에 따른 수수료 범위를 설정하는 전자 장치의 제3 UI 상태를 도시한다.
도 8a는 일 실시 예에 따른 블록체인 네트워크의 메모리 풀(memory pool)을 도시한다.
도 8b는 일 실시 예에 따른 추천 수수료 정보를 계산하기 위한 가상 블록(virtual block)을 도시한다.
도 9는 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치의 블록도를 도시한다.
도 1은 일 실시 예에 따른 전자 장치, 서버 및 블록체인 네트워크를 포함하는 트랜잭션 시스템(100)의 구성을 나타낸다.
도 1을 참조하면, 트랜잭션 시스템(100)은 전자 장치(110), 서버(130) 및 블록체인 네트워크(150)를 포함할 수 있다.
일 실시 예에서, 전자 장치(110)(예: 도 9의 전자 장치(901))는 통신회로(112)(예: 도 9의 통신 모듈(990)), 메모리(114)(예: 도 9의 메모리(930)), 프로세서(116)(예: 도 9의 프로세서(920)) 및 디스플레이(118)(예: 도 9의 표시 장치(960))를 포함할 수 있다. 일 실시 예에서, 통신회로(112)는 전자 장치(110)와 외부 전자 장치(예: 서버(130))간에 통신 채널을 수립하고 데이터를 전송 및 수신할 수 있다. 예를 들어, 통신회로(112)는 트랜잭션을 수행하는 전자 장치(110)의 트랜잭션 데이터를 서버(130)에 전송할 수 있다. 서버(130)는 전자 장치(110)의 제조사 서버를 포함할 수 있다.
일 실시 예에서, 전자 장치(110)는 트랜잭션을 수행하기 위해 비대칭키 암호 방식(예: 공개키 암호 방식 public-key cryptography)으로 키 쌍(key pair)을 생성할 수 있다. 일 실시 예에서, 메모리(114)는 생성된 개인 키(private key)를 저장할 수 있다. 트랜잭션은 개인 키에 기반한 디지털 서명을 통해 생성될 수 있다. 일 실시 예에서, 메모리(114)는 보안 환경(security environment)을 제공하는 메모리인 보안 메모리(예: TrustZone)를 의미할 수도 있다.
일 실시 예에서, 디스플레이(118)는 전자 장치(110)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 예를 들어, 디스플레이(118)는 전자 장치(110)의 트랜잭션 생성 정보, 잔액 정보, 트랜잭션 전송 지연 정보, 트랜잭션 전송 완료 정보 및 추천 수수료 정보 중 적어도 하나의 정보를 표시할 수 있다.
일 실시 예에서, 프로세서(116)는 트랜잭션 데이터에 기반하여 수수료를 계산할 수 있다. 예를 들어, 프로세서(116)는 2.1BTC를 가진 미사용 트랜잭션 출력 값(UTXO)을 갖는 제1 주소에서 제2 주소로 1.9BTC를 전송하고, 제1 주소로 0.05BTC를 전송하는 트랜잭션 데이터를 생성할 수 있다. 프로세서(116)는 Vin 및 Vout에 기반하여 트랜잭션 데이터의 수수료가 0.15BTC임을 계산할 수 있다. 또 다른 실시 예에서, 프로세서(116)는 설정된 수수료 정보에 기반하여 트랜잭션 데이터를 생성할 수 있다. 예를 들어, 프로세서(116)는 트랜잭션 데이터에 대한 수수료를 0.15BTC로 설정할 수 있다. 프로세서(116)는 2.1BTC를 가진 미사용 트랜잭션 출력 값(UTXO)을 갖는 제1 주소에서 0.15BTC의 수수료를 제외한 나머지를 제1 주소 및 제2 주소로 전송할 수 있다.
일 실시 예에서, 서버(130)는 통신회로(132), 메모리(134) 및 프로세서(136)를 포함할 수 있다. 일 실시 예에서, 통신회로(132)는 서버(130)와 외부 장치(예: 전자 장치(110), 블록체인 네트워크(150))간에 통신 채널을 수립하여 데이터를 전송 및 수신할 수 있다. 예를 들어, 통신회로(132)는 전자 장치(110)로부터 수신한 트랜잭션 데이터를 블록체인 네트워크(150)에 전송할 수 있다. 전송된 트랜잭션 데이터는 블록체인 노드(152)에 저장될 수 있다.
일 실시 예에서, 블록체인 노드(152)는, 블록체인 네트워크(150)에 포함된 전자 장치로 블록체인 네트워크(150)에서 트랜잭션을 전송하는 역할을 수행할 수 있으며, 도 9의 전자 장치(901, 902) 및/또는 전자 장치(110)와 동일 또는 적어도 일부가 유사할 수 있으나 이에 제한하지 않고, 일부의 전자 장치 또는 시스템 구성요소(예: 프로세서, 메모리)로 구현될 수도 있다.
일 실시 예에서, 프로세서(136)는 통신회로(132)를 통해 전자 장치(110)로부터 데이터를 수신할 수 있다. 일 실시 예에서, 프로세서(136)는 통신회로(132)를 통해 블록체인 네트워크(150)를 모니터링할 수 있다. 예를 들어, 프로세서(136)는 블록체인 노드(152) 및 서버(130) 간에 메시지 교환 라이브러리(예: jsonRPC, ZeroMQ)를 통해 신규 블록의 생성 정보 및 블록체인 네트워크(150)의 메모리 풀 내 트랜잭션 정보 등을 확인할 수 있다. 일 실시 예에서, 상기 메모리 풀은 블록에 기록되지 않은 상태인 미확인 트랜잭션 정보들이 저장되는 공간으로, 블록체인 노드(152)의 메모리(예: 도 9의 메모리(930))에 위치할 수 있다. 또한, 상기 메모리 풀 내 트랜잭션 정보들은 블록체인 네트워크(150)를 통해서 연결된 복수 개의 블록체인 노드(152)들을 통해 공유될 수 있다. 도 1은 전자 장치(110)에서 생성한 데이터가 서버(130)를 거쳐 블록체인 네트워크(150)로 전송되는 트랜잭션 시스템만을 도시하고 있으나, 또 다른 실시 예에서, 전자 장치(110)에서 생성된 데이터가 블록체인 네트워크(150)로 직접 전송될 수도 있다. 예를 들어, 전자 장치(110)는 트랜잭션 데이터를 생성하여 블록체인 네트워크(150)에 직접 전송하고, 트랜잭션 데이터의 생성 여부를 포함하는 데이터를 서버(130)에 전송할 수 있다. 서버(130)는 트랜잭션 데이터의 생성 여부만을 포함하는 데이터의 수신에 기반하여 블록체인 네트워크(150)의 모니터링을 개시할 수 있다.
도 2는 일 실시 예에 따른 트랜잭션 시스템의 동작 흐름도를 도시한다.
도 2를 참조하면, 전자 장치(110)는 동작 201에서 제1 트랜잭션 데이터를 생성할 수 있다. 예를 들어, 전자 장치(110)는 제1 주소의 미사용 트랜잭션 출력 값 중 일부를 제1 주소에서 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터를 생성할 수 있다. 일 실시 예에서, 제1 트랜잭션 데이터가 복수 개의 트랜잭션 데이터를 포함하는 경우에, 상기 복수 개의 트랜잭션 데이터는 서로 다른 수수료 정보를 포함할 수 있다. 예를 들어, 전자 장치(110)는 수수료의 범위(예: 1~3satoshi/byte)를 설정하여 복수 개의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터를 생성할 수 있다. 일 실시 예에서, 수수료의 범위는 사용자에 의해 설정될 수 있다. 또 다른 실시 예에서, 수수료의 범위는 서버로부터 수신된 추천 수수료에 기반하여 설정될 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 동작 203에서 제1 트랜잭션 데이터를 서버(130)에 전송할 수 있다. 일 실시 예에서, 전자 장치(110)는 개인 키를 통한 디지털 서명에 기반하여 트랜잭션 데이터를 생성함에 따라 서버(130)에 전송할 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 205에서 블록체인 네트워크(150)에서 발생하는 제1 트랜잭션 데이터의 전송 지연 상태를 검출할 수 있다. 다만, 제1 트랜잭션 데이터가 복수 개의 트랜잭션 데이터를 포함하는 경우에, 서버(130)는 동작 205를 실행하기 이전에, 수수료 정보에 기반하여 블록체인 네트워크(150)에 제1 트랜잭션 데이터를 순차적으로 전송하는 동작을 우선적으로 실행할 수 있다.
일 실시 예에서, 서버(130)는 전자 장치(110)로부터 제1 트랜잭션 데이터를 수신함에 응답하여, 블록체인 네트워크(150)의 모니터링을 개시할 수 있다. 일 실시 예에서, 상기 전송 지연 상태는 적어도 하나의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터 중 어느 하나의 트랜잭션 데이터도 신규 블록에 기록되지 않고, 메모리 풀에서 대기하는 상태를 의미할 수 있다. 예를 들어, 제1 트랜잭션 데이터는 1satoshi/byte의 수수료 정보를 갖는 제1-1 트랜잭션 데이터, 2satoshi/byte의 수수료 정보를 갖는 제1-2 트랜잭션 데이터 및 3satoshi/byte의 수수료 정보를 갖는 제1-3 트랜잭션 데이터를 포함할 수 있다. 가장 낮은 수수료 정보(예: 1satoshi/byte)를 갖는 제1-1 트랜잭션 데이터는 제1 트랜잭션 데이터 중에서 가장 먼저 블록체인 네트워크(150)에 전송될 수 있다. 이 때, 제1-1 트랜잭션 데이터가 블록체인 네트워크(150)의 메모리 풀에 대기중인 경우에, 상기 제1-1 트랜잭션 데이터는 0 confirmation 상태로 판단될 수 있다. 특정 시간 간격(예: 10분)에 따라 신규 블록이 생성되는 경우, 높은 수수료를 포함하는 트랜잭션 데이터부터 순차적으로 신규 블록에 기록될 수 있다. 신규 블록에 기록된 트랜잭션 데이터는 1 confirmation 상태로 판단될 수 있다. 블록체인 네트워크(150)의 메모리 풀에 제1 트랜잭션 데이터의 수수료 정보보다 높은 수수료 정보(예: 10satoshi/byte)를 갖는 트랜잭션 데이터가 다수 존재함에 따라, 제1 트랜잭션 데이터는 장시간(예: 30분) 동안 메모리 풀에서 대기 상태로 존재할 수 있다. 블록체인 네트워크(150)의 메모리 풀에서 대기 중인 트랜잭션 데이터는 0 confirmation 상태로 판단될 수 있다. 서버(130)는 제1 트랜잭션 데이터가 메모리 풀에서 0 confirmation 상태인 시간이 임계 전송 시간(예: 10분)을 초과하는 경우에 제1-1 트랜잭션 데이터의 상태를 전송 지연 상태로 판단할 수 있다. 임계 전송 시간은 서버(130) 및/또는 전자 장치(110) 내 임의의 설정 또는 사용자의 설정에 따라 설정될 수 있다.
이후, 전송 지연 상태로 판단된 제1-1 트랜잭션 데이터를 메모리 풀에서 삭제함에 따라, 제1-1 트랜잭션 데이터보다 높은 수수료 정보(예: 2satoshi/byte)를 갖는 제1-2 트랜잭션 데이터가 블록체인 네트워크(150)에 전송될 수 있다. 제1-2 트랜잭션 데이터가 메모리 풀에서 0 confirmation 상태인 시간이 임계 전송 시간을 초과하는 경우에, 제1-2 트랜잭션 데이터의 상태를 전송 지연 상태로 판단할 수 있다. 이와 같이, 제1-2 트랜잭션 데이터가 메모리 풀에서 삭제된 후에 전송된 제1-3 트랜잭션 데이터의 상태가 전송 지연 상태로 판단되는 경우에, 서버(130)는 제1 트랜잭션 데이터(예: 제1-1 트랜잭션 데이터, 제1-2 트랜잭션 데이터 및 제1-3 트랜잭션 데이터)가 전송 지연 상태임을 판단할 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 207에서 제1 트랜잭션 데이터의 상태 정보를 전자 장치(110)에 전송할 수 있다. 제1 트랜잭션 데이터의 상태 정보는 제1 트랜잭션 데이터가 전송 지연 상태에 있음을 의미할 수 있다. 일 실시 예에서, 서버(130)는 제1 트랜잭션 데이터의 상태 정보를 푸시 알림(push notification)을 통해 전자 장치(110)에 전송할 수 있다. 예를 들어, 전자 장치(110)에서 제1 트랜잭션 데이터를 생성하는 특정 어플리케이션(예: decentralized application, DApp)은 서버(130)와 연동될 수 있다. 서버(130)는 블록체인 네트워크(150)를 모니터링하여 검출한 제1 트랜잭션 데이터의 상태 정보를 푸시 알림을 통해 전자 장치(110)의 특정 어플리케이션에 전송할 수 있다. 푸시 알림은 앱 단위로 전송되는 메시지(예: Firebase Cloud Messaging, FCM)의 형태일 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 209에서 추천 수수료 정보를 계산할 수 있다. 일 실시 예에서, 서버(130)는 통신회로(132)를 통해 블록체인 네트워크(150)의 메모리 풀 내 트랜잭션 정보를 확인(예: 모니터링)할 수 있다. 일 실시 예에서, 서버(130)는 메모리 풀에 대기 중인 미확인 트랜잭션(unconfirmed transactions)들의 수수료 정보에 기반하여 추천 수수료를 계산할 수 있다. 예를 들어, 서버(130)는 메모리 풀에 대기 중인 미확인 트랜잭션들에 대하여, 높은 수수료 정보를 갖는 트랜잭션 순서대로 배열할 수 있다. 서버(130)는 높은 수수료 정보를 갖는 미확인 트랜잭션들(예: 상위 25%의 수수료 정보를 갖는 미확인 트랜잭션들)의 수수료 정보에 기반하여 “빠름” 전송 속도를 갖는 추천 수수료 정보를 계산할 수 있다. 서버(130)는 중간 수수료 정보를 갖는 미확인 트랜잭션들(예: 상위 25 내지 50%의 수수료 정보를 갖는 미확인 트랜잭션들)의 수수료 정보에 기반하여 “보통” 전송 속도를 갖는 추천 수수료 정보를 계산할 수 있다. 서버(130)는 낮은 수수료 정보를 갖는 미확인 트랜잭션들(예: 상위 50 내지 75%의 수수료 정보를 갖는 미확인 트랜잭션들)의 수수료 정보에 기반하여 “느림” 전송 속도를 갖는 추천 수수료 정보를 계산할 수 있다. 일 실시 예에서, “빠름”, “보통” 및 “느림” 전송 속도에 대한 기준 값(예: 상위 25%, 50% 및 75%)은 서버 내에 설정된 파라미터 값에 기반하여 변경될 수 있다.
일 실시 예에서, 추천 수수료 정보는 복수 개의 미확인 트랜잭션들에 기반하여 계산된 단일 수수료 값(예: 0.00005BTC)을 의미할 수 있다. 다른 실시 예에서, 추천 수수료 정보는 복수 개의 미확인 트랜잭션들에 기반하여 계산된 수수료의 범위(예: 0.00004BTC~0.00006BTC)를 의미할 수 있다. 또 다른 실시 예에서, 추천 수수료 정보는 “빠름” 전송 속도를 갖는 수수료, “보통” 전송 속도를 갖는 수수료 및 “느림” 전송 속도를 갖는 수수료 중 적어도 하나를 의미할 수 있다.
일 실시 예에서, 동작 209는 동작 207 이후에 순차적으로 실행되거나, 동작 207과 병렬적으로 실행될 수도 있다. 예를 들어, 서버(130)는 제1 트랜잭션 데이터의 전송 지연 상태를 검출함에 응답하여 전자 장치(110)에 상태 정보를 전송한 후에, 추천 수수료를 계산할 수 있다. 또 다른 예를 들어, 서버(130)는 제1 트랜잭션 데이터의 전송 지연 상태를 검출함에 응답하여 추천 수수료 정보를 계산한 후에, 전자 장치(110)에 상태 정보를 전송할 수 있다. 이 경우, 추천 수수료 정보가 상태 정보와 함께 전자 장치(110)로 전송될 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 211에서 추천 수수료 정보를 전자 장치(110)에 전송할 수 있다. 일 실시 예에서, 서버(130)는 추천 수수료 정보를 푸시 알림을 통해 전자 장치(110)에 전송할 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 동작 213에서 제2 트랜잭션 데이터를 생성할 수 있다. 예를 들어, 전자 장치(110)는 제1 주소의 미사용 트랜잭션 출력 값 중 일부를 제1 주소에서 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제2 트랜잭션 데이터를 생성할 수 있다. 일 실시 예에서, 전자 장치(110)는 수신된 추천 수수료 정보에 기반하여 제2 트랜잭션 데이터를 생성할 수 있다. 예를 들어, 전자 장치(110)는 “빠름” 전송 속도를 갖는 추천 수수료 정보에 기반하여 설정된 수수료 범위(예: 0.00004BTC~0.00006BTC)를 확인할 수 있다. 전자 장치(110)는 개인 키에 기반한 디지털 서명을 수행함으로써, 상기 설정된 수수료 범위를 포함하는 제2 트랜잭션 데이터를 생성할 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 동작 215에서 제2 트랜잭션 데이터를 서버(130)에 전송할 수 있다.
일 실시 예에 따르면, 제2 트랜잭션 데이터가 복수 개의 트랜잭션 데이터를 포함하는 경우에, 서버(130)는 동작 217에서 수수료 정보에 기반하여 블록체인 네트워크(150)에 제2 트랜잭션 데이터를 순차적으로 전송할 수 있다. 일 실시 예에서, 제2 트랜잭션 데이터 중에서 블록체인 네트워크(150)에 가장 낮은 수수료 정보를 포함하는 트랜잭션 데이터부터 순차적으로 전송된 후에 제2 트랜잭션 데이터 중 어느 하나의 트랜잭션 데이터(예: 우선 순위에 해당하는 트랜잭션 데이터)가 신규 블록에 기록되면, 서버(130)는 전송 완료 상태를 나타내는 상태 정보를 획득할 수 있다.
도 3은 일 실시 예에 따른 전자 장치의 동작 흐름도를 도시한다. 도 3의 설명과 관련하여 전술한 내용과 대응되거나 동일 또는 유사한 내용은 생략될 수 있다.
일 실시 예에서, 도 3에 도시된 동작 301 내지 동작 309는 전자 장치(예: 도 1의 전자 장치(110))의 프로세서(예: 도 1의 프로세서(116))에 의해 수행되는 것으로 이해될 수 있다.
도 3을 참조하면, 전자 장치(110)는 동작 301에서 제1 트랜잭션 데이터를 생성할 수 있다. 예를 들어, 제1 트랜잭션 데이터는 제1 수수료 정보(예: 0.00000003BTC(3satoshi))가 포함된 제1-1 트랜잭션 데이터 및 제1 수수료 정보보다 높은 수수료인 제2 수수료 정보(예: 0.00000005BTC(5satoshi))가 포함된 제1-2 트랜잭션 데이터를 포함할 수 있다. 일 실시 예에서, 제1 수수료 정보 및 제2 수수료 정보는 사용자에 의해 설정될 수 있다. 또 다른 실시 예에서, 제1 수수료 정보 및 제2 수수료 정보는 서버(예: 도 1의 서버(130))로부터 수신될 수도 있다.
일 실시 예에 따르면, 전자 장치(110)는 동작 303에서 제1 트랜잭션 데이터를 서버에 전송할 수 있다. 일 실시 예에서, 전자 장치(110)는 개인 키를 통한 디지털 서명에 기반하여 제1 트랜잭션 데이터를 생성함에 따라 서버(예: 도 1의 서버(130))에 전송할 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 동작 305에서 서버(130)로부터 제1 트랜잭션 데이터의 상태 정보를 수신할 수 있다. 일 실시 예에서, 전자 장치(110)는 디스플레이(예: 도 1의 디스플레이(118))를 통해 제1 트랜잭션 데이터가 전송 지연 상태임을 표시할 수 있다. 예를 들어, 전자 장치(110)는 디스플레이(118)의 상단부에 배치되는 알림 바(notification bar)에 제1 트랜잭션 데이터가 전송 지연 상태임을 나타내는 알림을 표시할 수 있다. 일 실시 예에서, 상기 알림은 수수료 변경을 제안하는 알림을 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 동작 307에서 서버(130)로부터 추천 수수료 정보를 수신할 수 있다. 일 실시 예에서, 전자 장치(110)는 블록체인 네트워크(예: 도 1의 블록체인 네트워크(150))의 실시간 트랜잭션 정보에 기반한 추천 수수료를 수신할 수 있다. 예를 들어, 추천 수수료는 현재 시점에서 근시간(예: 10분)내에 생성될 신규 블록에 기록될 수 있는 수수료 범위를 의미할 수 있다. 일 실시 예에서, 동작 307은 동작 305 이후에 순차적으로 실행되거나, 동작 305와 병렬적으로 실행될 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 동작 309에서 추천 수수료 정보에 기반하여 제2 트랜잭션 데이터를 생성할 수 있다. 예를 들어, 제2 트랜잭션 데이터는 제3 수수료 정보(예: 0.0000002BTC(20satoshi))가 포함된 제2-1 트랜잭션 데이터 및 제3 수수료 정보보다 높은 제4 수수료 정보(예: 0.0000003BTC(30satoshi))가 포함된 제2-2 트랜잭션 데이터를 생성할 수 있다. 제3 수수료 정보 및 제4 수수료 정보는 현재 시점에서 근시간 내에 생성될 신규 블록에 기록될 수 있는 추천 수수료(예: 0.0000002BTC~0.0000003BTC)에 포함될 수 있다.
도 4는 일 실시 예에 따른 트랜잭션의 상태 정보 및 추천 수수료 정보를 수신한 전자 장치의 UI 상태를 도시한다. 도 4의 설명과 관련하여 전술한 내용과 대응되거나 동일 또는 유사한 내용은 생략될 수 있다.
도 4를 참조하면, 전자 장치(예: 도 1의 전자 장치(110))는 디스플레이(예: 도 1의 디스플레이(118))를 통해 트랜잭션 데이터의 전송 지연 알림을 포함하는 제1 UI(400)를 제공할 수 있다. 전송 지연 알림은 디스플레이(118)에서 알림 바(notification bar)를 통해 표시되거나, 팝업 창을 통해 표시될 수 있다. 일 실시 예에서, 전송 지연 알림은 트랜잭션 데이터의 재전송을 제안하는 정보(예: “Click 재전송”)를 포함할 수 있다. 일 실시 예에서, 전자 장치(110)는 전송 지연 알림을 표시하는 영역에 대한 터치 입력(402)을 수신할 수 있다.
일 실시 예에서, 전자 장치(110)는 디스플레이(118)를 통해 새롭게 생성된 트랜잭션 데이터를 포함하는 제2 UI(410)를 표시할 수 있다. 일 실시 예에서, 전자 장치(110)는 제1 UI(400) 위에 중첩될 수 있는 레이어 팝업을 통해 새롭게 생성된 트랜잭션 데이터(412)를 표시할 수 있다. 예를 들어, 트랜잭션 데이터(412)는 TXID(transaction ID), 송금 금액(amount), 수수료(fee) 및 합계 금액(total)을 포함할 수 있다. 일 실시 예에서, 트랜잭션 데이터(412)는 서버(예: 도 1의 서버(130))로부터 수신된 추천 수수료 정보(414)에 기반하여 생성될 수 있다. 예를 들어, 전송 지연 상태의 트랜잭션 데이터는 "
Figure PCTKR2021006659-appb-I000001
1,022,019KRW"의 송금 금액, "
Figure PCTKR2021006659-appb-I000002
60,820"의 수수료 및 "
Figure PCTKR2021006659-appb-I000003
1,082,839KRW"의 합계 금액을 포함할 수 있다. 전자 장치(110)는 전송 지연 알림을 표시하는 영역에 대한 터치 입력(402)을 수신함에 따라, 서버(130)로부터 수신된 추천 수수료 정보(414)인 "
Figure PCTKR2021006659-appb-I000004
74,915KRW"를 반영하여 트랜잭션 데이터(412)를 생성할 수 있다.
도 5는 일 실시 예에 따른 제1 트랜잭션 데이터가 복수 개의 트랜잭션 데이터를 포함하는 경우에, 트랜잭션의 전송 지연 상태를 검출하는 서버의 동작 흐름도를 도시한다. 도 5에 도시된 동작들은 도 2의 동작 205와 관련될 수 있다. 도 5의 설명과 관련하여 전술한 내용과 대응되거나 동일 또는 유사한 내용은 생략될 수 있다.
일 실시 예에서, 도 5에 도시된 동작 501 내지 동작 509는 서버(예: 도 1의 서버(130))의 프로세서(예: 도 1의 프로세서(136))에 의해 수행되는 것으로 이해될 수 있다.
도 5를 참조하면, 서버(130)는 동작 501에서 전자 장치(예: 도 1의 전자 장치(110))로부터 복수 개의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터를 수신할 수 있다. 예를 들어, 제1 트랜잭션 데이터는 제1 수수료 정보(예: 0.00000003BTC(3satoshi))가 포함된 제1-1 트랜잭션 데이터 및 제1 수수료 정보보다 높은 수수료인 제2 수수료 정보(예: 0.00000005BTC(5satoshi))가 포함된 제1-2 트랜잭션 데이터를 포함할 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 503에서 제1 수수료 정보를 포함하는 제1-1 트랜잭션 데이터를 블록체인 네트워크(예: 도 1의 블록체인 네트워크(150))에 전송할 수 있다. 일 실시 예에서, 서버(130)는 제1 트랜잭션 데이터의 수수료 정보를 오름차순으로 배열하고, 가장 낮은 수수료 정보를 포함하는 트랜잭션 데이터부터 순차적으로 블록체인 네트워크(150)에 전송할 수 있다. 예를 들어, 서버(130)는 0.00000003BTC(3satoshi)의 수수료를 포함하는 제1-1 트랜잭션 데이터를 0.00000005(5satoshi)의 수수료를 포함하는 제1-2 트랜잭션 데이터보다 먼저 블록체인 네트워크(150)에 전송할 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 505에서 제1-1 트랜잭션 데이터의 전송 지연 상태를 확인할 수 있다. 일 실시 예에서, 사용자에 의해 설정된 임계 전송 시간(예: 20분)동안에 제1-1 트랜잭션 데이터가 신규 블록에 기록되지 않는 경우에, 서버(130)는 제1-1 트랜잭션 데이터에 대하여 전송 지연 상태로 결정할 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 507에서 제1 수수료 정보보다 높은 제2 수수료 정보를 포함하는 제1-2 트랜잭션 데이터를 블록체인 네트워크(150)에 전송할 수 있다. 일 실시 예에서, 서버(130)는 제1 트랜잭션 데이터 중 가장 낮은 수수료 정보를 포함하는 제1-1 트랜잭션 데이터를 전송한 이후에, 두번째로 낮은 수수료 정보를 포함하는 제1-2 트랜잭션 데이터를 순차적으로 전송할 수 있다. 설명의 편의를 위하여, 제1 트랜잭션 데이터는 2개의 트랜잭션 데이터만을 포함하고 있으나, 이는 2개에 한정되지 아니하고 수수료 범위 설정에 따라 트랜잭션 데이터의 개수는 변경될 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 509에서 제1-2 트랜잭션 데이터의 전송 지연 상태를 확인할 수 있다. 일 실시 예에서, 사용자에 의해 설정된 임계 전송 시간 동안에 제1-2 트랜잭션 데이터가 신규 블록에 기록되지 않는 경우에, 서버(130)는 제1-2 트랜잭션 데이터에 대하여 전송 지연 상태로 결정할 수 있다. 또 다른 실시 예에서, 사용자에 의해 설정된 임계 전송 시간 내에 제1-2 트랜잭션 데이터가 신규 블록에 기록되는 경우에, 서버(130)는 제1-2 트랜잭션 데이터에 대하여 전송 완료 상태로 결정할 수 있다. 이러한 경우에, 도 2의 동작 205 이후의 동작은 생략될 수 있다.
도 6은 일 실시 예에 따른 수수료 정보에 대한 임계 전송 시간에 기반하여 트랜잭션 데이터의 상태 정보를 판단하는 서버의 동작 흐름도를 도시한다. 도 6에 도시된 동작들은 도 2의 동작 205와 관련될 수 있다. 도 6의 설명과 관련하여 전술한 내용과 대응되거나 동일 또는 유사한 내용은 생략될 수 있다.
일 실시 예에서, 도 6에 도시된 동작 601 내지 동작 611은 서버(예: 도 1의 서버(130))의 프로세서(예: 도 1의 프로세서(136))에 의해 수행되는 것으로 이해될 수 있다.
도 6을 참조하면, 서버(130)는 동작 601에서 전자 장치(예: 도 1의 전자 장치(110))로부터 제1 수수료 정보에 대한 제1 임계 전송 시간 및 제1 수수료 정보보다 높은 수수료인 제2 수수료 정보에 대한 제2 임계 전송 시간에 대한 정보를 수신할 수 있다. 예를 들어, 제1 수수료 정보가 “보통” 전송 속도를 갖는 수수료에 해당하는 경우에, 제1 임계 전송 시간은 3 confirmation time(약 30분)에 해당할 수 있다. 제1 수수료 정보보다 높은 수수료인 제2 수수료 정보가 “빠름” 전송 속도를 갖는 수수료에 해당하는 경우에, 제2 임계 전송 시간은 1 confirmation time(약 10분)에 해당할 수 있다. confirmation time은 신규 블록이 생성되는데 걸리는 시간에 기반하여, 트랜잭션 데이터가 신규 블록에 기록되는데 걸리는 시간을 계산하는데 사용될 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 603에서 제1-1 트랜잭션 데이터를 블록체인 네트워크(예: 도 1의 블록체인 네트워크(150))에 전송할 수 있다. 동작 603에 대한 설명은 도 5의 동작 503에 대한 설명에 대응될 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 605에서 제1-1 트랜잭션 데이터의 메모리 풀에서의 대기 시간이 제1 임계 전송 시간(예: 3 confirmation time (30분))을 초과하는지 여부를 확인할 수 있다. 예를 들어, 서버(130)는 제1-1 트랜잭션 데이터를 블록체인 네트워크(150)에 전송한 시점부터 메모리 풀에서의 대기 시간을 측정할 수 있다. 일 실시 예에서, 메모리 풀에서의 대기 시간이 제1 임계 전송 시간을 초과하는 경우에(동작 605-예), 서버(130)는 동작 607에서 제1-2 트랜잭션 데이터를 블록체인 네트워크(150)에 전송할 수 있다.
일 실시 예에 따르면, 서버(130)는 동작 609에서 제1-2 트랜잭션 데이터의 메모리 풀에서의 대기 시간이 제2 임계 전송 시간(예: 1 confirmation time (10분))을 초과하는지 여부를 확인할 수 있다. 일 실시 예에서, 메모리 풀에서의 대기 시간이 제2 임계 전송 시간을 초과하는 경우에(동작 609-예), 서버(130)는 동작 611에서 제1 트랜잭션 데이터의 상태 정보를 검출할 수 있다. 제1 트랜잭션 데이터의 상태 정보는 제1-1 트랜잭션 데이터 및 제1-2 트랜잭션 데이터가 전송 지연 상태에 있음을 의미할 수 있다.
일 실시 예에 따르면, 동작 605의 실행 결과, 메모리 풀 대기 시간이 제1 임계 전송 시간을 초과하지 않는 경우에(동작 605-아니오), 서버(130)는 제1-1 트랜잭션 데이터에 대하여 전송 완료 상태로 결정할 수 있다. 또 다른 실시 예에 따르면, 동작 609의 실행 결과, 메모리 풀 대기 시간이 제2 임계 전송 시간을 초과하지 않는 경우에(동작 609-아니오), 서버(130)는 제1-2 트랜잭션 데이터에 대하여 전송 완료 상태로 결정할 수 있다.
도 7a는 일 실시 예에 따른 수수료 범위를 설정하는 전자 장치의 제1 UI 상태를 도시한다. 도 7b는 일 실시 예에 따른 수수료 범위를 설정하는 전자 장치의 제2 UI 상태를 도시한다. 도 7c는 일 실시 예에 따른 수수료 범위를 설정하는 전자 장치의 제3 UI 상태를 도시한다. 도 7a 내지 도 7c는 도 2의 동작 201 또는 동작 213에 대응하는 UI 상태에 해당할 수 있다.
도 7a를 참조하면, 전자 장치(예: 도 1의 전자 장치(110))는 디스플레이(예: 도 1의 디스플레이(118))를 통해 트랜잭션 데이터를 생성하는 제1 UI(700)를 표시할 수 있다. 제1 UI(700)는 송금 금액을 수신하는 수신인의 주소(recipient address), 송금 금액(amount) 및 수수료(fee)를 포함하는 트랜잭션 데이터를 포함할 수 있다. 일 실시 예에서, 전자 장치(110)는 수수료가 표시되는 영역에 서버(예: 도 1의 서버(130))로부터 수신된 추천 수수료 정보(예: “빠름: 0.000078BTC”, “보통: 0.000041BTC” 및 “느림: 0.000005BTC”)를 표시할 수 있다. 일 실시 예에서, 전자 장치(110)는 수수료가 표시되는 영역 중 적어도 일부에 배치되는 “수수료 범위 설정” 영역에 대한 터치 입력(702)을 수신할 수 있다. 전자 장치(110)는 “수수료 범위 설정” 영역에 대한 터치 입력(702)을 수신하면, 디스플레이(118)를 통해 수수료 범위를 설정할 수 있는 UI(예: 도 7b의 제2 UI(710))를 표시할 수 있다.
도 7b를 참조하면, 전자 장치(110)는 디스플레이(118)를 통해 수수료 범위를 설정할 수 있는 제2 UI(710)를 표시할 수 있다. 일 실시 예에서, 수수료 범위는 서버(130)로부터 수신된 추천 수수료에 기반하여 계산될 수 있다. 예를 들어, 제2 UI(710)가 최초로 표시되는 시점에, 전자 장치(110)는 최저 수수료 값을 나타내는 영역(712) 및 최고 수수료 값을 나타내는 영역(714)에 서버(130)로부터 수신된 추천 수수료(예: 최저 수수료 값 0.00004BTC 및 최고 수수료 값 0.00006BTC)를 표시할 수 있다. 일 실시 예에서, 전자 장치(110)는 최저 수수료 값을 나타내는 영역(712) 및 최고 수수료 값을 나타내는 영역(714)에 대한 사용자 입력에 기반하여 수수료 범위를 변경할 수 있다. 예를 들어, 전자 장치(110)는 최저 수수료 값을 나타내는 영역(712) 또는 최고 수수료 값을 나타내는 영역(714)을 통해 사용자 입력을 수신하면, 도시하지 않았으나, 사용자가 값을 입력할 수 있는 입력 창(예: 텍스트 박스) 및 입력 UI(예: 키보드 UI)를 표시할 수 있다. 또는, 전자 장치(110)는 표시된 수수료 값을 기준으로 일정한 범위의 값들을 리스트 형태(예: 드롭-다운(drop-down) 리스트)로 표시할 수도 있다. 예를 들어, 전자 장치(110)는 사용자 입력에 기반하여 최저 수수료 값을 0.00003BTC으로 변경하고, 최고 수수료 값을 0.00007BTC으로 변경할 수 있다. 일 실시 예에서, 전자 장치(110)는 수수료 범위를 추천 수수료 또는 사용자에 의해 설정된 수수료 범위로 결정하는 터치 입력(716)을 수신할 수 있다.
도 7c를 참조하면, 전자 장치(110)는 디스플레이(118)를 통해 복수 개의 트랜잭션 데이터와 관련된 정보를 포함하는 제3 UI(720)를 표시할 수 있다. 일 실시 예에서, 제3 UI(720)는 결정된 수수료 범위에 기반하여 생성된 복수 개의 트랜잭션 데이터와 관련된 정보를 포함할 수 있다. 예를 들어, 전자 장치(110)는 최저 수수료 값인 0.00004BTC을 포함하는 트랜잭션 데이터(TX#a13n) 및 최고 수수료 값인 0.00006BTC을 포함하는 트랜잭션 데이터(TX#c21d)를 생성할 수 있다. 또한, 전자 장치(110)는 최저 수수료 값 및 최고 수수료 값 사이에 해당하는 수수료 값에 기반하여 복수 개의 트랜잭션 데이터를 생성할 수 있다. 예를 들어, 전자 장치(110)는 결정된 수수료 범위 내에 속하는 0.00005BTC을 포함하는 트랜잭션 데이터(TX#b23p)를 생성할 수 있다. 도 7c는 수수료 범위에 대하여 0.00001BTC(1000satoshi)의 간격으로 복수 개의 트랜잭션 데이터를 생성하였으나, 상기 간격 값은 사용자의 설정 또는 전자 장치 내 임의 설정 등에 따라 변경될 수 있다. 예를 들어, 0.000001BTC(100satoshi)의 간격으로 복수 개의 트랜잭션 데이터를 생성하는 경우에, 전자 장치(110)는 0.00004BTC, 0.000041BTC, 0.000042BTC, …, 0.000059BTC, 0.00006BTC의 수수료를 포함하는 복수 개의 트랜잭션 데이터를 생성할 수 있다. 전자 장치(110)는 생성된 복수 개의 트랜잭션 데이터와 관련된 정보(예: TX ID, 수수료 정보)를 제3 UI(720)에 포함하여 디스플레이(118)를 통해 표시할 수 있다.
도 8a는 일 실시 예에 따른 블록체인 네트워크의 메모리 풀(memory pool)을 도시한다.
도 8a를 참조하면, 메모리 풀(800)은 블록에 기록되지 않은 상태인 미확인 트랜잭션(unconfirmed transaction)들이 저장되는 공간을 의미할 수 있다. 일 실시 예에서, 메모리 풀(800)은 블록체인 노드(예: 도 1의 블록체인 노드(152))의 메모리에 임시로 위치할 수 있다. 일 실시 예에서, 블록체인 노드(152)는 수신된 트랜잭션 데이터에 대하여 유효성을 검증한 후에, 검증된 트랜잭션 데이터만을 메모리 풀(800)에 추가할 수 있다. 일 실시 예에서, 메모리 풀(800)에 저장되는 미확인 트랜잭션은 제1 트랜잭션(802), 제2 트랜잭션(804), 제3 트랜잭션(806) 및 제n 트랜잭션(808)을 포함하는 복수 개의 트랜잭션들을 포함할 수 있다. 일 실시 예에서, 복수 개의 트랜잭션들 중에서 신규 생성된 블록에 기록될 수 있는 트랜잭션들은 수수료에 기반하여 결정될 수 있다. 일 실시 예에서, 메모리 풀(800)은 수수료가 높은 순서대로 복수 개의 트랜잭션들을 배열하여 저장할 수 있다. 예를 들어, 메모리 풀(800)은 0.00004BTC 수수료(812)를 갖는 제2 트랜잭션(804), 0.00001BTC 수수료(810)를 갖는 제1 트랜잭션(802), 0.000008BTC 수수료(814)를 갖는 제3 트랜잭션(806) 및 0.00000002BTC 수수료(816)를 갖는 제n 트랜잭션(808) 순으로 배열하여 저장할 수 있다.
도 8b는 일 실시 예에 따른 추천 수수료 정보를 계산하기 위한 가상 블록(virtual block)을 도시한다.
도 8b를 참조하면, 메모리 풀에 배열된 복수 개의 트랜잭션들 중에서 일부 트랜잭션들은 마이너(miner)에 의해 생성될 블록에 포함될 수 있다. 일부 트랜잭션들이 생성될 블록에 포함된 후에, 마이너는 넌스(nonce) 값을 차례로 대입하여 블록을 생성하고 상기 넌스 값을 맞춘 경우에만 생성한 블록을 블록체인 노드(152)로 전파할 수 있다. 일 실시 예에서, 일부 트랜잭션들은 복수 개의 트랜잭션들 중 우선 순위에 해당하는 트랜잭션들로 구성될 수 있다.
일 실시 예에서, 서버(예: 도 1의 서버(130))는 블록체인 네트워크(예: 도 1의 블록체인 네트워크(150))의 메모리 풀(800)을 확인하고, 가상 블록(824)을 생성할 수 있다. 예를 들어, 서버(130)는 1MB의 크기를 갖는 가상 블록(824)을 생성하고, 수수료 내림차순으로 배열된 메모리 풀(800)의 트랜잭션 데이터들 중 상위 일부를 가상 블록(824)에 추가할 수 있다. 서버(130)는 가상 블록(824)에 추가되는 트랜잭션 데이터들의 크기가 1MB에 도달할 때까지 추가할 수 있다. 일 실시 예에서, 서버(130)는 가상 블록(824)에 추가된 트랜잭션 데이터들의 수수료 정보 및 트랜잭션 속도에 기반하여 추천 수수료를 계산할 수 있다. 예를 들어, 서버(130)는 가상 블록(824)에 포함되는 복수 개의 트랜잭션들(예: 제2 트랜잭션, 제1 트랜잭션 및 제3 트랜잭션 등)의 수수료 정보 및 현재 트랜잭션 속도에 기반하여, 이후 생성될 블록에 기록될 수 있는 상위 50%의 수수료를 추천 수수료로 계산할 수 있다.
도 9는 다양한 실시 예들에 따른 네트워크 환경 내의 전자 장치의 블록도를 도시한다.
도 9을 참조하면, 네트워크 환경(900)에서 전자 장치(901)는 제 1 네트워크(998)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(902)와 통신하거나, 또는 제 2 네트워크(999)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(904) 또는 서버(908)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(901)는 서버(908)를 통하여 전자 장치(904)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(901)는 프로세서(920), 메모리(930), 입력 장치(950), 음향 출력 장치(955), 표시 장치(960), 오디오 모듈(970), 센서 모듈(976), 인터페이스(977), 햅틱 모듈(979), 카메라 모듈(980), 전력 관리 모듈(988), 배터리(989), 통신 모듈(990), 가입자 식별 모듈(996), 또는 안테나 모듈(997)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(901)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(960) 또는 카메라 모듈(980))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시 예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(976)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(960)(예: 디스플레이)에 임베디드된 채 구현될 수 있다.
프로세서(920)는, 예를 들면, 소프트웨어(예: 프로그램(940))를 실행하여 프로세서(920)에 연결된 전자 장치(901)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(920)는 다른 구성요소(예: 센서 모듈(976) 또는 통신 모듈(990))로부터 수신된 명령 또는 데이터를 휘발성 메모리(932)에 로드하고, 휘발성 메모리(932)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(934)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(920)는 메인 프로세서(921)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(923)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(923)은 메인 프로세서(921)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(923)는 메인 프로세서(921)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(923)는, 예를 들면, 메인 프로세서(921)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(921)를 대신하여, 또는 메인 프로세서(921)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(921)와 함께, 전자 장치(901)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(960), 센서 모듈(976), 또는 통신 모듈(990))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(923)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(980) 또는 통신 모듈(990))의 일부로서 구현될 수 있다.
메모리(930)는, 전자 장치(901)의 적어도 하나의 구성요소(예: 프로세서(920) 또는 센서모듈(976))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(940)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(930)는, 휘발성 메모리(932) 또는 비휘발성 메모리(934)를 포함할 수 있다.
프로그램(940)은 메모리(930)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(942), 미들 웨어(944) 또는 어플리케이션(946)을 포함할 수 있다.
입력 장치(950)는, 전자 장치(901)의 구성요소(예: 프로세서(920))에 사용될 명령 또는 데이터를 전자 장치(901)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(950)는, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(955)는 음향 신호를 전자 장치(901)의 외부로 출력할 수 있다. 음향 출력 장치(955)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(960)는 전자 장치(901)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(960)는, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시 장치(960)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(970)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(970)은, 입력 장치(950)를 통해 소리를 획득하거나, 음향 출력 장치(955), 또는 전자 장치(901)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(902)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(976)은 전자 장치(901)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시 예에 따르면, 센서 모듈(976)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(977)는 전자 장치(901)가 외부 전자 장치(예: 전자 장치(902))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(977)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(978)는, 그를 통해서 전자 장치(901)가 외부 전자 장치(예: 전자 장치(902))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시 예에 따르면, 연결 단자(978)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(979)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시 예에 따르면, 햅틱 모듈(979)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(980)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(980)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(988)은 전자 장치(901)에 공급되는 전력을 관리할 수 있다. 일 실시 예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(989)는 전자 장치(901)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일 실시 예에 따르면, 배터리(989)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(990)은 전자 장치(901)와 외부 전자 장치(예: 전자 장치(902), 전자 장치(904), 또는 서버(908))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(990)은 프로세서(920)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(990)은 무선 통신 모듈(992)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(994)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(998)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제 2 네트워크(999)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(992)은 가입자 식별 모듈(996)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(998) 또는 제 2 네트워크(999)와 같은 통신 네트워크 내에서 전자 장치(901)를 확인 및 인증할 수 있다.
안테나 모듈(997)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시 예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일 실시 예에 따르면, 안테나 모듈(997)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제 1 네트워크(998) 또는 제 2 네트워크(999)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(990)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(990)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시 예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(997)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제 2 네트워크(999)에 연결된 서버(908)를 통해서 전자 장치(901)와 외부의 전자 장치(904)간에 송신 또는 수신될 수 있다. 전자 장치(902, 904) 각각은 전자 장치(901)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(901)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(902, 904, or 908) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(901)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(901)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(901)로 전달할 수 있다. 전자 장치(901)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나,”"A, B 또는 C," "A, B 및 C 중 적어도 하나,”및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(901)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(936) 또는 외장 메모리(938))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(940))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(901))의 프로세서(예: 프로세서(920))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어™)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (15)

  1. 전자 장치에 있어서,
    통신회로; 및
    상기 통신회로와 연결되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는:
    제1 주소의 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제1 주소와 구별되는 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터를 생성하고,
    상기 통신회로를 통해서 상기 제1 트랜잭션 데이터를 서버에 전송하고,
    상기 통신회로를 통해서 상기 서버로부터 블록체인 네트워크에서의 상기 제1 트랜잭션 데이터의 전송 지연 상태를 나타내는 상태 정보를 수신하고,
    상기 통신회로를 통해서 상기 서버로부터 추천 수수료 정보를 수신하고,
    상기 추천 수수료 정보에 기반하여 상기 제1 주소의 상기 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제2 트랜잭션 데이터를 생성하도록 설정되는, 전자 장치.
  2. 청구항 1에 있어서,
    상기 제2 트랜잭션 데이터가 복수 개의 트랜잭션 데이터를 포함하는 경우에, 상기 복수 개의 트랜잭션 데이터는 서로 다른 수수료 정보를 포함하는 것을 특징으로 하는, 전자 장치.
  3. 청구항 1에 있어서,
    상기 제1 트랜잭션 데이터가 복수 개의 트랜잭션 데이터를 포함하는 경우에, 상기 제1 트랜잭션 데이터는 제1 수수료 정보가 포함된 제1-1 트랜잭션 데이터 및 상기 제1 수수료 정보보다 높은 수수료인 제2 수수료 정보가 포함된 제1-2 트랜잭션 데이터를 포함하는 것을 특징으로 하는, 전자 장치.
  4. 청구항 3에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 통신회로를 통해서 상기 제1 수수료 정보에 대하여 설정된 제1 임계 전송 시간 및 상기 제2 수수료 정보에 대하여 설정된 제2 임계 전송 시간을 상기 서버에 전송하고, 상기 제2 임계 전송 시간은 상기 제1 임계 전송 시간보다 짧음,
    상기 블록체인 네트워크의 메모리 풀(memory pool)에서의 대기 시간이 상기 제1 임계 전송 시간 및 상기 제2 임계 전송 시간을 초과함에 따라, 상기 통신회로를 통해서 상기 서버로부터 상기 제1 트랜잭션 데이터가 전송 지연 상태임을 나타내는 상기 상태 정보를 수신하도록 설정되는, 전자 장치.
  5. 청구항 3에 있어서,
    상기 서버에 상기 제1 트랜잭션 데이터가 전송됨에 응답하여, 상기 제1 트랜잭션 데이터 중에서 상기 제1 수수료 정보가 포함된 상기 제1-1 트랜잭션 데이터가 상기 블록체인 네트워크에 우선적으로 전송되는 것을 특징으로 하는, 전자 장치.
  6. 청구항 5에 있어서,
    상기 서버에서 식별된 상기 제1-1 트랜잭션 데이터가 상기 전송 지연 상태인 경우에, 상기 제1 트랜잭션 데이터 중에서 상기 제2 수수료 정보가 포함된 상기 제1-2 트랜잭션 데이터가 상기 블록체인 네트워크에 전송되는 것을 특징으로 하는, 전자 장치.
  7. 청구항 1에 있어서,
    상기 추천 수수료 정보는 상기 블록체인 네트워크의 메모리 풀(memory pool)에 대기중인 적어도 하나의 미확인 트랜잭션(unconfirmed transaction)들에 기반하여 계산되는 것을 특징으로 하는, 전자 장치.
  8. 청구항 1에 있어서,
    상기 적어도 하나의 프로세서는:
    상기 제1 트랜잭션 데이터의 상기 전송 지연 상태를 결정하기 위한 임계 전송 시간을 설정하고,
    상기 블록체인 네트워크의 메모리 풀에서의 대기 시간이 상기 임계 전송 시간을 초과함에 따라, 상기 통신회로를 통해서 상기 서버로부터 상기 제1 트랜잭션 데이터가 전송 지연 상태임을 나타내는 상기 상태 정보를 수신하도록 설정되는, 전자 장치.
  9. 전자 장치의 동작 방법에 있어서,
    제1 주소의 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제1 주소와 구별되는 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제1 트랜잭션 데이터를 생성하는 동작;
    상기 제1 트랜잭션 데이터를 서버에 전송하는 동작;
    상기 서버로부터 블록체인 네트워크에서의 상기 제1 트랜잭션 데이터의 전송 지연 상태를 나타내는 상태 정보를 수신하는 동작;
    상기 서버로부터 추천 수수료 정보를 수신하는 동작; 및
    상기 추천 수수료 정보에 기반하여 상기 제1 주소의 미사용 트랜잭션 출력 값 중 적어도 일부를 상기 제1 주소에서 상기 제2 주소로 이전시키는 적어도 하나의 트랜잭션 데이터를 포함하는 제2 트랜잭션 데이터를 생성하는 동작을 포함하는, 전자 장치의 동작 방법.
  10. 청구항 9에 있어서,
    상기 제2 트랜잭션 데이터가 복수 개의 트랜잭션 데이터를 포함하는 경우에, 상기 복수 개의 트랜잭션 데이터는 서로 다른 수수료 정보를 포함하는 것을 특징으로 하는, 전자 장치의 동작 방법.
  11. 청구항 9에 있어서,
    상기 제1 트랜잭션 데이터가 복수 개의 트랜잭션 데이터를 포함하는 경우에, 상기 제1 트랜잭션 데이터는 제1 수수료 정보가 포함된 제1-1 트랜잭션 데이터 및 상기 제1 수수료 정보보다 높은 수수료인 제2 수수료 정보가 포함된 제1-2 트랜잭션 데이터를 포함하는 것을 특징으로 하는, 전자 장치의 동작 방법.
  12. 청구항 11에 있어서,
    상기 제1 수수료 정보에 대하여 설정된 제1 임계 전송 시간 및 상기 제2 수수료 정보에 대하여 설정된 제2 임계 전송 시간을 상기 서버에 전송하는 동작; 상기 제2 임계 전송 시간은 상기 제1 임계 전송 시간보다 짧음,
    상기 블록체인 네트워크의 메모리 풀(memory pool)에서의 대기 시간이 상기 제1 임계 전송 시간 및 상기 제2 임계 전송 시간을 초과함에 따라, 상기 서버로부터 상기 제1 트랜잭션 데이터가 전송 지연 상태임을 나타내는 상기 상태 정보를 수신하는 동작을 더 포함하는, 전자 장치의 동작 방법.
  13. 청구항 11에 있어서,
    상기 서버에 상기 제1 트랜잭션 데이터가 전송됨에 응답하여, 상기 제1 트랜잭션 데이터 중에서 상기 제1 수수료 정보가 포함된 상기 제1-1 트랜잭션 데이터가 상기 블록체인 네트워크에 우선적으로 전송되는 것을 특징으로 하는, 전자 장치의 동작 방법.
  14. 청구항 13에 있어서,
    상기 서버에서 식별된 상기 제1-1 트랜잭션 데이터가 상기 전송 지연 상태인 경우에, 상기 제1 트랜잭션 데이터 중에서 상기 제2 수수료 정보가 포함된 상기 제1-2 트랜잭션 데이터가 상기 블록체인 네트워크에 전송되는 것을 특징으로 하는, 전자 장치의 동작 방법.
  15. 청구항 9에 있어서,
    상기 추천 수수료 정보는 상기 블록체인 네트워크의 메모리 풀(memory pool)에 대기중인 적어도 하나의 미확인 트랜잭션(unconfirmed transaction)들에 기반하여 계산되는 것을 특징으로 하는, 전자 장치의 동작 방법.
PCT/KR2021/006659 2020-06-03 2021-05-28 블록체인을 이용하는 전자 장치 및 동작 방법 WO2021246725A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202180040305.3A CN115943405A (zh) 2020-06-03 2021-05-28 区块链电子装置及其操作方法
EP21818889.4A EP4148647A4 (en) 2020-06-03 2021-05-28 ELECTRONIC DEVICE USING A BLOCK CHAIN AND ITS OPERATING METHOD
US18/075,025 US20230093968A1 (en) 2020-06-03 2022-12-05 Electronic device using blockchain and operating method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200067207A KR20210150174A (ko) 2020-06-03 2020-06-03 블록체인을 이용하는 전자 장치 및 동작 방법
KR10-2020-0067207 2020-06-03

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/075,025 Continuation US20230093968A1 (en) 2020-06-03 2022-12-05 Electronic device using blockchain and operating method thereof

Publications (1)

Publication Number Publication Date
WO2021246725A1 true WO2021246725A1 (ko) 2021-12-09

Family

ID=78831205

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/006659 WO2021246725A1 (ko) 2020-06-03 2021-05-28 블록체인을 이용하는 전자 장치 및 동작 방법

Country Status (5)

Country Link
US (1) US20230093968A1 (ko)
EP (1) EP4148647A4 (ko)
KR (1) KR20210150174A (ko)
CN (1) CN115943405A (ko)
WO (1) WO2021246725A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101862000B1 (ko) * 2017-11-22 2018-05-29 팝펀딩 주식회사 다중 거래소를 사용하는 암호화폐 리스크 관리시스템
US20180294967A1 (en) * 2017-04-07 2018-10-11 Citizen Hex Techniques for increasing the probability that a transaction will be included in a target block of a blockchain
KR20200010905A (ko) * 2018-07-23 2020-01-31 주식회사 더볼터 PoP 기반 블록체인에서의 동적 시간 지연 기반의 체인 연결 방법 및 시스템
KR20200045854A (ko) * 2018-10-23 2020-05-06 삼성에스디에스 주식회사 블록체인 트랜잭션에 대하여 배치 프로세싱을 수행하는 장치 및 그 방법
US20200160289A1 (en) * 2018-11-19 2020-05-21 Rare Bits, Inc. Lazy updating and state prediction for blockchain-based applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180294967A1 (en) * 2017-04-07 2018-10-11 Citizen Hex Techniques for increasing the probability that a transaction will be included in a target block of a blockchain
KR101862000B1 (ko) * 2017-11-22 2018-05-29 팝펀딩 주식회사 다중 거래소를 사용하는 암호화폐 리스크 관리시스템
KR20200010905A (ko) * 2018-07-23 2020-01-31 주식회사 더볼터 PoP 기반 블록체인에서의 동적 시간 지연 기반의 체인 연결 방법 및 시스템
KR20200045854A (ko) * 2018-10-23 2020-05-06 삼성에스디에스 주식회사 블록체인 트랜잭션에 대하여 배치 프로세싱을 수행하는 장치 및 그 방법
US20200160289A1 (en) * 2018-11-19 2020-05-21 Rare Bits, Inc. Lazy updating and state prediction for blockchain-based applications

Also Published As

Publication number Publication date
EP4148647A4 (en) 2023-11-01
KR20210150174A (ko) 2021-12-10
EP4148647A1 (en) 2023-03-15
CN115943405A (zh) 2023-04-07
US20230093968A1 (en) 2023-03-30

Similar Documents

Publication Publication Date Title
WO2019164339A1 (en) Electronic device and method for sharing screen data
WO2019143071A1 (en) Electronic device for controlling a plurality of applications
EP3724842A1 (en) Electronic device and method for supporting automatic wi-fi connection with enhanced security method when making electronic wallet payment
WO2020166894A1 (en) Electronic device and method for recommending word in same
WO2019225861A1 (en) Method for sharing content based on account group and electronic device for performing same
WO2020101147A1 (ko) Ieee 802.11 표준에 정의된 tdls 세션을 이용하여 외부 전자 장치와 무선 통신 채널을 통해 연결되는 전자 장치
WO2019135551A1 (ko) 외부 전자 장치를 통해 데이터를 송수신하는 전자 장치 및 그 데이터 송수신 방법
WO2020106076A1 (en) Electronic device for scheduling wireless network service according to application and method of operating same
WO2020096262A1 (ko) 전자 장치, 그의 개인 정보 제공 방법 및 이를 기록한 컴퓨터 판독 가능 기록매체
WO2020060114A1 (ko) 신분 정보를 제공하는 장치 및 그 시스템
WO2019151619A1 (ko) 심 카드를 적재하는 트레이가 삽입되는 전자 장치 및 그의 제어 방법
WO2021071222A1 (ko) 복수의 외부 전자 장치들로 오디오 데이터를 전송하는 전자 장치 및 그 제어 방법
WO2020060124A1 (ko) 패킷을 필터링하는 전자 장치 및 그 작동 방법
WO2019083137A1 (ko) 알림을 제어하기 위한 방법 및 그 전자 장치
WO2020138909A1 (ko) 콘텐트 공유 방법 및 그 전자 장치
WO2020145653A1 (ko) 이미지의 촬영 장소를 추천하는 전자 장치 및 방법
WO2020111488A1 (ko) 아이오티 장치를 등록하는 전자 장치, 서버 및 그 작동 방법
WO2021246725A1 (ko) 블록체인을 이용하는 전자 장치 및 동작 방법
WO2020106091A1 (en) Electronic device changing identification information based on state information and another electronic device identifying identification information
WO2020040454A1 (ko) 분할된 화면을 제어하기 위한 전자 장치
WO2019164196A1 (ko) 문자를 인식하기 위한 전자 장치 및 방법
WO2019164204A1 (ko) 전자 장치 및 그의 동작 방법
WO2021101173A1 (ko) 전자 장치 및 이를 이용한 근거리 통신 장치의 사용자 식별 정보 획득 방법
WO2021162388A1 (ko) 스토리지를 포함하는 전자 장치 및 이를 이용한 스토리지로 파일 시스템의 디스카드 커맨드 전달 방법
WO2020204401A1 (ko) 전자 장치 및 전자 장치에서의 스트리밍 어플리케이션 처리 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21818889

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021818889

Country of ref document: EP

Effective date: 20221208

NENP Non-entry into the national phase

Ref country code: DE