KR20230053990A - Survey methods and system on blockchain that perform personal information collection of respondents using survey token - Google Patents

Survey methods and system on blockchain that perform personal information collection of respondents using survey token Download PDF

Info

Publication number
KR20230053990A
KR20230053990A KR1020210137492A KR20210137492A KR20230053990A KR 20230053990 A KR20230053990 A KR 20230053990A KR 1020210137492 A KR1020210137492 A KR 1020210137492A KR 20210137492 A KR20210137492 A KR 20210137492A KR 20230053990 A KR20230053990 A KR 20230053990A
Authority
KR
South Korea
Prior art keywords
survey
token
respondent
blockchain
issuer
Prior art date
Application number
KR1020210137492A
Other languages
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 주식회사 헤세그
Priority to KR1020210137492A priority Critical patent/KR20230053990A/en
Publication of KR20230053990A publication Critical patent/KR20230053990A/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
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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

Abstract

A survey method and system using a survey token and blockchain is provided. The survey method using a survey token and blockchain comprises the steps of: creating a survey and recording the survey on a blockchain; receiving data for identification of a respondent from the respondent participating in the survey, generating a survey token signed with the private key of an issuer, and providing the survey token to the respondent; providing a survey token signed with the private key of the respondent as a transaction to the blockchain along with the survey results; and verifying a valid transaction among the transactions, recording the transaction in the blockchain, and tallying the survey results. Accordingly, the integrity of answers can be guaranteed.

Description

설문조사 토큰을 이용하여 블록체인 상에서 응답자의 개인정보 수집이 가능한 설문조사 방법 및 이를 수행하는 시스템{SURVEY METHODS AND SYSTEM ON BLOCKCHAIN THAT PERFORM PERSONAL INFORMATION COLLECTION OF RESPONDENTS USING SURVEY TOKEN}A survey method capable of collecting personal information of a respondent on a blockchain using a survey token and a system for performing it

본 발명은 설문조사 토큰을 이용하여 블록체인 상에서 응답자의 메타데이터 수집이 가능한 설문조사 방법 및 이를 수행하는 시스템에 관한 것으로, 더욱 구체적으로는 개인정보 및 메타데이터가 포함된 설문조사 토큰을 이용하여 블록체인 상의 트랜잭션으로 기록함으로써 보안이 확보된 설문조사를 수행할 수 있는 방법 및 시스템에 관한 것이다.The present invention relates to a survey method capable of collecting metadata of a respondent on a blockchain using a survey token and a system for performing the same, and more specifically, to a block using a survey token containing personal information and metadata. It relates to a method and system capable of conducting a survey secured by recording it as an on-chain transaction.

블록체인은 2008년 사토시 나카모토의 Bitcoin: A Peer-to-Peer Electronic Cash System에서 블록과 블록을 연결하는 방법에서 유래하였다. 블록체인은 다수의 네트워크 노드로 구성된 분산 네트워크 상에서 해쉬링크로 묶인 데이터를 공유하는 분산 데이터베이스를 총칭한다.Blockchain originated from Satoshi Nakamoto's Bitcoin: A Peer-to-Peer Electronic Cash System in 2008, where blocks are connected to each other. Blockchain is a generic term for a distributed database that shares data bound by hash links on a distributed network composed of multiple network nodes.

블록체인에 기록된 데이터는 위변조가 사실상 불가능하고, 누구든지 블록체인에 연결함으로써 무결성(integrity)이 보장된 데이터를 확인할 수 있다는 특성을 이용하여 신뢰성 및 투명성이 요구되는 데이터의 운용 분야에 도입이 진행되고 있다. Data recorded in the blockchain is virtually impossible to forge and alter, and by using the characteristics that anyone can check the data with guaranteed integrity by connecting to the blockchain, the introduction is progressing in the field of data operation that requires reliability and transparency. It is becoming.

이러한 블록체인의 신뢰성 및 투명성은 복수의 응답자로부터 의견 또는 응답을 수집하기 위한 설문조사에도 활용될 수 있다. 특히 응답자의 답변을 블록체인에 기록하여 투명하게 공개하는 한편, 익명성이 요구되는 개인정보 등에는 설문조사의 발행자만이 접근할 수 있도록 암호화를 적용하여 설문조사 토큰을 이용한 설문조사를 수행하는 방법의 개발이 요구된다.The reliability and transparency of these blockchains can also be used in surveys to collect opinions or responses from multiple respondents. In particular, a method of conducting a survey using a survey token by recording respondents' answers in a blockchain and transparently disclosing them, while applying encryption so that only the issuer of the survey can access personal information that requires anonymity. development is required.

본 발명이 해결하고자 하는 기술적 과제는 개인정보 및 메타데이터가 포함된 설문조사 토큰을 이용하여 블록체인 상의 트랜잭션으로 기록함으로써 보안이 확보된 설문조사를 수행할 수 있는 방법 및 시스템을 제공하는 것이다.The technical problem to be solved by the present invention is to provide a method and system capable of conducting a survey with security secured by recording it as a transaction on a blockchain using a survey token containing personal information and metadata.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상술한 기술적 과제를 해결하기 위한 설문조사 토큰을 이용하여 블록체인 상의 설문조사를 수행하는 방법은, 설문조사를 생성하여 블록체인에 기록하는 단계, 상기 설문조사에 참여하는 응답자로부터 응답자의 식별을 위한 데이터를 제공받고, 발행자의 개인 키로 서명된 설문조사 토큰을 생성하여 상기 응답자에게 제공하는 단계, 상기 응답자의 개인 키로 서명된 설문조사 토큰을 설문조사 결과와 함께 상기 블록체인에 트랜잭션으로 제공하는 단계, 및 상기 트랜잭션 중 유효한 것을 검증하여 상기 블록체인에 기록하고 상기 설문조사 결과를 집계하는 단계를 포함한다.A method of conducting a survey on a blockchain using a survey token to solve the above-described technical problem includes generating and recording a survey in a blockchain, identifying a respondent from respondents participating in the survey. Receiving the data, generating a survey token signed with the issuer's private key and providing it to the respondent, providing the survey token signed with the respondent's private key to the blockchain along with the survey results as a transaction; and verifying that the transactions are valid, recording them in the blockchain, and aggregating survey results.

본 발명의 몇몇 실시예에서, 상기 설문조사는 공개 설문조사를 포함하고, 상기 설문조사 토큰을 생성하여 상기 응답자에게 제공하는 단계는, 응답자의 공개 키의 해시를 상기 발행자의 개인 키로 서명한 결과를 이용하여 설문조사 토큰을 생성하는 것을 포함할 수 있다.In some embodiments of the present invention, the survey includes a public survey, and generating the survey token and providing the survey token to the respondent results in signing a hash of the respondent's public key with the issuer's private key. It may include generating a survey token using

본 발명의 몇몇 실시예에서, 상기 응답자의 개인 키로 서명된 설문조사 토큰을 설문조사 결과와 함께 상기 블록체인에 트랜잭션으로 제공하는 단계는, 상기 설문조사 토큰을 포함하는 트랜잭션 데이터를 응답자의 개인 키로 서명하여 생성한 트랜잭션을 상기 블록체인에 제공하는 것을 포함할 수 있다.In some embodiments of the present invention, providing the survey token signed with the respondent's private key to the blockchain along with the survey results as a transaction includes signing the transaction data including the survey token with the respondent's private key. and providing the generated transaction to the blockchain.

본 발명의 몇몇 실시예에서, 상기 설문조사는 익명 설문조사를 포함하고, 상기 설문조사에 참여하는 응답자로부터 응답자의 식별을 위한 데이터를 제공받고, 발행자의 개인 키로 서명된 설문조사 토큰을 생성하여 상기 응답자에게 제공하는 단계는, 논스(nonce)로 블라인드(blind)된 응답자의 공개 키의 해시를 상기 응답자의 식별을 위한 데이터와 함께 제공받고, 상기 블라인드된 해시를 상기 발행자의 개인 키로 서명하여 생성한 설문조사 토큰을 상기 응답자에게 제공하는 것을 포함할 수 있다.In some embodiments of the present invention, the survey includes an anonymous survey, data for identification of the respondent is provided from a respondent participating in the survey, and a survey token signed with an issuer's private key is generated to In the step of providing the responder, a hash of the responder's public key blinded with a nonce is provided together with data for identification of the responder, and the blinded hash is generated by signing with the issuer's private key. and providing a survey token to the respondent.

본 발명의 몇몇 실시예에서, 상기 설문조사 토큰을 상기 응답자에 제공하는 단계 이후에, 상기 응답자가 상기 설문조사 토큰을 상기 논스로 언블라인드(unblind)하는 단계를 더 포함할 수 있다.In some embodiments of the present invention, the method may further include, after providing the survey token to the respondent, unblinding the survey token to the nonce by the respondent.

본 발명의 몇몇 실시예에서, 상기 응답자의 식별을 위한 데이터는 상기 응답자의 메타데이터(metadata)를 포함하고, 상기 설문조사 토큰은 상기 메타데이터에 관한 정보를 포함하는 퍼즐드(puzzled) 설문조사 토큰일 수 있다.In some embodiments of the invention, the data for identification of the respondent includes metadata of the respondent, and the survey token includes information about the metadata. can be

본 발명의 몇몇 실시예에서, 상기 설문조사는 공개 설문조사를 포함하고, 상기 퍼즐드 설문조사 토큰은 상기 메타데이터가 저장된 내부 데이터베이스 주소를 암호화한 결과를 포함할 수 있다.In some embodiments of the present invention, the survey may include an open survey, and the puzzled survey token may include a result of encrypting an internal database address in which the metadata is stored.

본 발명의 몇몇 실시예에서, 상기 설문조사는 익명 설문조사를 포함하고,In some embodiments of the invention, the survey comprises an anonymous survey;

상기 설문조사에 참여하는 응답자로부터 응답자의 식별을 위한 데이터를 제공받고, 발행자의 개인 키로 서명된 설문조사 토큰을 생성하여 상기 응답자에게 제공하는 단계는, 응답자로부터 논스(nonce)로 블라인드(blind)된 응답자의 공개 키의 해시와 상기 응답자의 메타데이터를 포함한 패키지를 제공받고, 상기 블라인드된 해시와 메타데이터를 상기 발행자의 개인 키로 서명하여 생성한 설문조사 토큰을 상기 응답자에게 제공하는 것을 포함할 수 있다.The step of receiving data for identification of the respondent from the respondent participating in the survey, generating a survey token signed with the issuer's private key, and providing the survey token to the respondent is blinded with a nonce from the respondent. Receiving a package including a hash of the public key of the respondent and metadata of the respondent, and providing the respondent with a survey token generated by signing the blinded hash and metadata with the private key of the issuer. .

본 발명의 몇몇 실시예에서, 상기 트랜잭션 중 유효한 것을 검증하여 상기 블록체인에 기록하고 상기 설문조사 결과를 집계하는 단계는, 상기 트랜잭션에 포함된 상기 응답자의 개인 키로 서명된 설문조사 토큰을 상기 발행자의 공개 키로 검증하는 것을 포함할 수 있다.In some embodiments of the present invention, the step of verifying that the transaction is valid, recording it in the blockchain, and aggregating the survey results includes providing a survey token signed with the respondent's private key included in the transaction to the issuer. This may include verifying with a public key.

본 발명의 몇몇 실시예에서, 상기 서명된 설문조사 토큰을 블록체인에 트랜잭션으로 제공한 결과를 상기 설문조사의 결과로 벤더에게 제공하는 단계; 및 상기 설문조사 참여 증거를 검증하고, 검증이 완료된 응답자에 대해 보상을 제공하는 단계를 더 포함할 수 있다.In some embodiments of the present invention, providing a result of providing the signed survey token as a transaction to a blockchain to a vendor as a result of the survey; and verifying the survey participation evidence and providing a reward to a respondent whose verification is completed.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Details of other embodiments are included in the detailed description and drawings.

본 발명의 실시예에 따른 설문조사 토큰을 이용하여 블록체인 상의 설문조사를 수행하는 방법 및 시스템에 따르면, 설문조사 토큰에 포함된 개인 정보 또는 메타데이터가 발행자를 제외한 외부에 노출되지 않은 상태로 설문조사에 대한 답변 제출 및 집계가 가능하므로 설문조사의 익명성이 보장될 수 있으며, 설문조사의 답변이 블록체인에 트랜잭션으로 기록되므로 답변의 무결성이 보장될 수 있다.According to the method and system for conducting a survey on a blockchain using a survey token according to an embodiment of the present invention, personal information or metadata included in the survey token is not exposed to the outside world except for the issuer. Since it is possible to submit and aggregate answers to surveys, the anonymity of surveys can be guaranteed, and since survey responses are recorded as transactions in the blockchain, the integrity of answers can be guaranteed.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

도 1은 본 발명의 몇몇 실시예에 따른 설문조사 토큰을 이용하여 블록체인 상의 설문조사를 수행하는 시스템의 블록도이다.
도 2는 본 발명의 몇몇 실시예에 따른 설문조사 토큰을 이용하여 블록체인 상에서 수행되는 설문조사 방법을 설명하기 위한 데이터 흐름도이다.
도 3은 본 발명의 몇몇 실시예에 따른 설문조사 초기화를 설명하기 위한 도면이다.
도 4a는 본 발명의 몇몇 실시예에 따른 공개 설문조사를 위한 설문조사 토큰의 생성을 설명하기 위한 도면이다.
도 4b는 본 발명의 몇몇 실시예에 따른 익명 설문조사를 위한 설문조사 토큰의 생성을 설명하기 위한 도면이다.
도 5a는 본 발명의 몇몇 실시예에 따른 공개 설문조사를 위한 퍼즐드 설문조사 토큰의 생성을 설명하기 위한 도면이다.
도 5b는 본 발명의 몇몇 실시예에 따른 익명 설문조사를 위한 퍼즐드 설문조사 토큰의 생성을 설명하기 위한 도면이다.
도 6a는 본 발명의 몇몇 실시예에 따른 설문조사 방법에 포함된 응답자의 즉각적인 답변 제출을 설명하기 위한 도면이다.
도 6b는 본 발명의 몇몇 실시예에 따른 설문조사 방법에 포함된 응답자의 지연된 답변 제출을 설명하기 위한 도면이다.
1 is a block diagram of a system for conducting a survey on a blockchain using a survey token, in accordance with some embodiments of the present invention.
2 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.
3 is a diagram for explaining initialization of a survey according to some embodiments of the present invention.
4A is a diagram for explaining generation of a survey token for an open survey according to some embodiments of the present invention.
4B is a diagram for explaining generation of a survey token for an anonymous survey according to some embodiments of the present invention.
5A is a diagram for explaining generation of a puzzled survey token for an open survey according to some embodiments of the present invention.
5B is a diagram for explaining generation of a puzzled survey token for an anonymous survey according to some embodiments of the present invention.
6A is a diagram for explaining immediate response submission of a respondent included in a survey method according to some embodiments of the present invention.
6B is a diagram for explaining a respondent's delayed response submission included in a survey method according to some embodiments of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, only these embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs. It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numbers designate like elements throughout the specification.

하나의 구성 요소가 다른 구성 요소와 "연결된(connected to)" 또는 "커플링된(coupled to)" 이라고 지칭되는 것은, 다른 구성 요소와 직접 연결 또는 커플링된 경우 또는 중간에 다른 구성 요소를 개재한 경우를 모두 포함한다. 반면, 하나의 구성 요소가 다른 구성 요소와 "직접 연결된(directly connected to)" 또는 "직접 커플링된(directly coupled to)"으로 지칭되는 것은 중간에 다른 구성 요소를 개재하지 않은 것을 나타낸다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다. A component is said to be "connected to" or "coupled to" another component when it is directly connected or coupled to the other component or through another component in between. include all cases. On the other hand, when one component is referred to as “directly connected to” or “directly coupled to” another component, it indicates that another component is not intervened. “And/or” includes each and every combination of one or more of the recited items.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.Terminology used herein is for describing the embodiments and is not intended to limit the present invention. In this specification, singular forms also include plural forms unless specifically stated otherwise in a phrase. As used herein, "comprises" and/or "comprising" means that a stated component, step, operation, and/or element is present in the presence of one or more other components, steps, operations, and/or elements. or do not rule out additions.

비록 제1, 제2 등이 다양한 구성 요소들을 서술하기 위해서 사용되나, 이들 구성 요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성 요소를 다른 구성 요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성 요소는 본 발명의 기술적 사상 내에서 제2 구성 요소 일 수도 있음은 물론이다.Although first, second, etc. are used to describe various constituent elements, these constituent elements are not limited by these terms, of course. These terms are only used to distinguish one component from another. Accordingly, it goes without saying that the first component mentioned below may also be the second component within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined.

도 1은 본 발명의 몇몇 실시예에 따른 설문조사 토큰을 이용하여 블록체인 상의 설문조사를 수행하는 시스템(1)의 블록도이다.1 is a block diagram of a system 1 for conducting a survey on a blockchain using a survey token, in accordance with some embodiments of the present invention.

도 1을 참조하면, 본 발명의 몇몇 실시예에 따른 설문조사 토큰을 이용하여 블록체인 상의 설문조사를 수행하는 시스템(1)은 발행자(100), 응답자(200), 벤더(300) 및 블록체인(500)을 포함할 수 있다. 이하에서 설명되는 발행자(100), 응답자(200), 벤더(300) 등의 구성 요소는 스마트폰, 개인용 컴퓨터(Personal Computer; PC), 서버 컴퓨터, 태블릿 PC, 하드웨어 지갑(wallet) 등의 블록체인(500) 상에서 설문조사의 생성 또는 답변 제출을 진행할 수 있는 컴퓨팅 장치를 포함할 수 있다.Referring to FIG. 1, a system 1 for conducting a survey on a blockchain using a survey token according to some embodiments of the present invention includes an issuer 100, a respondent 200, a vendor 300, and a blockchain (500). Components such as the issuer 100, the responder 200, and the vendor 300 described below are blockchains such as smartphones, personal computers (PCs), server computers, tablet PCs, and hardware wallets. On 500, a computing device capable of generating a survey or submitting answers may be included.

발행자(100)는 본 발명에서 수행되는 설문조사(110)의 전체적인 프로세스를 관리할 수 있다. 발행자(100)는 설문조사(110)를 생성하고, 설문조사에 참여하고자 하는 응답자(200)를 인증하며, 설문조사(110)의 결과를 집계할 수 있다.The issuer 100 may manage the entire process of the survey 110 performed in the present invention. The issuer 100 may generate the 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 created by the publisher 100 may be defined to have various characteristics according to its purpose. For example, the survey 110 may be an open survey or an anonymous survey, with immediate response submissions allowing immediate counting of votes, or encrypted responses allowing delayed counting. may be a submission.

또한, 설문조사(110)는 응답자(200)의 식별을 위한 개인 정보 만을 포함한 설문조사 토큰이 이용되는 투표이거나, 응답자(200)의 메타데이터(metadata)를 포함하는 퍼즐드(puzzled) 설문조사 토큰이 이용되는 투표일 수도 있다.In addition, the survey 110 is a vote in which a survey token including only personal information for identification of the respondent 200 is used, or a puzzled survey token including metadata of the respondent 200. This may be the vote used.

퍼즐드(puzzled) 설문조사 토큰은 설문조사(110)를 진행하는 발행자(100)가 필요로 하는 정보만을 퍼즐처럼 결합하여 생성할 수 있는 설문조사 토큰을 의미한다. 응답자(200)는 사전에 발행자(100)에 대하여 입력한 정보를 기초로 자격을 인증받아 퍼즐드 설문조사 토큰을 제공받을 수 있다. 발행자(100)가 퍼즐드 설문조사 토큰을 생성할 때 응답자의 식별을 위한 개인 정보 중 필요로 하는 정보만을 결합하여 생성할 수 있으므로, 퍼즐드 설문조사 토큰을 제공받는 응답자(200)마다 고유의 토큰을 제공받게 된다. 후술하는 것과 같이 퍼즐드 설문조사 토큰의 생성을 위해 결합된 개인 정보는 암호화될 수 있다.A puzzled survey token refers to a survey token that can be generated by combining only information required by the issuer 100 conducting the survey 110 like a puzzle. The respondent 200 may be provided with a puzzled survey token by authenticating qualifications based on information previously input about the issuer 100 . When the issuer 100 generates a puzzled survey token, it can create a unique token for each respondent 200 who receives a puzzled survey token, since it can be created by combining only the necessary information among the personal information for identification of the respondent. will be provided. As described below, the personal information combined for the generation of the puzzled survey token may be encrypted.

응답자(200)는 제공된 퍼즐드 설문조사 토큰을 이용하여 이하에서 설명되는 설문조사에 이용할 수 있을 뿐만 아니라, 응답자는 퍼즐드 설문조사 토큰을 제3자에게 제공함으로써 응답자(200) 고유의 자격 또는 신분을 검증받을 수 있는 일종의 ID로 활용할 수 있다.Not only can the respondent 200 use the puzzled survey token provided to the survey described below, but also the respondent 200's unique qualification or identity by providing the puzzled survey token to a third party. can be used as a kind of ID that can be verified.

이 때 발행자(100)로부터 발행되는 퍼즐드 설문조사 토큰에는 응답자(200)와 관련된 개인 정보는 포함되지 않는다.At this time, the puzzled survey token issued by the issuer 100 does not include personal information related to the respondent 200 .

또한 응답자(200)는 퍼즐드 설문조사 토큰에 설문조사 결과와 함께 메타데이터(metadata)로 표현되는 응답자(200)에 관한 개인 정보를 결합하여 설문에 참여할 수 있다. 발행자(100)는 퍼즐드 설문조사 토큰에 포함된 설문 조사 결과와 함께 메타데이터를 분석함으로써 설문조사에 대한 더욱 자세한 결과를 얻을 수 있다. In addition, the respondent 200 may participate in the survey by combining the puzzled survey token with the survey results and personal information about the respondent 200 expressed as metadata. The issuer 100 may obtain more detailed survey results by analyzing the metadata along with the survey results included in the puzzled survey token.

발행자(100)는 발행자 고유의 개인 키(PrivI), 고유 키(PubI) 등을 생성할 수 있다. 뒤에서 설명하는 것과 같이 설문조사(110)에 사용되는 설문조사 토큰(120)이 퍼즐드 설문조사 토큰인 경우, 발행자(100)는 퍼즐드 설문조사 토큰을 암호화 및 복호화하기 위한 대칭 키(KeyI)와, 이에 포함되는 메타데이터의 암호화 및 복호화에 필요한 한 쌍의 키(EncM, DecM)를 생성할 수 있다.The issuer 100 may generate an issuer-specific private key (Priv I ), a unique key (Pub I ), and the like. As described later, when the survey token 120 used in the survey 110 is a puzzled survey token, the issuer 100 provides a symmetric key (Key I ) for encrypting and decrypting the puzzled survey token. and a pair of keys (Enc M , Dec M ) necessary for encryption and decryption of metadata included therein.

발행자(100)는 응답자(200)로부터 개인 식별 데이터 또는 메타데이터가 포함된 설문조사 참여 요청에 대해 응답자(200)의 자격을 검증(verify)하는 한편, 검증을 성공적으로 통과한 응답자(200)에 대해 설문조사 토큰(120)을 제공할 수 있다.The issuer 100 verifies the qualification of the respondent 200 in response to a survey participation request including personal identification data or metadata from the respondent 200, and the respondent 200 who has successfully passed the verification A survey token 120 may be provided for.

이 과정에서 설문조사 토큰(120)의 생성 등을 위해 키를 이용하여 하나 이상의 서명을 생성할 수 있다.In this process, one or more signatures may be generated by using a key to generate the survey token 120 or the like.

또한, 발행자(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 to the block chain. Aggregation of surveys can be performed.

응답자(200)는 발행자(100)에 대하여 개인 식별 데이터 또는 메타데이터가 포함된 설문조사 참여 요청을 제공하고, 요청에 대응하여 제공된 설문조사 토큰(120)을 이용하여 설문조사를 수행할 수 있다. 설문조사는 설문조사 토큰(120)을 블록체인(500) 상의 주소로 전송하기 위한 트랜잭션(transaction)을 블록체인에 기록함으로써 수행될 수 있다.The responder 200 may provide the issuer 100 with a survey participation request including personal identification data or metadata, and may perform the survey using the survey token 120 provided in response to the request. The survey may be performed by recording a transaction in the blockchain to send the survey token 120 to an address on the blockchain 500.

도 1의 실시예에서, 응답자(200)가 설문조사(110)의 수행을 위해 설문조사 애플리케이션(400)을 이용하는 것이 예시적으로 도시된다. 설문조사 애플리케이션(400)은 설문조사(110)의 수행 및 답변의 제출을 위해 스마트폰, 태블릿 PC, 데스크탑 컴퓨터, 노트북 컴퓨터 등의 컴퓨팅 장치 상에서 수행되는 응용 프로그램을 포함할 수 있으나 본 발명이 이에 제한되는 것은 아니다.In the embodiment of FIG. 1 , respondent 200 is illustratively shown using survey application 400 to conduct survey 110 . The survey application 400 may include an application program executed on a computing device such as a smart phone, a tablet PC, a desktop computer, or a notebook computer to perform the survey 110 and submit answers, but the present invention is limited thereto. it is not going to be

비록 도 1에는 설문조사 토큰을 이용하여 블록체인 상의 설문조사를 수행하는 시스템(1)이 하나의 응답자(200)를 포함하는 것으로 도시되었으나 본 발명이 이에 제한되는 것은 아니다. 본 시스템(1)이 수행하는 설문조사의 목적에 부합하도록, 복수의 응답자(200)에 대한 설문조사가 수행될 수 있는 것은 물론이다.Although FIG. 1 shows a system 1 for conducting a survey on a blockchain using a survey token as including one respondent 200, the present invention is not limited thereto. It goes without saying that a survey on a plurality of respondents 200 can be performed to meet the purpose of the survey performed by the present system 1 .

또한, 응답자(200)는 설문조사 참여의 증거를 벤더(300)에게 제시하고, 상기 증거의 검증이 완료되면 제공된 보상을 수령하고, 이를 저장할 수 있다. 벤더(300)는 응답자(200)로부터 제공된 보상의 청구를 검증하고, 청구가 유효한 경우 응답자(200)의 지갑 주소 또는 청구에 지정된 주소로 보상을 제공할 수 있다.In addition, the respondent 200 may present evidence of participation in the survey to the vendor 300, receive a reward provided when the verification of the evidence is completed, and store it. The vendor 300 verifies the claim for the reward provided by the responder 200 and, if the claim is valid, may provide the reward to the wallet address of the responder 200 or the address specified in the claim.

블록체인(500)은 복수의 컴퓨팅 장치로 구성된 노드가 서로 연결되어 성립하는 네트워크를 포함할 수 있다. 블록체인(500)을 구성하는 복수의 노드는 설문조사의 전 과정을 진행 및 기록하기 위해 실행되는 트랜잭션 또는 스마트 컨트랙트를 상호 검증할 수 있다. 블록체인(500)에는 발행자(100)에 의해 생성된 설문조사(110), 응답자(200)에 의해 생성된 설문조사의 답변 및 답변들을 집계한 결과 등이 기록될 수 있다.The blockchain 500 may include a network in which nodes composed of a plurality of computing devices are connected to each other. A plurality of nodes constituting the blockchain 500 can mutually verify transactions or smart contracts executed to proceed and record the entire process of the survey. In the blockchain 500, the survey 110 generated by the issuer 100, the survey responses generated by the respondent 200, and the result of aggregating the answers may be recorded.

도 2는 본 발명의 몇몇 실시예에 따른 설문조사 토큰을 이용하여 블록체인 상에서 수행되는 설문조사 방법을 설명하기 위한 데이터 흐름도이다.2 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.

도 2를 참조하면, 본 발명의 몇몇 실시예에 따른 설문조사 토큰을 이용하여 블록체인 상에서 수행되는 설문조사 방법은, 발행자(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. 2 , a survey method performed on a blockchain using a survey token according to some embodiments of the present invention includes generating and announcing a survey from an issuer 100 (S110), a respondent 200 ) performs registration for a survey with the issuer 100 using personal 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 ) has valid qualifications, generating a survey token and providing it to the respondent 200 (S130), and submitting the survey answer to the blockchain 500 using the survey token from the respondent 200 ( S140), the issuer 100 aggregating the survey answers recorded on the blockchain 500 (S150), the issuer 100 storing the survey results in the blockchain 500 based on the aggregated survey answers (S150) Recording (S160), the respondent 200 providing the survey participation evidence to the vendor 300 (S170), the vendor 300 verifies the survey participation evidence and rewards the respondent's wallet on the blockchain The step of providing (S180) and the like may be included. Each step of a survey method according to an embodiment of the present invention will be described with reference to the following drawings.

도 3은 본 발명의 몇몇 실시예에 따른 설문조사 초기화를 설명하기 위한 도면이다.3 is a diagram for explaining initialization of a survey according to some embodiments of the present invention.

도 3을 참조하면, 발행자(100)는 설문조사(110)의 생성 및 발표를 통한 설문조사 초기화를 진행할 수 있다. 발행자(100)는 설문조사 토큰(120)의 서명에 사용할 하나 이상의 공개 키 및 개인 키 쌍(PubI, PrivI)을 생성할 수 있다.Referring to FIG. 3 , the issuer 100 may initialize a survey by generating and announcing a survey 110 . Issuer 100 may generate one or more public and private key pairs (Pub I , Priv I ) for use in signing survey tokens 120 .

또한, 뒤에서 설명하는 것과 같이 설문조사 토큰(120)이 응답자(200)의 메타데이터를 포함하는 퍼즐드 설문조사 토큰인 경우, 퍼즐드 설문조사 토큰을 암호화 및 복호화하기 위한 키(KeyI)를 생성할 수 있다. 상기 키(KeyI)는 대칭키 암호화 알고리즘에 사용될 수 있으며, 이러한 알고리즘은 AES(Advanced Encryption Standard) 알고리즘을 포함할 수 있으나 본 발명이 이에 제한되는 것은 아니다.In addition, as described later, when the survey token 120 is a puzzled survey token including metadata of the respondent 200, a key (Key I ) for encrypting and decrypting the puzzled survey token is generated. can do. The key (Key I ) may be used in a symmetric key encryption algorithm, and such an 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 issuer 100 may declare an identifier (SurveyID) for identifying the survey to create the survey 110 . The identifier (SurveyID) may include, for example, a hash of a string included in the string identifier of the survey, and an algorithm for calculating the hash may include, for example, SHA-2, SHA-3, etc., but the present invention This is not limited to this.

발행자(100)로부터 생성된 설문조사(110)는 예를 들어 JSON, YAML, TOML, XML 또는 설문조사 앱(400)에 의해 처리될 수 있는 형식의 구조화된 문서를 포함할 수 있다. 이러한 문서에는 적어도 하나 이상의 질문이 포함될 수 있다. 또한, 설문조사(110)는 참여하고자 하는 응답자가 개인 데이터 등과 함께 설문조사 토큰을 요청하기 위해 접속하는 연락처(contact point) 정보를 포함할 수 있다.The survey 110 created by the publisher 100 may include, for example, JSON, YAML, TOML, XML, or structured documents in a format that can be processed by the survey app 400 . Such documents may contain at least one or more questions. In addition, the survey 110 may include contact point information that a respondent who wants to participate accesses to request a survey token along with personal data.

또한, 설문조사(110)는 응답자(200)에 관한 개인 정보(이하에서 메타데이터(metadata)로 설명한다.)를 기록할 수 있는 구조화된 쿼리 문서(RespondentDoc)를 포함할 수 있다. 발행자(100)로부터 상기 문서(RespondentDoc)을 포함하는 설문조사(110)가 응답자(200)로 제공되면, 응답자(200)는 상기 문서(RespondentDoc)의 양식을 작성함으로써 메타데이터를 생성할 수 있다. 상기 메타데이터는 예를 들어 응답자(200)의 나이, 출생 지역, 성별과 같은 개인 정보에 관한 다양한 질문들을 포함할 수 있다.In addition, the survey 110 may include a structured query document (RespondentDoc) capable of recording personal information (hereinafter referred to as metadata) about the respondent 200 . When the survey 110 including the document (RespondentDoc) is provided to the respondent 200 from the issuer 100, the respondent 200 may create metadata by filling out the form of the document (RespondentDoc). The metadata may include, for example, various questions related to personal information such as age, place of birth, and gender of the respondent 200 .

이 때 발행자(100)는 설문조사(110)의 참여 자격에 일정한 조건을 부여할 수 있다. 예를 들어, 특정 성별, 연령대, 거주지역 등에 관한 제한을 추가하고, 이후 응답자(200)로부터 메타데이터가 포함된 설문조사 토큰이 제공되면 상기 일정한 조건에 따라 응답 결과를 필터링하고, 설문조사 집계에 이용할 수 있다.In this case, the issuer 100 may assign certain conditions to qualifications for participating in the survey 110 . For example, restrictions on a specific gender, age group, region of residence, etc. are added, and then, when a survey token including metadata is provided from the respondent 200, response results are filtered according to the predetermined conditions, and survey aggregation is performed. available.

발행자(100)는 설문조사(110)의 생성과 함께 설문조사(110)의 조사 방식을 규정할 수 있다. 설문조사(110)는 예를 들어 응답자(200)의 신원이 공개되며 답변이 추적 가능한 공개 설문조사이거나, 응답자에 대한 추적이 불가능한 익명 설문조사를 포함할 수 있다.The issuer 100 may define a survey method of the survey 110 together with the creation of the survey 110 . The survey 110 may include, for example, an open survey in which the identity of the respondent 200 is disclosed and responses can be traced, or an anonymous survey in which no trace of the respondent is possible.

또한, 발행자(100)는 설문조사(110)의 생성과 함께 설문조사(110)의 집계 방식을 규정할 수 있다. 설문조사(110)의 답변의 집계는 응답자(200)에 의해 제출된 직후 집계되는 즉각적인 집계와, 모든 응답자(200)에 의해 답변 제출이 완료된 후에만 확인할 수 있는 지연된 집계를 포함할 수 있다.In addition, the issuer 100 may define a method of aggregating the survey 110 together with the creation of the survey 110 . The aggregation of answers to the survey 110 may include immediate aggregation immediately after submission by the respondents 200 and delayed aggregation that can be checked only after all respondents 200 complete their submission of answers.

만약 설문조사(110)가 지연된 집계에 의해 답변이 집계되는 경우, 응답자(200)는 응답자(200)의 답변을 암호화하기 위한 키 쌍(EncI, DecI)을 생성할 수 있다.If the answers of the survey 110 are counted by delayed counting, the respondent 200 may generate a key pair (Enc I , Dec I ) for encrypting the answers of the respondent 200 .

발행자(100)는 설문조사(110)의 생성을 완료하고, 생성된 설문조사(110)를 블록체인(500)에 기록함으로써 설문조사(110)를 발표할 수 있다. 블록체인(500)에 기록된 설문조사(110)는 공개됨으로써 임의의 응답자에 의하여 접근이 가능할 수 있다.The issuer 100 may publish 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 on the blockchain 500 may be accessible by any respondent by being public.

본 발명의 몇몇 실시예에서, 발행자(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 targets of the survey 110, that is, a respondent who can be provided with a survey token ( 200) Predetermined information may be provided from the candidate. Predetermined information on the provided respondent 200 candidates may be used to verify respondent qualifications when the respondent 200 provides a survey participation request to the issuer 100 .

도 4a는 본 발명의 몇몇 실시예에 따른 공개 설문조사를 위한 설문조사 토큰의 생성을 설명하기 위한 도면이다.4A is a diagram for explaining generation of a survey token for an open survey according to some embodiments of the present invention.

도 4a를 참조하면, 발행자(100)로부터 생성된 설문조사(110)를 응답자(200)가 인식하고, 공개 설문조사에 대하여 발행자(100)에 대해 설문조사 참여 요청을 제공하며 응답자 자격에 대한 검증이 완료되면 설문조사 토큰이 응답자(200)에게 제공되는 것이 도시된다.Referring to FIG. 4A , the respondent 200 recognizes the survey 110 generated by the issuer 100, provides a survey participation request to the issuer 100 for an open survey, and verifies the respondent's qualifications. Upon completion, the survey token is shown being provided to the respondent 200 .

응답자(200)는 블록체인(500)에 기록된 설문조사(110)로부터 발행자(100)에 접근할 수 있는 연락처를 추출할 수 있다. 해당 연락처를 통해 응답자(200)는 개인데이터 및 해시 등을 전송함으로써 발행자(100)에게 설문조사 토큰(120)을 요청할 수 있다. 한편, 응답자(200)는 설문조사 토큰(120)을 요청하기 이전에, 트랜잭션의 출발지 주소로 사용되는 블록체인(500) 상의 지갑 주소를 생성할 수 있다. 이후에 응답자(200)의 지갑 주소로 벤더(300)가 설문조사 참여에 대한 보상을 제공할 수 있다.Respondent 200 may extract contact information capable of accessing issuer 100 from survey 110 recorded in blockchain 500 . The respondent 200 may request the survey token 120 from the issuer 100 by transmitting personal data and a hash through the corresponding contact. Meanwhile, the respondent 200 may generate a wallet address on the blockchain 500 used as the source address of the transaction before requesting the survey token 120 . Afterwards, the vendor 300 may provide a reward 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 survey 110 transactions and a private key (Priv V ) used to sign survey 110 transactions. The public key (Pub V ) and the private key (Priv V ) of the responder 200 may match each other.

응답자(200)는 응답자(200)의 신원을 식별할 수 있는 개인 식별 데이터 와 함께 응답자의 공개 키(PubV)를 발행자(100)에게 제공할 수 있다. 이와 함께, 응답자(200)는 상기 개인 식별 데이터를 포함하는 설문조사 참여 요청을 응답자의 개인 키(PrivV)로 서명하여 발행자(100)에게 제공할 수 있다.The responder 200 may provide the responder's public key (Pub V ) to the issuer 100 together with personal identification data for identifying the responder's identity. In addition, the respondent 200 may sign the 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)의 지갑 주소, 소속, 직함, 보안 등급 등을 포함할 수 있다.Personal identification data of the respondent 200 may include, for example, the respondent's 200 wallet address, affiliation, title, security level, and the like.

응답자(200)로부터 설문조사 참여 요청을 제공받은 발행자(100)는 요청에 포함된 응답자(200)의 응답자(200)의 개인 식별 데이터를 확인하고, 설문 조사에 참가할 수 있는 자격을 평가할 수 있다. 이러한 평가는 예를 들어, 응답자(200)의 개인 식별 데이터가 발행자(100)가 미리 저장하고 있는 응답자 명부와 일치하는지 여부 등에 기초할 수 있으나 본 발명이 이에 제한되는 것은 아니다.Upon receiving the survey participation request from the respondent 200, the issuer 100 may check the personal identification data of the respondent 200 included in the request and evaluate eligibility to participate in the survey. This evaluation may be based on, for example, whether the personal identification data of the respondent 200 matches the respondent list previously 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, DSA (Digital Signature Algorithm) signature, ECDSA (Elliptic Curve Digital Signature Algorithm) signature, or Ed25519 or other known A digital signature algorithm can be used.

또한, 발행자(100)는 앞서 제공된 응답자(200)의 개인 식별 데이터를 조합하여 설문조사 토큰을 생성할 수 있다. 이와 같이 생성된 토큰은 응답자(200) 고유의 토큰이 됨으로써 일종의 NFT로 기능할 수 있다.In addition, the issuer 100 may generate a survey token by combining the personal identification data of the respondent 200 previously provided. The token generated in this way may function as a kind of NFT by becoming a unique token of the responder 200 .

생성된 설문조사 토큰(120)은 보안 채널을 통해 응답자(200)에게 제공될 수 있다. 응답자(200)는 이후 단계를 위해 제공된 토큰(120)을 별도의 처리 없이 그대로 보관하고 있을 수 있다.The generated survey token 120 may be provided to the respondent 200 through a secure channel. The responder 200 may keep the token 120 provided for a later step as it is without separate processing.

도 4b는 본 발명의 몇몇 실시예에 따른 익명 설문조사를 위한 설문조사 토큰의 생성을 설명하기 위한 도면이다.4B is a diagram for explaining generation of a survey token for an anonymous survey according to some embodiments of the present invention.

도 4b에 의해 설명되는 익명 설문조사는, 응답자(200)의 신원이 발행자(100)에 의해서도 노출되지 않는 설문조사 과정이 포함된다. 즉, 이하에서는 발행자(100)는 응답자(200)가 제공한 응답자의 개인키에 관한 정보를 알지 못한 채 자신의 개인 키로 서명하여 응답자(200)에게 제공하는 일련의 과정이 설명된다.The anonymous survey illustrated by FIG. 4B includes a survey process in which the identity of the respondent 200 is not disclosed even by the issuer 100 . That is, a series of processes in which the issuer 100 signs with its own private key and provides it to the responder 200 without knowing information about the responder's private key provided by the responder 200 will be described below.

도 4b를 참조하면, 발행자(100)로부터 생성된 설문조사(110)를 응답자(200)가 인식하고, 익명 설문조사에 대하여 발행자(100)에 대해 설문조사 참여 요청을 제공하며 응답자 자격에 대한 검증이 완료되면 설문조사 토큰이 응답자(200)에게 제공되는 것이 도시된다. 이후에 설명하는 것과 같이, 공개 설문조사와는 다르게 익명 설문조사를 수행하는 경우 응답자의 식별을 방지하기 위한 별도의 단계들이 추가적으로 수행될 수 있다.Referring to FIG. 4B, the respondent 200 recognizes the survey 110 generated by the issuer 100, provides a request to participate in the survey to the issuer 100 for an anonymous survey, and verifies the qualifications of the respondent. Upon completion, the survey token is shown being provided to the respondent 200 . As will be described later, separate steps for preventing identification of respondents may be additionally performed when an anonymous survey is performed, unlike an open survey.

응답자(200)가 발행자(100)의 연락처를 추출하고, 개인 키/공개 키(PrivV, PubV)를 생성하는 것은 앞서 설명한 공개 설문조사의 경우와 동일할 수 있다.Extracting the contact information of the issuer 100 by the respondent 200 and generating the private/public keys (Priv V and Pub V ) may be the same as in the case of the public survey described above.

한편, 응답자(200)는 응답자의 공개 키의 블라인드(blind) 해시를 생성하고, 응답자(200)의 개인 식별 데이터와 함께 발행자(100)에 제공할 수 있다.Meanwhile, the responder 200 may generate a blind hash of the public key of the responder and provide it to the issuer 100 together with personal identification data of the responder 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 may calculate a blinded result (bpk) of 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 capable of safely signing a byte string without disclosing the contents of the byte string, such as Blind RSA signature. In such a blind signature, the sender's message is blinded until the recipient signs it, 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 personal identification data to issuer 100 over a secure communication channel. The issuer 100 may generate a survey token (SurveyToken I ) when the evaluation of the respondent 200 is completed. The survey token (SurveyToken I ) may include a 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, calculates the large integer m obtained from the array of byte strings as the exponent e and modulo N (num(bytes)^e mod N) can mean that.

응답자(200)는 발행자로부터 제공된 설문조사 토큰(SurveyTokenI)을 언블라인드(unblind)할 수 있다. 즉, 앞서 공개 키의 블라인드 해시(bpk) 생성 시 사용한 논스(nonce)를 이용하여 언블라인드된 설문조사 토큰(SurveyTokneV)을 생성(SurveyTokenV = Unblind(SurveyTokenI, nonce)하는 것이다.The responder 200 may unblind the survey token (SurveyToken I ) provided from the issuer. That is, an unblinded survey token (SurveyTokne V ) is generated (SurveyToken V = Unblind (SurveyToken I , nonce) using the nonce used when generating the blind hash (bpk) of the public key earlier.

위와 같은 블라인드 및 언블라인드 연산을 통한 일련의 과정의 핵심 특징은 응답자(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. It is identical to the publisher's signature for (Pub V ). Thanks to the blind signing process, the issuer 100 signs without knowing the value of the responder's public key (Pub V ). If the respondent 200 uses its key (Priv V ) to sign the survey transaction, no one, including the issuer 100, will be able to trace the actual respondent.

도 5a는 본 발명의 몇몇 실시예에 따른 공개 설문조사를 위한 퍼즐드 설문조사 토큰의 생성을 설명하기 위한 도면이다. 도 5a 및 하기 5b에서 설명하는 퍼즐드 설문조사 토큰은 연령, 출신 지역, 성별 등과 같이 응답자(200)에 대한 몇 가지 추가 정보, 즉 메타데이터를 포함하는 설문조사 토큰을 의미할 수 있다. 상기 퍼즐드 설문조사 토큰이 이와 같은 메타데이터를 포함함으로써, 응답자(200)의 개인 정보를 침해하지 않고 응답자에 대한 검증 가능한 정보가 발행자(100)에게 제공될 수 있다. 즉, 응답자(200)가 자발적으로 제공한 최소한의 개인 정보에 기초하여 설문조사 진행이 가능하며, 이후 설명되는 것과 같이 발행자(100)만이 식별 및 복호화할 수 있는 메타데이터를 이용함으로써 개인정보 유출 방지 및 개인정보 주체의 데이터 주궝 확보가 가능하다.5A is a diagram for explaining generation of a puzzled survey token for an open survey according to some embodiments of the present invention. The puzzled survey token described in FIGS. 5A and 5B may refer to a survey token including some additional information about the respondent 200, such as age, region of origin, gender, and the like, that is, metadata. By including such metadata in the puzzled survey token, verifiable information about the respondent 200 can be provided to the issuer 100 without infringing on the personal information of the respondent 200 . That is, the survey can be conducted based on the minimum personal information voluntarily provided by the respondent 200, and personal information leakage is prevented by using metadata that can be identified and decrypted only by the issuer 100 as will be described later. And it is possible to secure the data owner of the subject of personal information.

메타데이터는 예를 들어, JSON, YAML, TOML, XML 등과 같은 구조화된 형식의 문서로 구성될 수 있다.Metadata may be composed of documents in a structured format such as, for example, JSON, YAML, TOML, XML, and the like.

메타데이터는 발행자(100)의 내부 데이터베이스에 저장될 수 있으며, 내부 데이터베이스는 저장된 메타데이터를 고유하게 식별하기 위한 EntryID를 포함할 수 있다. 또한 퍼즐드 설문조사 토큰에는 해당 메타데이터에 대한 불투명한(opaque) 참조로 암호화된 EntryID, 즉 oeid가 포함될 수 있다.The metadata may be stored in an internal database of the issuer 100, and the internal database may include an EntryID to uniquely identify the stored metadata. The puzzled survey token may also contain an EntryID, or oeid, encrypted with an opaque reference to its metadata.

도 5a를 참조하면, 발행자(100)로부터 생성된 설문조사(110)를 응답자(200)가 인식하고, 공개 설문조사에 대하여 발행자(100)에 대해 설문조사 참여 요청을 제공하며 응답자 자격에 대한 검증이 완료되면 퍼즐드 설문조사 토큰이 응답자(200)에게 제공되는 것이 도시된다.Referring to FIG. 5A, a respondent 200 recognizes a survey 110 generated by an issuer 100, provides a survey participation request to the issuer 100 for an open survey, and verifies the respondent's qualifications. When this is completed, the puzzled survey token is provided to the respondent 200 .

설문조사(110)가 공개 설문조사인 경우, 응답자(200)는 식별을 위한 개인 데이터와 함께 메타데이터에 포함될 수 있는 개인 정보를 발행자(100)에게 제공할 수 있다. 발행자(100)는 제공된 개인 정보를 참조하여 응답자(200)의 메타데이터를 완성시키고, 내부 데이터베이스에 저장할 수 있다.If survey 110 is an open survey, respondent 200 may provide personal information to publisher 100 that may be included in metadata along with personal data for identification. The issuer 100 may complete the metadata of the respondent 200 by referring to the provided personal information and store it in an internal database.

응답자(200)가 설문조사(110)에 포함된 발행자(100)의 연락처를 추출하는 한편, 응답자(200)에 관한 개인 정보를 기록할 수 있는 구조화된 쿼리 문서(RespondentDoc)를 완성할 수 있다.While the respondent 200 extracts the contact information of the issuer 100 included in the survey 110, a structured query document (RespondentDoc) capable of recording personal information about the respondent 200 may be completed.

응답자(200)는 자신의 공개 키(PubV), 개인 식별 데이터, 메타데이터가 포함된 문서(RespondentDoc)와 함께, 설문조사 참여의 요청을 응답자의 개인 키(PrivV)로 서명하여 발행자(100)에게 제공할 수 있다.The respondent 200 signs the request to participate in the survey with the respondent's private key (Priv V ) along with a document (RespondentDoc) including his/her public key (PubV), personal identification data, and metadata, and the issuer (100) can be provided to

발행자(100)는 제공된 데이터 중 응답자(200)의 개인 데이터를 확인하고, 설문 조사에 참가할 수 있는 자격을 평가할 수 있다. 이와 함께 응답자(200)의 메타데이터는 고유의 EntryID로 식별될 수 있도록 발행자(100)의 내부 데이터베이스에 저장될 수 있다.The issuer 100 may check the personal data of the respondent 200 among the provided data and evaluate eligibility to participate in the survey. In addition, the metadata of the responder 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 may encrypt the EntryID to generate an opaque metadata ID (oeid) (oeid = Enc(EntryID, Key I ). Here, asymmetric encryption of a 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(PubV), Priv I ) and puzzles for the progress of the public survey. It is possible to calculate the hash (hd) of the data structure of the de survey key (sk) (hd = hash (oeid || sk). Finally, the issuer 100 includes a pair of data in which the digital signature of the issuer is written. A puzzled survey token (PuzzSurveyToken I ) can be created (PuzzSurveyToken I = [oeid, sk, Sign(hd, Priv I )).

발행자(100)는 생성된 퍼즐드 설문조사 토큰(PuzzSurveyTokenI)을 그대로 발행자의 퍼즐드 설문조사 토큰(PuzzSurveyTokenV = PuzzSurveyTokenI)으로 하여 보관할 수 있다.The issuer 100 may keep the generated puzzled survey token (PuzzSurveyToken I ) as the issuer's puzzled survey token (PuzzSurveyToken V = PuzzSurveyToken I ).

도 5b는 본 발명의 몇몇 실시예에 따른 익명 설문조사를 위한 퍼즐드 설문조사 토큰의 생성을 설명하기 위한 도면이다.5B is a diagram for explaining generation of a puzzled survey token for an anonymous survey according to some embodiments of the present invention.

메타데이터를 포함하는 퍼즐드 설문조사 토큰을 이용한 익명의 설문조사를 수행하기 위하여, 응답자(200)에 의해 블라인드된 해시를 이용하는 것은 앞서 도 4b를 이용한 설명과 유사하다.Using the hash blinded by the respondent 200 to perform an anonymous survey using a puzzled survey token including metadata is similar to the description of FIG. 4B above.

구체적으로, 도 5b를 참조하면, 응답자(200)가 설문조사(110)에 포함된 발행자(100)의 연락처를 추출하는 한편, 응답자(200)에 관한 개인 정보를 이용하여 메타데이터(md)를 직접 생성할 수 있다. 즉, 앞서 공개 설문조사에서 발행자(100)가 응답자(200)의 개인 정보로부터 메타데이터를 구성한 것과는 달리, 퍼즐드 설문조사 토큰을 이용한 익명 설문조사에서는 응답자(200)가 자신의 메타데이터(md)를 직접 생성할 수 있다.Specifically, referring to FIG. 5B , the respondent 200 extracts the contact information of the issuer 100 included in the survey 110 and generates metadata (md) using personal information about the respondent 200. can be created directly. That is, unlike the previous public survey in which the issuer 100 constructed metadata from the respondent 200's personal information, in the anonymous survey using the puzzled survey token, the respondent 200 uses his or her metadata (md). can be created directly.

이어서, 응답자(200)는 메타데이터(md)와 응답자의 공개 키(PubV)를 이용하여 머클 트리(merkel tree; mt)를 구성할 수 있다(mt = hash(hash(PubV) || hash(md))). 즉, 응답자(200)는 응답자의 공개 키(PubV)의 해시와 메타데이터(md)의 해시를 합친 값을 다시 해시로 구성하여 머클 트리(mt)를 구성하는 것이다. Subsequently, the responder 200 may construct a merkel tree (mt) using the metadata (md) and the responder's public key (Pub V ) (mt = hash(hash(Pub V ) || hash (md))). That is, the responder 200 configures the merkle tree mt by forming a hash of a value obtained by combining the hash of the responder's public key (Pub V ) and the hash of the metadata (md).

응답자(200)는 응답자의 공개 키(PubV)와 메타데이터(md)의 머클 트리(mt)를 블라인드한 값(bmt)을 생성한다. 구체적으로, 응답자는 두 개의 랜덤한 논스(nonce1, nonce2)를 생성하고, 발행자의 공개 키(PubI)와 논스(nonce1)를 이용하여 응답자의 공개 키의 해시(hpk)를 블라인드한 결과(bpk)를 연산할 수 있다(bpk = Blind(hpk, PubI, nonce1).The responder 200 generates a value (bmt) obtained by blinding the public key (Pub V ) of the responder and the Merkle tree (mt) of the metadata (md). Specifically, the responder 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 responder'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 may calculate a result (bmt) of blinding the Merkle tree root (mt) using the issuer's public key (Pub I ) and the nonce (nonce2) (bmt = Blind(mt, Pub I , nonce2).

응답자(200)는 공개 키의 블라인드된 해시(bpk), 블라인드된 머클 트리 루트(bmt), 메타데이터(md) 및 응답자의 개인 데이터를 포함하는 패키지를 보안 통신 채널을 통해 발행자(100)에게 제공할 수 있다.Responder 200 provides a package containing the blinded hash of the public key (bpk), the blinded merkle tree root (bmt), the metadata (md) and the responder's private data to the issuer 100 via 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 issuer 100 may evaluate the qualification of the responder 200 by verifying the personal identification data of the respondent 200 and comparing it with the provided meta data md. When the qualification of the responder 200 is verified, the issuer 100 may issue a signed puzzled survey token (PuzzSurveyToken I ) from the issuer and provide it to the responder 200 . The signed puzzled survey token (PuzzSurveyToken I ) uses the issuer's private key (Priv I ) to generate an RSA signed hash (sbpk = SignRSA (bpk, Priv I )), a Merkle tree (sbmt = SignRSA (bmt, Priv I )) I )) and the signed metadata (smd = Sign(hash(md), Priv I )) and the signature of the sum of the above three values (Sign(hash(sbpk || sbmt || smd), Priv I )) can include

응답자(200)는 발행자로부터 서명된 퍼즐드 설문조사 토큰(PuzzSurveyTokenI)을 이용하여 퍼즐드 설문조사 토큰(PuzzSurveyTokenV)을 생성할 수 있다.The responder 200 may generate a puzzled survey token (PuzzSurveyToken V ) using a 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 ) is the result of unblinding the hash (sbpk) of the RSA signed public key and the blind Merkle tree root (sbmt) using the nonces (nonce1, nonce2) used during blinding. The issuer 's encryption key (Enc It may include the result of encryption with M ) (ekey = Enc(Key V , Enc M )) and the result of symmetric key encryption using AES key (Key V ) (emd = EncSym(md, Key V )). .

여기서 주목할만한 것은, 응답자(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, and 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), PrivI), corresponding to encrypted metadata that can only be decrypted by the issuer 100. That is, the signature of the public key signature of the respondent by the issuer and the Merkle tree root of the public key combined with the metadata is included in the puzzled survey token (PuzzSurveyToken V ). Blind signing allows issuer 100 to sign hashes of the responder's and issuer's public keys without knowing the data itself. Accordingly, if a respondent 200 signs a 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 outside observers so that only the issuer 100 can access the metadata of the responder 200 . To this end, the issuer 100 generates a decryption result (key') of the ekey using the private key (Priv I ) of the issuer (key' = Dec(ekey, Priv I )).

이어서, 발행자(100)는 복호화된 키(key')를 사용하여 메타데이터를 복호화한 결과(md')를 생성한다(md' = DecSym(emd, key')). Subsequently, the issuer 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 issuer 100 may verify the decrypted metadata md'. Specifically, the issuer 100 uses the issuer's public key (Pub I ) to verify the issuer's puzzled survey token (PuzzSurveyTokenI) smd (metadata (md) signed using the private key (Priv I )). hash) matches the hash of the decrypted metadata (md') (Verify(hash(md'), smd, Pub I ). If the verification result matches, the issuer 100 issues the decrypted meta data (md'). Data (md') can be stored in an internal database.

정리하면, 응답자(200)의 공개 키(PubV)에서 실제 응답자(200)의 개인 정보 또는 메타데이터로 연결될 수 있는 링크가 존재하지 않기 때문에, 메타데이터(md')는 익명이며, 응답자(200)의 신원을 특정할 수 있는 정보를 드러내지 않을 수 있다.In summary, since there is no link from the public key (Pub V ) of the respondent 200 to the personal information or metadata of the actual respondent 200, the metadata (md') is anonymous, and the respondent (200 ) may not reveal any personally identifiable information.

응답자(200)는 설문조사의 답변을 결합하여 구조화된 문서로 구성하는 한편, 설문조사 토큰(SurveyTokenV 또는 PuzzSurveyTokenV)이 첨부된 결과 데이터 구조에 서명하고 블록체인(500)에 트랜잭션으로 기록할 수 있다. 이 때 답변의 제출은 제출 즉시 집계가 가능한 즉각적인 답변 제출이거나 지연된 집계가 가능한 암호화된 답변 제출 두 가지로 분류될 수 있다.The respondent 200 may combine survey responses to form a structured document, sign the resulting data structure to which the survey token (SurveyToken V or PuzzSurveyToken V ) is attached, and record it as a transaction in the blockchain 500. there is. At this time, the submission of answers can be classified into two types: submission of immediate answers that can be counted immediately after submission, and submission of encrypted answers that can be counted with delay.

도 6a는 본 발명의 몇몇 실시예에 따른 설문조사 방법에 포함된 응답자의 즉각적인 답변 제출을 설명하기 위한 도면이다.6A is a diagram for explaining immediate response submission of a respondent included in a survey method according to some embodiments of the present invention.

도 6a를 참조하면, 응답자(200)는 설문조사 토큰(SurveyTokenV) 등을 포함하는 트랜잭션 데이터(VoteTx_Data)와, 이를 응답자의 개인키(PrivV)로 서명한 결과를 함께 포함하는 트랜잭션(VoteTx)을 생성할 수 있다. 응답자(200)는 트랜잭션(VoteTx)을 블록체인(500)에 제공할 수 있다.Referring to FIG. 6A, the respondent 200 generates transaction data (VoteTx_Data) including a survey token (SurveyToken V ) and the like, and a transaction (VoteTx) including a result of signing the data with the respondent's private key (Priv V ). can create The responder 200 may provide the transaction (VoteTx) to the blockchain 500.

블록체인(500)에 포함된 각 노드들은 응답자(200)로부터 제출된 트랜잭션(VoteTx)의 유효성을 검증할 수 있다. Each node included in the blockchain 500 may verify the validity of the transaction (VoteTx) submitted by the responder 200 .

우선, 식별자(SurveyID)를 갖는 설문조사가 현재 진행 중인지 여부가 확인될 수 있다. 만약 트랜잭션(VoteTx)이 진행 기간보다 앞서 제출되거나, 진행 기간이 끝난 후 제출되는 경우 트랜잭션(VoteTx)은 거절될 수 있다.First, it may be checked whether a survey having an identifier (SurveyID) is currently in progress. If the transaction (VoteTx) is submitted before the progress period or submitted after the progress period ends, the transaction (VoteTx) may be rejected.

또한, 트랜잭션(VoteTx)에 포함된 답변이 응답자가 발표한 설문조사(110)에 포함된 문서(SurveyDoc)에 대응되는지 여부와, 트랜잭션 데이터(VoteTx_Data)에 포함된 공개 키(pk = PubV)에 의해 트랜잭션(VoteTx)의 서명이 검증될 수 있는지 여부가 확인될 수 있다(Verify(data, sign, pk)).In addition, whether the answer included in the transaction (VoteTx) corresponds to the document (SurveyDoc) included in the survey 110 announced 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 by (Verify(data, sign, pk)).

또는, 응답자(200)의 공개 키(PubV)가 발행자(100)에 의해 승인되는 과정이 진행될 수 있다. 구체적으로, 공개 설문조사의 경우 설문조사 토큰(SurveyTokenV)은 응답자의 공개 키(PubV)의 해시의 서명이므로, 발행자가 발표한 공개 키(PubI)에 의하여 검증될 수 있다. 익명 설문조사의 경우, 설문조사 토큰(SurveyTokenV)에는 발행자의 키(PrivI)에 의한 응답자의 공개 키(PubV)의 RSA 서명(SignRSA(hash(PubV), PrivI)이 포함될 수 있으며, 이는 발행자의 공개 키(PubI)에 의하여 검증될 수 있다.Alternatively, a process in which the public key (Pub V ) of the responder 200 is approved by the issuer 100 may proceed. Specifically, in the case of a public survey, since the survey token (SurveyToken V ) is the signature of the hash of the public key (Pub V ) of the respondent, it can be verified by the public key (Pub I ) announced by the issuer. For an anonymous survey, 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 responder's private key (Priv V ). If there is another transaction signed with this key (Priv V ) for a given survey identifier (SurveyID), this corresponds to double answering and can be rejected.

트랜잭션(VoteTx)이 상술한 절차에 의한 유효성 검증을 완료한 경우, 블록체인(500)은 해당 트랜잭션(VoteTx)을 기록할 수 있다.When the transaction (VoteTx) completes validation by the above-described procedure, the block chain 500 may record the corresponding transaction (VoteTx).

도 6b는 본 발명의 몇몇 실시예에 따른 설문조사 방법에 포함된 응답자의 암호화된 답변 제출을 설명하기 위한 도면이다.6B is a diagram for explaining submission of an encrypted answer by a respondent included in a survey method according to some embodiments of the present invention.

도 6b를 참조하면, 응답자(200)는 설문조사 토큰(SurveyTokenV)와 등을 포함하는 암호화된 트랜잭션 데이터(EncryptedVoteTx_Data)와, 이를 응답자의 개인키(PrivV)로 서명한 결과를 함께 포함하는 암호화된 트랜잭션(EncryptedVoteTx)을 생성할 수 있다.Referring to FIG. 6B, the respondent 200 encrypts encrypted transaction data (EncryptedVoteTx_Data) including a survey token (SurveyToken V ) and the like, and a result of signing the data with the respondent's private key (Priv V ). You can create an encrypted transaction (EncryptedVoteTx).

여기서 암호화된 트랜잭션 데이터(EncryptedVoteTx_Data)는 응답자(200)의 암호화된 답변을 포함할 수 있다. 응답자의 답변(answers)은 답변 암호화를 위해 설문조사 생성 단계에서 발행자(100)로부터 생성된 키 쌍(EncI, DecI) 중 하나(EncI)에 의하여 암호화된 트랜잭션 데이터(EncryptedVoteTx_Data)에 포함될 수 있다. 암호화된 답변이 제출되면, 설문조사의 종료된 이후 지연된(delayed) 집계가 시작된다. 암호화된 답변이 제출됨에 따라 투표 도중에는 투표와 관련된 주체들이 집계 상황을 알 수 없게 된다.Here, the encrypted transaction data (EncryptedVoteTx_Data) may include an encrypted answer of the responder 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 by the issuer 100 in the survey generation step (Enc I ) to encrypt the answers. there is. When an encrypted answer is submitted, a delayed tally begins after the survey has ended. As the encrypted answer is submitted, the subjects involved in voting cannot know the counting status during voting.

응답자(200)는 암호화된 트랜잭션(EncryptedVoteTx)을 블록체인(500)에 제공할 수 있다. The responder 200 may provide the encrypted transaction (EncryptedVoteTx) to the blockchain 500.

블록체인(500)에 포함된 각 노드들은 응답자(200)로부터 제출된 암호화된 트랜잭션(EncryptedVoteTx)의 유효성을 검증할 수 있다. 즉, 앞서 도 6a을 이용하여 설명한 트랜잭션(VoteTx)의 유효성 검증 단계인 설문조사 진행 기간, 답변의 형식, 지연된 트랜잭션의 서명 검증, 응답자의 공개 키(PubV)의 발행자(100)에 의한 승인, 암호화된 트랜잭션(EncryptedVoteTx)이 응답자의 개인 키(PrivV)로 서명된 첫 번째 트랜잭션인지 여부가 검증될 수 있다.Each node included in the blockchain 500 may verify the validity of the encrypted transaction (EncryptedVoteTx) submitted by the responder 200. That is, the survey progress period, which is the validation step of the transaction (VoteTx) described above with reference to FIG. 6A, the format of the answer, signature verification of the delayed transaction, approval by the issuer 100 of the respondent's public key (Pub V ), It may be verified whether the encrypted transaction (EncryptedVoteTx) is the first transaction signed with the responder's private key (Priv V ).

발행자(100)는 응답자(200)들로부터 제출되어 블록체인(500)에 기록된 답변들의 트랜잭션을 집계함으로써 설문조사의 집계를 수행할 수 있다(S150).The issuer 100 may perform survey aggregation by aggregating transactions of answers submitted by the respondents 200 and recorded in the blockchain 500 (S150).

도 6a를 통해 설명한 즉각적인 답변 제출의 경우, 설문조사 진행 기간이 종료되면 발행자(100)는 유효한 트랜잭션을 집계하고 트랜잭션에 포함된 답변 문서를 수집하여 처리할 수 있다.In the case of immediate answer submission described with reference to FIG. 6A , when the survey period ends, the issuer 100 may count valid transactions and collect and process answer documents included in the transactions.

도 6b를 통해 설명한 지연된 답변 제출의 경우, 답변이 키(EncI)에 의하여 암호화되었으므로 이를 복호화하기 위한 절차가 필요하다. 발행자(100)는 설문조사 기간이 종료되면 다른 키(DecI)를 블록체인(500)에 기록하여 블록체인(500)에 액세스할 수 있는 다른 참가자들이 암호화된 답변을 복호화할 수 있도록 할 수 있다. 블록체인(500)에 액세스할 수 있는 다른 참가자들은 블록체인에서 모든 암호화된 트랜잭션(EncryptedVoteTx)을 반복하고, 각 트랜잭션에 포함된 암호화된 답변 문서를 키(DecI)를 이용하여 복호화할 수 있다. 발행자(100)는 복호화된 답변 문서를 수집하고, 집계 결과를 생성할 수 있다. 집계 결과는 발행자(100)에 의하여 서명되어 블록체인(500)에 기록될 수 있다(S160).In the case of the delayed answer submission described with reference to FIG. 6B, since the answer is encrypted by the key (Enc I ), a procedure for decrypting it is required. Issuer 100 may write another key (Dec I ) to blockchain 500 at the end of the survey period so that other participants with access to blockchain 500 can decrypt the encrypted answer. . 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 issuer 100 may collect decrypted answer documents and generate an aggregate result. The aggregation result may be signed by the issuer 100 and recorded in the blockchain 500 (S160).

또한, 발행자(100)는 복호화된 답변 문서를 통해 수집된 집계 결과를 비로하여, 설문조사 토큰에 포함된 메타데이터를 집계할 수 있다. 위에서 설명한 것과 같이, 발행자(100)는 설문조사(110) 생성 시 특정 성별, 연령대, 거주지역 등에 관한 조건을 부여할 수 있고, 설문조사 결과 집계 시 상기 조건에 기초하여 설문조사 결과를 필터링할 수 있다. 또한 발행자(100)는 설문조사에 참여한 응답자(200)의 메타데이터를 별도로 집계하고, 일종의 빅데이터로 활용할 수 있으며, 설문조사 결과 분석 시 참여자가 사전에 입력한 정보를 추가적으로 활용함으로써 더욱 정확한 응답자 데이터 분석 및 설문조사 결과 분석을 수행할 수 있다.In addition, the issuer 100 may aggregate the metadata included in the survey token by using the aggregate result collected through the decrypted answer document as a ratio. As described above, when creating the survey 110, the issuer 100 may assign conditions regarding a specific gender, age group, region of residence, etc., and may filter the survey results based on the conditions when aggregating the survey results. there is. In addition, the issuer 100 can separately aggregate the metadata of the respondents 200 who participated in the survey and use it as a kind of big data, and additionally utilize the information previously entered by the participant when analyzing the survey results, thereby providing more accurate respondent data. Analysis and survey result 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 the public survey was conducted, the respondent 200 sent an identifier (txID) generated by recording the survey transaction (VoteTx or DelayedVoteTx) on the blockchain 500 and a message signed with his/her private key (PrivV) to the vendor ( 300) can be provided. The vendor 300 may verify the signed message using the public key (pk = Pub V ) of the respondent 200 included in the survey transaction (VoteTx or DelayedVoteTx). When verification is complete, the vendor 300 may transmit a reward to a wallet on the blockchain 500 connected 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/her public key (Pub V ) and the survey transaction (VoteTx or DelayedVoteTx) to the vendor 300, a direct link between the respondent 200 and the answer is established. Anonymity can disappear because of exposure. Therefore, a group signature may 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 relationships without disclosing the signature's identity. 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 the corresponding public keys. A group signature (GS(Privi, Pub1, ??, Pubn)(bytes)) is a string of bytes (bytes) that corresponds to one of the public keys (Pub 1 , Pub 2 , ??, Pub n ) and a private key (Priv i) . ), but it is not disclosed by which. The validity of the signature can be verified if the signature is constructed by a private key corresponding to one of the public keys.

응답자(200)는 블록체인(500)에 기록된 무작위 트랜잭션(tx1, ??, txn)을 읽고 다른 응답자들의 공개 키(Pub1, ??, Pubn)을 추출할 수 있다. n은 예를 들어 약 20개 내외일 수 있다. 응답자(200)는 무작위 트랜잭션(tx1, ??, txn)에 자신의 트랜잭션(tx)을 추가하고, 이들의 트랜잭션을 셔플(shuffle)하여 벤더(300)에 제공한다. The responder 200 may read random transactions (tx 1 , ??, tx n ) recorded in the blockchain 500 and extract public keys (Pub 1 , ??, Pub n ) of other respondents. n may be about 20 or less, for example. The responder 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 reward request provided to the vendor 300 includes the wallet address (dst) to provide the reward, the shuffled transaction set (tx 0 , tx 1 , ??, tx n ), the wallet address and transaction set to provide the reward, and the responder's It may include a group signature using a private key (sign=GS(Priv V , Pub V , Pub1, ??, Pubn)(hash(dst||tx0, ??, txn)))).

벤더(300)는 청구에 포함된 트랜잭션 집합(tx0, tx1, ??, txn)을 각각 검증하고, 트랜잭션들이 동일한 설문조사에 포함된 것인지를 확인하는 한편, 청구에 포함된 공개 키(Pub0, ??, Pubn)를 추출하여 그룹 서명을 검증한다(GV(hash(dst, txs), sign, {Pub0, ??, Pubn}).The vendor 300 verifies the set of transactions (tx 0 , tx 1 , ??, tx n ) included in the claim, respectively, and checks whether the transactions are included in the same survey, while the public key ( Extract Pub 0 , ??, Pub n ) to 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 has participated in the survey through a transaction and provide a reward without knowing the actual answer of the respondent 200 at all.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 장치에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 하드디스크, ROM, RAM, CD-ROM, 하드 디스크, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.The present invention can also be implemented as computer readable codes on a computer readable recording medium. A computer-readable recording medium includes all types of recording devices in which data that can be read by a computer device is stored. Examples of computer-readable recording media include hard disks, ROMs, RAMs, CD-ROMs, hard disks, magnetic tapes, floppy disks, and optical data storage devices. It also includes what is implemented in the form of.

이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art to which the present invention pertains can be implemented in other specific forms without changing the technical spirit or essential features of the present invention. you will be able to understand Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting.

100: 발행자 200: 응답자
300: 벤더 400: 설문조사 애플리케이션
100: Issuer 200: Responder
300: vendor 400: survey application

Claims (10)

설문조사를 생성하여 블록체인에 기록하는 단계;
상기 설문조사에 참여하는 응답자로부터 응답자의 식별을 위한 데이터를 제공받고, 발행자의 개인 키로 서명된 설문조사 토큰을 생성하여 상기 응답자에게 제공하는 단계;
상기 응답자의 개인 키로 서명된 설문조사 토큰을 설문조사 결과와 함께 상기 블록체인에 트랜잭션으로 제공하는 단계; 및
상기 트랜잭션 중 유효한 것을 검증하여 상기 블록체인에 기록하고 상기 설문조사 결과를 집계하는 단계를 포함하는,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
Creating a survey and recording it on the blockchain;
receiving data for identification of the respondent from a respondent participating in the survey, generating a survey token signed with an issuer's private key, and providing it to the respondent;
providing a survey token signed with the respondent's private key along with survey results to the blockchain as a transaction; and
Including verifying that the transaction is valid, recording it in the blockchain, and aggregating the survey results,
Survey method using survey token and blockchain.
제 1 항에 있어서,
상기 설문조사는 공개 설문조사를 포함하고,
상기 설문조사 토큰을 생성하여 상기 응답자에게 제공하는 단계는,
응답자의 공개 키의 해시를 상기 발행자의 개인 키로 서명한 결과를 이용하여 설문조사 토큰을 생성하는 것을 포함하는,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
According to claim 1,
The survey includes an open survey,
Generating the survey token and providing it to the respondent,
Generating a survey token using a result of signing the hash of the respondent's public key with the issuer's private key,
Survey method using survey token and blockchain.
제 2항에 있어서,
상기 응답자의 개인 키로 서명된 설문조사 토큰을 설문조사 결과와 함께 상기 블록체인에 트랜잭션으로 제공하는 단계는,
상기 설문조사 토큰을 포함하는 트랜잭션 데이터를 응답자의 개인 키로 서명하여 생성한 트랜잭션을 상기 블록체인에 제공하는 것을 포함하는,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
According to claim 2,
The step of providing the survey token signed with the respondent's private key together with the survey results to the blockchain as a transaction,
Including providing a transaction generated by signing the transaction data including the survey token with the respondent's private key to the blockchain,
Survey method using survey token and blockchain.
제 1항에 있어서,
상기 설문조사는 익명 설문조사를 포함하고,
상기 설문조사에 참여하는 응답자로부터 응답자의 식별을 위한 데이터를 제공받고, 발행자의 개인 키로 서명된 설문조사 토큰을 생성하여 상기 응답자에게 제공하는 단계는,
논스(nonce)로 블라인드(blind)된 응답자의 공개 키의 해시를 상기 응답자의 식별을 위한 데이터와 함께 제공받고,
상기 블라인드된 해시를 상기 발행자의 개인 키로 서명하여 생성한 설문조사 토큰을 상기 응답자에게 제공하는 것을 포함하는,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
According to claim 1,
The survey includes an anonymous survey,
The step of receiving data for identification of a respondent from a respondent participating in the survey, generating a survey token signed with an issuer's private key, and providing the survey token to the respondent,
Receiving a hash of a public key of a responder blinded with a nonce together with data for identification of the responder,
And providing the respondent with a survey token generated by signing the blinded hash with the issuer's private key.
Survey method using survey token and blockchain.
제 4항에 있어서,
상기 설문조사 토큰을 상기 응답자에 제공하는 단계 이후에,
상기 응답자가 상기 설문조사 토큰을 상기 논스로 언블라인드(unblind)하는 단계를 더 포함하는,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
According to claim 4,
After providing the survey token to the respondent,
Further comprising the responder unblinding the survey token with the nonce.
Survey method using survey token and blockchain.
제 1항에 있어서,
상기 응답자의 식별을 위한 데이터는 상기 응답자의 메타데이터(metadata)를 포함하고,
상기 설문조사 토큰은 상기 메타데이터에 관한 정보를 포함하는 퍼즐드(puzzled) 설문조사 토큰인,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
According to claim 1,
The data for identification of the respondent includes metadata of the respondent,
The survey token is a puzzled survey token containing information about the metadata,
Survey method using survey token and blockchain.
제 6항에 있어서,
상기 설문조사는 공개 설문조사를 포함하고,
상기 퍼즐드 설문조사 토큰은 상기 메타데이터가 저장된 내부 데이터베이스 주소를 암호화한 결과를 포함하는,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
According to claim 6,
The survey includes an open survey,
The puzzled survey token includes a result of encrypting an internal database address in which the metadata is stored.
Survey method using survey token and blockchain.
제 6항에 있어서,
상기 설문조사는 익명 설문조사를 포함하고,
상기 설문조사에 참여하는 응답자로부터 응답자의 식별을 위한 데이터를 제공받고, 발행자의 개인 키로 서명된 설문조사 토큰을 생성하여 상기 응답자에게 제공하는 단계는,
응답자로부터 논스(nonce)로 블라인드(blind)된 응답자의 공개 키의 해시와 상기 응답자의 메타데이터를 포함한 패키지를 제공받고, 상기 블라인드된 해시와 메타데이터를 상기 발행자의 개인 키로 서명하여 생성한 설문조사 토큰을 상기 응답자에게 제공하는 것을 포함하는,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
According to claim 6,
The survey includes an anonymous survey,
The step of receiving data for identification of a respondent from a respondent participating in the survey, generating a survey token signed with an issuer's private key, and providing the survey token to the respondent,
A survey generated by receiving a package including a hash of the respondent's public key blinded with a nonce and metadata of the respondent from the respondent, and signing the blinded hash and metadata with the private key of the issuer. Including providing a token to the responder,
Survey method using survey token and blockchain.
제 1항에 있어서,
상기 트랜잭션 중 유효한 것을 검증하여 상기 블록체인에 기록하고 상기 설문조사 결과를 집계하는 단계는,
상기 트랜잭션에 포함된 상기 응답자의 개인 키로 서명된 설문조사 토큰을 상기 발행자의 공개 키로 검증하는 것을 포함하는,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
According to claim 1,
The step of verifying that the transaction is valid, recording it in the blockchain, and aggregating the survey results,
verifying, with the issuer's public key, a survey token signed with the respondent's private key included in the transaction;
Survey method using survey token and blockchain.
제 1항에 있어서,
상기 서명된 설문조사 토큰을 블록체인에 트랜잭션으로 제공한 결과를 상기 설문조사의 결과로 벤더에게 제공하는 단계; 및
상기 섦문조사 참여 증거를 검증하고, 검증이 완료된 응답자에 대해 보상을 제공하는 단계를 더 포함하는,
설문조사 토큰 및 블록체인을 이용한 설문조사 방법.
According to claim 1,
providing a result of providing the signed survey token as a transaction to a blockchain to a vendor as a result of the survey; and
Further comprising the step of verifying the evidence of participation in the questionnaire survey and providing a reward to a respondent whose verification has been completed.
Survey method using survey token and blockchain.
KR1020210137492A 2021-10-15 2021-10-15 Survey methods and system on blockchain that perform personal information collection of respondents using survey token KR20230053990A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210137492A KR20230053990A (en) 2021-10-15 2021-10-15 Survey methods and system on blockchain that perform personal information collection of respondents using survey token

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210137492A KR20230053990A (en) 2021-10-15 2021-10-15 Survey methods and system on blockchain that perform personal information collection of respondents using survey token

Publications (1)

Publication Number Publication Date
KR20230053990A true KR20230053990A (en) 2023-04-24

Family

ID=86142005

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210137492A KR20230053990A (en) 2021-10-15 2021-10-15 Survey methods and system on blockchain that perform personal information collection of respondents using survey token

Country Status (1)

Country Link
KR (1) KR20230053990A (en)

Similar Documents

Publication Publication Date Title
US11232478B2 (en) Methods and system for collecting statistics against distributed private data
US11496312B2 (en) Collecting surveys with secure identities via a blockchain
US20230216669A1 (en) Systems and methods for communication, storage and processing of data provided by an entity over a blockchain network
RU2652443C1 (en) Voters votes quantity collected by electronic voting determining system and method
US11777706B2 (en) Systems and methods for communication, storage and processing of data provided by an entity over a blockchain net work
US20220141020A1 (en) Blockchain e-voting system and operating method thereof
Bernhard et al. Security proofs for participation privacy, receipt-freeness and ballot privacy for the helios voting scheme
CN115147975B (en) Encryption network voting method based on block chain
EP3474241A1 (en) Electronic balloting
KR20230053990A (en) Survey methods and system on blockchain that perform personal information collection of respondents using survey token
Buyukbaskin et al. Requirement analysis of some blockchain-based e-voting schemes
KR20230159087A (en) Method for using token on blockchain where recombined information is stored and system performing the same
KR102208763B1 (en) Electronic voting system using election names
KR102179421B1 (en) Electronic voting method using election names
Emami et al. A scalable decentralized privacy-preserving e-voting system based on zero-knowledge off-chain computations
KR102430835B1 (en) Bolckchain e-voting system and manipulation method
TW202402009A (en) Proof of ownership
Metaxopoulos et al. A Distributed Bulletin Board Implementation for Practical Use in eVoting Systems
WO2024002756A1 (en) Proof of ownership
TW202416296A (en) Proof of ownership
Gauns Dessai Study of Public Examination System and Proposed E-examination to Control Malpractices and Evaluation Anomalies
Grewal Voting on the internet
Taheri Boshrooyeh A framework of privacy preserving services for distributed online social networks
WO2015176015A1 (en) Large-scale anonymous survey system and methods

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application