KR20210043278A - Method of contract management based on block cahin - Google Patents

Method of contract management based on block cahin Download PDF

Info

Publication number
KR20210043278A
KR20210043278A KR1020190126275A KR20190126275A KR20210043278A KR 20210043278 A KR20210043278 A KR 20210043278A KR 1020190126275 A KR1020190126275 A KR 1020190126275A KR 20190126275 A KR20190126275 A KR 20190126275A KR 20210043278 A KR20210043278 A KR 20210043278A
Authority
KR
South Korea
Prior art keywords
contract
terminal
signature
blockchain network
seller
Prior art date
Application number
KR1020190126275A
Other languages
Korean (ko)
Other versions
KR102314573B1 (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 KR1020190126275A priority Critical patent/KR102314573B1/en
Publication of KR20210043278A publication Critical patent/KR20210043278A/en
Application granted granted Critical
Publication of KR102314573B1 publication Critical patent/KR102314573B1/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/42Confirmation, e.g. check or permission by the legal debtor of payment
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/68Special signature format, e.g. XML format

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A method for allowing a contract management server to manage a contract using a block chain comprises the following steps of: receiving information on a contract target product from a block chain network and providing the received information to a purchaser terminal; receiving a purchase request for the contract target product from the purchaser terminal and requesting a digital signature for non-repudiation of the purchase request; and concluding a purchase contract between a seller and a purchaser according to a smart contract and storing content of the concluded contract in the block chain network If the signature is valid.

Description

블록체인 기반의 계약 관리 방법{METHOD OF CONTRACT MANAGEMENT BASED ON BLOCK CAHIN}Blockchain-based contract management method {METHOD OF CONTRACT MANAGEMENT BASED ON BLOCK CAHIN}

본 발명은 블록체인 기반의 계약 관리 방법에 관한 것이다.The present invention relates to a block chain-based contract management method.

전자계약 기반의 계약 관리 방법은 계약의 모든 과정을 전자적 형태로 저장하고, 저장된 내용을 바탕으로 다수가 협업할 수 있으며, 불필요한 과정을 최소화하여 업무 효율성을 향상시킬 수 있다.The contract management method based on an electronic contract saves all contract processes in an electronic form, enables a large number of people to cooperate based on the stored contents, and minimizes unnecessary processes to improve work efficiency.

그러나 중앙에서 관리되는 특성상, 시스템 운영 주체가 쉽게 내용을 조작할 수 있고, 투명하게 시스템이 공개되지 않아 신뢰성이 떨어지고, 재해 등으로 인한 시스템의 장애 발생 시 서비스가 중단될 수 있고, 인증을 위해 법인 인증서, 사설 인증서, 개인 인증서 등의 다양한 형식의 인증서를 사용하기 때문에 중앙에서의 관리가 어렵다는 문제가 있다. 또한, 서버, 인증서, 전자계약 시스템, 고객용 프로그램 등의 구성을 필요로 한다.However, due to the nature of central management, the system operating entity can easily manipulate the contents, the system is not transparently disclosed, which reduces reliability, and the service may be interrupted in the event of a system failure due to a disaster, etc. There is a problem that central management is difficult because various types of certificates such as certificates, private certificates, and personal certificates are used. In addition, it requires a configuration of a server, a certificate, an electronic contract system, and a customer program.

이러한 중앙화 구조의 계약관리 시스템의 성능 저하, 취약한 보안, 데이터 입력시 오류 발생 가능성, 초기 비용 부담으로 인한 서비스 접근성 문제를 해결하기 위해 블록체인과 스마트 컨트랙트를 이용한 계약 관리 방법이 요구된다. A contract management method using blockchain and smart contracts is required to solve the problem of service accessibility due to the performance degradation of the centralized contract management system, weak security, possible errors when entering data, and burden of initial cost.

해결하고자 하는 과제는 블록체인 네트워크를 기반으로 계약 체결의 부인 방지를 위한 인증 절차를 포함하고, 스마트 컨트랙트를 이용한 계약의 체결부터 계약의 이행까지의 과정을 관리하는 계약 관리 서버를 제공하는 것이다.The task to be solved is to provide a contract management server that includes an authentication procedure for preventing repudiation of contract conclusion based on a blockchain network, and manages the process from contract conclusion to contract execution using smart contracts.

한 실시예에 따른 계약 관리 서버가 블록체인을 이용하여 계약을 관리하는 방법으로서, 블록체인 네트워크로부터 계약 대상 상품의 정보를 수신하고, 상기 수신한 정보를 구매자 단말에 제공하는 단계, 상기 구매자 단말로부터 상기 계약 대상 상품에 대한 구매 요청을 수신하고, 상기 구매 요청에 대한 부인 방지용 디지털 서명을 요청하는 단계, 그리고 상기 서명이 유효한 경우, 스마트 컨트랙트에 따라 판매자와 구매자 간의 구매 계약을 체결하고, 상기 체결된 계약의 내용을 상기 블록체인 네트워크에 저장하는 단계를 포함한다.A method of managing a contract using a block chain by a contract management server according to an embodiment, comprising the steps of: receiving information on a contract target product from a blockchain network and providing the received information to a purchaser terminal, from the purchaser terminal Receiving a purchase request for the contracted product, requesting a non-repudiation digital signature for the purchase request, and if the signature is valid, a purchase contract is signed between the seller and the buyer according to the smart contract, and the signed And storing the contents of the contract in the blockchain network.

상기 제공하는 단계 이전에, 판매자 단말로부터 상기 계약 대상 상품의 정보를 수신하는 단계, 상기 판매자 단말에 신원 확인 및 부인 방지를 위한 디지털 서명을 요청하는 단계, 상기 판매자 단말로부터 공개키와 서명의 원본을 포함한 데이터를 수신하고, 상기 공개키를 이용하여 수신한 상기 서명의 유효성을 판단하는 단계, 그리고 상기 서명이 유효한 경우, 상기 계약 대상 상품의 정보를 상기 블록체인 네트워크에 저장하는 단계를 더 포함할 수 있다.Prior to the providing step, receiving information on the contracted product from the seller terminal, requesting a digital signature for identification and non-repudiation prevention to the seller terminal, and receiving the original public key and signature from the seller terminal. Receiving the included data, determining the validity of the received signature using the public key, and if the signature is valid, storing the information of the contract target product in the blockchain network. have.

상기 판매자 단말 및 상기 구매자 단말은, 각 단말의 식별 정보를 등록하고, 각 단말로부터 상기 등록된 식별 정보를 입력 받아 인증되거나 또는 OTP 인증 방식 중 어느 하나에 의해 인증될 수 있다.The seller terminal and the purchaser terminal may register identification information of each terminal and are authenticated by receiving the registered identification information from each terminal or authenticated by one of an OTP authentication method.

상기 저장하는 단계 이후에, 상기 판매자 단말로부터 상기 체결된 계약의 이행 내역을 수신하는 단계, 상기 이행 내역과 상기 블록체인 네트워크에 저장된 상기 계약의 내용을 비교하여 일치하는 경우, 판매자 가상 지갑으로 계약금을 지급하는 단계, 그리고, 상기 이행 내역 및 계약금 지급 내역을 상기 블록체인 네트워크에 저장하는 단계를 더 포함할 수 있다.After the storing step, receiving the execution details of the contracted contract from the seller terminal, if the performance details and the contents of the contract stored in the blockchain network are compared and matched, a down payment is sent to the seller virtual wallet. It may further include the step of paying, and storing the performance details and the payment details of the down payment in the blockchain network.

다른 실시예에 따른 계약 관리 서버가 블록체인을 이용하여 계약을 관리하는 방법으로서, 블록체인 네트워크에 저장된 제안 요청서, 낙찰 조건을 포함하는 스마트 컨트랙트, 그리고 복수의 입찰 제안서들을 포함하는 입찰 정보를 요청하는 단계, 상기 블록체인 네트워크로부터 상기 입찰 정보를 수신하고, 상기 낙찰 조건에 따라 낙찰자를 선정하는 단계, 낙찰자 단말과 요청자 단말로 계약서 작성 및 상기 계약서의 부인 방지용 서명을 요청하고, 각 단말로부터 서명을 각각 수신하는 단계, 그리고 상기 서명들이 모두 유효한 경우, 낙찰자와 요청자 간 계약을 체결하고, 상기 낙찰자 서명 및 상기 요청자 서명을 포함한 상기 계약서를 상기 블록체인 네트워크에 저장하는 단계를 포함한다.As a method of managing a contract using a block chain by a contract management server according to another embodiment, a request for a proposal stored in a blockchain network, a smart contract including a successful bid condition, and a bid information including a plurality of bid proposals are requested. Step, receiving the bidding information from the blockchain network, selecting a successful bidder according to the successful bid conditions, creating a contract with the successful bidder terminal and the requestor terminal, requesting a non-repudiation signature of the contract, and signing each terminal Receiving, and if all of the signatures are valid, signing a contract between the successful bidder and the requestor, and storing the contract including the successful bidder's signature and the requestor's signature in the blockchain network.

상기 서명을 수신하는 단계는, 상기 낙찰자의 증권 정보를 요청하여 수신할 수 있다.In the receiving of the signature, the successful bidder's stock information may be requested and received.

상기 제안 요청서와 상기 낙찰 조건은, 상기 요청자 단말로부터 상기 제안 요청서와 상기 낙찰 조건을 수신하고, 상기 요청자 단말의 디지털 서명을 이용한 인증 절차를 거쳐 생성되고, 상기 복수의 입찰 제안서들은, 복수의 입찰자 단말들로부터 입찰 제안서들을 수신하고, 각 입찰자 단말마다 디지털 서명을 이용한 인증 절차를 거쳐 생성될 수 있다.The proposal request form and the successful bid condition are generated through an authentication procedure using a digital signature of the requester terminal, receiving the proposal request form and the successful bid condition from the requester terminal, and the plurality of bid proposals are a plurality of bidder terminals. Bid proposals may be received from the bidders, and may be generated through an authentication procedure using a digital signature for each bidder terminal.

상기 저장하는 단계 이후에, 상기 낙찰자 단말로부터 상기 작성된 계약서의 이행 내역을 수신하는 단계, 상기 이행 내역과 상기 블록체인 네트워크에 저장된 상기 계약서의 내용을 비교하여 일치하는 경우, 낙찰자 가상 지갑으로 계약금을 지급하는 단계, 그리고 상기 이행 내역 및 계약금 지급 내역을 블록체인 네트워크에 저장하는 단계를 더 포함할 수 있다.After the storing step, receiving the execution details of the created contract from the successful bidder terminal, and if the performance details and the contents of the contract stored in the blockchain network are compared and matched, a down payment is paid to the successful bidder's virtual wallet. And storing the performance details and payment details of the down payment in the blockchain network.

또 다른 실시예에 따른 계약 관리 서버가 블록체인을 이용하여 계약을 관리하는 방법으로서, 제1 단말로부터 계약 관련 정보, 공개키와 서명의 원본을 포함한 데이터를 수신하는 단계, 상기 공개키를 이용하여 수신한 상기 제1 단말의 서명의 유효성을 판단하는 단계, 그리고 상기 제1 단말의 서명이 유효한 경우, 상기 제1 단말의 서명이 포함된 상기 계약 관련 정보를 스마트 컨트랙트로 작성하여 블록체인 네트워크에 저장하는 단계, 제2 단말로부터 상기 계약 관련 정보에 따른 계약 체결 요청을 수신하는 단계, 상기 제1 단말 및 상기 제2 단말의 부인 방지용 디지털 서명을 진행하는 단계, 그리고 각 디지털 서명들이 모두 유효한 경우, 상기 스마트 컨트랙트에 따라 계약을 체결하고, 상기 각 디지털 서명들을 모두 포함한 계약서를 상기 블록체인 네트워크에 저장하는 단계를 포함한다.A method of managing a contract using a block chain by a contract management server according to another embodiment, the step of receiving contract-related information, public key, and data including the original signature from a first terminal, using the public key Determining the validity of the signature of the received first terminal, and if the signature of the first terminal is valid, the contract-related information including the signature of the first terminal is written as a smart contract and stored in the blockchain network Step of, receiving a request for signing a contract according to the contract-related information from a second terminal, proceeding with a non-repudiation digital signature of the first terminal and the second terminal, and if all digital signatures are valid, the And signing a contract according to a smart contract, and storing a contract including all of the digital signatures in the blockchain network.

상기 제1 단말 및 상기 제2 단말은, 각 단말의 식별 정보를 등록하고, 각 단말로부터 상기 등록된 식별 정보를 입력 받아 인증되거나 또는 OTP 인증 방식 중 어느 하나에 의해 인증될 수 있다.The first terminal and the second terminal may register identification information of each terminal, receive the registered identification information from each terminal, and be authenticated or authenticated by one of an OTP authentication method.

상기 계약서를 상기 블록체인 네트워크에 저장하는 단계 이후에, 상기 제1 단말 또는 상기 제2 단말로부터 상기 체결된 계약의 이행 내역을 수신하는 단계, 그리고 상기 이행 내역과 상기 블록체인 네트워크에 저장된 상기 계약서를 비교하여 일치하는 경우, 상기 이행 내역을 상기 블록체인 네트워크에 저장하는 단계를 더 포함할 수 있다.After the step of storing the contract in the blockchain network, receiving the execution details of the concluded contract from the first terminal or the second terminal, and the execution details and the contract stored in the blockchain network If compared and matched, the step of storing the implementation details in the blockchain network may be further included.

본 발명에 따르면, 블록체인과 분산 원장 기반의 서비스로서, 계약 관련 정보를 안전하게 관리할 수 있고, 운영자의 계약 내용의 위조 또는 변조를 차단할 수 있어 보안성을 높일 수 있다.According to the present invention, as a service based on a blockchain and a distributed ledger, it is possible to safely manage contract-related information and to prevent forgery or alteration of contract contents by an operator, thereby increasing security.

또한 본 발명에 따르면, 계약 과정의 각 단계마다 계약 참여자들의 부인 방지를 위한 디지털 서명 절차와 관련 서류의 유효성을 검증하는 과정을 포함하여, 계약 참여자들의 신뢰성을 높일 수 있다.In addition, according to the present invention, it is possible to increase the reliability of contract participants by including a digital signature procedure for preventing non-repudiation of contract participants and a process of verifying the validity of related documents at each step of the contract process.

또한 본 발명에 따르면, 계약 참여자에게만 사용자 인증, 계약 체결, 계약 이행 여부 확인 등의 전 과정에 관한 데이터가 공유되도록 하여, 단독의 관리 시스템을 이용하는 효과를 누릴 수 있다.In addition, according to the present invention, data related to the entire process, such as user authentication, contract conclusion, and confirmation of contract fulfillment, can be shared only with contract participants, so that it is possible to enjoy the effect of using an independent management system.

도 1은 한 실시예에 따른 계약 관리 시스템의 구성도이다.
도 2는 한 실시예에 따른 계약 체결 과정의 흐름도이다.
도 3은 한 실시예에 따른 계약 관리 서버가 사용자 단말을 인증하는 방법의 흐름도이다.
도 4는 한 실시예에 따른 판매자가 계약 상품을 등록하는 과정의 흐름도이다.
도 5는 한 실시예에 따른 구매자가 계약 상품을 구매하는 과정의 흐름도이다.
도 6은 한 실시예에 따른 스마트 컨트랙트에 포함된 계약 원장의 예시도이다.
도 7은 한 실시예에 따른 제안 요청서 및 입찰 제안서를 등록하는 과정의 흐름도이다.
도 8은 한 실시예에 따른 낙찰자를 선정하여 계약을 체결하는 과정의 흐름도이다.
도 9는 한 실시예에 따른 계약사항의 이행 내용을 관리하는 과정의 흐름도이다.
1 is a configuration diagram of a contract management system according to an embodiment.
2 is a flowchart of a contract conclusion process according to an embodiment.
3 is a flowchart of a method for authenticating a user terminal by a contract management server according to an embodiment.
4 is a flowchart of a process in which a seller registers a contract product according to an embodiment.
5 is a flowchart of a process in which a purchaser purchases a contract product according to an embodiment.
6 is an exemplary diagram of a contract ledger included in a smart contract according to an embodiment.
7 is a flowchart of a process of registering a proposal request and a bid proposal according to an embodiment.
8 is a flowchart of a process of selecting a successful bidder and signing a contract according to an embodiment.
9 is a flowchart of a process of managing the content of execution of contract matters according to an embodiment.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본 명세서에서 계약 체결은 판매자가 미리 거래의 대상이 되는 상품 또는 서비스를 계약 관리 서버(300)에 업로드하고, 구매자가 이를 선택하여 계약이 체결되는 방식으로 이루어지거나, 또는 구매자가 다수의 판매자 중 원하는 판매자를 결정하기 위해 입찰에 부쳐, 계약하고자 하는 판매자를 결정하는 입찰 방식으로 이루어질 수 있다. 편의상 전자를 상품형, 후자를 입찰형이라 호칭한다. In this specification, the contract is concluded in a manner in which the seller uploads the product or service subject to the transaction to the contract management server 300 in advance, and the purchaser selects it and the contract is concluded, or the purchaser desires among a number of sellers. It can be done in a bidding method in which a bid is placed to determine the seller, and the seller who wants to contract is determined. For convenience, the former is referred to as a product type and the latter is referred to as a bidding type.

한편 계약 관리 서버(300)는 매매 또는 입찰에 의한 계약뿐만 아니라 일반적인 계약을 관리할 수 있으며 관리할 수 있는 계약의 종류는 어느 하나에 제한되지 않는다. 또한 입찰의 종류도 제한 경쟁, 일반 경쟁, 지명 경쟁 등이 될 수 있으며 어느 하나에 제한되지 않는다.Meanwhile, the contract management server 300 can manage general contracts as well as contracts by trading or bidding, and the types of contracts that can be managed are not limited to any one. In addition, the type of bidding may be limited competition, general competition, nomination competition, etc., and is not limited to any one.

본 명세서에서 계약금 또는 물품의 대금은 블록체인 기술을 기반으로 한 가상 화폐인 코인 또는 토큰으로 지급될 수 있다. 토큰이란, 블록체인 프로젝트가 처음 개설될 때, 생태계의 각 역할의 협력을 촉진하기 위해 경제적 보상 도구로 발행하는 수단을 의미한다. 예를 들어, 이더리움 블록체인 네트워크에서 발행되는 Ethereum Request for Comment 20(ERC20)일 수 있다.In this specification, the down payment or the price of the goods may be paid in coins or tokens, which are virtual currency based on blockchain technology. Token refers to a means of issuing as an economic reward tool to facilitate the cooperation of each role in the ecosystem when a blockchain project is first opened. For example, it may be Ethereum Request for Comment 20 (ERC20) issued on the Ethereum blockchain network.

도 1은 한 실시예에 따른 계약 관리 시스템의 구성도이다.1 is a configuration diagram of a contract management system according to an embodiment.

도 1을 참고하면, 계약 관리 시스템(1000)은 판매자 단말(100), 구매자 단말(200), 계약 관리 서버(300), 블록체인 네트워크(400), 그리고 금융 기관 서버(500)를 포함한다. Referring to FIG. 1, the contract management system 1000 includes a seller terminal 100, a buyer terminal 200, a contract management server 300, a blockchain network 400, and a financial institution server 500.

판매자 단말(100)과 구매자 단말(200)은 컴퓨터, 스마트폰, 태블릿과 같이 어플리케이션 설치가 가능하고, 웹 브라우저를 내장하여 인터넷에 접속 가능한 기기를 의미한다. 도 1은 편의상 단말들과 블록체인 네트워크(400)를 분리하여 그렸으나, 단말들은 블록체인 네트워크(400)를 구성하는 노드일 수 있다.The seller terminal 100 and the purchaser terminal 200 mean devices capable of installing applications such as computers, smartphones, and tablets, and capable of accessing the Internet by embedding a web browser. In FIG. 1, for convenience, the terminals and the block chain network 400 are drawn separately, but the terminals may be nodes constituting the block chain network 400.

판매자 단말(100)은 계약 상품을 계약 관리 서버(300)에 업로드하려는 판매자의 단말을 의미한다. 입찰형으로 계약이 이루어지는 경우는, 입찰에 참여하는 역할을 할 수 있다. The seller terminal 100 refers to a terminal of a seller who intends to upload a contract product to the contract management server 300. When a contract is made in a bidding type, it can play a role of participating in the bidding.

구매자 단말(200)은 계약 관리 서버(300)에 등록된 계약 상품을 구매하려는 구매자의 단말을 의미한다. 입찰형으로 계약이 이루어지는 경우는, 입찰을 부치는 자의 단말을 의미할 수 있다. The purchaser terminal 200 refers to a terminal of a purchaser who intends to purchase a contract product registered in the contract management server 300. When a contract is made in a bid type, it may refer to the terminal of the person placing the bid.

계약 관리 서버(300)는 판매자 단말(100)이 업로드한 계약 상품을 구매자 단말(200)에게 제공하여 계약의 성립을 중개하고, 계약이 체결되는 과정에서 판매자 및 구매자의 신원 확인과 이행 보증을 위한 부인 방지용 디지털 서명을 진행한다. 또한 성립된 계약의 내용을 블록체인 네트워크(400)에 저장하고, 계약의 이행 여부에 따라 계약금의 지급을 관리한다. The contract management server 300 provides the contract product uploaded by the seller terminal 100 to the purchaser terminal 200 to mediate the establishment of the contract, and to verify the identity of the seller and the purchaser and guarantee performance in the process of signing the contract. Proceed with non-repudiation digital signature. In addition, the contents of the established contract are stored in the blockchain network 400, and the payment of the down payment is managed according to the execution of the contract.

한편, 계약 관리 서버(300)는 판매자 가상 지갑(310), 구매자 가상 지갑(320) 그리고 계약금 계좌(330)를 포함한다.On the other hand, the contract management server 300 includes a seller virtual wallet 310, a buyer virtual wallet 320, and a down payment account 330.

판매자 가상 지갑(310)은 계약 관리 서버(300)가 판매자에게 발급한 일종의 가상 장부로서, 판매자는 판매한 물품의 대금을 가상 지갑으로 지급받을 수 있다. 입찰형으로 계약이 체결된 경우는, 입찰 제안서 또는 계약서를 바탕으로 한 계약금을 가상 지갑으로 받을 수 있다. The seller virtual wallet 310 is a kind of virtual ledger issued by the contract management server 300 to the seller, and the seller may receive the price of the sold item through the virtual wallet. When a contract is signed in a bidding type, you can receive a bid proposal or a down payment based on the contract in a virtual wallet.

한편, 계약금 또는 물품 대금은 계약 관리 서버(300)를 통해 판매자에게 지급되며, 판매자는 판매자 가상 지갑(310)의 계좌와 연결된 기명식 선불카드를 지급받아 계약금 또는 물품 대금을 사용할 수 있다.On the other hand, the down payment or product price is paid to the seller through the contract management server 300, and the seller can use the down payment or the product price by receiving a named prepaid card connected to the account of the seller virtual wallet 310.

구매자 가상 지갑(320)은 계약 관리 서버(300)가 구매자에게 발급한 일종의 가상 장부를 의미한다. 구매자는 구매자 가상 지갑(320)을 미리 충전하고, 계약 관리 서버(300)는 구매자 가상 지갑(320)에서 판매자 가상 지갑(310)으로 전송 내역을 기록함으로써, 구매 대금을 판매자에게 지급할 수 있다. 또한, 낙찰자에 대한 계약금의 지급도 가상 지갑의 가상 화폐로 이루어질 수 있다. The purchaser virtual wallet 320 refers to a kind of virtual ledger issued by the contract management server 300 to a purchaser. The buyer charges the buyer virtual wallet 320 in advance, and the contract management server 300 records the transmission details from the buyer virtual wallet 320 to the seller virtual wallet 310, thereby paying the purchase price to the seller. In addition, payment of the down payment to the successful bidder may also be made in virtual currency of a virtual wallet.

계약금 계좌(330)는 실제로 구매자로부터 입금된 계약금 또는 물품의 대금이 관리되는 계좌이다. 또한 금융 기관 서버(500)와 연결되어 있어, 판매자 또는 낙찰자가 각자의 가상 지갑의 계약금을 사용하는 경우, 계약금 계좌(330)에 있는 금액이 금융 기관 서버(500)로 이체된다.The down payment account 330 is an account in which the down payment or product price actually deposited from the purchaser is managed. In addition, since it is connected to the financial institution server 500, when the seller or the successful bidder uses the down payment of their virtual wallet, the amount in the down payment account 330 is transferred to the financial institution server 500.

블록체인 네트워크(400)는 복수의 블록으로 구성된 분산 데이터베이스의 일종으로, 판매자 및 구매자의 정보, 계약 사항을 포함한 계약서 정보, 계약 체결 또는 해지 내역을 저장하고 관리한다. 또한, 계약 사항을 포함하는 스마트 컨트랙트 코드가 저장되고, 블록체인 네트워크(400)를 구성하는 구성원 노드들에 의해 코드가 실행될 수 있다.The blockchain network 400 is a kind of distributed database composed of a plurality of blocks, and stores and manages information of sellers and buyers, contract information including contract details, and contract conclusion or termination details. In addition, smart contract codes including contract details may be stored, and the codes may be executed by member nodes constituting the blockchain network 400.

블록체인 네트워크(400)에 계약 관련 정보들이 기록되고 저장되므로, 계약 관리 서버(300)의 또는 블록체인 네트워크(400)에 접근할 수 있는 권한을 가진 판매자, 구매자 또는 제3자는 저장된 정보의 진위를 검증할 수 있다.Since contract-related information is recorded and stored in the blockchain network 400, a seller, buyer, or a third party who has the authority to access the contract management server 300 or the blockchain network 400 can verify the authenticity of the stored information. Can be verified.

금융 기관 서버(500)는 계약금 계좌(330)와 연결되는 가상 계좌 또는 판매자에게 지급된 선불카드와 연결되는 가상 계좌를 발급하고, 판매자가 선불카드를 사용할 때 카드 사용처에 대금을 지급한다. 한편, 판매자의 선불카드 사용은 계약의 성질에 따라 계약서에 명시된 사용처로 한정될 수 있으며, 이는 도 9를 통해 자세히 설명한다.The financial institution server 500 issues a virtual account connected to the down payment account 330 or a virtual account connected to the prepaid card paid to the seller, and pays the card to the card user when the seller uses the prepaid card. Meanwhile, the use of the prepaid card by the seller may be limited to the usage specified in the contract according to the nature of the contract, which will be described in detail with reference to FIG. 9.

이하에서는 계약 관리 서버(300)가 판매자와 구매자 간의 정보 교환에서 계약의 체결까지의 과정을 관리하는 방법을 설명한다. 도 2에서는 일반적인 계약 체결의 과정을 설명하고, 도 4 내지 도 5는 상품형 계약에 대해 설명하고, 도 6 내지 도 8은 입찰형 계약에 대해 설명하고, 도 9는 계약 이행여부에 따른 계약금 관리에 대해 설명한다. Hereinafter, a method in which the contract management server 300 manages a process from exchanging information between a seller and a buyer to signing a contract will be described. In FIG. 2, a general contract signing process is described, FIGS. 4 to 5 describe a product-type contract, FIGS. 6 to 8 describe a bidding-type contract, and FIG. 9 is a down payment management according to whether or not the contract is fulfilled. Explain about.

도 2는 한 실시예에 따른 계약 체결 과정의 흐름도이다.2 is a flowchart of a contract conclusion process according to an embodiment.

도 2를 참고하면, 판매자 단말(100)은 작성된 계약서를 포함한 계약 생성 요청을 계약 관리 서버(300)로 전송한다(S101).Referring to FIG. 2, the seller terminal 100 transmits a contract creation request including a written contract to the contract management server 300 (S101).

계약 관리 서버(300)는 판매자 단말(100)로 판매자의 신원을 확인하기 위한 디지털 서명을 요청한다(S102). The contract management server 300 requests a digital signature to confirm the identity of the seller to the seller terminal 100 (S102).

판매자 단말(100)은 공개키 암호 알고리즘을 이용하여 디지털 서명을 한다(S103). 구체적으로, 디지털 서명은 서명키 생성 단계, 서명 단계, 서명 확인 단계로 구성된다. 판매자 단말(100)은 공개키와 개인키를 생성하고, 서명 원본을 해싱하여 해시 값을 생성하고, 해시 값을 서명용 개인키로 해싱하여 전자 서명을 생성한다. 한편 전자 서명을 디지털 서명이라고도 한다. 해시 값을 생성하기 위해 사용되는 해시함수는 SHA256 등의 이미 알려진 함수일 수 있다.The seller terminal 100 digitally signs using a public key encryption algorithm (S103). Specifically, the digital signature consists of a signature key generation step, a signature step, and a signature verification step. The seller terminal 100 generates a public key and a private key, generates a hash value by hashing the original signature, and hash the hash value with a private key for signature to generate an electronic signature. On the other hand, electronic signatures are also referred to as digital signatures. The hash function used to generate the hash value may be a known function such as SHA256.

판매자 단말(100)은 서명 원본, 전자 서명, 그리고 생성한 공개키를 계약 관리 서버(300)에 전송한다(S104).The seller terminal 100 transmits the original signature, the electronic signature, and the generated public key to the contract management server 300 (S104).

계약 관리 서버(300)는 판매자 단말(100)로부터 수신한 공개키를 이용하여 전자 서명을 복호화하고, 서명 원본을 해싱하여 얻은 해시 값과 비교하여 해당 디지털 서명이 위조 또는 변조된 것이 아님을 확인한다(S105).The contract management server 300 decrypts the electronic signature using the public key received from the seller terminal 100 and compares the hash value obtained by hashing the original signature to confirm that the digital signature is not forged or altered. (S105).

계약 관리 서버(300)는 복호화된 값과 해시 값이 같은지 비교하여 서명의 유효성을 판단한다(S106). 서명이 유효한 경우 다음 단계인 S107을 진행하고, 서명이 위조 또는 변조된 것으로 확인되면 S102 단계로 돌아가 판매자 단말(100)로 디지털 서명을 요청한다.The contract management server 300 determines the validity of the signature by comparing whether the decrypted value and the hash value are the same (S106). If the signature is valid, the next step, S107, is performed, and when it is confirmed that the signature has been forged or altered, it returns to step S102 and requests a digital signature to the seller terminal 100.

계약 관리 서버(300)는 서명이 유효한 것으로 확인되면, 판매자가 작성한 서명 전 계약서를 스마트 컨트랙트로 작성하여 블록체인 네트워크(400)에 전송한다(S107).When it is confirmed that the signature is valid, the contract management server 300 writes a contract before signing created by the seller as a smart contract and transmits it to the blockchain network 400 (S107).

구체적으로, 블록체인 네트워크(400) 상의 스마트 컨트랙트는 컴퓨팅 장치에 의해 실행 가능한 프로그램 코드 형태로 작성된 계약 프로토콜로서, 블록체인 네트워크(400)를 구성하는 노드에 코드가 저장되고, 노드들에 의해 코드가 실행될 수 있다. 코드가 실행되면, 미리 정한 특정 조건이 만족되는 경우 미리 정한 절차가 수행된다. Specifically, the smart contract on the blockchain network 400 is a contract protocol written in the form of a program code executable by a computing device, and the code is stored in the nodes constituting the blockchain network 400, and the code is stored by the nodes. Can be implemented. When the code is executed, a predetermined procedure is performed when a predetermined specific condition is satisfied.

한 예로서, 판매자와 구매자가 계약 시 이행해야 할 의무와 계약 내용, 계약의 해지 조건 등을 스마트 컨트랙트의 조건으로 작성하고, 해당 조건이 만족되는 경우 계약의 성립 또는 해지가 발생할 수 있다.As an example, the obligation to be fulfilled by the seller and the buyer at the time of a contract, the contents of the contract, and the conditions for termination of the contract are written as conditions of the smart contract, and if the conditions are satisfied, the contract may be established or terminated.

블록체인 네트워크(400)는 네트워크를 구성하는 각 노드에 계약 원장을 생성한다(S108). 각 노드가 공유하는 블록에 저장된 데이터는 분산 원장의 특성상 변경이 매우 어려우므로 조작될 수 없다. 따라서 블록체인 기반의 계약 관리 서버(300)는 신뢰성, 투명성을 제공할 수 있다.Blockchain network 400 generates a contract ledger in each node constituting the network (S108). Data stored in blocks shared by each node cannot be manipulated because it is very difficult to change due to the nature of the distributed ledger. Therefore, the blockchain-based contract management server 300 can provide reliability and transparency.

계약 관리 서버(300)는 판매자의 부인 방지용 전자 서명과 구매자의 신원 확인 및 부인 방지를 위한 전자 서명을 진행한다(S109). 이때, 계약 관리 서버(300)는 P11 단계를 통해 확인한 판매자의 신원 정보를 구매자 단말(200)로 전송할 수 있다. 전자 서명 진행 단계는 P11에서 설명한 바와 동일한 절차이므로 자세한 설명을 생략한다. The contract management server 300 proceeds with an electronic signature for preventing non-repudiation of the seller and an electronic signature for verifying the identity of the purchaser and preventing non-repudiation (S109). In this case, the contract management server 300 may transmit the identification information of the seller, which is checked through step P11, to the purchaser terminal 200. Since the electronic signature process step is the same as that described in P11, detailed descriptions are omitted.

계약 관리 서버(300)는 판매자 및 구매자의 서명이 유효한 것으로 확인되면 판매자 서명 및 구매자 서명이 포함된 서명 계약서를 스마트 컨트랙트로 작성하여 블록체인 네트워크(400)에 전송한다(S110).When it is confirmed that the seller and buyer's signatures are valid, the contract management server 300 writes a signature contract including the seller's signature and the buyer's signature as a smart contract and transmits it to the blockchain network 400 (S110).

블록체인 네트워크(400)는 각 노드에 판매자 서명 및 구매자 서명이 포함된 계약 원장을 생성한다(S111). The blockchain network 400 generates a contract ledger including seller signatures and buyer signatures in each node (S111).

이후, 계약 당사자인 판매자와 구매자는 계약 관리 서버(300)를 통해 블록체인 네트워크(400)에 접근하여 계약 내용을 열람할 수 있다. Thereafter, the seller and the buyer, who are contracting parties, may access the blockchain network 400 through the contract management server 300 to view the contract contents.

도 3은 한 실시예에 따른 계약 관리 서버가 사용자 단말을 인증하는 방법의 흐름도이다.3 is a flowchart of a method for authenticating a user terminal by a contract management server according to an embodiment.

도 3을 참고하면, 계약 관리 서버(300)는 판매자 단말(100) 또는 구매자 단말(200)을 등록하고, 판매자 또는 구매자가 계약 관리 서버(300)에 접속할 때 등록된 기기를 사용하는지 확인한다. Referring to FIG. 3, the contract management server 300 registers the seller terminal 100 or the purchaser terminal 200, and checks whether the seller or the purchaser uses the registered device when accessing the contract management server 300.

계약 관리 서버(300)는 판매자 또는 구매자가 등록에 사용한 정보를 이용하여 등록된 단말인지 판단하므로, 등록시 사용된 정보가 무엇인지 확인한다(S201). 판매자 또는 구매자는 자신의 단말을 계약 관리 서버(300)에 등록하기 위한 정보로서, 단말의 MAC 주소, 위치 정보 또는 OTP를 선택할 수 있다. The contract management server 300 determines whether the terminal is registered by using the information used by the seller or the purchaser for registration, and thus checks what information is used at the time of registration (S201). The seller or purchaser may select the MAC address, location information, or OTP of the terminal as information for registering his terminal with the contract management server 300.

예를 들어, 위치 정보를 단말을 등록하려는 판매자 또는 구매자는 자신의 단말의 특정 어플리케이션으로부터 단말의 GPS 정보를 수신한다. 그리고 이로부터 얻은 위도, 경도를 암호화 한 해시값을 블록체인 네트워크(400)에 저장할 수 있다. For example, a seller or buyer who wants to register a terminal with location information receives GPS information of the terminal from a specific application of his terminal. And the hash value obtained by encrypting the latitude and longitude obtained therefrom can be stored in the blockchain network 400.

계약 관리 서버(300)는 판매자 단말(100) 또는 구매자 단말(200)이 MAC 주소를 사용하여 등록된 경우, 단말의 MAC 주소 입력을 요청하고 수신하고, 위치 정보를 사용하여 등록된 경우, 단말의 위치 정보 입력을 요청하고 수신한다(S202).When the seller terminal 100 or the purchaser terminal 200 is registered using the MAC address, the contract management server 300 requests and receives the MAC address input of the terminal, and when registered using the location information, the terminal's Request and receive location information input (S202).

예를 들어, 위치 정보로 단말을 등록한 경우, 인증 시점에서 다시 단말의 특정 어플리케이션으로부터 GPS 정보를 수신하고, 위도 및 경도값를 해시값으로 생성한다.For example, when a terminal is registered with location information, GPS information is received from a specific application of the terminal again at the time of authentication, and latitude and longitude values are generated as hash values.

계약 관리 서버(300)는 수신한 정보와 등록 시 입력된 정보를 비교한다(S203). 위의 예에서, 계약 관리 서버(300)는 인증 시점에서 생성된 해시 값과 단말을 등록할 때 생성되어 블록체인 네트워크(400)에 저장된 해시값이 동일한지 확인한다.The contract management server 300 compares the received information with the information input at the time of registration (S203). In the above example, the contract management server 300 checks whether the hash value generated at the time of authentication and the hash value generated at the time of registering the terminal and stored in the blockchain network 400 are the same.

계약 관리 서버(300)는 두 정보가 동일한지 판단하여(S204), 동일한 경우, 단말의 인증을 완료하고 접속을 허용한다(S205).The contract management server 300 determines whether the two pieces of information are the same (S204), and if they are the same, completes the authentication of the terminal and allows the connection (S205).

정보가 동일하지 않은 경우, 계약 관리 서버(300)는 인증을 2번 더 진행하여 3회 이상 인증이 실패하면(S208) 단말의 접속을 차단한다(S209). 한편, 본 명세서에서 인증 시도 횟수를 3회로 제한하였으나 인증 시도 횟수는 예시일 뿐 계약 관리 서버(300) 또는 서버 관리자에 의해 변경될 수 있다.If the information is not the same, the contract management server 300 performs authentication two more times and, if authentication fails three or more times (S208), blocks the access of the terminal (S209). Meanwhile, although the number of authentication attempts is limited to three in the present specification, the number of authentication attempts is only an example and may be changed by the contract management server 300 or the server administrator.

한편, 판매자 단말(100) 또는 구매자 단말(200)이 일회용 비밀번호(One Time Password, OTP) 방식으로 등록된 경우, 계약 관리 서버(300)는 단말로부터 OTP를 입력받아 인증 서버에 전송한다(S206).On the other hand, when the seller terminal 100 or the purchaser terminal 200 is registered in a one-time password (OTP) method, the contract management server 300 receives the OTP from the terminal and transmits it to the authentication server (S206). .

계약 관리 서버(300)는 인증 서버로부터 인증이 성공되었는지 여부를 수신하고(S207), 인증이 성공한 경우 단말의 인증을 완료하고 접속을 허용한다(S205).The contract management server 300 receives from the authentication server whether or not the authentication is successful (S207), and if the authentication is successful, completes the authentication of the terminal and allows the connection (S205).

계약 관리 서버(300)는 3회 이상 OTP 인증이 실패하면(S208), MAC 주소 또는 위치 정보를 사용하여 등록한 경우와 마찬가지로 단말의 접속을 차단한다(S209).If the OTP authentication fails three or more times (S208), the contract management server 300 blocks the access of the terminal as in the case of registering using the MAC address or location information (S209).

이하 도 4 내지 도 5를 통해 상품형 계약 체결 방법, 도 6 내지 도 8을 통해 입찰형 계약 체결 방법에 대해 설명한다. Hereinafter, a method of signing a product-type contract through FIGS. 4 to 5 and a method of signing a bid-type contract through FIGS. 6 through 8 will be described.

도 4는 한 실시예에 따른 판매자가 계약 상품을 등록하는 과정의 흐름도이다.4 is a flowchart of a process in which a seller registers a contract product according to an embodiment.

도 4를 참고하면, 판매자 단말(100)은 계약 상품 정보를 계약 관리 서버(300)로 전송하며, 계약 상품 등록을 요청한다(S301). 이때 계약 상품이란, 매매의 대상이 되는 물건 또는 서비스를 의미할 수 있다.Referring to FIG. 4, the seller terminal 100 transmits contract product information to the contract management server 300 and requests contract product registration (S301). In this case, the contract product may mean a product or service that is a target for sale.

계약 관리 서버(300)는 판매자 단말(100)로 부인 방지용 서명을 요청한다(S302). 부인 방지용 서명은 디지털 서명 방식으로 진행되며, 이하 S302 내지 S306 단계는 도 2의 P11과 동일하므로, 자세한 설명을 생략한다. The contract management server 300 requests a non-repudiation signature to the seller terminal 100 (S302). The non-repudiation signature is performed in a digital signature method, and steps S302 to S306 are the same as those of P11 of FIG. 2, so a detailed description thereof will be omitted.

서명이 유효한 경우, 계약 관리 서버(300)는 계약 상품 정보를 스마트 컨트랙트로 작성하여 블록체인 네트워크(400)에 전송한다(S307).If the signature is valid, the contract management server 300 creates contract product information as a smart contract and transmits it to the blockchain network 400 (S307).

블록체인 네트워크(400)는 구성원 노드에 스마트 컨트랙트를 저장한다(S308). 즉 계약 상품의 내용은 스마트 컨트랙트로 작성되어, 분산 원장 방식으로 블록체인 네트워크(400)에 기록되며, 이때 블록체인 네트워크(400)는 비공개형일 수 있다. Blockchain network 400 stores the smart contract in the member node (S308). That is, the contents of the contract product are written in a smart contract and recorded in the blockchain network 400 in a distributed ledger method, and at this time, the blockchain network 400 may be a private type.

도 5는 한 실시예에 따른 구매자가 계약 상품을 구매하는 과정의 흐름도이고, 도 6은 한 실시예에 따른 스마트 컨트랙트에 포함된 계약 원장의 예시도이다.5 is a flowchart of a process of a purchaser purchasing a contract product according to an embodiment, and FIG. 6 is an exemplary view of a contract ledger included in a smart contract according to an embodiment.

도 5를 참고하면, 구매자 단말(200)은 계약 관리 서버(300)로 등록된 계약 상품들의 열람을 요청한다(S401).Referring to FIG. 5, the purchaser terminal 200 requests to view contract products registered with the contract management server 300 (S401).

계약 관리 서버(300)는 블록체인 네트워크(400)에 등록된 계약 상품들의 열람을 요청하고(S402), 계약 상품들의 정보를 수신한다(S403).The contract management server 300 requests to view the contract products registered in the blockchain network 400 (S402), and receives information on the contract products (S403).

계약 관리 서버(300)는 수신한 계약 상품들의 정보를 구매자 단말(200)로 제공한다(S404).The contract management server 300 provides information on the received contract products to the purchaser terminal 200 (S404).

구매자 단말(200)은 구매자가 작성한 구매 요청서를 계약 관리 서버(300)로 전송한다(S405). 구매 요청서의 형식 또는 내용은 계약 상품의 성질에 따라 달라질 수 있다.The purchaser terminal 200 transmits the purchase request created by the purchaser to the contract management server 300 (S405). The format or content of the purchase request may vary depending on the nature of the contract product.

계약 관리 서버(300)는 구매 요청서에 필수적으로 기재되어야 할 사항들이 누락되었는지 판단하고, 구매 요청서의 적합성을 판단한다(S406).The contract management server 300 determines whether items that are essential to be described in the purchase request are omitted, and determines the suitability of the purchase request (S406).

구매 요청서에는 구매자 정보(업체명, 연락처, 이메일, 팩스 등), 구매희망 품목, 품명, 모델명, 수량, 구매 희망 단가, 개별 금액 합계, 총액 합계가 필수적으로 포함되어야 한다. 위의 항목 중 적어도 하나가 누락된 경우, 계약 관리 서버(300)는 구매자 단말(200)로부터 구매 요청서를 다시 수신할 수 있다. The purchase requisition must include information on the purchaser (company name, contact information, e-mail, fax, etc.), desired item, product name, model name, quantity, desired unit price, individual amount, and total amount. When at least one of the above items is omitted, the contract management server 300 may receive a purchase request again from the purchaser terminal 200.

계약 관리 서버(300)는 구매자의 부인 방지용 전자 서명을 구매자 단말(200)로 요청한다(S407). 전자 서명 또는 디지털 서명 과정은 도 2의 P11을 통해 설명한 바와 동일하므로 이하 설명을 생략한다.The contract management server 300 requests the purchaser terminal 200 for an electronic signature for preventing non-repudiation of the purchaser (S407). The electronic signature or digital signature process is the same as described through P11 of FIG. 2, and thus a description thereof will be omitted.

이후 계약 관리 서버(300)는 판매자 단말(200)로 동의서 작성을 요청한다(S408). 동의서란, 구매자가 구매 요청서를 작성하여 부인 방지용 서명을 체결한 이후 상품을 발주하면, 판매자가 해당 상품을 납품한다는 의사 표시를 뜻한다. After that, the contract management server 300 requests the seller terminal 200 to write a consent form (S408). Consent means, when a buyer writes a purchase request and places an order after signing a non-repudiation signature, the seller expresses his intention to deliver the product.

매매 계약을 통한 거래에서 계약 의사가 포함된 것으로 보는 것이 일반적이지만, 계약 대상 상품의 특징에 따라 특정 조건을 만족하는 구매자만이 상품을 소지 또는 구매할 수 있다는 내용의 제한 또는 법규가 있는 경우, 상품의 관리가 필요할 수 있다. In a transaction through a sale contract, it is common to see the intention to make a contract, but if there are restrictions or laws that restrict the content that only buyers who satisfy certain conditions can possess or purchase the product, depending on the characteristics of the product to be contracted, Care may be required.

따라서 계약 관리 서버(300)는 판매자가 구매자의 조건 등을 확인하였으며, 해당 상품의 판매를 수락한다는 내용의 동의서를 작성을 요청하게 된다. Accordingly, the contract management server 300 requests that the seller confirms the conditions of the purchaser and writes a consent form indicating that the sale of the corresponding product is accepted.

판매자 단말(100)은 작성된 동의서와 함께 계약 관리 서버(300)로 계약 체결을 요청한다(S409).The seller terminal 100 requests a contract conclusion to the contract management server 300 together with the written agreement (S409).

한편, 단계 S408 내지 S409는 판매자가 계약 상품을 등록하는 도 4의 S301 단계에서 이루어질 수도 있으며, 계약의 대상이 되는 상품 또는 서비스의 특징에 따라 생략될 수도 있다.Meanwhile, steps S408 to S409 may be performed in step S301 of FIG. 4 in which the seller registers the contract product, and may be omitted depending on the characteristics of the product or service subject to the contract.

S407 단계의 구매자 서명이 유효한 경우, 계약 관리 서버(300)는 판매자 단말(100)과 구매자 단말(200)로 각각 계약이 가체결되었음을 알린다(S410).If the purchaser's signature in step S407 is valid, the contract management server 300 notifies the seller terminal 100 and the purchaser terminal 200 that the contract has been preliminarily concluded (S410).

이후, 구매자가 구매자 단말(200)을 통해 상품의 구매 여부를 결정한다(S411). Thereafter, the purchaser determines whether to purchase the product through the purchaser terminal 200 (S411).

구매자가 구매를 확정하는 경우, 구매자가 판매자에게 상품에 대한 대금을 지급하고, 구매자 단말(200)을 통해 계약 관리 서버(300)로 구매 결정 내역을 전송한다(S412). 한편 대금은 구매자 가상 지갑(320)의 가상 화폐가 판매자 가상 지갑(310)에 지급될 수 있다. When the purchaser confirms the purchase, the purchaser pays the price for the product to the seller, and transmits the purchase decision details to the contract management server 300 through the purchaser terminal 200 (S412). Meanwhile, as for the price, the virtual currency of the buyer virtual wallet 320 may be paid to the seller virtual wallet 310.

계약 관리 서버(300)는 스마트 컨트랙트에 따라 계약을 체결하고, 블록체인 네트워크(400)에 계약이 체결되었다는 내용을 전송한다(S413). 이때, 도 6의 계약 원장이 스마트 컨트랙트에 포함될 수 있다. 계약 원장은 구매 요청서에 기재된 필수 조건들을 포함하며 특정한 형태로 제한되는 것은 아니다, The contract management server 300 concludes a contract according to the smart contract, and transmits the contents that the contract has been concluded to the blockchain network 400 (S413). In this case, the contract ledger of FIG. 6 may be included in the smart contract. The contract ledger includes, but is not limited to, the prerequisites described in the purchase requisition.

이후 블록체인 네트워크(400)는 각 노드에 계약 체결 내용을 저장한다(S414).Thereafter, the blockchain network 400 stores the details of the contract conclusion in each node (S414).

한편, S411단계에서 구매자가 구매를 거절하는 경우, 구매자는 구매자 단말(200)을 통해 판매자 단말(100)로 구매 거절 의사를 전송한다(S415).Meanwhile, when the purchaser rejects the purchase in step S411, the purchaser transmits the purchase rejection intention to the seller terminal 100 through the purchaser terminal 200 (S415).

판매자 단말(100)은 계약 관리 서버(300)에 구매자의 거절 의사로 인해 계약이 해지된 사실을 전송한다(S416).The seller terminal 100 transmits to the contract management server 300 the fact that the contract has been terminated due to the purchaser's intention to reject it (S416).

계약 관리 서버(300)는 블록체인 네트워크(400)에 계약이 해지된 내용을 전송한다(S417).The contract management server 300 transmits the contents of the contract termination to the blockchain network 400 (S417).

블록체인 네트워크(400)는 각 노드에 계약 해지 내용을 저장한다(S418).The blockchain network 400 stores contract termination details in each node (S418).

도 7은 한 실시예에 따른 제안 요청서 및 입찰 제안서를 등록하는 과정의 흐름도이다.7 is a flowchart of a process of registering a proposal request and a bid proposal according to an embodiment.

도 7을 참고하면, 구매자는 제안 요청서와 낙찰 조건을 작성하여 구매자 단말(200)을 통해 계약 관리 서버(300)로 전송한다(S501). 이때 구매자는 입찰의 종류가 경쟁 입찰인지, 제한 입찰인지에 관한 정보를 포함하여 제안 요청서를 작성할 수 있다. Referring to FIG. 7, the purchaser creates a proposal request and a successful bid condition and transmits it to the contract management server 300 through the purchaser terminal 200 (S501). At this time, the buyer may write a request for proposal including information on whether the type of the bid is a competitive bid or a limited bid.

계약 관리 서버(300)는 구매자의 부인 방지를 위해 전자 서명을 진행한다(S502). 전자 서명 과정은 도 2의 P11을 통해 설명한 바와 동일하므로 이하 설명을 생략한다.The contract management server 300 proceeds with an electronic signature to prevent the buyer's denial (S502). The electronic signature process is the same as that described through P11 of FIG. 2, and thus a description thereof will be omitted.

서명이 유효한 경우, 계약 관리 서버(300)는 제안 요청서 및 낙찰 조건을 스마트 컨트랙트로 작성하여 블록체인 네트워크(400)로 전송한다(S503). If the signature is valid, the contract management server 300 creates a proposal request and a successful bid condition as a smart contract and transmits it to the blockchain network 400 (S503).

따라서, 각 계약의 성격에 따라 설정된 낙찰 조건을 만족하는 판매자가 나타나는 경우, 조건을 충족시키는 것과 동시에 계약이 성립하게 된다. 예를 들어, 계약의 종류가 도급 계약이고, 구매자는 용역 업체를 모집하기 위한 제안 요청서 및 낙찰 조건으로서, 관련 업무의 경험 여부, 용역 업체의 위치, 용역 업체의 규모, 용역 업체의 관련 업무의 실적 등을 포함할 수 있다. 위의 조건들이 스마트 컨트랙트의 코드에 포함되어, 조건들을 만족하는 입찰 제안서를 수신하는 경우, 코드가 실행되어 계약이 체결될 수 있다. Therefore, when a seller who satisfies the conditions for successful bid set according to the nature of each contract appears, the contract is established at the same time as the conditions are satisfied. For example, the type of contract is a contract, and the buyer is a request for a proposal to recruit a service company and a condition for a successful bid, including whether they have experience in related work, the location of the service company, the size of the service company, and the performance of the related business And the like. When the above conditions are included in the code of the smart contract and a bid proposal that satisfies the conditions is received, the code is executed and the contract can be concluded.

블록체인 네트워크(400)는 각 노드에 수신한 스마트 컨트랙트 코드를 저장한다(S504).The blockchain network 400 stores the smart contract code received in each node (S504).

이후 판매자는 판매자 단말(100)을 통해 계약 관리 서버(300)로 구매자의 제안 요청서의 열람을 요청한다(S505). Thereafter, the seller requests to view the purchaser's proposal request to the contract management server 300 through the seller terminal 100 (S505).

계약 관리 서버(300)는 블록체인 네트워크(400)에 제안 요청서의 열람을 요청하여 제공받고(S506, S507), 다시 판매자 단말(100)로 전달한다(S508). 한편, 입찰의 종류에 따라 계약 관리 서버(300)는 일정 조건을 만족하는 판매자 단말(100)로만 제안 요청서를 전달할 수 있다.The contract management server 300 requests and receives a request to read the proposal request from the block chain network 400 (S506, S507), and transmits it to the seller terminal 100 (S508). Meanwhile, the contract management server 300 may transmit the proposal request only to the seller terminal 100 that satisfies certain conditions according to the type of bidding.

판매자 단말(100)은 제안 요청서의 내용에 따라 작성된 입찰 제안서를 계약 관리 서버(300)에 전송한다(S509). The seller terminal 100 transmits a bid proposal created according to the content of the proposal request to the contract management server 300 (S509).

계약 관리 서버(300)는 판매자가 작성한 입찰 제안서가 적합한지 판단한다(S510). 부적합한 경우, 판매자 단말(100)로부터 다시 입찰 제안서를 수신한다.The contract management server 300 determines whether the bid proposal prepared by the seller is appropriate (S510). If it is inappropriate, it receives a bid proposal again from the seller terminal 100.

적합한 경우, 계약 관리 서버(300)는 판매자 단말(100)을 통해 부인 방지용 전자 서명을 진행한다(S511). 이 과정은 도 2의 P11 단계와 동일하다.If appropriate, the contract management server 300 proceeds with a non-repudiation electronic signature through the seller terminal 100 (S511). This process is the same as step P11 of FIG. 2.

서명이 유효한 경우, 계약 관리 서버(300)는 입찰 제안서를 블록체인 네트워크(400)에 전송한다(S512).If the signature is valid, the contract management server 300 transmits the bid proposal to the blockchain network 400 (S512).

블록체인 네트워크(400)는 각 노드에 입찰 제안서를 저장한다(S513). 이후 구매자 단말(200)은 저장된 입찰 제안서를 계약 관리 서버(300)를 통해 열람할 수 있다. Blockchain network 400 stores a bid proposal in each node (S513). Thereafter, the purchaser terminal 200 may view the stored bid proposal through the contract management server 300.

도 8은 한 실시예에 따른 낙찰자를 선정하여 계약을 체결하는 과정의 흐름도이다.8 is a flowchart of a process of selecting a successful bidder and signing a contract according to an embodiment.

도 8을 참고하면, 계약 관리 서버(300)는 블록체인 네트워크(400)에 제안 요청서, 낙찰 조건, 입찰 제안자들의 정보를 요청한다(S601).Referring to FIG. 8, the contract management server 300 requests a proposal request form, a successful bid condition, and information of bid proposers from the blockchain network 400 (S601).

블록체인 네트워크(400)는 요청한 정보들을 계약 관리 서버(300)에 제공한다(S602).The blockchain network 400 provides the requested information to the contract management server 300 (S602).

계약 관리 서버(300)는 스마트 컨트랙트에 따라 입찰 제안자들 중 낙찰 조건에 부합하는 낙찰자를 선정한다(S603). The contract management server 300 selects a successful bidder who satisfies the successful bid condition among bid offerers according to the smart contract (S603).

계약 관리 서버(300)는 구매자 단말(200)에 계약서 작성을 요청한다(S604).The contract management server 300 requests the purchaser terminal 200 to write a contract (S604).

계약 관리 서버(300)는 구매자 단말(200)로부터 작성된 계약서를 수신하고(S605), 계약서가 적합한지 판단한다(S606). 적합하지 않은 경우, 다시 작성을 요청하고 적합한 경우 다음 단계를 진행한다.The contract management server 300 receives the written contract from the purchaser terminal 200 (S605), and determines whether the contract is appropriate (S606). If not, request a rewrite and, if appropriate, proceed to the next step.

계약서가 적합하게 작성된 경우, 계약 관리 서버(300)는 구매자의 부인 방지를 위한 P11 단계와 동일한 전자 서명을 진행한다(S607).When the contract is properly prepared, the contract management server 300 proceeds with the same electronic signature as in step P11 for preventing the buyer's denial (S607).

이후 계약 관리 서버(300)는 판매자 단말(100)에 계약서 작성을 요청한다(S608).Thereafter, the contract management server 300 requests the seller terminal 100 to write a contract (S608).

계약 관리 서버(300)는 판매자 단말(100)로부터 작성된 계약서를 수신하고(S609), 계약서가 적합한지 판단한다(S610). 적합하지 않은 경우, 다시 작성을 요청하고 적합한 경우 다음 단계를 진행한다.The contract management server 300 receives the written contract from the seller terminal 100 (S609), and determines whether the contract is appropriate (S610). If not, request a rewrite and, if appropriate, proceed to the next step.

판매자로부터 계약서가 적합하게 작성된 경우, 계약 관리 서버(300)는 판매자의 부인 방지를 위한 전자 서명을 진행한다(S611).When the contract is properly written from the seller, the contract management server 300 proceeds with an electronic signature to prevent the seller's denial (S611).

한편, 본 명세서에서는 구매자가 먼저 계약서를 작성하는 것으로 기재하였으나, 구매자와 판매자의 계약서 작성 순서는 계약의 효력과는 무관하다.Meanwhile, in this specification, it is described that the purchaser first prepares the contract, but the order of writing the contract between the purchaser and the seller is irrelevant to the validity of the contract.

계약 관리 서버(300)는 판매자의 계약 이행을 보증하기 위해, 판매자 단말(100)로 판매자 명의의 증권 등록을 요청한다(S612).The contract management server 300 requests the seller terminal 100 to register securities in the seller's name in order to guarantee the seller's contract fulfillment (S612).

판매자 명의의 증권이란, 이행보증보험 형태의 증권을 의미한다. 예를 들어, SGI 서울 보증에서 발행하는 계약 이행보증보험증권, 선급금 이행보증보험증권, 하자 이행보증보험증권 중 어느 하나를 의미할 수 있다. 판매자는 보증 보험 기관에 수수료를 지불하고 위의 증권들을 발급받을 수 있다.Securities in the name of the seller refer to securities in the form of performance guarantee insurance. For example, it may mean any one of a contract performance guarantee insurance policy, an advance payment performance guarantee insurance policy, and a defect performance guarantee insurance policy issued by SGI Seoul Guarantee. The seller can pay a fee to the guarantee insurance agency and obtain the above securities.

판매자 단말(100)은 계약 관리 서버(300)에 판매자의 증권 정보를 전송한다(S613). 예를 들어, 통상적으로 이용되는 계약 이행보증보험증권 정보를 전송할 수 있다.The seller terminal 100 transmits the seller's stock information to the contract management server 300 (S613). For example, it is possible to transmit information on a commonly used contract performance guarantee insurance policy.

계약 관리 서버(300)는 판매자의 증권 정보가 유효한 것인지 판단하여(S614), 유효하지 않은 경우 다시 정보를 요청하고, 유효한 경우 다음 단계를 진행한다.The contract management server 300 determines whether the seller's stock information is valid (S614), requests the information again if it is not valid, and proceeds to the next step if it is valid.

계약 관리 서버(300)는 판매자 서명과 구매자 서명이 포함된 계약서를 블록체인 네트워크(400)에 전송한다(S615).The contract management server 300 transmits a contract including the seller's signature and the buyer's signature to the blockchain network 400 (S615).

블록체인 네트워크(400)는 각 구성원 노드에 계약 원장을 생성한다(S616).The blockchain network 400 generates a contract ledger in each member node (S616).

판매자와 구매자 간 계약이 성립된 이후, 계약 관리 서버(300)는 각 계약 당사자의 계약의 이행 여부 및 계약금의 지급을 관리한다. 이하에서는 계약 관리 서버(300)의 계약 이행 관리 과정에 대해 설명한다. After the contract between the seller and the purchaser is established, the contract management server 300 manages the execution of the contract and payment of the down payment by each contracting party. Hereinafter, a contract execution management process of the contract management server 300 will be described.

도 9는 한 실시예에 따른 계약사항의 이행 내용을 관리하는 과정의 흐름도이다.9 is a flowchart of a process of managing the content of execution of contract matters according to an embodiment.

도 9를 참고하면, 계약 관리 서버(300)는 임의의 방식으로 계약이 체결된 이후, 판매자가 계약 사항을 이행하였는지를 확인하고, 이행 여부에 따라 계약금 또는 대금을 판매자에게 지급하거나 구매자에게 환불한다. 이때 계약금 또는 대금은 계약 당사자들의 가상 지갑으로 입금될 수 있다.Referring to FIG. 9, after the contract is concluded in an arbitrary manner, the contract management server 300 checks whether the seller has fulfilled the contract, and pays the down payment or the price to the seller or refunds the purchaser according to the performance. At this time, the down payment or payment may be deposited into the virtual wallet of the contracting parties.

판매자 단말(100)은 계약 관리 서버(300)에 계약서에 기재된 사항을 이행한 내용을 전송한다(S701). 예를 들어 매매 계약인 경우, 구매자에게 상품을 인도하거나 또는 서비스를 제공한 내용을 전송할 수 있다. The seller terminal 100 transmits the contents of fulfilling the matters described in the contract to the contract management server 300 (S701). For example, in the case of a sales contract, a product may be delivered to a buyer or a content of providing a service may be transmitted.

계약 관리 서버(300)는 블록체인 네트워크(400)에 판매자가 전송한 계약에 대한 계약 원장을 요청한다(S702). 계약 원장은, 도 6에 도시된 판매자 정보, 구매자 정보, 단가, 납품 기한, 구매 동의 여부 등을 포함할 수 있다. The contract management server 300 requests a contract ledger for a contract transmitted by the seller to the blockchain network 400 (S702). The contract ledger may include seller information, buyer information, unit price, delivery deadline, purchase agreement, and the like shown in FIG. 6.

블록체인 네트워크(400)는 계약 관리 서버(300)에 계약 원장을 전송한다(S703).The blockchain network 400 transmits the contract ledger to the contract management server 300 (S703).

계약 관리 서버(300)는 판매자 단말(100)로부터 수신한 이행 내용과 계약 원장에 기재된 사항을 비교한다(S704).The contract management server 300 compares the implementation details received from the seller terminal 100 with the items described in the contract ledger (S704).

일치하는 경우(S705) 즉 판매자가 계약 원장에 기재된 사항을 모두 이행한 경우, 계약 관리 서버(300)는 계약금 계좌(330)로부터 판매자 가상 지갑(310)으로 계약금 또는 대금을 지급한다(S706).In the case of coincidence (S705), that is, when the seller has fulfilled all of the items described in the contract ledger, the contract management server 300 pays the down payment or the price from the down payment account 330 to the seller virtual wallet 310 (S706).

한편, 계약 관리 서버(300)는 판매자에게 계약금을 지급한 이후, 지급된 계약금의 사용처를 제한할 수 있다. 예를 들어 구매자가 정부이고, 판매자가 정부와 임의의 과제 수행 계약을 체결한 낙찰자인 경우, 판매자가 지급받은 계약금, 즉 과제 수행비를 사용하는 곳은 계약서에 명시된 사항으로만 제한될 수 있다. 구체적으로, 과제 또는 프로젝트에 참여하는 인력의 임금, 프로젝트의 운영비와 연결된 계좌로의 입금만을 허용하여 금융 기관 서버(500)로부터 허용된 사용처가 아닌 곳으로부터의 결제 요청이 있는 경우, 계약 관리 서버(300)는 해당 결제를 거절할 수 있다.Meanwhile, the contract management server 300 may limit the usage of the paid down payment after the down payment is paid to the seller. For example, if the buyer is the government and the seller is a successful bidder who has entered into a contract to perform an arbitrary task with the government, the down payment received by the seller, that is, the place where the project performance fee is used may be limited to the items specified in the contract. Specifically, when there is a request for payment from a place other than the permitted use by the financial institution server 500 by allowing only payment to an account connected to the wages of personnel participating in the project or project and the operating cost of the project, the contract management server ( 300) can decline the payment.

다시 도 9로 돌아가서, 판매자 단말(100)로부터 수신한 이행 내용과 계약 원장에 기재된 사항이 일치하지 않는 경우(S705), 계약 관리 서버(300)는 계약금 계좌(330)로부터 구매자 가상 지갑(320)으로 계약금 또는 대금을 환불한다(S707).Returning to FIG. 9 again, when the fulfillment content received from the seller terminal 100 and the matter described in the contract ledger do not match (S705), the contract management server 300 is the purchaser virtual wallet 320 from the down payment account 330 The down payment or the price is refunded (S707).

계약 관리 서버(300)는 블록체인 네트워크(400)에 판매자 가상 지갑(310) 또는 구매자 가상 지갑(320)의 변경된 내역을 저장한다(S708).The contract management server 300 stores the changed details of the seller virtual wallet 310 or the buyer virtual wallet 320 in the blockchain network 400 (S708).

본 발명에 따르면 블록체인과 분산 원장 기반의 서비스이므로, 계약 관련 정보를 안전하게 관리할 수 있고, 운영자의 계약 내용의 위조 또는 변조를 차단할 수 있어 보안성을 높일 수 있다.According to the present invention, since it is a service based on a block chain and a distributed ledger, it is possible to safely manage contract-related information, and to prevent forgery or alteration of contract contents by an operator, thereby increasing security.

또한 본 발명에 따르면, 계약 과정의 각 단계마다 계약 참여자들의 부인 방지를 위한 전자 서명 절차와 관련 서류의 유효성을 검증하는 과정을 포함하여, 계약 참여자들의 신뢰성을 높일 수 있다.In addition, according to the present invention, it is possible to increase the reliability of contract participants by including a process of verifying the validity of related documents and an electronic signature procedure for preventing non-repudiation of contract participants at each step of the contract process.

또한 본 발명에 따르면, 계약 참여자에게만 사용자 인증, 계약 체결, 계약 이행, 계약금 지급 등의 전 과정에 관한 데이터가 공유되도록 하여, 단독의 관리 시스템을 이용하는 효과를 누릴 수 있다.In addition, according to the present invention, data related to the entire process such as user authentication, contract conclusion, contract fulfillment, and down payment payment are shared only with contract participants, so that it is possible to enjoy the effect of using an independent management system.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not implemented only through an apparatus and a method, but may be implemented through a program that realizes a function corresponding to the configuration of the embodiment of the present invention or a recording medium in which the program is recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements by those skilled in the art using the basic concept of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

Claims (11)

계약 관리 서버가 블록체인을 이용하여 계약을 관리하는 방법으로서,
블록체인 네트워크로부터 계약 대상 상품의 정보를 수신하고, 상기 수신한 정보를 구매자 단말에 제공하는 단계,
상기 구매자 단말로부터 상기 계약 대상 상품에 대한 구매 요청을 수신하고, 상기 구매 요청에 대한 부인 방지용 디지털 서명을 요청하는 단계, 그리고
상기 서명이 유효한 경우, 스마트 컨트랙트에 따라 판매자와 구매자 간의 구매 계약을 체결하고, 상기 체결된 계약의 내용을 상기 블록체인 네트워크에 저장하는 단계
를 포함하는 계약 관리 방법.
As a method for the contract management server to manage contracts using a blockchain,
Receiving information on a contract target product from a blockchain network, and providing the received information to a purchaser terminal,
Receiving a purchase request for the contracted product from the purchaser terminal, and requesting a non-repudiation digital signature for the purchase request, and
If the signature is valid, signing a purchase contract between the seller and the buyer according to a smart contract, and storing the contents of the signed contract in the blockchain network.
Contract management method, including.
제1항에서,
상기 제공하는 단계 이전에,
판매자 단말로부터 상기 계약 대상 상품의 정보를 수신하는 단계,
상기 판매자 단말에 신원 확인 및 부인 방지를 위한 디지털 서명을 요청하는 단계,
상기 판매자 단말로부터 공개키와 서명의 원본을 포함한 데이터를 수신하고, 상기 공개키를 이용하여 수신한 상기 서명의 유효성을 판단하는 단계, 그리고
상기 서명이 유효한 경우, 상기 계약 대상 상품의 정보를 상기 블록체인 네트워크에 저장하는 단계
를 더 포함하는, 계약 관리 방법.
In claim 1,
Prior to the providing step,
Receiving information on the contract target product from the seller terminal,
Requesting a digital signature for identification and non-repudiation to the seller terminal,
Receiving data including the original public key and signature from the seller terminal, and determining the validity of the received signature using the public key, and
If the signature is valid, storing the information of the contract target product in the blockchain network
Further comprising a, contract management method.
제2항에서,
상기 판매자 단말 및 상기 구매자 단말은,
각 단말의 식별 정보를 등록하고, 각 단말로부터 상기 등록된 식별 정보를 입력 받아 인증되거나 또는 OTP 인증 방식 중 어느 하나에 의해 인증된, 계약 관리 방법.
In paragraph 2,
The seller terminal and the buyer terminal,
Registering the identification information of each terminal, receiving the registered identification information from each terminal and authenticated or authenticated by any one of the OTP authentication method, contract management method.
제1항에서,
상기 저장하는 단계 이후에,
상기 판매자 단말로부터 상기 체결된 계약의 이행 내역을 수신하는 단계,
상기 이행 내역과 상기 블록체인 네트워크에 저장된 상기 계약의 내용을 비교하여 일치하는 경우, 판매자 가상 지갑으로 계약금을 지급하는 단계, 그리고,
상기 이행 내역 및 계약금 지급 내역을 상기 블록체인 네트워크에 저장하는 단계
를 더 포함하는, 계약 관리 방법.
In claim 1,
After the storing step,
Receiving the execution details of the concluded contract from the seller terminal,
Comparing the performance details with the contents of the contract stored in the blockchain network, and if they match, paying a down payment to the seller virtual wallet, and
Storing the performance details and payment details of the down payment in the blockchain network
Further comprising a, contract management method.
계약 관리 서버가 블록체인을 이용하여 계약을 관리하는 방법으로서,
블록체인 네트워크에 저장된 제안 요청서, 낙찰 조건을 포함하는 스마트 컨트랙트, 그리고 복수의 입찰 제안서들을 포함하는 입찰 정보를 요청하는 단계,
상기 블록체인 네트워크로부터 상기 입찰 정보를 수신하고, 상기 낙찰 조건에 따라 낙찰자를 선정하는 단계,
낙찰자 단말과 요청자 단말로 계약서 작성 및 상기 계약서의 부인 방지용 서명을 요청하고, 각 단말로부터 서명을 각각 수신하는 단계, 그리고
상기 서명들이 모두 유효한 경우, 낙찰자와 요청자 간 계약을 체결하고, 상기 낙찰자 서명 및 상기 요청자 서명을 포함한 상기 계약서를 상기 블록체인 네트워크에 저장하는 단계
를 포함하는, 계약 관리 방법.
As a method for the contract management server to manage contracts using a blockchain,
Requesting a request for a proposal stored in a blockchain network, a smart contract including a successful bid condition, and bidding information including a plurality of bid proposals,
Receiving the bidding information from the blockchain network and selecting a successful bidder according to the successful bid condition,
A step of creating a contract and requesting a non-repudiation signature of the contract with the successful bidder terminal and the requester terminal, and receiving signatures from each terminal, and
If all the signatures are valid, signing a contract between the successful bidder and the requester, and storing the contract including the successful bidder's signature and the requester's signature in the blockchain network
Including, contract management method.
제5항에서,
상기 서명을 수신하는 단계는,
상기 낙찰자의 증권 정보를 요청하여 수신하는, 계약 관리 방법.
In clause 5,
Receiving the signature,
A contract management method for requesting and receiving stock information of the successful bidder.
제5항에서,
상기 제안 요청서와 상기 낙찰 조건은,
상기 요청자 단말로부터 상기 제안 요청서와 상기 낙찰 조건을 수신하고, 상기 요청자 단말의 디지털 서명을 이용한 인증 절차를 거쳐 생성되고,
상기 복수의 입찰 제안서들은,
복수의 입찰자 단말들로부터 입찰 제안서들을 수신하고, 각 입찰자 단말마다 디지털 서명을 이용한 인증 절차를 거쳐 생성된, 계약 관리 방법.
In clause 5,
The request for proposal and the conditions of the successful bid,
The proposal request and the successful bid condition are received from the requester terminal, and are generated through an authentication procedure using a digital signature of the requester terminal,
The plurality of bid proposals,
A contract management method that receives bid proposals from a plurality of bidder terminals, and is generated through an authentication procedure using a digital signature for each bidder terminal.
제5항에서,
상기 저장하는 단계 이후에,
상기 낙찰자 단말로부터 상기 작성된 계약서의 이행 내역을 수신하는 단계,
상기 이행 내역과 상기 블록체인 네트워크에 저장된 상기 계약서의 내용을 비교하여 일치하는 경우, 낙찰자 가상 지갑으로 계약금을 지급하는 단계, 그리고
상기 이행 내역 및 계약금 지급 내역을 블록체인 네트워크에 저장하는 단계
를 더 포함하는, 계약 관리 방법.
In clause 5,
After the storing step,
Receiving the execution details of the created contract from the successful bidder terminal,
Comparing the performance details with the contents of the contract stored in the blockchain network, and if they match, paying a down payment to the successful bidder's virtual wallet, and
Storing the performance details and payment details of the down payment in a blockchain network
Further comprising a, contract management method.
계약 관리 서버가 블록체인을 이용하여 계약을 관리하는 방법으로서,
제1 단말로부터 계약 관련 정보, 공개키와 서명의 원본을 포함한 데이터를 수신하는 단계,
상기 공개키를 이용하여 수신한 상기 제1 단말의 서명의 유효성을 판단하는 단계, 그리고
상기 제1 단말의 서명이 유효한 경우, 상기 제1 단말의 서명이 포함된 상기 계약 관련 정보를 스마트 컨트랙트로 작성하여 블록체인 네트워크에 저장하는 단계,
제2 단말로부터 상기 계약 관련 정보에 따른 계약 체결 요청을 수신하는 단계,
상기 제1 단말 및 상기 제2 단말의 부인 방지용 디지털 서명을 진행하는 단계, 그리고
각 디지털 서명들이 모두 유효한 경우, 상기 스마트 컨트랙트에 따라 계약을 체결하고, 상기 각 디지털 서명들을 모두 포함한 계약서를 상기 블록체인 네트워크에 저장하는 단계
를 포함하는, 계약 관리 방법.
As a method for the contract management server to manage contracts using a blockchain,
Receiving data including contract-related information, public key and original signature of the first terminal,
Determining the validity of the signature of the first terminal received using the public key, and
If the signature of the first terminal is valid, writing the contract-related information including the signature of the first terminal as a smart contract and storing it in a blockchain network,
Receiving a contract conclusion request according to the contract-related information from a second terminal,
Proceeding a digital signature for non-repudiation of the first terminal and the second terminal, and
When all digital signatures are valid, signing a contract according to the smart contract, and storing a contract including all the digital signatures in the blockchain network
Including, contract management method.
제9항에서,
상기 제1 단말 및 상기 제2 단말은,
각 단말의 식별 정보를 등록하고, 각 단말로부터 상기 등록된 식별 정보를 입력 받아 인증되거나 또는 OTP 인증 방식 중 어느 하나에 의해 인증된, 계약 관리 방법.
In claim 9,
The first terminal and the second terminal,
Registering the identification information of each terminal, receiving the registered identification information from each terminal and authenticated or authenticated by any one of the OTP authentication method, contract management method.
제9항에서,
상기 계약서를 상기 블록체인 네트워크에 저장하는 단계 이후에,
상기 제1 단말 또는 상기 제2 단말로부터 상기 체결된 계약의 이행 내역을 수신하는 단계, 그리고
상기 이행 내역과 상기 블록체인 네트워크에 저장된 상기 계약서를 비교하여 일치하는 경우, 상기 이행 내역을 상기 블록체인 네트워크에 저장하는 단계
를 더 포함하는, 계약 관리 방법.
In claim 9,
After the step of storing the contract in the blockchain network,
Receiving the execution details of the concluded contract from the first terminal or the second terminal, and
Comparing the implementation details with the contract stored in the blockchain network, and if they match, storing the implementation details in the blockchain network
Further comprising a, contract management method.
KR1020190126275A 2019-10-11 2019-10-11 Method of contract management based on block cahin KR102314573B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190126275A KR102314573B1 (en) 2019-10-11 2019-10-11 Method of contract management based on block cahin

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190126275A KR102314573B1 (en) 2019-10-11 2019-10-11 Method of contract management based on block cahin

Publications (2)

Publication Number Publication Date
KR20210043278A true KR20210043278A (en) 2021-04-21
KR102314573B1 KR102314573B1 (en) 2021-10-19

Family

ID=75744045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190126275A KR102314573B1 (en) 2019-10-11 2019-10-11 Method of contract management based on block cahin

Country Status (1)

Country Link
KR (1) KR102314573B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102477616B1 (en) * 2022-03-14 2022-12-13 장미래 Blockchain-based electronic document management service providing device, method and program
KR20230018207A (en) * 2021-07-29 2023-02-07 주식회사 에어핏 Method and apparatus for providing subscription service for filter replacement of ventilator

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101857223B1 (en) * 2017-11-13 2018-05-11 주식회사 온더 Method and system for user identification based block chain token
KR20190057909A (en) * 2017-11-21 2019-05-29 한국과학기술연구원 Real estate contract method and broker system based on block chain
KR20190059491A (en) * 2017-11-23 2019-05-31 박동화 System and method for e-commerce with shared and distributed ledger coupled with outer storage devices
KR20190089506A (en) * 2018-01-23 2019-07-31 박동화 System and method for e-contract with shared and distributed ledger coupled with outer storage devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101857223B1 (en) * 2017-11-13 2018-05-11 주식회사 온더 Method and system for user identification based block chain token
KR20190057909A (en) * 2017-11-21 2019-05-29 한국과학기술연구원 Real estate contract method and broker system based on block chain
KR20190059491A (en) * 2017-11-23 2019-05-31 박동화 System and method for e-commerce with shared and distributed ledger coupled with outer storage devices
KR20190089506A (en) * 2018-01-23 2019-07-31 박동화 System and method for e-contract with shared and distributed ledger coupled with outer storage devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230018207A (en) * 2021-07-29 2023-02-07 주식회사 에어핏 Method and apparatus for providing subscription service for filter replacement of ventilator
KR102477616B1 (en) * 2022-03-14 2022-12-13 장미래 Blockchain-based electronic document management service providing device, method and program

Also Published As

Publication number Publication date
KR102314573B1 (en) 2021-10-19

Similar Documents

Publication Publication Date Title
JP7204231B2 (en) Any device, system or method that facilitates value transfer between parties with low or no trust
KR102388233B1 (en) Service providing method performing server of music platform using nft based on blockchain
TWI822653B (en) Blockchain-based exchange with tokenisation
US20190340607A1 (en) System for central authority-permissioned transfer of blockchain tokens
CN109074580B (en) Method and system for secure transfer of entities over a blockchain
US6236972B1 (en) Method and apparatus for facilitating transactions on a commercial network system
CN112749957A (en) Asset right management system and method based on block chain
US20170011460A1 (en) Systems and methods for trading, clearing and settling securities transactions using blockchain technology
US20210358038A1 (en) Decentralized system for maintaining fractionalized interests in physical assets
KR20180117124A (en) Method and system for efficient transmission of objects in a block chain
JP2017504127A (en) Rights transfer and verification
US8249921B2 (en) Method for facilitating a transaction between buyers and sellers
US20190385236A1 (en) Systems And Methods For Tokenizing Private Finance Using A Distributed Ledger
US20240029150A1 (en) Methods and systems for authenticated distribution upon occurrence of a triggering event using blockchain
US20220027902A1 (en) Decentralized system for fractionalized tokens
CN112435006A (en) Patent overall process management method, system and equipment applying block chain technology
CN114096978A (en) Digital asset management system and method
KR102314573B1 (en) Method of contract management based on block cahin
WO2020236029A1 (en) Method to ensure the validity of the warehouse receipt and device for it implementation
CN113939841A (en) Transaction suggestion apparatus, system and method
KR102059175B1 (en) A method and system of crypto-currency transaction management based on crypto-currency wallet.
WO2023201360A2 (en) Method, controller, and computer-readable medium for replacement of a cancelled repeating transfer data structure on a distributed transfer network
KR20200130558A (en) Method for operating a crypto-currency exchange
US20200058004A1 (en) System and Method of Guarantee Payments
CN113010853B (en) Policy matching service system and method

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant