WO2019043466A1 - 暗号通貨のためのウォレット装置及びその装置を用いる署名方法 - Google Patents

暗号通貨のためのウォレット装置及びその装置を用いる署名方法 Download PDF

Info

Publication number
WO2019043466A1
WO2019043466A1 PCT/IB2018/054233 IB2018054233W WO2019043466A1 WO 2019043466 A1 WO2019043466 A1 WO 2019043466A1 IB 2018054233 W IB2018054233 W IB 2018054233W WO 2019043466 A1 WO2019043466 A1 WO 2019043466A1
Authority
WO
WIPO (PCT)
Prior art keywords
signature
transaction
wallet
data
key
Prior art date
Application number
PCT/IB2018/054233
Other languages
English (en)
French (fr)
Inventor
日向理彦
澤田健都
Original Assignee
フレセッツ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フレセッツ株式会社 filed Critical フレセッツ株式会社
Priority to JP2018530817A priority Critical patent/JP6736033B2/ja
Priority to US16/321,999 priority patent/US20190378119A1/en
Priority to PCT/IB2018/054233 priority patent/WO2019043466A1/ja
Publication of WO2019043466A1 publication Critical patent/WO2019043466A1/ja
Priority to US16/688,586 priority patent/US20200090164A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the present invention relates to a wallet device for encryption currency according to public key cryptosystem that generates a public key with a secret key, generates an address from the public key, and uses this for trading on a network, and a signature method using the device It is an invention.
  • a virtual currency is a public key cryptosystem currency that generates a public key with a secret key, generates an address from the public key, and uses this for trading on a network, and is an exchange as a business. It refers to what is traded etc.
  • FIG. 15 shows a bitcoin network 10 on the Internet, which is one of the representative cryptocurrencies.
  • the bitcoin network 10 is constituted by a minor 11 which generates a block chain which is a ledger holding all transactions, and a node 12 which propagates the transaction to the minor and verifies the validity of the transaction.
  • a node on the bitcoin network verifies the received transaction, and the transaction that has passed the verification is propagated to other adjacent nodes.
  • the minor performs an approval process called mining, and the transaction is written to a block which is the smallest structural unit of the new ledger. This new block is added to the end of the existing block collection.
  • the transaction ledger is organized as a series of chained blocks and is called a block chain from this aspect.
  • the updated block chain is sent a copy to the nodes, each node holding the block chain that contains all the blocks.
  • the transaction also takes the form of passing some of them from the previous owner of Bitcoin to the subsequent owner.
  • proof of the takeover information that proves the takeover is added to the transaction itself, which is called a signature.
  • a transaction is information that proves the chain of values between the immediately preceding bitcoin currency amount of the owner and the bitcoin currency amount handed over from the immediately preceding owner to the new owner.
  • the signature is a virtual one that has an additional representation (see Non-Patent Document 1).
  • Non-Patent Document 2 Originally under the control of the user, the one storing the secret key is also defined in the Bitcoin architecture as the wallet 13 (Non-Patent Document 2). Above, before the transaction is broadcasted from the user to the bitcoin network 10, the user uses the private key to sign and approve the transaction when approving the value transfer to another person. The device used to store and manage this secret key is the wallet device. If all secret keys are managed off-line, and two or more operators operate the secret key for each transaction unit, security will be enhanced, but it will be too expensive to manage and is not practical. However, no specific solution has been presented on how to use the hot wallet device used online and the cold wallet device used offline.
  • An object of the present invention is to provide a wallet device that is more secure against internal crimes and against network intrusion from the outside that can cope with such problems.
  • the present invention provides a more secure wallet device that achieves the above objective. It will be described below.
  • a wallet device for encryption currency according to a public key cryptosystem which generates a public key with a secret key, generates an address from the public key, and uses this for trading on a network
  • a second data store structure for holding an unsolicited transaction having a receiving means for processing request data, specifying the address, and having a first data store structure for identifying the public key used for signature
  • a central control server device having means for composing an unsigned transaction including: and having a first communication means for transmitting the unsigned transaction;
  • a third data store structure for storing or generating a secret key is provided on the memory, and a second communication means for receiving a signature request and transmitting a signature is provided, and the data entered via the second communication means.
  • a hot wallet server device having cryptographic currency signing means for signing requests;
  • a third data store structure for storing or generating a private key is on the memory, has cryptographic currency signing means, accepts a signature request at a remote location through an operator, and a signature corresponding to the signature request
  • An off-line remote signature device from the Internet having data propagation means for outputting the Data for receiving the signature request from the signature requester and transmitting the signature via the second communication means, and for remotely signing the signature request inputted through the second communication means with the remote signature device It has a propagation means, and has a data store for storing on a memory an identification key as an indicator for identifying the signature of the remote signature apparatus, and the identification key can be transmitted to the other party via the second communication means
  • a cold wallet server device It has the first communication means for receiving the unsigned transaction with the central control server device, and the hot wallet server device and the cold wallet server device, or at least one of these Signing of the public key data store structure corresponding to the third data store structure for transmitting the signature request and
  • the above configuration arranges the transaction central processing unit between the wallet central control server unit that generates the template of the transaction and the hot wallet server unit that generates the signature, and the cold wallet server unit, and the wallet central control server at the entrance side of the network
  • the device and the device having the secret key information are separated on the network to provide a more secure wallet device.
  • the first communication means may comprise a server authentication function.
  • a first communication means which is a communication means between the transaction manager device and the wallet central control server device at the entrance side of the network, has a server authentication function, and a more secure wallet device is provided.
  • a plurality of hot wallet server devices may be connected to the transaction manager device. If processing is shared among the hot wallet server devices, multiplexing of the hot wallet server devices increases processing capacity, provides scalability, or allows multiple hot wallet server devices to hold signatures corresponding to the same secret key. For example, even if there is one failure, processing can be continued on another hot wallet server device, and availability is provided.
  • the cold wallet server device can display a prompt to which a portable data output device is connected as a data propagation means, and to which an operation panel device is connected to prompt portable data output for a signature request, It is preferable that the signature request portability data can be output by the operation of the operator on the operation panel device.
  • a portable data output device is connected to the cold wallet server device, and it is possible to more quickly and accurately propagate the data necessary for signature to the offline signature device more easily, meaning that a more secure wallet device is provided Be done.
  • the off-line signature device from the Internet is connected with a portable data reading device, can be connected with the operation panel device, and can display a prompt prompting reading of the signature request portable data.
  • the signature request portable data may be readable.
  • a signature device offline from the Internet is connected to a portable data output device, the operation panel device can display a signed portable data output prompt, and an operator can execute the cryptographic currency signature means It is preferable that signed portable data can be output along with a signature using a secret key.
  • the operator can also manage the progress record management with the system log function etc. by the operation of the operator, and the check function works, and the safer, more reliable, accurate offline signature can be performed, and the more secure wallet device Provided.
  • the cold wallet server device is connected to a portable data reading device, and the operation panel device can display a signed portable data reading prompt, and the portable data signed by the operation of the operator And the signature can be transmitted from the cold wallet server device to the transaction manager device via the third communication means in response to reading of the signed portable data.
  • the operator's operation makes it possible to manage the progress record management with the system log function etc., a check is working, and further safer, more reliable, more accurate offline signature can be achieved, and more secure A wallet device is provided.
  • the portable data may be QR code printing paper. In this configuration, data can be transmitted more easily.
  • a plurality of the cold wallet server devices may be connected to the transaction manager device. This configuration can provide a more redundant configuration, more spare capacity, and improve the scalability and availability of cold wallet processing.
  • the unsigned transaction is a multi-signature transaction to be signed by a plurality of secret keys, and the corresponding secret key is distributed and stored in a plurality of the hot wallet server devices. Good.
  • multi-signature signature is possible on the hot wallet server, and an intruder needs to break into multiple hot wallet server devices for leakage of the secret key, providing a more secure wallet device. Be done.
  • the unsigned transaction is a multi-signature transaction in which the signature is to be signed by a plurality of private keys, and the corresponding private keys are distributed and stored from the plurality of Internet to the offline said signing device It is good to be In this configuration, a multi-signature signature is possible on the cold wallet server, and an intruder needs to break into multiple cold wallet server devices for leakage of the secret key, providing a more secure wallet device. Be done.
  • the unsigned transaction is a multi-signature transaction in which the signature is to be signed by a plurality of private keys, the corresponding private key is one or more of said hot wallet server devices and one or more internets It may be distributed and stored in the off-line cryptographic currency signature apparatus.
  • multi-signature signature is possible over the hot wallet server and the cold wallet server, and an intruder intrudes over the hot wallet server apparatus and the cold wallet server apparatus for leakage of the secret key. The need arises and a more secure wallet device is provided.
  • the transaction manager device may further comprise means for creating broadcast request data to a broadcast server located on the cryptographic currency network based on the cryptographic currency transaction.
  • the transaction manager device since the creation of the broadcast request data to the broadcast server on the cryptocurrency network continuously from the signature completion of the cryptocurrency transaction, there is no room for human intervention, and the insider's criminal act can be eliminated. A more secure wallet device is provided.
  • the broadcast request server apparatus may further include:
  • the broadcast request server device is interposed between the transaction manager device and the Internet, and the communication between them is provided with a different route from the second communication, and the signature device is more reliably isolated.
  • a more secure wallet device is provided.
  • one or more node devices connected to the cryptographic currency network to the Internet and broadcastable onto the cryptographic currency network, and to the node device, and third to the transaction manager device And a node manager device having means for broadcasting the cryptocurrency transaction received via the communication means of the above to the cryptocurrency network via the node device.
  • the bitcoin network can be verified by gaining a general consensus on the whole, but locally it may be surrounded by malicious nodes, but in this configuration, private nodes are arranged, and so on.
  • the node manager device receives unverified transactions to be recorded in the block chain or block chain from the plurality of node devices, and compares the received block chains with each other and the unverified transactions.
  • the node manager apparatus may include means for checking whether the comparisons match in the majority of the comparison data of the plurality of node devices, by the comparison of or any of these comparisons. In this configuration, it is possible to further eliminate the influence of the case where the node device is malicious.
  • the bitcoin network is generally validated by gaining a majority consensus, but locally it may be surrounded by malicious nodes. A wallet device that is effective against node masquerades and is more secure is provided.
  • At least one of the hot wallet server devices may be remotely located.
  • which server in the remote area should be intruded from outside or inside can be blinded, and a more secure wallet device is provided. If the multi-signature is placed in a remote location on a hot wallet server device, a more organized internal crime group across networks is required, and a wallet device that is more secure in terms of internal control is provided.
  • remote access to the same key is also resistant to disasters and improves availability, which also provides a more secure wallet device.
  • At least one of the cold wallet server devices may be remotely located.
  • which server in the remote area should be intruded from outside or inside can be blinded, and a more secure wallet device is provided. If a multi-signature is provided in a remote location on a cold wallet server device, a more organized internal crime group is required across the network, and a more secure wallet device is provided in terms of internal control.
  • remote access to the same key is also resistant to disasters and improves availability, which also provides a more secure wallet device.
  • the panel device is provided with an operation panel device that displays a prompt prompting a user to sign the signature request when the unsigned transaction satisfies a predetermined requirement, and enables the signature input, the panel device Is preferably connected to the hot wallet server via an operation panel server.
  • an interventional and more secure wallet device is provided.
  • the prompt of the preceding paragraph may be displayed when the total amount of payment approvals included in the unsigned transaction exceeds a predetermined threshold.
  • the plurality of hot wallet server devices comprise secret key master data entry means for entering data of the third data store structure for secret key storage, at least some of the secret keys
  • the information for the process can be externally input to and stored in a group of hot wallet server devices, and the transaction manager device makes a signature request corresponding to the at least one of the secret keys requested by the unsigned transaction. It is preferable that a signature request can be made to any hot wallet server device out of a group of hot wallet server devices.
  • This configuration increases the degree of freedom of operation by making the secret key master data externalizable and portable, and it can be considered that the information of which secret key is present outside and inside may be unknown, which is hot.
  • the flexibility of the mode of use of the wallet server device makes it possible to provide a more secure wallet device.
  • flexible reconfiguration in the event of a disaster is also possible, and a safer wallet device is provided through the improvement of availability.
  • the first to third data store structures for private key storage are a series of data including key sequence numbers for the deterministic wallet for which the private key is generated from the seed and is reproducible. Should be included. In this configuration, there is no need to store the secret key itself, and the risk of direct secret key theft or leakage is eliminated, and a more secure wallet device is provided. In particular, a safer wallet device is provided that is effective for internal offender protection.
  • the first, second or fourth data store structure comprises the private key capable of signing the cryptographic currency signing means for generation of a signature request for the unsigned transaction. It may further include common key master data for identification. The common key enables the separation and arrangement of a plurality of data structures by connecting with a meaningless string inside the wallet device, thereby providing a more secure wallet device.
  • the transaction manager device may maintain the common key and one or more seeds corresponding to the common key as one group, and one or more relevant groups as master data.
  • Deterministic wallet multiple seeds are formed into one group.
  • Such groups are suitably comprehensively managed, are capable of intensive management of highly important groups, are more suitable for multi-signature use, and provide a safer wallet device.
  • each device may be provided on a virtual server.
  • a more secure wallet device that is cheaper to configure than having separate hardware, and can have a higher level of isolation than configuring all functions on one operating system, is economically viable. Provided.
  • a portion of the hot wallet server device may be provided on a virtual server on one or more cloud computing services.
  • a part of the hot wallet server device is in the management of the external organization, and the inside offender alone becomes difficult to obtain all the secret keys, making the wallet more secure.
  • An apparatus is provided.
  • a more secure wallet device is provided through the intervention of advanced and diverse network authentication provided by the cloud computing service.
  • a software that runs on an operating system that controls hardware including a CPU and a memory generates a public key using a secret key as a determinacy wallet, generates an address from the public key, and uses this for trading.
  • a private key signature method used for cryptographic currency signing means of a wallet device for cryptographic currency comprising: One or more used at the time of generation of the address for multi signature generated by the deterministic wallet method based on the processing request data item received from the user system via the application program interface (Application Program Interface, API) by the gateway communication means
  • An unsigned transaction including a data store structure including a common key associated with the seed of the seed and a key sequence number indicating the order of address generation and a field for generating an address according to software operating on the operating system operating on the central control server device Step S1 of transmitting from the central control server device to the transaction manager device via the first communication means;
  • the unsigned transaction is received by the software operating on the operating system on the transaction manager device via the first communication means, and held in an unsigned transaction pool on
  • the unsigned transaction including the common key is retrieved from the unsigned transaction pool, one of which is selected, and the unsigned S5 of transmitting the unsigned transaction to the hot wallet server apparatus or the cold wallet server apparatus which has transmitted the waiting notification via the second communication means for a transaction signature request, and thereafter,
  • the software operating on the operating system on the hot wallet server apparatus that has received the signature request via the second communication unit signs the signature request using a secret key corresponding to the common key, and the signature
  • the software running on the operating system on the cold wallet server device that has received the signature request via the second communication means, via the data propagation means for the remote signing device, via the data propagation means Data is output, the portable data is read by the software operating on the operating system on the signature device, and the signature made by the secret key corresponding to the portable data in the signature device is transmitted through the data propagation means.
  • Port data is output as the portable data, and the portable data is read into the cold wallet server via the data propagation means, and the second digital signature is transmitted by software operating on an operating system on the cold wallet server.
  • the software operating on the operating system on the transaction manager device transcribes the signature received through the second communication means into the signature field of the unsigned transaction, and the signature completion of the unsigned transaction is completed.
  • the required number of multi-signature signatures and the number of completed signatures are checked, and when the predetermined signature approval condition is satisfied, the signed transaction is converted to a cryptocurrency transaction and output, while the predetermined signature approval condition is not satisfied.
  • the signature method is It may be provided as a modal, this embodiment, the transaction manager device, hot wallet server also handle equally well cold wallet device, the smooth signature flow, safer wallet device is provided.
  • the waiting notification step may include a communication method by polling from the hot wallet server apparatus or the cold wallet server apparatus. Polling allows more secure communication sessions to be maintained, does not require additional control within a special wallet device, a simple control structure is also suitable for anomaly monitoring, and a safer wallet device is provided. .
  • a public key is generated using a secret key
  • an address is generated from the public key
  • software for encryption currency according to a public key cryptosystem using this for transaction is controlled, and hardware including a memory is controlled.
  • a wallet device for cryptographic currency operating on an operating system API module for receiving data from application program interface (APPLICATION PROGRAM INTERFAE, API) of processing request
  • a wallet for unsigned transaction composition including a first datastore structure data for identifying an address and specifying a secret key to be used for signing, and including a second datastore structure for retaining unsigned transactions
  • a hot wallet server module for cryptographic currency signature including on memory a third data store structure for private key storage or generation;
  • a cold wallet server module for off-line signature storing in memory an identification key as an indicator for identifying the signature;
  • a fourth data store structure structured with a common key that can be shared between modules for specifying a secret key for storing the third data store structure for storing or generating the secret key can be stored, and not yet
  • a wallet device may be provided that further includes a signing device.
  • This configuration separates the functions of a plurality of server devices, increases the degree of freedom of the functional configuration, and also provides the effect of facilitating the configuration arrangement, arranges communication modules between modules, and combines all functions into one. More secure wallet devices are provided than when implemented on modules.
  • the wallet central control module and the transaction manager module may be operated on the same operating system. While this configuration does not require the most system resources and is suitable for the entry level, the separation of modules still provides a more secure wallet device.
  • one or more of the hot wallet server modules may be operated on the same operating system as the transaction manager module. The operation is performed on an operating system different from the first operating system in which the central control module operates and the secret key is separated, and it is extremely difficult for the central control module to use the secret key. A more secure wallet device is provided.
  • the hot wallet server module may operate on one or more operating systems other than the operating system on which the transaction manager module operates.
  • the hot wallet server module is operated on an operating system different from the first operating system operated by the central control module and the transaction manager module, and the secret key is separated, Both the central control module on the operating system and the transaction manager module make it difficult to use the secret key and provide a more secure wallet device.
  • the cryptographic currency may be a virtual currency.
  • the virtual currency is required for business with higher security and is more suitable for the present invention.
  • the cryptographic currency may be bitcoin. Bitcoin is more preferable to the present invention, since information is disclosed, security requirements are high, and high security can be provided by those skilled in the art.
  • the cryptographic currency may be a virtual currency.
  • the virtual currency requires higher security on the business and is more suitable for the invention of the method.
  • the cryptographic currency may be bitcoin. Bitcoin is more suitable for the invention of the present method, where information is disclosed, security requirements are higher, and high security can be provided by those skilled in the art.
  • the cryptographic currency may be metacoin or orthocoin, wherein some attributes of Bitcoin are changed and attributes are added or any of these. Both are premised to operate on block chain technology, and those skilled in the art can achieve the same effect as Bitcoin, and provide these more secure wallet devices.
  • the cryptographic currency may be metacoin or orthocoin in which some attributes of Bitcoin are changed and attributes are added or any of these. . Both are premised to operate on blockchain technology, and those skilled in the art can achieve the same effect as Bitcoin, and provide a way to sign these more secure wallet devices.
  • the processing request data is specified in an application program interface (hereinafter referred to as an API) with the server program of the requester, for identifying the following data item 1) one or more payment sources Common key 2) One or more destination addresses 3) Payment amount 4)
  • the burden of the fee for processing the cryptographic currency network of the transaction is either the burden of the withdrawal account or the burden of the address defined by the common key or the destination address. It is good to include the fee burden destination code which determines whether or not.
  • This configuration converts request data unique to the user into an API data structure API used in the wallet device, converts it into a format compatible with internal processing, and changes each user's customization of each part in the wallet device It is possible to give the effect of minimizing and commonize the problem trouble at each installation site, and by sharing the countermeasure, a more secure wallet device is provided.
  • the second data store structure for holding the unsigned transactions and the structure thereof Unused transaction output (Unspent Transaction) as one or a plurality of standard transaction input data items which are a set of 3) from the following 1) which are the following bit coin transaction standard data items as a transaction input data item: It is a data structure defined in Bitcoin architecture for identifying Output, UTXO) and identifying the previous transaction, 1) With Prev hash 2) Prev Output Index, As one or more standard transaction output items, in addition to 4) from 3) below: 3) Destination address, 4) With the amount And, for each said transaction input, as the following extended transaction input configuration items: 5) a common key for identifying a public key corresponding to the first data store structure data; 6) In addition to the key sequence number used to generate the deterministic wallet, 7) a signature field for storing the signature, In addition, it may further include a transaction status code for storing an identifier pending or signed or sent as an additional extended transaction item 8).
  • Unused transaction output Unspent Transaction
  • the third data store structure for secret key generation and the structure thereof include the following 1) to 2) data items 1) The secret key seed used for the generation of the determinacy wallet , 2) the key sequence number used to generate the deterministic wallet; Should be included.
  • a secure device can be provided, which in particular can generate a private key dynamically in the device at the time of signing in the deterministic wallet.
  • the fourth data store structure for identifying the secret key and the structure thereof include: 1) A common key for specifying a secret key of the third data store structure data, and one of the common keys: 2) a public key seed used to generate a number of deterministic wallets corresponding to one or multiple signature signatures; 3) The key sequence number used to generate the deterministic wallet; It is good to hold
  • the public key as well as the secret key can be dynamically generated, and shared with the management of the secret key, providing a secure wallet device in which both are more consistent.
  • the wallet device according to the present invention provides a more secure wallet device against internal crime and against external network intrusion, and a system device having scalability is provided. Availability is also improved, and in that respect a more secure wallet device is provided.
  • FIG. 1 is a schematic configuration conceptual view showing a wallet device 1 according to an embodiment of the present invention.
  • FIG. 2 is an overall functional block configuration diagram generally showing a functional configuration of the wallet device 1 according to the embodiment of the present invention.
  • FIG. 3 is a schematic view in which a flowchart showing the correlation between blocks is superimposed on the functional configuration block of the API module of the software configuring the wallet device according to the embodiment of the present invention.
  • FIG. 4 is a schematic diagram showing the functional blocks of the wallet central control module of the software constituting the wallet device according to some embodiments of the present invention and the flowchart showing the association between the blocks.
  • FIG. 5 is a schematic diagram showing the functional blocks of the transaction manager module of the software constituting the wallet device according to some embodiments of the present invention and the flowchart showing the association between the blocks.
  • FIG. 6 is a schematic view in which a flow chart showing the relationship between the blocks is superimposed on a functional configuration block of a hot wallet server module of software and an operation panel display module which constitute a wallet device according to some embodiments of the present invention. is there.
  • FIG. 7 is a schematic diagram showing a flow chart showing the correlation between blocks on a cold wallet server module of software constituting a wallet device according to some embodiments of the present invention, a remote control module and a remote signature module functional block.
  • FIG. 7 is a schematic diagram showing a flow chart showing the correlation between blocks on a cold wallet server module of software constituting a wallet device according to some embodiments of the present invention, a remote control module and a remote signature module functional block.
  • FIG. 8 is a schematic diagram showing the functional blocks of the node manager module of the software constituting the wallet device according to some embodiments of the present invention and the flowchart showing the association between the blocks.
  • FIG. 9 is a schematic configuration view showing the relationship between hardware, an operating system, and each module of software constituting the wallet device 2 according to the present invention which is another embodiment.
  • FIG. 10 is a schematic structural view showing the relationship between hardware, an operating system, and each module of software constituting the wallet device 3 according to the present invention which is another alternative embodiment.
  • FIG. 11 is a schematic diagram showing the relationship between the hardware, the operating system, and the respective modules of the software constituting the wallet device 4 according to the present invention, which is another alternative embodiment.
  • FIG. 12 is a schematic configuration diagram showing the relationship between the hardware, the operating system, and each module of the software constituting the wallet device 1 according to the embodiment of the present invention.
  • FIG. 13 is an architectural outline configuration conceptual view showing a configuration in which a plurality of hot wallet devices and cold wallet devices which are components of a wallet device according to some embodiments of the present invention are arranged.
  • FIG. 14 is a flow chart diagram of a signature method for use with a wallet device according to some embodiments of the present invention.
  • FIG. 15 is an architectural conceptual diagram showing a representative Bitcoin Bitcoin network of virtual currency, which is shown as prior art.
  • the wallet device 1 includes a central control server device 100 that receives transaction request data from the outside, a transaction manager device 200, a hot wallet server device 300, a cold wallet server device 400, and a signature device 450,
  • the transaction manager device 200 is a wallet device having means for creating and outputting compatible data to the bitcoin network on the Internet.
  • the embodiment of the wallet device 1 is as follows. As shown in FIG. 2, the wallet device 1 is added to the central control server device 100, the transaction manager device 200, the hot wallet server device 300, the cold wallet server device 400, and the signature device 450 that accepts transaction request data from the outside, A plurality of node devices 600 which are members of the bitcoin network and a node manager device 500 which is intermediate between this and the transaction manager device 200 and which broadcasts to the bitcoin network on the Internet through the node device 600.
  • the central control server device 100 of the wallet device 1 is a device that receives a user request, generates a transaction prototype, and transmits it as an unsigned transaction to the transaction manager device 200.
  • the transaction manager device 200 has a communication means for receiving an unsigned transaction, can send a signature request to the hot wallet server device 300 or the cold wallet server device 400, and is required for the transaction after receiving the signature.
  • the hot wallet server device 300 is a device provided with a means for signing in an on-line device, and a means for immediately sending a signature back to the transaction manager device 200 online.
  • An operation panel device 339 is provided as an option, and a prompt for signature approval can be displayed on the operation panel device 339 via the operation display server device 330, and a signature instruction can be input by the approver.
  • the cold wallet server device 400 comprises data propagation means for media outputting the signature request towards the remote signature device 450, including for example means for printing on a printing press, while the remote signature It is a device comprising a data propagation means for receiving from the device 450 another medium signed with a signature, which comprises a scanner device, for example a means for reading by a scanner, and a communication means for transferring the signature to the transaction manager device 200 .
  • the cold wallet server device 400 includes an operation panel device 339 for communication with an operation operator, and can optionally display a prompt for processing data propagation media to the operation panel device 339 via the operation display server device 330, Data propagation input / output is possible by the operator.
  • the remote signature device 450 is remote from the cold wallet server device 400 and has data propagation means for receiving the signature request from the medium, includes signature means inside the device, and directs the signature towards the cold wallet server device 400 It also includes data propagation means for media output.
  • the remote signature device 450 includes an operation panel device 339, can display a prompt for processing the data propagation medium to the operation panel device 339, can propagate data input / output by an operator, and can sign it. The details of each device will be described below.
  • the central control server device 100 is a device that is driven and controlled by computer hardware including a CPU, a memory, an IO, and a network device, and software operating on an operating system that controls the hardware.
  • An application program interface (hereinafter referred to as an API) unit 110, and a central control unit 120, and a part of these may be a part of software.
  • the central control server device 100 receives a transaction processing request from the user by the gateway communication means, and the data format for processing user-type request data in the wallet device 1 by the API unit 110, that is, the following data items 1) Common key for specifying one or more payment sources 2) One or more destination addresses 3) Convert into data including payment amount, and hold it in API data structure API on memory.
  • the common key is a key for identifying an address in the wallet device 1 and identifying a signature scheme associated with the address. In the example API data structure of the embodiment shown in FIG. 2, one common key for identifying one payment source is illustrated.
  • the address is an address of the bitcoin network, and is an alphanumeric string that is generated from the secret key via the public key and identifies the owner of the display currency amount published on the bitcoin network.
  • the destination address is an address for specifying a payee on the bitcoin network.
  • the following 4) fee burden destination pattern code may be included in the API data structure API in the data item. This is a request as information that can be dynamically determined on a transaction-by-transaction basis whether the payee of the mining processing fee to the minor on the bitcoin network of the bitcoin transaction is to be paid by the payer or payee. When included, it is a data item that determines which of the address of the payment source or the address of the destination. Inclusion of this code has the advantage of eliminating the need for human intervention if the amount of payment varies with the fee.
  • the API unit 110 converts request data unique to the user into an API data structure API used in the wallet device 1 and converts it into a format compatible with internal processing, and the user of each unit in the wallet device 1 It has the effect of minimizing fluctuations due to customization.
  • the API unit is incorporated into the wallet central controller.
  • the API unit provides application gateway functionality but may be incorporated into the network gateway server.
  • the central control unit 120 uses the API data received from the API unit 110 via the communication unit or via the inter-application communication, and the transaction of the wallet device 1 internal format in which the extension data is added to the bitcoin transaction (see below) Generate extended transaction eTX).
  • the extended transaction generation is an address master that takes a common key included in the API structure API and a data store structure structured by the common key and stores a first data store structure D1 for holding data related to an address. It is made configurable by M1 reference. That is, in the wallet device 1, the address can be replaced with another data, such as a common key, as an internal format, thereby providing an advantage of improving the security by suppressing the exposure opportunity of the address information.
  • the central control server apparatus 100 refers to the address master holding at least the first data store structure D1 to identify the address.
  • the first data store structure held on the memory includes the following configuration. That is, 1) Common key corresponding to address 2) Key sequence number 3) Address.
  • the secret key uses the secret key generated by the deterministic wallet method. If the secret key is generated by the deterministic wallet method, it is possible to regenerate the secret key by using the seed and key sequence number used to generate the deterministic wallet without storing the secret key. There is.
  • the first data store structure does not contain all the information necessary to regenerate the secret key, and the seed information is distributed and placed in another data store structure, so that the risk of the regeneration of the secret key against the intention of the intruder To improve safety.
  • the common key included in the configuration of the first data store structure is a common key in the sense that it indicates that the data is associated with the same address in the wallet device 1, and the wallet device 1 is realized by the common key.
  • Each part can be distributed and arranged in a plurality of parts.
  • the distributed arrangement can be realized by various means, as shown in the following embodiments, realized by a modular configuration of software, and further, the modular configuration of software is distributed to another server apparatus It is kind.
  • the extended transaction includes the following configuration. That is, a second data store structure and its structure for holding it are defined as an unsigned transaction to receive a signature from now, and in addition to a transaction input data item and a transaction output data item constituting a bitcoin transaction, An extended data structure is defined.
  • Standard transaction input data items of one or more bitcoin transactions which are a set of 3) from 1) below, which are data items of Bitcoin transaction standard as transaction input data items, 1) Payment source address, 2) With Prev hash 3) Prev Output Index, Also, as a standard transaction output item of one or more bitcoins, which are 5) from 4) below: 4) Destination address, 5) With the amount including.
  • 1), 4) and 5) are data provided from the API data structure API, and 2) and 3) are data that can be generated from 1).
  • the following extended transaction input configuration items for each standard transaction input, the following extended transaction input configuration items: 6) A common key for identifying a secret key corresponding to the second data store structure data; 7) Key sequence number used to generate the determinacy wallet, Two items of are defined.
  • 6) and 7) are provided with data from, for example, the first data store structure D1 stored in the address master M1.
  • one or more signature fields for storing signatures It is determined for each transaction input.
  • the number of signature fields may define the maximum number of signatures.
  • it further includes a transaction status code for storing an identifier of transaction status 9) as an extension item of an additional extended transaction eTX, one for each transaction.
  • the transaction status should include at least three pending signature or signed or sent.
  • UTXO unused transaction outputs
  • available UTXOs are selected from the UTXO pool depending on the payment amount when generating transaction input, and it is known that the wallet device It is similar to the mechanism 1 and such means naturally provide the wallet device 1 as well. Only the UTXO pool is shown in FIG.
  • the extended transaction eTX As soon as the extended transaction eTX is generated, it can be transmitted from the first communication unit to the transaction manager apparatus 200.
  • a known message authentication method for example, HASH-BASED MASSAGE AUTHENTICATIOPN
  • HASH-BASED MASSAGE AUTHENTICATIOPN Depending on the message authentication method using the MESSAGE and HMAC methods, This may be performed by the first communication unit that enables encrypted communication using a predetermined mnemonic as a secret key, but the present invention is not limited to this, and known inter-server communication authentication of this kind may be used.
  • the implementation of server-to-server authentication offers the advantage of more securely improving security.
  • the transaction manager device 200 that makes a signature request to the signature device does not have a direct Internet connection path, and the connection via this inter-server authentication is substantially Upper Provides the effect of providing security that can prevent intrusion from the outside.
  • the transaction manager device 200 is a device that is driven and controlled by computer hardware including a CPU, a memory, an IO, and a network device, and software operating on an operating system that controls the hardware.
  • a second communication unit, a third communication unit, a transaction manager unit 210, a data conversion unit 240, and a data output unit 241 may be part of software.
  • the transaction manager device 200 can receive the extended transaction via the first communication unit.
  • An unsigned transaction including a set of one or more unsigned extended transaction inputs and a set of extended transaction outputs from the wallet central control server via server-to-server communication authentication has an extended transaction data structure and is received The data can be transferred to the transaction manager unit and can be immediately held in the extended transaction pool including the second data store structure.
  • the common key needed for the signature needed for the transaction is also received in the extended transaction input and can be held in the extended transaction pool.
  • the signature scheme is multi-signature
  • the common key master In the case where the signature scheme is multi-signature, although a plurality of seeds are required as a subset under one common key for signature completion, this information is stored in the common key master. It is included in D4.
  • the transaction manager unit can read the common key master and, after reading, can store it in the fourth data store structure D4 on the memory.
  • the signature scheme is multi-signature
  • the number of signatures is known in the transaction manager device 200, and it is possible to determine the predetermined number of scheduled uses of the signature field of the extended transaction.
  • the signature status of the extended transaction can be updated by the transaction manager unit 210.
  • the transaction manager device 200 can communicate with the hot wallet server device 300 as an online signature device by the second communication unit.
  • the transaction manager unit 210 can accept polling waiting for a signature request via the second communication unit.
  • the transaction manager unit 210 can receive a common key for unsigned transaction selection from the hot wallet server 300 simultaneously with or after polling for signature request request.
  • the transaction manager unit 210 can read the extended transaction from the extended transaction pool to the fourth data store structure D4 on the memory, and can match the common key item of the fourth data store structure D4 with the common key included in polling. is there. Then, the transaction manager unit 210 can select an unsigned request in which the common key included in the extended transaction input of the unsigned transaction among the extended transactions matches the common key specified in the polling for waiting for the signature request.
  • the extended transaction status of the fourth data store structure D4 on the memory can be changed to the status of UNSIGNED, and the unsigned request can be transmitted to the hot wallet server 300 via the second communication unit.
  • the transaction manager unit 210 synchronizes with the change to the status of UNSIGNED of the extended transaction status of the fourth data store structure D4 in the memory, and the status of the extended transaction status of the extended transaction storage data in the extended transaction pool is UNSIGNED. It can be changed to
  • the transaction manager device 200 can communicate with the cold wallet server device 400 which can control the off-line signature device through the operation of a person by the second communication unit.
  • the transaction manager unit of the transaction manager apparatus 200 can accept polling waiting for a signature request via the second communication unit.
  • the transaction manager unit 210 can receive a common key for unsigned transaction selection from the cold wallet server 400 simultaneously with or after polling for signature request request.
  • the transaction manager unit 210 can read the extended transaction from the extended transaction pool to the fourth data store structure D4 on the memory, and can match the common key item of the fourth data store structure D4 with the common key included in polling. is there.
  • the transaction manager unit can select an unsigned request in which the common key included in the extended transaction input of the unsigned transaction among the extended transactions matches the common key specified in the polling for waiting for the signature request,
  • the transaction manager unit 210 can change the extended transaction status of the fourth data store structure D4 on the memory to the status of UNSIGNED, and can transmit an unsigned request to the cold wallet server 400 via the second communication unit.
  • the transaction manager unit synchronizes the extended transaction status of the extended transaction storage data on the extended transaction pool with the status of UNSIGNED in synchronization with the change to the status of UNSIGNED of the extended transaction status of the fourth data store structure D4 in memory. It can be changed.
  • the transaction manager unit 210 can handle the hot wallet server 300 and the cold wallet server 400 without distinction, and provides configuration flexibility enabling free arrangement of the signature processing apparatus configuration. ing. This is because the difference between the hot wallet server 300 and the cold wallet server 400 is configured as a difference function between the hot wallet server 300 and the cold wallet server 400. As a result, the signature flow control function of the transaction manager unit 210 is simplified, contributing to the improvement of the processing capability of the transaction manager unit 210, and the polling response in a shorter time is also possible.
  • the transaction manager unit 210 can check the presence of the signature in the signature field of the extended transaction input item after receiving the signature, and can determine whether a predetermined signature completion condition is satisfied. Furthermore, when all signature completion conditions of the extended transaction input item included in the transaction are satisfied, the extended transaction item signature status can be updated to the SIGNED status marked as signed for all signatures, The extended transaction status of extended transaction storage data on the extended transaction pool can also be changed to the status of SIGNED.
  • the data conversion unit 240 can convert data of the extended transaction eTX in the SIGNED status into a standard bitcoin transaction TX.
  • the data output unit 241 can transmit the bitcoin transaction TX data as a transaction broadcast request to the node manager device 500 via the inter-server communication authentication by the third communication unit.
  • the inter-server communication authentication is performed by a known message authentication method, for example, a message authentication method using the HASH-BASED MASSAGE AUTHENTICATIOP MESSAGE, HMAC method, This may be done by the third communication unit that enables encrypted communication using a predetermined mnemonic as a secret key, but the present invention is not limited to this, and known inter-server communication authentication of this kind may be used.
  • the processing of the data conversion unit 240 after completion of the signature and the control of the processing flow of the data output unit 241 may be made controllable by the transaction manager unit 210, and the transaction manager unit 210 performs extended transaction after the processing of the data output unit 241.
  • the extended transaction status of the extended transaction storage data on the pool can be changed to the status of SENT.
  • the data conversion unit 240 and the data output unit 241 may be taken into the transaction manager unit as shown in FIG.
  • the hot wallet server device 300 is a device that is driven and controlled by computer hardware including a CPU, a memory, an IO, and a network device, and software operating on an operating system that controls the hardware, and the second communication unit
  • a hot wallet server unit is included, and a part of these may be a part of software.
  • the hot wallet server device 300 can notify the transaction manager device 200 via the second communication unit that it can accept a signature request as an online signature device, and can perform polling communication.
  • the hot wallet server device 300 can receive a signature request from the transaction manager device 200 via the second communication unit from the transaction manager device 200 as a response to or late for polling.
  • the signature request includes an unsigned transaction
  • the hot wallet server unit uses the information currently assigned to it and the information contained in the unsigned transaction to sign the digital signature according to the determinacy wallet private key regeneration method. It may be possible to regenerate the necessary secret key.
  • the secret key itself may be included in the secret key master M3 and be readable.
  • the information assigned to itself may read the secret key seed from the master, and the third data store structure D3 is stored on the memory from this information and the key sequence number of the extension part of the transaction input item of the unsigned transaction. It may be possible to regenerate the secret key from this.
  • the hot wallet server unit can sign an unsigned transaction based on a secret key.
  • Signature generation uses a standard bitcoin transaction structure among extended transaction structures, and a hash value is calculated by a technique known to those skilled in the art defined in Bitcoin architecture, and it is digital signature known to those skilled in the art.
  • ECDSA algorithm for calculating the electronic signature using the algorithm.
  • the hot wallet server unit can transmit the signature to the transaction manager device 200 via the second communication unit.
  • the hot wallet server unit can communicate with the operation panel server device connected to the hot wallet server device 300, can display the operation instruction screen on the operation panel connected to the operation panel server device, and approves the signature from the operation panel Can be entered. For example, a prompt can be displayed on the operation panel via the operation panel server device to prompt screen input of whether the amount included in the transaction input is less than a predetermined amount, and the signature can be approved by the approver .
  • the hot wallet server unit can immediately generate a signature, and can immediately transmit the signature to the transaction manager apparatus 200 via the second communication unit.
  • both sides may be equipped with an authentication means by SSL (Secure Sockets Layer) communication.
  • SSL Secure Sockets Layer
  • the cold wallet server device 400 is a device driven and controlled by computer hardware including a CPU, a memory, an IO, and a network device, and software operating on an operating system that controls the hardware, the second communication unit, A cold wallet server unit and a data propagation unit are included, and a part of these may be a part of software.
  • the cold wallet server device 400 can notify the transaction manager device 200 that it can accept a signature request via the second communication unit as an off-line signature device, and can perform polling communication.
  • the cold wallet server device 400 can receive the signature request from the transaction manager device 200 via the second communication unit by or in response to the polling response.
  • Signing requests include unsigned transactions.
  • the cold wallet server device 400 can output print data to the IO-connected portable data output device, for example, a QR code print output device, via the data propagation unit.
  • IO-connected portable data output device for example, a QR code print output device
  • the cold wallet server unit can communicate with the operation panel server device connected to the cold wallet server device 400, and can display a print operation instruction screen as portable data output on the operation panel connected to the operation panel server device
  • the operator can input a signature instruction report print instruction from the operation panel.
  • a QR code may be printed on the signature instruction report.
  • both sides may be provided with an authentication means by SSL.
  • the cold wallet server device 400 can take a portable data reading device connected with IO, for example, a QR code printing paper as digital data by the scanner device, and can capture it as a signature from the IO interface via the data propagation unit.
  • the cold wallet server unit can transmit the input data as signature data to the transaction manager apparatus 200 via the second communication unit.
  • the cold wallet server device 400 may be located remotely from the hot wallet server device 300.
  • “remote” may be a remote location with respect to the hot wallet server 300 or a remote location with respect to the transaction manager 200, and as a characteristic of the cold wallet server 400, it is more secure in a human controlled environment It may be in a separate environment on the same floor, or may be in a separate building on the same floor, in a different floor, or in a separate building.
  • the cold wallet server device 400 may be located remotely from the hot wallet server device 300. It has the advantage of being able to be centered on the signatory.
  • a plurality of cold wallet server devices 400 may be placed, one of which may be placed at a long distance, such as Osaka to Tokyo. There is an advantage that disaster recovery can be maintained.
  • the remote signature device 450 is a device driven and controlled by computer hardware including a CPU, a memory, an IO, and a network device, and software operating on an operating system that controls the hardware. Parts, which may be parts of software.
  • Remote signature device 450 is remote from cold wallet server device 400 and is placed in an environment not connected with the outside from the network, and propagates portable data including a signature instruction output from cold wallet server device 400. It is good if it can be taken in through the department.
  • Remote signature device 450 can input / output IO with an operation panel connected to remote signature device 450, and can display a read operation instruction screen as portable data input on the operation panel connected to remote signature device 450 Yes, the operator can input a signature instruction from the operation panel.
  • Remote signature device 450 can generate a signature according to a signature instruction from the operation panel.
  • the portable data that the remote signature device 450 fetches includes an unsigned transaction, and the remote signature device 450 uses the information assigned to itself at that time and the information included in the unsigned transaction to determine the secret of the determinacy wallet. It may be possible to regenerate the secret key necessary for the signature according to the rekeying method. Alternatively, as an option, the secret key itself may be included in the secret key master and be readable.
  • the information assigned to itself may read the secret key seed from the master, and from this information and the key sequence number of the extension part of the transaction input item of the unsigned transaction included in the signature request, the third data store structure D3 May be stored on a memory, from which the secret key may be regenerated.
  • the remote signature device 450 can sign an unsigned transaction with a secret key.
  • Signature generation uses a standard bitcoin transaction structure among extended transaction structures, and a hash value is calculated by a technique known to those skilled in the art defined in Bitcoin architecture, and it is digital signature known to those skilled in the art.
  • ECDSA By means of means for calculating the electronic signature using the algorithm
  • the remote signature device 450 can sign an unsigned transaction with a secret key.
  • Remote signature device unit 450 can display a print operation instruction screen as portable data output on an operation panel connected to remote signature device 450, and can input a signature print instruction from the operation panel by the operator.
  • a print sheet may be able to be output via the data propagation unit to a portable data output device, for example, a QR code print output device, of which a signature is IO-connected according to an input instruction.
  • FIG. 14 shows a flow chart of the signature method used in the wallet device according to some embodiments of the present invention, but the explanation is as shown in corresponding FIG. 4 to FIG.
  • Each part of the central control server device shown in FIG. 1 is operable by software operating on an operating system that controls hardware including a CPU and a memory.
  • the API unit may be a part of software operating on an operating system installed in the central control server device, and the API unit 110 is an API module 110.
  • the API module 110 operates according to the flowchart shown in FIG.
  • the API module is a module that converts user format interface data into an internal data format used in the central control module.
  • the API unit may be part of software operating on an operating system installed on a gateway server installed between the central control server and the user system, in which case the API unit Are communicably connected to the central control server via a communication unit which is a part of the gateway server.
  • the first request waiting step 111 is entered, for example, the request waiting step 111 for receiving request data regarding a transaction from an external system managed by a virtual currency trading company.
  • request data relating to a transaction is received from an external system, for example, via the network, the request is stored in the request pool in the request reception step 112 and the process returns to the request waiting step 111 again.
  • the API module In parallel to the request waiting step 111, the API module refers to the request pool and enters the API data store step 113 which stores the record, if any, in the API data store structure.
  • the API processing transfer step of transferring API data to the central control module data is converted from the data format of the user specification into the data format of the wallet device 1 internal format and then transferred to the central control module and then After returning to the API data store step 113, the process is repeated.
  • the API data store structure is the data store structure shown in FIG. 3 and consists of five items. At least one set of the common key corresponding to the payment account and the withdrawal amount corresponding to the payment account, combining the common key and the withdrawal amount, the destination address as the deposit destination address, the deposit amount corresponding to the deposit account.
  • the destination address code and the payment amount are at least one pair, and a fee burden destination code that defines the burden of the transaction burden immediately below the root of the API data store structure to be borne by either party. Both are included in the request data.
  • the central control unit 120 may be part of software operating on an operating system installed in a central control server device, and the central control unit 120 includes a central control module 120.
  • the central control module 120 operates according to the flowchart shown in FIG.
  • the central control module 120 is a module for storing the bitcoin transaction in the internal format in the wallet device 1 and transferring the request data from the user to the transaction manager module as unsigned transaction data in the signature processing.
  • the central control module 120 As soon as the central control module 120 starts, it enters an API data acceptance waiting step 122. Upon receiving request data from the API module in the API data store structure via inter-module communication, eg, inter-process communication means, it initiates unsigned transaction generation.
  • the common key item of the API data is referred to and used as a common key thereafter.
  • UTXO selection step 123 UTXOs matching the common key are searched in the UTXO pool, and one or more UTXOs that exceed the payment amount are collected under a predetermined search order.
  • the UTXO to be created in the transaction output is matched from the UTXO used for the transaction input and the payment contents instructed by the user from the request data, and it is necessary as fishing. Transaction output is also generated.
  • the fee determination step 125 the fee burden code is referred to, and a fee UTXO is additionally created depending on whether the payee or the payment source.
  • the input / output determination step 126 transaction input items, input / output items and mining fees as differences are checked, and each item is finalized. Add UTXO if necessary.
  • the extended transaction transmission step 127 the second data store structure is referenced, and transaction input items and transaction output items are applied to this item.
  • the second data store structure is a general bitcoin transaction item that can be generated from the UTXO where items other than the extension items related to the signature are necessary for the API data store structure, and the extension items added by the present invention It consists of The former is identical to the known art.
  • the common key which is an element of the extended data item, is information for specifying the UTXO adopted as a result of the search, and is the internal expression information of the wallet device 1.
  • the key sequence number is a sequence number for generating a public key corresponding to the private key necessary for the signature for approving the use of this currently valid UTXO.
  • the extended data structure is configured with reference to the address master storing data of the first data store structure. In the signature section, the maximum number of required signatures may be secured as a total frame. The complete information needed for the signature is filled in with the transaction manager module and is not complete at this point, so it is more secure against external intrusions.
  • control is transferred to the extended transaction transmission step 127, and the extended transaction is sent via the first communication unit.
  • the processing is returned to the API data acceptance waiting step 122, and the above processing is looped.
  • the transaction manager unit may be part of software operating on an operating system installed in the transaction manager apparatus 200, and the transaction manager unit 210 includes a transaction manager module 210.
  • the transaction manager module 210 operates according to the flowchart shown in FIG.
  • the transaction manager module roughly classifies and accepts the extended transaction via the first communication module 201 and stores it in the extended transaction pool, and a second part related to flow control including communication with the module executing the signature. Composed of parts.
  • the first part enters the extended transaction acceptance waiting step 211, and as soon as the extended transaction is accepted through the first communication unit, it moves to the step of storing in the extended transaction pool and the extended transaction is transferred to the extended transaction. Store acceptance data into the pool.
  • the transaction manager module 210 When the transaction manager module 210 is started, in parallel with the transaction acceptance waiting step 211, it enters into the signature waiting notification waiting step 221, and when the signature waiting notification is received through the second communication unit, the waiting notification polling acceptance step 222 Processing shifts.
  • the unsigned transaction matching the common key included in the notification awaiting signature is referred to by searching from the extended transaction pool, and the unsigned transaction to be signed is selected.
  • the extended transaction is selected
  • the script item of transaction input UTXO described there is specified the required signature method, for example, the multi-signature signature method, the total number of signatures, among which the signature approval The required number of signatures is defined, and the framework of the signature field is determined accordingly.
  • the required signature method for example, the multi-signature 2: 3 scheme, if two of the three signatures are obtained, the signature approval condition is satisfied, and the use of the UTXO is regarded as approved.
  • the signature request transmission step 226 transmits the signature request via the second communication module 202, with the selected unsigned transaction as attached data. Thereafter, the process branches back to the signature waiting notification waiting step 221, while waiting for the signature in step 227 waits for the signature to be returned.
  • the extended transaction signature completion step 229 checks whether the signature is completed for the entire extended transaction. If complete, then the extended transaction signature status update step 250 updates the extended transaction signature status to Signed, and in parallel with step 250, the transaction data conversion step 240 converts the data as a bitcoin transaction. , Order. Following step 240, the transaction data transmission step 241 transmits bitcoin transaction data to the node manager device 500 via the third communication unit.
  • the process returns to the step of waiting for a signature step 227 and the steps 227 to 229 are repeated.
  • the fourth data store structure D4 is a data store structure shown in FIG. 5 and is composed of three items. Generate a common key as a representation of a common address inside the wallet device 1, a public key seed generated corresponding to a private key seed, and a deterministic wallet in parallel with the private key required for signature generation Is a key sequence number for indicating the order. For one common key, for example, in the multi-signature scheme, a plurality of public keys and secret keys are required, the fourth data store structure D4 is given a public key seed and a key sequence number among them, and a key sequence number And a public key seed enable generation of a public key.
  • the common key and the key sequence number are items included in the extended transaction, and the fourth data store structure D4 makes it possible to specify the secret key through the public key generated in these.
  • the fourth data store structure D4 which is a child data store structure of the fourth data store structure D4, is a structure relating to the secret key, and is composed of two items. They are a common key as a representation of a common address inside the wallet device 1, a private key seed required for signature generation, and a key sequence number for indicating the order when generating a deterministic wallet.
  • a common key for example, in the multi-signature scheme, multiple secret key seeds and secret keys are required, but in the third data store structure D3, one secret key seed from the secret key master M3
  • a key sequence number is provided from the extended transaction input item of the extended transaction included in the signature request, which can be accepted, whereby the secret key can be regenerated. Therefore, it is sufficient if at least the common key and the secret key seed are read from the secret key master M3, but the secret key master M3 has a more redundant structure such as being set with the common key or including a plurality of secret key seeds. May be
  • the hot wallet server unit 310 may be part of software operating on an operating system installed in the hot wallet server apparatus 300, and the hot wallet server unit 310 includes the hot wallet server module 310.
  • the hot wallet server module 310 operates in accordance with the flowchart shown in FIG.
  • the step 311 of reading the current common key reads, for example, the common key and the secret key seed stored in the secret key master M3, and the third data store structure on the memory Store to the corresponding element of body D3.
  • the common key assigned to the hot wallet server module 310 at that time is recognized.
  • the signature waiting notification polling transmission step 312 is directed to the transaction manager module 210 by polling the signature waiting notification, which indicates that the hot wallet server module 310 can accept the signature request, via the second communication unit. Give notice.
  • the common key is also sent to the transaction manager module 210 as attached data.
  • the transaction manager module 210 is waiting for this polling in the signature waiting notification waiting step 221.
  • the hot wallet server module 310 waits for reception of the signature request, and the hot wallet server module 310 receives the signature request transmitted in the signature request transmission step 226 of the transaction manager module 210 in the signature request reception step 313. .
  • the signature request contains an unsigned transaction.
  • an approval request is sent to the operation panel device 339 via the operation panel display module 330.
  • the operation panel display module 330 accepts the request for the approval screen to the operation panel display in the approval request reception step 331 from the hot wallet server module 310 after the operation starts.
  • the operation panel display module 330 displays an approval screen on the operation panel device 339 connected to the operation panel display module 330, and displays a prompt for input.
  • operation panel display module 330 receives this via the connection.
  • step signature approval? In step 333, the command from the operation panel device 339 is determined, and it is determined whether there is any exception handling.
  • the exception handling waiting step 340 is entered to wait for exception handling, after which the process is temporarily terminated. Meanwhile, then the signature approval? If the approval is given in step 333, the processing proceeds to a signature approval notification step 350 where a signature approval notification is sent to the hot wallet server module 310, and then the operation panel display module 330 is temporarily ended.
  • the hot wallet server module 310 enters the approval synchronization step 316 after the transmission of the approval request step 315, and in this step 316 awaits approval, and receives the approval from the operation panel display module 330.
  • the approval is not received within a predetermined time, it is a case where the exception processing is performed on the operation panel display module 330, and a time interruption or software interruption is made after a predetermined time elapses, such as activating a timer in advance. Cancel the process waiting and end the process.
  • After receiving the approval input data in the approval synchronization step 316 next, acknowledge the signature approval in the approval notification reception step 317, and the transaction input amount ⁇ predetermined amount? Join after step 314 and enter signature step 318.
  • the determinacy wallet logic regenerates the secret key from the secret key seed and key sequence number in the third data store structure D3, and the UTXO included in the transaction input item of the unsigned transaction.
  • Sign on Signature generation uses a standard bitcoin transaction structure among extended transaction structures, and a hash value is calculated by a technique known to those skilled in the art defined in Bitcoin architecture, and it is digital signature known to those skilled in the art.
  • ECDSA algorithm for calculating the electronic signature using the algorithm
  • the send signature step 319 sends the signature to the transaction manager module via the second communication unit.
  • the transaction manager module 210 waits for the signature to be sent back at step 227, and as soon as the signature is received, it accepts the signature and enters the signature field into step 228 as described above.
  • the cold wallet server unit may be part of software operating on an operating system installed in the cold wallet server apparatus 400, and the cold wallet server unit 410 includes a cold wallet server module 410.
  • the cold wallet server module 410 operates according to the flowchart shown in FIG.
  • the step 411 of reading the current common key reads, for example, the common key stored in the cold master M3.
  • the common key assigned to the cold wallet server module 410 at that time is recognized.
  • the signature waiting notification polling transmission step 412 is directed to the transaction manager module 210 via the second communication unit by polling the signature waiting notification, which indicates that the cold wallet server module 410 can accept the signature request. Give notice.
  • the common key is also sent to the transaction manager module 210 as attached data. It is the same as the hot wallet server module that the transaction manager module 210 is waiting for this polling in the signature waiting notification waiting step 221.
  • the cold wallet server module 410 waits for reception of the signature request, and the cold wallet server module 410 receives the signature request transmitted in the signature request transmission step 226 of the transaction manager module 210 in the signature request reception step 413.
  • the portable data output display step 414 is directed to the remote control module 420 operating on the operating system on the remote computer connected to the computer system where the operating system on which the cold wallet server module 410 operates is located.
  • the remote control module 420 may be placed, for example, on a computer device separate from the cold wallet server device 400 where the operating system in which the cold wallet server module 410 is operating is located.
  • the portable data output instruction receiving step 421 next receives a portable data output instruction through the connection with the cold wallet server module.
  • step 422 of displaying on the operation panel the portable data output instruction screen data to the operation panel device 439 connected to the computer device (not shown) in which the operating system on which the remote control module 420 operates is placed.
  • a portable data output device (not shown) connected to a computer device (not shown) in which an operating system on which the remote control module 420 is operated is placed, for example
  • the QR code printing output device (not shown) outputs the signature request portable data (QR code printing paper) according to the instruction of the operator, and waits for the return of the signature. Thereafter, the operator transports portable data (QR code printed paper) to the signature device management area.
  • the remote signature unit may be part of software operating on an operating system installed on the remote signature device 450, in which case the remote signature unit 430 includes a remote signature module 430.
  • a portable data reader (not shown) connected to the remote signature device 450, eg a QR code reader, eg a remote where a scanner device (not shown) operates on the operating system on the remote signature device 450 Driven by the signature module 420, the signature request shipment data is read into the remote signature device 450.
  • the signing step 433 the standard logic of the bitcoin architecture of the deterministic wallet is used to regenerate the private key from the private key seed and key sequence number stored in the third data store structure D 3, and to sign it. Sign UTXO included in the transaction input field of the unsigned transaction attached to the request.
  • the third data store structure D3 may be accepted as portable data, or the remote signature device 450 reads the secret key seed stored in the secret key master M3, and the signature request included in the portable data
  • the third data store structure D3 may be configured on the memory according to the common key and the key sequence number included in.
  • Signature generation uses a standard bitcoin transaction structure among extended transaction structures, and a hash value is calculated by a technique known to those skilled in the art defined in Bitcoin architecture, and it is digital signature known to those skilled in the art. By means of calculating an electronic signature using the algorithm ECDSA
  • the portable data output instruction screen data is transmitted to the operation panel device 439, a prompt for prompting the input of the portable data output instruction is displayed, and the portable data output instruction is input.
  • a portable data output device (not shown) connected to a computer device (not shown), which accepts this as a command, for example, a QR code print output device (not shown) is signed by the instruction of the operator Output portable data (QR code printing paper).
  • QR code print output device (not shown) is signed by the instruction of the operator Output portable data (QR code printing paper).
  • the remote signature module ends.
  • the operator transports the portable data (QR code printed paper) out of the signature device management area.
  • the portable data reading instruction screen data is transmitted to the operation panel device 429, and a prompt for inputting the portable data reading instruction is displayed, and the portable data output instruction from the operation panel device 429 Is input as a command, and a portable data reader (not shown), eg, a QR code reader, eg, a scanner (not shown), connects it to a computer (not shown) as a command.
  • a remote control module 420 operating on an operating system on a computer device (not shown)
  • the signature request portable data is read into the computer device and stored on the memory of the remote control module 420.
  • the signature transmission step 425 is performed by connecting the cold wallet server from the computer device on which the remote control module 420 is operating to the computer device on which the operating system on which the cold wallet server module 410 is operating is located. Send the signature towards module 410. Thereafter, the remote control module ends. In parallel, then the receive signature synchronization step 415 of the cold wallet server module 410 receives the signature and stores it on memory. Next, a signature transmission step 416 transmits the signature to the computing device on which the operating system in which the transaction manager module 210 is operating is located, via the second communication unit. Following this, the transaction manager module 210 waits for the signature to be returned in the step 227 for waiting for the signature, and as soon as the signature is received, accept the signature and enter the signature field into the Signed Step 228 as described above. It is.
  • the broadcast is performed via the node device for transaction broadcast to the bitcoin network.
  • the node device may be a known node device on a bitcoin network, and the wallet device 1 according to the present invention is optionally disposed in the wallet device 1 to control it and improve security further. There is. It will be described below.
  • At least three home node devices may optionally be installed in the wallet device 1.
  • node devices are potentially adjacent and there is also the risk that the block chain they receive from it is forged.
  • the diversity of adjacent nodes in the bitcoin network of node devices is secured by at least three private wallets, and a safer block chain can be obtained.
  • the security of certainty secures certainty by arranging a plurality of node devices and matching data among them. Even if there is a data match between them, having at least two data match is more reliable than assuming that the block chain is a block chain block that is secure from at least one block chain only. It is secured that it is a safe block.
  • At least three block comparisons ensure that if two of them match, it is a more secure block.
  • block comparisons of five or more block chains ensure that if half or more of them match, it is a more secure block.
  • the node manager device 500 is a device driven and controlled by computer hardware including a CPU, a memory, an IO, a network device, and software operating on an operating system that controls the hardware.
  • a communication unit is included, and part of these may be part of software.
  • the node manager unit can load, for example, the node manager master and store the number of allocated private node devices on the memory.
  • the node manager unit can fetch at least a copy of at least the latest block chain from the node device at least periodically or from the node unit if the node unit is included in the node manager device 500.
  • means suitable for bulk data communication such as WEB socket may be used via a communication unit connected to the node device.
  • the node manager unit may be part of software operating on an operating system installed in the node manager device 500, in which case the node manager unit 510 includes a node manager module 510.
  • the node manager module 510 operates according to the flowchart shown in FIG.
  • step 511 is performed to read the node manager master from the node manager master and read the node information to be stored on the memory and the predetermined condition to determine the authenticity of the data held by the node.
  • step 512 starts a timer and enters a periodic repeating operation, and then waits for a timer event notification at step 513 for waiting for a timer event.
  • step 514 of copying unverified transactions from each node the unverified transactions from each node are stored in a structure on the memory of the node manager module 510 and a data store structure in a permanent memory connected to the node manager device 500.
  • step 520 is performed to compare data to compare data store structures and to verify matching combinations.
  • a node's information is considered to be true if it meets a predetermined condition to determine the trueness of the data held by the node. If the information of the node is regarded as true, the process returns to step 513 for waiting for a timer event, and repeats the following processing. For example, three nodes are defined, and a majority of them match. If it is determined that the information of the node is invalid, then the exception handling step 521 is entered, and the process branches to exception handling and ends. Parallel to step 514, copy block chains of each node in step 515.
  • step 520 the data are compared with each other, the information of the node is regarded as true if the predetermined conditions for judging the trueness of the data held by the node are met. If it is determined that the information of the node is invalid, then the exception handling step 521 is entered, and the process branches to exception handling and ends. For example, three nodes are defined, and a majority of them match. If the information of the node is regarded as true, the process returns to step 513 for waiting for a timer event, and repeats the following processing.
  • the wallet device 1 includes the private node device, but alternatively, means for creating broadcast request data to the broadcast server on the bitcoin network based on the bitcoin transaction.
  • the manager device 200 may further include.
  • the broadcast request data may be written by the transaction manager device 200 directly to the data reception port of the broadcast server on the bitcoin network, but as yet another alternative, the bitcoin transaction is accepted via the third communication means.
  • the wallet device 1 may further include a broadcast request server device comprising means for creating broadcast request data on the bitcoin network based thereon, and output means for outputting the data onto the cryptographic currency network. .
  • FIG. 9 is a schematic view showing a wallet device 2 according to another embodiment of the present invention.
  • the wallet device 2 is an embodiment in which all the modules shown in FIGS. 2 to 7 operate on one operating system. While obtaining the effect of minimizing hardware resources, the intruder can also obtain improved security in that it is necessary to straddle multiple modules to use a secret key.
  • FIG. 10 is a schematic view showing a wallet device 3 according to another embodiment of the present invention.
  • the hot wallet server module is operated on an operating system different from the first operating system operated by the central control module and the transaction manager module, and the secret key is separated. It is difficult to use the secret key from both the central control module on the first operating system and the transaction manager module, which has the effect of enhancing security.
  • FIG. 11 is a schematic view showing a wallet device 4 according to another embodiment of the present invention.
  • the hot wallet server module is operated on an operating system different from the first operating system operated by the central control module, the secret key is separated, and the central control is performed. From the module's point of view, it is difficult to use the secret key, which has the effect of enhancing security.
  • FIG. 12 is a schematic view showing a wallet device 1 according to an embodiment of the present invention.
  • the wallet device 2 is an embodiment in which all the modules shown in FIGS. 2 to 7 operate on different operating systems. From the central control module, the intruder is further improved in security in that it is necessary to straddle multiple operating systems in order to use the secret key.
  • FIG. 13 shows another embodiment in which a plurality of hot wallet server devices 300 are connected to the transaction manager device 200.
  • Two hot wallet server devices 300 are installed at the location where the central control server device is installed.
  • the control flow of the transaction manager can be executed in parallel, and this additional configuration provides scalability and improves processing speed and performance by reducing latency.
  • Ru That is, the transaction manager device 200 has two hot wallet server devices 300 arranged in Asia and a hot wallet server arranged in another location, the signature request corresponding to the secret key HOT1 among the secret keys requested by the unsigned transaction.
  • a real wallet device capable of making a signature request to any hot wallet server device 300 out of a group of hot wallet server devices 300 of the device 300 and having improved scalability and performance is provided.
  • a multi-signature is configured in the hot wallet server device 300, An intruder is forced to attack a plurality of hot wallet server devices 300 for unlocking, and a higher security wallet device can be provided.
  • At least one of the hot wallet server devices 300 is provided at a remote place, providing a configuration that is resistant to disasters.
  • FIG. 13 also shows still another embodiment in which a plurality of cold wallet server devices 400 are connected to the transaction manager device 200.
  • One of the cold wallet server devices 400 is installed in another remote location, the United States, and has the advantage of being able to manage a secret key at that location.
  • distribution of assets where private keys are placed at remote locations is dispersed, and there is an advantage that security is further enhanced in terms of human management, disaster countermeasures, and crime countermeasures due to intrusion from the outside.
  • one of the hot wallet server devices 300 is provided on one cloud computing service, for example, on a virtual server, and diversity of server arrangement is ensured, and cloud computing service is provided.
  • An alternative remote location hot wallet server device 300 is implemented.
  • a housing server may be provided by a virtual server.
  • the cloud computing service may be provided by a plurality of cloud computing service providers instead of one, and in this case, the advantage is that the diversity of implementation means is further increased and the processing is decentralized. is there. Multi-signatures may be provided across cloud computing service providers, in which case there is an advantage that the risk of human internal crimes can be further reduced, security can be further improved, and it is also effective for disaster countermeasures It is.
  • Bitcoin Cash, Bitcoin Gold, Litecoin, Monacoco, Dogecoin's orthocoins such as Bitcoin Cash, Bitcoin Gold, Litecoin, Monacoin, Dogecoin improve some of the block chain technology, with some BitCoin attributes being changed and / or including attributes.
  • BitCoin attributes being changed and / or including attributes.
  • the present invention is applicable to a wallet device for encryption currency according to a public key cryptosystem, which generates a public key with a secret key, generates an address from the public key, and uses this for trading on a network, for example, It can be used for a virtual currency exchange business, a virtual currency trading company, a business settling a transaction on the Internet, etc.

Landscapes

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

Abstract

外部からの取引リクエストデータを受け入れる中央制御サーバ装置、トランザクションマネジャ装置、ホットウォレットサーバ装置、コールドウォレットサーバ装置、遠隔署名装置を含み、トランザクションマネジャ装置は、インターネット上のビットコインネットワークへ適合するデータを作成し、出力する手段を有し、トランザクションの雛形を生成する中央制御サーバ装置と署名を生成するホットウォレットサーバ装置、コールドウォレットサーバ装置及び署名装置の間にトランザクションマネジャ装置を配置し、より安全な暗号通貨のためのウォレット装置を提供する。

Description

暗号通貨のためのウォレット装置及びその装置を用いる署名方法
本発明は、秘密鍵によって公開鍵を生成し、当該公開鍵からアドレスを生成しこれをネットワーク上での取引に用いる公開鍵暗号方式による暗号通貨のためのウォレット装置及びその装置を用いる署名方法に関する発明である。
 2008年に公開鍵暗号方式を利用するブロックチェーンを基礎とするビットコインのテクノロジ基盤が発表されて以来、10年経つ。その技術的特徴から暗号通貨と呼ばれている。日本では、インターネットを介して紙幣、硬貨という実体なくデジタル的に交換される利用態様が重視され、仮想通貨と呼ばれ、資金決済法で「仮想通貨」が定義されている。本明細書では、仮想通貨は、秘密鍵によって公開鍵を生成し、当該公開鍵からアドレスを生成しこれをネットワーク上での取引に用いる公開鍵暗号方式による暗号通貨であって、業として取引所で交換等取引されるものを指す。
 図15は、代表的暗号通貨の一つである、インターネット上のビットコインネットワーク10を示す。ビットコインネットワーク10は、すべてのトランザクションを保持している元帳であるブロックチェーンを生成するマイナー11、マイナーへトランザクションを伝搬しトランザクションの有効性を検証するノード12によって構成される。
 ユーザからビットコインネットワークへトランザクションが送信されると、以下のプロセスで処理される。ビットコインネットワーク上にあるノードは、受領したトランザクションを検証し、検証を通過したトランザクションは隣接する他のノードへ伝搬される。その後、ビットコインネットワーク規約によってマイナーがマイニングと呼ばれる承認処理を行い、トランザクションは新しい元帳の最小構成単位であるブロックへ書き込まれる。この新しいブロックは既存のブロックの集合体の最後尾へ追加される。トランザクション元帳は、一連の連鎖するブロックの集合体として構成され、この態様からブロックチェーンと呼ばれる。更新されたブロックチェーンはノードへコピーが送信され、各ノードは全てのブロックを含むブロックチェーンを保持する。元帳が、直前のブロックチェーンへ後続ブロックを追加するように、トランザクションもビットコインの直前の持ち主から後続の持ち主へ、そのうちの一部が引き渡される形式をとる。その引き継ぎを証するものとして、トランザクション自体にその引き継ぎを証明する情報が付加され、これを署名という。
 より具体的には、トランザクションは、そこに記された直前の持ち主のビットコイン通貨額と、そのうち直前の持ち主から新たな持ち主へ渡されるビットコイン通貨額に、その価値の連鎖を証明する情報として署名が付加表象されている仮想的なものである(非特許文献1参照)。
 トランザクションは公開鍵暗号アーキテクチャーの元、ユーザによって暗号化された情報が格納され、ネットワーク上を伝搬する。上記署名には、暗号の復号のための秘密鍵を要する。秘密鍵が漏洩すると、価値移転は、インターネット上で欲しいままに実現され、その回復は実質上困難であるものと考えられる。技術論的には、取引のトレーサビリティーがあるとしても、その調査には、莫大なコストがかかり、実質上困難である。これは、暗号は理論的には解読されるものであっても、解読コストがかかるものであれば、実質上安全なものとみなせることと対応させれば理解しやすい。
 秘密鍵の漏洩には、秘密鍵を所有する組織内の内部犯罪行為によるものと、外部からのネットワーク侵入によるものとに大別される。実際、前者がマウントゴックス事件であり、後者がコインチェック事件であった。前者は、管理者が単独で仮想通貨を流出可能である仕組みが問題と認識され、後者は、外部からのネットワーク侵入によって高額の仮想通貨がオンライン環境下に晒されている仕組みが問題とされた。
 もともとユーザの支配下で、秘密鍵を保管するものがウォレット13としてビットコインアーキテクチャーでも定義されている(非特許文献2)。上記で、ユーザからビットコインネットワーク10へトランザクションがブロードキャスト送信される前の段階で、ユーザは、他人への価値移転を承認する際に秘密鍵を使用してトランザクションに署名承認する。この秘密鍵を保管管理するのに使用される装置がウォレット装置である。仮に秘密鍵をすべてオフラインで管理し、取引の単位毎に秘密鍵を二人以上のオペレータで操作すれば、安全性は高まるが、それでは管理コストが掛かり過ぎ、実際的ではない。しかしながら、オンラインで使用されるホットウォレット装置とオフラインで使用されるコールドウォレット装置をどのように統合使用するかについての具体的な解決策は提示されていない。
 ビットコインアーキテクチャでは、すでに一取引を複数の秘密鍵によって署名承認されるマルチシグネチャが提案され、より安全な取引も実現ではあるが、どのように複数の秘密鍵を統合使用するかについての具体的な解決策も提示されていない。
:例えば、アンドレアス著、「ビットコインとブロックチェーン」p1の第3段落、NTT出版株式会社、2016年
:例えば、アンドレアス著、「ビットコインとブロックチェーン」p92の第1段落、NTT出版株式会社、2016年
本発明は、係る課題に対応可能である、内部犯罪に対しても、外部からのネットワーク侵入に対しても、より安全なウォレット装置を提供することを発明の目的とする。
 本発明は、上記目的を達成する、より安全なウォレット装置を提供する。以下に説明する。
 秘密鍵によって公開鍵を生成し、当該公開鍵からアドレスを生成しこれをネットワーク上での取引に用いる公開鍵暗号方式による暗号通貨のためのウォレット装置であって、
 処理リクエストデータの受入手段を有し、前記アドレスを特定し、署名に用いる前記公開鍵を同定するための第1のデータストア構造を有し、未署名トランザクション保持のための第2のデータストア構造を含む未署名トランザクションの組成手段を有し、当該未署名トランザクション送信のための第1の通信手段を有する中央制御サーバ装置と、
 秘密鍵保管又は生成のための第3のデータストア構造体をメモリ上に有し、署名リクエストの受信及署名の送信のための第2の通信手段を有し、これを介して入力された前記署名リクエストのための暗号通貨署名手段を有するホットウォレットサーバ装置と、
 秘密鍵保管又は生成のための第3のデータストア構造体をメモリ上に有し、暗号通貨署名手段を有し、署名リクエストを遠隔地において操作員を介し受入れ、かつ前記署名リクエストに対応する署名を操作員を介し出力するデータ伝搬手段を有する、インターネットからオフラインの遠隔署名装置と、
 署名リクエスタからの署名リクエストの受信及び署名の送信のための第2の通信手段を有し、これを介して入力された前記署名リクエストを前記遠隔署名装置と組になり遠隔で署名させるためのデータ伝搬手段を有し、前記遠隔署名装置の署名を識別させる標識としての識別キーをメモリ上に格納するデータストアを有し、前記識別キーを前記第2の通信手段を介して相手側へ送信可能であるコールドウォレットサーバ装置と、
 前記中央制御サーバ装置との間の前記未署名トランザクション受信のための前記第1の通信手段を有し、前記ホットウォレットサーバ装置及び前記コールドウォレットサーバ装置、又はこれらのうちの少なくともいずれか一方との署名リクエストの送信及び署名の受信のための前記第2の通信手段を有し、公開鍵鍵特定のための第3のデータストア構造に対応する公開鍵のデータストア構造をメモリ上に自らの署名を識別させる標識としての識別キーで構造化した第4のデータストア構造を有し、前記未署名トランザクションの署名完了まで当該トランザクションを保持する署名ステータス管理手段を有し、署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換手段を有し、前記暗号通貨トランザクションを出力するための第3の通信手段を有するトランザクションマネジャー装置とを、含むことを特徴とするウォレット装置である。
 上記構成は、トランザクションの雛形を生成するウォレット中央制御サーバ装置と署名を生成するホットウォレットサーバ装置、コールドウォレットサーバ装置との間にトランザクションマネジャー装置を配置し、ネットワークの入り口側にあるウォレット中央制御サーバ装置と秘密鍵情報を有する装置間がネットワーク上分離され、より安全なウォレット装置が提供される。
 さらに、追加の態様で、第1の通信手段は、サーバ認証機能を備えるとよい。トランザクションマネジャー装置とネットワークの入り口側にあるウォレット中央制御サーバ装置との間の通信手段である第1の通信手段は、サーバ認証機能を備え、より安全なウォレット装置が提供される。
 さらに、追加の態様で、前記トランザクションマネジャー装置にはホットウォレットサーバ装置が複数接続されるとよい。処理をホットウォレットサーバ装置間で分担すれば、ホットウォレットサーバ装置の多重化によって、処理能力が増し、スケーラビリティが得られ、あるいは、複数のホットウォレットサーバ装置で同じ秘密鍵に対応する署名を保持すれば、1つに故障があっても他のホットウォレットサーバ装置で処理を続行可能であり、アベイラビリティが提供される。
 さらに、追加の態様で、コールドウォレットサーバ装置は、データ伝搬手段として可搬データ出力装置が接続され、操作パネル装置が接続され署名リクエストのための可搬データ出力を促すプロンプトを表示可能であり、操作パネル装置へのオペレーターの操作によって署名リクエスト可搬データが出力可能であるとよい。コールドウォレットサーバ装置に可搬データ出力装置が接続され、より容易にオフラインにある署名装置に署名に必要なデータをより早く、より正確にデータ伝搬でき、その意味で、より安全なウォレット装置が提供される。
 さらに、追加の態様で、インターネットからオフラインの署名装置は可搬データ読み込み装置が接続され、操作パネル装置が接続され前記署名リクエスト可搬データの読み込みを促すプロンプトが表示可能であり、オペレーターの操作によって前記署名リクエスト可搬データを読み込み可能であるとよい。この構成で、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働きより安全、確実、正確にオフライン署名を遂行でき、より安全なウォレット装置が提供される。
 さらに、追加の態様で、インターネットからオフラインの署名装置は可搬データ出力装置が接続され、前記操作パネル装置には署名済み可搬データ出力プロンプトを表示可能であり、オペレーターが暗号通貨署名手段によって前記秘密鍵を用いる署名に伴い署名済み可搬データを出力可能であるとよい。この構成でも、前段落に加えさらに、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働きより安全、確実、正確にオフライン署名を遂行でき、より安全なウォレット装置が提供される。
 さらに、追加の態様で、コールドウォレットサーバ装置は可搬データ読み込み装置が接続され、前記操作パネル装置には署名済みの可搬データ読み込みプロンプトが表示可能であり、オペレーターの操作によって署名済み可搬データを読み込み可能であり、当該署名済み可搬データ読み込みに伴い、前記第3通信手段を介してコールドウォレットサーバ装置から前記トランザクションマネジャー装置へ署名を送信可能であるとよい。この構成でも、前段落に加えさらに、オペレータの操作によって、システムログ機能等で進捗の記録管理が可能となり、牽制が働き、さらに、より安全、確実、正確にオフライン署名を遂行でき、より安全なウォレット装置が提供される。
 さらに、追加の態様で、可搬データは、QRコード印刷紙であるとよい。この構成では、より簡便にデータの伝達が可能となる。
 さらに、追加の態様で、トランザクションマネジャー装置には前記コールドウォレットサーバ装置が複数接続されるとよい。この構成では、より冗長な構成、余裕のある能力が提供可能となり、コールドウォレット処理のスケーラビリティ、アベイラビリティが向上する。
 さらに、追加の態様で未署名トランザクションは、複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、複数の前記ホットウォレットサーバ装置に分散して格納されたものであるとよい。この構成では、ホットウォレットサーバ上でマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためには複数のホットウォレットサーバ装置に侵入する必要が生じ、より安全なウォレット装置が提供される。
 さらに、追加の態様で、未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、複数のインターネットからオフラインの前記署名装置に分散して格納されたものであるとよい。この構成では、コールドウォレットサーバ上でマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためには複数のコールドウォレットサーバ装置に侵入する必要が生じ、より安全なウォレット装置が提供される。
 さらに、追加の態様で、未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、1又は複数の前記ホットウォレットサーバ装置かつ1又は複数のインターネットからオフラインの前記暗号通貨署名装置に分散して格納されたものであるとよい。この構成では、ホットウォレットサーバとコールドウォレットサーバ上に跨ってマルチシグネチャ方式による署名が可能となり、侵入者は、秘密鍵の漏洩のためにはホットウォレットサーバ装置及びコールドウォレットサーバ装置に跨って侵入する必要が生じ、より安全なウォレット装置が提供される。
 さらに、追加の態様で、暗号通貨トランザクションをもとに暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成する手段を前記トランザションマネジャー装置がさらに備えるとよい。この構成では、暗号通貨トランザクションの署名完成から連続して、暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成するため、人の介在する余地がなく、内部者の犯罪行為を排除でき、より安全なウォレット装置が提供される。
 さらに、追加の態様で、第3の通信手段を介して受入れられた前記暗号通貨トランザクションをもとに暗号通貨ネットワーク上へのブロードキャスト依頼データを作成する手段と、これを暗号通貨ネットワーク上へ出力するための出力手段を備えるブロードキャスト依頼サーバ装置をさらに含むとよい。この構成では、トランザクションマネジャ装置とインターネットとの間にブロードキャスト依頼サーバ装置を介在させ、かつ、この間の通信は、第2の通信とは別のルートが用意され、署名装置の隔離がより確実となり、より安全なウォレット装置が提供される。
 さらに、追加の態様で、暗号通貨ネットワークとインターネット接続され、前記暗号通貨ネットワーク上へブロードキャスト可能である1又は複数のノード装置と、前記ノード装置に接続されており、前記トランザクションマネジャー装置との第3の通信手段を介して受信された前記暗号通貨トランザクションを前記ノード装置を介して暗号通貨ネットワークへブロードキャストするための手段を有するノードマネジャー装置とをさらに含むとよい。ビットコインネットワークは、総じて過半数のコンセンサスを得ることによって、検証が進められるが、局所的には、悪意のノードに包囲されることもあり得るが、この構成では、自家用ノードを配し、このような悪意を排除可能である、より安全なウォレット装置が提供される。
 さらに、追加の態様で、ノードマネジャー装置は、前記複数のノード装置からブロックチェーン又はブロックチェーンに記録されるべき未検証トランザクションを受信し、受信された前記ブロックチェーン同士の対比及び前記未検証トランザクション同士の対比又はこれらのいずれかの対比によって、前記複数のノード装置の対比データのうち過半数において前記対比が一致するか否かを検査する手段を含むノードマネジャー装置であるとよい。この構成では、ノード装置に悪意が入る場合の影響をより排除可能である。ビットコインネットワークは、総じて過半数のコンセンサスを得ることによって、検証が進められるが、局所的には、悪意のノードに包囲されることもあり得る。ノードのなりすまし等の悪意に対して有効であり、より安全なウォレット装置が提供される。
 さらに、追加の態様で、ホットウォレットサーバ装置の少なくとも1つは遠隔地に設けられているとよい。この構成では、遠隔地のどのサーバに侵入すればよいのかが外部からも内部からも不案内であり得て、より安全なウォレット装置が提供される。マルチシグネチャを遠隔地に設けるホットウォレットサーバ装置に跨がらせれば、ネットワークを跨ぐより組織的な内部犯罪グループを必要とし、内部統制上もより安全なウォレット装置が提供される。加えて、同じ鍵を遠隔におけば災害にも強く、アベイラビリティも向上され、この点でもより安全なウォレット装置が提供される。
 さらに、追加の態様で、コールドウォレットサーバ装置の少なくとも1つは遠隔地に設けられているとよい。この構成では、遠隔地のどのサーバに侵入すればよいのかが外部からも内部からも不案内であり得て、より安全なウォレット装置が提供される。マルチシグネチャを遠隔地に設けるコールドウォレットサーバ装置に跨がらせれば、ネットワークを跨ぐより組織的な内部犯罪グループを必要とし、内部統制上もより安全なウォレット装置が提供される。加えて、同じ鍵を遠隔におけば災害にも強く、アベイラビリティも向上され、この点でもより安全なウォレット装置が提供される。
 さらに、追加の態様で、未署名トランザクションが所定の要件をみたす時、前記署名リクエストに署名すべきユーザーへ署名を促すプロンプトを表示し、署名入力を可能とする操作パネル装置を備え、前記パネル装置は操作パネルサーバ装置を介して前記ホットウォレットサーバ装置に接続されているとよい。この構成では、ホットウォレットサーバの場合でも、例えば、所定の場合に、インターベンション可能であり、より安全なウォレット装置が提供される。
 さらに、追加の態様で、前段落のプロンプトは、前記未署名トランザクションに含まれる支払い承認総額が所定の閾値を超えるときに表示されるとよい。すべてのトランザクションでプロンプトを介在させると少額の取引に紛れてしまうが、この構成では、高額取引にフォーカス可能であって、より安全なウォレット装置が提供される。
 さらに、追加の態様で、複数のホットウォレットサーバ装置は、秘密鍵保管のための第3のデータストア構造のデータを入力するための秘密鍵マスターデータ入力手段を備え、少なくとも一部の秘密鍵のための情報を一群のホットウォレットサーバ装置に外部から入力し保管可能であり、前記トランザクションマネジャー装置は、前記未署名トランザクションが求める秘密鍵のうち前記少なくとも一部の秘密鍵に対応する署名リクエストを前記一群のホットウォレットサーバ装置のうちから任意のホットウォレットサーバ装置へ署名リクエスト可能であるとよい。この構成は、秘密鍵マスターデータを外部化、可搬とされることで運用の自由度を増し、どこにどの秘密鍵の情報があるのかが、外部にも内部にも不明とされ得て、ホットウォレットサーバ装置の使用態様の柔軟性は、より安全なウォレット装置の提供を可能とする。また、災害時の柔軟な再構成も可能となり、アベイラビリティの向上を通じ、より安全なウォレット装置が提供される。
 さらに、追加の態様で、秘密鍵保管のための第1~第3のデータストア構造は、前記秘密鍵がシードから生成され、再生可能である決定性ウォレットのための鍵シーケンス番号を含む一連のデータを含むとよい。この構成では、秘密鍵自体を保管する必要をなくし、直接の秘密鍵盗難又は漏洩の危険を排除し、より安全なウォレット装置が提供される。特に、内部犯行者対策に有効であり、より安全なウォレット装置が提供される。
 さらに、追加の態様で、前記第1、第2又は第4のデータストア構造には、前記未署名トランザクションの署名リクエストの生成のため、前記暗号通貨署名手段がこれに署名可能な前記秘密鍵を特定するための共通キーマスターデータをさらに含むとよい。共通キーによって、ウォレット装置内部での意味なし記号列で繋ぐことによって、複数のデータ構造を分離配置することが可能になり、より安全なウォレット装置が提供される。
 さらに、追加の態様で、トランザクションマネジャー装置は、前記共通キー及び共通キーに対応する1又は複数のシードを1つのグループとして、1又は複数の当該グループをマスターデータとして保持するとよい。決定性ウォレット、複数のシードがひとつの纏まりのあるグループが形成される。このようなグループは包括管理するのが適当であり、重要性の高いグループの重点管理も可能であり、マルチシグネチャの使用にもより好適であり、より安全なウォレット装置が提供される。
 さらに、追加の態様で、各装置は、仮想サーバ上に設けられているとよい。この構成では、個別のハードウェアをもつよりも安価で構成でき、かつ、1つのオペレーティングシステム上ですべての機能が構成されるよりも分離のレベルを上げられる、より安全なウォレット装置が経済的に提供される。
 さらに、追加の態様で、ホットウォレットサーバ装置の一部が1又は複数のクラウドコンピューテングサービス上の仮想サーバ上に設けられているとよい。この構成では、クラウドコンピューテングサービスの介在によって、ホットウォレットサーバ装置の一部が外部組織の管理にあって、内部犯罪者は単独で、すべての秘密鍵の入手が困難になり、より安全なウォレット装置が提供される。また、クラウドコンピューテングサービスの提供する高度で多様なネットワーク認証の介在によって、より安全なウォレット装置が提供される。
 CPU、メモリを備えるハードウェアを制御するオペレーティングシステム上で稼働するソフトウェアによって、決定性ウォレットとして秘密鍵を用い公開鍵を生成し、当該公開鍵からアドレスを生成しこれを取引に用いる公開鍵暗号方式による暗号通貨のためのウォレット装置の暗号通貨署名手段に用いられる秘密鍵署名方法であって、
 ユーザシステムからゲートウェイ通信手段によってアプリケーションプログラムインターフェース(Application Program Interface,API)を介して受入れた処理リクエストデータ項目を元に、決定性ウォレット方式で生成されたマルチシグネチャ用のアドレスの生成時に使用した1又は複数のシードに関連づけられた共通キーとアドレス生成の順序を示す鍵シーケンス番号と署名欄を含むデータストア構造体を含む未署名トランザクションを中央制御サーバ装置上で動作するオペレーティングシステム上で動作するソフトウェアによって組成し、第1の通信手段を介し前記中央制御サーバ装置からトランザクションマネジャー装置へ送信するステップS1と、このステップに引き続き、
 前記第1の通信手段を介して、前記トランザクションマネジャー装置上の前記オペレーティングシステム上で動作する前記ソフトウェアによって、前記未署名トランザションを受信し、これを前記メモリ上の未署名トランザションプールに保持するステップS2に引き続き、
前記トランザクションマネジャー装置上のオペレーティングシステム上で動作するソフトウェアによって、他装置からの署名リクエスト待ちの待ち状態となるステップS3と、このステップとパラレルに、
 第2の通信手段を介し、ホットウォレットサーバ装置及びコールドウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって、当該装置が保持する前記共通キーと共に署名リクエスト待ち状態を前記トランザクションマネジャー装置へ通知する、待ち通知ステップS4に引き続き、
 前記トランザクションマネジャー装置上のオペレーティングシステム上で動作するソフトウェアが前記通知を受信後、前記共通キーを含む未署名トランザクションを前記未署名トランザションプールから検索し、そのうちの1つを選択し、当該未署名トランザクションの署名リクエストのために前記第2の通信手段を介して前記待ち通知を送信した前記ホットウォレットサーバ装置又は前記コールドウォレットサーバ装置へ前記未署名トランザクションを送信するS5ステップと、これに引き続き、
 前記第2の通信手段を介して前記署名リクエストを受信した前記ホットウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって、前記共通キーに対応する秘密鍵を用い前記署名リクエストが署名され、当該署名を前記第2の通信手段を介して前記トランザクションマネジャー装置へ返信するステップS6と、これとパラレルに、
 前記第2の通信手段を介して前記署名リクエストを受信した前記コールドウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって、遠隔地で署名する署名装置のためのデータ伝搬手段を介して、可搬データが出力され、前記署名装置上のオペレーティングシステム上で動作するソフトウェアによって当該可搬データが読み込まれ、前記署名装置で前記可搬データに対応する秘密鍵によってなされた署名が前記データ伝搬手段を介して可搬データとして出力され、当該可搬データは前記コールドウォレットサーバ装置へ前記データ伝搬手段を介して読み込まれ、前記コールドウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって当該署名を前記第2の通信手段を介して前記トランザクションマネジャー装置へ転送するステップS7と、これに引き続いて、
 ステップS8では、前記トランザクションマネジャー装置上のオペレーティングシステム上で動作するソフトウェアが前記第2の通信手段を介して受信した署名を前記未署名トランザクションの署名欄に転記し、前記未署名トランザクションの署名完了に要するマルチシグネチャ署名数と署名完了数をチェックし、所定の署名承認条件が満たされたとき、前記署名済みトランザションは暗号通貨トランザクションへ変換出力され、他方、所定の署名承認条件が満たされない場合には、前記トランザクションマネジャー装置上のオペレーティングシステム上で動作するソフトウェアが他装置からの署名リクエスト待ちの待ち状態となるステップへ戻ることを特徴とする、請求項24に記載の前記ウォレット装置を用いる秘密鍵署名方法が方法の態様として提供されてよく、この態様によって、トランザクションマネジャ装置は、ホットウォレットサーバ装置もコールドウォレット装置も同等に扱え、スムースな署名フローによって、より安全なウォレット装置が提供される。
 さらに、追加の態様で、待ち通知ステップには、前記ホットウォレットサーバ装置又はコールドウォレットサーバ装置からのポーリングによる通信方法を含むとよい。ポーリングによって、より確実な通信セッションの維持が可能であり、特段のウォレット装置内での追加の制御を必要とせず、シンプルな制御構造は異常監視にも適し、より安全なウォレット装置が提供される。
 他の態様で、秘密鍵を用い公開鍵を生成し、当該公開鍵からアドレスを生成しこれを取引に用いる公開鍵暗号方式による暗号通貨のためのソフトウェアをCPU、メモリを備えるハードウェアを制御するオペレーティングシステム上で動作させる暗号通貨のためのウォレット装置であって、
 処理リクエストのアプリケーションプログラムインターフェース(APPLICATION PROGRAM INTERFAE,API)からのデータを受入れるためのAPIモジュールと、
 アドレスを特定し署名に使用する秘密鍵を指定するための第1のデータストア構造体データを読み込み、未署名トランザクション保持のための第2のデータストア構造体を含む未署名トランザクション組成のためのウォレット中央制御モジュールと、
 秘密鍵保管又は生成のための第3のデータストア構造体をメモリ上に含む暗号通貨署名のためのホットウォレットサーバモジュールと、
 署名を識別させる標識としての識別キーをメモリ上に格納するオフライン署名のためのコールドウォレットサーバモジュールと、
 前記秘密鍵保管又は生成のための前記第3のデータストア構造を秘密鍵特定のためモジュール間で共用可能である共通キーで構造化した第4のデータストア構造体を格納可能であり、かつ未署名トランザクションを保持するための前記第2のデータストア構造体を含む、署名のフロー制御をするためのトランザクションマネジャーモジュールと、
 前記入力データモジュールと外部インターフェースのための外部通信モジュールと、
 前記トランザクションマネジャーモジュールと前記ウォレット中央制御モジュール間の未署名トランザクション及び署名済みトランザクション送受信のための第1通信モジュールと、
 前記トランザクションマネジャーモジュールと前記ホットウォレットサーバモジュール又は前記コールドウォレットサーバモジュール間の署名リクエストの送信と署名受信のための第2通信モジュールと、
 オフライン署名のための署名装置への可搬データ出力及び署名の受入れのための署名リクエスト授受及び署名授受のためのデータ伝搬モジュールと、署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換モジュールと、
前記トランザクションマネジャーモジュールによって作成された署名を受入れて暗号通貨ネットワークへのブロードキャスト依頼データを作成し、これを出力するための出力モジュールとを、前記ソフトウェアは含み、
 秘密鍵保管又は生成のための第3のデータストア構造を有し、前記データ伝搬手段を備え、これを介して入力された署名リクエストのための暗号通貨署名手段を有する、インターネットからオフラインの暗号通貨署名装置をさらに含むウォレット装置が提供されるとよい。この構成は、複数のサーバ装置の機能を個別化し、機能構成の自由度を上げて、構成配置を容易にする効果も提供しつつ、モジュール間は通信モジュールを配置し、すべての機能を1つのモジュール上に実装する場合に比べ、より安全なウォレット装置が提供されている。
 さらに、追加の態様で、他の態様は、ウォレット中央制御モジュールと、前記トランザクションマネジャーモジュールとは同一オペレーティング・システム上でオペレーション動作されるてもよい。この構成は、最も構成にシステム資源を要せず、エントリレベルに適しているが、なお、モジュールの分離によって、より安全なウォレット装置が提供されている。
 さらに、追加の態様で、1又は複数の前記ホットウォレットサーバモジュールは、前記トランザクションマネジャーモジュールと同一のオペレーティング・システム上でオペレーション動作されるとよい。中央制御モジュールモジュールがオペレーション動作する第1のオペレーティング・システムとは別のオペレーティング・システム上でオペレーション動作され、秘密鍵が分離されており、中央制御モジュールからは、秘密鍵の利用が極めて困難であり、より安全なウォレット装置が提供される。
 さらに、追加の態様で、ホットウォレットサーバモジュールは、前記トランザクションマネジャーモジュールがオペレーション動作するオペレーティング・システムとは別の1又は複数のオペレーティング・システム上でオペレーション動作されるとよい。この構成では、ホットウォレットサーバモジュールは、中央制御モジュール及びトランザクションマネジャーモジュールがオペレーション動作する第1のオペレーティング・システムとは別のオペレーティング・システム上でオペレーション動作され、秘密鍵が分離されており、第1のオペレーティングシステム上の中央制御モジュールからもトランザクションマネジャーモジュールからも、秘密鍵の利用が困難であり、より安全なウォレット装置が提供される。
 さらに、追加の態様で、暗号通貨は仮想通貨であるとよい。仮想通貨はより高い安全性が事業上求められており、本発明により好適である。
 さらに、追加の態様で、暗号通貨はビットコインであるとよい。ビットコインは情報が開示されており、より安全性への要求が高く、当業者によれば高い安全性を提供し得る本発明により好適である。
 さらに、追加の署名方法の態様で、暗号通貨は仮想通貨であるとよい。仮想通貨はより高い安全性が事業上求められており、本方法の発明により好適である。
 さらに、追加の署名方法の態様で、暗号通貨はビットコインであるとよい。ビットコインは情報が開示されており、より安全性への要求が高く、当業者によれば高い安全性を提供し得る本方法の発明により好適である。
 さらに、追加の態様で、暗号通貨はビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含むメタコイン又はオルトコインであるとよい。いずれもブロックチェーンテクノロジの上で動作することが前提であり、当業者であれば、ビットコインと同様の効果を発揮でき、これらのより安全なウォレット装置が提供される。
 さらに、追加の署名方法の態様で、暗号通貨はビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含むメタコイン又はオルトコインであるとよい。。いずれもブロックチェーンテクノロジの上で動作することが前提であり、当業者であれば、ビットコインと同様の効果を発揮でき、これらのより安全なウォレット装置の署名方法が提供される。
 さらに、追加の態様で、処理リクエストデータは、リクエスターのサーバプログラムとのアプリケーションプログラムインターフェース(以下、APIという)で定められる、以下の、データ項目
1)1又は複数の支払元を特定するための共通キー
2)1又は複数の宛先アドレス
3)支払い金額
4)前記トランザクションの暗号通貨ネットワーク処理の手数料の負担先を前記出金口座負担又は共通キーで定められるアドレス又は宛先アドレスのいずれの負担とするかを定める手数料負担先コード
を含むとよい。この構成は、ユーザによって個性のあるリクエストデータをウォレット装置内で使用されるAPIデータ構造APIへ変換させ、内部処理に適合する形式へ変換し、ウォレット装置内の各部のユーザ毎のカスタマイズによる変動を最小限に抑える効果を与え、各導入先での問題トラブルの共通化を図ることができ、対応策の共有によって、より安全なウォレット装置が提供される。
 さらに、追加の態様で、前記未署名トランザション保持のための前記第2データストア構造及びその構造体には、
トランザクションインプットデータ項目として、以下のビットコイントランザクション標準のデータ項目である、以下の1)からの3)をひと組とする1又は複数の標準トランザクションインプットデータ項目として、未使用トランザクションアウトプット(Unspent Transaction Output、UTXO)を特定し、直前のトランザションを特定するためのビットコインアーキテクチャで定められているデータ構造である、
 1) Prevハッシュと、
 2) Prevアウトプットインデックスと、
に加えて、以下の3)からの4)をひと組とする1又は複数の標準トランザクションアウトプット項目としての、
 3) 宛先アドレスと、
 4) 金額と、
を含み、さらに、前記トランザクションインプット毎に、以下の拡張トランザクションインプット構成項目として、
 5)前記第1データストア構造データに対応する公開鍵を特定するための共通キーと、
 6)決定性ウォレットの生成に使用された鍵シーケンス番号と、これに加えて、
 7)署名を格納するための署名欄とを、
加えて、追加の拡張トランザクション項目として
 8)署名待ち又は署名済み又は送付済みの識別子を格納するためのトランザクションステータスコード
をさらに含むとよい。内部形式の拡張項目を拡張トランザクションとしてまとまって定義することで、秘密鍵情報の所在を構成機能間で分離配置可能とし、情報の構造化によって、より安全なウォレット装置が提供される。
 さらに、追加の態様で、秘密鍵生成のための第3のデータストア構造及びその構造体には、以下の1)から2)のデータ項目
 1)決定性ウォレットの生成に使用された秘密鍵シードと、
 2)決定性ウォレットの生成に使用された鍵シーケンス番号と、
を含むとよい。この構成で、特に決定性ウォレットで秘密鍵を装置内で署名時に動的に生成可能であり、より安全なウォレット装置が提供される。
 さらに、追加の態様で、 前記秘密鍵特定のための第4のデータストア構造及びその構造体には、以下の、
1)前記第3データストア構造データの秘密鍵を特定するための共通キーと、この1つについて、
2)1又はマルチシグネチャ署名に対応する数の決定性ウォレットの生成に使用された公開鍵シードと、
3)決定性ウォレットの生成に使用された鍵シーケンス番号と、
を保持するとよい。公開鍵も秘密鍵と同様に、動的に生成可能であり、秘密鍵の管理と共通化され、両者がより整合性のある安全なウォレット装置が提供される。
 以上に示されるように、本発明に係るウォレット装置は、内部犯罪に対しても、外部からのネットワーク侵入に対しても、より安全なウォレット装置を提供し、スケーラビリティがあるシステム装置が提供され、アベイラビリティも向上され、その点からもより安全なウォレット装置が提供される。
図1は、本発明の一実施形態に係るウォレット装置1を示す概要構成概念図である。
図2は、本発明に係る一実施形態に係るウォレット装置1の機能構成を概ね示す全体機能ブロック構成図である。
図3は、本発明に係る一実施形態に係るウォレット装置を構成するソフトウェアのAPIモジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねた模式図である。
図4は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのウォレット中央制御モジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図5は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのトランザクションマネジャモジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図6は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのホットウォレットサーバモジュール、操作パネル表示モジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図7は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのコールドウォレットサーバモジュール、遠隔操作モジュール及び遠隔署名モジュルの機能ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図8は、本発明のいくつかの実施形態に係るウォレット装置を構成するソフトウェアのノードマネジャモジュールの機能構成ブロックにブロック間の連関を示すフローチャートを重ねて描いた模式図である。
図9は、他の実施形態である本発明に係るウォレット装置2を構成するハードウェア、オペレーティングシステムとソフトウェアの各々のモジュールとの関係を示す構成概要図である。
図10は、他の代替実施形態である本発明に係るウォレット装置3を構成するハードウェア、オペレーティングシステムとソフトウェアの各々のモジュールとの関係を示す構成概要図である。
図11は、他の代替実施形態である本発明に係るウォレット装置4を構成するハードウェア、オペレーティングシステムとソフトウェアの各々のモジュールとの関係を示す構成概要図である。
図12は、本発明の一実施形態に係るウォレット装置1を構成するハードウェア、オペレーティングシステムとソフトウェアの各々のモジュールとの関係を示す構成概要図である。
図13は、本発明のいくつかの実施形態に係るウォレット装置の構成要素であるホットウォレット装置、コールドウォレット装置の複数配置する構成を示す、アーキテクチャ概要構成概念図である。
図14は、本発明のいくつかの実施形態に係るウォレット装置で用いる署名方法のフローチャート図である。
図15は、従来技術として示す、仮想通貨の代表的ビットコインのビットコインネットワークを示すアーキテクチャ概念図である。
 本発明に係るウォレット装置1の一実施態様は以下である。図1に示されるように、ウォレット装置1は、外部からの取引リクエストデータを受け入れる中央制御サーバ装置100、トランザクションマネジャ装置200、ホットウォレットサーバ装置300、コールドウォレットサーバ装置400、署名装置450を含み、トランザクションマネジャ装置200は、インターネット上のビットコインネットワークへ適合するデータを作成し、出力する手段を有するウォレット装置である。
 より詳細には、本発明に係るウォレット装置1の実施態様を以下である。図2に示されるように、ウォレット装置1は、外部からの取引リクエストデータを受け入れる中央制御サーバ装置100、トランザクションマネジャ装置200、ホットウォレットサーバ装置300、コールドウォレットサーバ装置400、署名装置450に加え、ビットコインネットワークの構成メンバーである複数のノード装置600及びこれとトランザクションマネジャ装置200との中間にあって、ノード装置600を介してインターネット上のビットコインネットワークへブロードキャストするノードマネジャ装置500を含む。
 図2に示されるように、ウォレット装置1の中央制御サーバ装置100は、ユーザリクエストを受け取り、トランザクションの原型を生成し、未署名のトランザクションとしてこれをトランザクションマネジャ装置200へ送信する装置である。 トランザクションマネジャ装置200は、未署名のトランザクションを受取るための通信手段を有し、ホットウォレットサーバ装置300あるいはコールドウォレットサーバ装置400へ署名リクエストを送信可能であり、署名を受領後、トランザクションに必要とされる署名条件を満たすか否かを検査する手段を有し、拡張トランザクションをデータ変換し、ビットコイントランザクションを生成し、ノードマネジャ装置500へこれを送信可能である装置である。
 ホットウォレットサーバ装置300は、オンライン上装置内で署名する手段を備え、オンラインで直ちにトランザクションマネジャ装置200へ署名を返信する手段を有する装置である。オプションとして操作パネル装置339を備え、操作表示サーバ装置330を介して操作パネル装置339へ署名承認を促すプロンプトを表示可能であり、承認者によって署名指示入力可能である。
 コールドウォレットサーバ装置400は、遠隔にある署名装置450へ向けて署名リクエストを媒体出力するデータ伝搬手段を有し、これには、例えば印刷機で印刷する手段を含み、一方で、遠隔にある署名装置450から署名が記入された別の媒体を受取るデータ伝搬手段を有し、これは例えばスキャナーで読取る手段であるスキャナー装置を含み、トランザクションマネジャ装置200へ署名を転送する通信手段を有する装置である。コールドウォレットサーバ装置400は、操作オペレータとのコミュニケーションのための操作パネル装置339を備え、オプションとして操作表示サーバ装置330を介し、操作パネル装置339へデータ伝搬媒体処理を促すプロンプトを表示可能であり、操作者によってデータ伝搬入出力可能である。
 遠隔署名装置450は、コールドウォレットサーバ装置400の遠隔にあって、媒体から署名リクエストを受取るためのデータ伝搬手段を有し、装置内部に署名手段を含み、コールドウォレットサーバ装置400へ向けて署名を媒体出力するデータ伝搬手段も含む。遠隔署名装置450は操作パネル装置339を備え、操作パネル装置339へデータ伝搬媒体処理を促すプロンプトを表示可能であり、操作者によってデータ伝搬入出力可能であり、署名可能である。以下、各装置の詳細を説明する。
 中央制御サーバ装置100は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、第1通信部101、アプリケーションプログラムインターフェース(以下でAPIという)部110、中央制御部120、を含み、これらの一部分はソフトウェアの部分でもよい。
 中央制御サーバ装置100は、ユーザからトランザクション処理リクエストをゲートウェイ通信手段によって受け取り、API部110によってユーザ形式のリクエストデータをウォレット装置1内で処理するためのデータ形式、すなわち、以下の、データ項目
 1)1又は複数の支払元を特定するための共通キー
 2)1又は複数の宛先アドレス
 3)支払い金額
を含むデータへ変換し、メモリ上のAPIデータ構造体APIに保持する。共通キーは、ウォレット装置1内でアドレスを同定し、アドレスに紐付けられている署名方式を特定するためのキーである。図2に示す一実施形態のAPIデータ構造体例では、1つの支払元を特定するための共通キーが一つ図示されている。アドレスは、ビットコインネットワークのアドレスであって、秘密鍵から公開鍵を介し生成された、ビットコインネットワーク上に公開される表示通貨額の所有者を特定する英数文字列である。一方、宛先アドレスは、ビットコインネットワーク上の支払先を特定するアドレスである。
 オプションとして、データ項目に以下の
 4)手数料負担先パターンコード
をAPIデータ構造APIに含んでもよい。これは、ビットコイントランザクションのビットコインネットワーク上のマイナーへのマイニング処理の手数料の負担先を、支払元か支払先かいずれかの負担とするかをトランザクション単位に動的に定め得る情報としてリクエストに含まれる場合に、支払元のアドレス又は宛先アドレスのいずれの負担とするかを定めるデータ項目である。このコードを含めることによって、手数料によって支払額を変動させる場合に、人を介在させる必要がなくなるという利点が得られる。加えて、API部110は、ユーザによって個性のあるリクエストデータをウォレット装置1内で使用されるAPIデータ構造APIへ変換させ、内部処理に適合する形式へ変換し、ウォレット装置1内の各部のユーザ毎のカスタマイズによる変動を最小限に抑える効果を与えている。図2に示す一実施形態では、API部はウォレット中央制御装置に組み込まれている。代替として、API部は、アプリケーションゲートウェイ機能を提供するが、ネットワークゲートウェイサーバに組み込まれてもよい。
 API部110での処理を終えると、メモリ上のAPIデータ構造APIに保管されたAPIデータ構造体APIからリクエスト毎にリクエストデータのコピーが中央制御部120へ伝送される。
 中央制御部120は、API部110から通信部を介して、又はアプリケーション間通信を介して受領したAPIデータに基づき、ビットコイントランザクションに拡張データが付加されたウォレット装置1内部形式のトランザクション(以下で拡張トランザクションeTXという)を生成する。
 拡張トランザクション生成は、API構造体APIに含まれている共通キーと、共通キーによって構造化されたデータストア構造をとり、アドレスに関するデータを保持するための第1データストア構造D1を格納したアドレスマスターM1参照によって構成可能とされている。すなわち、ウォレット装置1内では、内部形式としてアドレスは共通キーという別のデータに置き換え可能であり、アドレス情報の露出機会を抑え、安全性の向上を得る利点を提供している。
 中央制御サーバ装置100では、少なくとも第1データストア構造D1を保持するアドレスマスタを参照し、アドレスを同定する。メモリ上に保持される第1データストア構造体は、以下の構成を含む。すなわち、
 1)アドレスに対応する共通キー
 2)鍵シーケンス番号
 3)アドレス
である。ここで、本発明に係るウォレット装置1では、秘密鍵は、決定性ウォレット方式によって生成された秘密鍵を使用する。決定性ウォレット方式で秘密鍵が生成されていれば、秘密鍵を保管せずとも、決定性ウォレットの生成に使用されたシード及び鍵シーケンス番号を使用すれば、秘密鍵の再生成が可能であるという利点がある。
 第1データストア構造に秘密鍵の再生成に必要な情報が全て含まれず、シード情報は他のデータストア構造に分散配置されていることによって、侵入者による意に反する秘密鍵の再生成のリスクを低減し、安全性をより向上している。
 第1データストア構造体の構成に含まれる共通キーは、ウォレット装置1内で同一のアドレスに関連するデータであることを示す意味での共通キーであり、共通キーによって、ウォレット装置1を実現する各部を複数の部分に分散配置可能とされている。分散配置は、以降の実施形態で示されるように、様々な手段によって実現可能であり、ソフトウェアのモジュール構成によって実現されたり、さらに、ソフトウェアのモジュール構成は別のサーバ装置に分散配置されたり、の類である。
 拡張トランザクションは、以下の構成を含む。すなわち、これから署名を受ける未署名トランザションとして、これを保持するための第2データストア構造及びその構造体が定められ、ビットコイントランザクションを構成するトランザクションインプットデータ項目、トランザクションアウトプットデータ項目に加え、拡張データ構造が定められている。
トランザクションインプットデータ項目として、ビットコイントランザクション標準のデータ項目である、以下の1)からの3)をひと組とする1又は複数のビットコイントランザクションの標準的トランザクションインプットデータ項目、
 1) 支払元アドレスと、
 2) Prevハッシュと、
 3) Prevアウトプットインデックスと、
また、以下の4)からの5)をひと組とする1又は複数のビットコインの標準的なトランザクションアウトプット項目として、
 4) 宛先アドレスと、
 5) 金額と、
を含む。これらのデータのうち1)、4)、5)は、APIデータ構造体APIからデータが提供され、2)、3)は1)から生成可能なデータである。さらに、標準的なトランザクションインプット毎に、以下の拡張トランザクションインプット構成項目である、
 6)前記第2データストア構造データに対応する秘密鍵を特定するための共通キーと、
 7)決定性ウォレットの生成に使用された鍵シーケンス番号、
の二つの項目が定義されている。6)、7)は、例えば、アドレスマスタM1に格納されている第1データストア構造体D1からデータ提供される。また、加えて、
 8)署名を格納するための1又は複数の署名欄を、
トランザクションインプット毎に定めている。署名欄の数は、署名の最大数を定めておけばよい。
加えて、トランザクション単位に一つ、追加の拡張トランザクションeTXの拡張項目として
 9)トランザクションステータスの識別子を格納するためのトランザクションステータスコードをさらに含む。トランザクションステータスは、署名待ち又は署名済み又は送付済みの少なくとも3つを含むべきである。
 拡張トランザクションeTXの拡張項目が含まれることによって、トランザクション生成と署名処理の分離を可能とし、分散化によって安全性を向上している。加えて、マルチシグネチャの場合でも複数の署名を一括記録する格納場所をトランザクションに追加定義することによって署名がトランザクションに集約され、各署名が分散処理されるマルチシグネチャ管理でも人の介在を不要とする効果を与える。
 トランザクションインプットの生成にあたり、支払額に応じ、未使用トランザクションアウトプット(Unspent Transaction Output、以下では単にUTXOと呼称する)のうち、使用可能なUTXOがUTXOプールから選択されるのは、公知のウォレット装置1の仕組みと同様であり、そのような手段は当然に本ウォレット装置1も提供している。図2には、UTXOプールのみ図示されている。
 拡張トランザクションeTXが生成されると、直ちに第1通信部からトランザクションマネジャ装置200へ送信可能となる。中央制御サーバ装置100とトランザクションマネジャ装置200との間のサーバ装置間通信認証には、公知のメッセージ認証方式例えば、HASH−BASED MASSAGE AUTHENTICATIOPN
MESSAGE,HMAC方式を用いるメッセージ認証方式によって、
予め定められているニーモニックを秘密鍵とする暗号化通信を可能とする第1通信部によってなされてよいが、これに限らず、この類の公知のサーバ間通信認証が用いられてよい。サーバ間認証の実装によって、より確実に安全性が向上される利点を得られる。特に、たとえ中央制御サーバ装置100がインターネットへの接続パスを有しても、署名装置に署名リクエストするトランザクションマネジャ装置200は直接のインターネット接続パスを有さず、本サーバ間認証を介する接続は実質上外部からの侵入を防止可能な安全性を提供する効果を与える。
 トランザクションマネジャ装置200は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、第1通信部、第2通信部、第3通信部、トランザクションマネジャ部210、データ変換部240とデータ出力部241を含み、これらの一部分はソフトウェアの部分でもよい。
 トランザクションマネジャ装置200は、第1通信部を介して拡張トランザクションを受信可能である。ウォレット中央制御サーバ装置からサーバ装置間通信認証を介して1又は複数の未署名の拡張トランザクションインプットのセット及び拡張トランザクションアウトプットのセットを含む未署名トランザクションは、拡張トランザクションデータ構造を有し、受信されたデータは、トランザクションマネジャ部へ転送可能であり、直ちにも第2データストア構造を含む拡張トランザクションプールへ保持可能である。トランザクションに必要とされる署名に必要とされる共通キーも拡張トランザクションインプットにセットで受信され、拡張トランザクションプールへ保持可能である。
 署名方式がマルチシグネチャーの場合には、署名完成には、一つの共通キーの下に複数のシードがサブセットとして必要とされるが、この情報は、共通キーマスタに保持されている第4データストア構造D4に含まれている。トランザクションマネジャ部は、共通キーマスタを読み取り可能であり、読み取り後にメモリ上の第4データストア構造体D4へ格納可能である。署名方式がマルチシグネチャーの場合、署名数がトランザクションマネジャ装置200で判明しており、拡張トランザクションの署名欄の所定の使用予定数を決定可能である。拡張トランザクションの署名ステータスは、トランザクションマネジャ部210によって更新可能である。
 トランザクションマネジャ装置200は、第2通信部によってオンライン署名装置としてのホットウォレットサーバ装置300と通信可能である。トランザクションマネジャー部210は、署名リスクエスト待ちのポーリングを第2通信部を介して受入可能である。トランザクションマネジャ部210は、ホットウォレットサーバ装置300から署名リスクエスト待ちのポーリングと同時に、又はこれに遅れて、未署名トランザクション選択のための共通キーを受信可能である。トランザクションマネジャ部210は、拡張トランザクションプールから拡張トランザクションをメモリ上の第4データストア構造D4へ読み取り可能であり、第4データストア構造D4の共通キー項目とポーリングに含まれる共通キーとをマッチング可能である。そして、トランザクションマネジャ部210は、拡張トランザクションのうち未署名トランザクションの拡張トランザクションインプットに含まれる共通キーと、署名リスクエスト待ちのポーリングで指定された共通キーとが一致する未署名リクエストを選択可能であり、メモリ上の第4データストア構造D4の拡張トランザクションステータスをUNSIGNEDのステータスへ変更し、未署名リクエストを第2通信部を介してホットウォレットサーバ装置300へ送信可能である。ここで、トランザクションマネジャー部210は、メモリ上の第4データストア構造D4の拡張トランザクションステータスのUNSIGNEDのステータスへ変更と同期して、拡張トランザクションプール上の拡張トランザクション格納データの拡張トランザクションステータスをUNSIGNEDのステータスへ変更可能である。
 トランザクションマネジャ装置200は、第2通信部によってオフライン署名装置を人の操作介在によって制御可能であるコールドウォレットサーバ装置400と通信可能である。トランザクションマネジャ装置200のトランザクションマネジャー部は、署名リスクエスト待ちのポーリングを第2通信部を介して受入可能である。トランザクションマネジャ部210は、コールドウォレットサーバ装置400から署名リスクエスト待ちのポーリングと同時に、又はこれに遅れて、未署名トランザクション選択のための共通キーを受信可能である。トランザクションマネジャ部210は、拡張トランザクションプールから拡張トランザクションをメモリ上の第4データストア構造D4へ読み取り可能であり、第4データストア構造D4の共通キー項目とポーリングに含まれる共通キーとをマッチング可能である。そして、トランザクションマネジャ部は、拡張トランザクションのうち未署名トランザクションの拡張トランザクションインプットに含まれる共通キーと、署名リスクエスト待ちのポーリングで指定された共通キーとが一致する未署名リクエストを選択可能であり、トランザクションマネジャー部210は、メモリ上の第4データストア構造D4の拡張トランザクションステータスをUNSIGNEDのステータスへ変更し、未署名リクエストを第2通信部を介してコールドウォレットサーバ装置400へ送信可能である。ここで、トランザクションマネジャ部は、メモリ上の第4データストア構造D4の拡張トランザクションステータスのUNSIGNEDのステータスへ変更と同期して、拡張トランザクションプール上の拡張トランザクション格納データの拡張トランザクションステータスをUNSIGNEDのステータスへ変更可能である。以上のように、トランザクションマネジャ部210は、ホットウォレットサーバ装置300とコールドウォレットサーバ装置400とを区別なく扱うことが可能であり、署名処理装置構成の自由な配置を可能とする構成柔軟性を与えている。ホットウォレットサーバ装置300とコールドウォレットサーバ装置400の差異部分は、ホットウォレットサーバ装置300及びコールドウォレットサーバ装置400での差異機能として構成されているからである。これによって、トランザクションマネジャ部210の署名フロー制御機能は簡素化され、トランザクションマネジャ部210の処理能力向上に寄与し、より短時間でのポーリング応答も可能とされる。
 トランザクションマネジャ部210は、署名を受信後に拡張トランザクションインプット項目の署名欄の署名の存在をチェック可能であり、所定の署名完成条件が満たされているか否かを判定可能である。さらに、トランザクションに含まれる拡張トランザクションインプット項目のすべての署名完成条件が満たされているとき、拡張トランザクション項目である署名ステータスを全ての署名に対して署名済とされるSIGNEDステータスへ更新可能であり、拡張トランザクションプール上の拡張トランザクション格納データの拡張トランザクションステータスもSIGNEDのステータスへ変更可能である。
 データ変換部240は、SIGNEDステータスの拡張トランザクションeTXを標準的なビットコイントランザクションTXへデータ変換可能である。
 データ出力部241は、ビットコイントランザクションTXデータをトランザクションブロードキャストリクエストとして、第3通信部によって、サーバ間通信認証を介してノードマネジャ装置500へ送信可能である。サーバ間通信認証は、第1通信部と同様、公知のメッセージ認証方式例えば、HASH−BASED MASSAGE AUTHENTICATIOPN MESSAGE,HMAC方式を用いるメッセージ認証方式によって、
予め定められているニーモニックを秘密鍵とする暗号化通信を可能とする第3通信部によってなされてよいが、これに限らず、この類の公知のサーバ間通信認証が用いられてよい。
 署名完了後のデータ変換部240の処理、データ出力部241の処理フローの制御は、トランザクションマネジャ部210によって制御可能とされてもよく、トランザクションマネジャ部210は、データ出力部241の処理後に拡張トランザクションプール上の拡張トランザクション格納データの拡張トランザクションステータスをSENTのステータスへ変更可能である。オプションとして、データ変換部240及びデータ出力部241は、図3に示されているように、トランザクションマネジャ部内部に取り込まれてよい。
 ホットウォレットサーバ装置300は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、第2通信部、ホットウォレットサーバ部を含み、これらの一部分はソフトウェアの部分でもよい。
 ホットウォレットサーバ装置300は、オンライン署名装置として、トランザクションマネジャ装置200へ第2通信部を介して署名リクエストを受け入れ可能であることを通知可能であり、ポーリング通信可能である。
 トランザクションマネジャ装置200から、ポーリングに対する応答として、又はこれに遅れて、ホットウォレットサーバ装置300は、トランザクションマネジャ装置200から第2通信部を介して署名リスクエストを受信可能である。署名リクエストには、未署名トランザクションを含み、ホットウォレットサーバ部は、その時点で自己に割り当てられている情報と未署名トランザクションに含まれている情報によって、決定性ウォレットの秘密鍵再生成方法に従い署名に必要な秘密鍵を再生成可能であってよい。あるいは、オプションとして、秘密鍵自体を秘密鍵マスタM3に含み、これを読み込み可能でもよい。自己に割り当てられている情報は、マスタから秘密鍵シードを読み込んでもよく、この情報と未署名トランザクションのトランザクションインプット項目の拡張部分の鍵シーケンス番号とから第3データストア構造体D3をメモリ上に格納可能であり、これから秘密鍵を再生成可能であってもよい。
 ホットウォレットサーバ部は、秘密鍵によって未署名トランザクションを元に署名可能である。署名生成は、拡張トランザクション構造のうち、標準的なビットコイントランザクション構造を用い、ビットコインアーキテクチャーで定められている当業者に公知の技術よってハッシュ値を算出し、それを当業者公知のデジタル署名アルゴリズムECDSAを用いて電子署名を算出する手段による。ホットウォレットサーバ部は、第2通信部を介して、署名をトランザクションマネジャ装置200へ送信可能である。
 ホットウォレットサーバ部は、ホットウォレットサーバ装置300に接続された操作パネルサーバ装置と通信可能であり、操作パネルサーバ装置に接続された操作パネルに操作指示画面を表示可能であり、操作パネルから署名承認を入力可能である。例えば、トランザクションインプットに含まれる金額が所定の額よりも少額か否かの画面入力を促すために操作パネルサーバ装置を介して操作パネルへプロンプト表示可能であり、承認者によって署名承認入力可能である。オンラインで承認者によって署名承認入力されると、ホットウォレットサーバ部は直ちに署名を作成可能であり、直ちに署名をトランザクションマネジャ装置200へ第2通信部を介して送信可能である。操作パネルサーバ装置と操作パネルとの間は、SSL(Secure Sockets Layer)通信による認証手段が双方に備えられていてもよい。
 コールドウォレットサーバ装置400は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、第2通信部、コールドウォレットサーバ部、データ伝搬部を含み、これらの一部分はソフトウェアの部分でもよい。
 コールドウォレットサーバ装置400は、オフライン署名装置として、トランザクションマネジャ装置200へ第2通信部を介して署名リクエストを受け入れ可能であることを通知可能であり、ポーリング通信可能である。
 ポーリングの応答によって、又はこれに遅れて、コールドウォレットサーバ装置400は、トランザクションマネジャ装置200から第2通信部を介して署名リスクエストを受信可能である。署名リクエストには、未署名トランザクションを含む。
 コールドウォレットサーバ装置400は、IO接続された可搬データ出力装置、例えば、QRコード印刷出力装置に対して、データ伝搬部を介して印刷データを出力可能である。
 コールドウォレットサーバ部は、コールドウォレットサーバ装置400に接続された操作パネルサーバ装置と通信可能であり、操作パネルサーバ装置に接続された操作パネルに、可搬データ出力としての印刷操作指示画面を表示可能であり、操作員によって操作パネルから署名指示レポート印刷指示を入力可能である。署名指示レポートには、QRコードが印刷されてもよい。操作パネルサーバ装置と操作パネルとの間は、SSLによる認証手段が双方に備えられていてもよい。
 コールドウォレットサーバ装置400は、IO接続された可搬データ読み取り装置、例えば、QRコード印刷紙をスキャナ装置によってデジタルデータとし、IOインターフェースから、データ伝搬部を介し署名として取り込み可能である。入力されたデータは、署名データとして、コールドウォレットサーバ部は、第2通信部を介して、トランザクションマネジャ装置200へ送信可能である。
 コールドウォレットサーバ装置400は、ホットウォレットサーバ装置300とは異なる遠隔に置かれてもよい。ここでいう遠隔とは、ホットウォレットサーバ装置300に対して遠隔地あるいはトランザクションマネジャ装置200に対して遠隔地であればよく、コールドウォレットサーバ装置400の特性として、人のコントロールする環境下でより安全である環境下にあることをいい、同じフロアの別区画でも、フロアを異にしても、別建屋にあってもよい。
 コールドウォレットサーバ装置400は、ホットウォレットサーバ装置300とは異なる遠隔に置かれてもよい。署名者中心に設置できるという利点が得られる。
 コールドウォレットサーバ装置400は、複数置かれ、うち一つは、遠距離に置かれてもよく、東京に対する大阪の類である。災害時のリカバリーが保全可能であるという利点がある。
 遠隔署名装置450は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、遠隔署名部、データ伝搬部を含み、これらの一部分はソフトウェアの部分でもよい。
 遠隔署名装置450は、コールドウォレットサーバ装置400から遠隔にあって、外部とはネットワーク接続されていない環境下に置かれ、コールドウォレットサーバ装置400から出力された署名指示を含む可搬データをデータ伝搬部を介し取り込み可能であればよい。
 遠隔署名装置450は、遠隔署名装置450に接続された操作パネルとIO入出力可能であり、遠隔署名装置450に接続された操作パネルに、可搬データ入力としての読み込み操作指示画面を表示可能であり、操作員によって操作パネルから署名指示を入力可能である。遠隔署名装置450は、操作パネルからの署名指示によって、署名を生成可能である。遠隔署名装置450が取り込む可搬データには、未署名トランザクションを含み、遠隔署名装置450は、その時点の自己に割り当てられている情報と未署名トランザクションに含まれている情報によって、決定性ウォレットの秘密鍵再生成方法に従い署名に必要な秘密鍵を再生成可能であってよい。あるいは、オプションとして、秘密鍵自体を秘密鍵マスタに含み、これを読み込み可能でもよい。自己に割り当てられている情報は、マスタから秘密鍵シードを読み込んでもよく、この情報と署名リクエストに含まれる未署名トランザクションのトランザクションインプット項目の拡張部分の鍵シーケンス番号とから第3データストア構造体D3をメモリ上に格納可能であり、これから秘密鍵を再生成可能であってもよい。上記、いずれかの手段によって、遠隔署名装置450は、秘密鍵によって未署名トランザクションに署名可能である。署名生成は、拡張トランザクション構造のうち、標準的なビットコイントランザクション構造を用い、ビットコインアーキテクチャーで定められている当業者に公知の技術よってハッシュ値を算出し、それを当業者公知のデジタル署名アルゴリズムECDSAを用いて電子署名を算出する手段による。上記、いずれかの手段によって、遠隔署名装置450は、秘密鍵によって未署名トランザクションに署名可能である。遠隔署名装置部450は、遠隔署名装置450に接続された操作パネルに、可搬データ出力としての印刷操作指示画面を表示可能であり、操作員によって操作パネルから署名印刷指示を入力可能である。入力された指示によって署名をIO接続された可搬データ出力装置、例えば、QRコード印刷出力装置に対して、データ伝搬部を介し印刷紙が出力可能であってよい。
 次に、本実施形態に係るウォレット装置1の動作を各装置上のオペレーティングシステム上で図3から図8のフローチャートに示されるソフトウェアの動作とともに説明する。図14は、このうち本発明のいくつかの実施形態に係るウォレット装置で用いる署名方法のフローチャート図を示すが、この説明は対応する図4から図8のとおりである。
 図1に示されている中央制御サーバ装置の各部は、CPU、メモリを備えるハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって動作可能である。
 API部は、中央制御サーバ装置に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、API部110は、APIモジュール110である。APIモジュール110は、図3に示されるフローチャートに従って動作する。APIモジュールは、ユーザフォーマットのインターフェースデータを中央制御モジュール内で使用する内部データフォーマットへ変換するモジュールである。オプションとしてAPI部は、中央制御サーバ装置とユーザシステムとの間に設置されたゲートウェイサーバ装置に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、その場合には、API部はゲートウェイサーバ装置の一部である通信部を介して中央制御サーバ装置に通信接続可能である。
 APIモジュールが開始されると、最初のリクエスト待ちステップ111に入り、例えば、仮想通貨取引事業者が管理する外部システムから取引に関するリクエストデータを受け取るためのリクエスト待ちステップ111となる。外部システムから取引に関するリクエストデータを、例えば、ネットワークを介して受信すると、リクエスト受信ステップ112でリクエストをリクエストプールに格納し、再びリクエスト待ちステップ111へ戻る。
 APIモジュールは、リクエスト待ちステップ111に並行して、リクエストプールを参照し、レコードが存在すれば、これをAPIデータストア構造へ格納するAPIデータストアステップ113に入る。次に、直ちに、APIデータを中央制御モジュールへ転送するAPI処理転送ステップにおいて、ユーザ仕様のデータフォーマットからウォレット装置1内部形式のデータフォーマットへデータ変換された後に中央制御モジュールへ転送され、その次に、APIデータストアステップ113へ戻って以降、処理を繰り返す。
 APIデータストア構造は、図3に示されているデータストア構造であり、5つの項目から構成される。支払口座に相当する共通キー、その支払口座に対応する出金金額を、共通キーと出金金額を組みとして、少なくとも1組、入金先アドレスとして宛先アドレス、その支入金口座に対応する入金金額を、宛先アドレスと入金金額とを組みとして、少なくとも1組、そして、APIデータストア構造のルート直下にあるトランザクションの手数料負担をいずれの当事者の負担とするを定める手数料負担先コードである。いずれも、リクエストデータに含まれている。
 中央制御部120は、中央制御サーバ装置に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、中央制御部120は、中央制御モジュール120を含む。
 中央制御モジュール120は、図4に示されるフローチャートに従って動作する。中央制御モジュール120は、署名処理に関しては、ユーザからのリクエストデータをウォレット装置1内の内部フォーマットでビットコイントランザクションを格納し、未署名トランザクションデータとしてトランザクションマネジャモジュールへ渡すモジュールである。
 中央制御モジュール120は開始後、直ちに、APIデータ受け入れ待ちステップ122へ入る。APIモジュールからリクエストデータを、APIデータストア構造体で、モジュール間通信、例えば、プロセス間通信手段を介して受け取ると、未署名トランザクション生成を開始する。次のアドレス参照ステップ122では、APIデータの共通キー項目を参照し、以後共通キーとして使用する。次のUTXO選択ステップ123では、共通キーに一致するUTXOがUTXOプール内で検索され、所定の検索順序のもとで支払額を超えるだけの1又は複数のUTXOが集められる。次に、インプット・アウトプット仮決定ステップ124では、トランザクションインプットに使用されるUTXOとユーザからリクエストデータで指示された支払内容から、トランザクションアウトプットで作成されるUTXOが一応出揃い、必要なお釣りとしてのトランザクションアウトプットも生成される。次に、手数料決定ステップ125では、手数料負担先コードを参照し、支払先か支払元かによって、手数料のUTXOを追加作成する。次に、インプット・アウトプット決定ステップ126では、トランザクションインプット項目、インプット・アウトプット項目及び差額としてのマイニング手数料をチェックし、各項目を確定する。必要に応じ、UTXOを追加する。次に、拡張トランザクション送信ステップ127では、第2データストア構造を参照し、この項目にトランザクションインプット項目、トランザクションアウトプット項目を当てはめる。
 第2データストア構造は、署名に関する拡張項目以外の項目はAPIデータストア構造体に必要なUTXOから生成可能である生成される一般的なビットコイントランザクション項目と、本発明で付加された拡張項目とで構成される。前者は、公知技術と同一である。一方、拡張データ項目の要素である、共通キーは、検索の結果採用されたUTXOを特定するための情報であり、ウォレット装置1の内部表現情報である。鍵シーケンス番号は現時点で有効なこのUTXOの使用を承認するための署名に必要な秘密鍵に対応する公開鍵を生成するためのシーケンス番号である。第1データストア構造のデータを格納されたアドレスマスターを参照し、拡張データ構造が構成される。署名欄は、必要とされる署名数の最大数を総枠として確保しておいてよい。署名に必要とされる完全情報は、トランザクションマネジャモジュールで満たされ、この時点では完成せず、従って、外部からの侵入に対してより安全である。
 第2データストア構造を元に拡張トランザクションeTxが構成されると、次に拡張トランザクション送信ステップ127へ制御が移り、拡張トランザクションが第1通信部を介して送信される。処理は、APIデータ受け入れ待ちステップ122へ戻され、以上の処理がループ処理される。
 トランザクションマネジャ部は、トランザクションマネジャ装置200に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、トランザクションマネジャ部210は、トランザクションマネジャモジュール210を含む。
 トランザクションマネジャモジュール210は、図5に示されるフローチャートに従って動作する。トランザクションマネジャモジュールは、大きく分類して、拡張トランザクションを第1通信モジュール201を介し受入れ、拡張トランザクションプールへ格納する第1の部分と、署名を実行するモジュールとの通信を含むフロー制御に関する第2の部分とで構成される。トランザクションマネジャモジュールが開始されると、第1の部分は、拡張トランザクション受入れ待ちステップ211に入り、拡張トランザクションを第1通信部を介して受け入れると、直ちに、拡張トランザクションプールへ格納ステップへ移りん拡張トランザクションプールへ受け入れデータを格納する。
 トランザクションマネジャモジュール210が開始されると、トランザクション受入れ待ちステップ211と並行して、署名待ち通知待ちステップ221へ入り、署名待ち通知を第2通信部を介して受信すると、待ち通知ポーリング受け入れステップ222へ処理が移る。次に、署名待ち通知に含まれる共通キーに一致する未署名トランザクションを拡張トランザクションプールから検索によって参照し、署名対象の未署名トランザクションを選択する。第4データストア構造D4に従って共通キーマスタに格納されているレコードを参照し、共通キー及び鍵シーケンス番号に対応する公開鍵生成に用いられたシードを得るステップ224の後に、次に、拡張トランザクションが選択されると、そこに記載されているトランザクションインプットUTXOのスクリプト項目には、必要とされる署名方式、例えば、マルチシグネチャ方式の署名方式であると定められていると、署名の全数、そのうち署名承認に必要とされる署名数が定義されており、それに応じ署名欄の枠組みが決定される。例えば、マルチシグネチャの2:3方式であれば、3つの署名のうち、2つに署名を得れば、署名承認条件は満たされ、そのUTXOの使用は承認されたものとされる。次に署名リクエスト送信ステップ226は、選択された未署名トランザクションを添付データとして、署名リクエストを第2通信モジュール202を介して、送信する。その後、処理は分岐し署名待ち通知待ちステップ221へ戻る一方で、署名を待つステップ227では署名が返信されるのを待つ。署名を受信すると直ちに、署名を受け入れ署名欄をSignedへステップ228へ入り、次に拡張トランザクション署名完了ステップ229は、拡張トランザクション全体で署名が完了したかどうかをチェックする。完了していれば、次に、拡張トランザクション署名ステータス更新ステップ250は、拡張トランザクション署名ステータスをSignedへ更新し、ステップ250と並行して、トランザクションデータ変換ステップ240は、ビットコイントランザクションとして、データを変換、整序する。ステップ240の次に、トランザクションデータ送信ステップ241は、第3通信部を介して、ノードマネジャ装置500へビットコイントランザクションデータを送信する。
拡張トランザクション署名完了ステップ229において、拡張トランザクション全体で署名が完了してないと判定されれば、署名を待つステップ227へ戻り、ステップ227からステップ229が繰り返される。
 第4データストア構造D4は、図5に示されているデータストア構造であり、3つの項目から構成される。ウォレット装置1内部で共通のアドレスを表象するものとしての共通キー、署名生成のために必要とされる秘密鍵とパラレルに、秘密鍵シードに対応して生成された公開鍵シード、決定性ウォレットを生成する場合の、順序を示すための鍵シーケンス番号である。1つの共通キーに対して、例えば、マルチシグネチャ方式では、複数の公開鍵及び秘密鍵を必要とされ、第4データストア構造D4は、このうち公開鍵シード及び鍵シーケンス番号が与えれ、鍵シーケンス番号及び公開鍵シードによって、公開鍵が生成可能とされている。共通キー及び鍵シーケンス番号は拡張トランザクションに含まれている項目であり、第4データストア構造D4は、これらに生成される公開鍵を介して秘密鍵が特定可能とする。
 第4データストア構造D4子データストア構造である第3データストア構造D3は、秘密鍵に関する構造であり、2つの項目から構成される。ウォレット装置1内部で共通のアドレスを表象するものとしての共通キー、署名生成のために必要とされる秘密鍵シード、決定性ウォレットを生成する場合の、順序を示すための鍵シーケンス番号である。1つの共通キーに対して、例えば、マルチシグネチャ方式では、複数の秘密鍵シード及び秘密鍵が必要とされるが、第3データストア構造D3には、秘密鍵マスターM3から秘密鍵シードを1つ受け入れ可能であり、署名リクエストに含まれる拡張トランザクションの拡張トランザクションインプット項目から鍵シーケンス番号が与えられ、これらによって秘密鍵を再生成可能である。したがって、秘密鍵マスターM3から少なくとも共通キー、秘密鍵シードが読み込まれれば足りるが、秘密鍵マスターM3は、共通キーとセットとされたり、複数の秘密鍵シードも含む等、より冗長な構成であってもよい。
 ホットウォレットサーバ部310は、ホットウォレットサーバ装置300に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、ホットウォレットサーバ部310は、ホットウォレットサーバモジュール310を含む
 ホットウォレットサーバモジュール310は、図6に示されるフローチャートに従って動作する。ホットウォレットサーバモジュール310が開始されると、その時点の共通キーを読むステップ311は、例えば、秘密鍵マスタM3に格納されている共通キー及び秘密鍵シードを読み込み、メモリ上の第3データストア構造体D3の対応するエレメントへ格納する。そして、その時点でホットウォレットサーバモジュール310に割り当てられている共通キーを認識する。次に、署名待ち通知ポーリング送信ステップ312は、トランザクションマネジャモジュール210へ向けて、ホットウォレットサーバモジュール310が署名リクエストを受け入れ可能であることを示す、署名待ち通知をポーリングによって、第2通信部を介して通知する。ポーリングと同時に、共通キーも添付データとしてトランザクションマネジャモジュール210へ送信する。トランザクションマネジャモジュール210は、署名待ち通知待ちステップ221でこのポーリングを待っていることは、上記のとおりである。次に、ホットウォレットサーバモジュール310は、署名リクエストの受信待ちとなり、トランザクションマネジャモジュール210の署名リクエスト送信ステップ226で送信された署名リクエストを、ホットウォレットサーバモジュール310は、署名リクエスト受信ステップ313で受信する。署名リクエストには、未署名トランザクションが含まれている。次に、トランザクションに含まれるトランザクションインプットの総額、すなわち使用されるUTXOの総額が所定の金額よりも少額であるか否かを検査するステップ314は、人的介在を経てUTXOの受け渡しを承認すべきかを判定する。少額であれば、次にそのまま署名ステップ370へ進み、署名を行う。少額でなかれば、操作パネル表示モジュール330を介し操作パネル装置339へ向けて承認リクエストを送信する。操作パネル表示モジュール330は動作開始後にホットウォレットサーバモジュール310からの承認リクエスト受信ステップ331で、操作パネル表示への承認画面を求める要求を受け入れる。次に、操作パネル表示モジュール330は、操作パネル表示モジュール330に接続されている操作パネル装置339に承認画面を表示し、入力を促すプロンプトを表示する。操作パネル装置339からコマンド入力されれば、操作パネル表示モジュール330は、接続を介してこれを受信する。次のステップ署名承認?ステップ333では、操作パネル装置339からのコマンドを判定し、例外処理がないかを判定する。例外処理の必要性が認められれば、その次には、例外処理待ちステップ340へ入り、例外処理を待ち、その後、処理は一旦終了する。一方、次に、署名承認?ステップ333で承認と認められれば、署名承認通知ステップ350へ分岐し、署名承認通知ががホットウォレットサーバモジュール310へ送信され、その後、操作パネル表示モジュール330は一旦終了する。
 ホットウォレットサーバモジュール310は、承認リクエスト送信ステップ315後に、承認同期ステップ316に入り、このステップ316で承認待ちとなり、操作パネル表示モジュール330から承認を受信する。図示しないが、承認を所定の時間内に受信しない場合には、操作パネル表示モジュール330で例外処理に陥っている場合であり、予めタイマーを起動する等、所定の時間経過後に時間割り込み又はソフトェア割り込みによって処理待ちを解除し、処理を終了する。承認同期ステップ316で承認入力データを受信後、次に、承認通知受信ステップ317で署名承認を認識し、トランザクションインプット金額<所定額?ステップ314後に合流し、署名ステップ318へ入る。署名ステップ318では、決定性ウォレットのロジックによって、第3データストア構造体D3にある秘密鍵シードと鍵シーケンス番号から、秘密鍵を再生成し、当該未署名トランザクションのトランザクションインプット項目に含まれているUTXOに署名する。署名生成は、拡張トランザクション構造のうち、標準的なビットコイントランザクション構造を用い、ビットコインアーキテクチャーで定められている当業者に公知の技術よってハッシュ値を算出し、それを当業者公知のデジタル署名アルゴリズムECDSAを用いて電子署名を算出する手段による。次に、署名送信ステップ319は、署名をトランザクションマネジャモジュールへ第2通信部を介して送信する。
 トランザクションマネジャモジュール210では、署名を待つステップ227では署名が返信されるのを待ち、署名を受信すると直ちに、署名を受け入れ署名欄をSignedへステップ228へ入ることは、上記のとおりである。
 コールドウォレットサーバ部は、コールドウォレットサーバ装置400に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、コールドウォレットサーバ部410は、コールドウォレットサーバモジュール410を含む。
 コールドウォレットサーバモジュール410は、図7に示されるフローチャートに従って動作する。コールドウォレットサーバモジュール410が開始されると、その時点の共通キーを読むステップ411は、例えば、コールドマスタM3に格納されている共通キーを読み込む。そして、その時点でコールドウォレットサーバモジュール410に割り当てられている共通キーを認識する。次に、署名待ち通知ポーリング送信ステップ412は、トランザクションマネジャモジュール210へ向けて、コールドウォレットサーバモジュール410が署名リクエストを受け入れ可能であることを示す、署名待ち通知をポーリングによって、第2通信部を介して通知する。ポーリングと同時に、共通キーも添付データとしてトランザクションマネジャモジュール210へ送信する。トランザクションマネジャモジュール210は、署名待ち通知待ちステップ221でこのポーリングを待っていることは、ホットウォレットサーバモジュールの同様である。次に、コールドウォレットサーバモジュール410は、署名リクエストの受信待ちとなり、トランザクションマネジャモジュール210の署名リクエスト送信ステップ226で送信された署名リクエストを、コールドウォレットサーバモジュール410は、署名リクエスト受信ステップ413で受信し、署名リクエストの情報をもとに遠隔署名装置450向けの可搬データを準備する。次に、可搬データ出力表示ステップ414は、コールドウォレットサーバモジュール410が動作するオペレーティングシステムが置かれているコンピュータ装置に接続されている遠隔コンピュータ装置上のオペレーティングシステムで動作する遠隔操作モジュール420へ向けて可搬データ出力指示を送信する。遠隔操作モジュール420は、例えば、このようにコールドウォレットサーバモジュール410が動作しているオペレーティングシステムが置かれているコールドウォレットサーバ装置400とは別筐体のコンピュータ装置に置かれてよい。遠隔操作モジュール420が開始すると、次に、可搬データ出力指示受信ステップ421は、コールドウォレットサーバモジュールとの間の接続を介し、可搬データ出力指示を受信する。次に、操作パネルへの表示ステップ422では、遠隔操作モジュール420が動作するオペレーティングシステムが置かれているコンピュータ装置(図示せず)に接続されている操作パネル装置439へ可搬データ出力指示画面データを送信し、可搬データ出力指示入力を促すプロンプトを表示させ、可搬データ出力指示が入力されると、これをコマンドとして受け入れる。次に、可搬データ出力画面ステップ423では、遠隔操作モジュール420が動作するオペレーティングシステムが置かれているコンピュータ装置(図示せず)に接続されている可搬データ出力装置(図示せず)、例えば、QRコード印刷出力装置装置(図示せず)は、オペレーターの指図によって署名リクエスト可搬データ(QRコード印刷紙)を出力し、署名の戻りを待つ。その後、オペレータが、可搬データ(QRコード印刷紙)を署名装置管理区域に運搬する。
 遠隔署名部は、遠隔署名装置450に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、その場合には、遠隔署名部430は、遠隔署名モジュール430を含む。
 次に、遠隔署名装置450に接続する可搬データ読み取り装置(図示せず)、例えば、QRコード読み取り装置、例えば、スキャナー装置(図示せず)が遠隔署名装置450上のオペレーティングシステムで動作する遠隔署名モジュール420によって駆動され、署名リスクエスト可搬データは遠隔署名装置450に読み込まれる。次に、署名ステップ433では、決定性ウォレットのビットコインアーキテクチャーの標準的なロジックによって、第3データストア構造体D3に格納された秘密鍵シードと鍵シーケンス番号から、秘密鍵を再生成し、署名リクエストに添付されていた未署名トランザクションのトランザクションインプット項目に含まれているUTXOに署名する。第3データストア構造体D3が可搬データとして受け入れられてもよく、あるいは、遠隔署名装置450に秘密鍵マスタM3に格納されている秘密鍵シードを読み込み、可搬データに含まれている署名リクエストに含まれる共通キー及び鍵シーケンス番号によって、メモリ上に第3データストア構造体D3が構成されてもよい。署名生成は、拡張トランザクション構造のうち、標準的なビットコイントランザクション構造を用い、ビットコインアーキテクチャーで定められている当業者に公知の技術よってハッシュ値を算出し、それを当業者公知のデジタル署名アルゴリズムECDSAを用いて電子署名を算出する手段による
 次に、可搬データ出力ステップ434では、操作パネル装置439へ可搬データ出力指示画面データを送信し、可搬データ出力指示入力を促すプロンプトを表示させ、可搬データ出力指示が入力されると、これをコマンドとして受け入れ、コンピュータ装置(図示せず)に接続されている可搬データ出力装置(図示せず)、例えば、QRコード印刷出力装置装置(図示せず)は、オペレーターの指図によって署名可搬データ(QRコード印刷紙)を出力する。その後、遠隔署名モジュールは終了する。並行して、その後、オペレーターは、可搬データ(QRコード印刷紙)を署名装置管理区域外に運搬する。次に、可搬データ読み込みステップ424では、操作パネル装置429へ可搬データ読み込み指示画面データを送信し、可搬データ読み込み指示入力を促すプロンプトを表示させ、操作パネル装置429から可搬データ出力指示が入力されると、これをコマンドとして受け入れ、コンピュータ装置(図示せず)に接続する可搬データ読み取り装置(図示せず)、例えば、QRコード読み取り装置、例えば、スキャナー装置(図示せず)がコンピュータ装置(図示せず)上のオペレーティングシステムで動作する遠隔操作モジュール420によって駆動され、署名リスクエスト可搬データはコンピュータ装置に読み込まれ、遠隔操作モジュール420のメモリ上に格納される。次に、署名送信ステップ425は、遠隔操作モジュール420が動作しているコンピュータ装置から、これとコールドウォレットサーバモジュール410が動作するオペレーティングシステムが置かれているコンピュータ装置との接続を介してコールドウォレットサーバモジュール410へ向けて署名を送信する。その後、遠隔操作モジュールは終了する。並行して、その後、コールドウォレットサーバモジュール410の署名受信同期ステップ415は、署名を受信し、メモリ上に格納する。次に、署名送信ステップ416は、第2通信部を介して、署名をトランザクションマネジャモジュール210が動作しているオペレーティングシステムが置かれるコンピュータ装置へ送信される。これに引き続いて、トランザクションマネジャモジュール210では、署名を待つステップ227では署名が返信されるのを待ち、署名を受信すると直ちに、署名を受け入れ署名欄をSignedへステップ228へ入ることは、上記のとおりである。
 以上の構成において、図1に示されているように、ビットコインネットワークへのトランザクションブロードキャストのために、拡張トランザクションフォーマットからビットコイントランザクションフォーマットへの変換の後、ノード装置を介してブロードキャストする。
 ノード装置は、ビットコインネットワーク上の公知のノード装置でよく、本発明に係るウォレット装置1では、オプションとして、ウォレット装置1内に配設し、これを支配下におき安全性をより向上させている。以下に説明する。
 本発明の実施形態に係るウォレット装置1では、オプションとして、自家ノード装置が少なくとも3台ウォレット装置1内に設置されてよい。ノード装置は、場合によっては、隣接し、そこから受け取るブロックチェーンが捏造されているリスクも潜在的には存在する。本発明の実施形態に係るウォレット装置1では、少なくとも3台の自家用ウォレットによって、ノード装置のビットコインネットワーク内の隣接ノードの多様性を確保し、より安全なブロックチェーンの入手を可能とする。確実性の担保は、ノード装置を複数配設し、これらの間でデータが一致することで確実性を担保する。たとえ、これらの間でデータが一致の場合があるとしても、少なくとも2つのデータが一致することで、少なくとも1つのブロックチェーンのみからブロックチェーンが確実なブロックチェーンのブロックであるとするよりもより確実なブロックであることが担保されたものとする。さらにオプションとして、少なくとも3つのブロック比較によって、そのうちの2つが一致すれば、もっと確実なブロックであることが担保されたものとする。さらなるオプションとして、5つ以上のブロックチェーンのブロック比較によって、そのうちの半数以上が一致すれば、もっと確実なブロックであることが担保されたものとする。これら判定は、ノード装置に接続されたノードマネジャ装置500が担う
 ノードマネジャ装置500は、CPU、メモリ、IO、ネックワークデバイスを備えるコンピュータハードウェアと、これらハードウェアを制御するオペレーティングシステム上で動作するソフトウェアによって駆動制御される装置であり、ノードマネジャ部、第3通信部を含み、これらの一部分はソフトウェアの部分でもよい。
 ノードマネジャ部は、自家用ノード装置の配設数を、例えば、ノードマネジャマスタを読み込みメモリ上にストア可能である。ノードマネジャ部は少なくとも定期的にノード装置から、あるいは、ノード部をノードマネジャ装置500に含む場合にはノード部から、少なくとも最新のブロックチェーンのコピーを取り込み可能である。読み込みは、ノード装置との間を接続する通信部を介し、例えば、WEBソケットの類のバルクデータ通信に適する手段が用いられてよい。
 ノードマネジャ部は、ノードマネジャ装置500に導入されたオペレーティングシステム上で動作するソフトウェアの一部であってもよく、その場合には、ノードマネジャ部510は、ノードマネジャモジュール510を含む。
 ノードマネジャモジュール510は、図8に示されるフローチャートに従って動作する。ノードマネジャモジュール510が開始すると、ノードマネジャマスタからノードマネジャマスタを読み込みメモリ上にストアするノード情報及びノードが保有するデータの真性を判定する所定の条件を読むステップ511に入り、次に、タイマー起動ステップ512は、タイマを起動し定期的な繰り返し動作に入り、次に、タイマーイベントを待つステップ513でタイマーイベント通知を待つ。次に、各ノードから未検証トランザクションをコピーするステップ514で各ノードから未検証トランザクションをノードマネジャモジュール510メモリ上の構造体及びノードマネジャ装置500に接続された永続メモリ内のデータストア構造体に格納し、次に、データの相互対比をするステップ520に入り、データストア構造体同士を比較し、一致する組み合わせを検証する。ノードが保有するデータの真性を判定する所定の条件に合えば、ノードの情報は真性とみなす。ノードの情報は真性とみなされれば、再び、タイマーイベントを待つステップ513に戻り、以下の処理を繰り返し実行する。例えば、3つのノードが定義され、その過半数が一致する場合である。ノードの情報は不正と判定されれば、次に、例外処理ステップ521に入り、例外処理に分岐し終了する。ステップ514に並行して、各ノードのブロックチェーンをコピーするステップ515で各ノードのブロックチェーンをノードマネジャモジュール510メモリ上の構造体及びノードマネジャ装置500に接続された永続メモリ内のデータストア構造体に格納し、次に、データの相互対比をするステップ520に入り、ノードが保有するデータの真性を判定する所定の条件に合えば、ノードの情報は真性とみなす。ノードの情報は不正と判定されれば、次に、例外処理ステップ521に入り、例外処理に分岐し終了する。例えば、3つのノードが定義され、その過半数が一致する場合である。ノードの情報は真性とみなされれば、再び、タイマーイベントを待つステップ513に戻り、以下の処理を繰り返し実行する。
 複数のノードのデータ参照によって、ブロックチェーン改竄のまま、真正のノードとして振る舞う不正行為に対して、早期に異常の発見を可能とし、より安全性の高いウォレット装置1を提供する効果を与える。
 本発明に係る実施形態のウォレット装置1では、自家用ノード装置を備えたが、代替として、ビットコイントランザクションをもとにビットコインネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成する手段をトランザションマネジャー装置200がさらに備えてもよい。ブロードキャスト依頼データは、トランザションマネジャー装置200が直接ビットコインネットワーク上にあるブロードキャストサーバのデータ受入れ口に書き込んでもよいが、さらに他の代替として、第3の通信手段を介して、ビットコイントランザクションを受入れ、それをもとにビットコインネットワーク上へのブロードキャスト依頼データを作成する手段と、これを暗号通貨ネットワーク上へ出力するための出力手段を備えるブロードキャスト依頼サーバ装置を、ウォレット装置1はさらに含んでもよい。
 次に、図9は、本発明に係る他の実施形態であるウォレット装置2を示す概念模式図である。ウォレット装置2は、図2から7に示すすべてのモジュールが1つのオペレーティングシステム上で動作する実施形態である。ハードウェア資源を最小化できる効果を得つつ、侵入者は、秘密鍵の利用には、複数のモジュールを跨る必要がある点で、安全性の向上も得られる。
 図10は、発明に係る他の実施形態であるウォレット装置3を示す概念模式図である。ウォレット装置3は、前記ホットウォレットサーバモジュールは、前記中央制御モジュール及び前記トランザクションマネジャーモジュールがオペレーション動作する第1のオペレーティング・システムとは別のオペレーティング・システム上でオペレーション動作され、秘密鍵が分離されており、第1のオペレーティングシステム上の中央制御モジュールからもトランザクションマネジャーモジュールからも、秘密鍵の利用が困難であり、安全性を高める効果がある。
 図11は、発明に係る他の実施形態であるウォレット装置4を示す概念模式図である。ウォレット装置4は、前記ホットウォレットサーバモジュールは、前記中央制御モジュールモジュールがオペレーション動作する第1のオペレーティング・システムとは別のオペレーティング・システム上でオペレーション動作され、秘密鍵が分離されており、中央制御モジュールからは、秘密鍵の利用が困難であり、安全性を高める効果がある。
 図12は、本発明に係る実施形態であるウォレット装置1を示す概念模式図である。ウォレット装置2は、図2から7に示すすべてのモジュールがすべて別々のオペレーティングシステム上で動作する実施形態である。侵入者は、中央制御モジュールからは、秘密鍵の利用には、複数のオペレーティングシステムを跨る必要がある点で、さらに安全性の向上が図られている。
 図13は、トランザクションマネジャー装置200にホットウォレットサーバ装置300が複数接続されている他の実施形態を示す。ホットウォレットサーバ装置300は、中央制御サーバ装置が設置されているロケーションに2つ設置されている。このように、2つ設置され各々が同じ秘密鍵HOT1に係る署名を提供すれば、ウォレット装置の処理能力はほぼ2倍となる。上記の秘密鍵署名方法であれば、トランザクションマネジャの制御フローはパラレルに実行可能だからであり、この追加の構成は、スケーラビリティを提供するとともに、待ち時間の減少によって処理速度の向上、パフォーマンスも向上される。すなわち、トランザクションマネジャー装置200は、未署名トランザクションが求める秘密鍵のうち秘密鍵HOT1に対応する署名リクエストをアジアに配置された2台のホットウォレットサーバ装置300と他のロケーションに配置されたホットウォレットサーバ装置300の一群のホットウォレットサーバ装置300のうちから任意のホットウォレットサーバ装置300へ署名リクエスト可能であり、スケーラビリティとパフォーマンスが向上されている実ウォレット装置が提供されている。ここで、複数のホットウォレットサーバ装置300で別々の秘密鍵HOT1、HOT2(図示せず)が提供される他の実施形態(図示せず)では、ホットウォレットサーバ装置300でマルチシグネチャが構成され、侵入者は、解錠のために複数のホットウォレットサーバ装置300を攻撃せざるを得ず、より高い安全性のウォレット装置が提供可能である。
 図13には、さらに、ホットウォレットサーバ装置300の少なくとも1つは遠隔地に設けられており、災害にも強い構成を与えている。
 図13には、さらに、トランザクションマネジャー装置200にコールドウォレットサーバ装置400が複数接続されている、さらなる他の実施形態も示す。コールドウォレットサーバ装置400の一方は、他の遠隔地ロケーションである米国に設置されており、その地で秘密鍵を管理できるという利点がある。このように遠隔地に秘密鍵が配置される資産の配置の分散が図られ、人的管理上も、災害対策上も、外部からの侵入による犯罪対策上もより安全性が高まる利点がある。
 図13には、さらに、ホットウォレットサーバ装置300の一つが1つのクラウドコンピューティングサービス上の例えば、仮想サーバ上に設けられており、サーバ配置の多様性が確保されており、クラウドコンピューティングサービスによる代替の遠隔地へのホットウォレットサーバ装置300が実現されている。クラウドコンピューティングサービスでは、仮想サーバでハウジングサービスの提供を受けてもよい。クラウドコンピューティングサービスは、1つではなく、複数のクラウドコンピューティングサービスプロバイダから提供を受けてもよく、この場合には、実施手段の多様性がさらに増し、処理の分散化が図られるという利点がある。クラウドコンピューティングサービスプロバイダを跨って、マルチシグネチャが提供されてもよく、その場合には、人的な内部犯罪のリスクをより低減でき、より安全が向上される利点があり、災害対策にも有効である。
 図1から13に示された実施形態では、ビットコインの実施形態が示されたが、ビットコイン同様に、ブロックチェーンテクノロジを採用する暗号通貨でも、ここに掲げた技術手段によって、ここに掲げた効果が得られる。
 さらに、ビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含む、Bitcoin Cash,Bitcoin Gold,Litecoin,Monacoin,Dogecoinの類のオルトコインは、ブロックチェーンテクノロジの一部を改良したものであり、当業者であれば、本質的にここに開示された技術手段を適用し、同様の効果を得られように実装可能である。
 以上、本発明に係る実施の形態を説明したが、本発明は係る実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。本発明が、ここに記載された実施形態に描かれ、実施形態は、かなり詳細に記載されているが、出願人は、この記載によって添付する特許請求の範囲をいかようにも制限、限定する意図はない。追加の利点や修正は、当業者に理解され、一つの実施形態に記載された要素は、他の実施形態にも採用可能である。したがって、発明は、広い面で、特定の詳細事項に限定されず、各々の機器と実施例が示され、記載されている。したがって、出願人の一般的発明概念の精神とスコープから乖離せず、これらの詳細に記載された事項から離れることもあり得る。
 本発明は、秘密鍵によって公開鍵を生成し、当該公開鍵からアドレスを生成しこれをネットワーク上での取引に用いる公開鍵暗号方式による暗号通貨のためのウォレット装置に利用可能であり、例えば、仮想通貨交換取引所等、仮想通貨取引事業者やインターネット上で取引決済をする事業者等広く暗号通貨ウォレットを使用する事業に利用可能である。
1 一実施形態に係るウォレット装置
2   他の実施形態に係るウォレット装置
3   その他の代替実施形態に係るウォレット装置
4   その他の代替実施形態に係るウォレット装置
5   その他の代替実施形態に係るウォレット装置
100 ウォレット中央制御装置
110 APIモジュール
120 中央制御モジュール(中央制御部)
200 トランザクションマネジャ装置
210 トランザクションマネジャモジュール(トランザクションマネジャ部)
240 データ変換モジュール(データ変換部)
241 データ出力モジュール(データ出力部)
300 ホットウォレットサーバ装置
310 ホットウォレットサーバ(ホットウォレットサーバ部)
339 操作パネル装置
400 コールドウォレットサーバ装置(コールドウォレットサーバ部)
410 コールドウォレットサーバ(コールドウォレットサーバ部)
439 操作パネル装置
450 遠隔署名装置
420 遠隔署名モジュール(遠隔署名部)
459 操作パネル装置
500 ノードマネジャ装置(ノードマネジャモジュール)
510 ノードマネジャモジュール(ノードマネジャモジュール部)
600 ノード装置
800 クラウドコンピューティングサービス
D1  第1データストア構造(第1データストア構造体)
D2  第2データストア構造(第2データストア構造体)
D3  第3データストア構造(第3データストア構造体)
D4  第4データストア構造(第4データストア構造体)
C1  秘密鍵
C2  秘密鍵
H1  秘密鍵
M1  アドレスマスタ
M3  秘密鍵マスタ
M4  共通キーマスタ

Claims (43)

  1.  秘密鍵によって公開鍵を生成し、当該公開鍵からアドレスを生成しこれをネットワーク上での取引に用いる公開鍵暗号方式による暗号通貨のためのウォレット装置であって、
     処理リクエストデータの受入手段を有し、前記アドレスを特定し、署名に用いる前記公開鍵を同定するための第1のデータストア構造を有し、未署名トランザクション保持のための第2のデータストア構造を含む未署名トランザクションの組成手段を有し、当該未署名トランザクション送信のための第1の通信手段を有する中央制御サーバ装置と、
     秘密鍵保管又は生成のための第3のデータストア構造体をメモリ上に有し、署名リクエストの受信及署名の送信のための第2の通信手段を有し、これを介して入力された前記署名リクエストのための暗号通貨署名手段を有するホットウォレットサーバ装置と、
     秘密鍵保管又は生成のための第3のデータストア構造体をメモリ上に有し、暗号通貨署名手段を有し、署名リクエストを遠隔地において操作員を介し受入れ、かつ前記署名リクエストに対応する署名を操作員を介し出力するデータ伝搬手段を有する、インターネットからオフラインの遠隔署名装置と、
     署名リクエスタからの署名リクエストの受信及び署名の送信のための第2の通信手段を有し、これを介して入力された前記署名リクエストを前記遠隔署名装置と組になり遠隔で署名させるためのデータ伝搬手段を有し、前記遠隔署名装置の署名を識別させる標識としての識別キーをメモリ上に格納するデータストアを有し、前記識別キーを前記第2の通信手段を介して相手側へ送信可能であるコールドウォレットサーバ装置と、
     前記中央制御サーバ装置との間の前記未署名トランザクション受信のための前記第1の通信手段を有し、前記ホットウォレットサーバ装置及び前記コールドウォレットサーバ装置、又はこれらのうちの少なくともいずれか一方との署名リクエストの送信及び署名の受信のための前記第2の通信手段を有し、公開鍵鍵特定のための第3のデータストア構造に対応する公開鍵のデータストア構造をメモリ上に自らの署名を識別させる標識としての識別キーで構造化した第4のデータストア構造を有し、前記未署名トランザクションの署名完了まで当該トランザクションを保持する署名ステータス管理手段を有し、署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換手段を有し、前記暗号通貨トランザクションを出力するための第3の通信手段を有するトランザクションマネジャー装置とを、含むことを特徴とするウォレット装置。
  2.  前記第1の通信手段は、サーバ認証機能を備える請求項1記載のウォレット装置。
  3.  前記トランザクションマネジャー装置には前記ホットウォレットサーバ装置が複数接続される請求項1又は2に記載のウォレット装置。
  4.  前記コールドウォレットサーバ装置は、前記データ伝搬手段として可搬データ出力装置が接続され、操作パネル装置が接続され前記署名リクエストのための可搬データ出力を促すプロンプトを表示可能であり、前記操作パネル装置へのオペレーターの操作によって署名リクエスト可搬データが出力可能である請求項1又は2に記載のウォレット装置。
  5.  前記インターネットからオフラインの遠隔署名装置は可搬データ読み込み装置が接続され、操作パネル装置が接続され前記署名リクエスト可搬データの読み込みを促すプロンプトが表示可能であり、オペレーターの操作によって前記署名リクエスト可搬データを読み込み可能である請求項4に記載のウォレット装置。
  6.  前記インターネットからオフラインの遠隔署名装置は可搬データ出力装置が接続され、前記操作パネル装置には署名済み可搬データ出力プロンプトを表示可能であり、オペレーターが前記暗号通貨署名手段によって前記秘密鍵を用いる署名に伴い署名済み可搬データを出力可能である請求項5に記載のウォレット装置。
  7.  前記コールドウォレットサーバ装置は可搬データ読み込み装置が接続され、前記操作パネル装置には署名済みの可搬データ読み込みプロンプトが表示可能であり、オペレーターの操作によって署名済み可搬データを読み込み可能であり、当該署名済み可搬データ読み込みに伴い、前記第3通信手段を介してコールドウォレットサーバ装置から前記トランザクションマネジャー装置へ署名を送信可能である請求項6に記載のウォレット装置。
  8.  前記可搬データは、QRコード印刷紙である請求項4~7いずれか1項に記載のウォレット装置。
  9.  前記トランザクションマネジャー装置には前記コールドウォレットサーバ装置が複数接続される請求項1又は2に記載のウォレット装置。
  10.  前記未署名トランザクションは、複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、複数の前記ホットウォレットサーバ装置に分散して格納されたものである請求項3に記載のウォレット装置。
  11.  前記未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、複数のインターネットからオフラインの前記署名装置に分散して格納されたものである請求項4~9いずれか1項に記載のウォレット装置。
  12.  前記未署名トランザクションは、署名が複数の秘密鍵によって署名されるべきマルチシグネチャトランザクションであり、対応する秘密鍵は、1又は複数の前記ホットウォレットサーバ装置かつ1又は複数のインターネットからオフラインの前記暗号通貨署名装置に分散して格納されたものである請求項1又は請求項2に記載のウォレット装置。
  13.  前記暗号通貨トランザクションをもとに暗号通貨ネットワーク上にあるブロードキャストサーバへのブロードキャスト依頼データを作成する手段を前記トランザションマネジャー装置がさらに備える請求項1に記載のウォレット装置。
  14.  前記第3の通信手段を介して受入れられた前記暗号通貨トランザクションをもとに暗号通貨ネットワーク上へのブロードキャスト依頼データを作成する手段と、これを暗号通貨ネットワーク上へ出力するための出力手段を備えるブロードキャスト依頼サーバ装置をさらに含む請求項1に記載のウォレット装置。
  15.  暗号通貨ネットワークとインターネット接続され、前記暗号通貨ネットワーク上へブロードキャスト可能である1又は複数のノード装置と、前記ノード装置に接続されており、前記トランザクションマネジャー装置との第3の通信手段を介して受信された前記暗号通貨トランザクションを前記ノード装置を介して暗号通貨ネットワークへブロードキャストするための手段を有するノードマネジャー装置とをさらに含むことを特徴とする請求項1に記載のウォレット装置。
  16.  前記ノードマネジャー装置は、前記複数のノード装置からブロックチェーン又はブロックチェーンに記録されるべき未検証トランザクションを受信し、受信された前記ブロックチェーン同士の対比及び前記未検証トランザクション同士の対比又はこれらのいずれかの対比によって、前記複数のノード装置の対比データのうち過半数において前記対比が一致するか否かを検査する手段を含むノードマネジャー装置である請求項15に記載のウォレット装置。
  17.  前記ホットウォレットサーバ装置の少なくとも1つは遠隔地に設けられている請求項10又は12に記載のウォレット装置。
  18.  前記コールドウォレットサーバ装置の少なくとも1つは遠隔地に設けられている請求項11又は12に記載のウォレット装置。
  19.  前記未署名トランザクションが所定の要件をみたす時、前記署名リクエストに署名すべきユーザーへ署名を促すプロンプトを表示し、署名入力を可能とする操作パネル装置を備え、前記パネル装置は操作パネルサーバ装置を介して前記ホットウォレットサーバ装置に接続されている請求項1に記載のウォレット装置。
  20.  前記プロンプトは、前記未署名トランザクションに含まれる支払い承認総額が所定の閾値を超えるときに表示される請求項19に記載のウォレット装置。
  21.  前記複数のホットウォレットサーバ装置は、前記秘密鍵保管又は生成のための第3のデータストア構造のデータエレメントのうち少なくとも一部を入力するためのマスター入力手段を備え、少なくとも一部の秘密鍵の保管又は生成に用いるデータを一群のホットウォレットサーバ装置に外部から入力し保管可能であり、前記トランザクションマネジャー装置は、前記未署名トランザクションが求める署名のうち前記少なくとも一部の秘密鍵に対応する署名リクエストを前記一群のホットウォレットサーバ装置のうちから任意のホットウォレットサーバ装置へ署名リクエスト可能である請求項3に記載のウォレット装置。
  22.  秘密鍵保管又は生成のための前記第1~第3のデータストア構造は、前記秘密鍵がシードから生成され、再生可能である決定性ウォレットのための鍵シーケンス番号を含む一連のデータを含む請求項1に記載のウォレット装置。
  23.  前記第1、第2又は第4のデータストア構造及びその構造体には、前記未署名トランザクションの署名リクエストの生成のため、前記暗号通貨署名手段がこれに署名可能な前記秘密鍵を特定するための装置内部での使用のための共通キーをさらに含む請求項22記載のウォレット装置。
  24.  前記トランザクションマネジャー装置は、前記共通キー及び共通キーに対応する1又は複数のシードを1つのグループとして、1又は複数の当該グループをマスターデータとして保持する請求項22又は請求項23記載のウォレット装置。
  25.  前記各装置は、仮想サーバ上に設けられている請求項1又は請求項14又は請求項15記載のウォレット装置。
  26.  前記ホットウォレットサーバ装置の一部が1又は複数のクラウドコンピューティングサービス上の仮想サーバ上に設けられている請求項3記載のウォレット装置。
  27.  CPU、メモリを備えるハードウェアを制御するオペレーティングシステム上で稼働するソフトウェアによって、決定性ウォレットとして秘密鍵を用い公開鍵を生成し、当該公開鍵からアドレスを生成しこれを取引に用いる公開鍵暗号方式による暗号通貨のためのウォレット装置の暗号通貨署名手段に用いられる秘密鍵署名方法であって、
     ユーザシステムからゲートウェイ通信手段によってアプリケーションプログラムインターフェース(Application Program Interface,API)を介して受入れた処理リクエストデータ項目を元に、決定性ウォレット方式で生成されたマルチシグネチャ用のアドレスの生成時に使用した1又は複数のシードに関連づけられた共通キーとアドレス生成の順序を示す鍵シーケンス番号と署名欄を含むデータストア構造体を含む未署名トランザクションを中央制御サーバ装置上で動作するオペレーティングシステム上で動作するソフトウェアによって組成し、第1の通信手段を介し前記中央制御サーバ装置からトランザクションマネジャー装置へ送信するステップS1と、このステップに引き続き、
     前記第1の通信手段を介して、前記トランザクションマネジャー装置上の前記オペレーティングシステム上で動作する前記ソフトウェアによって、前記未署名トランザションを受信し、これを前記メモリ上の未署名トランザションプールに保持するステップS2に引き続き、前記トランザクションマネジャー装置上のオペレーティングシステム上で動作するソフトウェアによって、他装置からの署名リクエスト待ちの待ち状態となるステップS3と、このステップとパラレルに、
     第2の通信手段を介し、ホットウォレットサーバ装置及びコールドウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって、当該装置が保持する前記共通キーと共に署名リクエスト待ち状態を前記トランザクションマネジャー装置へ通知する、待ち通知ステップS4に引き続き、
     前記トランザクションマネジャー装置上のオペレーティングシステム上で動作するソフトウェアが前記通知を受信後、前記共通キーを含む未署名トランザクションを前記未署名トランザションプールから検索し、そのうちの1つを選択し、当該未署名トランザクションの署名リクエストのために前記第2の通信手段を介して前記待ち通知を送信した前記ホットウォレットサーバ装置又は前記コールドウォレットサーバ装置へ前記未署名トランザクションを送信するS5ステップと、これに引き続き、
     前記第2の通信手段を介して前記署名リクエストを受信した前記ホットウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって、前記共通キーに対応する秘密鍵を用い前記署名リクエストが署名され、当該署名を前記第2の通信手段を介して前記トランザクションマネジャー装置へ返信するステップS6と、これとパラレルに、
     前記第2の通信手段を介して前記署名リクエストを受信した前記コールドウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって、遠隔地で署名する署名装置のためのデータ伝搬手段を介して、可搬データが出力され、前記署名装置上のオペレーティングシステム上で動作するソフトウェアによって当該可搬データが読み込まれ、前記署名装置で前記可搬データに対応する秘密鍵によってなされた署名が前記データ伝搬手段を介して可搬データとして出力され、当該可搬データは前記コールドウォレットサーバ装置へ前記データ伝搬手段を介して読み込まれ、前記コールドウォレットサーバ装置上のオペレーティングシステム上で動作するソフトウェアによって当該署名を前記第2の通信手段を介して前記トランザクションマネジャー装置へ転送するステップS7と、これに引き続いて、
     ステップS8では、前記トランザクションマネジャー装置上のオペレーティングシステム上で動作するソフトウェアが前記第2の通信手段を介して受信した署名を前記未署名トランザクションの署名欄に転記し、前記未署名トランザクションの署名完了に要するマルチシグネチャ署名数と署名完了数をチェックし、所定の署名承認条件が満たされたとき、前記署名済みトランザションは暗号通貨トランザクションへ変換出力され、他方、所定の署名承認条件が満たされない場合には、前記トランザクションマネジャー装置上のオペレーティングシステム上で動作するソフトウェアが他装置からの署名リクエスト待ちの待ち状態となるステップへ戻ることを特徴とする、請求項24に記載の前記ウォレット装置を用いる秘密鍵署名方法。
  28.  前記待ち通知ステップには、前記ホットウォレットサーバ装置又はコールドウォレットサーバ装置からのポーリングによる通信方法を含む請求項27項に記載の方法。
  29.  秘密鍵を用い公開鍵を生成し、当該公開鍵からアドレスを生成しこれを取引に用いる公開鍵暗号方式による暗号通貨のためのソフトウェアをCPU、メモリを備えるハードウェアを制御するオペレーティングシステム上で動作させる暗号通貨のためのウォレット装置であって、
     処理リクエストのアプリケーションプログラムインターフェース(Application Program Interfae,API)からのデータを受入れるためのAPIモジュールと、
     アドレスを特定し署名に使用する秘密鍵を指定するための第1のデータストア構造体データを読み込み、未署名トランザクション保持のための第2のデータストア構造体を含む未署名トランザクション組成のためのウォレット中央制御モジュールと、
     秘密鍵保管又は生成のための第3のデータストア構造体をメモリ上に含む暗号通貨署名のためのホットウォレットサーバモジュールと、
     署名を識別させる標識としての識別キーをメモリ上に格納するオフライン署名のためのコールドウォレットサーバモジュールと、
     前記秘密鍵保管又は生成のための前記第3のデータストア構造を秘密鍵特定のためモジュール間で共用可能である共通キーで構造化した第4のデータストア構造体を格納可能であり、かつ未署名トランザクションを保持するための前記第2のデータストア構造体を含む、署名のフロー制御をするためのトランザクションマネジャーモジュールと、
     前記入力データモジュールと外部インターフェースのための外部通信モジュールと、
     前記トランザクションマネジャーモジュールと前記ウォレット中央制御モジュール間の未署名トランザクション及び署名済みトランザクション送受信のための第1通信モジュールと、
     前記トランザクションマネジャーモジュールと前記ホットウォレットサーバモジュール又は前記コールドウォレットサーバモジュール間の署名リクエストの送信と署名受信のための第2通信モジュールと、
     オフライン署名のための署名装置への可搬データ出力及び署名の受入れのための署名リクエスト授受及び署名授受のためのデータ伝搬モジュールと、
    署名済みトランザクションを暗号通貨ネットワークへ適合する暗号通貨トランザクションへ変換するためのデータ変換モジュールと、
    前記トランザクションマネジャーモジュールによって作成された署名を受入れて暗号通貨ネットワークへのブロードキャスト依頼データを作成し、これを出力するための出力モジュールとを、前記ソフトウェアは含み、
     秘密鍵保管又は生成のための第3のデータストア構造を有し、前記データ伝搬手段を備え、これを介して入力された署名リクエストのための暗号通貨署名手段を有する、インターネットからオフラインの暗号通貨署名装置をさらに含むことを特徴とするウォレット装置。
  30.  前記ウォレット中央制御モジュールと、前記トランザクションマネジャーモジュールとは同一オペレーティング・システム上でオペレーション動作される請求項29に記載のウォレット装置。
  31.  1又は複数の前記ホットウォレットサーバモジュールは、前記トランザクションマネジャーモジュールと同一のオペレーティング・システム上でオペレーション動作される請求項29又は30に記載のウォレット装置。
  32.  前記ホットウォレットサーバモジュールは、前記トランザクションマネジャーモジュールがオペレーション動作するオペレーティング・システムとは別の1又は複数のオペレーティング・システム上でオペレーション動作される請求項29又は30に記載のウォレット装置。
  33.  前記暗号通貨は仮想通貨である請求項1又は請求項29に記載されたウォレット装置。
  34.  前記暗号通貨はビットコインである請求項1又は請求項22~請求項24又は請求項29~請求項32のいずれか1項に記載されたウォレット装置。
  35.  前記暗号通貨は仮想通貨である請求項27に記載の方法。
  36.  前記暗号通貨はビットコインである請求項27に記載の方法。
  37.  前記暗号通貨はビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含むメタコイン又はオルトコインである請求項1又は請求項22~請求項24又は請求項29~請求項32のいずれか1項に記載されたウォレット装置。
  38.  前記暗号通貨はビットコインの一部属性が変更され及び属性が追加され又はこれらのいずれかを含むメタコイン又はオルトコインである請求項27又は請求項28に記載の方法。
  39.  前記処理リクエストデータは、リクエスターのサーバプログラムとのアプリケーションプログラムインターフェース(以下、APIという)で定められる、以下の、データ項目
     1)1又は複数の支払元を特定するための共通キー
     2)1又は複数の宛先アドレス
     3)支払い金額
     4)前記トランザクションの暗号通貨ネットワーク処理の手数料の負担先を前記出金口座負担又は共通キーで定められるアドレス又は宛先アドレスのいずれの負担とするかを定める手数料負担先コード
    を含むことを特徴とする請求項1又は請求項34又は請求項37のうちいずれか1項に記載のウォレット装置。
  40.  前記署名に用いる秘密鍵を指定するための第1のデータストア構造及びその構造体には、以下の1)から3)のデータ項目
     1)アドレスに対応する共通キー
     2)鍵シーケンス番号
     3)暗号通貨アドレス
    を含む請求項1又は請求項34又は請求項36のうちいずれか1項に記載のウォレット装置。
  41.  前記未署名トランザション保持のための前記第2データストア構造及びその構造体には、
    トランザクションインプットデータ項目として、以下のビットコイントランザクション標準のデータ項目である、以下の1)からの3)をひと組とする1又は複数の標準トランザクションインプットデータ項目として、未使用トランザクションアウトプット(Unspent Transaction Output、UTXO)を特定し、直前のトランザションを特定するためのビットコインアーキテクチャで定められているデータ構造である、
     1) Prevハッシュと、
     2) Prevアウトプットインデックスと、
    に加えて、以下の3)からの4)をひと組とする1又は複数の標準トランザクションアウトプット項目としての、
     3) 宛先アドレスと、
     4) 金額と、
    を含み、さらに、前記トランザクションインプット毎に、以下の拡張トランザクションインプット構成項目として、
     5)前記第1データストア構造データに対応する公開鍵を特定するための共通キーと、
     6)決定性ウォレットの生成に使用された鍵シーケンス番号と、これに加えて、
     7)署名を格納するための署名欄とを、
    加えて、追加の拡張トランザクション項目として
     8)署名待ち又は署名済み又は送付済みの識別子を格納するためのトランザクションステータスコード
    をさらに含む請求項1又は請求項35又は請求項36のうちいずれか1項に記載のウォレット装置。
  42.  秘密鍵保管又は生成のための第3のデータストア構造及びその構造体には、以下の1)から2)のデータ項目
     1)決定性ウォレットの生成に使用された秘密鍵シードと、
     2)決定性ウォレットの生成に使用された鍵シーケンス番号と、
    を含む請求項1又は請求項34又は請求項38のうちいずれか1項に記載のウォレット装置。
  43.  前記秘密鍵特定のための第4のデータストア構造及びその構造体には、以下の、
     1)前記第3データストア構造データの秘密鍵を特定するための共通キーと、この1つについて、
     2)1又はマルチシグネチャ署名に対応する数の決定性ウォレットの生成に使用された公開鍵シードと、
     3)決定性ウォレットの生成に使用された鍵シーケンス番号と、
    を保持する請求項1又は請求項34又は請求項37のうちいずれか1項に記載のウォレット装置。
PCT/IB2018/054233 2018-06-12 2018-06-12 暗号通貨のためのウォレット装置及びその装置を用いる署名方法 WO2019043466A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018530817A JP6736033B2 (ja) 2018-06-12 2018-06-12 暗号通貨のためのウォレット装置及びその装置を用いる署名方法
US16/321,999 US20190378119A1 (en) 2018-06-12 2018-06-12 Wallet device for cryptocurrency and method of signature for the use thereof
PCT/IB2018/054233 WO2019043466A1 (ja) 2018-06-12 2018-06-12 暗号通貨のためのウォレット装置及びその装置を用いる署名方法
US16/688,586 US20200090164A1 (en) 2018-06-12 2019-11-19 Method for signing a signature for private key for a cryptocurrency signature wallet device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2018/054233 WO2019043466A1 (ja) 2018-06-12 2018-06-12 暗号通貨のためのウォレット装置及びその装置を用いる署名方法

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/321,999 A-371-Of-International US20190378119A1 (en) 2018-06-12 2018-06-12 Wallet device for cryptocurrency and method of signature for the use thereof
US16/688,586 Division US20200090164A1 (en) 2018-06-12 2019-11-19 Method for signing a signature for private key for a cryptocurrency signature wallet device

Publications (1)

Publication Number Publication Date
WO2019043466A1 true WO2019043466A1 (ja) 2019-03-07

Family

ID=65525041

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2018/054233 WO2019043466A1 (ja) 2018-06-12 2018-06-12 暗号通貨のためのウォレット装置及びその装置を用いる署名方法

Country Status (3)

Country Link
US (2) US20190378119A1 (ja)
JP (1) JP6736033B2 (ja)
WO (1) WO2019043466A1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110930145A (zh) * 2020-02-04 2020-03-27 江苏恒宝智能系统技术有限公司 冷钱包生成方法、交易信息处理方法、设备及存储介质
CN111027947A (zh) * 2019-12-06 2020-04-17 湖北文理学院 Utxo钱包的选择方法、设备、存储介质及装置
CN111144885A (zh) * 2019-12-13 2020-05-12 杜晓楠 一种数字资产托管方法和系统
CN111523880A (zh) * 2019-12-23 2020-08-11 杜晓楠 一种数字资产异地分管系统和方法
WO2021112178A1 (ja) * 2019-12-06 2021-06-10 三菱重工業株式会社 検知装置、改ざん検知システム、中央サーバ、参加者サーバ、改ざん検知方法、及びプログラム
CN113132088A (zh) * 2019-12-30 2021-07-16 中移(上海)信息通信科技有限公司 数字货币管理系统
US20210334809A1 (en) * 2019-03-22 2021-10-28 Beijing Wodong Tianjun Information Technology Co., Ltd. Transaction method and apparatus based on blind signature
US20210374718A1 (en) * 2018-09-04 2021-12-02 Sony Corporation Ic card, processing method, and information processing system
JP7075917B2 (ja) 2019-10-18 2022-05-26 真敬 森下 管理装置、管理プログラム、管理方法、端末装置、及び管理システム
KR20230030982A (ko) * 2021-08-26 2023-03-07 에이아이오티홀딩스 주식회사 다중 서명을 지원하는 전자 인증 시스템 및 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3387786B1 (en) 2016-12-21 2019-02-20 Nchain Holdings Limited Computer-implemented systems and methods to enable complex functionality on a blockchain while preserving security-based restrictions on script size and opcode limits
GB201701589D0 (en) * 2017-01-31 2017-03-15 Nchain Holdings Ltd Computer-implemented system and method
KR101954863B1 (ko) * 2018-07-09 2019-03-06 서울대학교산학협력단 온라인 월렛 장치 및 이의 생성과 검증 방법
US20200027080A1 (en) * 2018-07-18 2020-01-23 Regal RA DMCC Scalable reconciliation of crypto assets in a blockchain network
US20200034571A1 (en) * 2018-07-25 2020-01-30 Nicholas Andrew Fett Method for Smart Contract Data Input through a Proof-of-Work Consensus Mechanism
DE102018127529A1 (de) * 2018-11-05 2020-05-07 Infineon Technologies Ag Elektronische Vorrichtung und Verfahren zum Signieren einer Nachricht
US11468435B1 (en) * 2019-01-03 2022-10-11 Blockchain Innovation, Llc Apparatus and methods of air-gapped crypto storage using diodes
US11645268B2 (en) * 2019-06-11 2023-05-09 International Business Machines Corporation Database world state performance improvement
US20200394651A1 (en) * 2019-06-13 2020-12-17 Gridplus, Inc. Dynamic off-chain digital currency transaction processing
US10790990B2 (en) 2019-06-26 2020-09-29 Alibaba Group Holding Limited Ring signature-based anonymous transaction
US12008549B2 (en) * 2019-07-22 2024-06-11 Visa International Service Association Federated custodian
US20220141028A1 (en) * 2019-07-23 2022-05-05 Xapo Holdings Limited Secure vault system for private key storage
WO2021061415A1 (en) * 2019-09-26 2021-04-01 Rui Wang Blockchain hot wallet based on secure enclave and multi-signature authorization
CN111526021A (zh) * 2020-04-10 2020-08-11 厦门慢雾科技有限公司 一种区块链私钥安全管理方法
CN111523889B (zh) * 2020-04-17 2023-09-01 昆明大棒客科技有限公司 多重签名实现方法、装置、设备和存储介质
US11210658B2 (en) 2020-05-12 2021-12-28 iCoin Technology, Inc. Constructing a distributed ledger transaction on a cold hardware wallet
US20220051240A1 (en) * 2020-08-11 2022-02-17 Gk8 Ltd Transferring cryptocurrency from a remote limited access wallet
KR102236000B1 (ko) * 2020-08-24 2021-04-05 주식회사위즈베라 사설인증서 기반 전자 서명을 실행하는 방법
US11489819B2 (en) * 2021-04-09 2022-11-01 Polymath Inc. Method and system for private identity verification
CN113378237B (zh) * 2021-06-09 2023-06-23 中央财经大学 基于聚合签名和隔离见证的区块链数据存储方法及装置
US20230051880A1 (en) * 2021-08-10 2023-02-16 Level 3 Communications, Llc Collecting endpoint data and network data to detect an anomaly
US11991294B2 (en) 2021-11-12 2024-05-21 Gridplus, Inc. Peer-to-peer secure conditional transfer of cryptographic data
WO2023123151A1 (en) * 2021-12-30 2023-07-06 Shanghai Wanxiang Block Chain Co., Ltd. Systems and methods for cold wallets
CN114598531A (zh) * 2022-03-10 2022-06-07 上海星图比特信息技术服务有限公司 身份认证方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004320648A (ja) * 2003-04-18 2004-11-11 G-Ratio Co Ltd 電子署名を用いた情報管理方法およびこれを用いた商取引方法並びにシステム
US20150287026A1 (en) * 2014-04-02 2015-10-08 Modernity Financial Holdings, Ltd. Data analytic and security mechanism for implementing a hot wallet service
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods
JP2017505048A (ja) * 2013-12-31 2017-02-09 ヴァスコ データ セキュリティ インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング 電子署名方法、システムおよび装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002158650A (ja) * 2000-11-21 2002-05-31 Fujitsu Ltd 認証・暗号化処理代行用のサーバ、アクセスカード、プログラム記録媒体及び携帯端末
US10332125B1 (en) * 2010-12-09 2019-06-25 Zynga Inc. Apparatuses, methods and systems for an online rewards incentive program
US9858401B2 (en) * 2011-08-09 2018-01-02 Biogy, Inc. Securing transactions against cyberattacks
WO2015142765A1 (en) * 2014-03-17 2015-09-24 Coinbase, Inc Bitcoin host computer system
US20160098730A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and Method for Block-Chain Verification of Goods
US20160283939A1 (en) * 2015-03-25 2016-09-29 Qualcomm Incorporated System and method to prevent loss of bitcoins due to address errors
US10778439B2 (en) * 2015-07-14 2020-09-15 Fmr Llc Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems
US20170228731A1 (en) * 2016-02-09 2017-08-10 Fmr Llc Computationally Efficient Transfer Processing and Auditing Apparatuses, Methods and Systems
GB201701360D0 (en) * 2017-01-27 2017-03-15 Nchain Holdings Ltd Computer implemented method and system
JP6715231B2 (ja) * 2017-12-11 2020-07-01 三菱Ufj信託銀行株式会社 仮想通貨保全システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004320648A (ja) * 2003-04-18 2004-11-11 G-Ratio Co Ltd 電子署名を用いた情報管理方法およびこれを用いた商取引方法並びにシステム
JP2017505048A (ja) * 2013-12-31 2017-02-09 ヴァスコ データ セキュリティ インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング 電子署名方法、システムおよび装置
US20150287026A1 (en) * 2014-04-02 2015-10-08 Modernity Financial Holdings, Ltd. Data analytic and security mechanism for implementing a hot wallet service
US20160098723A1 (en) * 2014-10-01 2016-04-07 The Filing Cabinet, LLC System and method for block-chain verification of goods

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210374718A1 (en) * 2018-09-04 2021-12-02 Sony Corporation Ic card, processing method, and information processing system
US20210334809A1 (en) * 2019-03-22 2021-10-28 Beijing Wodong Tianjun Information Technology Co., Ltd. Transaction method and apparatus based on blind signature
JP7075917B2 (ja) 2019-10-18 2022-05-26 真敬 森下 管理装置、管理プログラム、管理方法、端末装置、及び管理システム
CN111027947A (zh) * 2019-12-06 2020-04-17 湖北文理学院 Utxo钱包的选择方法、设备、存储介质及装置
CN111027947B (zh) * 2019-12-06 2023-09-19 湖北文理学院 Utxo钱包的选择方法、设备、存储介质及装置
WO2021112178A1 (ja) * 2019-12-06 2021-06-10 三菱重工業株式会社 検知装置、改ざん検知システム、中央サーバ、参加者サーバ、改ざん検知方法、及びプログラム
JP2021092851A (ja) * 2019-12-06 2021-06-17 三菱重工業株式会社 検知装置、改ざん検知システム、中央サーバ、参加者サーバ、改ざん検知方法、及びプログラム
CN111144885A (zh) * 2019-12-13 2020-05-12 杜晓楠 一种数字资产托管方法和系统
CN111144885B (zh) * 2019-12-13 2023-06-06 杜晓楠 一种数字资产托管方法和系统
CN111523880A (zh) * 2019-12-23 2020-08-11 杜晓楠 一种数字资产异地分管系统和方法
CN113132088A (zh) * 2019-12-30 2021-07-16 中移(上海)信息通信科技有限公司 数字货币管理系统
CN110930145A (zh) * 2020-02-04 2020-03-27 江苏恒宝智能系统技术有限公司 冷钱包生成方法、交易信息处理方法、设备及存储介质
KR20230030982A (ko) * 2021-08-26 2023-03-07 에이아이오티홀딩스 주식회사 다중 서명을 지원하는 전자 인증 시스템 및 방법
KR102568418B1 (ko) 2021-08-26 2023-08-18 하이파이브랩 주식회사 다중 서명을 지원하는 전자 인증 시스템 및 방법

Also Published As

Publication number Publication date
US20200090164A1 (en) 2020-03-19
JP6736033B2 (ja) 2020-08-05
US20190378119A1 (en) 2019-12-12
JPWO2019043466A1 (ja) 2019-12-12

Similar Documents

Publication Publication Date Title
JP6736033B2 (ja) 暗号通貨のためのウォレット装置及びその装置を用いる署名方法
US11283797B2 (en) Authenticating a user device associated with a user to communicate via a wireless network in a secure web-based environment
EP3509006B1 (en) Information sharing system
EP3642998B1 (en) Verification and encryption scheme in data storage
CN111324672A (zh) 区块链安全处理系统及方法
US20230093581A1 (en) Method for directly transferring electronic coin data sets between terminals, payment system, currency system and monitoring unit
WO2018087836A1 (ja) ブロックチェーン取引システムおよびブロックチェーン取引方法
JP7240402B2 (ja) コンピュータにより実施される意思決定システム及び方法
CN110535807B (zh) 一种业务鉴权方法、装置和介质
US11461565B2 (en) Apparatus and methods for remote controlled cold storage of digital assets using near field communication tags
KR101943228B1 (ko) 보안성이 강화된 가상화폐용 블록체인 시스템
GB2572135A (en) Data transaction system and method
US20230259899A1 (en) Method, participant unit, transaction register and payment system for managing transaction data sets
KR102627868B1 (ko) 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
CN111461799B (zh) 数据处理方法、装置、计算机设备及介质
KR102376783B1 (ko) 블록체인 기반의 거래내역 확인 시스템
KR102572834B1 (ko) 서명 가능 컨트랙트를 이용하여 블록체인에서 생성된 데이터를 인증하는 방법 및 시스템
JP7249037B2 (ja) 暗号通貨のためのウォレットシステム
CN113570369B (zh) 一种区块链隐私交易方法、装置、设备及可读存储介质
US20230084651A1 (en) Method, terminal, monitoring entity, and payment system for managing electronic coin datasets
US12020248B2 (en) Payment redemption using non-fungible tokens
US20230091509A1 (en) Method for directly transmitting electronic coin datasets between terminals, payment system, protection system and monitoring entity
JP6776396B2 (ja) 取引システム
US20220253852A1 (en) System and method for processing payment transactions via blockchain network
Vaughan Universal Blockchain Assets

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018530817

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 18852311

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18852311

Country of ref document: EP

Kind code of ref document: A1