WO2023219478A1 - Method, system and non-transitory computer-readable recording medium for managing puzzled token - Google Patents

Method, system and non-transitory computer-readable recording medium for managing puzzled token Download PDF

Info

Publication number
WO2023219478A1
WO2023219478A1 PCT/KR2023/006568 KR2023006568W WO2023219478A1 WO 2023219478 A1 WO2023219478 A1 WO 2023219478A1 KR 2023006568 W KR2023006568 W KR 2023006568W WO 2023219478 A1 WO2023219478 A1 WO 2023219478A1
Authority
WO
WIPO (PCT)
Prior art keywords
token
survey
puzzled
respondent
issuer
Prior art date
Application number
PCT/KR2023/006568
Other languages
French (fr)
Korean (ko)
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 주식회사 헤세그
Publication of WO2023219478A1 publication Critical patent/WO2023219478A1/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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0203Market surveys; Market polls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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

Definitions

  • the present invention relates to a method, system, and non-transitory computer-readable recording medium for managing puzzled tokens.
  • Blockchain originated from a method of connecting blocks in Satoshi Nakamoto's Bitcoin: A Peer-to-Peer Electronic Cash System in 2008.
  • Blockchain is a general term for a distributed database that shares data bound by hash links on a distributed network composed of multiple network nodes.
  • the purpose of the present invention is to build a DID (Decentralized Identity) solution based on a puzzled token generated by combining personal information of specific nodes that make up a blockchain network.
  • DID Decentralized Identity
  • a representative configuration of the present invention to achieve the above object is as follows.
  • a puzzled token is generated by combining personal information of the issuance requester node, and the puzzled token included in the puzzled token is generated. causing a unique identifier to be deprived, and, on the issuance requester node side, causing a public identifier to be generated based on the deprived unique identifier, wherein the unique identifier is replaced with the public identifier in the puzzled token.
  • a method is provided that includes steps for enabling it to be used in a blockchain network.
  • a system for managing puzzled tokens wherein, on the issuer node side, a puzzled token is generated by combining the personal information of the issuance requester node, and the puzzled token included in the puzzled token is generated.
  • An issuer node management unit that causes a unique identifier to be privately processed, and on the issuance requester node side, generate a public identifier based on the privately processed unique identifier, and replace the unique identifier with the public identifier in the puzzled token.
  • a system is provided that includes an issuance requester node management unit that allows issued tokens to be used in a blockchain network.
  • a DID (Decentralized Identity) solution can be built based on a puzzled token generated by combining personal information of specific nodes that make up a blockchain network.
  • Figure 1 is a diagram showing a schematic configuration of an entire system for managing puzzled tokens according to an embodiment of the present invention.
  • FIGS. 2A to 2C are diagrams for explaining a puzzled token according to an embodiment of the present invention.
  • Figure 3 is a diagram illustrating the management process of a puzzled token according to an embodiment of the present invention.
  • Figure 4 is a block diagram of a system for conducting a survey on a blockchain using a survey token according to some embodiments of the present invention.
  • Figure 5 is a data flow diagram illustrating a survey method performed on a blockchain using a survey token according to some embodiments of the present invention.
  • Figure 6 is a diagram for explaining survey initialization according to some embodiments of the present invention.
  • FIG. 7A is a diagram illustrating the creation of a survey token for a public survey according to some embodiments of the present invention.
  • FIG. 7B is a diagram illustrating the creation of a survey token for an anonymous survey according to some embodiments of the present invention.
  • FIG. 8A is a diagram illustrating the creation of a puzzled survey token for a public survey according to some embodiments of the present invention.
  • FIG. 8B is a diagram illustrating the creation of a puzzled survey token for an anonymous survey according to some embodiments of the present invention.
  • FIG. 9A is a diagram illustrating a respondent's immediate submission of answers included in a survey method according to some embodiments of the present invention.
  • FIG. 9B is a diagram for explaining a respondent's delayed response submission included in a survey method according to some embodiments of the present invention.
  • Figure 1 is a diagram showing a schematic configuration of an entire system for managing puzzled tokens according to an embodiment of the present invention.
  • the entire system may be configured to include a communication network (not shown) and a plurality of nodes 100.
  • the communication network can be configured regardless of communication mode, such as wired communication or wireless communication, and can include a local area network (LAN), a metropolitan area network (MAN), and a wide area network. It can be composed of various communication networks such as a wide area network (WAN).
  • LAN local area network
  • MAN metropolitan area network
  • WAN wide area network
  • the communication network referred to in this specification may be the known Internet or World Wide Web (WWW).
  • WWW World Wide Web
  • the communication network is not necessarily limited thereto and may include at least a portion of a known wired or wireless data communication network, a known telephone network, or a known wired or wireless television communication network.
  • a communication network is a wireless data communication network, including radio frequency (RF) communication, WiFi communication, cellular (LTE, etc.) communication, and Bluetooth communication (more specifically, Bluetooth Low Energy (BLE) communication. )), it may be implemented at least in part of a conventional communication method such as infrared communication, ultrasonic communication, etc.
  • RF radio frequency
  • WiFi WiFi communication
  • cellular LTE, etc.
  • Bluetooth communication more specifically, Bluetooth Low Energy (BLE) communication.
  • BLE Bluetooth Low Energy
  • a plurality of nodes 10 are contact points or connection points that can communicate with other nodes 10 through a communication network, such as servers, computers, laptops, smartphones, and tablet PCs.
  • a physical node such as a digital device equipped with a memory means and a microprocessor equipped with computing power, or a logical node such as an application, a program module, a virtual machine, etc. (i.e. a virtual node) ) may be a concept that includes.
  • the plurality of nodes 10 according to an embodiment of the present invention may include a publisher node 100 and an issue requestor node 200, which will be described later.
  • the issuer node 100 may be referred to as an issuer, etc.
  • the issuance requester node 200 may be referred to as an issuance requester, responder, etc.
  • the plurality of nodes 10 may include a management system (not shown) according to the present invention in the form of program modules such as applications and widgets. Additionally, such program modules may be downloaded from an external application distribution server (not shown) or an external system (not shown).
  • a blockchain network (a blockchain network may be referred to as a blockchain in this specification) according to an embodiment of the present invention is stored on the network by a plurality of nodes 10 participating in the network. It may be a network that jointly verifies the information to be submitted, records and shares the verified information on the network, thereby securing the integrity and reliability of the above-recorded information without relying on an authorized third party.
  • a blockchain network may be a network that is at least partially similar to the characteristics of conventional blockchain networks such as Ethereum, Binance Smart Chain, and NiktoNet.
  • this blockchain network may be a private blockchain network, a public blockchain network, or a mixed network of private blockchain and public blockchain, etc. It may be a concept that includes various types of blockchain networks.
  • the management system causes (a) the issuer node 100 to generate a puzzled token (T) by combining the personal information of the issuance requester node 200, A function to ensure that the unique identifier included in the puzzled token (T) is treated privately, (b) on the issuance requester node 200 side, to generate a public identifier based on the privately processed unique identifier, and to make the puzzled token (T) can perform functions such as allowing tokens whose unique identifiers are replaced with public identifiers to be used in the blockchain network.
  • the functions of the above management system may be performed based on at least one consensus algorithm operating on a blockchain network.
  • management system has been described as above, this description is illustrative, and at least some of the functions or components required for the management system are installed within the plurality of nodes 10 or an external system (not shown) as needed. It is obvious to those skilled in the art that it may be realized in or included in a plurality of nodes 10 or an external system.
  • a user uses an application that includes at least some of the functions of the management system (or blockchain network) according to the present invention through his or her node, or uses the node to By accessing a website that provides at least some of the functions of the management system (or blockchain network) according to the present invention, the puzzled token (T) according to the present invention can be managed.
  • the management system may be configured to include a publisher node management unit and an issue requestor node management unit.
  • the issuer node management unit and the issue requestor node management unit may be program modules that communicate with an external system (not shown).
  • These program modules may be included in the management system in the form of operating systems, application modules, or other program modules, and may be physically stored in various known storage devices. Additionally, these program modules may be stored in a remote storage device capable of communicating with the management system. Meanwhile, such program modules include, but are not limited to, routines, subroutines, programs, objects, components, data structures, etc. that perform specific tasks or execute specific abstract data types according to the present invention.
  • FIGS. 2A to 2C are diagrams for explaining a puzzled token according to an embodiment of the present invention.
  • the puzzled token (T) is attached to at least some of the personal information of the issuance requester 200, for example, personal identification data such as gender, age, country (or nationality), region, occupation, education, etc. It may be generated from the publisher 100 to include data selected for.
  • the token created in this way can function as a type of NFT (Non Fungible Token) by becoming the unique token of the issuance requester 200.
  • the puzzled token T may include data generated by assigning a code to the personal identification data of the issuance requester 200, as shown in FIG. 2B.
  • the issuer 100 provides personal information such as gender, age, nationality, region, occupation, and education to the issuer 100, the issuer 100 provides a code assigned to each information and a random number (Random No. .) can be given to generate a puzzled token (T) containing the combined personal identification data.
  • the issuer 100 may create an image file as data visualizing the puzzled token T.
  • the issuer 100 creates a color table to correspond to the code assigned to information such as gender, age, and nationality provided by the issuance requester 200, and uses the puzzled token (T) as a personal identification. By dividing sectors to correspond to the type of data and filling the divided sectors with colors corresponding to the code, an image file as data in which the puzzled token (T) is visualized can be created.
  • the puzzled token (T) can be divided into a plurality of sectors (t1 to t7) to correspond to six types of personal identification data and one arbitrary number.
  • a plurality of sectors (t1 to t7) may be filled with personal identification data and a color corresponding to a code assigned to a random number and expressed as a visualized image.
  • the puzzled token T may be expressed as an image through a visualization method different from that of FIGS. 2A and 2C in which the circle is divided equally.
  • the puzzled token (T) is expressed as an image by filling in color in the divided area to correspond to the code assigned to the personal identification data based on polygons, or to include an image file or shape corresponding to the assigned code. It can also be expressed.
  • the puzzled token (T) generated in this way contains the personal identification data of the issuance requester 200, it can be used in a system that requires user authentication for access or use by the issuance requester 200.
  • a puzzled token (T) can be issued as an individual's ID and password to access a service online, or it can be issued and used as a DID that includes a security key, ID card, and registration certificate for individual identification offline. there is.
  • the puzzled token (T) can also be used in a data collection process such as a survey in which the issuance requester 200 can participate.
  • Figure 3 is a diagram illustrating a management process (eg, generation and use process) of a puzzled token according to an embodiment of the present invention.
  • the issue requester node management unit may cause the personal information of the issue requester node 200 to be transmitted from the issue requester node 200 to the issuer node 100.
  • the personal information of the issue requester node 200 transmitted to the issuer node 100 may include the signature of the issue requester node 200.
  • the issuer node management unit may generate a puzzled token (T) by combining the personal information of the issuance requester node 200 on the issuer node 100 side. Since the basic process of generating the puzzled token T has been described above with reference to FIGS. 2A to 2C, detailed description will be omitted.
  • the issuer node management unit may cause the puzzled token (T) to be recorded (or distributed) on the blockchain network on the issuer node 100 side.
  • the puzzled token (T) may be encrypted based on a known encryption algorithm such as the RSA algorithm during the process of recording on the blockchain network.
  • the issuer node management unit may ensure that the unique identifier included in the puzzled token (T) is processed privately on the issuer node 100 side.
  • the puzzled token (T) may further include a unique identifier generated based on the personal information of the issuance requester node 200 in addition to the personal information of the issuance requester node 200. This unique identifier may prove that the puzzled token (T) was created at the request of the issuing requester node (200) or that the puzzled token (T) is owned by the issuing requester node (200).
  • the issue requester node management unit may cause a public identifier to be generated based on a unique identifier that has been made private on the issue requester node 200 side.
  • the issuance requester node management unit may cause a public identifier to be individually generated according to the purpose of use of the puzzled token (T) on the issuance requester node 200 side. That is, the public identifier may be generated in different forms (e.g., different strings) depending on the purpose of use of the puzzled token (T).
  • one of the purposes of using the puzzled token (T) may include a survey conducted on a blockchain network, which will be described later.
  • the issuance requester node management unit may cause the unique identifier included in the puzzled token T to be replaced with a public identifier on the issuance requester node 200 side.
  • the issuance requester node management unit may, on the issuance requester node 200 side, replace the unique identifier with a public identifier as described above so that the token containing the public identifier can be used in the blockchain network.
  • the token used in the blockchain network corresponds to a token containing a public identifier, not a token containing a unique identifier that has been made private.
  • the crossed arrows in Figure 3 indicate that tokens containing private unique identifiers are not used in the blockchain network.
  • a type of conversion (or processing) process may be performed on the token including the public identifier.
  • the token containing the public identifier may be decombined with the personal information of the issuance requester node 200, and further be disclosed to the public. Identifiers may be incinerated.
  • This conversion (or processing) process may be understood as a process in which the token itself, including the public identifier, is burned. Meanwhile, the individual personal information of the issuing requester node 200, whose combination has been released from the token containing the public identifier, can be stored as big data on the blockchain network.
  • steps S10 to S70 it has been explained that certain functions are performed by the issuer node management unit and the issuance requester node management unit as the main subjects, but it may also be explained that each function is performed by the publisher node and the issuance requester node as the main subjects. It is self-evident that it exists.
  • the order of steps S10 to S70 described above is not limited to that shown in the drawings, and the order may be changed within the scope of achieving the purpose of the present invention, and further, a plurality of steps may be combined with each other. It should be noted that the steps may be separated into multiple steps.
  • FIG 4 is a block diagram of a token usage system 1 on a blockchain in which combined information is stored according to some embodiments of the present invention (the system may be the same system as the management system or a system including the management system).
  • the data collection process described below may refer to a survey conducted using a puzzled token (T) generated on a blockchain.
  • the token use system 1 on a blockchain in which combined information is stored includes an issuer 100, a responder 200, a vendor 300, and a blockchain 500. It can be included.
  • the responder 200 may be understood to perform a similar function to the requester 200 for issuance of the puzzled token (T) described in FIGS. 2A to 2C.
  • the components described below are blockchain technology such as smartphones, personal computers (PCs), server computers, tablet PCs, and hardware wallets.
  • (500) may include a computing device capable of generating a survey or submitting answers.
  • the publisher 100 can manage the overall process of the survey 110 performed in the present invention.
  • the publisher 100 may create a survey 110, authenticate respondents 200 who wish to participate in the survey, and aggregate the results of the survey 110.
  • the survey 110 generated by the issuer 100 may be defined to have various characteristics depending on its purpose.
  • the survey 110 may be an open survey or an anonymous survey, and may be an immediate answer submission that allows for immediate vote counting, or an encrypted answer that allows for delayed counting. It could be submission.
  • the survey 110 may include only personal information for identification of the respondent 200, or may be a vote using a puzzled survey token containing metadata of the respondent 200. .
  • a puzzled survey token is a survey token that can be generated by the issuer 100 conducting the survey 110 by combining only the necessary information like a puzzle as described using FIGS. 2A to 2C.
  • the respondent 200 can be certified based on information previously entered about the issuer 100 and receive a puzzle-shaped survey token.
  • the issuer (100) When the issuer (100) generates a puzzled survey token, it can be created by combining only the information needed among the personal information for respondent identification, so each respondent (200) who receives the puzzled survey token is unique.
  • the token provided to the respondent 200 may include an image file as visualized data as described in FIGS. 2A to 2C.
  • personal information combined to create a puzzled survey token may be encrypted.
  • the respondent (200) can use the provided puzzled survey token to participate in the survey described below, but the respondent can also provide the puzzled survey token to a third party to establish the unique qualifications of the respondent (200). Alternatively, it can be used as a kind of ID that can verify your identity.
  • the puzzled survey token issued from the issuer 100 includes a code assigned to each piece of information and personal identification data combined by assigning a random number, but the issuance of such token is recorded in the blockchain 500.
  • No personally identifiable data may be stored in blockchain data.
  • the respondent 200 may participate in the survey by combining the puzzled survey token with personal information about the respondent 200 expressed as metadata along with the survey results.
  • the issuer 100 can obtain more detailed results about the survey by analyzing the metadata along with the survey results included in the puzzled survey token.
  • the metadata provided by the respondent 200 may be generated in the form of personal identification data that is combined by assigning a code assigned to each piece of information and a random number.
  • the issuer 100 may generate a private key (Priv I ), a public key (Pub I ), etc. unique to the issuer. As described later, if the survey token 120 used in the survey 110 is a puzzled survey token, the issuer 100 provides a symmetric key (Key) for encrypting and decrypting the puzzled survey token. I ) and a pair of keys (Enc M , Dec M ) required for encryption and decryption of the metadata included therein can be generated.
  • Key symmetric key
  • the publisher 100 verifies the qualifications of the respondent 200 in response to a request for participation in a survey containing personally identifiable data or metadata from the respondent 200, and sends a request to the respondent 200 who successfully passes the verification.
  • a survey token 120 may be provided.
  • one or more signatures can be created using the key to generate the survey token 120, etc.
  • the issuer 100 announces the start and end of the survey 110, or collects valid transactions for the survey results recorded in the form of transactions on the blockchain 500 and posts them on the blockchain. A compilation of surveys can be performed.
  • the respondent 200 may provide a request to participate in a survey containing personal identification data or metadata to the issuer 100 and perform a survey using the survey token 120 provided in response to the request.
  • the survey can be performed by recording a transaction on the blockchain to transmit the survey token 120 to an address on the blockchain 500.
  • the respondent 200 is exemplarily shown using the survey application 400 to perform the survey 110 .
  • the survey application 400 may include an application program run on a computing device such as a smartphone, tablet PC, desktop computer, or laptop computer to conduct the survey 110 and submit answers, but the present invention is not limited to this. It doesn't work.
  • FIG. 4 shows that the token usage system 1 on the blockchain in which the combined information is stored includes one responder 200, the present invention is not limited thereto. Of course, in order to meet the purpose of the survey conducted by the system 1, a survey can be conducted on a plurality of respondents 200.
  • the respondent 200 may present evidence of participation in the survey to the vendor 300, and upon completion of verification of the evidence, receive the provided compensation and store it.
  • the vendor 300 may verify the claim for compensation provided by the respondent 200 and, if the claim is valid, provide the compensation to the wallet address of the respondent 200 or the address specified in the claim.
  • the blockchain 500 may include a network established by connecting nodes composed of a plurality of computing devices.
  • a plurality of nodes constituting the blockchain 500 can mutually verify transactions or smart contracts executed to proceed and record the entire survey process.
  • the blockchain 500 may record the answers of the survey 110 created by the issuer 100, the answers of the survey created by the respondent 200, and the results of aggregating the answers.
  • Figure 5 is a data flow diagram illustrating a method of using tokens on a blockchain where combined information is stored according to some embodiments of the present invention.
  • the method of using a token on a blockchain storing combined information includes a step in which a survey is created and announced by the issuer 100 (S110), and the respondent 200 is an individual.
  • a step of registering for a survey on the issuer 100 using identification data or metadata (S120) the issuer 100 verifies the qualifications of the respondent 200, and as a result of the verification, the respondent 200 is valid.
  • a survey token is generated and provided to the respondent 200 (S130); a survey answer is submitted to the blockchain 500 using the survey token from the respondent 200 (S140); The issuer 100 aggregates the survey answers recorded on the blockchain 500 (S150), and the issuer 100 records the survey results on the blockchain 500 based on the aggregated survey answers.
  • Figure 6 is a diagram for explaining survey initialization according to some embodiments of the present invention.
  • the publisher 100 can initialize the survey by creating and announcing the survey 110. Issuer 100 may generate one or more public key and private key pairs (Pub I , Priv I ) to be used for signing survey tokens 120.
  • Pub I , Priv I public key and private key pairs
  • a key (Key I ) for encrypting and decrypting the puzzled survey token can be created.
  • the key (Key I ) may be used in a symmetric key encryption algorithm, and this algorithm may include an Advanced Encryption Standard (AES) algorithm, but the present invention is not limited thereto.
  • AES Advanced Encryption Standard
  • the publisher 100 may declare an identifier (SurveyID) to identify the survey to create the survey 110.
  • the identifier may include, for example, a hash of the string included in the string identifier of the survey, and the algorithm for calculating the hash may include, for example, SHA-2, SHA-3, etc., but according to the present invention This is not limited to this.
  • Survey 110 generated from publisher 100 may include, for example, JSON, YAML, TOML, XML, or a structured document in a format that can be processed by survey app 400. These documents may contain at least one question. Additionally, the survey 110 may include contact point information through which respondents wishing to participate access to request a survey token along with personal data, etc.
  • the survey 110 may include a structured query document (RespondentDoc) that can record personal information (described below as metadata) about the respondent 200.
  • the respondent 200 can generate metadata by filling out the form of the document (RespondentDoc).
  • the metadata may include various questions regarding personal information, such as the respondent 200's age, region of birth, and gender, for example.
  • the issuer 100 may impose certain conditions on eligibility for participation in the survey 110. For example, restrictions on specific gender, age group, residential area, etc. are added, and when a survey token containing metadata is provided from the respondent 200, the response results are filtered according to the above certain conditions, and the survey is aggregated. Available.
  • the publisher 100 may create the survey 110 and define the research method of the survey 110.
  • Survey 110 may, for example, be a public survey where the identity of the respondent 200 is disclosed and the answers can be tracked, or it may include an anonymous survey where the respondent cannot be traced.
  • the publisher 100 may specify the aggregation method of the survey 110 along with the creation of the survey 110.
  • Aggregation of responses in the survey 110 may include immediate aggregation, which is tallied immediately after submission by the respondent 200, and delayed aggregation, which can be confirmed only after response submission by all respondents 200 is completed.
  • the respondent 200 may generate a key pair (Enc I , Dec I ) to encrypt the answer of the respondent 200.
  • the publisher 100 can announce the survey 110 by completing the creation of the survey 110 and recording the generated survey 110 in the blockchain 500.
  • the survey 110 recorded in the blockchain 500 may be made public and accessible to any respondent.
  • an unspecified number of participants who are the subject of the survey 110 that is, respondents who can receive a survey token ( 200)
  • Certain information may be provided from the candidate.
  • the provided information on the candidate respondents (200) can be used to verify respondent qualifications when the respondent (200) provides a request to participate in a survey for the issuer (100).
  • FIG. 7A is a diagram illustrating the creation of a survey token for a public survey according to some embodiments of the present invention.
  • the respondent 200 recognizes the survey 110 generated by the issuer 100, provides a survey participation request to the issuer 100 for the public survey, and verifies respondent qualifications. When this is completed, a survey token is shown being provided to the respondent 200.
  • the respondent 200 can extract contact information that can access the issuer 100 from the survey 110 recorded in the blockchain 500. Through the contact information, the respondent 200 can request a survey token 120 from the issuer 100 by transmitting personal data and hashes. Meanwhile, before requesting the survey token 120, the respondent 200 may create a wallet address on the blockchain 500 that is used as the origin address of the transaction. Afterwards, the vendor 300 can provide compensation for participating in the survey to the wallet address of the respondent 200.
  • Respondent 200 may generate a public key (Pub V ) for verifying the transaction of the survey 110 and a private key (Priv V ) used to sign the transaction of the survey 110.
  • the public key (Pub V ) and private key (Priv V ) of the respondent 200 may match each other.
  • the respondent 200 may provide the issuer 100 with the respondent's public key (Pub V ) along with personal identification data that can identify the respondent 200.
  • the respondent 200 may sign a survey participation request including the personal identification data with the respondent's private key (Priv V ) and provide it to the issuer 100.
  • the personal identification data of the respondent 200 may include, for example, the respondent 200's wallet address, affiliation, title, security level, etc.
  • the publisher 100 which has received a request to participate in a survey from the respondent 200, can check the personal identification data of the respondent 200 included in the request and evaluate the applicant's eligibility to participate in the survey. This evaluation may be based, for example, on whether the personal identification data of the respondent 200 matches the list of respondents pre-stored by the issuer 100, but the present invention is not limited thereto.
  • the issuer 100 may generate a survey token.
  • Sign(bytes, privKey) which performs the operation of signing the byte string bytes with the private key privKey, is, for example, a Digital Signature Algorithm (DSA) signature, an Elliptic Curve Digital Signature Algorithm (ECDSA) signature, or Ed25519 or other known A digital signature algorithm can be used.
  • DSA Digital Signature Algorithm
  • EDSA Elliptic Curve Digital Signature Algorithm
  • the issuer 100 may generate a survey token by combining the previously provided personal identification data and metadata of the respondent 200. Tokens generated in this way may include the puzzled survey tokens described above.
  • the generated survey token 120 may be provided to the respondent 200 through blockchain.
  • the respondent 200 may keep the token 120 provided for later steps without any further processing.
  • FIG. 7B is a diagram illustrating the creation of a survey token for an anonymous survey according to some embodiments of the present invention.
  • the anonymous survey illustrated in FIG. 7B includes a survey process in which the identity of the respondent 200 is not revealed even by the issuer 100. That is, the following will describe a series of processes in which the issuer 100 signs with its own private key and provides the information to the respondent 200 without knowing the information about the respondent's private key provided by the respondent 200.
  • the respondent 200 recognizes the survey 110 created by the publisher 100, provides a survey participation request to the publisher 100 for an anonymous survey, and verifies the respondent's qualifications. When this is completed, a survey token is shown being provided to the respondent 200.
  • a survey token is shown being provided to the respondent 200.
  • the respondent 200 extracting the contact information of the issuer 100 and generating the private key/public key may be the same as in the public survey described above.
  • the respondent 200 may generate a blind hash of the respondent's public key and provide it to the issuer 100 along with the personal identification data of the respondent 200.
  • blind may refer to a protocol that can safely sign a byte string without disclosing the contents of the byte string, such as Blind RSA signature.
  • blind signing the sender's message is blinded until the recipient signs, and the signing party does not know the contents of the message.
  • the sender can obtain a properly signed message by unblinding the signed message.
  • Responder 200 may provide a blind hash (bpk) of the responder's public key along with the responder's personally identifiable data to issuer 100 over a secure communication channel.
  • the issuer 100 may generate a survey token (SurveyToken I ).
  • SignRSA(bytes, privKey) which performs the operation of RSA signing the byte string bytes with the private key privKey, operates on a large integer m obtained from an array of byte strings with the exponent e and modulo N (num(bytes) ⁇ e mod N) It can mean to do.
  • the respondent 200 can unblind the survey token (SurveyToken I ) provided by the issuer.
  • the unblinded survey token (SurveyToken V ) obtained by the respondent 200 is SignRSA(hash(Pub V ), Priv I ), that is, the respondent's public key. (Pub V ) is identical to the issuer's signature. Thanks to the blind signing process, the publisher 100 signs without knowing the value of the responder's public key (Pub V ). If the respondent 200 uses his or her own key (Priv V ) to sign the survey transaction, no one, including the issuer 100, will be able to track the actual respondent.
  • FIG. 8A is a diagram illustrating the creation of a puzzled survey token for a public survey according to some embodiments of the present invention.
  • the puzzled survey token described in FIGS. 8A and 8B below may refer to a survey token that includes some additional information, that is, metadata, about the respondent 200, such as age, region of origin, gender, etc.
  • metadata about the respondent 200
  • verifiable information about the respondent 200 can be provided to the issuer 100 without violating the personal information of the respondent 200.
  • Metadata may be configured to include items included in documents in structured formats, such as JSON, YAML, TOML, XML, etc., and codes assigned to each item.
  • Metadata may be stored in an internal database of the publisher 100, and the internal database may include an EntryID to uniquely identify the stored metadata.
  • Puzzled survey tokens may also contain an EntryID, or oeid, encrypted as an opaque reference to the corresponding metadata.
  • the respondent 200 recognizes the survey 110 generated by the issuer 100, provides a survey participation request to the issuer 100 for the public survey, and verifies respondent qualifications. Once this is completed, the puzzled survey token is shown being provided to the respondent 200.
  • the respondent 200 may provide the publisher 100 with personal information that may be included in metadata along with personal data for identification.
  • the publisher 100 may refer to the provided personal information to complete the metadata of the respondent 200 and store it in an internal database.
  • the respondent 200 can extract the contact information of the issuer 100 included in the survey 110 and complete a structured query document (RespondentDoc) in which personal information about the respondent 200 can be recorded.
  • RespondentDoc structured query document
  • the respondent (200) signs the request to participate in the survey with the respondent's private key (Priv V ), along with his or her public key (PubV), a document (RespondentDoc) containing personal identification data, and metadata, and sends it to the publisher (100).
  • the respondent's private key Priv V
  • PubV his or her public key
  • a document RespondentDoc
  • metadata included in the document may include codes assigned to each piece of information and data combined by assigning an arbitrary number.
  • the publisher 100 can check the personal data of the respondent 200 among the provided data and evaluate their eligibility to participate in the survey.
  • the metadata of the respondent 200 may be stored in the internal database of the issuer 100 so that it can be identified with a unique EntryID.
  • Enc(bytes, key) may include using a known encryption algorithm.
  • FIG. 8B is a diagram illustrating the creation of a puzzled survey token for an anonymous survey according to some embodiments of the present invention.
  • the respondent 200 extracts the contact information of the publisher 100 included in the survey 110 and generates metadata (md) using personal information about the respondent 200. You can create it yourself. In other words, unlike the previous public survey in which the publisher 100 composed metadata from the personal information of the respondent 200, in the anonymous survey using a puzzled survey token, the respondent 200 composed his/her metadata (md ) can be created directly.
  • the metadata (md) generated here may include a code assigned to each piece of information, as described above, and data combined by assigning an arbitrary number.
  • the respondent 200 constructs a Merkle tree (mt) by combining the hash of the respondent's public key (Pub V ) and the hash of the metadata (md) into a hash.
  • Responder 200 provides a package containing a blinded hash of the public key (bpk), a blinded Merkle tree root (bmt), metadata (md), and the respondent's personal data to publisher 100 over a secure communication channel. can do.
  • the publisher 100 may check the personally identifiable data of the respondent 200 and evaluate the qualifications of the respondent 200 by comparing it with the provided metadata (md). Once the qualifications of the respondent 200 are verified, the issuer 100 may issue a puzzled survey token (PuzzSurveyToken I ) signed by the issuer and provide it to the respondent 200.
  • a puzzled survey token PuzzSurveyToken I
  • the respondent 200 may generate a puzzled survey token (PuzzSurveyToken V ) using the puzzled survey token (PuzzSurveyToken I ) signed by the issuer.
  • the puzzled survey token (PuzzSurveyToken V ) unblinds the hash (sbpk) of the RSA signed public key and the blind Merkle tree root (sbmt) using the nonce (nonce1, nonce2) used when blinding.
  • the values of spk, smt, smd, ekey, emd of the puzzled survey token (PuzzSurveyToken V ) generated by the respondent 200 are SignRSA(hpk, Priv I ), SignRSA(mt, Priv I ) and Sign(hash(md), Priv I ) are encrypted metadata that only the issuer (100) can decrypt. That is, the signature of the respondent's public key by the issuer and the Merkle tree root of the public key combined with metadata are included in the puzzled survey token (PuzzSurveyToken V ). Thanks to blind signing, the publisher 100 can sign the hashes of the public keys of the respondent and the publisher without knowing the data itself. Accordingly, if the respondent 200 signs the survey transaction with the respondent's private key (Priv V ), no one can trace the actual respondent.
  • the rationale for metadata encryption is to keep the metadata private from external observers so that only the publisher 100 can access the metadata of the responder 200.
  • the publisher 100 can verify the decrypted metadata (md'). Specifically, the issuer 100 sends smd (metadata (md) signed using the private key (Priv I ) of the issuer's puzzled survey token (PuzzSurveyToken I ) confirmed using the issuer's public key (Pub I ). It is possible to verify whether the hash of ) matches the hash of the decrypted metadata (md') (Verify(hash(md'), smd, Pub I ). If the verification result matches, the issuer 100 decrypts The metadata (md') can be stored in the internal database.
  • the respondent 200 since there is no link that can connect from the respondent 200's public key (Pub V ) to the actual respondent 200's personal information or metadata, the metadata (md') is anonymous, and the respondent 200 ) may not reveal information that can identify the person.
  • the respondent (200) can combine the answers of the survey into a structured document, sign the resulting data structure with a survey token (SurveyToken V or PuzzSurveyToken V ) attached, and record it as a transaction on the blockchain (500). there is.
  • submission of responses can be classified into two types: immediate response submission that can be counted immediately after submission, or encrypted response submission that can be counted immediately.
  • FIG. 9A is a diagram illustrating a respondent's immediate response submission included in a method of using a token storing combined information according to some embodiments of the present invention.
  • the respondent 200 sends transaction data (VoteTx_Data) including a survey token (SurveyToken V ) and a transaction (VoteTx) including the result of signing this with the respondent's private key (Priv V ). can be created.
  • the respondent 200 may provide a transaction (VoteTx) to the blockchain 500.
  • transaction data may include answers to a survey, and the answers are a combination of codes assigned to each item and random numbers similar to the metadata of the respondent 200.
  • answers are a combination of three survey questions 1 to 3, codes assigned to each survey answer item, and random numbers (for example, '0001 (number 1). 'answer to question 2)', '1100 (answer to question 2)', '0111 (answer to question 3)', '0001010 (random number)').
  • answers included in transaction data can be expressed as an image file as visualized data. This is similar to the visualization of personally identifiable data or metadata of the puzzled token (T) described above, where the answers are represented as a visualized image by filling in the colors assigned to the answers and random numbers of survey items. You can.
  • Each node included in the blockchain 500 can verify the validity of the transaction (VoteTx) submitted by the respondent 200.
  • the survey token (SurveyToken V ) is a signature of the hash of the respondent's public key (Pub V ), so it can be verified by the public key (Pub I ) announced by the issuer.
  • the survey token (SurveyToken V ) may contain an RSA signature (SignRSA(hash(Pub V ), Priv I ) of the respondent's public key (Pub V ) by the issuer's key (Priv I) . , which can be verified by the issuer's public key (Pub I ).
  • the transaction (VoteTx) must be the first transaction (VoteTx) signed by the respondent's private key (Priv V ). If there is another transaction signed with the private key (Priv V ) for the given survey identifier (SurveyID), it corresponds to double answering and may be rejected.
  • the blockchain 500 can record the transaction (VoteTx).
  • FIG. 9B is a diagram for explaining a respondent's delayed response submission included in a survey method according to some embodiments of the present invention.
  • the respondent 200 receives encrypted transaction data (EncryptedVoteTx_Data) including a survey token (SurveyToken V ) and the result of signing this with the respondent's private key (Priv V ).
  • EncryptedVoteTx can be created.
  • the encrypted transaction data may include the encrypted answer of the respondent 200.
  • the respondent's answers may be included in the transaction data (EncryptedVoteTx_Data) encrypted by one of the key pairs (Enc I , Dec I ) generated from the issuer (100) in the survey creation stage to encrypt the answers (Enc I ). there is.
  • the respondent 200 may provide an encrypted transaction (EncryptedVoteTx) to the blockchain 500.
  • Each node included in the blockchain 500 can verify the validity of the encrypted transaction (EncryptedVoteTx) submitted by the respondent 200. That is, the survey progress period, answer format, signature verification of the delayed transaction, approval by the issuer 100 of the respondent's public key (Pub V ), which are the validation steps of the transaction (VoteTx) previously described using FIG. 9a, It can be verified whether the encrypted transaction (EncryptedVoteTx) is the first transaction signed with the respondent's private key (Priv V ).
  • the issuer 100 may perform aggregation of the survey by tallying transactions of responses submitted by respondents 200 and recorded in the blockchain 500 (S150).
  • the issuer 100 can count valid transactions and collect and process response documents included in the transactions.
  • the issuer 100 records another key (Dec I ) on the blockchain 500 so that other participants with access to the blockchain 500 can decrypt the encrypted answers.
  • Other participants with access to the blockchain 500 can repeat all encrypted transactions (EncryptedVoteTx) in the blockchain and decrypt the encrypted answer document included in each transaction using the key (Dec I ).
  • the publisher 100 may collect decrypted response documents and generate aggregate results. The aggregate result may be signed by the issuer 100 and recorded in the blockchain 500 (S160).
  • the issuer 100 may aggregate metadata included in the survey token, including the aggregate results collected through the decrypted response document. As described above, the issuer 100 can impose conditions on specific gender, age group, residential area, etc. when creating the survey 110, and can filter the survey results based on the above conditions when compiling the survey results. there is. In addition, the publisher (100) can separately aggregate the metadata of the respondents (200) who participated in the survey and use it as a type of big data. When analyzing the survey results, the information entered in advance by the participant is additionally used to provide more accurate respondent data. Analysis and survey results analysis can be performed.
  • the respondent 200 may present evidence of participation in the survey to the vendor 300 (S170).
  • the respondent 200 sends the identifier (txID) generated by recording the survey transaction (VoteTx or DelayedVoteTx) to the blockchain 500 and a message signed with his or her private key (Priv V ) to the vendor. It can be provided at (300).
  • Group signatures are a class of cryptographic protocols that ensure secure group membership without revealing the identity of the signature.
  • a group signature consists of a set of public keys (Pub 1 , Pub 2 , ..., Pub n ) and a private key (Priv i ) corresponding to one of those public keys.
  • the group signature (GS(Priv i , Pub 1 , ..., Pub n )(bytes)) is a private key (Priv) whose byte string (bytes) corresponds to one of the public keys (Pub 1 , Pub 2 , ..., Pub n ). You can check whether it was signed by i ), but which one it was signed by is not disclosed. The validity of the signature can be verified if it is comprised of a private key that corresponds to one of the public keys.
  • the respondent 200 can read the random transactions (tx 1 ,..., tx n ) recorded in the blockchain 500 and extract the public keys (Pub 1 ,..., Pub n ) of other respondents. For example, n may be around 20.
  • the respondent 200 adds its own transaction (tx) to the random transactions (tx 1 , ..., tx n ), shuffles these transactions, and provides them to the vendor 300.
  • the vendor 300 verifies each of the transaction sets (tx 0 , tx 1 , ..., tx n ) included in the claim, confirms whether the transactions are included in the same survey, and verifies the public key (Pub) included in the claim. Extract 0 , ..., Pub n ) and verify the group signature (GV(hash(dst, txs), sign, ⁇ Pub 0 , ..., Pub n ⁇ ).
  • the vendor 300 can confirm that the respondent 200 participated in the survey through a transaction without any knowledge of the respondent 200's actual answer, and provide compensation.
  • the embodiments according to the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination.
  • Program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable by those skilled in the computer software field.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. medium), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc.
  • Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • a hardware device can be converted into one or more software modules to perform processing according to the invention and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

According to an aspect of the present invention, provided is a method for managing a puzzled token, the method comprising the steps of: an issuer node allowing a puzzled token to be generated by combining personal information of an issuance requester node and allowing a unique identifier included in the puzzled token to be privately processed; and the issuance requester node allowing a public identifier to be generated on the basis of the privately processed unique identifier and allowing a token in which the unique identifier has been replaced with the public identifier in the puzzled token to be used in a blockchain network.

Description

퍼즐화된 토큰을 관리하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체Method, system and non-transitory computer-readable recording medium for managing puzzled tokens
본 발명은 퍼즐화된 토큰을 관리하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체에 관한 것이다.The present invention relates to a method, system, and non-transitory computer-readable recording medium for managing puzzled tokens.
블록체인은 2008년 사토시 나카모토의 Bitcoin: A Peer-to-Peer Electronic Cash System에서 블록과 블록을 연결하는 방법에서 유래하였다. 블록체인은 다수의 네트워크 노드로 구성된 분산 네트워크 상에서 해쉬링크로 묶인 데이터를 공유하는 분산 데이터베이스를 총칭한다.Blockchain originated from a method of connecting blocks in Satoshi Nakamoto's Bitcoin: A Peer-to-Peer Electronic Cash System in 2008. Blockchain is a general term for a distributed database that shares data bound by hash links on a distributed network composed of multiple network nodes.
블록체인에 기록된 데이터는 위변조가 사실상 불가능하고, 누구든지 블록체인에 연결함으로써 무결성(integrity)이 보장된 데이터를 확인할 수 있다는 특성을 이용하여 신뢰성 및 투명성이 요구되는 데이터의 운용 분야에 도입이 진행되고 있다.Data recorded on the blockchain is virtually impossible to forge or falsify, and anyone can verify data with guaranteed integrity by connecting to the blockchain, so it is being introduced into the field of data operation that requires reliability and transparency. It is becoming.
본 발명은, 블록체인 네트워크를 구성하는 특정 노드의 개인 정보를 조합하여 생성되는 퍼즐화된 토큰을 기반으로 DID(Decentralized Identity) 솔루션을 구축하는 것을 목적으로 한다.The purpose of the present invention is to build a DID (Decentralized Identity) solution based on a puzzled token generated by combining personal information of specific nodes that make up a blockchain network.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.A representative configuration of the present invention to achieve the above object is as follows.
본 발명의 일 태양에 따르면, 퍼즐화된 토큰을 관리하기 위한 방법으로서, 발행자 노드 측에서, 발행 요청자 노드의 개인 정보를 조합하여 퍼즐화된 토큰이 생성되도록 하고, 상기 퍼즐화된 토큰에 포함되는 고유 식별자가 비공개 처리되도록 하는 단계, 및 상기 발행 요청자 노드 측에서, 상기 비공개 처리된 고유 식별자에 기초하여 공개 식별자가 생성되도록 하고, 상기 퍼즐화된 토큰에서 상기 고유 식별자가 상기 공개 식별자로 대체된 토큰이 블록체인 네트워크에서 이용되도록 하는 단계를 포함하는 방법이 제공된다.According to one aspect of the present invention, as a method for managing puzzled tokens, on the issuer node side, a puzzled token is generated by combining personal information of the issuance requester node, and the puzzled token included in the puzzled token is generated. causing a unique identifier to be deprived, and, on the issuance requester node side, causing a public identifier to be generated based on the deprived unique identifier, wherein the unique identifier is replaced with the public identifier in the puzzled token. A method is provided that includes steps for enabling it to be used in a blockchain network.
본 발명의 다른 태양에 따르면, 퍼즐화된 토큰을 관리하기 위한 시스템으로서, 발행자 노드 측에서, 발행 요청자 노드의 개인 정보를 조합하여 퍼즐화된 토큰이 생성되도록 하고, 상기 퍼즐화된 토큰에 포함되는 고유 식별자가 비공개 처리되도록 하는 발행자 노드 관리부, 및 상기 발행 요청자 노드 측에서, 상기 비공개 처리된 고유 식별자에 기초하여 공개 식별자가 생성되도록 하고, 상기 퍼즐화된 토큰에서 상기 고유 식별자가 상기 공개 식별자로 대체된 토큰이 블록체인 네트워크에서 이용되도록 하는 발행 요청자 노드 관리부를 포함하는 시스템이 제공된다.According to another aspect of the present invention, there is a system for managing puzzled tokens, wherein, on the issuer node side, a puzzled token is generated by combining the personal information of the issuance requester node, and the puzzled token included in the puzzled token is generated. An issuer node management unit that causes a unique identifier to be privately processed, and on the issuance requester node side, generate a public identifier based on the privately processed unique identifier, and replace the unique identifier with the public identifier in the puzzled token. A system is provided that includes an issuance requester node management unit that allows issued tokens to be used in a blockchain network.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 비일시성의 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition, another method for implementing the present invention, another system, and a non-transitory computer-readable recording medium for recording a computer program for executing the method are further provided.
본 발명에 의하면, 블록체인 네트워크를 구성하는 특정 노드의 개인 정보를 조합하여 생성되는 퍼즐화된 토큰을 기반으로 DID(Decentralized Identity) 솔루션을 구축할 수 있다.According to the present invention, a DID (Decentralized Identity) solution can be built based on a puzzled token generated by combining personal information of specific nodes that make up a blockchain network.
도 1은 본 발명의 일 실시예에 따라 퍼즐화된 토큰을 관리하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.Figure 1 is a diagram showing a schematic configuration of an entire system for managing puzzled tokens according to an embodiment of the present invention.
도 2a 내지 2c는 본 발명의 일 실시예에 따른 퍼즐화된 토큰을 설명하기 위한 도면이다.2A to 2C are diagrams for explaining a puzzled token according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 퍼즐화된 토큰의 관리 과정을 예시적으로 나타내는 도면이다.Figure 3 is a diagram illustrating the management process of a puzzled token according to an embodiment of the present invention.
도 4는 본 발명의 몇몇 실시예에 따른 설문조사 토큰을 이용하여 블록체인 상의 설문조사를 수행하는 시스템의 블록도이다.Figure 4 is a block diagram of a system for conducting a survey on a blockchain using a survey token according to some embodiments of the present invention.
도 5는 본 발명의 몇몇 실시예에 따른 설문조사 토큰을 이용하여 블록체인 상에서 수행되는 설문조사 방법을 설명하기 위한 데이터 흐름도이다.Figure 5 is a data flow diagram illustrating a survey method performed on a blockchain using a survey token according to some embodiments of the present invention.
도 6은 본 발명의 몇몇 실시예에 따른 설문조사 초기화를 설명하기 위한 도면이다.Figure 6 is a diagram for explaining survey initialization according to some embodiments of the present invention.
도 7a는 본 발명의 몇몇 실시예에 따른 공개 설문조사를 위한 설문조사 토큰의 생성을 설명하기 위한 도면이다.FIG. 7A is a diagram illustrating the creation of a survey token for a public survey according to some embodiments of the present invention.
도 7b는 본 발명의 몇몇 실시예에 따른 익명 설문조사를 위한 설문조사 토큰의 생성을 설명하기 위한 도면이다.FIG. 7B is a diagram illustrating the creation of a survey token for an anonymous survey according to some embodiments of the present invention.
도 8a는 본 발명의 몇몇 실시예에 따른 공개 설문조사를 위한 퍼즐화된 설문조사 토큰의 생성을 설명하기 위한 도면이다.FIG. 8A is a diagram illustrating the creation of a puzzled survey token for a public survey according to some embodiments of the present invention.
도 8b는 본 발명의 몇몇 실시예에 따른 익명 설문조사를 위한 퍼즐화된 설문조사 토큰의 생성을 설명하기 위한 도면이다.FIG. 8B is a diagram illustrating the creation of a puzzled survey token for an anonymous survey according to some embodiments of the present invention.
도 9a는 본 발명의 몇몇 실시예에 따른 설문조사 방법에 포함된 응답자의 즉각적인 답변 제출을 설명하기 위한 도면이다.FIG. 9A is a diagram illustrating a respondent's immediate submission of answers included in a survey method according to some embodiments of the present invention.
도 9b는 본 발명의 몇몇 실시예에 따른 설문조사 방법에 포함된 응답자의 지연된 답변 제출을 설명하기 위한 도면이다.FIG. 9B is a diagram for explaining a respondent's delayed response submission included in a survey method according to some embodiments of the present invention.
<부호의 설명><Explanation of symbols>
100: 발행자 100: Issuer
200: 발행 요청자(또는 응답자)200: Issue requester (or responder)
300: 벤더300: Bender
400: 설문조사 애플리케이션400: Survey application
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.The detailed description of the present invention described below refers to the accompanying drawings, which show by way of example specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different from one another but are not necessarily mutually exclusive. For example, specific shapes, structures and characteristics described herein may be implemented with changes from one embodiment to another without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description described below is not to be taken in a limiting sense, and the scope of the present invention should be taken to encompass the scope claimed by the claims and all equivalents thereof. Like reference numbers in the drawings indicate identical or similar elements throughout various aspects.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, several preferred embodiments of the present invention will be described in detail with reference to the attached drawings in order to enable those skilled in the art to easily practice the present invention.
전체 시스템의 구성Configuration of the entire system
도 1은 본 발명의 일 실시예에 따라 퍼즐화된 토큰을 관리하기 위한 전체 시스템의 개략적인 구성을 나타내는 도면이다.Figure 1 is a diagram showing a schematic configuration of an entire system for managing puzzled tokens according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은 통신망(미도시됨) 및 복수의 노드(100)를 포함하여 구성될 수 있다.As shown in FIG. 1, the entire system according to an embodiment of the present invention may be configured to include a communication network (not shown) and a plurality of nodes 100.
먼저, 본 발명의 일 실시예에 따른 통신망은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망은 공지의 인터넷 또는 월드와이드웹(WWW; World Wide Web)일 수 있다. 그러나, 통신망은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.First, the communication network according to an embodiment of the present invention can be configured regardless of communication mode, such as wired communication or wireless communication, and can include a local area network (LAN), a metropolitan area network (MAN), and a wide area network. It can be composed of various communication networks such as a wide area network (WAN). Preferably, the communication network referred to in this specification may be the known Internet or World Wide Web (WWW). However, the communication network is not necessarily limited thereto and may include at least a portion of a known wired or wireless data communication network, a known telephone network, or a known wired or wireless television communication network.
예를 들면, 통신망은 무선 데이터 통신망으로서, 무선주파수(RF; Radio Frequency) 통신, 와이파이(WiFi) 통신, 셀룰러(LTE 등) 통신, 블루투스 통신(더 구체적으로는, 저전력 블루투스(BLE; Bluetooth Low Energy)), 적외선 통신, 초음파 통신 등과 같은 종래의 통신 방법을 적어도 그 일부분에 있어서 구현하는 것일 수 있다.For example, a communication network is a wireless data communication network, including radio frequency (RF) communication, WiFi communication, cellular (LTE, etc.) communication, and Bluetooth communication (more specifically, Bluetooth Low Energy (BLE) communication. )), it may be implemented at least in part of a conventional communication method such as infrared communication, ultrasonic communication, etc.
다음으로, 본 발명의 일 실시예에 따른 복수의 노드(10)(node)는 통신망을 통하여 다른 노드(10)와 통신할 수 있는 접점 또는 접속점으로서, 서버, 컴퓨터, 노트북, 스마트폰, 태블릿 PC 등(즉, 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기)의 물리적 노드(physical node) 또는 애플리케이션, 프로그램 모듈, 가상 머신 등(즉, 가상 노드)에 의한 논리적 노드(logical node)를 포함하는 개념일 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 복수의 노드(10)에는, 후술할 발행자 노드(100) 및 발행 요청자 노드(200)가 포함될 수 있다. 경우에 따라, 본 명세서에서, 발행자 노드(100)는 발행자 등으로 지칭될 수도 있고, 발행 요청자 노드(200)는 발행 요청자, 응답자 등으로 지칭될 수도 있음을 밝혀 둔다.Next, a plurality of nodes 10 according to an embodiment of the present invention are contact points or connection points that can communicate with other nodes 10 through a communication network, such as servers, computers, laptops, smartphones, and tablet PCs. A physical node such as a digital device equipped with a memory means and a microprocessor equipped with computing power, or a logical node such as an application, a program module, a virtual machine, etc. (i.e. a virtual node) ) may be a concept that includes. For example, the plurality of nodes 10 according to an embodiment of the present invention may include a publisher node 100 and an issue requestor node 200, which will be described later. In some cases, in this specification, the issuer node 100 may be referred to as an issuer, etc., and the issuance requester node 200 may be referred to as an issuance requester, responder, etc.
한편, 본 발명의 일 실시예에 따른 복수의 노드(10)에는, 본 발명에 따른 관리 시스템(미도시됨)이 애플리케이션, 위젯 등의 프로그램 모듈의 형태로 포함되어 있을 수 있다. 또한, 이와 같은 프로그램 모듈은 외부의 애플리케이션 배포 서버(미도시됨) 또는 외부 시스템(미도시됨) 등으로부터 다운로드된 것일 수 있다.Meanwhile, the plurality of nodes 10 according to an embodiment of the present invention may include a management system (not shown) according to the present invention in the form of program modules such as applications and widgets. Additionally, such program modules may be downloaded from an external application distribution server (not shown) or an external system (not shown).
본 발명의 일 실시예에 따른 블록체인 네트워크(blockchain network)(본 명세서에서 블록체인 네트워크는 블록체인으로 지칭될 수도 있음)는 해당 네트워크에 참여하는 복수의 노드(10)에 의해 해당 네트워크상에 저장될 정보를 공동으로 검증하고, 그 검증된 정보를 해당 네트워크상에 기록 및 공유함으로써 공인된 제3자에 의존하지 않고 위의 기록된 정보의 무결성 및 신뢰성을 확보할 수 있는 방식의 네트워크일 수 있다. 예를 들어, 이러한 블록체인 네트워크는 이더리움(Ethereum), 바이낸스 스마트 체인(Binance Smart Chain), 닉토넷(NiktoNet) 등과 같은 종래의 블록체인 네트워크가 갖는 특성과 적어도 일부가 유사한 네트워크일 수 있다. 또한, 본 발명의 일 실시예에 따르면, 이러한 블록체인 네트워크는, 프라이빗(private) 블록체인 네트워크, 퍼블릭(public) 블록체인 네트워크 또는 프라이빗(private) 블록체인과 퍼블릭(public) 블록체인의 혼합형 네트워크 등 다양한 방식의 블록체인 네트워크를 포함하는 개념일 수 있다.A blockchain network (a blockchain network may be referred to as a blockchain in this specification) according to an embodiment of the present invention is stored on the network by a plurality of nodes 10 participating in the network. It may be a network that jointly verifies the information to be submitted, records and shares the verified information on the network, thereby securing the integrity and reliability of the above-recorded information without relying on an authorized third party. . For example, such a blockchain network may be a network that is at least partially similar to the characteristics of conventional blockchain networks such as Ethereum, Binance Smart Chain, and NiktoNet. In addition, according to an embodiment of the present invention, this blockchain network may be a private blockchain network, a public blockchain network, or a mixed network of private blockchain and public blockchain, etc. It may be a concept that includes various types of blockchain networks.
다음으로, 본 발명의 일 실시예에 따른 관리 시스템은, (a) 발행자 노드(100) 측에서, 발행 요청자 노드(200)의 개인 정보를 조합하여 퍼즐화된 토큰(T)이 생성되도록 하고, 퍼즐화된 토큰(T)에 포함되는 고유 식별자가 비공개 처리되도록 하는 기능, (b) 발행 요청자 노드(200) 측에서, 비공개 처리된 고유 식별자에 기초하여 공개 식별자가 생성되도록 하고, 퍼즐화된 토큰(T)에서 고유 식별자가 공개 식별자로 대체된 토큰이 블록체인 네트워크에서 이용되도록 하는 기능 등을 수행할 수 있다. 본 발명의 일 실시예에 따르면, 위와 같은 관리 시스템의 기능은 블록체인 네트워크상에서 운영되는 적어도 하나의 합의 알고리즘에 기초하여 수행되는 것일 수 있다.Next, the management system according to an embodiment of the present invention causes (a) the issuer node 100 to generate a puzzled token (T) by combining the personal information of the issuance requester node 200, A function to ensure that the unique identifier included in the puzzled token (T) is treated privately, (b) on the issuance requester node 200 side, to generate a public identifier based on the privately processed unique identifier, and to make the puzzled token (T) can perform functions such as allowing tokens whose unique identifiers are replaced with public identifiers to be used in the blockchain network. According to an embodiment of the present invention, the functions of the above management system may be performed based on at least one consensus algorithm operating on a blockchain network.
본 발명에 따른 관리 시스템의 구성과 기능에 관하여는 이하의 상세한 설명을 통하여 자세하게 알아보기로 한다. 한편, 관리 시스템에 관하여 위와 같이 설명되었으나, 이러한 설명은 예시적인 것이고, 관리 시스템에 대하여 요구되는 기능이나 구성요소의 적어도 일부가 필요에 따라 복수의 노드(10) 또는 외부 시스템(미도시됨) 내에서 실현되거나 복수의 노드(10) 또는 외부 시스템에 포함될 수도 있음은 당업자에게 자명하다. 예를 들어, 본 발명의 일 실시예에 따르면, 사용자는 자신의 노드를 통해 본 발명에 따른 관리 시스템(또는 블록체인 네트워크)의 기능 중 적어도 일부를 포함하는 애플리케이션을 이용하거나, 해당 노드를 이용하여 본 발명에 따른 관리 시스템(또는 블록체인 네트워크)의 기능 중 적어도 일부를 제공하는 웹사이트에 접속함으로써, 본 발명에 따른 퍼즐화된 토큰(T)의 관리가 이루어지도록 할 수 있다.The configuration and functions of the management system according to the present invention will be discussed in detail through the detailed description below. Meanwhile, although the management system has been described as above, this description is illustrative, and at least some of the functions or components required for the management system are installed within the plurality of nodes 10 or an external system (not shown) as needed. It is obvious to those skilled in the art that it may be realized in or included in a plurality of nodes 10 or an external system. For example, according to one embodiment of the present invention, a user uses an application that includes at least some of the functions of the management system (or blockchain network) according to the present invention through his or her node, or uses the node to By accessing a website that provides at least some of the functions of the management system (or blockchain network) according to the present invention, the puzzled token (T) according to the present invention can be managed.
관리 시스템의 구성Configuration of the management system
이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 관리 시스템의 각 구성요소의 기능에 대하여 살펴보기로 한다.Below, we will look at the functions of each component of the management system that performs important functions for implementing the present invention.
본 발명의 일 실시예에 따른 관리 시스템은, 발행자 노드 관리부 및 발행 요청자 노드 관리부를 포함하여 구성될 수 있다. 본 발명의 일 실시예에 따르면, 발행자 노드 관리부 및 발행 요청자 노드 관리부는 그 중 적어도 일부가 외부의 시스템(미도시됨)과 통신하는 프로그램 모듈일 수 있다. 이러한 프로그램 모듈은 운영 시스템, 응용 프로그램 모듈 또는 기타 프로그램 모듈의 형태로 관리 시스템에 포함될 수 있고, 물리적으로는 여러 가지 공지의 기억 장치에 저장될 수 있다. 또한, 이러한 프로그램 모듈은 관리 시스템과 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.The management system according to an embodiment of the present invention may be configured to include a publisher node management unit and an issue requestor node management unit. According to one embodiment of the present invention, at least some of the issuer node management unit and the issue requestor node management unit may be program modules that communicate with an external system (not shown). These program modules may be included in the management system in the form of operating systems, application modules, or other program modules, and may be physically stored in various known storage devices. Additionally, these program modules may be stored in a remote storage device capable of communicating with the management system. Meanwhile, such program modules include, but are not limited to, routines, subroutines, programs, objects, components, data structures, etc. that perform specific tasks or execute specific abstract data types according to the present invention.
도 2a 내지 2c는 본 발명의 일 실시예에 따른 퍼즐화된 토큰을 설명하기 위한 도면이다.2A to 2C are diagrams for explaining a puzzled token according to an embodiment of the present invention.
도 2a를 참조하면, 퍼즐화된 토큰(T)은 발행 요청자(200)의 개인 정보, 예를 들어 성별, 나이, 나라(또는 국적), 지역, 직업, 학력 등과 같은 개인 식별 데이터 중 적어도 일부에 대해 선택된 데이터를 포함하도록 발행자(100)로부터 생성될 수 있다. 이와 같이 생성된 토큰은 발행 요청자(200)의 고유의 토큰이 됨으로써 일종의 NFT(Non Fungible Token)로 기능할 수 있다.Referring to FIG. 2A, the puzzled token (T) is attached to at least some of the personal information of the issuance requester 200, for example, personal identification data such as gender, age, country (or nationality), region, occupation, education, etc. It may be generated from the publisher 100 to include data selected for. The token created in this way can function as a type of NFT (Non Fungible Token) by becoming the unique token of the issuance requester 200.
예를 들어, 퍼즐화된 토큰(T)은 도 2b와 같이, 발행 요청자(200)의 개인 식별 데이터에 코드를 할당하여 생성된 데이터를 포함할 수 있다. 발행 요청자(200)가 성별, 나이, 국적, 지역, 직업, 학력 등의 개인 정보를 발행자(100)에 제공하면, 발행자(100)는 각각의 정보에 할당된 코드와, 임의의 수(Random No.)를 부여하여 조합된 개인 식별 데이터를 포함하는 퍼즐화된 토큰(T)을 생성할 수 있다.For example, the puzzled token T may include data generated by assigning a code to the personal identification data of the issuance requester 200, as shown in FIG. 2B. When the issuance requester 200 provides personal information such as gender, age, nationality, region, occupation, and education to the issuer 100, the issuer 100 provides a code assigned to each information and a random number (Random No. .) can be given to generate a puzzled token (T) containing the combined personal identification data.
본 발명의 몇몇 실시예에서, 발행자(100)는 퍼즐화된 토큰(T)을 시각화된 데이터로서의 이미지 파일을 생성할 수 있다. 도 2c를 참조하면, 발행 요청자(200)가 제공한 성별, 나이, 국적 등의 정보에 할당된 코드에 대응되도록 발행자(100)는 컬러 테이블을 생성하고, 퍼즐화된 토큰(T)을 개인 식별 데이터의 종류에 대응되도록 섹터를 나눈 후 나눠진 섹터에 코드에 대응되는 컬러를 채움으로써 퍼즐화된 토큰(T)이 시각화된 데이터로서의 이미지 파일을 생성할 수 있다.In some embodiments of the present invention, the issuer 100 may create an image file as data visualizing the puzzled token T. Referring to FIG. 2C, the issuer 100 creates a color table to correspond to the code assigned to information such as gender, age, and nationality provided by the issuance requester 200, and uses the puzzled token (T) as a personal identification. By dividing sectors to correspond to the type of data and filling the divided sectors with colors corresponding to the code, an image file as data in which the puzzled token (T) is visualized can be created.
예를 들어, 퍼즐화된 토큰(T)은 6개의 개인 식별 데이터의 종류와, 하나의 임의의 수에 대응되도록 복수의 섹터(t1~t7)로 나눠질 수 있다. 복수의 섹터(t1~t7)는 개인 식별 데이터와, 임의의 수에 할당되는 코드에 대응된 컬러로 채워져 시각화된 이미지로 표현될 수 있다.For example, the puzzled token (T) can be divided into a plurality of sectors (t1 to t7) to correspond to six types of personal identification data and one arbitrary number. A plurality of sectors (t1 to t7) may be filled with personal identification data and a color corresponding to a code assigned to a random number and expressed as a visualized image.
다만 위와 같은 시각화 방법은 예시적인 것으로, 퍼즐화된 토큰(T)은 원을 균등하게 분할한 도 2a 및 도 2c와는 다른 시각화 방법을 통해 이미지로 표현될 수 있다. 예를 들어 퍼즐화된 토큰(T)은 다각형을 기반으로 개인 식별 데이터에 할당된 코드에 대응하도록 분할된 영역에 컬러를 채워 이미지로 표현하거나, 할당된 코드에 대응하는 이미지 파일이나 형상을 포함하도록 표현될 수도 있다.However, the above visualization method is an example, and the puzzled token T may be expressed as an image through a visualization method different from that of FIGS. 2A and 2C in which the circle is divided equally. For example, the puzzled token (T) is expressed as an image by filling in color in the divided area to correspond to the code assigned to the personal identification data based on polygons, or to include an image file or shape corresponding to the assigned code. It can also be expressed.
이와 같이 생성된 퍼즐화된 토큰(T)은 발행 요청자(200)의 개인 식별 데이터를 포함하고 있으므로, 발행 요청자(200)의 접속 또는 이용을 위해 사용자 증명이 필요한 시스템에서 이용될 수 있다. 예를 들어, 퍼즐화된 토큰(T)은 온라인 상에서 서비스에 접속하기 위한 개인의 ID 및 패스워드로 발급되거나, 오프라인에서 개인의 식별을 위한 시큐리티 키, 신분증, 등록증을 포함하는 DID로 발급되어 사용될 수 있다.Since the puzzled token (T) generated in this way contains the personal identification data of the issuance requester 200, it can be used in a system that requires user authentication for access or use by the issuance requester 200. For example, a puzzled token (T) can be issued as an individual's ID and password to access a service online, or it can be issued and used as a DID that includes a security key, ID card, and registration certificate for individual identification offline. there is.
또한, 뒤에서 설명하는 것과 같이 퍼즐화된 토큰(T)은 발행 요청자(200)가 참여할 수 있는 설문조사와 같은 데이터 수집 과정에도 사용될 수 있다.Additionally, as will be explained later, the puzzled token (T) can also be used in a data collection process such as a survey in which the issuance requester 200 can participate.
도 3은 본 발명의 일 실시예에 따른 퍼즐화된 토큰의 관리 과정(예컨대 생성 및 이용 과정)을 예시적으로 나타내는 도면이다.Figure 3 is a diagram illustrating a management process (eg, generation and use process) of a puzzled token according to an embodiment of the present invention.
단계 S10을 참조하면, 발행 요청자 노드 관리부는, 발행 요청자 노드(200) 측에서 발행자 노드(100) 측으로 발행 요청자 노드(200)의 개인 정보가 전송되도록 할 수 있다. 이 때, 발행자 노드(100) 측에 전송된 발행 요청자 노드(200)의 개인 정보에는 발행 요청자 노드(200)의 서명이 포함될 수 있다.Referring to step S10, the issue requester node management unit may cause the personal information of the issue requester node 200 to be transmitted from the issue requester node 200 to the issuer node 100. At this time, the personal information of the issue requester node 200 transmitted to the issuer node 100 may include the signature of the issue requester node 200.
단계 S20을 참조하면, 발행자 노드 관리부는, 발행자 노드(100) 측에서 발행 요청자 노드(200)의 개인 정보를 조합하여 퍼즐화된 토큰(T)이 생성되도록 할 수 있다. 퍼즐화된 토큰(T)이 생성되는 기본적인 과정에 관하여는 도 2a 내지 도 2c를 참조하여 전술하였으므로 구체적인 설명은 생략하기로 한다.Referring to step S20, the issuer node management unit may generate a puzzled token (T) by combining the personal information of the issuance requester node 200 on the issuer node 100 side. Since the basic process of generating the puzzled token T has been described above with reference to FIGS. 2A to 2C, detailed description will be omitted.
단계 S30을 참조하면, 발행자 노드 관리부는, 발행자 노드(100) 측에서 퍼즐화된 토큰(T)이 블록체인 네트워크상에 기록(또는 배포)되도록 할 수 있다. 이 때, 퍼즐화된 토큰(T)은 블록체인 네트워크상에 기록되는 과정에서 RSA 알고리즘 등과 같은 공지의 암호화 알고리즘에 기초하여 암호화가 이루어질 수 있다.Referring to step S30, the issuer node management unit may cause the puzzled token (T) to be recorded (or distributed) on the blockchain network on the issuer node 100 side. At this time, the puzzled token (T) may be encrypted based on a known encryption algorithm such as the RSA algorithm during the process of recording on the blockchain network.
단계 S40을 참조하면, 발행자 노드 관리부는, 발행자 노드(100) 측에서 퍼즐화된 토큰(T)에 포함되는 고유 식별자가 비공개 처리되도록 할 수 있다. 퍼즐화된 토큰(T)에는 발행 요청자 노드(200)의 개인 정보 외에도 발행 요청자 노드(200)의 개인 정보에 기초하여 생성되는 고유 식별자가 더 포함될 수 있다. 이러한 고유 식별자는, 발행 요청자 노드(200)의 요청에 의해 퍼즐화된 토큰(T)이 생성되었다는 것 또는 퍼즐화된 토큰(T)이 발행 요청자 노드(200)에 의해 소유된다는 것을 증명할 수 있다.Referring to step S40, the issuer node management unit may ensure that the unique identifier included in the puzzled token (T) is processed privately on the issuer node 100 side. The puzzled token (T) may further include a unique identifier generated based on the personal information of the issuance requester node 200 in addition to the personal information of the issuance requester node 200. This unique identifier may prove that the puzzled token (T) was created at the request of the issuing requester node (200) or that the puzzled token (T) is owned by the issuing requester node (200).
단계 S50을 참조하면, 발행 요청자 노드 관리부는, 발행 요청자 노드(200) 측에서, 비공개 처리된 고유 식별자에 기초하여 공개 식별자가 생성되도록 할 수 있다. 구체적으로, 발행 요청자 노드 관리부는, 발행 요청자 노드(200) 측에서, 퍼즐화된 토큰(T)의 이용 목적에 따라 공개 식별자가 개별적으로 생성되도록 할 수 있다. 즉, 공개 식별자는 퍼즐화된 토큰(T)의 이용 목적에 따라 서로 다른 형태(예컨대 서로 다른 문자열)로 생성될 수 있다. 한편, 퍼즐화된 토큰(T)의 이용 목적 중 하나에는, 후술할 블록체인 네트워크상에서 수행되는 설문조사가 포함될 수 있다.Referring to step S50, the issue requester node management unit may cause a public identifier to be generated based on a unique identifier that has been made private on the issue requester node 200 side. Specifically, the issuance requester node management unit may cause a public identifier to be individually generated according to the purpose of use of the puzzled token (T) on the issuance requester node 200 side. That is, the public identifier may be generated in different forms (e.g., different strings) depending on the purpose of use of the puzzled token (T). Meanwhile, one of the purposes of using the puzzled token (T) may include a survey conducted on a blockchain network, which will be described later.
단계 S60을 참조하면, 발행 요청자 노드 관리부는, 발행 요청자 노드(200) 측에서, 퍼즐화된 토큰(T)에 포함된 고유 식별자가 공개 식별자로 대체되도록 할 수 있다. 또한, 발행 요청자 노드 관리부는, 발행 요청자 노드(200) 측에서, 위와 같이 고유 식별자가 공개 식별자로 대체되어 공개 식별자를 포함하게 된 토큰이 블록체인 네트워크에서 이용되도록 할 수 있다. 여기서, 블록체인 네트워크에서 이용되는 토큰은, 비공개 처리된 고유 식별자를 포함하는 토큰이 아닌 공개 식별자를 포함하는 토큰에 해당한다는 점을 유의하여야 한다. 도 3에서 X 표시된 화살표는 비공개 처리된 고유 식별자를 포함하는 토큰이 블록체인 네트워크에서 이용되지 않는다는 점을 나타낸다.Referring to step S60, the issuance requester node management unit may cause the unique identifier included in the puzzled token T to be replaced with a public identifier on the issuance requester node 200 side. In addition, the issuance requester node management unit may, on the issuance requester node 200 side, replace the unique identifier with a public identifier as described above so that the token containing the public identifier can be used in the blockchain network. Here, it should be noted that the token used in the blockchain network corresponds to a token containing a public identifier, not a token containing a unique identifier that has been made private. The crossed arrows in Figure 3 indicate that tokens containing private unique identifiers are not used in the blockchain network.
단계 S70을 참조하면, 블록체인 네크워크에서 공개 식별자를 포함하는 토큰의 이용이 완료되는 것에 대응하여, 그 공개 식별자를 포함하는 토큰에 대해 일종의 변환(또는 처리) 과정이 이루어질 수 있다. 예를 들어, 블록체인 네크워크에서 공개 식별자를 포함하는 토큰의 이용이 완료되는 것에 대응하여, 공개 식별자를 포함하는 토큰은 발행 요청자 노드(200)의 개인 정보에 대한 조합이 해제될 수 있고, 나아가 공개 식별자가 소각될 수 있다. 이러한 변환(또는 처리) 과정은 공개 식별자를 포함하는 토큰 자체가 소각되는 과정으로 이해될 수도 있다. 한편, 공개 식별자를 포함하는 토큰에서 그 조합이 해제된 발행 요청자 노드(200)의 개별 개인 정보는 블록체인 네트워크상에서 빅 데이터로 저장될 수 있다.Referring to step S70, in response to the completion of use of the token including the public identifier in the blockchain network, a type of conversion (or processing) process may be performed on the token including the public identifier. For example, in response to the completion of the use of a token containing a public identifier in a blockchain network, the token containing the public identifier may be decombined with the personal information of the issuance requester node 200, and further be disclosed to the public. Identifiers may be incinerated. This conversion (or processing) process may be understood as a process in which the token itself, including the public identifier, is burned. Meanwhile, the individual personal information of the issuing requester node 200, whose combination has been released from the token containing the public identifier, can be stored as big data on the blockchain network.
이상에서 도 3을 참조하여 퍼즐화된 토큰(T)의 관리 과정(예컨대 생성 및 이용 과정)을 구체적으로 설명하였다. 다만, 상술한 단계 S10 내지 S70에서, 발행자 노드 관리부 및 발행 요청자 노드 관리부가 주체가 되어 어떠한 기능이 수행되는 것으로 설명되었으나, 발행자 노드와 발행 요청자 노드가 주체가 되어 각 기능이 수행되는 것으로 설명될 수도 있음은 자명하다. 또한, 상술한 단계 S10 내지 S70의 순서가 도면에 도시된 바에 한정되는 것은 아니며, 본 발명의 목적을 달성할 수 있는 범위 내에서 그 순서가 변경될 수 있으며, 나아가 복수의 단계가 서로 합쳐지거나 하나의 단계가 복수의 단계로 분리될 수도 있음을 밝혀 둔다.Above, the management process (eg, creation and use process) of the puzzled token (T) was explained in detail with reference to FIG. 3. However, in the above-mentioned steps S10 to S70, it has been explained that certain functions are performed by the issuer node management unit and the issuance requester node management unit as the main subjects, but it may also be explained that each function is performed by the publisher node and the issuance requester node as the main subjects. It is self-evident that it exists. In addition, the order of steps S10 to S70 described above is not limited to that shown in the drawings, and the order may be changed within the scope of achieving the purpose of the present invention, and further, a plurality of steps may be combined with each other. It should be noted that the steps may be separated into multiple steps.
도 4는 본 발명의 몇몇 실시예에 따른 조합된 정보가 저장된 블록체인 상의 토큰 이용 시스템(1)(해당 시스템은 관리 시스템과 동일한 시스템이거나 관리 시스템을 포함하는 시스템일 수 있음)의 블록도이다. 이하에서 설명되는 데이터 수집 과정은 블록체인 상에서 생성된 퍼즐화된 토큰(T)을 이용하여 수행되는 설문조사를 의미할 수 있다.Figure 4 is a block diagram of a token usage system 1 on a blockchain in which combined information is stored according to some embodiments of the present invention (the system may be the same system as the management system or a system including the management system). The data collection process described below may refer to a survey conducted using a puzzled token (T) generated on a blockchain.
도 4를 참조하면, 본 발명의 몇몇 실시예에 따른 조합된 정보가 저장된 블록체인 상의 토큰 이용 시스템(1)은 발행자(100), 응답자(200), 벤더(300) 및 블록체인(500)을 포함할 수 있다. 여기서 응답자(200)는 도 2a 내지 2c에서 설명한 퍼즐화된 토큰(T)의 발행 요청자(200)와 유사한 기능을 수행하는 것으로 이해될 수 있다.Referring to FIG. 4, the token use system 1 on a blockchain in which combined information is stored according to some embodiments of the present invention includes an issuer 100, a responder 200, a vendor 300, and a blockchain 500. It can be included. Here, the responder 200 may be understood to perform a similar function to the requester 200 for issuance of the puzzled token (T) described in FIGS. 2A to 2C.
이하에서 설명되는 발행자(100), 응답자(200), 벤더(300) 등의 구성 요소는 스마트폰, 개인용 컴퓨터(Personal Computer; PC), 서버 컴퓨터, 태블릿 PC, 하드웨어 지갑(wallet) 등의 블록체인(500) 상에서 설문조사의 생성 또는 답변 제출을 진행할 수 있는 컴퓨팅 장치를 포함할 수 있다.The components described below, such as the issuer (100), respondent (200), and vendor (300), are blockchain technology such as smartphones, personal computers (PCs), server computers, tablet PCs, and hardware wallets. (500) may include a computing device capable of generating a survey or submitting answers.
발행자(100)는 본 발명에서 수행되는 설문조사(110)의 전체적인 프로세스를 관리할 수 있다. 발행자(100)는 설문조사(110)를 생성하고, 설문조사에 참여하고자 하는 응답자(200)를 인증하며, 설문조사(110)의 결과를 집계할 수 있다.The publisher 100 can manage the overall process of the survey 110 performed in the present invention. The publisher 100 may create a survey 110, authenticate respondents 200 who wish to participate in the survey, and aggregate the results of the survey 110.
발행자(100)에 의하여 생성되는 설문조사(110)는 그 목적에 따라 다양한 특성을 갖도록 정의될 수 있다. 예를 들어 설문조사(110)는 공개 설문조사(Open survey)이거나 익명 설문조사(Anonymous survey)일 수 있으며, 투표 즉시 집계가 가능한 즉각적인(immediate) 답변 제출이거나 지연된(delayed) 집계가 가능한 암호화된 답변 제출일 수도 있다.The survey 110 generated by the issuer 100 may be defined to have various characteristics depending on its purpose. For example, the survey 110 may be an open survey or an anonymous survey, and may be an immediate answer submission that allows for immediate vote counting, or an encrypted answer that allows for delayed counting. It could be submission.
또한, 설문조사(110)는 응답자(200)의 식별을 위한 개인 정보 만을 포함하거나, 응답자(200)의 메타데이터(metadata)를 포함하는 퍼즐화된(puzzled) 설문조사 토큰이 이용되는 투표일 수도 있다.Additionally, the survey 110 may include only personal information for identification of the respondent 200, or may be a vote using a puzzled survey token containing metadata of the respondent 200. .
퍼즐화된(puzzled) 설문조사 토큰은 설문조사(110)를 진행하는 발행자(100)가 도 2a 내지 2c를 이용하여 설명된 것과 같이 필요로 하는 정보만을 퍼즐처럼 결합하여 생성할 수 있는 설문조사 토큰을 의미한다. 응답자(200)는 사전에 발행자(100)에 대하여 입력한 정보를 기초로 자격을 인증받아 퍼즐화된 설문조사 토큰을 제공받을 수 있다. 발행자(100)가 퍼즐화된 설문조사 토큰을 생성할 때 응답자의 식별을 위한 개인 정보 중 필요로 하는 정보만을 결합하여 생성할 수 있으므로, 퍼즐화된 설문조사 토큰을 제공받는 응답자(200)마다 고유의 토큰을 제공받게 된다. 이때 응답자(200)가 제공받는 토큰은 도 2a 내지 2c에서 설명된 것과 같이 시각화된 데이터로서의 이미지 파일을 포함할 수 있다.A puzzled survey token is a survey token that can be generated by the issuer 100 conducting the survey 110 by combining only the necessary information like a puzzle as described using FIGS. 2A to 2C. means. The respondent 200 can be certified based on information previously entered about the issuer 100 and receive a puzzle-shaped survey token. When the issuer (100) generates a puzzled survey token, it can be created by combining only the information needed among the personal information for respondent identification, so each respondent (200) who receives the puzzled survey token is unique. You will be provided with a token of At this time, the token provided to the respondent 200 may include an image file as visualized data as described in FIGS. 2A to 2C.
후술하는 것과 같이 퍼즐화된 설문조사 토큰의 생성을 위해 결합된 개인 정보는 암호화될 수 있다.As described later, personal information combined to create a puzzled survey token may be encrypted.
응답자(200)는 제공된 퍼즐화된 설문조사 토큰을 이용하여 이하에서 설명되는 설문조사에 이용할 수 있을 뿐만 아니라, 응답자는 퍼즐화된 설문조사 토큰을 제3자에게 제공함으로써 응답자(200) 고유의 자격 또는 신분을 검증받을 수 있는 일종의 ID로 활용할 수 있다.Not only can the respondent (200) use the provided puzzled survey token to participate in the survey described below, but the respondent can also provide the puzzled survey token to a third party to establish the unique qualifications of the respondent (200). Alternatively, it can be used as a kind of ID that can verify your identity.
이때 발행자(100)로부터 발행되는 퍼즐화된 설문조사 토큰은 각각의 정보에 할당된 코드와, 임의의 수를 부여하여 조합된 개인 식별 데이터를 포함하지만 이러한 토큰의 발행이 기록되는 블록체인(500)의 블록체인 데이터에는 개인 식별 데이터가 저장되지 않을 수 있다.At this time, the puzzled survey token issued from the issuer 100 includes a code assigned to each piece of information and personal identification data combined by assigning a random number, but the issuance of such token is recorded in the blockchain 500. No personally identifiable data may be stored in blockchain data.
구체적으로, 응답자(200)는 퍼즐화된 설문조사 토큰에 설문조사 결과와 함께 메타데이터(metadata)로 표현되는 응답자(200)에 관한 개인 정보를 결합하여 설문에 참여할 수 있다. 발행자(100)는 퍼즐화된 설문조사 토큰에 포함된 설문 조사 결과와 함께 메타데이터를 분석함으로써 설문조사에 대한 더욱 자세한 결과를 얻을 수 있다. 응답자(200)로부터 제공된 메타데이터는 토큰은 각각의 정보에 할당된 코드와, 임의의 수를 부여하여 조합된 개인 식별 데이터의 형태로 생성될 수 있다.Specifically, the respondent 200 may participate in the survey by combining the puzzled survey token with personal information about the respondent 200 expressed as metadata along with the survey results. The issuer 100 can obtain more detailed results about the survey by analyzing the metadata along with the survey results included in the puzzled survey token. The metadata provided by the respondent 200 may be generated in the form of personal identification data that is combined by assigning a code assigned to each piece of information and a random number.
발행자(100)는 발행자 고유의 개인 키(PrivI), 공개 키(PubI) 등을 생성할 수 있다. 뒤에서 설명하는 것과 같이 설문조사(110)에 사용되는 설문조사 토큰(120)이 퍼즐화된 설문조사 토큰인 경우, 발행자(100)는 퍼즐화된 설문조사 토큰을 암호화 및 복호화하기 위한 대칭 키(KeyI)와, 이에 포함되는 메타데이터의 암호화 및 복호화에 필요한 한 쌍의 키(EncM, DecM)를 생성할 수 있다.The issuer 100 may generate a private key (Priv I ), a public key (Pub I ), etc. unique to the issuer. As described later, if the survey token 120 used in the survey 110 is a puzzled survey token, the issuer 100 provides a symmetric key (Key) for encrypting and decrypting the puzzled survey token. I ) and a pair of keys (Enc M , Dec M ) required for encryption and decryption of the metadata included therein can be generated.
발행자(100)는 응답자(200)로부터 개인 식별 데이터 또는 메타데이터가 포함된 설문조사 참여 요청에 대해 응답자(200)의 자격을 검증(verify)하는 한편, 검증을 성공적으로 통과한 응답자(200)에 대해 설문조사 토큰(120)을 제공할 수 있다.The publisher 100 verifies the qualifications of the respondent 200 in response to a request for participation in a survey containing personally identifiable data or metadata from the respondent 200, and sends a request to the respondent 200 who successfully passes the verification. A survey token 120 may be provided.
이 과정에서 설문조사 토큰(120)의 생성 등을 위해 키를 이용하여 하나 이상의 서명을 생성할 수 있다.In this process, one or more signatures can be created using the key to generate the survey token 120, etc.
또한, 발행자(100)는 설문조사(110)의 시작과 끝을 알리거나, 블록체인(500) 상에 트랜잭션의 형태로 기록된 설문조사 결과에 대하여, 유효한 트랜잭션을 집계하고 블록체인에 게시함으로써 설문조사의 집계를 수행할 수 있다.In addition, the issuer 100 announces the start and end of the survey 110, or collects valid transactions for the survey results recorded in the form of transactions on the blockchain 500 and posts them on the blockchain. A compilation of surveys can be performed.
응답자(200)는 발행자(100)에 대하여 개인 식별 데이터 또는 메타데이터가 포함된 설문조사 참여 요청을 제공하고, 요청에 대응하여 제공된 설문조사 토큰(120)을 이용하여 설문조사를 수행할 수 있다. 설문조사는 설문조사 토큰(120)을 블록체인(500) 상의 주소로 전송하기 위한 트랜잭션(transaction)을 블록체인에 기록함으로써 수행될 수 있다.The respondent 200 may provide a request to participate in a survey containing personal identification data or metadata to the issuer 100 and perform a survey using the survey token 120 provided in response to the request. The survey can be performed by recording a transaction on the blockchain to transmit the survey token 120 to an address on the blockchain 500.
도 4의 실시예에서, 응답자(200)가 설문조사(110)의 수행을 위해 설문조사 애플리케이션(400)을 이용하는 것이 예시적으로 도시된다. 설문조사 애플리케이션(400)은 설문조사(110)의 수행 및 답변의 제출을 위해 스마트폰, 태블릿 PC, 데스크탑 컴퓨터, 노트북 컴퓨터 등의 컴퓨팅 장치 상에서 수행되는 응용 프로그램을 포함할 수 있으나 본 발명이 이에 제한되는 것은 아니다.In the embodiment of FIG. 4 , the respondent 200 is exemplarily shown using the survey application 400 to perform the survey 110 . The survey application 400 may include an application program run on a computing device such as a smartphone, tablet PC, desktop computer, or laptop computer to conduct the survey 110 and submit answers, but the present invention is not limited to this. It doesn't work.
비록 도 4에는 조합된 정보가 저장된 블록체인 상의 토큰 이용 시스템(1)이 하나의 응답자(200)를 포함하는 것으로 도시되었으나 본 발명이 이에 제한되는 것은 아니다. 본 시스템(1)이 수행하는 설문조사의 목적에 부합하도록, 복수의 응답자(200)에 대한 설문조사가 수행될 수 있는 것은 물론이다.Although FIG. 4 shows that the token usage system 1 on the blockchain in which the combined information is stored includes one responder 200, the present invention is not limited thereto. Of course, in order to meet the purpose of the survey conducted by the system 1, a survey can be conducted on a plurality of respondents 200.
또한, 응답자(200)는 설문조사 참여의 증거를 벤더(300)에게 제시하고, 상기 증거의 검증이 완료되면 제공된 보상을 수령하고, 이를 저장할 수 있다. 벤더(300)는 응답자(200)로부터 제공된 보상의 청구를 검증하고, 청구가 유효한 경우 응답자(200)의 지갑 주소 또는 청구에 지정된 주소로 보상을 제공할 수 있다.Additionally, the respondent 200 may present evidence of participation in the survey to the vendor 300, and upon completion of verification of the evidence, receive the provided compensation and store it. The vendor 300 may verify the claim for compensation provided by the respondent 200 and, if the claim is valid, provide the compensation to the wallet address of the respondent 200 or the address specified in the claim.
블록체인(500)은 복수의 컴퓨팅 장치로 구성된 노드가 서로 연결되어 성립하는 네트워크를 포함할 수 있다. 블록체인(500)을 구성하는 복수의 노드는 설문조사의 전 과정을 진행 및 기록하기 위해 실행되는 트랜잭션 또는 스마트 컨트랙트를 상호 검증할 수 있다. 블록체인(500)에는 발행자(100)에 의해 생성된 설문조사(110), 응답자(200)에 의해 생성된 설문조사의 답변 및 답변들을 집계한 결과 등이 기록될 수 있다.The blockchain 500 may include a network established by connecting nodes composed of a plurality of computing devices. A plurality of nodes constituting the blockchain 500 can mutually verify transactions or smart contracts executed to proceed and record the entire survey process. The blockchain 500 may record the answers of the survey 110 created by the issuer 100, the answers of the survey created by the respondent 200, and the results of aggregating the answers.
도 5는 본 발명의 몇몇 실시예에 따른 조합된 정보가 저장된 블록체인 상의 토큰 이용 방법을 설명하기 위한 데이터 흐름도이다.Figure 5 is a data flow diagram illustrating a method of using tokens on a blockchain where combined information is stored according to some embodiments of the present invention.
도 5를 참조하면, 본 발명의 몇몇 실시예에 따른 조합된 정보가 저장된 블록체인 상의 토큰 이용 방법은, 발행자(100)로부터 설문조사가 생성 및 발표되는 단계(S110), 응답자(200)가 개인 식별 데이터 또는 메타데이터를 이용하여 발행자(100) 측에 설문조사를 위한 등록을 수행하는 단계(S120), 발행자(100)가 응답자(200)의 자격을 검증하고, 검증 결과 응답자(200)가 유효한 자격을 가진 경우 설문조사 토큰을 생성하여 응답자(200)에게 제공하는 단계(S130), 응답자(200)로부터 설문조사 토큰을 이용하여 설문조사 답변이 블록체인(500)에 제출되는 단계(S140), 발행자(100)가 블록체인(500) 상에 기록된 설문조사 답변을 집계하는 단계(S150), 집계된 설문조사 답변에 기초하여 발행자(100)가 블록체인(500)에 설문조사 결과를 기록하는 단계(S160), 응답자(200)가 설문조사 참여 증거를 벤더(300)에 제공하는 단계(S170), 벤더(300)가 설문조사 참여 증거를 검증하고 블록체인 상의 응답자 지갑에 보상을 제공하는 단계(S180) 등을 포함할 수 있다. 이하의 도면들을 참조하여 본 발명의 실시예에 따른 데이터 수집 방법의 각 단계들을 설명하도록 한다.Referring to FIG. 5, the method of using a token on a blockchain storing combined information according to some embodiments of the present invention includes a step in which a survey is created and announced by the issuer 100 (S110), and the respondent 200 is an individual. A step of registering for a survey on the issuer 100 using identification data or metadata (S120), the issuer 100 verifies the qualifications of the respondent 200, and as a result of the verification, the respondent 200 is valid. If qualified, a survey token is generated and provided to the respondent 200 (S130); a survey answer is submitted to the blockchain 500 using the survey token from the respondent 200 (S140); The issuer 100 aggregates the survey answers recorded on the blockchain 500 (S150), and the issuer 100 records the survey results on the blockchain 500 based on the aggregated survey answers. Step (S160), step (S170) in which the respondent (200) provides evidence of survey participation to the vendor (300), step (S170) in which the vendor (300) verifies the evidence of survey participation and provides compensation to the respondent's wallet on the blockchain (S180) and the like. Each step of the data collection method according to an embodiment of the present invention will be described with reference to the drawings below.
도 6은 본 발명의 몇몇 실시예에 따른 설문조사 초기화를 설명하기 위한 도면이다.Figure 6 is a diagram for explaining survey initialization according to some embodiments of the present invention.
도 6을 참조하면, 발행자(100)는 설문조사(110)의 생성 및 발표를 통한 설문조사 초기화를 진행할 수 있다. 발행자(100)는 설문조사 토큰(120)의 서명에 사용할 하나 이상의 공개 키 및 개인 키 쌍(PubI, PrivI)을 생성할 수 있다.Referring to FIG. 6, the publisher 100 can initialize the survey by creating and announcing the survey 110. Issuer 100 may generate one or more public key and private key pairs (Pub I , Priv I ) to be used for signing survey tokens 120.
또한, 뒤에서 설명하는 것과 같이 설문조사 토큰(120)이 응답자(200)의 메타데이터를 포함하는 퍼즐화된 설문조사 토큰인 경우, 퍼즐화된 설문조사 토큰을 암호화 및 복호화하기 위한 키(KeyI)를 생성할 수 있다. 상기 키(KeyI)는 대칭키 암호화 알고리즘에 사용될 수 있으며, 이러한 알고리즘은 AES(Advanced Encryption Standard) 알고리즘을 포함할 수 있으나 본 발명이 이에 제한되는 것은 아니다.In addition, as described later, if the survey token 120 is a puzzled survey token containing metadata of the respondent 200, a key (Key I ) for encrypting and decrypting the puzzled survey token can be created. The key (Key I ) may be used in a symmetric key encryption algorithm, and this algorithm may include an Advanced Encryption Standard (AES) algorithm, but the present invention is not limited thereto.
발행자(100)는 설문조사(110)의 생성을 위해 설문조사를 식별하기 위한 식별자(SurveyID)를 선언할 수 있다. 상기 식별자(SurveyID)는 예를 들어 설문조사의 문자열 식별자에 포함된 스트링의 해시를 포함할 수 있으며, 해시를 연산하는 알고리즘은 예를 들어 SHA-2, SHA-3 등을 포함할 수 있으나 본 발명이 이에 제한되는 것은 아니다.The publisher 100 may declare an identifier (SurveyID) to identify the survey to create the survey 110. The identifier (SurveyID) may include, for example, a hash of the string included in the string identifier of the survey, and the algorithm for calculating the hash may include, for example, SHA-2, SHA-3, etc., but according to the present invention This is not limited to this.
발행자(100)로부터 생성된 설문조사(110)는 예를 들어 JSON, YAML, TOML, XML 또는 설문조사 앱(400)에 의해 처리될 수 있는 형식의 구조화된 문서를 포함할 수 있다. 이러한 문서에는 적어도 하나 이상의 질문이 포함될 수 있다. 또한, 설문조사(110)는 참여하고자 하는 응답자가 개인 데이터 등과 함께 설문조사 토큰을 요청하기 위해 접속하는 연락처(contact point) 정보를 포함할 수 있다. Survey 110 generated from publisher 100 may include, for example, JSON, YAML, TOML, XML, or a structured document in a format that can be processed by survey app 400. These documents may contain at least one question. Additionally, the survey 110 may include contact point information through which respondents wishing to participate access to request a survey token along with personal data, etc.
또한, 설문조사(110)는 응답자(200)에 관한 개인 정보(이하에서 메타데이터(metadata)로 설명한다.)를 기록할 수 있는 구조화된 쿼리 문서(RespondentDoc)를 포함할 수 있다. 발행자(100)로부터 상기 문서(RespondentDoc)를 포함하는 설문조사(110)가 응답자(200)로 제공되면, 응답자(200)는 상기 문서(RespondentDoc)의 양식을 작성함으로써 메타데이터를 생성할 수 있다. 상기 메타데이터는 예를 들어 응답자(200)의 나이, 출생 지역, 성별과 같은 개인 정보에 관한 다양한 질문들을 포함할 수 있다.Additionally, the survey 110 may include a structured query document (RespondentDoc) that can record personal information (described below as metadata) about the respondent 200. When the survey 110 including the document (RespondentDoc) is provided to the respondent 200 from the publisher 100, the respondent 200 can generate metadata by filling out the form of the document (RespondentDoc). The metadata may include various questions regarding personal information, such as the respondent 200's age, region of birth, and gender, for example.
이 때 발행자(100)는 설문조사(110)의 참여 자격에 일정한 조건을 부여할 수 있다. 예를 들어, 특정 성별, 연령대, 거주지역 등에 관한 제한을 추가하고, 이후 응답자(200)로부터 메타데이터가 포함된 설문조사 토큰이 제공되면 상기 일정한 조건에 따라 응답 결과를 필터링하고, 설문조사 집계에 이용할 수 있다.At this time, the issuer 100 may impose certain conditions on eligibility for participation in the survey 110. For example, restrictions on specific gender, age group, residential area, etc. are added, and when a survey token containing metadata is provided from the respondent 200, the response results are filtered according to the above certain conditions, and the survey is aggregated. Available.
발행자(100)는 설문조사(110)의 생성과 함께 설문조사(110)의 조사 방식을 규정할 수 있다. 설문조사(110)는 예를 들어 응답자(200)의 신원이 공개되며 답변이 추적 가능한 공개 설문조사이거나, 응답자에 대한 추적이 불가능한 익명 설문조사를 포함할 수 있다.The publisher 100 may create the survey 110 and define the research method of the survey 110. Survey 110 may, for example, be a public survey where the identity of the respondent 200 is disclosed and the answers can be tracked, or it may include an anonymous survey where the respondent cannot be traced.
또한, 발행자(100)는 설문조사(110)의 생성과 함께 설문조사(110)의 집계 방식을 규정할 수 있다. 설문조사(110)의 답변의 집계는 응답자(200)에 의해 제출된 직후 집계되는 즉각적인 집계와, 모든 응답자(200)에 의해 답변 제출이 완료된 후에만 확인할 수 있는 지연된 집계를 포함할 수 있다.Additionally, the publisher 100 may specify the aggregation method of the survey 110 along with the creation of the survey 110. Aggregation of responses in the survey 110 may include immediate aggregation, which is tallied immediately after submission by the respondent 200, and delayed aggregation, which can be confirmed only after response submission by all respondents 200 is completed.
만약 설문조사(110)가 지연된 집계에 의해 답변이 집계되는 경우, 응답자(200)는 응답자(200)의 답변을 암호화하기 위한 키 쌍(EncI, DecI)을 생성할 수 있다.If the survey 110 aggregates answers by delayed aggregation, the respondent 200 may generate a key pair (Enc I , Dec I ) to encrypt the answer of the respondent 200.
발행자(100)는 설문조사(110)의 생성을 완료하고, 생성된 설문조사(110)를 블록체인(500)에 기록함으로써 설문조사(110)를 발표할 수 있다. 블록체인(500)에 기록된 설문조사(110)는 공개됨으로써 임의의 응답자에 의하여 접근이 가능할 수 있다.The publisher 100 can announce the survey 110 by completing the creation of the survey 110 and recording the generated survey 110 in the blockchain 500. The survey 110 recorded in the blockchain 500 may be made public and accessible to any respondent.
본 발명의 몇몇 실시예에서, 발행자(100)에 의해 설문조사(110)가 생성되기 이전에, 설문조사(110)의 대상이 되는 불특정 다수의 참여자, 즉 설문조사 토큰을 제공받을 수 있는 응답자(200) 후보로부터 소정의 정보를 제공받을 수 있다. 제공된 응답자(200) 후보들의 소정의 정보는 발행자(100)에 대하여 응답자(200)가 설문조사 참여 요청을 제공한 경우 응답자 자격의 검증을 수행하기 위해 활용될 수 있다.In some embodiments of the present invention, before the survey 110 is created by the issuer 100, an unspecified number of participants who are the subject of the survey 110, that is, respondents who can receive a survey token ( 200) Certain information may be provided from the candidate. The provided information on the candidate respondents (200) can be used to verify respondent qualifications when the respondent (200) provides a request to participate in a survey for the issuer (100).
도 7a는 본 발명의 몇몇 실시예에 따른 공개 설문조사를 위한 설문조사 토큰의 생성을 설명하기 위한 도면이다.FIG. 7A is a diagram illustrating the creation of a survey token for a public survey according to some embodiments of the present invention.
도 7a를 참조하면, 발행자(100)로부터 생성된 설문조사(110)를 응답자(200)가 인식하고, 공개 설문조사에 대하여 발행자(100)에 대해 설문조사 참여 요청을 제공하며 응답자 자격에 대한 검증이 완료되면 설문조사 토큰이 응답자(200)에게 제공되는 것이 도시된다.Referring to FIG. 7A, the respondent 200 recognizes the survey 110 generated by the issuer 100, provides a survey participation request to the issuer 100 for the public survey, and verifies respondent qualifications. When this is completed, a survey token is shown being provided to the respondent 200.
응답자(200)는 블록체인(500)에 기록된 설문조사(110)로부터 발행자(100)에 접근할 수 있는 연락처를 추출할 수 있다. 해당 연락처를 통해 응답자(200)는 개인데이터 및 해시 등을 전송함으로써 발행자(100)에게 설문조사 토큰(120)을 요청할 수 있다. 한편, 응답자(200)는 설문조사 토큰(120)을 요청하기 이전에, 트랜잭션의 출발지 주소로 사용되는 블록체인(500) 상의 지갑 주소를 생성할 수 있다. 이후에 응답자(200)의 지갑 주소로 벤더(300)가 설문조사 참여에 대한 보상을 제공할 수 있다.The respondent 200 can extract contact information that can access the issuer 100 from the survey 110 recorded in the blockchain 500. Through the contact information, the respondent 200 can request a survey token 120 from the issuer 100 by transmitting personal data and hashes. Meanwhile, before requesting the survey token 120, the respondent 200 may create a wallet address on the blockchain 500 that is used as the origin address of the transaction. Afterwards, the vendor 300 can provide compensation for participating in the survey to the wallet address of the respondent 200.
응답자(200)는 설문조사(110)의 트랜잭션을 검증하기 위한 공개 키(PubV)와, 설문조사(110)의 트랜잭션에 서명하는 것에 사용되는 개인 키(PrivV)를 생성할 수 있다. 응답자(200)의 공개 키(PubV)와 개인 키(PrivV)는 서로 대응(match)될 수 있다. Respondent 200 may generate a public key (Pub V ) for verifying the transaction of the survey 110 and a private key (Priv V ) used to sign the transaction of the survey 110. The public key (Pub V ) and private key (Priv V ) of the respondent 200 may match each other.
응답자(200)는 응답자(200)의 신원을 식별할 수 있는 개인 식별 데이터 와 함께 응답자의 공개 키(PubV)를 발행자(100)에게 제공할 수 있다. 이와 함께, 응답자(200)는 상기 개인 식별 데이터를 포함하는 설문조사 참여 요청을 응답자의 개인 키(PrivV)로 서명하여 발행자(100)에게 제공할 수 있다.The respondent 200 may provide the issuer 100 with the respondent's public key (Pub V ) along with personal identification data that can identify the respondent 200. In addition, the respondent 200 may sign a survey participation request including the personal identification data with the respondent's private key (Priv V ) and provide it to the issuer 100.
응답자(200)의 개인 식별 데이터는 예를 들어, 응답자(200)의 지갑 주소, 소속, 직함, 보안 등급 등을 포함할 수 있다.The personal identification data of the respondent 200 may include, for example, the respondent 200's wallet address, affiliation, title, security level, etc.
응답자(200)로부터 설문조사 참여 요청을 제공받은 발행자(100)는 요청에 포함된 응답자(200)의 개인 식별 데이터를 확인하고, 설문 조사에 참가할 수 있는 자격을 평가할 수 있다. 이러한 평가는 예를 들어, 응답자(200)의 개인 식별 데이터가 발행자(100)가 미리 저장하고 있는 응답자 명부와 일치하는지 여부 등에 기초할 수 있으나 본 발명이 이에 제한되는 것은 아니다.The publisher 100, which has received a request to participate in a survey from the respondent 200, can check the personal identification data of the respondent 200 included in the request and evaluate the applicant's eligibility to participate in the survey. This evaluation may be based, for example, on whether the personal identification data of the respondent 200 matches the list of respondents pre-stored by the issuer 100, but the present invention is not limited thereto.
발행자(100)는 응답자(200)에 대한 평가가 종료되면, 설문조사 토큰을 생성할 수 있다. 설문조사 토큰(SurveyTokenI)은 응답자의 공개 키(PubV)의 해시를 발행자의 개인 키(PrivI)로 서명한 결과(SurveyTokenI = Sign(hash(PubV), PrivI)을 포함할 수 있다. 여기서 바이트 스트링 bytes를 개인 키 privKey로 서명하는 연산을 수행하는 Sign(bytes, privKey)은 예를 들어 DSA(Digital Signature Algorithm) 서명, ECDSA(Elliptic Curve Digital Signature Algorithm) 서명 또는 Ed25519 또는 기타 공지된 디지털 서명 알고리즘을 사용할 수 있다.When the evaluation of the respondent 200 is completed, the issuer 100 may generate a survey token. The survey token (SurveyToken I ) may contain the result of signing the hash of the respondent's public key (Pub V ) with the issuer's private key (Priv I ) (SurveyToken I = Sign(hash(Pub V ), Priv I ). Here, Sign(bytes, privKey), which performs the operation of signing the byte string bytes with the private key privKey, is, for example, a Digital Signature Algorithm (DSA) signature, an Elliptic Curve Digital Signature Algorithm (ECDSA) signature, or Ed25519 or other known A digital signature algorithm can be used.
또한, 발행자(100)는 앞서 제공된 응답자(200)의 개인 식별 데이터 및 메타데이터를 조합하여 설문조사 토큰을 생성할 수 있다. 이와 같이 생성된 토큰은 앞서 설명된 퍼즐화된 설문조사 토큰을 포함할 수 있다.Additionally, the issuer 100 may generate a survey token by combining the previously provided personal identification data and metadata of the respondent 200. Tokens generated in this way may include the puzzled survey tokens described above.
생성된 설문조사 토큰(120)은 블록체인을 통해 응답자(200)에게 제공될 수 있다. 응답자(200)는 이후 단계를 위해 제공된 토큰(120)을 별도의 처리 없이 그대로 보관하고 있을 수 있다.The generated survey token 120 may be provided to the respondent 200 through blockchain. The respondent 200 may keep the token 120 provided for later steps without any further processing.
도 7b는 본 발명의 몇몇 실시예에 따른 익명 설문조사를 위한 설문조사 토큰의 생성을 설명하기 위한 도면이다.FIG. 7B is a diagram illustrating the creation of a survey token for an anonymous survey according to some embodiments of the present invention.
도 7b에 의해 설명되는 익명 설문조사는, 응답자(200)의 신원이 발행자(100)에 의해서도 노출되지 않는 설문조사 과정이 포함된다. 즉, 이하에서는 발행자(100)는 응답자(200)가 제공한 응답자의 개인키에 관한 정보를 알지 못한 채 자신의 개인 키로 서명하여 응답자(200)에게 제공하는 일련의 과정이 설명된다.The anonymous survey illustrated in FIG. 7B includes a survey process in which the identity of the respondent 200 is not revealed even by the issuer 100. That is, the following will describe a series of processes in which the issuer 100 signs with its own private key and provides the information to the respondent 200 without knowing the information about the respondent's private key provided by the respondent 200.
도 7b를 참조하면, 발행자(100)로부터 생성된 설문조사(110)를 응답자(200)가 인식하고, 익명 설문조사에 대하여 발행자(100)에 대해 설문조사 참여 요청을 제공하며 응답자 자격에 대한 검증이 완료되면 설문조사 토큰이 응답자(200)에게 제공되는 것이 도시된다. 이후에 설명하는 것과 같이, 공개 설문조사와는 다르게 익명 설문조사를 수행하는 경우 응답자의 식별을 방지하기 위한 별도의 단계들이 추가적으로 수행될 수 있다.Referring to FIG. 7b, the respondent 200 recognizes the survey 110 created by the publisher 100, provides a survey participation request to the publisher 100 for an anonymous survey, and verifies the respondent's qualifications. When this is completed, a survey token is shown being provided to the respondent 200. As will be explained later, when conducting an anonymous survey, unlike a public survey, separate steps may be additionally taken to prevent identification of respondents.
응답자(200)가 발행자(100)의 연락처를 추출하고, 개인 키/공개 키(PrivV, PubV)를 생성하는 것은 앞서 설명한 공개 설문조사의 경우와 동일할 수 있다.The respondent 200 extracting the contact information of the issuer 100 and generating the private key/public key (Priv V , Pub V ) may be the same as in the public survey described above.
한편, 응답자(200)는 응답자의 공개 키의 블라인드(blind) 해시를 생성하고, 응답자(200)의 개인 식별 데이터와 함께 발행자(100)에 제공할 수 있다.Meanwhile, the respondent 200 may generate a blind hash of the respondent's public key and provide it to the issuer 100 along with the personal identification data of the respondent 200.
구체적으로, 응답자(200)는 응답자의 공개 키(PubV)의 해시(hpk)를 연산할 수 있다(hpk = hash(PubV)). 또한, 응답자(200)는 발행자의 공개 키(PubI)와 랜덤하게 생성된 논스(nonce)를 이용하여 공개 키의 해시(hpk)를 블라인드한 결과(bpk)를 연산할 수 있다(bpk = Blind(hpk, PubI, nonce)).Specifically, the responder 200 may calculate the hash (hpk) of the responder's public key (Pub V ) (hpk = hash(Pub V )). In addition, the responder 200 can calculate the result (bpk) of blinding the hash (hpk) of the public key using the issuer's public key (Pub I ) and a randomly generated nonce (bpk = Blind) (hpk, Pub I , nonce)).
여기서 블라인드(blind)는 Blind RSA signature와 같이 바이트 문자열의 내용을 공개하지 않고 바이트 문자열에 안전하게 서명할 수 있는 프로토콜을 의미할 수 있다. 이러한 블라인드 서명에서 보낸 사람의 메시지는 수신자가 서명하기 전에는 블라인드되며, 서명 당사자는 메시지 내용을 알지 못한다. 보낸 사람은 서명된 메시지를 언블라인드(unblind)함으로써 적절하게 서명된 메시지를 얻을 수 있다.Here, blind may refer to a protocol that can safely sign a byte string without disclosing the contents of the byte string, such as Blind RSA signature. In such blind signing, the sender's message is blinded until the recipient signs, and the signing party does not know the contents of the message. The sender can obtain a properly signed message by unblinding the signed message.
응답자(200)는 응답자의 공개 키의 블라인드 해시(bpk)를 응답자의 개인 식별 데이터와 함께 보안 통신 채널을 통해 발행자(100)에게 제공할 수 있다. 발행자(100)는 응답자(200)에 대한 평가가 종료되면, 설문조사 토큰(SurveyTokenI)을 생성할 수 있다. 설문조사 토큰(SurveyTokenI)은 제공된 블라인드 해시(bpk)를 발행자의 개인 키(PrivI)로 RSA 서명한 결과(SurveyTokenI = SignRSA(bpk, PrivI))를 포함할 수 있다. 여기서 바이트 스트링 bytes를 개인 키 privKey로 RSA 서명하는 연산을 수행하는 SignRSA(bytes, privKey)는, 바이트 스트링의 배열로부터 얻어진 큰 정수 m을 지수 e와 모듈로 N으로 연산(num(bytes)^e mod N)하는 것을 의미할 수 있다. Responder 200 may provide a blind hash (bpk) of the responder's public key along with the responder's personally identifiable data to issuer 100 over a secure communication channel. When the evaluation of the respondent 200 is completed, the issuer 100 may generate a survey token (SurveyToken I ). The survey token (SurveyToken I ) may include the result of RSA signing the provided blind hash (bpk) with the issuer's private key (Priv I ) (SurveyToken I = SignRSA(bpk, Priv I )). Here, SignRSA(bytes, privKey), which performs the operation of RSA signing the byte string bytes with the private key privKey, operates on a large integer m obtained from an array of byte strings with the exponent e and modulo N (num(bytes)^e mod N) It can mean to do.
응답자(200)는 발행자로부터 제공된 설문조사 토큰(SurveyTokenI)을 언블라인드(unblind)할 수 있다. 즉, 앞서 공개 키의 블라인드 해시(bpk) 생성 시 사용한 논스(nonce)를 이용하여 언블라인드된 설문조사 토큰(SurveyTokneV)을 생성(SurveyTokenV = Unblind(SurveyTokenI, nonce)하는 것이다.The respondent 200 can unblind the survey token (SurveyToken I ) provided by the issuer. In other words, an unblinded survey token (SurveyTokne V ) is created (SurveyToken V = Unblind(SurveyToken I , nonce)) using the nonce previously used to generate the blind hash (bpk) of the public key.
위와 같은 블라인드 및 언블라인드 연산을 통한 일련의 과정의 핵심 특징은 응답자(200)가 얻은 언블라인드된 설문조사 토큰(SurveyTokenV)이 SignRSA(hash(PubV), PrivI), 즉 응답자의 공개 키(PubV)에 대한 발행자의 서명과 동일하다는 것에 있다. 블라인드 서명 과정 덕분에 발행자(100)는 응답자의 공개 키(PubV)의 값을 알지 못한 채 서명하게 된다. 응답자(200)가 설문조사 트랜잭션에 서명하기 위해 자신의 키(PrivV)를 사용하는 경우 발행자(100)를 포함한 어느 누구도 실제 응답자를 추적할 수 없게 된다.The key feature of the series of processes through the above blind and unblind operations is that the unblinded survey token (SurveyToken V ) obtained by the respondent 200 is SignRSA(hash(Pub V ), Priv I ), that is, the respondent's public key. (Pub V ) is identical to the issuer's signature. Thanks to the blind signing process, the publisher 100 signs without knowing the value of the responder's public key (Pub V ). If the respondent 200 uses his or her own key (Priv V ) to sign the survey transaction, no one, including the issuer 100, will be able to track the actual respondent.
도 8a는 본 발명의 몇몇 실시예에 따른 공개 설문조사를 위한 퍼즐화된 설문조사 토큰의 생성을 설명하기 위한 도면이다. 도 8a 및 하기 8b에서 설명하는 퍼즐화된 설문조사 토큰은 연령, 출신 지역, 성별 등과 같이 응답자(200)에 대한 몇 가지 추가 정보, 즉 메타데이터를 포함하는 설문조사 토큰을 의미할 수 있다. 상기 퍼즐화된 설문조사 토큰이 이와 같은 메타데이터를 포함함으로써, 응답자(200)의 개인 정보를 침해하지 않고 응답자에 대한 검증 가능한 정보가 발행자(100)에게 제공될 수 있다. 즉, 응답자(200)가 자발적으로 제공한 최소한의 개인 정보에 기초하여 설문조사 진행이 가능하며, 이후 설명되는 것과 같이 발행자(100)만이 식별 및 복호화할 수 있는 메타데이터를 이용함으로써 개인정보 유출 방지 및 개인정보 주체의 데이터 주권 확보가 가능하다.FIG. 8A is a diagram illustrating the creation of a puzzled survey token for a public survey according to some embodiments of the present invention. The puzzled survey token described in FIGS. 8A and 8B below may refer to a survey token that includes some additional information, that is, metadata, about the respondent 200, such as age, region of origin, gender, etc. As the puzzled survey token includes such metadata, verifiable information about the respondent 200 can be provided to the issuer 100 without violating the personal information of the respondent 200. In other words, it is possible to conduct a survey based on the minimum personal information voluntarily provided by the respondent 200, and as explained later, personal information leakage is prevented by using metadata that only the issuer 100 can identify and decrypt. It is possible to secure data sovereignty of personal information subjects.
메타데이터는 예를 들어, JSON, YAML, TOML, XML 등과 같은 구조화된 형식의 문서에 포함된 항목과, 각각의 항목에 할당된 코드를 포함하도록 구성될 수 있다.Metadata may be configured to include items included in documents in structured formats, such as JSON, YAML, TOML, XML, etc., and codes assigned to each item.
메타데이터는 발행자(100)의 내부 데이터베이스에 저장될 수 있으며, 내부 데이터베이스는 저장된 메타데이터를 고유하게 식별하기 위한 EntryID를 포함할 수 있다. 또한 퍼즐화된 설문조사 토큰에는 해당 메타데이터에 대한 불투명한(opaque) 참조로 암호화된 EntryID, 즉 oeid가 포함될 수 있다.Metadata may be stored in an internal database of the publisher 100, and the internal database may include an EntryID to uniquely identify the stored metadata. Puzzled survey tokens may also contain an EntryID, or oeid, encrypted as an opaque reference to the corresponding metadata.
도 8a를 참조하면, 발행자(100)로부터 생성된 설문조사(110)를 응답자(200)가 인식하고, 공개 설문조사에 대하여 발행자(100)에 대해 설문조사 참여 요청을 제공하며 응답자 자격에 대한 검증이 완료되면 퍼즐화된 설문조사 토큰이 응답자(200)에게 제공되는 것이 도시된다.Referring to FIG. 8A, the respondent 200 recognizes the survey 110 generated by the issuer 100, provides a survey participation request to the issuer 100 for the public survey, and verifies respondent qualifications. Once this is completed, the puzzled survey token is shown being provided to the respondent 200.
설문조사(110)가 공개 설문조사인 경우, 응답자(200)는 식별을 위한 개인 데이터와 함께 메타데이터에 포함될 수 있는 개인 정보를 발행자(100)에게 제공할 수 있다. 발행자(100)는 제공된 개인 정보를 참조하여 응답자(200)의 메타데이터를 완성시키고, 내부 데이터베이스에 저장할 수 있다.If the survey 110 is a public survey, the respondent 200 may provide the publisher 100 with personal information that may be included in metadata along with personal data for identification. The publisher 100 may refer to the provided personal information to complete the metadata of the respondent 200 and store it in an internal database.
응답자(200)가 설문조사(110)에 포함된 발행자(100)의 연락처를 추출하는 한편, 응답자(200)에 관한 개인 정보를 기록할 수 있는 구조화된 쿼리 문서(RespondentDoc)를 완성할 수 있다.The respondent 200 can extract the contact information of the issuer 100 included in the survey 110 and complete a structured query document (RespondentDoc) in which personal information about the respondent 200 can be recorded.
응답자(200)는 자신의 공개 키(PubV), 개인 식별 데이터, 메타데이터가 포함된 문서(RespondentDoc)와 함께, 설문조사 참여의 요청을 응답자의 개인 키(PrivV)로 서명하여 발행자(100)에게 제공할 수 있다. 상기 문서(RespondentDoc)에 포함된 메타데이터는 앞에서 설명한 것과 같이 각각의 정보에 할당된 코드와, 임의의 수를 부여하여 조합된 데이터를 포함할 수 있다.The respondent (200) signs the request to participate in the survey with the respondent's private key (Priv V ), along with his or her public key (PubV), a document (RespondentDoc) containing personal identification data, and metadata, and sends it to the publisher (100). can be provided to. As described above, metadata included in the document (RespondentDoc) may include codes assigned to each piece of information and data combined by assigning an arbitrary number.
발행자(100)는 제공된 데이터 중 응답자(200)의 개인 데이터를 확인하고, 설문 조사에 참가할 수 있는 자격을 평가할 수 있다. 이와 함께 응답자(200)의 메타데이터는 고유의 EntryID로 식별될 수 있도록 발행자(100)의 내부 데이터베이스에 저장될 수 있다.The publisher 100 can check the personal data of the respondent 200 among the provided data and evaluate their eligibility to participate in the survey. In addition, the metadata of the respondent 200 may be stored in the internal database of the issuer 100 so that it can be identified with a unique EntryID.
발행자(100)는 EntryID를 암호화하여 불투명한(opaque) 메타데이터 ID(oeid)를 생성할 수 있다(oeid = Enc(EntryID, KeyI). 여기서 지정된 key를 사용하여 bytes 문자열의 비대칭 암호화를 연산하는 Enc(bytes, key)는 공지된 암호화 알고리즘을 이용하는 것을 포함할 수 있다.The issuer 100 can generate an opaque metadata ID (oeid) by encrypting the EntryID (oeid = Enc(EntryID, Key I ). Here, asymmetric encryption of the bytes string is calculated using the specified key. Enc(bytes, key) may include using a known encryption algorithm.
또한, 발행자(100)는 응답자의 공개 키(PubV)의 해시를 발행자의 개인 키(PrivI)로 서명하고(sk = Sign(hash(PubV), PrivI) 공개 설문조사의 진행을 위한 퍼즐화된 설문조사 키(sk)의 데이터 구조의 해시(hd)를 연산할 수 있다(hd = hash(oeid || sk). 마지막으로, 발행자(100)는 발행자의 디지털 서명이 기재된 데이터의 쌍을 포함하는 퍼즐화된 설문조사 토큰(PuzzSurveyTokenI)을 생성할 수 있다(PuzzSurveyTokenI = [oeid, sk, Sign(hd, PrivI).In addition, the issuer 100 signs the hash of the respondent's public key (Pub V ) with the issuer's private key (Priv I ) (sk = Sign(hash(Pub V ), Priv I ) to proceed with the public survey. The hash (hd) of the data structure of the puzzled survey key (sk) can be calculated (hd = hash(oeid || sk). Finally, the publisher 100 creates a pair of data containing the publisher's digital signature. You can create a puzzled survey token (PuzzSurveyToken I ) containing (PuzzSurveyToken I = [oeid, sk, Sign(hd, Priv I ).
발행자(100)는 생성된 퍼즐화된 설문조사 토큰(PuzzSurveyTokenI)을 그대로 발행자의 퍼즐화된 설문조사 토큰(PuzzSurveyTokenV = PuzzSurveyTokenI)으로 하여 보관할 수 있다.The issuer 100 can store the generated puzzled survey token (PuzzSurveyToken I ) as the issuer's puzzled survey token (PuzzSurveyToken V = PuzzSurveyToken I ).
도 8b는 본 발명의 몇몇 실시예에 따른 익명 설문조사를 위한 퍼즐화된 설문조사 토큰의 생성을 설명하기 위한 도면이다.FIG. 8B is a diagram illustrating the creation of a puzzled survey token for an anonymous survey according to some embodiments of the present invention.
메타데이터를 포함하는 퍼즐화된 설문조사 토큰을 이용한 익명의 설문조사를 수행하기 위하여, 응답자(200)에 의해 블라인드된 해시를 이용하는 것은 앞서 도 7b를 이용한 설명과 유사하다.Using a hash blinded by the respondent 200 to conduct an anonymous survey using a puzzled survey token containing metadata is similar to the previous explanation using FIG. 7B.
구체적으로, 도 8b를 참조하면, 응답자(200)가 설문조사(110)에 포함된 발행자(100)의 연락처를 추출하는 한편, 응답자(200)에 관한 개인 정보를 이용하여 메타데이터(md)를 직접 생성할 수 있다. 즉, 앞서 공개 설문조사에서 발행자(100)가 응답자(200)의 개인 정보로부터 메타데이터를 구성한 것과는 달리, 퍼즐화된 설문조사 토큰을 이용한 익명 설문조사에서는 응답자(200)가 자신의 메타데이터(md)를 직접 생성할 수 있다. 여기서 생성된 메타데이터(md)는 앞서 설명한 것과 같이 각각의 정보에 할당된 코드와, 임의의 수를 부여하여 조합된 데이터를 포함할 수 있다.Specifically, referring to FIG. 8B, the respondent 200 extracts the contact information of the publisher 100 included in the survey 110 and generates metadata (md) using personal information about the respondent 200. You can create it yourself. In other words, unlike the previous public survey in which the publisher 100 composed metadata from the personal information of the respondent 200, in the anonymous survey using a puzzled survey token, the respondent 200 composed his/her metadata (md ) can be created directly. The metadata (md) generated here may include a code assigned to each piece of information, as described above, and data combined by assigning an arbitrary number.
이어서, 응답자(200)는 메타데이터(md)와 응답자의 공개 키(PubV)를 이용하여 머클 트리(merkel tree; mt)를 구성할 수 있다(mt = hash(hash(PubV) || hash(md))). 즉, 응답자(200)는 응답자의 공개 키(PubV)의 해시와 메타데이터(md)의 해시를 합친 값을 다시 해시로 구성하여 머클 트리(mt)를 구성하는 것이다. Subsequently, the respondent 200 may construct a Merkel tree (mt) using metadata (md) and the respondent's public key (Pub V ) (mt = hash(hash(Pub V ) || hash (md))). In other words, the respondent 200 constructs a Merkle tree (mt) by combining the hash of the respondent's public key (Pub V ) and the hash of the metadata (md) into a hash.
응답자(200)는 응답자의 공개 키(PubV)와 메타데이터(md)의 머클 트리(mt)를 블라인드한 값(bmt)을 생성한다. 구체적으로, 응답자는 두 개의 랜덤한 논스(nonce1, nonce2)를 생성하고, 발행자의 공개 키(PubI)와 논스(nonce1)를 이용하여 응답자의 공개 키의 해시(hpk)를 블라인드한 결과(bpk)를 연산할 수 있다(bpk = Blind(hpk, PubI, nonce1).The respondent 200 generates a value (bmt) by blinding the Merkle tree (mt) of the respondent's public key (Pub V ) and metadata (md). Specifically, the respondent generates two random nonces (nonce1, nonce2), and uses the issuer's public key (Pub I ) and the nonce (nonce1) to blind the hash (hpk) of the respondent's public key (bpk). ) can be calculated (bpk = Blind(hpk, Pub I , nonce1).
이어서, 응답자(200)는 발행자의 공개 키(PubI)와 논스(nonce2)를 이용하여 머클 트리 루트(mt)를 블라인드한 결과(bmt)를 연산할 수 있다(bmt = Blind(mt, PubI, nonce2).Subsequently, the responder 200 can calculate the result (bmt) of blinding the Merkle tree root (mt) using the issuer's public key (Pub I ) and nonce (nonce2) (bmt = Blind(mt, Pub I , nonce2).
응답자(200)는 공개 키의 블라인드된 해시(bpk), 블라인드된 머클 트리 루트(bmt), 메타데이터(md) 및 응답자의 개인 데이터를 포함하는 패키지를 보안 통신 채널을 통해 발행자(100)에게 제공할 수 있다. Responder 200 provides a package containing a blinded hash of the public key (bpk), a blinded Merkle tree root (bmt), metadata (md), and the respondent's personal data to publisher 100 over a secure communication channel. can do.
발행자(100)는 응답자(200)의 개인 식별 데이터를 확인하고, 제공된 메타 데이터(md)와 비교하여 응답자(200)의 자격을 평가할 수 있다. 응답자(200)의 자격이 검증되면, 발행자(100)는 발행자로부터 서명된 퍼즐화된 설문조사 토큰(PuzzSurveyTokenI)을 발행하여 응답자(200)에게 제공할 수 있다. 서명된 퍼즐화된 설문조사 토큰(PuzzSurveyTokenI)은 발행자의 개인 키(PrivI)를 이용하여 각각 RSA 서명된 해시(sbpk = SignRSA(bpk, PrivI)), 머클 트리(sbmt = SignRSA(bmt, PrivI)) 및 서명된 메타데이터(smd = Sign(hash(md), PrivI)) 및 상기 3개 값을 합친 값의 서명(Sign(hash(sbpk || sbmt || smd), PrivI))을 포함할 수 있다.The publisher 100 may check the personally identifiable data of the respondent 200 and evaluate the qualifications of the respondent 200 by comparing it with the provided metadata (md). Once the qualifications of the respondent 200 are verified, the issuer 100 may issue a puzzled survey token (PuzzSurveyToken I ) signed by the issuer and provide it to the respondent 200. The signed puzzled survey token (PuzzSurveyToken I ) is generated using the issuer's private key (Priv I ), respectively, through an RSA-signed hash (sbpk = SignRSA(bpk, Priv I )) and a Merkle tree (sbmt = SignRSA(bmt, Priv I )) and signed metadata (smd = Sign(hash(md), Priv I )) and the signature of the above three values combined (Sign(hash(sbpk || sbmt || smd), Priv I ) ) may include.
응답자(200)는 발행자로부터 서명된 퍼즐화된 설문조사 토큰(PuzzSurveyTokenI)을 이용하여 퍼즐화된 설문조사 토큰(PuzzSurveyTokenV)을 생성할 수 있다.The respondent 200 may generate a puzzled survey token (PuzzSurveyToken V ) using the puzzled survey token (PuzzSurveyToken I ) signed by the issuer.
구체적으로, 퍼즐화된 설문조사 토큰(PuzzSurveyTokenV)은, 블라인드 시 사용했던 논스(nonce1, nonce2)를 이용하여 RSA 서명된 공개키의 해시(sbpk) 및 블라인드 머클 트리 루트(sbmt)를 언블라인드한 결과(spk = Unblind(sbpk, nonce1), smt = Unblind(sbmt, nonce2))와, 서명된 메타데이터(smd)와, 메타데이터를 읽기 위한 임의의 AES 키(KeyV)를 발행자의 암호화 키(EncM)로 암호화한 결과(ekey = Enc(KeyV, EncM))와, AES 키(KeyV)를 이용하여 대칭키 암호화된 결과(emd = EncSym(md, KeyV))를 포함할 수 있다.Specifically, the puzzled survey token (PuzzSurveyToken V ) unblinds the hash (sbpk) of the RSA signed public key and the blind Merkle tree root (sbmt) using the nonce (nonce1, nonce2) used when blinding. The result (spk = Unblind(sbpk, nonce1), smt = Unblind(sbmt, nonce2)), the signed metadata (smd), and a random AES key for reading the metadata (Key V ) are combined with the publisher's encryption key ( It can include the result of encryption with Enc M ) (ekey = Enc(Key V , Enc M )) and the result of symmetric key encryption using an AES key (Key V ) (emd = EncSym(md, Key V )). there is.
여기서 주목할만한 것은, 응답자(200)에 의해 생성된 퍼즐화된 설문조사 토큰(PuzzSurveyTokenV)의 spk, smt, smd, ekey, emd의 값이 SignRSA(hpk, PrivI), SignRSA(mt, PrivI) 및 Sign(hash(md), PrivI)와, 발행자(100)만이 해독할 수 있는 암호화된 메타데이터에 해당한다는 것에 있다. 즉, 발행자에 의한 응답자의 공개 키 서명과 메타데이터와 결합된 공개 키의 머클 트리 루트의 서명이 퍼즐화된 설문조사 토큰(PuzzSurveyTokenV)에 포함된다. 블라인드 서명 덕분에, 발행자(100)는 데이터 자체를 알지 못한 채 응답자와 발행자의 공개 키의 해시에 서명할 수 있다. 이에 따라 응답자(200)가 설문조사 트랜잭션에 서명하기 위해 응답자의 개인 키(PrivV)로 서명하면, 아무도 실제 응답자를 추적할 수 없다.What is noteworthy here is that the values of spk, smt, smd, ekey, emd of the puzzled survey token (PuzzSurveyToken V ) generated by the respondent 200 are SignRSA(hpk, Priv I ), SignRSA(mt, Priv I ) and Sign(hash(md), Priv I ) are encrypted metadata that only the issuer (100) can decrypt. That is, the signature of the respondent's public key by the issuer and the Merkle tree root of the public key combined with metadata are included in the puzzled survey token (PuzzSurveyToken V ). Thanks to blind signing, the publisher 100 can sign the hashes of the public keys of the respondent and the publisher without knowing the data itself. Accordingly, if the respondent 200 signs the survey transaction with the respondent's private key (Priv V ), no one can trace the actual respondent.
메타데이터 암호화의 근거는 발행자(100)만이 응답자(200)의 메타데이터에 액세스할 수 있도록 외부의 관찰자로부터 메타데이터를 비공개로 유지하는 것에 있다. 이를 위해, 발행자(100)는 발행자의 개인 키(PrivI)를 사용하여 ekey를 복호화한 결과(key')를 생성한다(key' = Dec(ekey, PrivI)).The rationale for metadata encryption is to keep the metadata private from external observers so that only the publisher 100 can access the metadata of the responder 200. To this end, the issuer 100 generates a result (key') of decrypting the ekey using the issuer's private key (Priv I ) (key' = Dec(ekey, Priv I )).
이어서, 발행자(100)는 복호화된 키(key')를 사용하여 메타데이터를 복호화한 결과(md')를 생성한다(md' = DecSym(emd, key')). Subsequently, the publisher 100 generates a result (md') of decrypting the metadata using the decrypted key (key') (md' = DecSym(emd, key')).
발행자(100)는 복호화된 메타데이터(md')를 검증할 수 있다. 구체적으로, 발행자(100)는 발행자의 공개 키(PubI)를 이용하여 확인한 발행자의 퍼즐화된 설문조사 토큰(PuzzSurveyTokenI)의 smd(개인 키(PrivI)를 사용하여 서명된 메타데이터(md)의 해시)가 복호화된 메타데이터(md')의 해시와 일치하는지 여부를 검증할 수 있다(Verify(hash(md'), smd, PubI). 검증 결과가 일치하면 발행자(100)는 복호화된 메타데이터(md')를 내부 데이터베이스에 저장할 수 있다.The publisher 100 can verify the decrypted metadata (md'). Specifically, the issuer 100 sends smd (metadata (md) signed using the private key (Priv I ) of the issuer's puzzled survey token (PuzzSurveyToken I ) confirmed using the issuer's public key (Pub I ). It is possible to verify whether the hash of ) matches the hash of the decrypted metadata (md') (Verify(hash(md'), smd, Pub I ). If the verification result matches, the issuer 100 decrypts The metadata (md') can be stored in the internal database.
정리하면, 응답자(200)의 공개 키(PubV)에서 실제 응답자(200)의 개인 정보 또는 메타데이터로 연결될 수 있는 링크가 존재하지 않기 때문에, 메타데이터(md')는 익명이며, 응답자(200)의 신원을 특정할 수 있는 정보를 드러내지 않을 수 있다.In summary, since there is no link that can connect from the respondent 200's public key (Pub V ) to the actual respondent 200's personal information or metadata, the metadata (md') is anonymous, and the respondent 200 ) may not reveal information that can identify the person.
응답자(200)는 설문조사의 답변을 결합하여 구조화된 문서로 구성하는 한편, 설문조사 토큰(SurveyTokenV 또는 PuzzSurveyTokenV)이 첨부된 결과 데이터 구조에 서명하고 블록체인(500)에 트랜잭션으로 기록할 수 있다. 이 때 답변의 제출은 제출 즉시 집계가 가능한 즉각적인 답변 제출이거나 지연된 집계가 가능한 암호화된 답변 제출 두 가지로 분류될 수 있다.The respondent (200) can combine the answers of the survey into a structured document, sign the resulting data structure with a survey token (SurveyToken V or PuzzSurveyToken V ) attached, and record it as a transaction on the blockchain (500). there is. At this time, submission of responses can be classified into two types: immediate response submission that can be counted immediately after submission, or encrypted response submission that can be counted immediately.
도 9a는 본 발명의 몇몇 실시예에 따른 조합된 정보가 저장된 토큰 이용 방법에 포함된 응답자의 즉각적인 답변 제출을 설명하기 위한 도면이다.FIG. 9A is a diagram illustrating a respondent's immediate response submission included in a method of using a token storing combined information according to some embodiments of the present invention.
도 9a를 참조하면, 응답자(200)는 설문조사 토큰(SurveyTokenV) 등을 포함하는 트랜잭션 데이터(VoteTx_Data)와, 이를 응답자의 개인키(PrivV)로 서명한 결과를 함께 포함하는 트랜잭션(VoteTx)을 생성할 수 있다. 응답자(200)는 트랜잭션(VoteTx)을 블록체인(500)에 제공할 수 있다.Referring to FIG. 9A, the respondent 200 sends transaction data (VoteTx_Data) including a survey token (SurveyToken V ) and a transaction (VoteTx) including the result of signing this with the respondent's private key (Priv V ). can be created. The respondent 200 may provide a transaction (VoteTx) to the blockchain 500.
한편, 트랜잭션 데이터(VoteTx_Data)는 설문조사의 답변(answers)을 포함할 수 있으며, 해당 답변은 응답자(200)의 메타데이터와 유사하게 항목별로 할당된 코드와, 임의의 수를 부여하여 조합된 형태를 가질 수 있다. 예를 들어, 답변(answers)은 1번 내지 3번의 세 개의 설문조사 문항에 대하여, 설문조사 답변 항목별로 할당된 코드와, 임의의 수를 부여하여 조합된 형태(예를 들어 '0001(1번 문항의 답변)', '1100(2번 문항의 답변)', '0111(3번 문항의 답변)', '0001010(임의의 수)')를 가질 수 있다. 또한, 트랜잭션 데이터(VoteTx_Data)에 포함된 답변(answers)은 시각화된 데이터로서의 이미지 파일로 표현될 수 있다. 이는 상술한 퍼즐화된 토큰(T)의 개인 식별 데이터 또는 메타데이터의 시각화와 유사한 것으로, 답변(answers)은 설문조사 항목의 답변 및 임의의 수에 할당된 컬러로 채워짐으로써 시각화된 이미지로 표현될 수 있다.Meanwhile, transaction data (VoteTx_Data) may include answers to a survey, and the answers are a combination of codes assigned to each item and random numbers similar to the metadata of the respondent 200. You can have For example, answers are a combination of three survey questions 1 to 3, codes assigned to each survey answer item, and random numbers (for example, '0001 (number 1). 'answer to question 2)', '1100 (answer to question 2)', '0111 (answer to question 3)', '0001010 (random number)'). Additionally, answers included in transaction data (VoteTx_Data) can be expressed as an image file as visualized data. This is similar to the visualization of personally identifiable data or metadata of the puzzled token (T) described above, where the answers are represented as a visualized image by filling in the colors assigned to the answers and random numbers of survey items. You can.
블록체인(500)에 포함된 각 노드들은 응답자(200)로부터 제출된 트랜잭션(VoteTx)의 유효성을 검증할 수 있다. Each node included in the blockchain 500 can verify the validity of the transaction (VoteTx) submitted by the respondent 200.
우선, 식별자(SurveyID)를 갖는 설문조사가 현재 진행 중인지 여부가 확인될 수 있다. 만약 트랜잭션(VoteTx)이 진행 기간보다 앞서 제출되거나, 진행 기간이 끝난 후 제출되는 경우 트랜잭션(VoteTx)은 거절될 수 있다.First, it can be confirmed whether a survey with an identifier (SurveyID) is currently in progress. If the transaction (VoteTx) is submitted ahead of the progress period or after the end of the progress period, the transaction (VoteTx) may be rejected.
또한, 트랜잭션(VoteTx)에 포함된 답변이 응답자가 발표한 설문조사(110)에 포함된 문서(SurveyDoc)에 대응되는지 여부와, 트랜잭션 데이터(VoteTx_Data)에 포함된 공개 키(pk = PubV)에 의해 트랜잭션(VoteTx)의 서명이 검증될 수 있는지 여부가 확인될 수 있다(Verify(data, sign, pk)).In addition, whether the answers included in the transaction (VoteTx) correspond to the document (SurveyDoc) included in the survey 110 released by the respondent, and the public key (pk = Pub V ) included in the transaction data (VoteTx_Data) It can be confirmed whether the signature of the transaction (VoteTx) can be verified (Verify(data, sign, pk)).
또는, 응답자(200)의 공개 키(PubV)가 발행자(100)에 의해 승인되는 과정이 진행될 수 있다. 구체적으로, 공개 설문조사의 경우 설문조사 토큰(SurveyTokenV)은 응답자의 공개 키(PubV)의 해시의 서명이므로, 발행자가 발표한 공개 키(PubI)에 의하여 검증될 수 있다. 익명 설문조사의 경우, 설문조사 토큰(SurveyTokenV)에는 발행자의 키(PrivI)에 의한 응답자의 공개 키(PubV)의 RSA 서명(SignRSA(hash(PubV), PrivI)이 포함될 수 있으며, 이는 발행자의 공개 키(PubI)에 의하여 검증될 수 있다.Alternatively, a process may proceed in which the public key (Pub V ) of the respondent 200 is approved by the issuer 100. Specifically, in the case of a public survey, the survey token (SurveyToken V ) is a signature of the hash of the respondent's public key (Pub V ), so it can be verified by the public key (Pub I ) announced by the issuer. For anonymous surveys, the survey token (SurveyToken V ) may contain an RSA signature (SignRSA(hash(Pub V ), Priv I ) of the respondent's public key (Pub V ) by the issuer's key (Priv I) . , which can be verified by the issuer's public key (Pub I ).
마지막으로, 트랜잭션(VoteTx)은 응답자의 개인 키(PrivV)에 의하여 서명된 첫 번째 트랜잭션(VoteTx)이어야 한다. 주어진 설문조사 식별자(SurveyID)에 대하여 상기 개인 키(PrivV)로 서명된 다른 트랜잭션이 존재하는 경우 이중 응답(double answering)에 해당되는 경우로, 거절될 수 있다.Finally, the transaction (VoteTx) must be the first transaction (VoteTx) signed by the respondent's private key (Priv V ). If there is another transaction signed with the private key (Priv V ) for the given survey identifier (SurveyID), it corresponds to double answering and may be rejected.
트랜잭션(VoteTx)이 상술한 절차에 의한 유효성 검증을 완료한 경우, 블록체인(500)은 해당 트랜잭션(VoteTx)을 기록할 수 있다.If the transaction (VoteTx) completes validation by the above-described procedure, the blockchain 500 can record the transaction (VoteTx).
도 9b는 본 발명의 몇몇 실시예에 따른 설문조사 방법에 포함된 응답자의 지연된 답변 제출을 설명하기 위한 도면이다.FIG. 9B is a diagram for explaining a respondent's delayed response submission included in a survey method according to some embodiments of the present invention.
도 9b를 참조하면, 응답자(200)는 설문조사 토큰(SurveyTokenV) 등을 포함하는 암호화된 트랜잭션 데이터(EncryptedVoteTx_Data)와, 이를 응답자의 개인키(PrivV)로 서명한 결과를 함께 포함하는 암호화된 트랜잭션(EncryptedVoteTx)을 생성할 수 있다.Referring to FIG. 9b, the respondent 200 receives encrypted transaction data (EncryptedVoteTx_Data) including a survey token (SurveyToken V ) and the result of signing this with the respondent's private key (Priv V ). A transaction (EncryptedVoteTx) can be created.
여기서 암호화된 트랜잭션 데이터(EncryptedVoteTx_Data)는 응답자(200)의 암호화된 답변을 포함할 수 있다. 응답자의 답변(answers)은 답변 암호화를 위해 설문조사 생성 단계에서 발행자(100)로부터 생성된 키 쌍(EncI, DecI) 중 하나(EncI)에 의하여 암호화된 트랜잭션 데이터(EncryptedVoteTx_Data)에 포함될 수 있다. 암호화된 답변이 제출되면, 설문조사의 종료된 이후 지연된(delayed) 집계가 시작된다. 암호화된 답변이 제출됨에 따라 투표 도중에는 투표와 관련된 주체들이 집계 상황을 알 수 없게 된다.Here, the encrypted transaction data (EncryptedVoteTx_Data) may include the encrypted answer of the respondent 200. The respondent's answers may be included in the transaction data (EncryptedVoteTx_Data) encrypted by one of the key pairs (Enc I , Dec I ) generated from the issuer (100) in the survey creation stage to encrypt the answers (Enc I ). there is. Once encrypted answers are submitted, delayed counting begins after the survey ends. As encrypted answers are submitted, the subjects involved in voting will not be able to know the counting status during voting.
응답자(200)는 암호화된 트랜잭션(EncryptedVoteTx)을 블록체인(500)에 제공할 수 있다.The respondent 200 may provide an encrypted transaction (EncryptedVoteTx) to the blockchain 500.
블록체인(500)에 포함된 각 노드들은 응답자(200)로부터 제출된 암호화된 트랜잭션(EncryptedVoteTx)의 유효성을 검증할 수 있다. 즉, 앞서 도 9a을 이용하여 설명한 트랜잭션(VoteTx)의 유효성 검증 단계인 설문조사 진행 기간, 답변의 형식, 지연된 트랜잭션의 서명 검증, 응답자의 공개 키(PubV)의 발행자(100)에 의한 승인, 암호화된 트랜잭션(EncryptedVoteTx)이 응답자의 개인 키(PrivV)로 서명된 첫 번째 트랜잭션인지 여부가 검증될 수 있다.Each node included in the blockchain 500 can verify the validity of the encrypted transaction (EncryptedVoteTx) submitted by the respondent 200. That is, the survey progress period, answer format, signature verification of the delayed transaction, approval by the issuer 100 of the respondent's public key (Pub V ), which are the validation steps of the transaction (VoteTx) previously described using FIG. 9a, It can be verified whether the encrypted transaction (EncryptedVoteTx) is the first transaction signed with the respondent's private key (Priv V ).
발행자(100)는 응답자(200)들로부터 제출되어 블록체인(500)에 기록된 답변들의 트랜잭션을 집계함으로써 설문조사의 집계를 수행할 수 있다(S150).The issuer 100 may perform aggregation of the survey by tallying transactions of responses submitted by respondents 200 and recorded in the blockchain 500 (S150).
도 9a를 통해 설명한 즉각적인 답변 제출의 경우, 설문조사 진행 기간이 종료되면 발행자(100)는 유효한 트랜잭션을 집계하고 트랜잭션에 포함된 답변 문서를 수집하여 처리할 수 있다.In the case of immediate response submission explained through FIG. 9A, when the survey progress period ends, the issuer 100 can count valid transactions and collect and process response documents included in the transactions.
도 9b를 통해 설명한 지연된 답변 제출의 경우, 답변이 키(EncI)에 의하여 암호화되었으므로 이를 복호화하기 위한 절차가 필요하다. 발행자(100)는 설문조사 기간이 종료되면 다른 키(DecI)를 블록체인(500)에 기록하여 블록체인(500)에 액세스할 수 있는 다른 참가자들이 암호화된 답변을 복호화할 수 있도록 할 수 있다. 블록체인(500)에 액세스할 수 있는 다른 참가자들은 블록체인에서 모든 암호화된 트랜잭션(EncryptedVoteTx)을 반복하고, 각 트랜잭션에 포함된 암호화된 답변 문서를 키(DecI)를 이용하여 복호화할 수 있다. 발행자(100)는 복호화된 답변 문서를 수집하고, 집계 결과를 생성할 수 있다. 집계 결과는 발행자(100)에 의하여 서명되어 블록체인(500)에 기록될 수 있다(S160).In the case of delayed response submission explained through FIG. 9b, since the answer is encrypted by the key (Enc I ), a procedure to decrypt it is necessary. When the survey period ends, the issuer 100 records another key (Dec I ) on the blockchain 500 so that other participants with access to the blockchain 500 can decrypt the encrypted answers. . Other participants with access to the blockchain 500 can repeat all encrypted transactions (EncryptedVoteTx) in the blockchain and decrypt the encrypted answer document included in each transaction using the key (Dec I ). The publisher 100 may collect decrypted response documents and generate aggregate results. The aggregate result may be signed by the issuer 100 and recorded in the blockchain 500 (S160).
또한, 발행자(100)는 복호화된 답변 문서를 통해 수집된 집계 결과를 비롯하여, 설문조사 토큰에 포함된 메타데이터를 집계할 수 있다. 위에서 설명한 것과 같이, 발행자(100)는 설문조사(110) 생성 시 특정 성별, 연령대, 거주지역 등에 관한 조건을 부여할 수 있고, 설문조사 결과 집계 시 상기 조건에 기초하여 설문조사 결과를 필터링할 수 있다. 또한 발행자(100)는 설문조사에 참여한 응답자(200)의 메타데이터를 별도로 집계하고, 일종의 빅데이터로 활용할 수 있으며, 설문조사 결과 분석 시 참여자가 사전에 입력한 정보를 추가적으로 활용함으로써 더욱 정확한 응답자 데이터 분석 및 설문조사 결과 분석을 수행할 수 있다.Additionally, the issuer 100 may aggregate metadata included in the survey token, including the aggregate results collected through the decrypted response document. As described above, the issuer 100 can impose conditions on specific gender, age group, residential area, etc. when creating the survey 110, and can filter the survey results based on the above conditions when compiling the survey results. there is. In addition, the publisher (100) can separately aggregate the metadata of the respondents (200) who participated in the survey and use it as a type of big data. When analyzing the survey results, the information entered in advance by the participant is additionally used to provide more accurate respondent data. Analysis and survey results analysis can be performed.
응답자(200)는 설문조사에 참여한 증거를 벤더(300)에 제시할 수 있다(S170). 공개 설문조사가 진행된 경우 응답자(200)는 설문조사 트랜잭션(VoteTx 또는 DelayedVoteTx)이 블록체인(500)에 기록됨으로써 생성된 식별자(txID)와 이를 자신의 개인 키(PrivV)로 서명한 메시지를 벤더(300)에 제공할 수 있다. 벤더(300)는 설문조사 트랜잭션(VoteTx 또는 DelayedVoteTx)에 포함된 응답자(200)의 공개 키(pk = PubV)를 이용하여 서명된 메시지를 검증할 수 있다. 검증이 완료되면, 벤더(300)는 사용자의 공개 키(PubV)와 연결된 블록체인(500) 상의 지갑으로 보상을 전송할 수 있다.The respondent 200 may present evidence of participation in the survey to the vendor 300 (S170). When a public survey is conducted, the respondent 200 sends the identifier (txID) generated by recording the survey transaction (VoteTx or DelayedVoteTx) to the blockchain 500 and a message signed with his or her private key (Priv V ) to the vendor. It can be provided at (300). Vendor 300 can verify the signed message using respondent 200's public key (pk = Pub V ) included in the survey transaction (VoteTx or DelayedVoteTx). Once verification is complete, the vendor 300 can transmit the reward to the wallet on the blockchain 500 linked to the user's public key (Pub V ).
익명 설문조사가 진행된 경우, 단순히 응답자(200)가 자신의 공개 키(PubV)와 설문조사 트랜잭션(VoteTx 또는 DelayedVoteTx)을 벤더(300)에게 제시한다면, 응답자(200)와 답변 사이에 직접적인 링크가 노출되므로 익명성이 사라질 수 있다. 따라서 익명성을 보장하기 위해 그룹 서명(group signature)이 이용될 수 있다.In the case of an anonymous survey, if the respondent 200 simply presents his or her public key (Pub V ) and the survey transaction (VoteTx or DelayedVoteTx) to the vendor 300, a direct link is created between the respondent 200 and the answer. Because you are exposed, your anonymity may disappear. Therefore, a group signature can be used to ensure anonymity.
그룹 서명은 서명의 ID를 공개하지 않고 안전한 그룹 구성원 관계를 보장하는 암호화 프로토콜 클래스이다. 그룹 서명은 공개 키(Pub1, Pub2, …, Pubn) 및 해당 공개 키 중 하나와 대응하는 개인 키(Privi)의 세트로 이루어진다. 그룹 서명(GS(Privi, Pub1, …, Pubn)(bytes))은 바이트 문자열(bytes)이 공개 키(Pub1, Pub2, …, Pubn) 중 하나에 대응하는 개인 키(Privi)에 의하여 서명되었는지 여부를 확인할 수 있지만 어느 것에 의한 것인지는 공개되지 않는다. 만약 서명이 공개 키 중 하나에 대응하는 개인 키에 의해 구성된 경우 서명의 유효성이 검증될 수 있다.Group signatures are a class of cryptographic protocols that ensure secure group membership without revealing the identity of the signature. A group signature consists of a set of public keys (Pub 1 , Pub 2 , ..., Pub n ) and a private key (Priv i ) corresponding to one of those public keys. The group signature (GS(Priv i , Pub 1 , …, Pub n )(bytes)) is a private key (Priv) whose byte string (bytes) corresponds to one of the public keys (Pub 1 , Pub 2 , …, Pub n ). You can check whether it was signed by i ), but which one it was signed by is not disclosed. The validity of the signature can be verified if it is comprised of a private key that corresponds to one of the public keys.
응답자(200)는 블록체인(500)에 기록된 무작위 트랜잭션(tx1, …, txn)을 읽고 다른 응답자들의 공개 키(Pub1, …, Pubn)을 추출할 수 있다. n은 예를 들어 약 20개 내외일 수 있다. 응답자(200)는 무작위 트랜잭션(tx1, …, txn)에 자신의 트랜잭션(tx)을 추가하고, 이들의 트랜잭션을 셔플(shuffle)하여 벤더(300)에 제공한다. The respondent 200 can read the random transactions (tx 1 ,..., tx n ) recorded in the blockchain 500 and extract the public keys (Pub 1 ,..., Pub n ) of other respondents. For example, n may be around 20. The respondent 200 adds its own transaction (tx) to the random transactions (tx 1 , ..., tx n ), shuffles these transactions, and provides them to the vendor 300.
벤더(300)에 제공되는 보상 요청은 보상을 제공할 지갑 주소(dst), 셔플된 트랜잭션 집합(tx0, tx1, …, txn), 보상을 제공할 지갑 주소와 트랜잭션 집합을 응답자의 개인 키를 이용한 그룹 서명 (sign=GS(PrivV, PubV, Pub1, …, Pubn)(hash(dst||tx0, …, txn))))을 포함할 수 있다.The compensation request provided to the vendor 300 includes the wallet address to provide compensation (dst), the shuffled transaction set (tx 0 , tx 1 , ..., tx n ), the wallet address and transaction set to provide compensation, and the respondent's personal information. It can include a group signature using a key (sign=GS(Priv V , Pub V , Pub 1 , …, Pub n )(hash(dst||tx 0 , …, tx n )))).
벤더(300)는 청구에 포함된 트랜잭션 집합(tx0, tx1, …, txn)을 각각 검증하고, 트랜잭션들이 동일한 설문조사에 포함된 것인지를 확인하는 한편, 청구에 포함된 공개 키(Pub0, …, Pubn)를 추출하여 그룹 서명을 검증한다(GV(hash(dst, txs), sign, {Pub0, …, Pubn}).The vendor 300 verifies each of the transaction sets (tx 0 , tx 1 , ..., tx n ) included in the claim, confirms whether the transactions are included in the same survey, and verifies the public key (Pub) included in the claim. Extract 0 , …, Pub n ) and verify the group signature (GV(hash(dst, txs), sign, {Pub 0 , …, Pub n }).
이러한 과정을 통해 벤더(300)는 응답자(200)의 실제 답변에 전혀 알지 못하는 상태에서 응답자(200)가 트랜잭션을 통해 설문조사에 참여했음을 확인하고, 보상을 제공할 수 있다.Through this process, the vendor 300 can confirm that the respondent 200 participated in the survey through a transaction without any knowledge of the respondent 200's actual answer, and provide compensation.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable by those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. medium), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. A hardware device can be converted into one or more software modules to perform processing according to the invention and vice versa.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.In the above, the present invention has been described in terms of specific details, such as specific components, and limited embodiments and drawings, but this is only provided to facilitate a more general understanding of the present invention, and the present invention is not limited to the above embodiments. Anyone with ordinary knowledge in the technical field to which the invention pertains can make various modifications and changes from this description.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and the scope of the patent claims described below as well as all scopes equivalent to or equivalently changed from the scope of the claims are within the scope of the spirit of the present invention. It will be said to belong to

Claims (9)

  1. 퍼즐화된 토큰을 관리하기 위한 방법으로서,As a method for managing puzzled tokens,
    (a) 발행자 노드 측에서, 발행 요청자 노드의 개인 정보를 조합하여 퍼즐화된 토큰이 생성되도록 하고, 상기 퍼즐화된 토큰에 포함되는 고유 식별자가 비공개 처리되도록 하는 단계, 및(a) on the issuer node side, combining the personal information of the issuing requester node to generate a puzzled token, and ensuring that the unique identifier included in the puzzled token is made private, and
    (b) 상기 발행 요청자 노드 측에서, 상기 비공개 처리된 고유 식별자에 기초하여 공개 식별자가 생성되도록 하고, 상기 퍼즐화된 토큰에서 상기 고유 식별자가 상기 공개 식별자로 대체된 토큰이 블록체인 네트워크에서 이용되도록 하는 단계를 포함하는(b) On the issuance requester node side, cause a public identifier to be generated based on the deprived unique identifier, and ensure that the token in which the unique identifier is replaced with the public identifier in the puzzled token is used in the blockchain network. containing the steps of
    방법.method.
  2. 제1항에 있어서,According to paragraph 1,
    상기 (b) 단계에서, 상기 발행 요청자 노드 측에서, 상기 퍼즐화된 토큰의 이용 목적에 따라 상기 공개 식별자가 개별적으로 생성되도록 하는In step (b), on the issuance requester node side, the public identifier is individually generated according to the purpose of use of the puzzled token.
    방법.method.
  3. 제1항에 있어서,According to paragraph 1,
    상기 (b) 단계에서, 상기 발행 요청자 노드 측에서, 상기 비공개 처리된 고유 식별자를 포함하는 토큰이 아닌 상기 공개 식별자를 포함하는 토큰만이 상기 블록체인 네트워크에서 이용되도록 하는In step (b), on the issuance requester node side, only tokens containing the public identifier, not tokens containing the privately processed unique identifier, are used in the blockchain network.
    방법.method.
  4. 제1항에 있어서,According to paragraph 1,
    상기 블록체인 네크워크에서 상기 공개 식별자를 포함하는 토큰의 이용이 완료되는 것에 대응하여, 상기 공개 식별자를 포함하는 토큰에서 상기 발행 요청자 노드의 개인 정보에 대한 조합이 해제되는 것과 함께 상기 공개 식별자가 소각되는In response to the completion of use of the token containing the public identifier in the blockchain network, the combination of the personal information of the issuing requester node in the token containing the public identifier is released and the public identifier is burned.
    방법.method.
  5. 제1항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 비일시성의 컴퓨터 판독 가능 기록 매체.A non-transitory computer-readable recording medium recording a computer program for executing the method according to claim 1.
  6. 퍼즐화된 토큰을 관리하기 위한 시스템으로서,As a system for managing puzzled tokens,
    발행자 노드 측에서, 발행 요청자 노드의 개인 정보를 조합하여 퍼즐화된 토큰이 생성되도록 하고, 상기 퍼즐화된 토큰에 포함되는 고유 식별자가 비공개 처리되도록 하는 발행자 노드 관리부, 및On the issuer node side, a publisher node management unit that combines the personal information of the issuance requester node to generate a puzzled token and ensures that the unique identifier included in the puzzled token is privately processed, and
    상기 발행 요청자 노드 측에서, 상기 비공개 처리된 고유 식별자에 기초하여 공개 식별자가 생성되도록 하고, 상기 퍼즐화된 토큰에서 상기 고유 식별자가 상기 공개 식별자로 대체된 토큰이 블록체인 네트워크에서 이용되도록 하는 발행 요청자 노드 관리부를 포함하는On the issuance requester node side, an issuance requester that causes a public identifier to be generated based on the privately processed unique identifier, and causes the token in which the unique identifier in the puzzled token is replaced with the public identifier to be used in a blockchain network. Contains node management unit
    시스템.system.
  7. 제6항에 있어서,According to clause 6,
    상기 발행 요청자 노드 관리부는, 상기 발행 요청자 노드 측에서, 상기 퍼즐화된 토큰의 이용 목적에 따라 상기 공개 식별자가 개별적으로 생성되도록 하는The issuance requester node management unit, on the issuance requester node side, causes the public identifier to be individually generated according to the purpose of use of the puzzled token.
    시스템.system.
  8. 제6항에 있어서,According to clause 6,
    상기 발행 요청자 노드 관리부는, 상기 발행 요청자 노드 측에서, 상기 비공개 처리된 고유 식별자를 포함하는 토큰이 아닌 상기 공개 식별자를 포함하는 토큰만이 상기 블록체인 네트워크에서 이용되도록 하는The issuance requester node management unit, on the issuance requester node side, ensures that only tokens containing the public identifier, not tokens containing the privately processed unique identifier, are used in the blockchain network.
    시스템.system.
  9. 제6항에 있어서,According to clause 6,
    상기 블록체인 네크워크에서 상기 공개 식별자를 포함하는 토큰의 이용이 완료되는 것에 대응하여, 상기 공개 식별자를 포함하는 토큰에서 상기 발행 요청자 노드의 개인 정보에 대한 조합이 해제되는 것과 함께 상기 공개 식별자가 소각되는In response to the completion of use of the token containing the public identifier in the blockchain network, the combination of the personal information of the issuing requester node in the token containing the public identifier is released and the public identifier is burned.
    시스템.system.
PCT/KR2023/006568 2022-05-13 2023-05-15 Method, system and non-transitory computer-readable recording medium for managing puzzled token WO2023219478A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220059021A KR20230159087A (en) 2022-05-13 2022-05-13 Method for using token on blockchain where recombined information is stored and system performing the same
KR10-2022-0059021 2022-05-13

Publications (1)

Publication Number Publication Date
WO2023219478A1 true WO2023219478A1 (en) 2023-11-16

Family

ID=88730795

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/006568 WO2023219478A1 (en) 2022-05-13 2023-05-15 Method, system and non-transitory computer-readable recording medium for managing puzzled token

Country Status (2)

Country Link
KR (1) KR20230159087A (en)
WO (1) WO2023219478A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180104586A (en) * 2018-07-03 2018-09-21 네이버 주식회사 Method and system for processing personal data base on block chain
US20190377900A1 (en) * 2018-06-08 2019-12-12 Microsoft Technology Licensing, Llc Protecting Personally Identifiable Information (PII) Using Tagging and Persistence of PII
JP2020519210A (en) * 2017-04-28 2020-06-25 アノノス インコーポレイテッド Systems and methods for implementing centralized privacy controls in decentralized systems
US20210304200A1 (en) * 2020-03-24 2021-09-30 Securrency, Inc. Method, apparatus, and computer-readable medium for secured multi-lateral data exchange over a computer network
US20210390196A1 (en) * 2020-06-15 2021-12-16 Concord Technologies Inc. Decentralized consent network for decoupling the storage of personally identifiable user data from user profiling data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020519210A (en) * 2017-04-28 2020-06-25 アノノス インコーポレイテッド Systems and methods for implementing centralized privacy controls in decentralized systems
US20190377900A1 (en) * 2018-06-08 2019-12-12 Microsoft Technology Licensing, Llc Protecting Personally Identifiable Information (PII) Using Tagging and Persistence of PII
KR20180104586A (en) * 2018-07-03 2018-09-21 네이버 주식회사 Method and system for processing personal data base on block chain
US20210304200A1 (en) * 2020-03-24 2021-09-30 Securrency, Inc. Method, apparatus, and computer-readable medium for secured multi-lateral data exchange over a computer network
US20210390196A1 (en) * 2020-06-15 2021-12-16 Concord Technologies Inc. Decentralized consent network for decoupling the storage of personally identifiable user data from user profiling data

Also Published As

Publication number Publication date
KR20230159087A (en) 2023-11-21

Similar Documents

Publication Publication Date Title
US10673617B1 (en) Methods, system and point-to-point encryption device microchip for AES-sea 512-bit key using identity access management utilizing blockchain ecosystem to improve cybersecurity
WO2021010766A1 (en) Electronic authentication device and method using blockchain
WO2018194379A1 (en) Method for approving use of card by using token id on basis of blockchain and merkle tree structure associated therewith, and server using same
WO2019127530A1 (en) Account unifying method and device and storage medium
Heiberg et al. Improving the verifiability of the Estonian Internet Voting scheme
KR102088218B1 (en) Online examination management system and method thereof
CN111542820A (en) Method and apparatus for trusted computing
WO2021049702A1 (en) Blockchain-based contest network system and contest method
JP2005223924A (en) Opinion registering application for universal pervasive transaction framework
CN112839046B (en) Traceable anonymous crowdsourcing method and system based on block chain
WO2019125041A1 (en) Authentication system using separation, then distributed storage of personal information using blockchain
US20210160050A1 (en) Method for establishing anonymous digital identity
WO2022177204A1 (en) Did-based decentralized system for storing and sharing user data
Zhu et al. Secure Online Examination with Biometric Authentication and Blockchain‐Based Framework
WO2020138733A1 (en) Blockchain system for providing anonymity of private information and method for providing anonymity of private information in blockchain
WO2019125069A1 (en) Authentication system using separation, then combination of personal information using blockchain
Salman et al. Valid Blockchain-Based E-Voting Using Elliptic Curve and Homomorphic Encryption.
Lv et al. A highly reliable cross-domain identity authentication protocol based on blockchain in edge computing environment
WO2023219478A1 (en) Method, system and non-transitory computer-readable recording medium for managing puzzled token
WO2020235733A1 (en) Device and method for authenticating user and obtaining user signature using user&#39;s biometrics
US20210258141A1 (en) Method for recognizing expression of opinion capable of ensuring anonymity and preventing sybil attacks, method for registering that stores user?s identification information, and method for authenticating the user
Dumas et al. LocalPKI: An interoperable and IoT friendly PKI
WO2022060137A1 (en) Authentication management computer and authentication management method
Wang et al. Linking Souls to Humans with ZKBID: Accountable Anonymous Blockchain Accounts for Web 3.0 Decentralized Identity
KR102208763B1 (en) Electronic voting system using election names

Legal Events

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

Ref document number: 23803901

Country of ref document: EP

Kind code of ref document: A1