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

Method of contract management based on block cahin Download PDF

Info

Publication number
KR102314573B1
KR102314573B1 KR1020190126275A KR20190126275A KR102314573B1 KR 102314573 B1 KR102314573 B1 KR 102314573B1 KR 1020190126275 A KR1020190126275 A KR 1020190126275A KR 20190126275 A KR20190126275 A KR 20190126275A KR 102314573 B1 KR102314573 B1 KR 102314573B1
Authority
KR
South Korea
Prior art keywords
contract
terminal
seller
signature
request
Prior art date
Application number
KR1020190126275A
Other languages
Korean (ko)
Other versions
KR20210043278A (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)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

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

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 blockchain-based contract management method.

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

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

이러한 중앙화 구조의 계약관리 시스템의 성능 저하, 취약한 보안, 데이터 입력시 오류 발생 가능성, 초기 비용 부담으로 인한 서비스 접근성 문제를 해결하기 위해 블록체인과 스마트 컨트랙트를 이용한 계약 관리 방법이 요구된다.
(특허문헌 1) KR10-2018-0113140 A
(특허문헌 2) KR10-2019-0019004 A
A contract management method using block chain and smart contract is required to solve the service accessibility problems caused by the performance degradation of the centralized contract management system, weak security, the possibility of errors in data input, and the initial cost burden.
(Patent Document 1) KR10-2018-0113140 A
(Patent Document 2) KR10-2019-0019004 A

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

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

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

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

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

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

상기 서명을 수신하는 단계는, 상기 낙찰자의 증권 정보를 요청하여 수신할 수 있다.The receiving of the signature may include requesting and receiving securities information of the successful bidder.

상기 제안 요청서와 상기 낙찰 조건은, 상기 요청자 단말로부터 상기 제안 요청서와 상기 낙찰 조건을 수신하고, 상기 요청자 단말의 디지털 서명을 이용한 인증 절차를 거쳐 생성되고, 상기 복수의 입찰 제안서들은, 복수의 입찰자 단말들로부터 입찰 제안서들을 수신하고, 각 입찰자 단말마다 디지털 서명을 이용한 인증 절차를 거쳐 생성될 수 있다.The proposal request form and the successful bid condition are generated by receiving the proposal request form and the successful bid condition from the requestor terminal, and performing an authentication procedure using a digital signature of the requester terminal, and the plurality of bid proposals are, a plurality of bidder terminals Bidding proposals are 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 written contract from the successful bidder terminal, comparing the execution details with the contents of the contract stored in the blockchain network and paying the down payment to the successful bidder virtual wallet if they match and storing the implementation details and down payment details in a block chain network.

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

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

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

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

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

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

도 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 exemplary embodiment.
3 is a flowchart of a method for a contract management server to authenticate a user terminal according to an embodiment.
4 is a flowchart of a process in which a seller registers a contract product according to an exemplary embodiment.
5 is a flowchart of a process in which a buyer purchases a contract product according to an exemplary 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 exemplary embodiment.
8 is a flowchart illustrating a process of selecting a successful bidder and concluding a contract according to an exemplary embodiment.
9 is a flowchart of a process of managing execution details of a contract according to an exemplary embodiment.

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

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

본 명세서에서 계약 체결은 판매자가 미리 거래의 대상이 되는 상품 또는 서비스를 계약 관리 서버(300)에 업로드하고, 구매자가 이를 선택하여 계약이 체결되는 방식으로 이루어지거나, 또는 구매자가 다수의 판매자 중 원하는 판매자를 결정하기 위해 입찰에 부쳐, 계약하고자 하는 판매자를 결정하는 입찰 방식으로 이루어질 수 있다. 편의상 전자를 상품형, 후자를 입찰형이라 호칭한다. In the present specification, the contract is concluded in such a way that the seller uploads the product or service that is the target of the transaction in advance to the contract management server 300 and the buyer selects it and the contract is concluded, or the buyer wants one of a plurality of sellers. A bidding may be made to determine the seller, and the bidding method may be performed to determine the seller to be contracted with. For convenience, the former is referred to as a commodity type and the latter as a bidding type.

한편 계약 관리 서버(300)는 매매 또는 입찰에 의한 계약뿐만 아니라 일반적인 계약을 관리할 수 있으며 관리할 수 있는 계약의 종류는 어느 하나에 제한되지 않는다. 또한 입찰의 종류도 제한 경쟁, 일반 경쟁, 지명 경쟁 등이 될 수 있으며 어느 하나에 제한되지 않는다.Meanwhile, the contract management server 300 may manage general contracts as well as contracts by sale 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., but is not limited to any one.

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

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

판매자 단말(100)은 계약 상품을 계약 관리 서버(300)에 업로드하려는 판매자의 단말을 의미한다. 입찰형으로 계약이 이루어지는 경우는, 입찰에 참여하는 역할을 할 수 있다. The seller terminal 100 means a terminal of a seller who wants to upload a contract product to the contract management server 300 . When a contract is made in a bidding type, it may play a role in 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 bidding type, it may mean a terminal of a person who makes a bid.

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

한편, 계약 관리 서버(300)는 판매자 가상 지갑(310), 구매자 가상 지갑(320) 그리고 계약금 계좌(330)를 포함한다.Meanwhile, 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 to the seller by the contract management server 300 , and the seller can receive the price of the sold product through the virtual wallet. If the contract is concluded in the form of bidding, you can receive a down payment based on a bid proposal or 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 registered prepaid card connected to the account of the seller virtual wallet 310 .

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

계약금 계좌(330)는 실제로 구매자로부터 입금된 계약금 또는 물품의 대금이 관리되는 계좌이다. 또한 금융 기관 서버(500)와 연결되어 있어, 판매자 또는 낙찰자가 각자의 가상 지갑의 계약금을 사용하는 경우, 계약금 계좌(330)에 있는 금액이 금융 기관 서버(500)로 이체된다.The down payment account 330 is an account in which the down payment or the price of goods actually deposited from the buyer is managed. Also, since it is connected to the financial institution server 500 , when a seller or a successful bidder uses the down payment of their respective virtual wallets, 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 seller and buyer information, contract information including contract details, and contract conclusion or cancellation details. In addition, smart contract code including contract details is stored, and the code can be executed by member nodes constituting the block chain network 400 .

블록체인 네트워크(400)에 계약 관련 정보들이 기록되고 저장되므로, 계약 관리 서버(300)의 또는 블록체인 네트워크(400)에 접근할 수 있는 권한을 가진 판매자, 구매자 또는 제3자는 저장된 정보의 진위를 검증할 수 있다.Since contract-related information is recorded and stored in the block chain network 400, the seller, buyer, or third party with authority to access the contract management server 300 or the block chain 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 when the seller uses the prepaid card, the payment is paid to the card use place. On the other hand, the seller's use of the prepaid card may be limited to the place specified in the contract depending on 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 the process from information exchange between the seller and the buyer to the conclusion of the contract will be described. Fig. 2 describes the process of entering into a general contract, Figs. 4 to 5 describe a commodity-type contract, Figs. 6 to 8 describe a bidding-type contract, and Fig. 9 is a down payment management according to whether the contract is fulfilled explain about

도 2는 한 실시예에 따른 계약 체결 과정의 흐름도이다.2 is a flowchart of a contract conclusion process according to an exemplary 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 for confirming the identity of the seller from the seller terminal 100 (S102).

판매자 단말(100)은 공개키 암호 알고리즘을 이용하여 디지털 서명을 한다(S103). 구체적으로, 디지털 서명은 서명키 생성 단계, 서명 단계, 서명 확인 단계로 구성된다. 판매자 단말(100)은 공개키와 개인키를 생성하고, 서명 원본을 해싱하여 해시 값을 생성하고, 해시 값을 서명용 개인키로 해싱하여 전자 서명을 생성한다. 한편 전자 서명을 디지털 서명이라고도 한다. 해시 값을 생성하기 위해 사용되는 해시함수는 SHA256 등의 이미 알려진 함수일 수 있다.The seller terminal 100 performs a digital signature using a public key encryption algorithm (S103). Specifically, a digital signature consists of a signing 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 generates an electronic signature by hashing the hash value with a private key for signature. On the other hand, an electronic signature is also called a digital signature. 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 it with a hash value obtained by hashing the original signature to confirm that the digital signature is not forged or forged. (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, proceed to the next step S107, and if it is confirmed that the signature is forged or falsified, return to step S102 and request a digital signature from the seller terminal 100.

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

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

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

블록체인 네트워크(400)는 네트워크를 구성하는 각 노드에 계약 원장을 생성한다(S108). 각 노드가 공유하는 블록에 저장된 데이터는 분산 원장의 특성상 변경이 매우 어려우므로 조작될 수 없다. 따라서 블록체인 기반의 계약 관리 서버(300)는 신뢰성, 투명성을 제공할 수 있다.The blockchain network 400 creates a contract ledger in each node constituting the network (S108). The data stored in the block 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 the electronic signature for non-repudiation of the seller and the electronic signature for identification and non-repudiation of the purchaser (S109). In this case, the contract management server 300 may transmit the identity information of the seller confirmed through step P11 to the purchaser terminal 200 . Since the digital signature proceeding step is the same procedure as described in P11, a detailed description thereof will be omitted.

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

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

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

도 3은 한 실시예에 따른 계약 관리 서버가 사용자 단말을 인증하는 방법의 흐름도이다.3 is a flowchart of a method for a contract management server to authenticate a user terminal 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 buyer terminal 200 , and checks whether the registered device is used when the seller or the buyer accesses the contract management server 300 .

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

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

계약 관리 서버(300)는 판매자 단말(100) 또는 구매자 단말(200)이 MAC 주소를 사용하여 등록된 경우, 단말의 MAC 주소 입력을 요청하고 수신하고, 위치 정보를 사용하여 등록된 경우, 단말의 위치 정보 입력을 요청하고 수신한다(S202).The contract management server 300 requests and receives the input of the MAC address of the terminal when the seller terminal 100 or the buyer terminal 200 is registered using the MAC address, and when registered using the location information, the terminal's It requests and receives 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 during 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 when 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 authentication of the terminal and allows access (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 blocks the connection of the terminal when authentication fails three or more times (S208) (S209). Meanwhile, in the present specification, the number of authentication attempts is limited to three, but the number of authentication attempts is merely 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 buyer terminal 200 is registered as 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 whether or not authentication is successful from the authentication server (S207), and if the authentication is successful, completes the authentication of the terminal and allows access (S205).

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

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

도 4는 한 실시예에 따른 판매자가 계약 상품을 등록하는 과정의 흐름도이다.4 is a flowchart of a process in which a seller registers a contract product according to an exemplary 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 to be traded.

계약 관리 서버(300)는 판매자 단말(100)로 부인 방지용 서명을 요청한다(S302). 부인 방지용 서명은 디지털 서명 방식으로 진행되며, 이하 S302 내지 S306 단계는 도 2의 P11과 동일하므로, 자세한 설명을 생략한다. The contract management server 300 requests a non-repudiation signature from 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 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 the contract product information as a smart contract and transmits it to the block chain network 400 (S307).

블록체인 네트워크(400)는 구성원 노드에 스마트 컨트랙트를 저장한다(S308). 즉 계약 상품의 내용은 스마트 컨트랙트로 작성되어, 분산 원장 방식으로 블록체인 네트워크(400)에 기록되며, 이때 블록체인 네트워크(400)는 비공개형일 수 있다. The 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, in which case the blockchain network 400 may be of a private type.

도 5는 한 실시예에 따른 구매자가 계약 상품을 구매하는 과정의 흐름도이고, 도 6은 한 실시예에 따른 스마트 컨트랙트에 포함된 계약 원장의 예시도이다.5 is a flowchart of a process in which a buyer purchases a contract product according to an embodiment, and FIG. 6 is an exemplary diagram 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 the registered contract products 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 block chain network 400 (S402), and receives information on the contract products (S403).

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

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

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

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

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

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

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

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

판매자 단말(100)은 작성된 동의서와 함께 계약 관리 서버(300)로 계약 체결을 요청한다(S409).The seller terminal 100 requests the contract management server 300 to conclude a contract 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 to be contracted.

S407 단계의 구매자 서명이 유효한 경우, 계약 관리 서버(300)는 판매자 단말(100)과 구매자 단말(200)로 각각 계약이 가체결되었음을 알린다(S410).When 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 pre-concluded, respectively (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 buyer confirms the purchase, the buyer pays the seller for the product, and transmits the purchase decision details to the contract management server 300 through the buyer terminal 200 (S412). Meanwhile, the price may be paid in the virtual currency of the buyer virtual wallet 320 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 content that the contract is concluded to the block chain 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 essential conditions stated in the purchase requisition;

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

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

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

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

블록체인 네트워크(400)는 각 노드에 계약 해지 내용을 저장한다(S418).The blockchain network 400 stores the contract cancellation 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 exemplary embodiment.

도 7을 참고하면, 구매자는 제안 요청서와 낙찰 조건을 작성하여 구매자 단말(200)을 통해 계약 관리 서버(300)로 전송한다(S501). 이때 구매자는 입찰의 종류가 경쟁 입찰인지, 제한 입찰인지에 관한 정보를 포함하여 제안 요청서를 작성할 수 있다. Referring to FIG. 7 , the buyer prepares a proposal request form and successful bid conditions and transmits them to the contract management server 300 through the buyer terminal 200 ( S501 ). In this case, the buyer may write a request for proposal including information on whether the type of 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 from denying it (S502). Since the electronic signature process is the same as described with reference to P11 of FIG. 2 , a description thereof will be omitted.

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

따라서, 각 계약의 성격에 따라 설정된 낙찰 조건을 만족하는 판매자가 나타나는 경우, 조건을 충족시키는 것과 동시에 계약이 성립하게 된다. 예를 들어, 계약의 종류가 도급 계약이고, 구매자는 용역 업체를 모집하기 위한 제안 요청서 및 낙찰 조건으로서, 관련 업무의 경험 여부, 용역 업체의 위치, 용역 업체의 규모, 용역 업체의 관련 업무의 실적 등을 포함할 수 있다. 위의 조건들이 스마트 컨트랙트의 코드에 포함되어, 조건들을 만족하는 입찰 제안서를 수신하는 경우, 코드가 실행되어 계약이 체결될 수 있다. Accordingly, when a seller who satisfies the conditions for successful bids 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 subcontract contract, and the buyer is a request for a proposal to recruit a service company and a condition for a successful bid. 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 read the buyer'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 the proposal request from the block chain network 400 (S506, S507), and transmits it to the seller terminal 100 again (S508). Meanwhile, according to the type of bid, the contract management server 300 may deliver the proposal request only to the seller terminal 100 that satisfies a predetermined condition.

판매자 단말(100)은 제안 요청서의 내용에 따라 작성된 입찰 제안서를 계약 관리 서버(300)에 전송한다(S509). The seller terminal 100 transmits a bid proposal prepared 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, the bid proposal is received again from the seller terminal 100 .

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

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

블록체인 네트워크(400)는 각 노드에 입찰 제안서를 저장한다(S513). 이후 구매자 단말(200)은 저장된 입찰 제안서를 계약 관리 서버(300)를 통해 열람할 수 있다. The blockchain network 400 stores the 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 illustrating a process of selecting a successful bidder and concluding a contract according to an exemplary embodiment.

도 8을 참고하면, 계약 관리 서버(300)는 블록체인 네트워크(400)에 제안 요청서, 낙찰 조건, 입찰 제안자들의 정보를 요청한다(S601).Referring to FIG. 8 , the contract management server 300 requests the block chain network 400 for a proposal request form, successful bid conditions, and information on bid proposers ( 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 that meets the successful bid conditions from among the bid proposers 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 contract written from the purchaser terminal 200 (S605), and determines whether the contract is appropriate (S606). If it does not fit, request a rewrite and, if appropriate, proceed to the next step.

계약서가 적합하게 작성된 경우, 계약 관리 서버(300)는 구매자의 부인 방지를 위한 P11 단계와 동일한 전자 서명을 진행한다(S607).When the contract is properly written, the contract management server 300 proceeds with the same electronic signature as in step P11 for non-repudiation of the buyer (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 it does not fit, 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 for the seller's non-repudiation (S611).

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

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

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

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

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

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

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

판매자와 구매자 간 계약이 성립된 이후, 계약 관리 서버(300)는 각 계약 당사자의 계약의 이행 여부 및 계약금의 지급을 관리한다. 이하에서는 계약 관리 서버(300)의 계약 이행 관리 과정에 대해 설명한다. After the contract between the seller and the buyer is established, the contract management server 300 manages whether each contract party performs the contract and the payment of the down payment. 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 execution details of a contract according to an exemplary 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 a down payment or payment to the seller or refunds the buyer depending on whether the contract is fulfilled. In this case, the down payment or payment may be deposited into the virtual wallets 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, delivery of goods or provision of services to the buyer may be transmitted.

계약 관리 서버(300)는 블록체인 네트워크(400)에 판매자가 전송한 계약에 대한 계약 원장을 요청한다(S702). 계약 원장은, 도 6에 도시된 판매자 정보, 구매자 정보, 단가, 납품 기한, 구매 동의 여부 등을 포함할 수 있다. The contract management server 300 requests the contract ledger for the 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, etc. 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 matters described in the contract ledger (S704).

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

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

다시 도 9로 돌아가서, 판매자 단말(100)로부터 수신한 이행 내용과 계약 원장에 기재된 사항이 일치하지 않는 경우(S705), 계약 관리 서버(300)는 계약금 계좌(330)로부터 구매자 가상 지갑(320)으로 계약금 또는 대금을 환불한다(S707).Returning to FIG. 9 again, when the fulfillment information received from the seller terminal 100 and the items described in the contract ledger do not match (S705), the contract management server 300 stores the purchaser virtual wallet 320 from the down payment account 330. to refund the down payment or the amount (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 blockchain and distributed ledger-based service, contract-related information can be safely managed, and the operator's forgery or falsification of contract contents can be blocked, thereby enhancing security.

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

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

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiment of the present invention described above is not implemented only through the apparatus and method, but may be implemented through a program for realizing 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 improved forms of the present invention are also provided by those skilled in the art using the basic concept of the present invention as defined in the following claims. is within the scope of the right.

Claims (11)

계약 관리 서버가 블록체인을 이용하여 계약을 관리하는 방법으로서,
판매자 단말로부터 계약 대상 상품의 정보를 수신하는 단계,
상기 판매자 단말에 신원 확인 및 부인 방지를 위한 디지털 서명을 요청하는 단계,
상기 판매자 단말로부터 공개키와 판매자 서명의 원본을 포함한 데이터를 수신하고, 상기 공개키를 이용하여 수신한 상기 판매자 서명의 유효성을 판단하는 단계, 그리고
상기 판매자 서명이 유효한 경우, 상기 계약 대상 상품의 정보를 스마트 컨트랙트로 작성하여 블록체인 네트워크에 저장하는 단계,
상기 블록체인 네트워크로부터 상기 계약 대상 상품의 정보를 수신하고, 상기 수신한 정보를 구매자 단말에 제공하는 단계,
상기 구매자 단말로부터 상기 계약 대상 상품에 대한 구매 요청을 수신하고, 상기 구매 요청의 적합성을 판단하는 단계,
상기 구매 요청이 적합한 경우, 상기 구매 요청에 대한 부인 방지용 구매자 서명을 요청하는 단계,
상기 구매자 서명이 유효한 경우, 상기 판매자 단말로 상기 구매 요청에 따른 상품을 납품한다는 의사 표시를 포함하는 동의서를 전송하는 단계,
상기 판매자 단말로부터 상기 동의서와 함께 계약 체결 요청을 수신하는 단계,
스마트 컨트랙트에 포함된 계약 사항에 따라 판매자와 구매자 간의 구매 계약을 체결하고, 상기 체결된 계약의 내용을 상기 블록체인 네트워크에 저장하는 단계,
상기 판매자 단말로부터 상기 체결된 계약의 이행 내역을 수신하는 단계,
상기 이행 내역과 상기 블록체인 네트워크에 저장된 상기 계약의 내용을 비교하여 일치하는 경우, 구매자 가상 지갑에서 판매자 가상 지갑으로 지급된 금액을 지급 내역으로 기록하는 단계,
상기 이행 내역 및 상기 지급 내역을 상기 블록체인 네트워크에 저장하는 단계, 그리고
상기 판매자 가상 지갑으로 지급한 금액의 사용처를 제한하고, 금융 기관 서버로부터 허용되지 않은 사용처에 대한 결제 요청을 수신하는 경우, 상기 결제 요청을 거절하는 단계를 포함하고,
상기 금융 기관 서버에 연결된 계약금 계좌에서 상기 구매자가 상기 판매자에게 지급하는 금액이 관리되고, 상기 판매자가 상기 구매자 가상 지갑에서 상기 판매자 가상 지갑으로 지급된 금액을 사용하는 경우, 상기 계약금 계좌에 있는 금액이 상기 금융 기관 서버로 이체되는, 계약 관리 방법.
A method for a contract management server to manage a contract using a blockchain, comprising:
Receiving the information of the contract target product from the seller terminal;
requesting a digital signature for identification and non-repudiation from the seller terminal;
receiving data including a public key and an original of the seller's signature from the seller terminal, and determining the validity of the received seller's signature using the public key; and
If the seller's signature is valid, writing the contract product information into a smart contract and storing it in a blockchain network;
receiving information on the contract product from the 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 determining suitability of the purchase request;
if the purchase request is appropriate, requesting a non-repudiation purchaser signature for the purchase request;
If the buyer's signature is valid, transmitting a consent form including an expression of intention to deliver the product according to the purchase request to the seller terminal;
receiving a contract conclusion request together with the consent form from the seller terminal;
Concluding a purchase contract between the seller and the buyer according to the contract details included in the smart contract, and storing the contents of the concluded contract in the block chain network;
receiving the execution details of the concluded contract from the seller terminal;
Comparing the execution details with the contract contents stored in the blockchain network and recording the amount paid from the buyer virtual wallet to the seller virtual wallet as payment details,
storing the fulfillment details and the payment details in the blockchain network; and
Restricting the usage of the amount paid to the merchant virtual wallet, and rejecting the payment request when receiving a payment request for an unauthorized usage from a financial institution server,
The amount paid by the buyer to the seller is managed in the down payment account connected to the financial institution server, and when the seller uses the amount paid from the buyer virtual wallet to the seller virtual wallet, the amount in the down payment account is transferred to the financial institution server.
삭제delete 제1항에서,
상기 판매자 단말 및 상기 구매자 단말은,
각 단말의 식별 정보를 등록하고, 각 단말로부터 상기 등록된 식별 정보를 입력 받아 인증되거나 또는 OTP 인증 방식 중 어느 하나에 의해 인증된, 계약 관리 방법.
In claim 1,
The seller terminal and the buyer terminal,
A contract management method that registers identification information of each terminal, receives the registered identification information from each terminal, and is authenticated or authenticated by any one of the OTP authentication methods.
삭제delete 계약 관리 서버가 블록체인을 이용하여 계약을 관리하는 방법으로서,
요청자 단말로부터 제안 요청서와 낙찰 조건을 수신하는 단계,
상기 요청자 단말에 신원 확인 및 부인 방지를 위한 요청자 서명을 요청하고, 상기 요청자 서명이 유효한 경우, 상기 제안 요청서와 상기 낙찰 조건을 스마트 컨트랙트로 작성하여 블록체인 네트워크에 저장하는 단계,
상기 제안 요청서를 요청한 적어도 하나의 입찰자 단말 각각으로 상기 제안 요청서를 전달하고, 상기 제안 요청서에 대한 입찰 제안서를 수신하는 단계,
상기 입찰자 단말에 신원 확인 및 부인 방지를 위한 판매자 서명을 요청하고, 상기 입찰자 단말의 서명이 유효한 경우, 상기 입찰 제안서를 상기 블록체인 네트워크에 저장하는 단계,
상기 블록체인 네트워크에 저장된 상기 스마트 컨트랙트, 그리고 복수의 입찰 제안서들을 포함하는 입찰 정보를 요청하는 단계,
상기 블록체인 네트워크로부터 상기 입찰 정보를 수신하고, 상기 스마트 컨트랙트에 포함된 상기 낙찰 조건에 따라 상기 복수의 입찰 제안서들 중에서 낙찰자를 선정하는 단계,
낙찰자 단말과 상기 요청자 단말로 계약서 작성 및 상기 계약서의 부인 방지용 서명을 요청하고, 각 단말로부터 서명을 각각 수신하는 단계,
상기 계약서에 대한 서명들이 모두 유효한 경우, 낙찰자와 요청자 간 계약을 체결하고, 상기 낙찰자 단말의 서명 및 상기 요청자 단말의 서명을 포함한 상기 계약서를 상기 블록체인 네트워크에 저장하는 단계,
상기 낙찰자 단말로부터 상기 작성된 계약서의 이행 내역을 수신하는 단계,
상기 이행 내역과 상기 블록체인 네트워크에 저장된 상기 계약서의 내용을 비교하여 일치하는 경우, 요청자 가상 지갑에서 낙찰자 가상 지갑으로 지급된 금액을 지급 내역으로 기록하는 단계,
상기 이행 내역 및 상기 지급 내역을 블록체인 네트워크에 저장하는 단계, 그리고
상기 낙찰자 가상 지갑으로 지급한 금액의 사용처를 제한하고, 금융 기관 서버로부터 허용되지 않은 사용처에 대한 결제 요청을 수신하는 경우, 상기 결제 요청을 거절하는 단계를 포함하고,
상기 금융 기관 서버에 연결된 계약금 계좌에서 상기 요청자가 상기 낙찰자에게 지급하는 금액이 관리되고, 상기 낙찰자가 상기 요청자 가상 지갑에서 상기 낙찰자 가상 지갑으로 지급된 금액을 사용하는 경우, 상기 계약금 계좌에 있는 금액이 상기 금융 기관 서버로 이체되는, 계약 관리 방법.
A method for a contract management server to manage a contract using a blockchain, comprising:
Receiving a proposal request form and a successful bid condition from the requester terminal;
requesting the requester's signature for identification and non-repudiation from the requestor's terminal, and if the requester's signature is valid, writing the proposal request and the successful bid condition into a smart contract and storing it in a blockchain network;
transmitting the proposal request to each of the at least one bidder terminal requesting the proposal request, and receiving a bid proposal for the proposal request;
requesting a seller's signature for identification and non-repudiation from the bidder terminal, and if the signature of the bidder terminal is valid, storing the bid proposal in the blockchain network;
requesting bidding information including the smart contract stored in the blockchain network and a plurality of bidding proposals;
receiving the bid information from the blockchain network and selecting a successful bidder from among the plurality of bid proposals according to the successful bid conditions included in the smart contract;
requesting the successful bidder terminal and the requester terminal to prepare a contract and to sign a non-repudiation of the contract, and receiving signatures from each terminal,
When all the signatures on the contract are valid, signing a contract between the successful bidder and the requester, and storing the contract including the signature of the successful bidder terminal and the signature of the requester terminal in the block chain network;
receiving the execution details of the written contract from the successful bidder terminal;
Comparing the implementation details with the contents of the contract stored in the blockchain network and recording the amount paid from the requester virtual wallet to the successful bidder virtual wallet as payment details;
storing the fulfillment details and the payment details in a blockchain network; and
restricting the use of the amount paid to the successful bidder's virtual wallet, and rejecting the payment request when receiving a payment request for an unauthorized use from a financial institution server,
The amount paid by the requester to the successful bidder is managed in a down payment account connected to the financial institution server, and when the successful bidder uses the amount paid from the requester virtual wallet to the successful bidder virtual wallet, the amount in the down payment account is transferred to the financial institution server.
삭제delete 제5항에서,
상기 제안 요청서와 상기 낙찰 조건은,
상기 요청자 단말로부터 상기 제안 요청서와 상기 낙찰 조건을 수신하고, 상기 요청자 단말의 디지털 서명을 이용한 인증 절차를 거쳐 생성되고,
상기 복수의 입찰 제안서들은,
복수의 입찰자 단말들로부터 입찰 제안서들을 수신하고, 각 입찰자 단말마다 디지털 서명을 이용한 인증 절차를 거쳐 생성된, 계약 관리 방법.
In claim 5,
The request for proposal and the conditions for the successful bid are:
Receives the proposal request form and the successful bid condition from the requestor terminal, and is 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.
삭제delete 삭제delete 삭제delete 삭제delete
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 KR20210043278A (en) 2021-04-21
KR102314573B1 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102571646B1 (en) * 2021-07-29 2023-08-28 주식회사 에어핏 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

Citations (1)

* 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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (1)

* 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

Also Published As

Publication number Publication date
KR20210043278A (en) 2021-04-21

Similar Documents

Publication Publication Date Title
JP7204231B2 (en) Any device, system or method that facilitates value transfer between parties with low or no trust
CN109074580B (en) Method and system for secure transfer of entities over a blockchain
CN108885745B (en) Blockchain-based exchange with tokenization
US6236972B1 (en) Method and apparatus for facilitating transactions on a commercial network system
US20190354945A1 (en) Real-time buying, selling, and/or trading blockchain-based goods using traditional currency
US20190139136A1 (en) Systems and methods for trading, clearing and settling securities transactions using blockchain technology
KR20180117124A (en) Method and system for efficient transmission of objects in a block chain
KR20180115282A (en) Method and system for efficient transmission of entities in peer-to-peer distributed books using block chains
CN117151853A (en) Method for secure point-to-point communication on a blockchain
KR20170117096A (en) Encryption Integrated Platform
US20210358038A1 (en) Decentralized system for maintaining fractionalized interests in physical assets
JP2017504127A (en) Rights transfer and verification
CN112037068B (en) Resource transfer method, system, device, computer equipment and storage medium
CN111357032A (en) Method and apparatus for value transfer
KR102141173B1 (en) System for trading donation of commodity using block chain
US20190385236A1 (en) Systems And Methods For Tokenizing Private Finance Using A Distributed Ledger
US20210090166A1 (en) System and Method for Acquiring a Cryptocurrency in Exchange for Completing a Financial Transaction of Another
KR102314573B1 (en) Method of contract management based on block cahin
KR102204313B1 (en) Server and method of donation management based on block cahin
WO2020236029A1 (en) Method to ensure the validity of the warehouse receipt and device for it implementation
KR102059175B1 (en) A method and system of crypto-currency transaction management based on crypto-currency wallet.
US20200058004A1 (en) System and Method of Guarantee Payments
WO2023026509A1 (en) System, control method for user terminal and stiorage medium
US20230281603A1 (en) Systems and methods for generating and distributing digital contract tokens
WO2023026507A1 (en) System, method for controlling user terminal, and storage medium

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