A method of a payment for an Internet of Things (IoT) device, comprising steps of:
- registering, by a payment supporting server, (I) a certificate of a service providing device and a certificate of the digital wallet in a first blockchain database;
- managing, by the payment supporting server, a corresponding first, second and third blockchain transaction IDs of the certificate of the IoT device, the certificate of the service providing device and the certificate of the digital wallet registered in the first blockchain database
- acquiring a specific hash value for each of the certificates by applying a hash function to each of the certificates;
- calculating a respective hash value for each of the certificates by using:
- (II-1) the specific hash values for each of the certificates and,
- (II-2) at least one neighboring hash value for each of the specific hash values, the at least one neighboring hash value for each of the specific hash values is each a hash value of at least one other transaction registered in the first blockchain database in one of anchoring conditions;
- registering, by the payment supporting server, (II) the representative hash value for each of the certificates in a second blockchain database;
- managing, by the payment supporting server, a corresponding fourth, fifth and sixth blockchain transaction IDs of the representative hash values registered in the second blockchain database,
- (a) performing, by a digital wallet of a user, processes of:
- (i) acquiring identification information on the IoT device from the IoT device in response to a link-connection requesting signal from a user device, and displaying a confirmation requesting signal on whether a link between the IoT device and the digital wallet as a payer therefor is to be established on the user device,
- (ii) transmitting, when a link-connection instructing signal on the link is acquired from the user device, a link-connection requesting transaction to the payment supporting server, wherein the link-connection requesting transaction includes identification information on the digital wallet, the identification information on the IoT device and a signature value for identification acquired by signing the identification information on the IoT device with the certificate of the digital wallet;
- (1) verifying, by the payment supporting server, the IoT device corresponding to the identification information on the IoT device included in the link-connection requesting transaction,
- (2) connecting, by the payment supporting server, the link when the IoT device is determined as valid,
- (3) registering, by the payment supporting server, link information on the link in the first blockchain database and manage a corresponding first link-info blockchain transaction ID of the link information registered in the first blockchain database,
- (4) (4-1) registering, by the payment supporting server, in the second blockchain database, when one of the anchoring conditions is satisfied, a fourth representative hash value calculated by using (i) a fourth specific hash value acquired by applying the hash function to the link information and (ii) a corresponding at least one neighboring hash value,
- (4-2) managing, by the payment supporting server, a corresponding second link-info blockchain transaction ID of the fourth representative hash value registered in the second blockchain database, and
- (4-3) transmitting, by the payment supporting server, the link information to at least one of the IoT device and the digital wallet;
- and
- acquiring, by the digital wallet, a confirmation requesting transaction on a billing detail corresponding to the identification information on the digital wallet from the payment supporting server;
- (b) performing, by the digital wallet, processes of:
- (i) displaying a confirmation requesting signal for the billing detail through a display of the user device, and
- (ii) transmitting, when a confirming signal of the user on the billing detail is acquired from the user device, a confirming transaction including the identification information on the digital wallet and a signature value for verification acquired by signing a value for verification with the certificate of the digital wallet to the payment supporting server;
- (I) verifying, by the payment supporting server, the confirming transaction,
- determining, by the payment supporting server, the confirming transaction as valid, and
- (II) transmitting, by the payment supporting server, amount of the billing detail to a fund source server corresponding to the digital wallet or determine an advance payment prepared for the IoT device to be used,
- wherein the confirmation requesting transaction is generated at the payment supporting server via acquiring the identification information on the digital wallet corresponding to the identification information on the IoT device included in a billing transaction for the IoT device retrieved from the first blockchain database by referring to the link information, in response to the billing transaction which additionally includes the billing detail, a signature value for billing acquired by signing the billing detail with the certificate of the service providing device and the identification information on the service providing device acquired from the service providing device, and wherein the confirmation requesting transaction further includes the billing detail, the identification information on the digital wallet and the value for verification,
- wherein, the anchoring conditions include at least one of (i) a condition that one or more transactions related to the payment for the IoT device are created a certain number of times, (ii) a condition that a certain amount of time is elapsed, (iii) a condition that a block is created in the first blockchain database, and (iv) a condition that has at least one of characteristics of services.