KR102062281B1 - Method and system for verifying expression of one's intention based block chain - Google Patents

Method and system for verifying expression of one's intention based block chain Download PDF

Info

Publication number
KR102062281B1
KR102062281B1 KR1020180043873A KR20180043873A KR102062281B1 KR 102062281 B1 KR102062281 B1 KR 102062281B1 KR 1020180043873 A KR1020180043873 A KR 1020180043873A KR 20180043873 A KR20180043873 A KR 20180043873A KR 102062281 B1 KR102062281 B1 KR 102062281B1
Authority
KR
South Korea
Prior art keywords
pseudo
indication
key
result data
participation
Prior art date
Application number
KR1020180043873A
Other languages
Korean (ko)
Other versions
KR20190120549A (en
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 KR1020180043873A priority Critical patent/KR102062281B1/en
Publication of KR20190120549A publication Critical patent/KR20190120549A/en
Application granted granted Critical
Publication of KR102062281B1 publication Critical patent/KR102062281B1/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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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
    • G06Q2230/00Voting or election arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 블록 체인 기반의 네트워크 상에 포함된 복수의 노드 내 적어도 하나 이상의 프로세서에 의해 실행되는 의사 표시 수집용 어플리케이션이 블록 체인 내에 포함되어 수행되는 블록 체인 기반의 의사 표시 검증 시스템 및 방법에 관한 것으로서, 상기 복수의 노드 중 적어도 하나 이상은 관리 노드이며, 상기 관리 노드는 공개키 및 개인키를 관리하며, 참여자 각각에 대한 신원 확인 절차를 통해 서로 다른 참여키를 생성함과 더불어 상기 의사 표시 수집용 어플리케이션과 상기 생성한 참여키 및 공개키를 제공하며, 상기 의사 표시 수집용 어플리케이션은 참여자로부터 의사 표시가 이루어짐에 따라 의사 표시 결과 데이터를 생성한 후 이를 상기 공개키로 암호화하여 기록매체에 저장함과 더불어 참여키 및 암호화된 의사 표시 결과 데이터를 블록 체인 기반의 네트워크 상의 이웃하는 노드에 전송하며, 상기 블록 체인 기반의 네트워크 상의 이웃하는 노드로부터 참여키 및 암호화된 의사 표시 결과 데이터가 수신됨에 따라 상기 수신한 참여키와 암호화된 의사 표시 결과 데이터를 기록매체에 저장하되, 상기 수신한 참여키와 기록매체에 저장된 참여키간의 비교를 통해 중복 체크를 수행한 후 중복 체크 결과에 의거하여 상기 암호화된 의사 표시 결과 데이터 및 참여키를 저장함과 더불어 상기 수신한 암호화된 의사 표시 결과 데이터 및 참여키를 이웃하는 다른 노드에 전송할 수 있다.The present invention relates to a blockchain-based pseudomarking verification system and method in which a pseudomarking collection application executed by at least one or more processors in a plurality of nodes included on a blockchain-based network is included in a blockchain and performed. At least one of the plurality of nodes is a management node, and the management node manages a public key and a private key, and generates different participation keys through an identification process for each participant, and collects the intention indication. An application and the generated participation key and public key, wherein the application for collecting the pseudo-marking generates a pseudo-marking result data according to the pseudo-marking from the participant, encrypts it with the public key, stores it in the recording medium, and participates. Key and encrypted pseudo-indication result data And transmits the received participation key and the encrypted pseudo-indication result data as the participation key and the encrypted pseudo-indication result data are received from the neighboring node on the block chain-based network. Store the data on the recording medium, perform a duplicate check by comparing the received participation key with the participation key stored in the recording medium, and store the encrypted pseudo-indication result data and the participation key based on the duplicate check result. The encrypted pseudo-indication result data and the participation key can be transmitted to other neighboring nodes.

Description

블록 체인 기반의 의사 표시 검증 시스템 및 방법{METHOD AND SYSTEM FOR VERIFYING EXPRESSION OF ONE'S INTENTION BASED BLOCK CHAIN}METHOOD AND SYSTEM FOR VERIFYING EXPRESSION OF ONE'S INTENTION BASED BLOCK CHAIN}

본 발명은 블록 체인 기반의 의사 표시 검증 시스템 및 방법에 관한 것이다.The present invention relates to a blockchain based pseudo indication verification system and method.

온라인상으로 사용자가 의사 표시를 하고 수신자가 이를 확인하는 경우(전자 투표)가 빈번하게 발생한다. 전자 투표가 대표적인 예인데, 전자 투표 이외에도 온라인 거래나 계약에 관련된 의사 표시, 온라인 토론 등에서의 의사 표시, 온라인 콘텐츠에 대한 댓글 등이 있을 수 있다.Frequently it occurs when a user makes a statement online and the recipient confirms it (electronic voting). Electronic voting is a typical example. In addition to electronic voting, there may be comments on online transactions or contracts, comments on online discussions, and comments on online content.

온라인 의사 표시 중 예를 들어 전자 투표는 투표장에 가지 않고 전자적 연산 및 데이터 처리가 가능한 전자 단말기를 통해서 하는 투표로서 저비용, 편의성, 확장성이라는 장점이 있음에도 불구하고 해킹, 내부자 조작 위험, 원격 상황에서 일어날 수 있는 강압적 의사표시 등의 문제로 과정과 결과에 대한 무결성(integrity)을 보장하기 어려워 광범위하게 도입되지 못하고 있는 실정이다.Online voting, for example, electronic voting is done through electronic terminals capable of electronic operations and data processing without going to the polling place, and despite the advantages of low cost, convenience, and scalability, it can happen in hacking, insider manipulation risks, and remote situations. It is difficult to guarantee the integrity of the process and the results due to possible coercion, and thus it is not widely adopted.

이 관점에서 분산원장 기술인 블록체인을 전자투표와 같은 온라인 의사표시 확인에 적용하면 조작 또는 해킹의 위협을 배제할 수 있다. 그러나 블록체인은 공개키와 이를 사용할 수 있는 개인키만 있으면 어디에서든 사용할 수 있고, 이외에 일체의 개인정보가 불필요하기 때문에 1인이 수많은 ID를 생성해서 마치 여러 사람의 의사 표시인 것으로 호도하는 시빌 공격(Sybil Attack)에 취약하게 되어 참여자 간 의사 표현의 평등성이 침해되는 문제가 있다.From this point of view, applying blockchain, a distributed ledger technology, to online decision making such as electronic voting, can eliminate the threat of manipulation or hacking. However, a blockchain can be used anywhere with a public key and a private key that can use it.In addition, since no personal information is needed, a civil attack in which one creates a lot of IDs and misleads them as if they are intentional indications of several people. (Sybil Attack) is vulnerable to the violation of equality of expression among participants.

시빌 공격을 막기 위해서는 참여자의 고유성을 보장할 수 있어야 하고, 결국 민감한 개인정보가 수집되고 저장되어야 한다. 이는 사용자의 프라이버시와 익명성을 훼손하고, 되려 자유로운 의사 표시가 제한될 수 있다. To prevent civil attacks, the uniqueness of the participants must be ensured, and sensitive personal information must be collected and stored. This may undermine the privacy and anonymity of the user and may limit the free will of expression.

대한민국 등록특허 제10-0912794호(2009.08.18. 등록)Republic of Korea Patent No. 10-0912794 (registered August 18, 2009)

본 발명은 익명성과 시빌 공격을 원천적으로 차단할 수 있는 블록 체인 기반의 의사 표시 검증 시스템 및 방법을 제공한다.The present invention provides a blockchain-based pseudo-marking verification system and method that can block anonymity and civil attack.

또한, 본 발명은 어느 하나의 참여자가 복수의 단말기를 이용하여 의사 표시를 수행할 수 있는 것을 원천적으로 차단할 수 있는 블록 체인 기반의 의사 표시 검증 시스템 및 방법을 제공한다.In addition, the present invention provides a blockchain-based pseudo-marking verification system and method that can block at least one participant can perform the pseudo-marking using a plurality of terminals.

상술한 해결하고자 하는 과제를 해결하기 위해서 본 발명의 일 실시예에 따른 블록 체인 기반의 의사 표시 검증 시스템은 블록 체인 기반의 네트워크 상에 포함된 복수의 노드 내 적어도 하나 이상의 프로세서에 의해 실행되는 의사 표시 수집용 어플리케이션이 블록 체인 내에 포함되어 수행되며, 상기 복수의 노드 중 적어도 하나 이상은 관리 노드이며, 상기 관리 노드는 공개키 및 개인키를 관리하며, 참여자 각각에 대한 신원 확인 절차를 통해 서로 다른 참여키를 생성함과 더불어 상기 의사 표시 수집용 어플리케이션과 상기 생성한 참여키 및 공개키를 제공하며, 상기 의사 표시 수집용 어플리케이션은 참여자로부터 의사 표시가 이루어짐에 따라 의사 표시 결과 데이터를 생성한 후 이를 상기 공개키로 암호화하여 기록매체에 저장함과 더불어 참여키 및 암호화된 의사 표시 결과 데이터를 블록 체인 기반의 네트워크 상의 이웃하는 노드에 전송하며, 상기 블록 체인 기반의 네트워크 상의 이웃하는 노드로부터 참여키 및 암호화된 의사 표시 결과 데이터가 수신됨에 따라 상기 수신한 참여키와 암호화된 의사 표시 결과 데이터를 기록매체에 저장하되, 상기 수신한 참여키와 기록매체에 저장된 참여키간의 비교를 통해 중복 체크를 수행한 후 중복 체크 결과에 의거하여 상기 암호화된 의사 표시 결과 데이터 및 참여키를 저장함과 더불어 상기 수신한 암호화된 의사 표시 결과 데이터 및 참여키를 이웃하는 다른 노드에 전송하며, 상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터가 기 설정된 개수 이상일 경우 암호화된 의사 표시 결과 데이터를 이용하여 블록을 생성한 후 이를 이웃하는 노드에 전송할 수 있다.In order to solve the above-mentioned problem, the blockchain-based pseudo indication verification system according to an embodiment of the present invention is a pseudo indication executed by at least one or more processors in a plurality of nodes included on the blockchain-based network. A collection application is included in the blockchain and is performed. At least one of the plurality of nodes is a management node, and the management node manages a public key and a private key, and participates differently through an identification procedure for each participant. In addition to generating a key, the pseudo indication collection application and the generated participation key and public key are provided, and the pseudo indication collection application generates the pseudo indication result data according to the indication of the intention from the participant, In addition to encrypting with a public key and storing it on a record carrier Transmit the key and the encrypted pseudo-indication result data to a neighboring node on the blockchain-based network, and receiving the participation key and the encrypted pseudo-indication result data from the neighboring node on the blockchain-based network. Store the key and the encrypted pseudo-indication result data on a recording medium, perform a duplicate check by comparing the received participation key with the participation key stored in the recording medium, and then encrypt the pseudo-indication result data based on the duplicate check result. And storing the participation key, and transmitting the received encrypted pseudo indication result data and the participation key to another neighboring node, and if the encrypted pseudo indication result data stored in the recording medium is more than a preset number. Create a block using the data and then neighbor It can be transferred to the node.

상술한 해결하고자 하는 과제를 해결하기 위해서 본 발명의 다른 실시예에 따른 블록 체인 기반의 의사 표시 검증 시스템은 블록 체인 기반의 네트워크 상에 포함된 복수의 노드 내 적어도 하나 이상의 프로세서에 의해 실행되는 의사 표시 수집용 어플리케이션이 블록 체인 내에 포함되어 수행되며, 상기 복수의 노드 중 적어도 하나 이상은 관리 노드이며, 상기 관리 노드는 공개키 및 개인키를 관리하며, 참여자 각각에 대한 신원 확인 절차를 통해 서로 다른 참여키를 생성함과 더불어 전송 횟수 플래그가 설정된 상기 의사 표시 수집용 어플리케이션과 상기 생성한 참여키 및 공개키를 제공하며, 상기 의사 표시 수집용 어플리케이션은 참여자로부터 의사 표시가 이루어짐에 따라 의사 표시 결과 데이터를 생성한 후 이를 상기 공개키로 암호화하여 기록매체에 저장함과 더불어 블록 체인 기반의 네트워크 상의 이웃하는 노드에 전송하되, 상기 전송 횟수 플래그에 해당되는 횟수만큼 상기 의사 표시 결과 데이터를 생성하여 전송하며, 상기 블록 체인 기반의 네트워크 상의 이웃하는 노드로부터 암호화된 의사 표시 결과 데이터가 수신됨에 따라 상기 수신한 암호화된 의사 표시 결과 데이터를 상기 기록매체에 저장함과 더불어 이웃한 다른 노드에 전송하며, 상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터가 기 설정된 개수 이상일 경우 암호화된 의사 표시 결과 데이터를 이용하여 블록을 생성한 후 이를 이웃하는 노드에 전송할 수 있다.In order to solve the above-mentioned problem, the blockchain-based pseudo indication verification system according to another embodiment of the present invention is a pseudo indication executed by at least one or more processors in a plurality of nodes included on the blockchain-based network. A collection application is included in the blockchain and is performed. At least one of the plurality of nodes is a management node, and the management node manages a public key and a private key, and participates differently through an identification procedure for each participant. In addition to generating a key and providing the pseudo-indication collection application and the generated participation key and the public key, the number of transmission flag is set, the pseudo-indication collection application is to display the pseudo-indication result data as the intention display from the participants After creating it, encrypt it with the public key. In addition to storing in the lock medium and transmitting to neighboring nodes on the blockchain-based network, the pseudo-indication result data is generated and transmitted as many times as the number of transmission flags, and from the neighboring node on the blockchain-based network. When the encrypted pseudo-marking result data is received, the received encrypted pseudo-marking result data is stored on the recording medium and transmitted to another neighboring node, and the number of encrypted pseudo-marking result data stored on the recording medium is preset. In case of abnormality, the block may be generated using the encrypted pseudo indication result data and then transmitted to the neighboring node.

본 발명의 실시예에 따르면, 상기 관리 노드는 임의의 노드로부터 상기 참여키 및 공개키를 수신함에 따라 상기 임의의 노드에 의사 표시 수집용 어플리케이션을 제공한 후 상기 의사 표시 수집용 어플리케이션이 배포된 참여키에 배포 완료 지시자를 매칭시켜 기록매체에 저장하며, 상기 기록매체에 저장된 배포 완료 지시자가 매칭된 참여키를 이용한 의사 표시 수집용 어플리케이션의 요청이 있을 경우 이를 제한시키는 어플리케이션 배포 및 제한 모듈을 포함할 수 있다.According to an embodiment of the present invention, the management node receives the participation key and the public key from any node and provides the pseudo indication collection application to the arbitrary node, and then the participation of the pseudo indication collection application is distributed. And a module for distributing and limiting a distribution completion indicator to a key and storing the same in a recording medium, and limiting a request for collecting a pseudo-indication application using a matching participation key stored in the distribution completion indicator stored in the recording medium. Can be.

본 발명의 실시예에 따르면, 상기 관리 노드는 의사 표시 종료 시점에 도달하면, 상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터를 상기 개인키를 이용하여 복호화하여 의사 표시에 대한 결과 데이터를 생성한 후 이를 노드들에게 제공하는 결과 생성 모듈을 포함할 수 있다.According to an embodiment of the present invention, when the management node reaches the end point of the pseudo display, the management node decrypts the encrypted pseudo display result data stored in the recording medium by using the private key to generate the result data for the pseudo display. It may include a result generation module for providing this to the nodes.

본 발명의 실시예에 따르면, 상기 관리 노드는 상기 관리 노드를 제외한 임의의 노드로부터 상기 결과 데이터에 대한 검증 요청이 있을 경우 상기 개인키를 상기 임의의 노드에 제공하며, 상기 임의의 노드 내 의사 표시 수집용 어플리케이션은 상기 수신한 개인키를 이용하여 자신의 기록매체에 저장된 의사 표시 결과 데이터를 복호화한 후 상기 복호화한 결과와 상기 관리 노드로부터 제공받은 결과 데이터간의 비교를 통해 일치 여부에 대한 정보를 제공할 수 있다.According to an embodiment of the present invention, when there is a request for verification of the result data from any node except for the management node, the management node provides the private key to the node and indicates the intention in the node. The collecting application decodes the pseudo display result data stored in its recording medium by using the received private key, and provides information on whether there is a match through comparison between the decrypted result and the result data provided from the management node. can do.

상술한 해결하고자 하는 과제를 해결하기 위해서 본 발명의 실시예에 따른 블록 체인 기반의 의사 표시 검증 방법은 블록 체인 기반의 네트워크 상에 포함된 복수의 노드 내 적어도 하나 이상의 프로세서에 의해 실행되는 의사 표시 수집용 어플리케이션이 블록 체인 내에 포함되어 수행되는 시스템을 이용한 의사 표시 방법에 있어서, 상기 복수의 노드 중 적어도 하나 이상은 관리 노드에서 참여자 각각에 대한 신원 확인 절차를 통해 서로 다른 참여키를 생성함과 더불어 상기 의사 표시 수집용 어플리케이션과 상기 생성한 참여키 및 공개키를 제공하는 단계와, 상기 의사 표시 수집용 어플리케이션을 통해 참여자로부터 의사 표시가 이루어짐에 따라 의사 표시 결과 데이터를 생성한 후 이를 상기 공개키로 암호화하여 기록매체에 저장함과 더불어 참여키 및 암호화된 의사 표시 결과 데이터를 블록 체인 기반의 네트워크 상의 이웃하는 노드에 전송하는 단계와, 상기 블록 체인 기반의 네트워크 상의 이웃하는 노드로부터 참여키 및 암호화된 의사 표시 결과 데이터가 수신되면, 상기 수신한 참여키와 암호화된 의사 표시 결과 데이터를 기록매체에 저장하되, 상기 수신한 참여키와 기록매체에 저장된 참여키간의 비교를 통해 중복 체크를 수행하여 상기 수신한 암호화된 의사 표시 결과 데이터의 유효성을 체크하는 단계와, 상기 유효성을 체크한 결과, 상기 기록매체에 저장된 참여키를 포함한 상기 암호화된 의사 표시 결과 데이터가 수신되는 경우 이를 폐기 처리하는 단계와, 상기 유효성을 체크한 결과, 상기 기록매체에 저장된 참여키와 일치하지 않는 참여키가 수신되는 경우 상기 수신한 암호화된 의사 표시 결과 데이터와 참여키를 기록매체에 저장한 후 상기 수신한 암호화된 의사 표시 결과 데이터와 참여키를 이웃하는 노드에 전송하는 단계와, 상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터가 기 설정된 개수 이상일 경우 암호화된 의사 표시 결과 데이터를 이용하여 블록을 생성한 후 이를 이웃하는 노드에 전송하는 단계를 포함할 수 있다.In order to solve the above-mentioned problem, the blockchain-based pseudo indication verification method according to an embodiment of the present invention collects pseudo indications executed by at least one or more processors in a plurality of nodes included on the blockchain-based network. In the pseudo-indication method using a system that the application for application is included in the blockchain, at least one or more of the plurality of nodes generates a different participation key through the identification process for each participant in the management node Providing a pseudo indication collection application and the generated participation key and public key, generating pseudo indication result data according to a pseudo indication from a participant through the pseudo indication collection application, and encrypting the result with the public key In addition to storing on record carrier Transmitting the margin key and encrypted pseudo indication result data to a neighboring node on a blockchain-based network, and receiving the participation key and encrypted pseudo indication result data from a neighboring node on the blockchain-based network. Store the participation key and the encrypted pseudo-indication result data in the recording medium, and perform a duplicate check by comparing the received participation key and the participation key stored in the recording medium to validate the received pseudo-indication result data. And checking the validity, if the encrypted pseudo-indication result data including the participation key stored in the recording medium is received, discarding the received data; and checking the validity, The received encryption when a participation key that does not match a stored participation key is received Storing the received pseudo indication result data and the participation key in a recording medium, and transmitting the received encrypted pseudo indication result data and the participation key to a neighboring node; If the number is greater than or equal to a predetermined number, the method may include generating a block by using the encrypted pseudo indication result data and transmitting the block to a neighboring node.

본 발명의 실시예에 따르면, 상기 의사 표시 검증 방법은 임의의 노드로부터 상기 참여키 및 공개키를 수신한 후 이에 대한 응답으로 상기 임의의 노드에 의사 표시 수집용 어플리케이션을 제공한 후 상기 의사 표시 수집용 어플리케이션이 배포된 참여키에 배포 완료 지시자를 매칭시켜 기록매체에 저장하는 단계와, 상기 기록매체에 저장된 배포 완료 지시자가 매칭된 참여키를 이용한 의사 표시 수집용 어플리케이션의 요청이 있을 경우 이를 제한시키는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the pseudo indication verification method receives the participation key and public key from any node and provides the pseudo indication collection application to the arbitrary node in response thereto, and then collects the pseudo indication collection. Matching the distribution completion indicator to the distribution key and the distribution completion indicator stored in the recording medium; and limiting the request of the application for collecting the pseudo-indication using the participation key matched with the distribution completion indicator stored in the recording medium. It may further comprise a step.

본 발명의 실시예에 따르면, 상기 의사 표시 검증 방법은 의사 표시 종료 시점에 도달하면, 상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터를 상기 개인키를 이용하여 복호화하여 의사 표시에 대한 결과 데이터를 생성한 후 이를 노드들에게 제공하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, when the pseudo-display verification method reaches the end point of the pseudo-display, the encrypted pseudo-display result data stored in the recording medium is decrypted by using the private key to generate the result data for the pseudo-display. And then providing them to the nodes.

본 발명의 실시예에 따르면, 상기 의사 표시 검증 방법은 상기 관리 노드를 제외한 임의의 노드로부터 상기 결과 데이터에 대한 검증 요청이 있을 경우 상기 개인키를 상기 임의의 노드에 제공하는 단계와, 상기 임의의 노드 내 의사 표시 수집용 어플리케이션에서 상기 수신한 개인키를 이용하여 자신의 기록매체에 저장된 의사 표시 결과 데이터를 복호화한 후 상기 복호화한 결과와 상기 관리 노드로부터 제공받은 결과 데이터간의 비교를 통해 일치 여부에 대한 정보를 제공하는 단계를 포함할 수 있다.According to an embodiment of the present invention, the pseudo-indication verification method includes providing the private key to the arbitrary node when there is a request for verification of the result data from any node except for the management node, and the arbitrary node. The application for collecting the pseudo indication within the node decrypts the pseudo indication result data stored in its own recording medium using the received private key, and compares the result of the decryption with the result data provided from the management node. It may include providing information about.

전술한 본 발명의 과제 해결 수단에 따르면, 블록 체인 기반으로 동작하는 어플리케이션을 통해 의사 표시에 따른 데이터를 암호화하여 관리함으로써, 익명성과 시빌 공격을 원천적으로 차단할 수 있다.According to the above-described problem solving means of the present invention, by encrypting and managing the data according to the intention indication through the application operating on the blockchain, it is possible to fundamentally block anonymity and civil attack.

또한, 전술한 본 발명의 과제 해결 수단에 따르면, 참여자에게 중복으로 어플리케이션이 배포되는 것을 차단할 뿐만 아니라 참여자 각각에 부여된 참여키를 이용하여 어느 하나의 참여자에 의해 복수의 의사 표시가 수행되는 것을 차단할 수 있다.In addition, according to the above-described problem solution means of the present invention, not only to block the application is distributed to the participants in duplicate, but also to block the plurality of intentions performed by any one of the participants using the participation key assigned to each participant. Can be.

또한, 전술한 본 발명의 과제 해결 수단에 따르면, 참여자의 요청에 따라 참여자 자신의 노드에 저장된 데이터와 관리 노드에 의해 제공되는 결과 데이터간의 비교 및 검증할 수 있는 시스템 및 방법을 제공함으로써, 사용자에게 결과 데이터를 신뢰성을 높일 수 있다.In addition, according to the above-described problem solving means of the present invention, by providing a system and method that can compare and verify the data stored in the participant's own node and the result data provided by the management node in response to the participant's request, The resulting data can be more reliable.

도 1은 본 발명의 실시예에 따른 블록 체인 기반의 의사 표시 검증 시스템의 전반적인 구성을 도시한 블록도이다.
도 2는 본 발명의 실시예에 따른 의사 표시 검증 시스템에서 관리 노드의 구체적인 기능을 도시한 블록도이다.
도 3은 본 발명의 실시예에 따라 블록 체인 기반으로 의사 표시 검증 시스템의 참여자 노드에서 의사 표시를 위한 동작을 수행하는 과정을 도시한 흐름도이다.
도 4는 본 발명의 실시예에 따른 블록 체인 기반의 의사 표시 검증 시스템에서 특정 참여자 노드에 의해 무분별하게 의사 표시가 이루어지는 것을 방지하는 과정을 도시한 흐름도이다.
도 5는 본 발명의 실시예에 따른 블록 체인 기반의 의사 표시 검증 시스템에서 의사 표시 결과 데이터를 검증하는 과정을 도시한 흐름도이다.
1 is a block diagram showing the overall configuration of a blockchain-based pseudo indication verification system according to an embodiment of the present invention.
2 is a block diagram illustrating a specific function of a management node in a pseudo indication verification system according to an embodiment of the present invention.
3 is a flowchart illustrating a process of performing an operation for pseudo indication at a participant node of a pseudo indication verification system based on a blockchain according to an embodiment of the present invention.
4 is a flowchart illustrating a process of preventing indiscriminately making a pseudo indication by a specific participant node in a blockchain-based pseudo indication verification system according to an embodiment of the present invention.
5 is a flowchart illustrating a process of verifying pseudo display result data in a block chain based pseudo display verification system according to an embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to assist in a comprehensive understanding of the methods, devices, and / or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시 예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. In describing the embodiments of the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification. The terminology used in the description is for the purpose of describing embodiments of the invention only and should not be limiting.

이하 첨부된 도면을 참조하여 블록 체인 기반의 의사 표시 검증 시스템 및 방법에 대해 설명하기로 한다.Hereinafter, a description will be given of a blockchain-based pseudo indication verification system and method with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 블록 체인 기반의 의사 표시 검증 시스템의 전반적인 구성을 도시한 블록도이다.1 is a block diagram showing the overall configuration of a blockchain-based pseudo indication verification system according to an embodiment of the present invention.

도 1의 설명에 앞서, 의사 표시라 함은 사용자가 소정의 주제나 이슈에 대한 본인의 의사를 표시하는 것으로서, 예를 들어, 전자 투표, 토론, 온라인 상의 댓글 등 사용자가 의사를 표시할 수 있는 분야라면 모두 포함할 수 있다.Prior to the description of FIG. 1, the intention display means that the user indicates his or her intention on a predetermined subject or issue. For example, the user can indicate the intention such as electronic voting, discussion, and online comments. Any field can be included.

도 1에 도시된 바와 같이, 의사 표시 검증 시스템은 블록 체인 기반의 네트워크로 연결된 적어도 하나 이상의 관리 노드(100) 및 복수의 참여자 노드(110)로 구성될 수 있다.As shown in FIG. 1, the pseudo indication verification system may be configured with at least one management node 100 and a plurality of participant nodes 110 connected by a blockchain based network.

또한, 참여자 노드(110) 및 관리 노드(100)는 블록 체인 상에서 실행되는 의사 표시 수집용 어플리케이션(120)을 포함할 수 있다.In addition, the participant node 110 and the management node 100 may include an application for collecting the pseudo indication 120 running on the blockchain.

본 발명의 실시예에서 의사 표시 수집용 어플리케이션(120)은 블록 체인 내에 포함되어 수행될 수 있다. 이에 따라, 본 발명은 블록 체인을 포함하는 환경에서 의사 표시를 위한 동작을 수행하기 때문에 위변조의 위험이 원천적으로 차단될 수 있다.In the embodiment of the present invention, the pseudo indication collection application 120 may be included in the blockchain and performed. Accordingly, since the present invention performs an operation for displaying a pseudo in an environment including a blockchain, the risk of forgery and alteration can be basically blocked.

또한, 본 발명의 실시예에 따른 참여자 노드(110) 및 관리 노드(100)는 통신 회로(130), 입출력 회로(132), 디스플레이(134), 의사 표시 수집용 어플리케이션(120)이 실행 가능한 형태로 저장된 기록매체(136), 의사 표시 수집용 어플리케이션(120)을 실행시킬 수 있는 적어도 하나 이상의 프로세서(138) 등을 기반으로 전자적 연산 및 데이터 처리 가능한 기기일 수 있다. 특히, 본 발명의 실시예에 따른 참여자 노드(110)는 스마트폰, PC, 테블릿 등과 같은 단말기를 예로 들 수 있으며, 관리 노드(100)는 익명성을 보장할 수 있도록 하기 위한 다양한 기능을 구비한 서버일 수 있다.In addition, the participant node 110 and the management node 100 according to an embodiment of the present invention is a form in which the communication circuit 130, the input / output circuit 132, the display 134, the pseudo display collection application 120 is executable. The electronic device may be an electronic operation and data processing device based on the stored recording medium 136 and at least one processor 138 capable of executing the pseudo indication collecting application 120. In particular, the participant node 110 according to an embodiment of the present invention may be a terminal such as a smartphone, PC, tablet, etc., the management node 100 has a variety of functions to ensure anonymity It can be one server.

본 발명의 실시예에 따른 참여자 노드(110)는 신원 확인 절차(예를 들어, KYC 프로세스)에 따라서 사용자별로 고유한 식별 정보(IDE)가 생성되어 있어야 한다. 예를 들어, 사용자의 신원을 확인할 수 있는 신분증이나 생체 인식 과정 등을 통해서, 특정 사용자에게만 유일하게 부여되고 중복되지 않는 식별 정보(IDE)이나 건물 등의 소유 정보 등을 미리 생성하여 참여자 노드(110)의 기록매체(136)에 저장하고 있거나 사용자가 입력할 수 있어야 한다. KYC와 같은 신원 확인 절차는 공지 기술이며 다양한 방식을 통해서 사용자 식별 정보(IDE)가 생성될 수 있기 때문에 본 명세서에서 신원 확인에 대한 자세한 설명은 생략한다.The participant node 110 according to an embodiment of the present invention should generate unique identification information (IDE) for each user according to an identification procedure (eg, a KYC process). For example, a participant node 110 may be generated by generating identification information (IDE) or proprietary information such as a building that is uniquely assigned to a specific user and not duplicated through an identification card or a biometric process for verifying the user's identity. Recording medium 136) or can be input by the user. An identity verification procedure such as KYC is a known technique and detailed description of identity verification is omitted herein because user identification information (IDE) may be generated through various methods.

본 발명의 실시예에 따른 의사 표시 확인 방법이 수행되는 환경의 블록 체인 네트워크 퍼블릭 블록 체인이거나 특정 조직, 예컨대 건축 조합이나 기관에서만 적용되는 프라이빗 블록 체인 또는 컨소시음 블록 체인이어도 무방하다.It may be a blockchain network public blockchain of an environment in which a method of confirming a pseudo-marking according to an embodiment of the present invention is performed, or a private blockchain or a consortium blockchain applied only to a specific organization, for example, a building association or an institution.

상술한 바와 같은 참여자 노드(110) 내 의사 표시 수집용 어플리케이션(120)은 관리 노드(100)로부터 사용자 인증 과정을 통해 전송받아 기록매체(136)에 실행 가능한 형태로 저장될 수 있으며, 참여자 노드(110) 내 적어도 하나 이상의 프로세서(138)에 의해 실행되어 의사 표시, 의사 표시 결과 데이터 배포, 수신 및 블록 생성 등의 기능을 수행할 수 있다. 이를 위하여, 본 발명의 실시예에 따른 참여자 노드(110)는 사용자 인증을 위한 식별 정보를 관리 노드(100)에 전송한 후 이에 대한 응답으로 관리 노드(100)로부터 공개키 및 참여키를 수신하며, 공개키 및 참여키의 입력을 통해 관리 노드(100)로부터 수신한 의사 표시 수집용 어플리케이션(120)을 기록매체(136)에 실행 가능한 형태로 저장할 수 있다. The application 120 for collecting the pseudo-indication in the participant node 110 as described above may be received through the user authentication process from the management node 100 and stored in an executable form on the recording medium 136. It may be executed by the at least one processor 138 in the 110, to perform functions such as pseudo display, distribution of pseudo display result data, reception, and block generation. To this end, the participant node 110 according to an embodiment of the present invention transmits identification information for user authentication to the management node 100 and receives a public key and a participation key from the management node 100 in response thereto. The application 120 for collecting the pseudo-indication received from the management node 100 through the input of the public key and the participation key may be stored in an executable form on the recording medium 136.

기록매체(136)에 저장된 의사 표시 수집용 어플리케이션(120)은 사용자의 의사 표시 요청에 따라 의사 표시를 위한 인터페이스, 예컨대 투표를 위한 인터페이스를 제공하며, 인터페이스를 통해 의사 표시에 대응되는 사용자 입력이 있을 경우 의사 표시 결과 데이터를 생성한 후 이를 공개키를 이용하여 암호화하여 기록매체(136)에 저장함과 더불어 이를 블록 체인 기반의 네트워크를 통해 이웃하는 노드, 예컨대 이웃하는 참여자 노드(110) 또는 관리 노드(100)에 전송하여 배포할 수 있다.The application 120 for collecting a doctor's indication stored in the recording medium 136 provides an interface for displaying a doctor, for example, an voting interface according to a user's request for a doctor's indication, and has a user input corresponding to the doctor's indication through the interface. In this case, after generating the pseudo-indication result data, the data is encrypted using the public key and stored in the recording medium 136, and the neighboring node, such as the neighboring participant node 110 or the management node (eg, through a blockchain-based network). 100) to distribute it.

또한, 의사 표시 수집용 어플리케이션(120)은 암호화한 의사 표시 결과 데이터를 전송할 때 참여키를 이웃하는 참여자 노드(110) 및/또는 관리 노드(100)에 전송하며, 외부의 다른 참여자 노드(110)로부터 수신되는 참여키를 기록매체(136)에 저장한 후 이를 기반으로 동일한 참여자 노드(110)로부터 복수의 의사 표시 결과 데이터가 수신되어 저장되는 것을 방지할 수 있다. 구체적으로, 의사 표시 수집용 어플리케이션(120)은 이웃하는 참여자 노드(110)로부터 암호화된 의사 표시 결과 데이터와 함께 수신되는 참여키가 기록매체(136)에 존재하는지를 판단하며, 판단 결과에 의거하여 암호화된 의사 표시 결과 데이터 및 참여키를 기록매체(136)에 저장하거나 폐기 처리할 수 있다.In addition, the application for collecting the pseudo indication 120 transmits the participation key to the neighboring participant node 110 and / or the management node 100 when transmitting the encrypted pseudo indication result data, and other external participant nodes 110. After storing the participation key received from the recording medium 136, it is possible to prevent the plurality of intention indication result data from being received and stored from the same participant node 110 based on this. Specifically, the pseudo indication collecting application 120 determines whether a participation key received together with the pseudo indication result data encrypted from the neighboring participant node 110 exists in the recording medium 136, and encrypts based on the determination result. The intention indication result data and the participation key may be stored in the recording medium 136 or discarded.

한편, 의사 표시 수집용 어플리케이션(120)은 기록매체(136)에 저장된 의사 표시 결과 데이터의 개수를 체크하며, 체크 결과 기 설정된 개수에 해당하는 의사 표시 결과 데이터가 저장된 것으로 체크됨에 따라 블록을 생성한 후 블록을 이웃하는 참여자 노드(110) 및 관리 노드(100)에 전송할 수 있다.On the other hand, the pseudo indication collection application 120 checks the number of the pseudo indication result data stored in the recording medium 136, and generates a block according to the check result stored in the pseudo indication result data corresponding to the preset number is stored. The block may then be transmitted to the neighboring participant node 110 and the management node 100.

의사 표시 수집용 어플리케이션(120)은 의사 표시 제한 기능을 더 구비할 수 있다. 이를 위하여 본 발명의 실시예에 따른 의사 표시 수집용 어플리케이션(120)에는 전송 횟수 플래그가 설정되어 있을 수 있다.The doctor indication collection application 120 may further include a doctor indication limitation function. To this end, the number of transmission flags may be set in the pseudo indication collecting application 120 according to an embodiment of the present invention.

전송 횟수 플래그가 설정된 의사 표시 수집용 어플리케이션(120)은 전송 횟수 플래그에 해당되는 횟수만큼 암호화된 의사 표시 결과 데이터를 생성 및 전송할 수 있다. 예를 들어, 전송 횟수 플래그가 "1"인 경우 의사 표시 수집용 어플리케이션(120)은 하나의 의사 표시 결과 데이터만 생성한 후 이를 전송하며, 이후 의사 표시 결과 데이터에 대한 생성을 제한시킬 수 있다.The pseudo indication collecting application 120 in which the transmission count flag is set may generate and transmit the pseudo indication result data encrypted as many times as the transmission count flag. For example, when the transmission count flag is "1", the pseudo indication collecting application 120 generates only one pseudo indication result data and transmits it, and then may limit generation of the pseudo indication result data.

본 발명의 실시예에 따른 노드 중 관리 노드(100)는 의사 표시 결과 데이터에 대해 비대칭 암호화 알고리즘을 적용하기 위한 공개키와 개인키를 관리하며, 참여자 노드(110)의 참여자 신청 요청에 따라 신원 확인 절차를 통해 확인된 참여자 노드(110) 각각에 서로 다른 참여키와 더불어 공개키를 전송한 후 참여자 노드(110)로부터 참여키와 공개키가 수신됨에 따라 의사 표시 수집용 어플리케이션(120)을 전송하여 참여자 노드(110)에 설치할 수 있다.Among the nodes according to the embodiment of the present invention, the management node 100 manages a public key and a private key for applying an asymmetric encryption algorithm to the pseudo-indication result data, and confirms the identity according to the participant application request of the participant node 110. After the public key is transmitted to each participant node 110 identified through the procedure together with a different engagement key, the application 120 for collecting the pseudo-indication is transmitted by receiving the participation key and the public key from the participant node 110. It can be installed at the participant node 110.

또한, 관리 노드(100)는 의사 표시 수집용 어플리케이션(120)이 참여자 노드(110)에 전송됨에 따라 참여자 노드(110)로부터 수신한 참여키에 배포 완료 지시자를 매칭시켜 기록매체(136)에 저장 및 관리할 수 있다. 이를 통해 관리 노드(100)는 기록매체(136)에 저장된 참여키, 즉 배포 완료 지시자가 매칭된 참여키의 전송을 통해 어플리케이션 요청이 있을 경우 이를 어플리케이션 전송을 제한시킬 수 있다. 구체적으로, 관리 노드(100)는 기록매체(136)에 저장된 참여키와 공개키를 이용한 어플리케이션 요청이 참여자 노드(110)로부터 수신되는 경우 어플리케이션 배포 에러를 발생시켜 동일자 참여자가 복수의 기기를 이용하여 어플리케이션을 설치하여 이용하는 것을 차단할 수 있다.In addition, the management node 100 matches the distribution completion indicator to the participation key received from the participant node 110 as the application for collecting the pseudo-indication 120 is sent to the participant node 110 and stores the distribution completion indicator in the recording medium 136. And manage. Through this, the management node 100 may limit the application transmission when there is an application request through the transmission of the participation key stored in the recording medium 136, that is, the distribution completion indicator matched. Specifically, the management node 100 generates an application distribution error when an application request using the participation key and the public key stored in the recording medium 136 is received from the participant node 110 so that the same participant uses a plurality of devices. You can block installing and using applications.

한편, 관리 노드(100)는 기 설정된 기간(의사 표시 종료 기간)이 경과됨에 따라 개인키를 이용하여 공개키 기반으로 암호화된 의사 표시 결과 데이터를 복호화하여 외부로 공개할 수 있다.On the other hand, the management node 100 may decrypt the pseudo-indication result data encrypted on the basis of the public key by using the private key as the predetermined period (the pseudo display end period) elapses, and may be disclosed to the outside.

이를 위하여, 관리 노드(100)는, 도 2에 도시된 바와 같이, 적어도 하나 이상의 명령어 형태로 구현된 키 관리 모듈(200), 어플리케이션 배포 및 제한 모듈(210), 결과 생성 모듈(220) 및 검증 요청 처리 모듈(230) 등을 포함할 수 있다.To this end, the management node 100, as shown in Figure 2, implemented in the form of at least one or more commands, the key management module 200, the application distribution and restriction module 210, the result generation module 220 and verification Request processing module 230 and the like.

키 관리 모듈(200)은 공개키와 개인키를 관리하며, 신원 확인 절차를 통해 확인된 참여자에게 부여될 참여키를 생성한 후 이를 참여자 노드(110)에 전송할 수 있다. 구체적으로, 키 관리 모듈(200)은 랜덤한 문자와 숫자 배열로 이루어진 참여키를 생성한 후 이를 참여자 노드(110)에 전송할 수 있다.The key management module 200 manages a public key and a private key, and after generating a participant key to be given to a participant identified through an identity verification procedure, may transmit it to the participant node 110. In detail, the key management module 200 may generate a participant key having a random array of letters and numbers and transmit the participant key to the participant node 110.

어플리케이션 배포 및 제한 모듈(210)은 참여자 노드(110)로부터 참여키와 공개키가 수신됨에 따라 어플리케이션, 즉 의사 표시 수집용 어플리케이션(120)을 참여자 노드(110)에 전송하여 배포할 수 있다. 구체적으로, 어플리케이션 배포 및 제한 모듈(210)은 참여자 노드(110)로부터 참여키와 공개키가 수신됨에 따라 기록매체(136)에 수신된 참여키 또는 공개키가 존재하는지의 여부를 통해 참여자 노드(110)에 대한 인증을 수행하며, 인증된 참여자 노드(110)에 의사 표시 수집용 어플리케이션(120)을 전송할 수 있다.The application distribution and restriction module 210 may transmit and distribute an application, that is, an application 120 for collecting a pseudo-indication, to the participant node 110 as the participation key and the public key are received from the participant node 110. In detail, the application distribution and restriction module 210 may determine whether a participant node (public key or public key) exists in the recording medium 136 as the participant node 110 receives the participation key and the public key. The authentication for 110 may be performed, and the pseudo indication collection application 120 may be transmitted to the authenticated participant node 110.

또한, 어플리케이션 배포 및 제한 모듈(210)은 의사 표시 수집용 어플리케이션(120)의 전송에 따라 참여자 노드(110)로부터 수신한 참여키에 배포 완료 지시자를 매칭시켜 기록매체(136)에 저장하며, 의사 표시 수집용 어플리케이션(120)의 전송한 이후 동일한 참여키를 이용한 어플리케이션 요청이 수신되는 경우 어플리케이션을 전송하지 않고 에러 메시지를 전송함으로써, 동일한 참여자에게 복수개의 어플리케이션이 배포되는 것을 방지할 수 있다. In addition, the application distribution and restriction module 210 matches the distribution completion indicator to the participation key received from the participant node 110 in accordance with the transmission of the application 120 for collecting the pseudo-indication, and stores the distribution completion indicator on the recording medium 136. When an application request using the same participation key is received after the display collection application 120 is transmitted, an error message is transmitted without transmitting the application, thereby preventing the plurality of applications from being distributed to the same participant.

결과 생성 모듈(220)은 키 관리 모듈(200)에 의해 생성되어 배포된 모든 참여키가 수신됨에 따라 의사 표시 종료를 알리는 종료 메시지를 생성하여 복수의 참여자 노드(110)에 전송하거나, 기 설정된 기간, 예컨대 의사 표시 종료 시점에 도달하면 의사 표시 종료를 알리는 종료 메시지를 생성하여 복수의 참여자 노드(110)에 전송할 수 있다.The result generation module 220 generates an end message for notifying the termination of the intention display when all the participation keys generated and distributed by the key management module 200 are received and transmitted to the plurality of participant nodes 110 or a predetermined period of time. For example, when the intention display end point is reached, an end message indicating the end of the intention indication may be generated and transmitted to the plurality of participant nodes 110.

또한, 결과 생성 모듈(220)은 종료 메시지를 전송한 후 기록매체(136)에 저장된 의사 표시 결과 데이터를 개인키로 복호화하여 의사 표시에 대한 결과 데이터를 생성하며, 생성한 결과 데이터를 복수의 참여자 노드(110)에 전송할 수 있다.In addition, the result generation module 220 generates the result data for the pseudo indication by decrypting the pseudo indication result data stored in the recording medium 136 with the private key after transmitting the end message, and generates the result data for the plurality of participant nodes. May transmit to 110.

또한, 검증 요청 처리 모듈(230)은 특정 참여자 노드(110)로부터 검증 요청에 따라 개인키를 특정 참여자 노드(110)에 전송할 수 있다. 이 경우, 특정 참여자 노드(110)의 의사 표시 수집용 어플리케이션(120)은 수신한 개인키로 특정 참여자 노드(110)의 기록매체(136)에 저장된 의사 표시 결과 데이터를 복호화하여 결과 데이터를 생성하며, 생성한 결과 데이터와 결과 생성 모듈(220)로부터 수신한 결과 데이터간의 비교를 통해 검증 결과, 즉 데이터간 일치 여부를 디스플레이(134)를 통해 표시할 수 있다.In addition, the verification request processing module 230 may transmit the private key to the specific participant node 110 according to the verification request from the specific participant node 110. In this case, the pseudo indication collection application 120 of the specific participant node 110 decrypts the pseudo indication result data stored in the recording medium 136 of the specific participant node 110 with the received private key, and generates the result data. The comparison result between the generated result data and the result data received from the result generation module 220 may display the verification result, that is, whether the data match each other, on the display 134.

상술한 바와 같은 의사 표시 검증 시스템에서 의사 표시 수집용 어플리케이션(120)이 블록 체인 상에 동작하는 과정에 대해 도 3을 참조하여 설명한다.A process of operating the pseudo indication collecting application 120 on the block chain in the pseudo indication verification system as described above will be described with reference to FIG. 3.

도 3은 본 발명의 실시예에 따라 블록 체인 기반으로 의사 표시 검증 시스템의 참여자 노드에서 의사 표시를 위한 동작을 수행하는 과정을 도시한 흐름도이다.3 is a flowchart illustrating a process of performing an operation for pseudo indication at a participant node of a pseudo indication verification system based on a blockchain according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 의사 표시 참여자로 참여하기 위해서 참여자 노드(110)는 신원 확인 절차를 위한 정보를 관리 노드(100)에 전송하여 신원 확인 절차를 수행한 후 이에 대한 응답으로 공개키와 참여키를 수신한다(S300).As shown in FIG. 3, the participant node 110 transmits the information for the identification process to the management node 100 to perform the identity verification procedure in order to participate as a pseudo indication participant, and in response to the public key and Receive the participation key (S300).

그런 다음, 참여자 노드(110)는 참여자에 의해 입력된 공개키와 참여키의 전송을 통해 블록 체인 상에서 실행되어 동작할 의사 표시 수집용 어플리케이션(120)을 요청한다(S302). 이에 따라, 관리 노드(100)는 공개키 또는 참여키를 이용하여 참여자에 대한 검증을 수행한 후 의사 표시 수집용 어플리케이션(120)을 참여자 노드(110)에 전송하며, 배포 완료 지시자를 생성한 후 이와 참여자 노드(110)로부터 수신한 참여키를 매칭시켜 기록매체(136)에 저장한다.Then, the participant node 110 requests the intention collection application 120 to be executed and operated on the blockchain through the transmission of the public key and the participation key input by the participant (S302). Accordingly, the management node 100 performs verification for the participant using the public key or the participation key, and then transmits the application for collecting the indication 120 to the participant node 110 and generates a distribution completion indicator. The participation key received from the participant node 110 is matched and stored in the recording medium 136.

참여자 노드(110)는 관리 노드(100)로부터 의사 표시 수집용 어플리케이션(120)을 수신한 후 이를 실행 가능한 형태로 기록매체(136)에 저장한다(S304).The participant node 110 receives the pseudo indication collection application 120 from the management node 100 and stores it in an executable form in the recording medium 136 (S304).

상술한 바와 같은 단계를 통해 복수의 참여자 노드(110)에 공개키 및 서로 다른 참여키를 배포함과 더불어 의사 표시 수집용 어플리케이션(120)을 배포함으로써, 복수의 참여자 노드(110)와 관리 노드(100)로 구성된 블록 체인 기반의 네트워크가 구성될 수 있다.By distributing the public key and different participation keys to the plurality of participant nodes 110 through the above-described steps, and by distributing the pseudo indication collecting application 120, the plurality of participant nodes 110 and the management node ( A blockchain based network composed of 100) may be configured.

이후, 특정 참여자 노드(110)는 참여자로부터 의사 표시 요청, 예컨대 의사 표시 수집용 어플리케이션(120)의 실행을 위한 선택 입력에 따라 기록매체(136)에 저장된 의사 표시 수집용 어플리케이션(120)을 실행시킨다. 실행된 의사 표시 수집용 어플리케이션(120)은 의사 표시를 위한 인터페이스를 제공하며, 인터페이스를 통해 입력된 정보를 기반으로 의사 표시 결과 데이터를 생성한 후 공개키를 이용하여 암호화하며(S306), 참여키와 암호화된 의사 표시 결과 데이터를 이웃한 다른 참여자 노드(110) 또는 관리 노드(100)에 전송하여 배포한다(S308). Thereafter, the specific participant node 110 executes the pseudo indication collecting application 120 stored in the recording medium 136 according to a selection input for executing the pseudo indication request, for example, the application for collecting the pseudo indication 120. . The executed pseudo indication collection application 120 provides an interface for pseudo indication, generates the pseudo indication result data based on the information input through the interface, encrypts it using the public key (S306), and the participation key. And transmit the encrypted pseudo indication result data to another neighboring participant node 110 or the management node 100 (S308).

또한, 참여키와 암호화된 의사 표시 결과 데이터를 수신한 이웃 노드는 자신의 이웃 노드에 전송하는 방식으로 블록 체인 기반의 네트워크 상에 존재하는 모든 노드들에게 의사 표시 결과 데이터 및 참여키가 전송될 수 있다.In addition, the neighbor node receiving the participation key and the encrypted pseudo-indication result data may transmit the pseudo-indication result data and the participation key to all nodes existing on the blockchain-based network by transmitting to the neighboring node. have.

한편, 의사 표시 수집용 어플리케이션(120)은 기록매체(136)에 저장된 의사 표시 결과 데이터의 개수를 체크(S310)하며, 체크한 의사 표시 결과 데이터의 개수가 기 설정된 개수에 도달할 경우 블록을 생성(S312)한 후 해당 블록을 이웃 노드, 예컨대 이웃하는 다른 참여자 노드(110) 또는 관리 노드(100)에 배포한다(S314). 블록을 수신한 노드는 블록에 대한 유효성 검증을 수행한 후 유효한 블록을 자신의 기록매체(136)에 저장한다.Meanwhile, the pseudo indication collecting application 120 checks the number of pseudo indication result data stored in the recording medium 136 (S310), and generates a block when the number of checked pseudo indication result data reaches a preset number. After S312, the block is distributed to a neighbor node, for example, another neighboring node 110 or a management node 100 (S314). After receiving the block, the node performs validation on the block and stores the valid block in its recording medium 136.

한편, 참여자 노드(110) 및 관리 노드(100)가 의사 표시 수집용 어플리케이션(120)을 이용하여 특정 참여자 노드에 의해 무분별하게 의사 표시가 이루어지는 것을 방지하는 과정에 대해 도 4를 참조하여 설명한다.On the other hand, the process of preventing the participant node 110 and the management node 100 is indiscriminately made by the particular participant node using the application for collecting the pseudo-indication 120 will be described with reference to FIG.

도 4는 본 발명의 실시예에 따른 블록 체인 기반의 의사 표시 검증 시스템에서 특정 참여자 노드에 의해 무분별하게 의사 표시가 이루어지는 것을 방지하는 과정을 도시한 흐름도이다.4 is a flowchart illustrating a process of preventing indiscriminately making a pseudo indication by a specific participant node in a blockchain-based pseudo indication verification system according to an embodiment of the present invention.

먼저, 도 4에 도시된 바와 같이, 외부, 즉 이웃한 노드로부터 암호화된 의사 표시 결과 데이터 및 참여키가 수신되면(S400), 의사 표시 수집용 어플리케이션(120)은 수신한 참여키와 기록매체(136)에 저장된 참여키간의 비교를 통해 의사 표시 결과 데이터에 대한 중복 수신 여부를 판단하여 암호화된 의사 표시 결과 데이터가 유효한지를 판단한다(S402).First, as shown in FIG. 4, when an encrypted pseudo indication result data and an engagement key are received from an external, that is, neighboring node (S400), the pseudo indication collection application 120 receives the received engagement key and a recording medium ( In operation 402, it is determined whether the encrypted pseudo indication result data is valid by determining whether or not the duplicate pseudo indication result data is received through comparison between the participation keys stored in 136.

S402의 판단 결과, 특정 참여자로부터 기 설정된 개수 이상의 의사 표시 결과 데이터가 수신된 경우(특정 참여자로부터 하나 이상의 의사 표시 결과 데이터가 수신된 것으로 판단되는 경우), 의사 표시 수집용 어플리케이션(120)은 특정 참여자로부터 수신된 의사 표시 결과 데이터가 유효하지 않는 것으로 판단하여 폐기 처리한다(S404).As a result of the determination in S402, when a predetermined number of doctor indication result data are received from a specific participant (when it is determined that one or more doctor indication result data has been received from a specific participant), the doctor indication collection application 120 may determine a specific participant. It is determined that the pseudo display result data received from the data is invalid and is discarded (S404).

한편, S402의 판단 결과, 특정 참여자로부터 수신된 의사 표시 결과 데이터가 중복 수신이 아닌 경우, 의사 표시 수집용 어플리케이션(120)은 수신한 의사 표시 결과 데이터 및 참여키를 기록매체(136)에 저장한 후 수신한 의사 표시 결과 데이터 및 참여키를 이웃한 노드, 예컨대 참여자 노드(110), 관리 노드(100)에 배포한다(S406).On the other hand, if it is determined in S402 that the pseudo indication result data received from the specific participant is not a duplicate reception, the doctor indication collection application 120 stores the received pseudo indication result data and the participation key in the recording medium 136. Afterwards, the received intention result data and the participation key are distributed to neighboring nodes such as the participant node 110 and the management node 100 (S406).

한편, 상술한 바와 같은 도 3 및 도 4에 기재된 단계들을 통해 의사 표시 종료 시점(예컨대 투표 종료 시점)에 도달함에 따라 의사 표시 결과 데이터를 검증하는 과정에 대해 도 5를 참조하여 설명한다.Meanwhile, a process of verifying the intention display result data as the intention display end point (for example, the end point of the vote) is reached through the steps described in FIGS. 3 and 4 will be described with reference to FIG. 5.

도 5는 본 발명의 실시예에 따른 블록 체인 기반의 의사 표시 검증 시스템에서 의사 표시 결과 데이터를 검증하는 과정을 도시한 흐름도이다.5 is a flowchart illustrating a process of verifying pseudo display result data in a block chain based pseudo display verification system according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 의사 표시 종료 시점, 예컨대 투표 종료 시점에 도달하면(S500), 관리 노드(100)는 기록매체(136)에 저장된 블록 내 의사 표시 결과 데이터를 개인키로 복호화한 후 복호화한 의사 표시 결과 데이터를 이용하여 투표 결과 데이터를 생성하며(S502), 생성한 투표 결과 데이터를 블록 체인 기반의 네트워크 상에 참여자 노드(110)에게 전송하거나 외부 시스템, 예컨대 웹 시스템을 이용하여 복수의 참여자들에게 제공한다(S504).As shown in FIG. 5, when the end point of the pseudo indication, for example, the end point of the voting is reached (S500), the management node 100 decrypts the pseudo indication result data in the block stored in the recording medium 136 with the private key and then decrypts it. Voting result data is generated using the intention indication result data (S502), and the generated voting result data is transmitted to the participant node 110 on the blockchain-based network or by using an external system such as a web system. Provided to the participants (S504).

이후, 임의의 참여자 노드(110)로부터 공개키와 참여키의 전송을 통해 결과 검증 요청이 있는 경우(S506), 관리 노드(100)는 참여키와 공개키를 이용하여 임의의 참여자에 대한 검증을 수행한 후 검증된 참여자인 것으로 판단되면 개인키를 임의의 참여자 노드(110)에 전송한다(S508).Then, if there is a result verification request through the transmission of the public key and the participation key from any participant node (110) (S506), the management node 100 performs verification for any participant using the participation key and the public key. If it is determined that the participant is verified after performing, the private key is transmitted to any participant node 110 (S508).

임의의 참여자 노드(110)는 개인키를 이용하여 기록매체(136) 내 블록 내 의사 표시 결과 데이터를 복호화(S510)한 후 복호화한 데이터와 수신한 투표 결과 데이터를 비교한 정보, 예컨대 두 데이터간의 일치 여부에 관련된 정보를 디스플레이(134)에 표시해준다(S512).Any participant node 110 decrypts the pseudo-indication result data in the block in the recording medium 136 using the private key (S510), and then compares the decrypted data with the received voting result data, for example, between the two data. Information related to the match is displayed on the display 134 (S512).

한편, 본 발명의 실시예에서는 수신된 참여키의 중복 여부를 통해 하나의 참여자로부터 복수의 의사 표시 결과 데이터가 수신되는 것을 방지하는 것으로 예를 들어 설명하였지만, n(n은 2 이상의 자연수)개의 의사 표시가 가능한 경우 의사 표시 수집용 어플리케이션(120)에 참여 횟수인 n 값을 설정하여 특정 참여자 노드(110)에 의해 n개를 초과한 의사 표시 결과 데이터가 생성되는 것을 방지할 수 있다. 구체적으로, 의사 표시 수집용 어플리케이션(120)은 참여키가 수신될 때마다 수신한 참여키에 "1" 증가되는 카운터 값(k)을 매칭시켜 저장한 후 카운터 값이 설정된 참여키가 수신될 때 참여키의 카운터 값(k)과 참여 횟수(n)간의 비교를 통해 의사 표시 결과 데이터에 대한 기록매체(136)에 저장 여부를 결정함으로써, 동일한 참여자에 의해 무분별하게 의사 표시 결과 데이터가 생성되는 것을 방지할 수 있다. 즉, 임의의 참여자 노드(110)로부터 참여키와 암호화된 의사 표시 결과 데이터가 수신되면, 의사 표시 수집용 어플리케이션(120)은 수신한 참여키에 대한 카운터 값을 기록매체(136)에서 검색한 후 검색한 카운터 값과 참여 횟수가 동일한 경우 해당 참여키와 같이 수신된 암호화된 의사 표시 결과 데이터를 유효하지 않는 것으로 판단하여 폐기 처리할 수 있다.On the other hand, in the embodiment of the present invention has been described as an example to prevent the reception of a plurality of intention display result data from one participant through the overlap of the received participation key, n (n is a natural number of two or more) pseudo When the display is possible, the value n of the number of participations may be set in the application for collecting the pseudo-mark 120 to prevent generation of more than n pseudo-display result data by the specific participant node 110. Specifically, the doctor indication collection application 120 matches and stores a counter value k that is incremented by " 1 " to the received participation key each time the participation key is received and then receives the participation key with the counter value set therein. Through the comparison between the counter value k of the participation key and the number of participations n, it is determined whether or not to store the intentional result data by the same participant. You can prevent it. That is, when the participant key and the encrypted pseudo indication result data are received from any participant node 110, the pseudo indication collecting application 120 retrieves the counter value for the received participation key from the recording medium 136. If the retrieved counter value and the number of participation are the same, the encrypted pseudo-indication result data received together with the corresponding participation key may be determined to be invalid and discarded.

또한, 특정 참여자로부터 중복의 의사 표시 결과 데이터가 생성되는 것을 방지하기 위해 전송 횟수를 제한시킬 수도 있다. 구체적으로, 전송 횟수가 제한된 의사 표시 수집용 어플리케이션(120)을 배포하여 설치함으로써, 중복 생성을 차단할 수 있다. 즉, 전송 횟수가 제한된 의사 표시 수집용 어플리케이션(120)은 의사 표시 결과 데이터가 생성될 때마다 생성 횟수 카운터 값을 증가시키고, 의사 표시 결과 데이터가 생성된 생성 횟수 카운터 값과 전송 횟수간의 비교를 통해 생성 횟수 카운터 값이 전송 횟수를 초과할 경우 의사 표시 결과 데이터를 전송하지 않음으로써, 특정 참여자에 의해 복수의 의사 표시 결과 데이터가 생성되어 전송되는 것을 방지할 수 있다.In addition, the number of transmissions may be limited to prevent duplicate intention result data from being generated from a particular participant. Specifically, by distributing and installing the application for collecting the pseudo-indication 120 with a limited number of transmissions, duplicate generation may be blocked. That is, the application for collecting the pseudo-indication 120 having a limited number of transmissions increases the generation count counter value each time the pseudo-indication result data is generated, and compares the generation count counter value in which the pseudo-indication result data is generated with the transmission count. When the number of generation counters exceeds the number of transmissions, the pseudo indication result data is not transmitted, thereby preventing a plurality of pseudo indication result data from being generated and transmitted by a specific participant.

한편, 본 발명의 실시예에서는 관리 노드(100)에 의해 관리되는 공개키를 이용하여 의사 표시 결과 데이터를 암호화하는 것으로 예를 들어 설명하였지만, 참여자 각각의 공개키를 이용하여 암호화할 수도 있다. 이 경우, 관리 노드(100)는 모든 참여자의 개인키를 관리하며, 의사 표시 종료 시점에 도달하거나 모든 참여자로부터 의사 표시 결과 데이터가 수신되는 경우 모든 참여자의 개인키를 이용하여 암호화된 의사 표시 결과 데이터를 복호화할 수 있다. 또한, 참여자 노드(110)는 공개키를 이용하여 참여자의 의사 표시 결과 데이터를 암호화하며, 개인키를 이용하여 참여자의 고유 식별 정보를 암호화하여 저장 및 배포할 수 있다.On the other hand, in the embodiment of the present invention has been described as an example of encrypting the pseudo-indication result data using the public key managed by the management node 100, it may be encrypted using the public key of each participant. In this case, the management node 100 manages the private key of all participants, and when the end of intention display is reached or when the intention result data is received from all participants, the pseudo node result data is encrypted using the private key of all participants. Can be decoded. In addition, the participant node 110 may encrypt the intention indication data of the participant using the public key, and encrypt and store the participant's unique identification information using the private key.

전술한 본원의 설명은 예시를 위한 것이며, 본원이 속하는 기술분야의 통상의 지식을 가진 자는 본원의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present application is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present application. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본원의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present application. .

100 : 관리 노드
110 : 참여자 노드
120 : 의사 표시 수집용 어플리케이션
130 : 통신 회로
132 : 입출력 회로
134 : 디스플레이
136 : 기록매체
138 : 프로세서
100: managed node
110: participant node
120: application for collecting the indications
130: communication circuit
132: input and output circuit
134: display
136: recording medium
138: processor

Claims (9)

블록 체인 기반의 네트워크 상에 포함된 복수의 노드 내 적어도 하나 이상의 프로세서에 의해 실행되는 의사 표시 수집용 어플리케이션이 블록 체인 내에 포함되어 수행되며,
상기 복수의 노드 중 적어도 하나 이상은 관리 노드이며,
상기 관리 노드는 공개키 및 개인키를 관리하며, 참여자 각각에 대한 신원 확인 절차를 통해 서로 다른 참여키를 생성함과 더불어 상기 의사 표시 수집용 어플리케이션과 상기 생성한 참여키 및 공개키를 제공하며,
상기 의사 표시 수집용 어플리케이션은,
참여자로부터 의사 표시가 이루어짐에 따라 의사 표시 결과 데이터를 생성한 후 이를 상기 공개키로 암호화하여 기록매체에 저장함과 더불어 참여키 및 암호화된 의사 표시 결과 데이터를 블록 체인 기반의 네트워크 상의 이웃하는 노드에 전송하며,
상기 블록 체인 기반의 네트워크 상의 이웃하는 노드로부터 참여키 및 암호화된 의사 표시 결과 데이터가 수신됨에 따라 상기 수신한 참여키와 암호화된 의사 표시 결과 데이터를 기록매체에 저장하되, 상기 수신한 참여키와 기록매체에 저장된 참여키간의 비교를 통해 중복 체크를 수행한 후 중복 체크 결과에 의거하여 상기 암호화된 의사 표시 결과 데이터 및 참여키를 저장함과 더불어 상기 수신한 암호화된 의사 표시 결과 데이터 및 참여키를 이웃하는 다른 노드에 전송하며,
상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터가 기 설정된 개수 이상일 경우 암호화된 의사 표시 결과 데이터를 이용하여 블록을 생성한 후 이를 이웃하는 노드에 전송하며,
상기 관리 노드는,
임의의 노드로부터 상기 참여키 및 공개키를 수신함에 따라 상기 임의의 노드에 의사 표시 수집용 어플리케이션을 제공한 후 상기 의사 표시 수집용 어플리케이션이 배포된 참여키에 배포 완료 지시자를 매칭시켜 기록매체에 저장하며, 상기 기록매체에 저장된 배포 완료 지시자가 매칭된 참여키를 이용한 의사 표시 수집용 어플리케이션의 요청이 있을 경우 이를 제한시키는 어플리케이션 배포 및 제한 모듈을 포함하는 블록 체인 기반의 의사 표시 검증 시스템.
An application for collecting pseudo indications executed by at least one processor in a plurality of nodes included on a blockchain-based network is included in the blockchain and performed.
At least one of the plurality of nodes is a management node,
The management node manages a public key and a private key, generates a different participation key through an identity verification procedure for each participant, and provides the application for collecting the pseudo-indication and the generated participation key and public key,
The application for collecting intention indications,
As the intention indication is made by the participant, the intention indication result data is generated, encrypted with the public key, stored in the recording medium, and the participation key and the encrypted intention indication result data are transmitted to neighboring nodes on the blockchain-based network. ,
As the participation key and the encrypted pseudo-indication result data are received from neighboring nodes on the blockchain based network, the received participation key and the encrypted pseudo-indication result data are stored in a recording medium. After performing a duplicate check by comparing the participation key stored in a medium, the encrypted pseudo indication result data and the participation key are stored based on the duplicate check result, and the received encrypted pseudo indication result data and the participation key are neighbored. To other nodes,
If the encrypted pseudo-marking result data stored in the recording medium is more than a predetermined number, a block is generated using the encrypted pseudo-marking result data and then transmitted to a neighboring node.
The management node,
Upon receiving the participation key and the public key from any node, providing the pseudo indication collection application to the arbitrary node, and matching the distribution completion indicator to the participation key to which the pseudo indication collection application is distributed, and storing them in the recording medium. And an application distribution and restriction module for limiting the request of the application for collecting the pseudo-indication using the matched participation key with the distribution completion indicator stored in the recording medium.
블록 체인 기반의 네트워크 상에 포함된 복수의 노드 내 적어도 하나 이상의 프로세서에 의해 실행되는 의사 표시 수집용 어플리케이션이 블록 체인 내에 포함되어 수행되며,
상기 복수의 노드 중 적어도 하나 이상은 관리 노드이며,
상기 관리 노드는 공개키 및 개인키를 관리하며, 참여자 각각에 대한 신원 확인 절차를 통해 서로 다른 참여키를 생성함과 더불어 전송 횟수 플래그가 설정된 상기 의사 표시 수집용 어플리케이션과 상기 생성한 참여키 및 공개키를 제공하며,
상기 의사 표시 수집용 어플리케이션은,
참여자로부터 의사 표시가 이루어짐에 따라 의사 표시 결과 데이터를 생성한 후 이를 상기 공개키로 암호화하여 기록매체에 저장함과 더불어 블록 체인 기반의 네트워크 상의 이웃하는 노드에 전송하되, 상기 전송 횟수 플래그에 해당되는 횟수만큼 상기 의사 표시 결과 데이터를 생성하여 전송하며,
상기 블록 체인 기반의 네트워크 상의 이웃하는 노드로부터 암호화된 의사 표시 결과 데이터가 수신됨에 따라 상기 수신한 암호화된 의사 표시 결과 데이터를 상기 기록매체에 저장함과 더불어 이웃한 다른 노드에 전송하며,
상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터가 기 설정된 개수 이상일 경우 암호화된 의사 표시 결과 데이터를 이용하여 블록을 생성한 후 이를 이웃하는 노드에 전송하며,
상기 관리 노드는,
임의의 노드로부터 상기 참여키 및 공개키를 수신함에 따라 상기 임의의 노드에 의사 표시 수집용 어플리케이션을 제공한 후 상기 의사 표시 수집용 어플리케이션이 배포된 참여키에 배포 완료 지시자를 매칭시켜 기록매체에 저장하며, 상기 기록매체에 저장된 배포 완료 지시자가 매칭된 참여키를 이용한 의사 표시 수집용 어플리케이션의 요청이 있을 경우 이를 제한시키는 어플리케이션 배포 및 제한 모듈을 포함하는 블록 체인 기반의 의사 표시 검증 시스템.
An application for collecting pseudo indications executed by at least one processor in a plurality of nodes included on a blockchain-based network is included in the blockchain and performed.
At least one of the plurality of nodes is a management node,
The management node manages a public key and a private key, generates a different participation key through an identity verification procedure for each participant, and the application for collecting the pseudo-indication collection and the generated participation key and the public, in which the number of transmission flags is set. Provide the key,
The application for collecting intention indications,
As the intention indication is made by the participant, the intention indication result data is generated, encrypted with the public key, stored in the recording medium, and transmitted to neighboring nodes on the blockchain-based network, and the number of times corresponding to the number of transmission flags. Generating and transmitting the intention result data;
When the encrypted pseudo indication result data is received from a neighboring node on the blockchain-based network, the received encrypted pseudo indication result data is stored on the recording medium and transmitted to another neighboring node.
If the encrypted pseudo-marking result data stored in the recording medium is more than a predetermined number, a block is generated using the encrypted pseudo-marking result data and then transmitted to a neighboring node.
The management node,
Upon receiving the participation key and the public key from any node, providing the pseudo indication collection application to the arbitrary node, and matching the distribution completion indicator to the participation key to which the pseudo indication collection application is distributed, and storing them in the recording medium. And an application distribution and restriction module for limiting the request of the application for collecting the pseudo-indication using the matched participation key to the distribution completion indicator stored in the recording medium.
삭제delete 제1항 또는 제2항에 있어서,
상기 관리 노드는,
의사 표시 종료 시점에 도달하면, 상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터를 상기 개인키를 이용하여 복호화하여 의사 표시에 대한 결과 데이터를 생성한 후 이를 노드들에게 제공하는 결과 생성 모듈을 포함하는 블록 체인 기반의 의사 표시 검증 시스템.
The method according to claim 1 or 2,
The management node,
And a result generation module for generating the result data for the pseudo indication by decrypting the encrypted pseudo indication result data stored in the recording medium using the private key when the pseudo indication end point is reached. Blockchain based pseudo indication verification system.
제4항에 있어서,
상기 관리 노드는,
상기 관리 노드를 제외한 임의의 노드로부터 상기 결과 데이터에 대한 검증 요청이 있을 경우 상기 개인키를 상기 임의의 노드에 제공하며,
상기 임의의 노드 내 의사 표시 수집용 어플리케이션은,
상기 수신한 개인키를 이용하여 자신의 기록매체에 저장된 의사 표시 결과 데이터를 복호화한 후 상기 복호화한 결과와 상기 관리 노드로부터 제공받은 결과 데이터간의 비교를 통해 일치 여부에 대한 정보를 제공하는 블록 체인 기반의 의사 표시 검증 시스템.
The method of claim 4, wherein
The management node,
When there is a request for verification of the result data from any node except the management node, the private key is provided to the arbitrary node,
The application for collecting the pseudo-indication in the arbitrary node,
Block-chain based on decryption of the pseudo-indication result data stored in its own recording medium using the received private key and then providing information on the match through comparison between the decrypted result and the result data provided from the management node. Indication Verification System.
블록 체인 기반의 네트워크 상에 포함된 복수의 노드 내 적어도 하나 이상의 프로세서에 의해 실행되는 의사 표시 수집용 어플리케이션이 블록 체인 내에 포함되어 수행되는 시스템을 이용한 의사 표시 방법에 있어서,
상기 복수의 노드 중 적어도 하나 이상의 관리 노드에서 참여자 각각에 대한 신원 확인 절차를 통해 서로 다른 참여키를 생성함과 더불어 상기 의사 표시 수집용 어플리케이션과 상기 생성한 참여키 및 공개키를 제공하는 단계와,
상기 의사 표시 수집용 어플리케이션을 통해 참여자로부터 의사 표시가 이루어짐에 따라 의사 표시 결과 데이터를 생성한 후 이를 상기 공개키로 암호화하여 기록매체에 저장함과 더불어 참여키 및 암호화된 의사 표시 결과 데이터를 블록 체인 기반의 네트워크 상의 이웃하는 노드에 전송하는 단계와,
상기 블록 체인 기반의 네트워크 상의 이웃하는 노드로부터 참여키 및 암호화된 의사 표시 결과 데이터가 수신되면, 상기 수신한 참여키와 암호화된 의사 표시 결과 데이터를 기록매체에 저장하되, 상기 수신한 참여키와 기록매체에 저장된 참여키간의 비교를 통해 중복 체크를 수행하여 상기 수신한 암호화된 의사 표시 결과 데이터의 유효성을 체크하는 단계와,
상기 유효성을 체크한 결과, 상기 기록매체에 저장된 참여키를 포함한 상기 암호화된 의사 표시 결과 데이터가 수신되는 경우 이를 폐기 처리하는 단계와,
상기 유효성을 체크한 결과, 상기 기록매체에 저장된 참여키와 일치하지 않는 참여키가 수신되는 경우 상기 수신한 암호화된 의사 표시 결과 데이터와 참여키를 기록매체에 저장한 후 상기 수신한 암호화된 의사 표시 결과 데이터와 참여키를 이웃하는 노드에 전송하는 단계와,
상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터가 기 설정된 개수 이상일 경우 암호화된 의사 표시 결과 데이터를 이용하여 블록을 생성한 후 이를 이웃하는 노드에 전송하는 단계와,
임의의 노드로부터 상기 참여키 및 공개키를 수신한 후 이에 대한 응답으로 상기 임의의 노드에 의사 표시 수집용 어플리케이션을 제공한 후 상기 의사 표시 수집용 어플리케이션이 배포된 참여키에 배포 완료 지시자를 매칭시켜 기록매체에 저장하는 단계와,
상기 기록매체에 저장된 배포 완료 지시자가 매칭된 참여키를 이용한 의사 표시 수집용 어플리케이션의 요청이 있을 경우 이를 제한시키는 단계를 더 포함하는 블록 체인 기반의 의사 표시 검증 방법.
In the pseudo-indication method using a system in which the application for collecting the pseudo-indication executed by at least one or more processors in the plurality of nodes included on the blockchain-based network is included in the blockchain and performed;
Generating different participation keys through an identification procedure for each participant in at least one management node of the plurality of nodes, and providing the application for collecting the pseudo-indication and the generated participation key and public key;
As the intention indication is made by the participant through the intention indication collection application, the intention indication result data is generated, and then encrypted with the public key and stored in the recording medium. Transmitting to neighboring nodes on the network;
When the participation key and the encrypted pseudo-indication result data are received from neighboring nodes on the blockchain-based network, the received participation key and the encrypted pseudo-indication result data are stored in a recording medium, but the received participation key and the record are recorded. Checking the validity of the received encrypted pseudo-indication result data by performing a duplicate check by comparing the participation keys stored in a medium;
Discarding the encrypted pseudo-indication result data including the participation key stored in the recording medium as a result of checking the validity;
If the participation key that does not match the participation key stored on the recording medium is received as a result of checking the validity, the received encrypted pseudo indication result data and the participation key are stored on the recording medium, and then the received encrypted pseudo indication is displayed. Transmitting the result data and the participation key to neighboring nodes;
Generating a block by using the encrypted pseudo indication result data when the encrypted pseudo indication result data stored in the recording medium is greater than or equal to a preset number, and transmitting the block to a neighboring node;
After receiving the participation key and the public key from any node and providing a pseudo indication collection application to the random node in response thereto, matching the deployment completion indicator to the participation key distributed the pseudo indication collection application is distributed. Storing the recording medium;
And limiting the distribution completion indicator stored in the recording medium when there is a request of the application for collecting the pseudo indication using the matched participation key.
삭제delete 제6항에 있어서,
상기 의사 표시 검증 방법은,
의사 표시 종료 시점에 도달하면, 상기 기록매체에 저장된 암호화된 의사 표시 결과 데이터를 상기 공개키에 대응되는 개인키를 이용하여 복호화하여 의사 표시에 대한 결과 데이터를 생성한 후 이를 노드들에게 제공하는 단계를 더 포함하는 블록 체인 기반의 의사 표시 검증 방법.
The method of claim 6,
The intention display verification method,
When the pseudo indication end point is reached, decrypting the encrypted pseudo indication result data stored in the recording medium using a private key corresponding to the public key to generate result data for the pseudo indication and providing the same to the nodes. Blockchain-based pseudo indication verification method further comprising.
제8항에 있어서,
상기 의사 표시 검증 방법은,
상기 관리 노드를 제외한 임의의 노드로부터 상기 결과 데이터에 대한 검증 요청이 있을 경우 상기 개인키를 상기 임의의 노드에 제공하는 단계와,
상기 임의의 노드 내 의사 표시 수집용 어플리케이션에서 상기 수신한 개인키를 이용하여 자신의 기록매체에 저장된 의사 표시 결과 데이터를 복호화한 후 상기 복호화한 결과와 상기 관리 노드로부터 제공받은 결과 데이터간의 비교를 통해 일치 여부에 대한 정보를 제공하는 단계를 포함하는 블록 체인 기반의 의사 표시 검증 방법.
The method of claim 8,
The intention display verification method,
Providing the private key to the arbitrary node when the verification request for the result data is received from any node except the management node;
Decode the pseudo indication result data stored in its own recording medium by using the received private key in the pseudo indication collection application in the arbitrary node, and compare the result of the decoding with the result data provided from the management node. A blockchain based pseudo-marking verification method comprising the step of providing information about a match.
KR1020180043873A 2018-04-16 2018-04-16 Method and system for verifying expression of one's intention based block chain KR102062281B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180043873A KR102062281B1 (en) 2018-04-16 2018-04-16 Method and system for verifying expression of one's intention based block chain

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180043873A KR102062281B1 (en) 2018-04-16 2018-04-16 Method and system for verifying expression of one's intention based block chain

Publications (2)

Publication Number Publication Date
KR20190120549A KR20190120549A (en) 2019-10-24
KR102062281B1 true KR102062281B1 (en) 2020-01-03

Family

ID=68423384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180043873A KR102062281B1 (en) 2018-04-16 2018-04-16 Method and system for verifying expression of one's intention based block chain

Country Status (1)

Country Link
KR (1) KR102062281B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101833323B1 (en) * 2018-01-12 2018-02-28 한국스마트인증 주식회사 Method for Confirming Statement by Use of Block Chain Which Guarantees Anonymity and Prevents Sybil Attack
KR101837170B1 (en) * 2016-12-29 2018-04-19 주식회사 코인플러그 Method for providing secret electronic voting service on the basis of blockchain by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100912794B1 (en) 2008-11-18 2009-08-18 주식회사 나우콤 Web hacking management system and manegement method thereof for real time web server hacking analysis and homepage hacking search

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101837170B1 (en) * 2016-12-29 2018-04-19 주식회사 코인플러그 Method for providing secret electronic voting service on the basis of blockchain by using zero knowledge proof algorithm, and voting coin minter server, voting token distributor server and voting supporting server using the same
KR101833323B1 (en) * 2018-01-12 2018-02-28 한국스마트인증 주식회사 Method for Confirming Statement by Use of Block Chain Which Guarantees Anonymity and Prevents Sybil Attack

Also Published As

Publication number Publication date
KR20190120549A (en) 2019-10-24

Similar Documents

Publication Publication Date Title
CN108092982B (en) Data storage method and system based on alliance chain
JP4776245B2 (en) Opinion registration application for universal pervasive transaction framework
ES2906075T3 (en) Information exchange system
KR101833323B1 (en) Method for Confirming Statement by Use of Block Chain Which Guarantees Anonymity and Prevents Sybil Attack
JP6543040B2 (en) System and method for remote access, remote digital signature
US8984280B2 (en) Systems and methods for automating certification authority practices
CN108604983A (en) The commission of the safety of private key is distributed by domain name service
US10742426B2 (en) Public key infrastructure and method of distribution
WO2020050390A1 (en) Right holder terminal, user terminal, right holder program, user program, content utilization system, and content utilization method
CN103440444A (en) Method of signing electronic contract
TW201412075A (en) Secure key storage systems, methods and apparatuses
KR20190076535A (en) System and method for anonymous votes using block-chain
KR102169695B1 (en) A self-verifiable blockchain electronic voting management method
KR100912532B1 (en) Internet Voting method for all participants having mutual attestation functions on trusted computing environment and system thereof
CN107409043B (en) Distributed processing of products based on centrally encrypted stored data
JP5537129B2 (en) Authentication system, authentication method and program
KR102062281B1 (en) Method and system for verifying expression of one's intention based block chain
AU2016228254B2 (en) System and methods for online authentication
KR101167647B1 (en) An Electron Vote Symtem
KR102146757B1 (en) Method for Statement Confirmation, Enrollment of Identity Repository Module, and Entity Authentication, which Guarantees Anonymity While Preventing Sybil Attack
WO2021019781A1 (en) Owner identity confirmation system, authentication station server, and owner identity confirmation method
Sain et al. A communication security protocol for ubiquitous sensor networks
ES2726003A1 (en) Method for secure electronic voting with immutable audit system and computer programs (Machine-translation by Google Translate, not legally binding)
CN111935183B (en) Method and system for credible transfer of user information between non-cooperative bodies of distributed network
CN116506184A (en) Data encryption method, data verification method and related devices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right