Electronic device for providing blockchain account information and method of operating the same
By automatically generating a layered deterministic path, the public key of the blockchain account is derived from the root seed, and the problem of HD wallets in the prior art is difficult to identify used accounts, realizing the automatic identification and management of blockchain account information.
Patent Information
- Application Number
- CN202080059679.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-08-23
- Filing Date
- 2020-08-21
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2040-08-21
AI Technical Summary
In the prior art, when blockchain-based cryptocurrencies use BIP-32 and BIP-44 algorithms to export public keys from root seeds, the level types of hierarchical deterministic paths are different, making it difficult for HD wallets to identify cryptocurrency accounts that have been used.
An electronic device is provided that can automatically generate a hierarchical deterministic path, regardless of the level type, to export the public key corresponding to the blockchain account from the root seed, and provide the blockchain account information of the root seed.
It realizes automatic identification and provision of blockchain account information regardless of the hierarchical deterministic path level type, improving the convenience and transparency of blockchain account management.
Smart Images

Figure CN114270777B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an electronic device for providing blockchain account information and an operating method thereof. More specifically, the present disclosure relates to automatically generating a hierarchical deterministic path, regardless of the level type of the hierarchical deterministic path, for deriving a public key corresponding to an address of a blockchain account from a root seed and providing blockchain account information of the root seed Background Art
[0002] Since the listing of blockchain-based Bitcoin, blockchain has been applied in multiple fields, such as platform services based on smart contracts, cloud storage services, blockchain computing services, and cryptocurrency systems such as Bitcoin
[0003] The blockchain platform allows system participants (nodes) to distribute and store data in their respective blocks, so it is basically free from data forgery and tampering (reliability), and allows participants to own the information they distribute (transparency), without the need for a separate central server manager. User information and encryption keys are required to hold, send / receive, and process cryptocurrency related to blockchain technology, and this is achieved through a blockchain electronic wallet
[0004] Blockchain electronic wallet encryption technology is divided into symmetric encryption and asymmetric encryption. An exemplary symmetric encryption scheme unlocks encrypted information when an identification (ID) and a password match. Asymmetric encryption uses two keys, a private key for full access to encrypted information, and a public key symmetric to, and symmetric with, the private key for authentication purposes. Most blockchain-based electronic wallets employ asymmetric encryption
[0005] Although the blockchain electronic wallet function is convenient, it has the risk of being lost, exposed, or hacked, and may be inconvenient for those familiar with financial services in the relevant field Summary of the Invention
[0006]
Technical Problem
[0007] Many blockchain-based cryptocurrencies comply with Bitcoin Improvement Proposal (BIP)-32, an algorithm for deriving or obtaining private and public keys to identify cryptocurrency accounts from a root seed. At the core of BIP-32, the private and public keys derived from the root seed are always the same. BIP-44 defines a scheme for implementing BIP-32 and proposes five levels of hierarchical deterministic (HD) paths as a method for deriving or obtaining private and public keys from the root seed. However, the BIP-44 specification is not mandatory, and each e-wallet manufacturer can use different levels of hierarchical deterministic paths that do not follow BIP-44. In theory, all public keys can be derived or obtained by using the same hierarchical deterministic path with the same root seed. Identifying cryptocurrency accounts with the above techniques is called an HD wallet. For example, wallet types are divided into non-deterministic wallets and deterministic wallets. HD wallets have been developed to generate different keys from the same seed. HD wallets have keys generated in a tree structure. Parent keys and child keys can be created from the tree structure, and grandchild keys can be created from the child keys. In this way, an infinite number of keys can be created in theory. The biggest reason for using an HD wallet is that several keys can be created and managed to address the transparency and security issues of the blockchain.
[0008] The root seed is a fundamental value from which many keys and addresses can be created. Keys belonging to the entire hierarchical deterministic wallet can be restored through the root seed. As the root seed, a mnemonic sequence is frequently used. For example, the root seed can generate a master private key and a master chain code from a hash value generated through the Hash-based Message Authentication Code (HMAC)-Secure Hash Algorithm (SHA) 512 algorithm function. Among the 512 bits of the hash value, the left 256 bits can be used as the private key, and the right 256 bits can be used as the chain code. The public key can be obtained from the private key using an elliptic curve function. In this way, the private key, public key, and even the blockchain address can be derived from the root seed.
[0009] If the level type of the hierarchical deterministic path (e.g., HD wallet key identifier path) required during the process of deriving the public key from the root seed is different in each hierarchical deterministic wallet manufacturer, the HD wallets of the related technology may not be able to identify the cryptocurrency accounts that have been used.
[0010] The hierarchical deterministic path (HD wallet key identifier) can be identified using the naming rule "path". In the above tree address relationship included in the HD wallet, the tree levels can be distinguished by a slash ( / ).
[0011] Although the choice of the hierarchical deterministic path can be left to the user, the hierarchical deterministic path has a structure that is difficult for ordinary users to identify, and using an HD wallet is uncomfortable.
[0012] The above information is provided only as background information to assist in understanding the present disclosure. No determination has been made, nor is any assertion being made, as to whether any of the above may be used as prior art with respect to the present disclosure.
[0013]
Solution
[0014] Aspects of the present disclosure are directed to at least solving the above problems and / or disadvantages and at least providing the following advantages. Accordingly, one aspect of the present disclosure is to provide an electronic device for automatically generating a hierarchical deterministic path, regardless of the level type of the hierarchical deterministic path, for deriving a public key corresponding to the address of a blockchain account from a root seed, and providing blockchain account information of the root seed.
[0015] Additional aspects will be set forth in part in the following description, and in part will be obvious from the description, or may be learned by practice of the presented embodiments.
[0016] According to one aspect of the present disclosure, there is provided an electronic device. The electronic device includes: a display; and a processor configured to generate at least one hierarchical deterministic path, obtain at least one public key using a root seed and the at least one hierarchical deterministic path, obtain a blockchain address of a blockchain account from the at least one public key, obtain information about the blockchain address from a blockchain network based on the blockchain address, the information about the blockchain address including information about the balance of the blockchain account, and display at least a portion of the information about the blockchain address through the display based on the information about the balance of the blockchain account.
[0017] According to another aspect of the present disclosure, there is provided a method for operating an electronic device. The method includes: generating at least one hierarchical deterministic path; obtaining at least one public key using a root seed and the at least one hierarchical deterministic path; obtaining a blockchain address of a blockchain account from the at least one public key; obtaining information about the blockchain address from a blockchain network based on the blockchain address, the information about the blockchain address including information about the balance of the blockchain account; and displaying at least a portion of the information about the blockchain address through a display of the electronic device based on the information about the balance of the blockchain account.
[0018] According to another aspect of the present disclosure, an electronic device is provided. The electronic device includes: a display; and a processor configured to obtain a first public key using a root seed and a first hierarchical deterministic path, obtain a second public key using the first public key and a second hierarchical deterministic path, obtain a blockchain address using the second public key, obtain information about the blockchain address from a blockchain network based on the blockchain address, the information about the blockchain address including information about the balance of the blockchain address, and provide, via the display, at least one of the information about the blockchain address based on the information about the balance of the blockchain address.
[0019] According to another aspect of the present disclosure, an electronic device is provided. The electronic device includes: a display; and a processor configured to generate at least one first hierarchical deterministic path that can be derived from a root seed, obtain at least one first public key from the root seed using the at least one first hierarchical deterministic path, send the at least one first public key to a server to obtain at least one blockchain address of a blockchain account based on the at least one first public key, obtain information about the blockchain account corresponding to the at least one blockchain address from the server, and display at least a part of the information about the blockchain account via the display.
[0020] From the following detailed description of various embodiments of the present disclosure disclosed in conjunction with the accompanying drawings, other aspects, advantages, and significant features of the present disclosure will become apparent to those skilled in the art. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] From the following description in conjunction with the accompanying drawings, the above and other aspects, features, and advantages of certain embodiments of the present disclosure will become more apparent, in which:
[0022] Figure 1 is a block diagram illustrating an electronic device in a network environment according to an embodiment of the present disclosure;
[0023] Figure 2 is a schematic block diagram illustrating an electronic device according to an embodiment of the present disclosure;
[0024] Figure 3A 、 Figure 3B and Figure 3C are views illustrating a method of operating an electronic device to provide blockchain account information according to various embodiments of the present disclosure;
[0025] Figure 4A is a block diagram illustrating an electronic device in a network environment according to an embodiment of the present disclosure;
[0026] Figure 4B is a block diagram illustrating an electronic device in a network environment according to an embodiment of the present disclosure;
[0027] Figure 4C is a view showing a hierarchical deterministic path according to an embodiment of the present disclosure;
[0028] Figure 5 is a block diagram showing the operation of a blockchain signature module according to an embodiment of the present disclosure;
[0029] Figure 6 is a flowchart showing a method of operating an electronic device to provide blockchain account information for a root seed according to an embodiment of the present disclosure;
[0030] Figure 7A and Figure 7B illustrates a data flow for describing a method of operating an electronic device to provide blockchain account information for a root seed according to various embodiments of the present disclosure;
[0031] Figure 8A is a view showing paths of five levels according to BIP-44 according to an embodiment of the present disclosure;
[0032] Figure 8B is a view showing paths of four levels according to an embodiment of the present disclosure;
[0033] Figure 9A and Figure 9B is a view showing a method of identifying account information of a root seed based on paths of five levels according to BIP-44 according to various embodiments of the present disclosure;
[0034] Figure 10A and Figure 10B is a view showing a user interface for providing blockchain account information about a root seed according to various embodiments of the present disclosure;
[0035] Figure 11 is a flowchart showing a method of restoring a blockchain account of a root seed via authentication according to an embodiment of the present disclosure; and
[0036] Figure 12A 、 Figure 12B and Figure 12C illustrate user interfaces for describing a method of restoring a blockchain account of a root seed via authentication according to various embodiments of the present disclosure.
[0037] In all the figures, like reference numerals will be understood to refer to like parts, components, and structures. Detailed Description
[0038] The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the present disclosure defined by the claims and their equivalents. It includes various specific details that are helpful for understanding, but these are merely considered exemplary. Thus, those of ordinary skill in the art will recognize that various changes and modifications can be made to the various embodiments described herein without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and structures may be omitted for clarity and conciseness.
[0039] The terms and words used in the following description and claims are not limited to bibliographical meanings, but are used solely by the inventor to enable a clear and consistent understanding of the present disclosure. Thus, it will be apparent to those skilled in the art that the following description of the various embodiments of the present disclosure is provided for illustrative purposes only and is not intended to limit the present disclosure as defined by the appended claims and their equivalents.
[0040] It should be understood that the singular forms "a" and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component surface" includes reference to one or more such surfaces.
[0041] Figure 1 is a block diagram showing an electronic device 101 in a network environment 100 according to various embodiments.
[0042] Referring to Figure 1 , the electronic device 101 in the network environment 100 may communicate with the electronic device 102 via a first network 198 (e.g., a short-range wireless communication network), or communicate with the electronic device 104 or the server 108 via a second network 199 (e.g., a long-range wireless communication network). According to an embodiment, the electronic device 101 may communicate with the electronic device 104 via the server 108. According to an embodiment, the electronic device 101 may include a processor 120, a memory 130, an input device 150, a sound output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identification module (SIM) 196, or an antenna module 197. In some embodiments, at least one of the components (e.g., the display device 160 or the camera module 180) may be omitted from the electronic device 101, or one or more other components may be added to the electronic device 101. In some embodiments, some of the components may be implemented as a single integrated circuit. For example, the sensor module 176 (e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented as being embedded in the display device 160 (e.g., a display).
[0043] The processor 120 may run software (e.g., program 140) to control at least one other component (e.g., a hardware component or a software component) of the electronic device 101 connected to the processor 120, and may perform various data processing or calculations. According to an embodiment, as at least part of the data processing or calculation, the processor 120 may load commands or data received from another component (e.g., the sensor module 176 or the communication module 190) into the volatile memory 132, process the commands or data stored in the volatile memory 132, and store the resulting data in the non-volatile memory 134. According to an embodiment, the processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is operationally independent of or combined with the main processor 121. Additionally or alternatively, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or may be adapted to be specifically used for a specified function. The auxiliary processor 123 may be implemented separately from the main processor 121 or as part of the main processor 121.
[0044] When the main processor 121 is in an inactive (e.g., sleep) state, the auxiliary processor 123 may control at least some of the functions or states related to at least one of the components of the electronic device 101 (other than the main processor 121) (e.g., the display device 160, the sensor module 176, or the communication module 190), or when the main processor 121 is in an active state (e.g., running an application), the auxiliary processor 123 may control, together with the main processor 121, at least some of the functions or states related to at least one of the components of the electronic device 101 (e.g., the display device 160, the sensor module 176, or the communication module 190). According to an embodiment, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., the camera module 180 or the communication module 190) that is functionally related to the auxiliary processor 123.
[0045] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, software (e.g., program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a non-volatile memory 134.
[0046] The program 140 may be stored in the memory 130 as software, and the program 140 may include, for example, an operating system (OS) 142, middleware 144, or an application 146.
[0047] The input device 150 may receive commands or data to be used by other components (e.g., the processor 120) of the electronic device 101 from the outside of the electronic device 101 (e.g., a user). The input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (e.g., a stylus).
[0048] The sound output device 155 may output a sound signal to the outside of the electronic device 101. The sound output device 155 may include, for example, a speaker or a receiver. The speaker may be used for general purposes such as playing multimedia or playing a record, and the receiver may be used for incoming calls. According to an embodiment, the receiver may be implemented separately from the speaker or as part of the speaker.
[0049] The display device 160 may visually provide information to the outside of the electronic device 101 (e.g., a user). The display device 160 may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling a corresponding one of the display, the holographic device, and the projector. According to an embodiment, the display device 160 may include a touch circuit adapted to detect a touch or a sensor circuit (e.g., a pressure sensor) adapted to measure the intensity of a force caused by the touch.
[0050] The audio module 170 may convert sound into an electrical signal and vice versa. According to an embodiment, the audio module 170 may obtain sound via the input device 150, or output sound via the sound output device 155 or headphones of an external electronic device (e.g., the electronic device 102) directly (e.g., wiredly) or wirelessly connected to the electronic device 101.
[0051] The sensor module 176 may detect an operating state of the electronic device 101 (e.g., power or temperature) or an environmental state outside the electronic device 101 (e.g., a user's state), and then generate an electrical signal or a data value corresponding to the detected state. According to an embodiment, the sensor module 176 may include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0052] The interface 177 may support one or more specific protocols for directly (e.g., wiredly) or wirelessly connecting the electronic device 101 to an external electronic device (e.g., the electronic device 102). According to an embodiment, the interface 177 may include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
[0053] The connection end 178 may include a connector, wherein the electronic device 101 may be physically connected to an external electronic device (e.g., the electronic device 102) via the connector. According to an embodiment, the connection end 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0054] The haptic module 179 may convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that can be recognized by the user via his sense of touch or kinesthesia. According to an embodiment, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0055] The camera module 180 may capture a still image or a moving image. According to an embodiment, the camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
[0056] The power management module 188 may manage the power supply to the electronic device 101. According to an embodiment, the power management module 188 may be implemented as at least part of, for example, a power management integrated circuit (PMIC).
[0057] The battery 189 may supply power to at least one component of the electronic device 101. According to an embodiment, the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0058] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., the electronic device 102, the electronic device 104, or the server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors capable of operating independently of the processor 120 (e.g., an application processor (AP)), and support direct (e.g., wired) communication or wireless communication. According to an embodiment, the communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). Each of these communication modules may communicate with an external electronic device via a first network 198 (e.g., a short-range communication network, such as Bluetooth, Wi-Fi Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network, such as a cellular network, the Internet, or a computer network (e.g., LAN or wide area network (WAN))). These various types of communication modules may be implemented as a single component (e.g., a single chip), or these various types of communication modules may be implemented as multiple separate components (e.g., multiple chips). The wireless communication module 192 may identify and authenticate the electronic device 101 in a communication network (such as the first network 198 or the second network 199) using user information (e.g., an international mobile subscriber identity (IMSI)) stored in the user identification module 196.
[0059] The antenna module 197 may transmit a signal or power to the outside of the electronic device 101 (e.g., an external electronic device) or receive a signal or power from the outside of the electronic device 101 (e.g., an external electronic device). According to an embodiment, the antenna module 197 may include an antenna, and the antenna includes a radiating element formed of a conductive material or a conductive pattern formed in a substrate (e.g., a printed circuit board (PCB)) or formed on the substrate. According to an embodiment, the antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication scheme used in a communication network (such as the first network 198 or the second network 199) may be selected from the plurality of antennas by, for example, the communication module 190 (e.g., the wireless communication module 192). Subsequently, a signal or power may be transmitted or received between the communication module 190 and an external electronic device via the selected at least one antenna. According to an embodiment, additional components (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as a part of the antenna module 197.
[0060] At least some of the above components may be interconnected via an inter-peripheral communication scheme (e.g., a bus, General-Purpose Input / Output (GPIO), Serial Peripheral Interface (SPI), or Mobile Industry Processor Interface (MIPI)) and communicatively transmit signals (e.g., commands or data) therebetween.
[0061] According to an embodiment, commands or data may be transmitted or received between the electronic device 101 and an external electronic device 104 via a server 108 connected to a second network 199. Each of the electronic devices 102 and 104 may be a device of the same type as the electronic device 101 or a device of a different type from the electronic device 101. According to an embodiment, all or some of the operations running on the electronic device 101 may be run on one or more of the external electronic device 102, the external electronic device 104, or the server 108. For example, if the electronic device 101 is to automatically perform a function or service or is to perform a function or service in response to a request from a user or another device, the electronic device 101 may request one or more of the external electronic devices to perform at least part of the function or service instead of running the function or service, or in addition to running the function or service, the electronic device 101 may also request one or more of the external electronic devices to perform at least part of the function or service. The one or more external electronic devices that receive the request may perform the requested at least part of the function or service, or perform additional functions or additional services related to the request, and transmit the result of the execution to the electronic device 101. The electronic device 101 may provide the result as at least part of a reply to the request with or without further processing of the result. To this end, for example, cloud computing technology, distributed computing technology, or client-server computing technology may be used.
[0062] An electronic device according to various embodiments may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. According to an embodiment of the present disclosure, the electronic device is not limited to the electronic devices described above.
[0063] It should be understood that the various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features set forth herein to specific embodiments, but include various changes, equivalent forms or alternative forms corresponding to the respective embodiments. For the description of the drawings, like reference numerals may be used to refer to like or related elements. It will be understood that a singular noun corresponding to a term may include one or more things, unless the relevant context clearly indicates otherwise. As used herein, each of the phrases such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C", and "at least one of A, B or C" may include any one or all possible combinations of the items listed together in the corresponding one of the plurality of phrases. As used herein, terms such as "first" and "second" or "1st" and "2nd" may be used to simply distinguish the corresponding components from another component, and do not limit the components in other respects (e.g., importance or order). It will be understood that, in the case where the term "operatively" or "communicatively" is used or where the term "operatively" or "communicatively" is not used, if an element (e.g., a first element) is referred to as "coupled with another element (e.g., a second element)", "coupled to another element (e.g., a second element)", "connected with another element (e.g., a second element)", or "connected to another element (e.g., a second element)", it means that the one element can be directly (e.g., wired) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.
[0064] As used herein, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic", "logic block", "portion", or "circuit"). A module may be a single integrated component adapted to perform one or more functions or the smallest unit or portion of the single integrated component. For example, according to an embodiment, a module may be implemented in the form of an application specific integrated circuit (ASIC).
[0065] The various embodiments described herein can be implemented as software (e.g., program 140) including one or more instructions readable by a machine (e.g., electronic device 101) stored in a storage medium (e.g., internal memory 136 or external memory 138). For example, under the control of a processor, a processor (e.g., processor 120) of the machine (e.g., electronic device 101) can call at least one of the one or more instructions stored in the storage medium and run the at least one instruction with or without using one or more other components. This enables the machine to operate to perform at least one function in accordance with the at least one instruction called. The one or more instructions can include code generated by a compiler or code that can be run by an interpreter. The machine-readable storage medium can be provided in the form of a non-transitory storage medium. Herein, the term "non-transitory" only means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but this term does not distinguish between data being stored semi-permanently in the storage medium and data being stored temporarily in the storage medium.
[0066] According to an embodiment, a method according to various embodiments of the present disclosure can be included and provided in a computer program product. The computer program product can be traded between a seller and a purchaser as a product. The computer program product can be distributed (e.g., downloaded or uploaded) online via an application store (e.g., Play StoreTM) in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or can be directly distributed (e.g., downloaded or uploaded) between two user devices (e.g., smart phones). If it is distributed online, at least part of the computer program product can be generated temporarily, or at least part of the computer program product can be stored at least temporarily in a machine-readable storage medium (such as the memory of a manufacturer's server, an application store's server, or a forwarding server).
[0067] According to various embodiments, each of the above components (e.g., a module or a program) may include a single entity or multiple entities. According to various embodiments, one or more of the above components may be omitted, or one or more other components may be added. Optionally or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each of the multiple components in the same or similar manner as the corresponding one of the multiple components performed the one or more functions before integration. According to various embodiments, the operations performed by a module, a program, or another component may be performed sequentially, in parallel, repeatedly, or in a heuristic manner, or one or more of the operations may be run in a different order or omitted, or one or more other operations may be added.
[0068] Figure 2 is a block diagram schematically illustrating an electronic device according to an embodiment of the present disclosure.
[0069] Referring to Figure 2 , the electronic device 201 may include a processor 220, a memory 230, a communication module 250, and a display 260. For example, the electronic device 201 may be implemented to be substantially the same as or similar to Figure 1 the electronic device 101 or 102. For example, the electronic device 201 may perform an electronic wallet (e.g., cold wallet) function.
[0070] According to an embodiment of the present disclosure, the processor 220 may control the overall operation of the electronic device 201. For example, the processor 220 may generate a hierarchical deterministic (HD) path to derive (or obtain) a blockchain account (or address) from a blockchain root seed. For example, the hierarchical deterministic path may include information indicating a path or method for deriving (or obtaining) a public key corresponding to the blockchain account (or address) from the root seed.
[0071] According to an embodiment, the processor 220 may (automatically) generate multiple hierarchical deterministic paths that can be derived from a specific root seed. For example, when running a blockchain signature application, the processor 220 may generate multiple hierarchical deterministic paths that can be derived for a specific root seed stored in the memory 230. For example, the multiple hierarchical deterministic paths may include paths having the same level (or depth) and / or different levels (or depths).
[0072] According to an embodiment, the processor 220 may (automatically) generate a first path corresponding to a first region (e.g., a region corresponding to levels one to three) and a second path corresponding to a second region (e.g., a region corresponding to levels four and five or a region corresponding to level four). The first path may be derived using only the private key of the root seed, and the second path may even be derived using the public key. For example, a hierarchical deterministic path capable of deriving a specific blockchain address may be a mixed path of the first path and the second path. For example, when running a blockchain signature application, the processor 220 may generate a first path that may be derived using only the private key of the root seed stored in the memory 230, and generate a second path that may be derived even using the public key. For example, the processor 220 may use the generated first path and second path to obtain or derive a blockchain address.
[0073] According to an embodiment, the processor 220 may use multiple hierarchical deterministic paths to obtain multiple public keys, which may be derived from a specific root seed stored in the memory 230. For example, the processor 220 may derive a private key from the root seed and use the private key to obtain multiple public keys. For example, the processor 220 may use multiple hierarchical deterministic paths to obtain a parent public key and multiple child public keys from the private key.
[0074] According to an embodiment, the processor 220 may use multiple public keys to obtain multiple addresses of a blockchain account. For example, the processor 220 may use each of the multiple child public keys to obtain a corresponding account number (or account address).
[0075] According to an embodiment, the processor 220 may identify, via the communication module 250, whether each of the multiple addresses is a valid account in the blockchain network. For example, the processor 220 may request, via the communication module 250, the blockchain network 290 to identify whether the accounts corresponding to the multiple addresses are valid. For example, a valid account may mean that the account has a transaction history or a balance. In other words, the processor 220 may identify whether the multiple addresses are valid through multiple nodes included in the blockchain network.
[0076] According to an embodiment, in response to an identification request from the electronic device 201, the blockchain network 290 may identify, through multiple nodes included in the blockchain network 290, whether the account corresponding to the corresponding address is valid. For example, the blockchain network 290 may be a network group including multiple nodes. The multiple nodes may share and manage blockchain information through the network among the nodes.
[0077] According to an embodiment, the processor 220 may identify whether a corresponding blockchain address is valid based on at least one of information on the balance of a blockchain address (or account) and count information related to transactions of the blockchain address. For example, the count information related to transactions of the blockchain address may include the number of transactions of the blockchain address (e.g., the number of remittances and / or deposits) and information on the transaction history (e.g., remittance history and / or deposit history).
[0078] According to an embodiment, the processor 220 may obtain information on an account (blockchain address) from the blockchain network 290 through the communication module 250. The account (blockchain address) information may include information on, for example, coin type, credit balance, balance, transaction history (e.g., remittance and / or deposit history), number of transactions (e.g., number of remittances and / or deposits), latest transaction information, transaction type (e.g., currency, item, or token), and / or manufacturer hint (e.g., hint on what electronic wallet manufacturer the corresponding account was created by). The processor 220 may identify whether the account is valid based on the account information. For example, when the account has no transaction history, the processor 220 may determine that the account is invalid. In other words, when there is a transaction history of the account, the processor 220 may determine that the account is valid. When the account has a remaining balance, the processor 220 may determine that the account is valid.
[0079] According to an embodiment, the processor 220 may display at least a part of the account information (or blockchain address information) obtained from the blockchain network 290 through the display 260. For example, the processor 220 may display at least a part of the blockchain address information based on the blockchain address information (e.g., the balance and transaction history of the blockchain account (e.g., deposit and remittance history)) and the number of transactions (e.g., the number of remittances and / or deposits). The processor 220 may display at least a part of the blockchain address information based on the balance information of the blockchain address (or account) included in the blockchain address information. In other words, the processor 220 may only select (or collate) a part of the account information obtained from the blockchain network 290 and display the selected information as information on the account corresponding to the blockchain address. For example, the display 260 may be implemented to be substantially the same as or similar to Figure 1 the display device 160.
[0080] According to an embodiment, the processor 220 may generate and display additional information using account information (or blockchain address information) obtained from the blockchain network 290. For example, the additional information may be new information generated by processing the account information obtained from the blockchain network 290. For example, the additional information may include manufacturer information inferred (or determined) based on the account information obtained from the blockchain network 290. The additional information may include, for example, the last transaction date of the account obtained from the blockchain network 290, the transmission type (e.g., information indicating whether the object of the transaction is currency or token (or item)), and account information about the other party of the transaction. That is, the additional information may be information different from the obtained account information. For example, the processor 220 may generate (or obtain) additional information by processing the account information obtained from the blockchain network 290, and display the generated additional information through a display. For example, the processor 220 may display the additional information together with the account information. Alternatively, the processor 220 may display the additional information before or after displaying the account information.
[0081] According to an embodiment, the processor 220 may store the root seed in the memory 230. For example, the root seed may be stored in a secure area of the memory 230. For example, the memory 230 may be implemented as Figure 1 The processor 220 may be substantially the same as or similar to the memory 130 of the electronic device 201. According to an embodiment, the processor 220 may store the root seed in a memory (not shown) outside the electronic device 201 (or an external electronic device).
[0082] According to an embodiment, the electronic device 201 may further include at least one of an auxiliary processor (not shown) and a non-volatile memory (not shown). For example, the auxiliary processor may be implemented as Figure 1 The auxiliary processor 123 of the electronic device 201 may be the same or similar. For example, the auxiliary processor may control blockchain-related functions and store blockchain-related information (or data) in a non-volatile memory. Alternatively, the electronic device 201 may further include only an auxiliary processor, and may store blockchain-related information (or data) in a secure area of the memory 230. In other words, the auxiliary processor may perform at least a portion of the operations of the processor 220 described herein.
[0083] Figure 3A , Figure 3B and Figure 3C is a view illustrating a method of operating an electronic device to provide blockchain account information according to various embodiments of the present disclosure.
[0084] refer to Figure 3A In operation 301, an electronic device (eg, Figure 2The electronic device 201 can run a blockchain wallet application. For example, the electronic device 201 can run a blockchain wallet application for identifying blockchain account information according to a user's input.
[0085] According to an embodiment, the blockchain wallet application can access the user's cryptocurrency, manage keys and addresses, identify credit balances, and generate and sign transactions. According to an embodiment, the user's cryptocurrency can be recorded on the blockchain by nodes participating in the blockchain network. The blockchain wallet application can include a private key and a public key to generate a transaction to be included in the blockchain. The user can send / receive the user's coins (or cryptocurrency) by signing a transaction using the user's private key via the blockchain wallet application.
[0086] In operation 303, the electronic device 201 can generate a plurality of hierarchical deterministic paths for a root seed stored in a memory (e.g., Figure 2 the memory 230). For example, when running the blockchain wallet application, the electronic device 201 can generate a plurality of hierarchical deterministic paths for the root seed via the blockchain wallet application. For example, the plurality of hierarchical deterministic paths can include five levels of paths following the BIP-44 rule and other levels (e.g., four levels) of paths not following the BIP-44 proposal. For example, the blockchain signature application can be an application that stores and / or manages the root seed.
[0087] According to an embodiment, the blockchain signature application can be implemented separately from the blockchain wallet application or can be included in the blockchain wallet application. For example, when the blockchain signature application is included in the blockchain wallet application, the blockchain wallet application can perform the functions (or roles) of the blockchain signature application.
[0088] According to an embodiment, the root seed can use various types of seeds. For example, the root seed can use a seed of hexadecimal numbers or a seed composed of 12-word mnemonics. In this case, the mnemonics can include a word format that can be perceived by the user. For example, the root seed can use mnemonics based on the BIP-39 standard. The mnemonic codes and seeds can be generated based on the BIP-39 standard.
[0089] Reference Figure 3B, according to an embodiment, the method of generating a root seed using mnemonics can be performed as follows. A salt value (e.g., a password entered by a user) and words included in the mnemonics are used as factors, and a key expansion function can be used to generate a 512-bit seed. The key expansion function (e.g., Password-Based Key Derivation Function 2 (PBKDF2)) can output a constant (512-bit) value using the two factor values. For example, the key expansion function can repeatedly perform hashing on the two factor values using a hashing algorithm (e.g., Hash-based Message Authentication Code (HMAC)-Secure Hash Algorithm (SHA) 512) and generate the final output value as the seed.
[0090] In operation 305, the electronic device 201 can obtain a plurality of public keys corresponding to a plurality of addresses of a blockchain account from the root seed using a plurality of hierarchical deterministic paths. For example, the electronic device 201 can obtain a plurality of public keys from the root seed through a blockchain signature application using a plurality of hierarchical deterministic paths. In addition, the electronic device 201 can obtain a plurality of addresses of the blockchain account based on the plurality of public keys.
[0091] Reference Figure 3C , a method (e.g., based on three depths) of generating (or obtaining) an address of a cryptocurrency can be performed based on the standard BIP-32, using factor values of a hierarchical deterministic path (HD path) defined in the standard BIP-44 and a seed key generated based on the standard BIP-39.
[0092] In the method of generating an address of a cryptocurrency, as the depth deepens, the factor value of the child key derivation function (CKD) corresponding to the next value can continue to increase. For example, when going from depth 0 to depth 1, CKD(m,0) can be used, and when the depth is further deepened (e.g., when going from depth 1 to depth 2), CKD(m.0,0) can be used. For example, the child key derivation (CKD) function can use the following HMAC-SHA512 hashing function.
[0093] Child Key Derivation Function~CKD(x, n) = HMAC-SHA512(xChain, x Put,Key ||n)
[0094] At operation 307, the electronic device 201 may identify at least one blockchain account (or blockchain address) via a blockchain network. The electronic device 201 may obtain information about a plurality of addresses (e.g., a plurality of public addresses) through operation 305. The plurality of addresses may be respective accounts of the blockchain. The electronic device 201 may use each of the plurality of addresses to access the blockchain network and identify valid accounts from among the plurality of accounts on the blockchain network. For example, the electronic device 201 may identify a public address based on the public key obtained in operation 305 and use the public address to identify information about the public address on the blockchain network. For example, the blockchain network may provide a mechanism (e.g., an API) that can identify blockchain account information (e.g., a transaction history or balance corresponding to the public address) using the public address. When there is a transaction history (or transaction record) of the corresponding account on the blockchain network, the electronic device 201 may determine that the account is a valid account. Alternatively, when there is a transaction history for a specific period of time of the corresponding account on the blockchain network, the electronic device 201 may determine that the account is a valid account. For example, the existence of a transaction history may not only mean the existence of a financial transaction but also mean a situation where a user uses the account and thus includes specific information. According to an embodiment, when the account information obtained from the blockchain network is an address that is confirmed to be reliable (e.g., a specific exchange address or an address certified by an organization), the electronic device 201 may determine that the account is valid. According to an embodiment, when there is a balance of the corresponding account in the blockchain network, the electronic device 201 may determine that the account is a valid account.
[0095] At operation 309, the electronic device 201 may determine the validity of an account based on information (e.g., balance information) about at least one account via the blockchain network and provide information about the account determined to be valid. The electronic device 201 may provide information about the account determined to be valid (e.g., information about account balance, transaction history (remittance and deposit history), and / or number of transactions (number of remittances and / or number of deposits)). For example, the electronic device 201 may manage at least one valid account separately depending on the type of coin. Depending on the type of coin, the electronic device 201 may obtain information about the valid account, such as balance, credit balance, transaction history (e.g., remittance and / or deposit history), number of transactions (e.g., number of remittances and / or number of deposits), latest transaction information, and / or manufacturer.
[0096] Figure 4A is a block diagram of an electronic device in a network environment according to an embodiment of the present disclosure. Figure 4C is a view illustrating a hierarchical deterministic path according to an embodiment of the present disclosure.
[0097] Reference Figure 4A , the electronic device 401 may be composed of a processor (e.g.,Figure 2 The processor 220) runs the first blockchain signature application 410, the blockchain service module 430, and the blockchain wallet application 450. For example, the first blockchain signature application 410, the blockchain service module 430, and the blockchain wallet application 450 may be applications stored in the electronic device 401. According to an embodiment, the first blockchain signature application 410, the blockchain service module 430, and the blockchain wallet application 450 may be implemented in one blockchain wallet application 450.
[0098] According to an embodiment, the first blockchain signature application 410 may manage or store a root seed. The first blockchain signature application 410 may generate a plurality of hierarchical deterministic paths that can be derived from a single root seed.
[0099] According to an embodiment, the first blockchain signature application 410 may obtain a private key from the root seed using each of the plurality of hierarchical deterministic paths that can be derived from the root seed, and obtain a public key from the private key. The first blockchain signature application 410 may send the public key to the blockchain service module 430. For example, the first blockchain signature application 410 may send the parent public key of each coin derived (or obtained) from the root seed to the blockchain service module 430. For example, the first blockchain signature application 410 may be an application stored or embedded in the electronic device 401. The first blockchain signature application 410 may be an application that can store the private key separately in a secure area of the electronic device and manage the private key. According to an embodiment, the first blockchain signature application 410 may be a security-enhanced application that can run only on a separate secure operating system or secure kernel, can logically or physically separate a part of the memory (e.g., Figure 2 the memory 230) and configure the part as a secure area (e.g., a trusted execution environment (TEE)), and can store and manage the private key in the secure area. According to an embodiment, the first blockchain signature application 410 may store the key in a memory external to the electronic device and support additional authentication operations to allow the key stored in the external memory to be used via separate authentication. According to an embodiment, the first blockchain signature application 410 may run on a normal operating system or a non-secure area (e.g., a rich execution environment (REE)) to manage the private key.
[0100] According to an embodiment, the second blockchain signature application 420 may perform the same functions as the first blockchain signature application 410. However, unlike the first blockchain signature application 410, the second blockchain signature application 420 may not be stored or embedded in the electronic device 401. For example, the second blockchain signature application 420 may be an application stored or embedded in an external device. For example, when the external device is connected to the electronic device 401 and there is a request from the blockchain service module 430, the second blockchain signature application 420 may send a public key to the blockchain service module 430. The second blockchain signature application 420 may send a parent public key to the blockchain service module 430, identify the blockchain address generated based on the parent public key, and identify a list of blockchain addresses. For example, the second blockchain signature application 420 may send the parent public key (e.g., the highest public key) of each coin derived (or obtained) from the root seed to the blockchain service module 430. For example, the highest public key may mean a public key generated based on a private key generated from the root seed of a hierarchical deterministic (HD) wallet and is the highest public key in a hierarchical structure (e.g., a tree structure).
[0101] According to an embodiment, the blockchain service module 430 may obtain a public key (e.g., a parent public key) from the first blockchain signature application 410 or the second blockchain signature application 420. The blockchain service module 430 may use any one of a plurality of hierarchical deterministic paths to derive (or obtain) a public key (e.g., a child public key) for restoring the address corresponding to the blockchain account from the public key (e.g., the parent public key) obtained from the blockchain signature application 410 or 420.
[0102] Reference Figure 4C , the blockchain signature application 410 or 420 may obtain a public key (parent public key) based on an area that can be derived only with a private key or the same area for each manufacturer, and since the remaining hierarchical deterministic (HD) paths (e.g., depth 4) and subsequent HD paths can even be derived with a public key and whether it is used varies depending on the manufacturer, it may derive a child public key while changing the factor values of depths 4 and 5 corresponding to the remaining hierarchical deterministic paths. For example, the blockchain signature application 410 or 420 may sequentially increase the "account_index" of depth 5 to derive a child public key. The blockchain signature application 410 or 420 may generate a blockchain address for each coin using the derived public key. The generated blockchain address may be verified for its validity via the blockchain network, and the blockchain signature application 410 or 420 may store a list of blockchain addresses determined to be valid.
[0103] For example, in an operation of identifying the validity of a blockchain address, the blockchain service module 430 may identify the balance and / or transaction history of the address of each coin via the blockchain network 490. For example, the blockchain service module 430 may request the blockchain network 490 to identify the balance and / or transaction history of the address. When the address has a balance and / or transaction history, the account may be determined to be a valid account, and when the address has no balance and / or transaction history, the account may be determined to be an invalid account. The blockchain service module 430 may obtain a list of valid accounts and valid account information. According to an embodiment, the blockchain service module 430 may be implemented as a service development kit (SDK).
[0104] According to an embodiment, the blockchain wallet application 450 may obtain valid account information from the blockchain service module 430 to identify valid accounts among the accounts that can be generated from the root seed. The blockchain service module 430 may identify information (e.g., transaction information) related to the blockchain address corresponding to the account via the blockchain network 490. For example, the blockchain service module 430 may identify the balance or transaction history based on the blockchain address, and when there is a balance or transaction history, determine that the account corresponding to the blockchain address is a valid account.
[0105] According to an embodiment, the blockchain wallet application 450 may display the valid account information through a display (e.g., Figure 2 the display 260). For example, a valid account may mean an account having a user transaction history (e.g., within a specific period). Alternatively, a valid account may refer to an account having a balance regarding the corresponding blockchain address. According to an embodiment, the blockchain wallet application 450 may be an application that performs a hierarchical deterministic (HD) wallet function.
[0106] Figure 4B is a block diagram of an electronic device in a network environment according to an embodiment of the present disclosure.
[0107] Referring to Figure 4B , compared with the Figure 4A system, the Figure 4B system may further include a server 470.
[0108] According to an embodiment, the server 470 may perform at least some of the operations performed by the Figure 4A blockchain service module 430. Accordingly, in the Figure 4B , the operations performed by the blockchain service module 430 may be partially different from those of the Figure 4A . Conversely, the Figure 4B operations of the blockchain signature applications 410 and 420, the blockchain wallet application 450, and the blockchain network 490 may be the same as those of the Figure 4A .
[0109] According to an embodiment, the blockchain service module 430 may obtain a parent public key from the first blockchain signature application 410 or the second blockchain signature application 420. The blockchain service module 430 may use any one of a plurality of hierarchical deterministic paths to derive (or obtain) a lower-level parent public key from the parent public key (e.g., the highest parent public key) obtained from the blockchain signature application 410 or 420. The blockchain service module 430 may send the derived parent public key to the server 470.
[0110] According to an embodiment, the server 470 may use any one of a plurality of hierarchical deterministic paths to derive (or obtain) an ultimate-level child public key from the parent public key obtained from the blockchain service module 430 to recover the address corresponding to the blockchain account. The server 470 may generate (or obtain) the address of each coin from the derived child public key.
[0111] According to an embodiment, the blockchain service module 430 may use some of a plurality of hierarchical deterministic paths (e.g., HD paths from depth 0 to depth 3) to obtain the parent public key of each coin. The blockchain service module 430 may send the obtained parent public key to the server 470. The server 470 may use the remaining paths of the plurality of hierarchical deterministic paths (e.g., HD paths from depth 4 to depth 5) to derive the ultimately used public key based on the obtained parent public key. For example, in the case of depth 4 (variant) among the hierarchical deterministic paths, the corresponding parameter may not be used, and the set value of the corresponding parameter may vary depending on the manufacturer. According to an embodiment, the server 470 may identify the changes in the market, and apply the changes to the set value and manage the set value. In the case of depth 5 (account index) among the hierarchical deterministic paths, the server 470 may derive the public key by incrementing the corresponding parameter one by one starting from 0.
[0112] The server 470 may derive (or obtain) an ultimate-level child public key from the parent public key obtained from the blockchain service module 430 to recover the address corresponding to the blockchain account. The server 470 may generate (or obtain) the address of each coin from the derived ultimate public key. According to an embodiment, a hierarchical deterministic wallet (HD wallet) may obtain a child public key from a parent public key using a child key derivation function (CKD).
[0113] According to an embodiment, the server 470 may obtain (or identify) information about the address of each coin via the blockchain network 490. For example, the blockchain service module 430 may request the blockchain network 490 to identify the balance of the address, the number of transactions (e.g., the number of remittances and / or deposits), and / or the transaction history (e.g., the remittance history and / or the deposit history). When there is a balance, number of transactions, and / or transaction history of the address, the account may be determined to be a valid account, and when there is no balance, number of transactions, and / or transaction history of the address, the account may be determined to be an invalid account. The blockchain service module 430 may obtain a list of valid accounts and valid account information (e.g., information about the balance, credit balance, number of transactions, and / or transaction history). The server 470 may send the list of valid accounts and valid account information to the blockchain service module 430. The blockchain service module 430 may send the valid account information to the blockchain wallet application 450.
[0114] According to an embodiment, the server 470 may obtain other information in addition to the account information (e.g., information about the balance, credit balance, number of transactions, and / or transaction history) obtained through the blockchain network. For example, the server 470 may obtain detailed information about a specific account by monitoring the transactions of the blockchain account. The detailed information may be information about the last transaction date of the specific account, the transaction target address information, and the transaction type (e.g., currency, item, or token). The server 470 may send the obtained detailed information to the electronic device 401 (e.g., the blockchain service module 430).
[0115] Figure 5 is a block diagram illustrating the operation of a blockchain signature module according to an embodiment of the present disclosure.
[0116] Reference Figure 5 , the blockchain signature application 410 may store and manage the root seed 412. For example, the blockchain signature application 410 may store the root seed 412 in a memory (e.g., Figure 2 the memory 230) and manage it.
[0117] According to an embodiment, the blockchain signature application 410 may generate a plurality of hierarchical deterministic paths 414 that can be derived from a root seed 412. For example, the blockchain signature application 410 may generate hierarchical deterministic paths 414 for cases that can be derived from the root seed 412. According to an embodiment, the blockchain signature application 410 may use at least one of the plurality of hierarchical deterministic paths to derive (or obtain) a private key 416 and a public key 417 from the root seed 412. For example, the public key 417 may be the highest parent public key. For example, at least one hierarchical deterministic path may be determined by selecting a parameter at a corresponding depth in a hierarchical deterministic (HD) path assigned to a key pair created with the private key. In addition, the blockchain signature application 410 may use at least one of the plurality of hierarchical deterministic paths to derive (or obtain) a private key 418 and a public key 419 from the private key 416. That is, the blockchain signature application 410 may obtain a key pair, the private key 418, and the public key 419. For example, the public key 419 may be a child public key of the highest parent public key.
[0118] According to an embodiment, in an operation of deriving a private key from a root seed, the private key and the chain code may be generated from a value obtained by hashing the root seed using a hashing algorithm (e.g., HMAC-SHA512). The hash value is generated in 512 bits, and the left 256 bits of the hash value may be used as the private key, while the right 256 bits may be used as the chain code. The public key may be generated by applying a predetermined function (e.g., an elliptic curve function) to the private key.
[0119] According to an embodiment, the blockchain signature application 410 may send the public key 419 to a blockchain service module (e.g., Figure 4A and Figure 4B the blockchain service module 430). For example, the root seed 412 and the private key 416 may not be sent to the blockchain service module 430, while the public key 419 may be sent to the blockchain service module 430 alone. For example, the blockchain signature application 410 may use a plurality of hierarchical deterministic paths 414 that can be derived from the root seed 412 to obtain a plurality of public keys, and may send the obtained public keys to the blockchain service module 430.
[0120] Although Figure 5 illustrates that the blockchain signature application 410 separate from the blockchain wallet application 450 performs corresponding operations, according to an embodiment, the blockchain wallet application 450 and the blockchain signature application 410 may be integrated to perform corresponding operations. For example, the blockchain wallet application 450 may combine with the blockchain signature application 410 to perform the operations described above in conjunction with Figure 5 description.
[0121] Figure 6 is a flowchart illustrating a method of operating an electronic device according to an embodiment of the present disclosure to provide blockchain account information for a root seed.
[0122] Reference Figure 6 The blockchain signature application 410 and the blockchain wallet application 450 can be implemented as one application. Alternatively, the blockchain signature application 410 and the blockchain wallet application 450 can be separate applications from each other.
[0123] Reference Figure 6 In operation 601, an electronic device (e.g., the electronic device 401) can run the blockchain wallet application 450.
[0124] In operation 603, the electronic device 401 can recover (and store) the root seed. The electronic device 401 can receive a specific mnemonic and recover the root seed 412 corresponding to the mnemonic. For example, when the electronic device 401 is newly purchased or the electronic device 401 is first operated since a factory reset, the electronic device 401 can use the blockchain wallet application 450 (or the blockchain signature application 410) to recover the root seed. For example, the electronic device 401 can use the blockchain wallet application to identify whether there is a pre-existing root seed, and if so, identify whether to recover the root seed. The electronic device 401 can recover the root seed in response to a user input selecting an object for recovering the root seed provided by the blockchain wallet application program 450. Alternatively, the electronic device 401 can use the blockchain signature application 410 to recover (and store) the root seed that was once used by another blockchain signature application 420. For example, the electronic device 401 can receive a specific mnemonic and recover (or obtain) the root seed corresponding to the mnemonic. For example, the electronic device 401 can use the blockchain signature application 410 (e.g., Samsung blockchain Keystore) to recover the root seed that was once used by another blockchain signature application 420 (e.g., Nano S).
[0125] In operation 605, the electronic device 401 can use the blockchain wallet application (or the blockchain signature application 410) to generate a plurality of hierarchical deterministic paths that can be derived from the recovered root seed. For example, the electronic device 401 can (automatically) generate a first path corresponding to a first region (e.g., a region corresponding to levels one to three) and a second path corresponding to a second region (e.g., a region corresponding to levels four and five or a region corresponding to level four). The first path can be derived using only the private key of the root seed, and the second path can be derived even using the public key. In addition, the electronic device 401 can generate hierarchical deterministic paths for a specific blockchain account through the first path and the second path.
[0126] At operation 607, the electronic device 401 may obtain multiple public keys from a root seed using multiple hierarchical deterministic paths, and these public keys may be used to obtain blockchain accounts. For example, the electronic device 401 may obtain a parent public key from the root seed through the blockchain signature application 410 using any one of the multiple hierarchical deterministic paths (e.g., values from depth 0 to depth 4). The electronic device 401 may obtain a child public key corresponding to the blockchain account (or address) from the parent public key by the blockchain service module 430 using the hierarchical deterministic path.
[0127] At operation 609, the electronic device 401 may identify the address of the blockchain account based on the child public key and identify the account corresponding to the address via the blockchain network. For example, the electronic device 401 may identify whether the account corresponding to the address is valid through the blockchain network. When determining that the account is valid, the electronic device 401 may obtain information about the account. For example, the operation of determining the account validity may use a function (e.g., API) provided to determine the validity of the account on the blockchain network. For example, when the blockchain address is sent as a parameter to the API, such as "ethGetTransactionCount" in the Ethereum network, the electronic device 401 may identify the validity of the account corresponding to the blockchain address based on the information obtained from the API.
[0128] At operation 611, the electronic device 401 may provide information about the valid account through the user interface of the blockchain wallet application 450. In addition, the electronic device 401 may update the valid account information.
[0129] Figure 7A and 7B illustrates a data flow for describing a method of operating an electronic device to provide blockchain account information for a root seed according to various embodiments of the present disclosure.
[0130] Figure 7A illustrates a data flow for specifically describing the method of operating the electronic device 401 as described above in conjunction with Figure 4A the operations.
[0131] Referring to Figure 7A , at operation 701, the blockchain signature application 410 may generate multiple hierarchical deterministic paths that can be derived from a root seed. The blockchain signature application 410 may obtain a private key from the root seed using any one of the multiple hierarchical deterministic paths that can be derived from the root seed and obtain a first public key from the private key. For example, the first public key may be a parent public key corresponding to the highest level in the hierarchical deterministic path.
[0132] At operation 703, the blockchain signature application 410 may send the first public key to the blockchain service module 430.
[0133] At operation 705, the blockchain service module 430 may derive (or obtain) a second public key for recovering an address corresponding to a blockchain account from a first public key of the blockchain using a hierarchical deterministic path. For example, the blockchain service module 430 may obtain the second public key, which is a child key of the first public key, using a child key derivation function (CKD). For example, the second public key may be a child public key corresponding to the final level in the hierarchical deterministic path. In addition, the blockchain service module 430 may generate (or obtain) an address corresponding to the blockchain account from the second public key.
[0134] At operation 707, the blockchain service module 430 may request the blockchain network 490 to identify the transaction history of an account corresponding to the address.
[0135] At operation 709, the blockchain network 490 (or multiple nodes included in the blockchain network) may identify the transaction history of an account corresponding to the address. When there is a transaction history for the address, the blockchain network 490 may determine that the account is a valid account, and when there is no transaction history for the address, the blockchain network 490 may determine that the account is an invalid account.
[0136] At operation 711, the blockchain service module 430 may obtain a list of valid accounts and valid account information from the blockchain network 490. At operation 713, the blockchain service module 430 may identify the valid account information. For example, the valid account information may include, for example, credit balance, transaction history, number of transactions, latest transaction information, and / or manufacturer tips.
[0137] At operation 715, the blockchain wallet application 450 may receive or obtain the valid account information sent from the blockchain service module 430. At operation 717, the blockchain wallet application 450 may provide or display the valid account information through a display (e.g., Figure 2 the display 260). For example, the blockchain wallet application 450 may provide information about the type of hierarchical deterministic path of the valid account that has been derived (or obtained) or who has opened the valid account. For example, the blockchain wallet application 450 may display whether the account has been derived from a five-level hierarchical deterministic path or a four-level hierarchical deterministic path.
[0138] Figure 7B illustrates a data flow for a method of operating an electronic device 401 according to an embodiment of the present disclosure for specifically describing the operations described above in conjunction with Figure 4B the above.
[0139] Refer to Figure 7B, at operation 751, the blockchain signature application 410 may generate multiple hierarchical deterministic paths that can be derived from a single root seed. The blockchain signature application 410 may obtain a private key from the root seed using any one of the multiple hierarchical deterministic paths that can be derived from the root seed, and obtain a first public key from the private key. For example, the first public key may be a parent public key corresponding to the highest level in the hierarchical deterministic path.
[0140] At operation 753, the blockchain signature application 410 may send the first public key to the blockchain service module 430.
[0141] At operation 755, the blockchain service module 430 may derive (or obtain) a lower-level second public key from the blockchain first public key using the hierarchical deterministic path. For example, the second public key may be a child public key corresponding to three levels out of the five levels of the hierarchical deterministic path proposed in BIP-44.
[0142] At operation 757, the blockchain service module 430 may send the second public key to the server 470.
[0143] At operation 759, the server 470 may derive (or obtain) a final-level third public key for recovering the address corresponding to the blockchain account from the second public key using the hierarchical deterministic path. In addition, the server 470 may generate (or obtain) the address corresponding to the blockchain account from the third public key.
[0144] At operation 761, the blockchain service module 430 may request the blockchain network 490 to identify the transaction history of the account corresponding to the address.
[0145] At operation 763, the blockchain network 490 (or multiple nodes included in the blockchain network) may identify the transaction history of the account corresponding to the address. When there is a transaction history for the address, the blockchain network 490 may determine that the account is a valid account, and when there is no transaction history for the address, the blockchain network 490 may determine that the account is an invalid account.
[0146] At operation 765, the server 470 may obtain a list of valid accounts and valid account information from the blockchain network 490. At operation 767, the blockchain service module 430 may obtain a list of valid accounts and valid account information from the server 470. At operation 769, the blockchain service module 430 may identify the valid account information.
[0147] At operation 771, the blockchain wallet application 450 may receive or obtain the valid account information sent from the blockchain service module 430. At operation 773, the blockchain wallet application 450 may provide or display the valid account information through a display (e.g., Figure 2 display 260).
[0148] Although Figure 7A and 7B illustrate that the blockchain signature application 410 separated from the blockchain wallet application 450 performs specific operations, according to an embodiment, the blockchain wallet application 450 and the blockchain signature application 410 may be integrated to perform these operations. For example, the blockchain wallet application 450 may be combined with the blockchain signature application 410 to perform the operations described above in connection with Figure 7A and 7B (e.g., the operations of the blockchain signature application 410).
[0149] Figure 8A is a view illustrating five levels of paths according to BIP-44 according to an embodiment of the present disclosure.
[0150] Referring to Figure 8A , the five levels of hierarchical deterministic paths 801 may include a first level 810 indicating "purpose", a second level 820 indicating "coin_type", a third level 830 indicating "account", a fourth level 840 indicating "change", and a fifth level 850 indicating "address_index".
[0151] According to an embodiment, the first level 810, i.e., "purpose", may indicate the specification used. For example, when it is created by the BIP-44 specification, the first level 810 may use 44'. The second level 820 may mean the coin type, and the value indicating the coin type may be determined (reserved) by the manufacturer. For example, it may be determined that BTS (Bitcoin) = "0", ETH (Ethereum) = "60". The coin type code for each cryptocurrency may be set based on the SLIP0044 standard. The third level 830 indicating "account" may be used to distinguish receiving addresses and change addresses. These values may or may not depend on the type of blockchain. For example, Bitcoin uses "account", but Ethereum may not use "account". The third level 830 may increase sequentially starting from 0 for logically separate use. The fourth level 840 is a parameter derived from BTC, and basically most coins may set "0" as a fixed value. The fifth level 850, "address_index", may mean the increasing address number. The fifth level 850 may increase sequentially starting from 0. As described above, depending on the blockchain used, each level may be set to a different value or may be omitted.
[0152] According to an embodiment, the electronic device 201 or 401 may modify a second-level value corresponding to "coin_type" of each coin among values (or parameters) corresponding to five levels proposed in BIP-44, and increase a third-level value corresponding to "account" and a fifth-level value corresponding to "address_index" in integer order starting from 0, thereby geographically networking multiple hierarchical deterministic paths.
[0153] According to an embodiment, the electronic device 201 or 401 may sequentially increase by an integer the third-level value corresponding to "account" and the fifth-level value corresponding to "address_index" among values (or parameters) corresponding to five levels proposed in BIP-44 starting from 0, thereby identifying a valid account for each coin.
[0154] Figure 8B is a view illustrating paths of four levels according to an embodiment of the present disclosure.
[0155] Reference Figure 8B , according to BIP-44, the hierarchical deterministic path 802 may exclude at least some of the five levels. That is, depending on the manufacturer of the blockchain signature application, a hierarchical deterministic path having all five levels or only some of the five levels (for example, excluding the fourth level as shown in Figure 8B ) may be used (for example, a hierarchical deterministic path of four levels as shown in Figure 8B ). Alternatively, depending on the manufacturer of the blockchain signature application, a hierarchical deterministic path including one level in addition to the five levels may be used.
[0156] Figure 9A and Figure 9B are views illustrating a method of identifying account information of a root seed based on a path of five levels according to BIP-44 according to various embodiments of the present disclosure.
[0157] Reference Figure 9A and Figure 9B , the electronic device 201 or 401 may use the blockchain signature application 410 to generate multiple hierarchical deterministic paths that can be derived from the root seed 905.
[0158] According to an embodiment, Figure 9A the hierarchical deterministic path 901 may be any one of the multiple hierarchical deterministic paths. Reference Figure 9A, in the five - level hierarchical deterministic path 901, depending on the specification used, each level can have a different meaning. For example, when created by the BIP - 44 specification, the first level 910 can be set to 44. The second level 920 can be a value indicating the coin type. For example, when set to 60, this can indicate the hierarchical deterministic path of ETH (Ethereum). In the case of Bitcoin, the third level 930 can be used to distinguish receiving addresses and change addresses, or depending on the type of blockchain, it may not be used. The fourth level 940 is a parameter derived from BTC, and basically most coins can set "0" as a fixed value. The fifth level 950, i.e., the address_index, can mean that the address number increases and can increase sequentially starting from 0. As described above, depending on the blockchain used, each level can be set to different values or can be omitted.
[0159] According to an embodiment, the blockchain signature application 410 running on the electronic device 201 or 401 can use the hierarchical deterministic path 901 to generate a public key for deriving (or obtaining) an address corresponding to a blockchain account.
[0160] According to an embodiment, the child key derivation (CKD) function can be used to derive the public key in the BIP - 32 standard. At this time, as the factor values of the CKD, the input value entered in the hierarchical deterministic (HD) path, the parent public key, and various other values can be used. The input value can increase by 1 depending on the level, and the next child key can be derived from the increased input value. For example, countless key values can be generated depending on the factor values of the hierarchical deterministic (HD) path, such as the child key values are derived from CKD(m / 0) at level 1, CKD(m / 0 / 0) at the next level, i.e., level 2, CKD(m / 0 / 0 / 1) at level 3, CKD(m / 0 / 0 / 1 / 0) at level 4,..., CKD(m / 0 / 0 / 0 / k). At the same time, the scheme of the factor values for creating the hierarchical deterministic path described herein is only an example and is not limited to the BIP - 32 standard, but various schemes for generating the hierarchical deterministic (HD) path can be adopted.
[0161] According to an embodiment, the electronic device 201 or 401 may derive a private key from the root seed 905 and derive a public key with the value "44" at the first level 910 from the private key. The electronic device 201 or 401 may derive a public key with the value "60" at the second level 920 (which is a value indicating ETH (Ethereum)) from the public key with the value "44" at the first level 910. The electronic device 201 or 401 may derive a public key with a different value (e.g., "0" in the case of BTC (Bitcoin)) from the public keys with the value "60" at the second level 920 and the value "44" at the first level 910. However, the process by which the electronic device 201 or 401 derives a public key with a different value from "60" is omitted.
[0162] According to an embodiment, the electronic device 201 or 401 may derive a public key with the value "0" at the third level 930 from the public key with the value "60" at the second level 920. The electronic device 201 or 401 may increment the value at the third level 930 in integer order from the public key with the value "60" at the second level 920 and derive a public key for the incremented value in integer order (e.g., including incrementing by 1 from "0"). However, the process by which the electronic device 201 or 401 derives a public key with a different value from "0" is omitted.
[0163] According to an embodiment, the electronic device 201 or 401 may derive a public key with the value "0" at the fourth level 940 from the public key with the value "0" at the third level 930.
[0164] According to an embodiment, the electronic device 201 or 401 may derive a public key 960 with the value "0" at the fifth level 950 from the public key with the value "0" at the fourth level 940. The electronic device 201 or 401 may increment the value at the fifth level 950 in integer order from the public key with the value "0" at the fourth level 940 and derive a public key for the incremented value in integer order (e.g., including "1" which is incremented by 1 from "0"). However, the process by which the electronic device 201 or 401 derives a public key with a different value from "0" is omitted.
[0165] According to an embodiment, the electronic device 201 or 401 may obtain an address 970 corresponding to a blockchain account from the public key 960 with the value "0" at the fifth level 950. For example, the address 970 may be obtained by applying a specific algorithm to the public key 960. For example, in the case of Bitcoin, the specific algorithm may be the "Address = RIPEMD160(SHA256(public key))" algorithm. In the case of a Bitcoin address, the electronic device 201 or 401 may generate a SHA256 hash with the public key and may perform the RIPEMD160 hash again to obtain a 160-bit Bitcoin address.
[0166] According to an embodiment, the electronic device 201 or 401 may identify whether the account corresponding to the address 970 is valid via a blockchain network (e.g., 290 or 490).
[0167] As described above, the electronic device 201 or 401 may obtain a plurality of public keys from a root seed using a plurality of hierarchical deterministic paths and obtain the addresses corresponding to the plurality of public keys. In addition, the electronic device 201 or 401 may effectively identify whether the accounts corresponding to the plurality of addresses are valid and information about the accounts.
[0168] According to an embodiment, in Figure 7A , the public keys from the first level 910 to the fifth level 950 may be derived (or obtained) from the electronic device 401. In contrast, in Figure 7B , the public keys from the first level 910 to the third level 930 may be derived (or obtained) from the electronic device 401, and the public keys after the third level 930, e.g., the public keys from the fourth level 940 to the fifth level 950, may be derived (or obtained) from the server 470. At this time, the server 470 may obtain the address 970 corresponding to the blockchain account from the public key 960 with the value “0” at the fifth level 950 and may identify whether the account corresponding to the address 970 is valid via a blockchain network (e.g., 290 or 490). In addition, the server 470 may send information about whether the account is valid and information about the valid account to the electronic device 401.
[0169] Figure 10A and Figure 10B are views illustrating user interfaces for providing blockchain account information about a root seed according to various embodiments of the present disclosure.
[0170] Referring to Figure 10A , the electronic device 1001 (e.g., Figure 2 the electronic device 201 or 401 of 4) may provide information about a blockchain account. For example, when running a blockchain wallet application (e.g., the blockchain wallet application 450 of FIG. 4), the electronic device 1001 may provide blockchain account information through the user interface 1010 of the blockchain wallet application 450.
[0171] According to an embodiment, the user interface 1010 may provide information about the total credit balance included in all accounts. For example, the user interface 1010 may provide information about the total credit balance included in all accounts considering the current market price of each coin and the account credit balance.
[0172] According to an embodiment, the user interface 1010 may provide information 1021 about an ETH (Ethereum) account 1, information 1026 about an Aeternity account 1, and information 1030 about an ETH account 2. For example, the ETH account 1 may be an account generated or imported using a four - level hierarchical deterministic path from an external electronic device (e.g., "Nano S"), and the ETH account 2 may be an account generated or imported using a five - level hierarchical deterministic path from another blockchain application (e.g., Samsung "Keystore" or "Trezor"). For example, the Aeternity account 1 may be an account generated or imported using a four - level hierarchical deterministic path from an external electronic device (e.g., "Nano S").
[0173] For example, since the ETH account 1 is exported using a four - level hierarchical deterministic path, a hint 1025 of the manufacturer (Nano S) using the four - level hierarchical deterministic path may be provided. Since the ETH account 2 is exported using a five - level hierarchical deterministic path, a hint 1035 of the manufacturer (Samsung "Keystore" or "Trezor") using the five - level hierarchical deterministic path may be provided.
[0174] According to an embodiment, the user interface 1010 may group accounts according to the level type of the hierarchical deterministic path. For example, the user interface 1010 may group the ETH (Ethereum) account 1 and the Aeternity account 1 exported from the four - level hierarchical deterministic path into a first group 1020, and group the ETH account 2 exported using the five - level hierarchical deterministic path into a second group 1030.
[0175] Reference Figure 10A and Figure 10B , each account information 1021, 1026, and 1031 may provide detailed information about each account. For example, in the information 1021, when a touch input of the user occurs on the detailed information object 1022, the electronic device 1001 may display the detailed information 1023. For example, the detailed information 1023 may include information additionally obtained using blockchain address information obtained from a blockchain network.
[0176] Although for ease of description Figure 10A and Figure 10B the user interface 1010 is illustrated as only providing specific information about the accounts, the technical spirit of the present disclosure is not limited thereto.
[0177] Figure 11 is a flowchart illustrating a method for restoring a root seed of a blockchain account through authentication according to an embodiment of the present disclosure.
[0178] Reference Figure 11According to an embodiment, at operation 1101, the electronic device 201 or 401 may perform an operation of restoring (or updating) a blockchain account. For example, when the blockchain wallet application 450 is running, the electronic device 201 or 401 may start an operation of identifying a blockchain account that can be restored from a root seed.
[0179] In operation 1103, before the recovery operation, the electronic device 201 or 401 may perform an authentication operation. For example, the electronic device 201 or 401 may compare the pre-registered biometric information and / or pin code with the biometric information and / or pin code input from the user, thereby performing the authentication operation. According to an embodiment, the user may recover the root seed based on the mnemonic. In operation 1105, the electronic device 201 or 401 may use the recovered root seed to recover the address generated based on the root seed based on the hierarchical deterministic path.
[0180] In operation 1105, when the authentication is completed, the electronic device 201 or 401 may generate a hierarchical deterministic path that can be driven with a root seed. In addition, the electronic device 201 or 401 may derive (or obtain) multiple public keys using the hierarchical deterministic path to obtain addresses corresponding to blockchain accounts. The electronic device 201 or 401 may use multiple public keys to obtain multiple addresses.
[0181] In operation 1107, the electronic device 201 or 401 may identify a valid account among accounts corresponding to a plurality of addresses via the blockchain network. In addition, the electronic device 201 or 401 may obtain information about at least one valid account (e.g., credit balance, latest transaction time, transaction history (e.g., remittance and / or deposit history), transaction number (e.g., remittance number and / or deposit number), coin type, and / or wallet type (application) in which the account has been opened).
[0182] In operation 1109, the electronic device 201 or 401 may provide the user with information about the recoverable blockchain account. The user may recover the blockchain account using the electronic device 201 or 401 by referring to the information about the recoverable blockchain account.
[0183] Figure 12A , Figure 12B and Figure 12C A user interface for describing a method of restoring a blockchain account of a root seed through authentication according to various embodiments of the present disclosure is illustrated.
[0184] refer to Figures 12A to 12C , electronic device 1201 (e.g., Figure 2The electronic device 201 or 401 of FIG. 4 can perform an operation of restoring (or updating) a blockchain account. For example, when running the blockchain wallet application 450, the electronic device 1201 can use the blockchain signature application 410 to start the operation of restoring (or updating) the blockchain account.
[0185] Reference Figure 12A and Figure 12B , the electronic device 1201 can perform an authentication operation before restoring (or updating) the blockchain account. For example, the electronic device 1201 can perform the authentication operation via a preset authentication mechanism.
[0186] Reference Figure 12A , when the pin code has been preset as the authentication mechanism, the electronic device 1201 can display the user interface 1210 to receive the pin code. When the user inputs the pin code into the pin code input window 1215, the electronic device 1201 can compare the pre-registered code with the input pin code, thereby performing the authentication operation. When the input pin code is the same as the pre-registered pin code, the electronic device 1201 can complete the authentication.
[0187] Reference Figure 12B , when the biometric information is set as the authentication mechanism, the electronic device 1201 can display the user interface 1220 to receive the biometric information. When the user inputs the biometric information (e.g., fingerprint information) into the biometric information input window 1225, the electronic device 1201 can compare the pre-registered biometric information with the input biometric information, thereby performing the authentication operation. When the input biometric information (e.g., fingerprint information) is the same as the pre-registered biometric information (e.g., fingerprint information), the electronic device 1201 can complete the authentication.
[0188] According to an embodiment, the authentication operation can be performed via multiple authentication mechanisms. For example, the electronic device 1201 can receive both the pin code and the biometric information from the user, and can complete the authentication when both the received pin code and biometric information are the same as the pre-registered information.
[0189] Reference Figure 12C , when the authentication is completed, the electronic device 1201 can display the user interface 1230, and the user interface 1230 includes information about the blockchain account that can be restored (or updated). According to an embodiment, the electronic device 201 can provide a screen (not shown) to receive the mnemonic words to restore the blockchain account. According to an embodiment, the electronic device 1201 can restore the root seed based on the received mnemonic value, and restore the account information that has been generated based on the hierarchical deterministic path based on the restored root seed. The user can use the electronic device 1201 to restore (or update) the blockchain account by referring to the information about the blockchain account that can be restored (or updated).
[0190] According to an embodiment, an electronic device includes a display; and a processor configured to: generate at least one hierarchical deterministic path, obtain at least one public key using a root seed and the at least one hierarchical deterministic path, obtain a blockchain address of a blockchain account from the at least one public key, obtain information about the blockchain address from a blockchain network based on the blockchain address, the information about the blockchain address including information about a blockchain account balance, and display at least a portion of the information about the blockchain address through the display based on the information about the blockchain account balance.
[0191] The at least one hierarchical deterministic path may include at least one factor divided into multiple levels. The processor may be configured to generate at least one other hierarchical deterministic path by modifying the at least one factor.
[0192] The processor may be configured to obtain a parent public key from the root seed using a first hierarchical deterministic path among the at least one hierarchical deterministic path, and obtain at least one child public key from the parent public key using a second hierarchical deterministic path associated with the first hierarchical deterministic path.
[0193] The processor may be configured to obtain the blockchain address using a child public key at a final level among the at least one child public key.
[0194] The first hierarchical deterministic path may include multiple factors divided into multiple levels. The processor may be configured to obtain the parent public key by modifying values of each of the multiple factors.
[0195] The second hierarchical deterministic path may include at least one factor divided into at least one level. The processor may be configured to obtain the child public key by modifying a value of the at least one factor.
[0196] The processor may be configured to generate the first hierarchical deterministic path using at least one private key obtained through the root seed.
[0197] The processor may be configured to send a request for transaction information about the blockchain address to the blockchain network.
[0198] The information about the blockchain address may further include at least one of a number of deposit times, a number of remittance times, an account list, a balance, a number of transactions, a transaction history, latest transaction information, and a manufacturer hint of the blockchain address.
[0199] The processor may be configured to restore the blockchain address corresponding to the root seed using pre-registered authentication information.
[0200] The processor may be configured to display additional information obtained using the information about the blockchain address through the display.
[0201] According to an embodiment, a method for operating an electronic device includes: generating at least one hierarchical deterministic path; obtaining at least one public key using a root seed and the at least one hierarchical deterministic path; obtaining a blockchain address of a blockchain account from the at least one public key; obtaining information about the blockchain address from a blockchain network based on the blockchain address, the information about the blockchain address including information about the balance of the blockchain account; and displaying at least a portion of the information about the blockchain address via a display of the electronic device based on the information about the balance of the blockchain account.
[0202] The method may further include generating at least one other hierarchical deterministic path by modifying at least one factor included in the at least one hierarchical deterministic path and divided into multiple levels.
[0203] Obtaining at least one public key may include obtaining a parent public key from the root seed using a first hierarchical deterministic path among the at least one hierarchical deterministic path, and obtaining at least one child public key from the parent public key using a second hierarchical deterministic path associated with the first hierarchical deterministic path.
[0204] Obtaining the blockchain address may include obtaining the blockchain address using a child public key of a final level among the at least one child public keys.
[0205] According to an embodiment, an electronic device includes a display and a processor configured to obtain a first public key using a root seed and a first hierarchical deterministic path, obtain a second public key using the first public key and a second hierarchical deterministic path, obtain a blockchain address using the second public key, obtain information about the blockchain address from a blockchain network based on the blockchain address, the information about the blockchain address including information about the balance of the blockchain address, and provide at least one of the information about the blockchain address via the display based on the information about the balance of the blockchain address.
[0206] The second hierarchical deterministic path may include at least one factor divided into at least one level. The processor may be configured to obtain the second public key by modifying a value of the at least one factor.
[0207] The processor may be configured to generate the first hierarchical deterministic path using at least one private key obtained from the root seed.
[0208] According to an embodiment, an electronic device includes a display and a processor. The processor is configured to generate at least one first hierarchical deterministic path that can be derived from a root seed, obtain at least one first public key from the root seed using the at least one first hierarchical deterministic path, send the at least one first public key to a server to obtain at least one blockchain address of a blockchain account from the at least one first public key, obtain information about the blockchain account corresponding to the at least one blockchain address from the server, and display at least a part of the information about the blockchain account through the display.
[0209] The server may use at least one second hierarchical deterministic path associated with the at least one first hierarchical deterministic path to identify at least one blockchain address based on at least one second public key generated from the at least one first public key.
[0210] Each of the foregoing components of the electronic device may include one or more parts, and the names of the parts may vary depending on the type of the electronic device. The electronic device according to various embodiments of the present disclosure may include at least one of the foregoing components, omit some of them, or include other additional components. Some components may be combined into one entity, but the entity may perform the same functions as the components.
[0211] From the foregoing description, it is obvious that according to various embodiments of the present disclosure, when the schemes of the hierarchical deterministic paths for deriving the public keys corresponding to the blockchain accounts from the root seed are different from each other, the electronic device can even directly select a hierarchical deterministic path without the user to provide the blockchain account information of the root seed.
[0212] Although the present disclosure has been shown and described with reference to various embodiments of the present disclosure, those skilled in the art will understand that various changes can be made in form and detail without departing from the spirit and scope of the present disclosure. Therefore, the scope of the present disclosure is defined by the appended claims and their equivalents.
Claims
1. An electronic device, comprising: A display; At least one processor; And A memory storing instructions that, when run by the at least one processor, cause the electronic device to: Generate a plurality of hierarchical deterministic paths for a root seed stored in the memory, the plurality of hierarchical deterministic paths including paths having different levels; Obtain at least one public key using the root seed and at least one of the plurality of hierarchical deterministic paths; Obtain a blockchain address of a blockchain account from the at least one public key; Obtain information about the blockchain address from a blockchain network based on the blockchain address, the information about the blockchain address including information about the balance of the blockchain account, and Display at least a portion of the information about the blockchain address via the display based on the information about the balance of the blockchain account.
2. The electronic device according to claim 1, wherein, The at least one hierarchical deterministic path includes at least one factor divided into a plurality of levels, and wherein the instructions, when run by the at least one processor, cause the electronic device to generate at least one other hierarchical deterministic path by modifying the at least one factor.
3. The electronic device according to claim 1, wherein, The instructions, when run by the at least one processor, cause the electronic device to: Obtain a parent public key from the root seed using a first hierarchical deterministic path among the plurality of hierarchical deterministic paths, and Obtain at least one child public key from the parent public key using a second hierarchical deterministic path associated with the first hierarchical deterministic path.
4. The electronic device according to claim 3, wherein, The instructions, when run by the at least one processor, cause the electronic device to obtain the blockchain address using the child public key of the final level among the at least one child public keys.
5. The electronic device according to claim 3, wherein, The first hierarchical deterministic path includes a plurality of factors divided into a plurality of levels, and wherein the instructions, when run by the at least one processor, cause the electronic device to obtain the parent public key by modifying the value of each of the plurality of factors.
6. The electronic device according to claim 3, wherein, The second hierarchical deterministic path includes at least one factor divided into at least one level, and wherein the instructions, when run by the at least one processor, cause the electronic device to obtain the child public key by modifying the value of the at least one factor.
7. The electronic device according to claim 3, wherein, The instructions, when run by the at least one processor, cause the electronic device to generate the first hierarchical deterministic path using at least one private key obtained from the root seed.
8. The electronic device according to claim 1, wherein, The instructions, when run by the at least one processor, cause the electronic device to send a request for transaction information about the blockchain address to the blockchain network.
9. The electronic device according to claim 1, wherein, The information about the blockchain address further includes at least one of the number of deposit times, the number of remittance times, the account list, the balance, the number of transactions, the transaction history, the latest transaction information, and the manufacturer prompt of the blockchain address.
10. The electronic device according to claim 1, wherein, The instructions, when run by the at least one processor, cause the electronic device to restore the blockchain address corresponding to the root seed using pre-registered authentication information.
11. The electronic device according to claim 1, wherein, The instructions, when run by the at least one processor, cause the electronic device to display additional information obtained using the information about the blockchain address via the display.
12. A method for operating an electronic device, the method comprising: Generate a plurality of hierarchical deterministic paths for a root seed stored in the electronic device, the plurality of hierarchical deterministic paths including paths having different levels; Obtain at least one public key using the root seed and at least one of the plurality of hierarchical deterministic paths; Obtain the blockchain address of the blockchain account from the at least one public key; Obtain information about the blockchain address from the blockchain network based on the blockchain address, the information about the blockchain address including information about the balance of the blockchain account; and Based on the information about the balance of the blockchain account, display at least a part of the information about the blockchain address through a display of the electronic device.
13. The method according to claim 12, further comprising: Generate at least one other hierarchical deterministic path by modifying at least one factor included in the at least one hierarchical deterministic path and divided into a plurality of levels.
14. The method according to claim 12, wherein Obtaining the at least one public key includes: Obtaining a parent public key from the root seed using a first hierarchical deterministic path among the plurality of hierarchical deterministic paths; and Obtaining at least one child public key from the parent public key using a second hierarchical deterministic path associated with the first hierarchical deterministic path.
15. The method according to claim 14, wherein Obtaining the blockchain address includes: obtaining the blockchain address using the child public key at the final level among the at least one child public key.
Citation Information
Patent Citations
Method and System for Identity and Access Management for Blockchain Interoperability
US20180288022A1