This application claims the priority benefit of China application serial no. 201510303168.4, filed on Jun. 5, 2015. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
Field of the Invention
The invention relates to a method and a system for digital currency transaction signature, and more particularly, to a method and a system for digital currency transaction multi-signature and a digital currency transaction device thereof.
Description of Related Art
With advancements in the network communication technologies and emergence and development of the digital currency, use of the digital currency as certification for on-line transaction has been widely adopted in on-line transacting, shopping and financial activities. Further, in order to effectively solve the issues of forgery, impersonation and falsification during the transaction, a signature is often used as a means for safeguarding the on-line transaction safety, so as to ensure the security and authenticity for the transaction.
However, in the existing network environment of the digital currency transaction, the transaction that requires signatures from multiple users can only be completed by each of the users by ways of transmitting the transaction with incomplete multisignature through external transmission methods such as Email, communication software or social application program. In other words, while transmitting the transaction within incomplete multisignature, besides additional security risks, problems of non-synchronized information among the users may also arise.
Accordingly, under the existing network environment of the digital currency transaction, it has become an important topic for the digital currency transaction nowadays as how to provide a convenient and reliable mechanism for multisignature to the users while enhancing the security of multisignature in the digital currency transaction.
The invention is directed to a method and a system for digital currency transaction signature and a digital currency transaction device thereof, which are capable of effectively enhancing the security of multisignature in the digital currency transaction.
The invention provides a digital currency transaction signature method for a digital currency transaction device in a peer-to-peer network. The method includes: establishing a transaction, and signing the transaction to generate a first partially-signed transaction. The method also includes: determining whether at least one second partially-signed transaction related to the transaction is stored in a signature pool of the digital currency transaction device; if the at least one second partially-signed transaction related to the transaction is stored in the signature pool of the digital currency transaction device, combining the first partially-signed transaction and the at least one second partially-signed transaction to obtain a signed transaction; and conversely, if the at least one second partially-signed transaction related to the transaction is not stored in the signature pool of the digital currency transaction device, taking the first partially-signed transaction as the signed transaction. The method further includes: determining whether the signed transaction is valid; and if the signed transaction is not valid, putting the first partially-signed transaction into the signature pool of the digital currency transaction device and broadcasting the first partially-signed transaction to a signature pool of at least one another digital currency transaction device from the signature pool of the digital currency transaction device.
In an exemplary embodiment of the invention, the step of broadcasting the first partially-signed transaction to the signature pool of the at least one another digital currency transaction device includes: transmitting an inquiry signal to the at least one another digital currency transaction device; and receiving a response signal in response to the inquiry signal from the at least one another digital currency transaction device, wherein the response signal indicates whether the first partially-signed transaction is recorded in the signature pool of the at least one another digital currency transaction device.
In an exemplary embodiment of the invention, the digital currency transaction signature method further includes: when the response signal indicates that the first partially-signed transaction is not recorded in the signature pool of the at least one another digital currency transaction device, transmitting the first partially-signed transaction to the signature pool of the at least one another digital currency transaction device.
In an exemplary embodiment of the invention, the digital currency transaction signature method further includes: if the signed transaction is valid, putting the signed transaction into a memory pool of the digital currency transaction device and broadcasting the signed transaction to memory pools of other digital currency transaction devices in the peer-to-peer network.
The invention provides a digital currency transaction device, and the digital currency transaction device includes: a digital currency transaction establishing module, a digital currency transaction signing module and a digital currency transaction processing module. The digital currency transaction establishing module is configured to establish a transaction, the digital currency transaction establishing module is configured to sign the transaction to generate a first partially-signed transaction, and the digital currency transaction processing module is configured to determine whether at least one second partially-signed transaction related to the transaction is stored in a signature pool of the digital currency transaction device. If the at least one second partially-signed transaction related to the transaction is stored in the signature pool of the digital currency transaction device, the digital currency transaction processing module combines the first partially-signed transaction and the at least one second partially-signed transaction to obtain a signed transaction. Otherwise, if the at least one second partially-signed transaction related to the transaction is not stored in the signature pool of the digital currency transaction device, the digital currency transaction processing module takes the first partially-signed transaction as the signed transaction. The digital currency transaction processing module is further configured to determine whether the signed transaction is valid. If the signed transaction is not valid, the digital currency transaction processing module is further configured to put the first partially-signed transaction into the signature pool of the digital currency transaction device and broadcast the first partially-signed transaction to a signature pool of at least one another digital currency transaction device from the signature pool of the digital currency transaction device.
In an exemplary embodiment of the invention, the digital currency transaction processing module is further configured to transmit an inquiry signal to the at least one another digital currency transaction device. The digital currency transaction processing module is further configured to receive a response signal for replying the inquiry signal from the at least one another digital currency transaction device. The response signal indicates whether the first partially-signed transaction is recorded in the signature pool of the at least one another digital currency transaction device.
In an exemplary embodiment of the invention, when the response signal indicates that the first partially-signed transaction is not recorded in the signature pool of the at least one another digital currency transaction device, the digital currency transaction processing module is further configured to transmit the first partially-signed transaction to the signature pool of the at least one another digital currency transaction device.
In an exemplary embodiment of the invention, if the signed transaction is valid, the digital currency transaction processing module is further configured to put the signed transaction into a memory pool of the digital currency transaction device and broadcast the signed transaction to memory pools of other digital currency transaction devices in a peer-to-peer network.
The invention provides a digital currency transaction signature system, and the digital currency transaction signature system includes a plurality of digital currency transaction signature devices. The digital currency transaction devices are connected to one another via a peer-to-peer network. The digital currency transaction devices include a first digital currency transaction device and at least one second digital currency transaction device. The first digital currency transaction device is configured to establish a transaction and sign the transaction to generate a first partially-signed transaction. The first digital currency transaction device is further configured to determine whether at least one second partially-signed transaction related to the transaction is stored in a signature pool of the first digital currency transaction device. If the at least one second partially-signed transaction related to the transaction is stored in the signature pool of the first digital currency transaction device, the first digital currency transaction device combines the first partially-signed transaction and the at least one second partially-signed transaction to obtain a signed transaction. Conversely, if the at least one second partially-signed transaction related to the transaction is not stored in the signature pool of the first digital currency transaction device, the first digital currency transaction device takes the first partially-signed transaction as the signed transaction. The first digital currency is further configured to determine whether the signed transaction is valid. If the signed transaction is not valid, the first digital currency transaction device is further configured to put the first partially-signed transaction into the signature pool of the first digital currency transaction device and broadcast the first partially-signed transaction to a signature pool of at least one second digital currency transaction device from the signature pool of the first digital currency transaction device.
In an exemplary embodiment of the invention, the first digital currency transaction device is further configured to transmit an inquiry signal to the at least one second digital currency transaction device. The at least one second digital currency transaction device is configured to determine whether the first partially-signed transaction is stored in the signature pool of the at least one second digital currency transaction device according to the inquiry signal and transmit a response signal for replying the inquiry signal to the first digital currency transaction device.
In an exemplary embodiment of the invention, when the response signal indicates that the first partially-signed transaction is not recorded in the signature pool of the at least one second digital currency transaction device, the first digital currency transaction device transmits the first partially-signed transaction to the signature pool of the at least one second digital currency transaction device.
In an exemplary embodiment of the invention, if the signed transaction is valid, the first digital currency transaction device is further configured to put the signed transaction into a memory pool of the first digital currency transaction device and broadcast the signed transaction to memory pools of other digital currency transaction devices in a peer-to-peer network.
Based on the above, according to the method and the system for digital currency transaction signature, a broadcasting mechanism is established between the digital currency transaction devices, so that each of the digital currency transaction devices may transmit the signed transaction to one another through the broadcasting mechanism without relaying on the external transmission methods to transmit the transaction with incomplete multisignature. Accordingly, the bottleneck for using multisignature may be reduced and its security may be ensured.
To make the above features and advantages of the present disclosure more comprehensible, several embodiments accompanied with drawings are described in detail as follows.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
Reference will now be made in detail to the present preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
In order to provide the convenient and reliable mechanism for multi-signature to the users under the existing network environment of the digital currency transaction, the invention aims to establish a broadcasting mechanism for transmitting the transaction between the digital currency transaction devices of the users, such that the transaction with incomplete multi-signature may be completed without using the transmission methods outside the network environment of the digital currency transaction. Accordingly, the security of multi-signature in the digital currency transaction may be enhanced.
Referring to
For example, in the present exemplary embodiment, the network 104 is a peer-to-peer (P2P) network. The P2P network is an Internet system not having a center server and relying only on information exchange between peers, which is capable of reducing the number of nodes in the conventional network transmission to lower the risk of data loss. The P2P network is different from a centralized network system having the center server. Nodes of the P2P network spread all over the entire Internet, and each of user terminals is one of the nodes having functionalities of the server. In particular, none of the nodes is able to directly locate the other nodes, and the information exchange must be performed relying on a user group. Because it is difficult to monitor the nodes of the P2P network, the P2P network is widely applied in fields with high standard for networking privacy. For example, network systems using the P2P network technology includes the Bitcoin network, the Gnutella network, the Freenet network and the like. It is worth mentioning that, the invention is not intended to limit the form of the network 104. For example, in another embodiment, the network 104 may also be other suitable network communication protocols, which are not particularly limited in the invention.
Referring back to
Referring to
In particular, in the operating environment of the digital currency, information regarding each transaction must be broadcast to all the miners (and the mining poor) for verification. Also, the miner must participate the mining according to partial information of previous mining and received transaction information and also perform a verification 212 to determine a correctness of said information. A broadcasting 210 refers to a transmission of the transaction information performed in the P2P network via the Internet relay chat (IRC). Because the transmitting speeds in different networks may not be the same, the transmission information received by the miners may be different from one another. Accordingly, the partial information of the previous mining, new information and the received transaction information are bundled into one block by the miner who has mined the block, and the block is then transmitted to the other miners for verification.
Referring to
In an operating mechanism of the digital currency, a process of verifying one transaction is realized by a proof-of-work system for solving a series of computing challenges. Because the proof-of-work system requires the computing power of a computer to be at a specific level, a certain amount of times is required to solve the computing challenges. Accordingly, unless attackers have the computing power far stronger than the computing power of the entire P2P network in order to generate the block chain in a faster speed, the attackers are unable to rewrite the transaction history.
Referring to
In order to describe the operations of the digital currency transaction signature system 100 more clearly, an example is provided below with reference to the digital currency transaction signature system 100 of
Referring to
The microprocessor unit 402 is configured to control overall operations of the digital currency transaction device 400. For example, the microprocessor unit 402 may be a central processing unit (CPU). In particular, the microprocessor unit 402 issues a command to the digital currency transaction device 400 in order to execute the operations of the digital currency transaction signature between the digital currency transaction devices.
The storage circuit 404 is coupled to the microprocessor unit 402, and configured to temporarily store commands executed by the microprocessor unit 402 or data. For example, the storage circuit 404 stores software program codes of the digital currency transaction establishing module 410, the digital currency transaction signing module 420, and the digital currency transaction processing module 430. Later, when the digital currency transaction device 400 is enabled, said software program codes are loaded from the storage circuit 404 into a buffer memory of the digital currency transaction device 400 and executed by the microprocessor unit 402 to operate functions of said modules. In the present exemplary embodiment, the storage circuit 404 may be a Dynamic Random Access Memory (DRAM), or a Static Random Access Memory (SRAM) and the like. Nevertheless, it should be understood that the invention is not limited thereto, and the storage circuit 404 may also be other appropriate memories.
The communication module 406 is coupled to the microprocessor unit 402 and configured to communicate with other digital currency transaction devices outside the digital currency transaction device 400 via the network 104. For example, the communication module 406 of the digital currency transaction device 102-1 communicates with the digital currency transaction device 102-2 via the network 104. In the present exemplary embodiment, the communication module 406 communicates with the external digital currency transaction devices via the P2P network. However, it should be understood that, the invention is not limited thereto, and the invention is also suitable for other wireless communication networks.
The digital currency transaction establishing module 410 is configured to establish a transaction. For example, when the digital currency transaction device 102-1 intends to transfer the digital currency to the digital currency transaction device 102-2, the digital currency transaction establishing module 410 of the digital currency transaction device 102-1 establishes a transaction 500 corresponding to said activity.
The digital currency transaction signing module 420 is configured to sign the transaction to generate a partially-signed transaction (also known as a first partially-signed transaction). For example, the digital currency transaction signing module 420 of the digital currency transaction device 102-1 signs the transaction 500 to generate a first partially-signed transaction 501.
The digital currency transaction processing module 430 is configured to determine whether a partially-signed transaction related to the transaction 500 is stored in a signature pool of the digital currency transaction device 102-1. Herein, the partially-signed transaction related to the transaction 500 means that, in the case where the transaction 500 is valid only after being signed by the digital currency transaction device 102-1, the digital currency transaction device 102-5 and the digital currency transaction device 102-7, the partially-signed transaction related to the transaction 500 is the transaction respectively signed by the digital currency transaction device 102-1, the digital currency transaction device 102-5 and the digital currency transaction device 105-7.
In the present exemplary embodiment, when the digital currency transaction processing module 430 of the digital currency transaction device 102-1 determines that the partially-signed transaction related to the transaction 500 (hereinafter, also known as a second partially-signed transaction) is stored in the signature pool 450 of the digital currency transaction device 102-1, the digital currency transaction device 102-1 combines the first partially-signed transaction 501 and the second partially-signed transaction to generate a signed transaction. Conversely, if the digital currency transaction processing module 430 of the digital currency transaction device 102-1 determines that the second partially-signed transaction related to the transaction 500 is not stored in to the signature pool 450 of the digital currency transaction device 102-1, the digital currency transaction device 102-1 takes the first partially-signed transaction 501 as the signed transaction. For example, in the present exemplary embodiment, since the digital currency transaction processing module 430 of the digital currency transaction device 102-1 determines that the second partially-signed transaction related to the transaction 500 is not stored in the signature pool 450 of the digital currency transaction device 102-1, the digital currency transaction device 102-1 takes the first partially-signed transaction 501 as a signed transaction T1.
Subsequently, the digital currency transaction processing module 430 of the digital currency transaction device 102-1 determines whether the signed transaction T1 is valid, and puts the first partially-signed transaction 501 into the signature pool of the digital currency transaction device 102-1 if the signed transaction T1 is not valid. Thereafter, the first partially-signed transaction 501 is broadcast to a signature pool of at least another digital currency transaction device from the signature pool of the digital currency transaction device 102-1. Specifically, in the present exemplary embodiment, the transaction 500 can only be valid after being signed by the digital currency transaction device 102-1, the digital currency transaction device 102-5 and the digital currency transaction device 102-7, because the transaction 500 is only signed by the digital currency transaction device 102-1 at this moment, the digital currency transaction device 102-1 puts the first partially-signed transaction 501 into the signature pool 450 and broadcasts the first partially-signed transaction 501 to the signature pool 450 of the digital currency transaction device 102-5 and the signature pool 450 of the digital currency transaction device 102-7.
It should be noted that, the digital currency transaction establishing module 410, the digital currency transaction signing module 420, the digital currency transaction processing module 430, the memory pool 440 and the signature pool 450 are implemented by software modules or program codes. However, the invention is not limited thereto. For example, in another exemplary embodiment of the invention, the digital currency transaction establishing module 410, the digital currency transaction signing module 420, the digital currency transaction processing module 430, the memory pool 440 and the signature pool 450 may also be implemented by hardware circuits. For example, the digital currency transaction establishing module, the digital currency transaction signing module and the digital currency transaction processing module may be implemented by hardware circuits to be a digital currency transaction establishing circuit, a digital currency transaction signing circuit and a digital currency transaction processing circuit; and the memory pool 440 and the signature pool 450 may be implemented by register circuits.
Referring to
Referring to
It is worth mentioning that, although the present exemplary embodiment is described by using the example in which one transaction is only valid after the transaction is signed by three users through their digital currency transaction devices, the invention is not intended to limit an amount of signatures signed for each transaction. For example, in another exemplary embodiment of the invention, one transaction based on the digital signature may also be valid after the transaction is signed by at least two among the three users through their digital currency transaction devices. Alternatively, in another exemplary embodiment, one transaction based on the digital signature may be valid after the transaction is signed by only two users through their digital currency transaction devices.
Referring to
In step S803, the digital currency transaction device signs the transaction to generate a first partially-signed transaction.
In step S805, the digital currency transaction device determines whether at least one second partially-signed transaction related to the transaction is stored in a signature pool of the digital currency transaction device. If the at least one second partially-signed transaction related to the transaction is stored in the signature pool of the digital currency transaction device, in step S807, the digital currency transaction device combines the first partially-signed transaction and the at least one second partially-signed transaction to obtain a signed transaction. If the at least one second partially-signed transaction related to the transaction is not stored in the signature pool of the digital currency transaction device, in step S809, the first partially-signed transaction is taken as the signed transaction.
Subsequently, in step S811, the first digital currency transaction device determines whether the signed transaction is valid.
If the signed transaction is valid, in step S813, the signed transaction is put into a memory pool of the digital currency transaction device and the signed transaction is broadcast to memory pools of other digital currency transaction devices in the peer-to-peer network.
If the signed transaction is not valid, in step S815, the first partially-signed transaction is put into the signature pool of the digital currency transaction device and the first partially-signed transaction is broadcast to a signature pool of at least one another digital currency transaction device from the signature pool of the digital currency transaction device.
Nevertheless, the steps depicted in
In summary, according to the digital currency transaction signature method of the invention, the signature pool is established in the digital currency transaction device of each of the users to temporarily store the partially-signed transaction, and the signals are transmitted between the signature pools corresponding to each of the users to synchronize the partially-signed transaction to the signature pools of the other users. Accordingly, the invention is capable of achieving multisignature under the operating logic and mechanism of the block chain of the existing digital currency without using other external transmission methods to transmit the transaction with incomplete multisignature. Accordingly, the security of multi-signature in the digital currency transaction may be effectively enhanced.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
201510303168.4 | Jun 2015 | CN | national |