[go: up one dir, main page]

KR102204313B1 - Server and method of donation management based on block cahin - Google Patents

Server and method of donation management based on block cahin Download PDF

Info

Publication number
KR102204313B1
KR102204313B1 KR1020190114282A KR20190114282A KR102204313B1 KR 102204313 B1 KR102204313 B1 KR 102204313B1 KR 1020190114282 A KR1020190114282 A KR 1020190114282A KR 20190114282 A KR20190114282 A KR 20190114282A KR 102204313 B1 KR102204313 B1 KR 102204313B1
Authority
KR
South Korea
Prior art keywords
donation
donor
project
terminal
virtual wallet
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020190114282A
Other languages
Korean (ko)
Inventor
김성환
오충용
Original Assignee
삼정데이타서비스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼정데이타서비스 주식회사 filed Critical 삼정데이타서비스 주식회사
Priority to KR1020190114282A priority Critical patent/KR102204313B1/en
Application granted granted Critical
Publication of KR102204313B1 publication Critical patent/KR102204313B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/22Social work or social welfare, e.g. community support activities or counselling services
    • 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/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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/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
    • 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
    • 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
    • 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
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • H04L2209/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Child & Adolescent Psychology (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

The present invention relates to a method for managing a donation project by a donation management server by using a blockchain, which comprises the steps of: receiving a list of a plurality of donation projects from a blockchain network and providing the received list to a donator terminal; receiving a selection of an arbitrary donation project from the donator terminal and receiving information about a donation payment method of the selected donation project; requesting a digital signature for non-repudiation of participation in the donation project to the donor terminal; receiving data including a public key and an original signature from the donator terminal and determining the validity of the received signature by using the public key; and when the received signature is valid, generating a smart contract-based document including the donation payment method with participation of the selected donation project as a condition and storing the document in the blockchain network. According to the present invention, by transparently tracking and managing the life cycle of donations, safety and reliability can be improved.

Description

블록체인 기반의 기부 관리 서버 및 방법{SERVER AND METHOD OF DONATION MANAGEMENT BASED ON BLOCK CAHIN}Blockchain-based donation management server and method {SERVER AND METHOD OF DONATION MANAGEMENT BASED ON BLOCK CAHIN}

본 발명은 블록체인 기반의 기부 관리 서버와 그 방법에 관한 것이다.The present invention relates to a blockchain-based donation management server and its method.

전자계약 방식을 도입한 기부 관리 시스템은 서버, 사설 인증서, 전자계약 시스템, 고객 프로그램 등의 구성을 필요로 한다. 그러나 이러한 기부 관리 시스템은 중앙 서버를 통해 관리되는 특성상 여러 문제점을 가지고 있다. 예를 들어 시스템 운영 주체가 내용을 위조, 변조할 수 있는 위험이 있고, 이로 인한 고객들의 신뢰가 떨어질 수 있다. 또한 중앙 시스템에서 장애가 발생하는 경우 서비스 전체가 중단될 수 있다. 또한 법인 인증서, 사설 인증서, 개인 인증서 등의 통일되지 않은 다양한 형식의 인증서를 사용하기 때문에 중앙 서버의 관리가 어렵다. The donation management system adopting the electronic contract method requires configuration of a server, a private certificate, an electronic contract system, and a customer program. However, this donation management system has several problems due to the nature of being managed through a central server. For example, there is a risk that the system operating entity may forge or alter the contents, which may lower customer trust. In addition, if a failure occurs in the central system, the entire service may be interrupted. In addition, it is difficult to manage the central server because various types of certificates such as corporate certificates, private certificates, and personal certificates are used.

이를 개선하기 위해 기부 관리 시스템에 블록체인 기술을 적용하여 개선하려는 시도가 진행되고 있다. 블록체인 기반의 기부관리 시스템은 기존 시스템의 문제점을 개선하였으나, 성능 문제, 보안이 취약하다는 점, 입력 단계에서의 오류가 발생할 수 있다는 점, 시스템에 노드로서 참여해야 하므로 서비스 접근이 쉽지 않다는 점 등 또 다른 문제점들을 가지고 있다. To improve this, attempts are being made to improve the donation management system by applying blockchain technology. Blockchain-based donation management system has improved the problems of the existing system, but performance problems, security is weak, errors may occur in the input stage, and it is not easy to access the service because it must participate as a node in the system. There are other problems.

따라서 기존 기부 관리 시스템의 중앙화로 인한 문제점을 개선하고, 더불어 기부금의 사용 내역을 투명하게 공개하여 기부금 추적 관리가 가능한 기부금 관리 서비스가 요구되는 실정이다.Therefore, there is a need for a donation management service that can improve the problems caused by the centralization of the existing donation management system, and transparently disclose the use of donations to track and manage donations.

해결하고자 하는 과제는 기부 프로젝트 생성 단계부터 기부금 사용 단계까지 기부의 전 과정을 블록체인 네트워크에 기록하여, 기부자가 후원자 또는 수혜자의 기부금 사용 내역을 추적 가능한 기부금 관리 서버와 그 방법을 제공하는 것이다.The task to be solved is to provide a donation management server and a method that allows donors to track the donation usage history of donors or beneficiaries by recording the entire donation process from the donation project creation stage to the donation usage stage on the blockchain network.

또한, 해결하고자 하는 과제는 분산 원장 기술과 스마트 컨트랙트를 이용하여 기부 내역 또는 기부금 사용 내역을 기록하는 과정에서 기부자의 부인을 방지하는 기부금 관리 서버와 그 방법을 제공하는 것이다.In addition, the task to be solved is to provide a donation management server and a method that prevents donor denial in the process of recording donation history or donation usage history using distributed ledger technology and smart contracts.

한 실시예에 따른 기부금 관리 서버가 블록체인을 이용하여 기부 프로젝트를 관리하는 방법으로서, 블록체인 네트워크로부터 복수의 기부 프로젝트들의 목록을 수신하고, 수신한 목록을 기부자 단말에 제공하는 단계, 상기 기부자 단말로부터 임의의 기부 프로젝트를 선정받고, 상기 선정된 기부 프로젝트의 기부금 지급 방식에 관한 정보를 수신하는 단계, 상기 기부자 단말에 상기 기부 프로젝트 참여에 대한 부인 방지용 디지털 서명을 요청하는 단계, 상기 기부자 단말로부터 공개키와 서명의 원본을 포함한 데이터를 수신하고, 상기 공개키를 이용하여 상기 수신한 서명의 유효성을 판단하는 단계, 그리고 상기 수신한 서명이 유효한 경우, 상기 선정된 기부 프로젝트 참여를 조건으로 하고 상기 기부금 지급 방식을 포함하는 스마트 컨트랙트 기반의 문서를 생성하고, 상기 문서를 상기 블록체인 네트워크에 저장하는 단계를 포함한다. A method of managing a donation project by a donation management server using a block chain according to an embodiment, the step of receiving a list of a plurality of donation projects from a blockchain network and providing the received list to a donor terminal, the donor terminal Receiving a random donation project from and receiving information on the donation payment method of the selected donation project, requesting a digital signature for non-repudiation of participation in the donation project from the donor terminal, and publicly available from the donor terminal Receiving data including the original key and signature, and determining the validity of the received signature using the public key, and if the received signature is valid, participation in the selected donation project is conditional and the donation And generating a document based on a smart contract including a payment method, and storing the document in the blockchain network.

상기 기부금 지급 방식에 관한 정보는, 기부금 액수, 기부금 입금 주기 그리고 기부금 지급 대상을 포함할 수 있다. The information on the donation payment method may include a donation amount, a donation deposit period, and a donation payment target.

상기 복수의 기부 프로젝트들은, 후원자 단말로부터 기부금 사용 계획을 포함한 기부 프로젝트 관련 정보와 기부 프로젝트 생성 요청을 수신하고, 상기 후원자 단말의 디지털 서명으로 인증될 수 있다. The plurality of donation projects may receive donation project-related information including a donation use plan and a donation project creation request from a sponsor terminal, and may be authenticated with a digital signature of the sponsor terminal.

상기 블록체인 네트워크에 저장하는 단계 이후에, 상기 기부자 단말로부터 참여 중인 기부 프로젝트의 조회 요청을 수신하면, 상기 기부자 단말이 설정한 기부금 지급 대상의 기부금 사용 내역을 상기 기부자 단말에 제공할 수 있다. After the step of storing in the blockchain network, upon receiving a request for an inquiry of a donation project in participation from the donor terminal, the donation usage details of the donation payment target set by the donor terminal may be provided to the donor terminal.

상기 블록체인 네트워크에 저장하는 단계 이후에, 상기 기부자의 가상 지갑에 잔액이 있으면, 상기 기부자 단말에 의해 설정된 기부금 지급 대상의 가상 지갑에 미리 설정된 액수의 기부금을 지급하는 단계, 그리고 상기 기부자 가상 지갑의 잔액이 변동된 내역과 상기 기부금 지급 대상의 가상 지갑의 잔액이 변동된 내역을 상기 블록체인 네트워크에 저장하는 단계를 더 포함할 수 있다. After the step of storing in the blockchain network, if there is a balance in the donor's virtual wallet, paying a preset amount of donation to the donation payment target virtual wallet set by the donor terminal, and the donor virtual wallet The method may further include storing a change in the balance and a change in the balance of the virtual wallet to which the donation is paid in the blockchain network.

상기 기부금을 지급하는 단계는, 상기 기부자의 가상 지갑에 잔액이 없으면, 상기 기부자 단말로 상기 기부자의 가상 지갑의 잔액 충전을 요청할 수 있다. In the step of paying the donation, if there is no balance in the donor's virtual wallet, the donor terminal may request to recharge the donor's virtual wallet.

한 실시예에 따른 기부금 관리 서버가 블록체인을 이용하여 기부자의 가상 지갑을 관리하는 방법으로서, 금융 기관 서버에 기부금 계좌와 연결되는 가상 계좌 생성을 요청하는 단계, 상기 금융 기관 서버로부터 생성된 계좌의 가상 계좌번호를 발급받고, 기부자 단말에 상기 가상 계좌번호를 포함하는 입금 요청을 전송하는 단계, 상기 금융 기관 서버로부터 기부자의 입금이 확인되고, 상기 가상 계좌와 연결된 상기 기부금 계좌에 미리 설정된 기부금이 입금되면, 입금된 금액만큼 상기 기부자의 가상 지갑의 잔액을 충전하는 단계, 그리고 상기 기부자의 가상 지갑의 잔액이 충전된 내역을 블록체인 네트워크에 저장하는 단계를 포함한다. A method of managing a donor's virtual wallet by using a block chain by a donation management server according to an embodiment, comprising the steps of: requesting to a financial institution server to create a virtual account connected to the donation account, the account generated from the financial institution server Obtaining a virtual account number and transmitting a deposit request including the virtual account number to a donor terminal, the donor's deposit is confirmed from the financial institution server, and a donation set in advance is deposited in the donation account connected to the virtual account If so, charging the balance of the donor's virtual wallet as much as the deposited amount, and storing the details of the donor's virtual wallet being charged in the blockchain network.

상기 기부자 단말로부터 기부금 입금 주기, 기부금 액수 그리고 기부금 지급 대상을 수신하여 등록하고, 상기 잔액을 충전하는 단계 이후에, 상기 기부금 입금 주기가 도래하면, 상기 기부금 액수를 상기 기부자의 가상 지갑에서 출금하여 상기 기부금 지급 대상의 가상 지갑으로 입금하는 단계를 더 포함할 수 있다. After receiving and registering the donation deposit cycle, the donation amount, and the donation payment target from the donor terminal, and charging the balance, when the donation deposit cycle arrives, the donation amount is withdrawn from the donor's virtual wallet and said It may further include the step of depositing the donation payment target virtual wallet.

상기 잔액을 충전하는 단계 이후에, 상기 기부자 단말로부터 상기 기부자의 가상 지갑 열람 요청을 수신하면, 상기 블록체인 네트워크에 저장된 상기 기부자의 가상 지갑 잔액의 변동 내역을 요청하고, 수신한 변동 내역을 상기 기부자 단말에 제공할 수 있다. After the step of charging the balance, when receiving a request to view the donor's virtual wallet from the donor terminal, a request for changes in the balance of the donor's virtual wallet stored in the blockchain network is requested, and the received change details are sent to the donor. It can be provided to the terminal.

한 실시예에 따른 기부금 관리 서버가 블록체인을 이용하여 기부금 사용 내역을 관리하는 방법으로서, 선불카드의 금융 정보와 상기 선불카드를 사용하여 거래 가능한 사용처들을 등록하는 단계, 금융 관리 서버로부터 상기 선불카드 사용에 따른 결제액 입금 요청을 수신하면, 상기 선불카드가 사용된 결제 장소를 확인하고, 상기 결제 장소가 상기 등록된 거래 가능한 사용처들에 해당하는지 판단하는 단계, 상기 결제 장소가 상기 등록된 사용처들에 해당하면, 요청된 결제액을 기부금 계좌에서 출금하여 상기 선불카드와 연결되는 가상 계좌로 이체하는 단계, 그리고 상기 선불카드를 사용하는 주체의 가상 지갑에서 상기 결제액을 차감하고, 상기 가상 지갑의 차감 내역과 상기 선불카드의 결제 내역을 블록체인 네트워크에 저장하는 단계를 포함하고, 상기 선불카드를 사용하는 주체는 기부 받은 수혜자 또는 후원자이다. A method of managing donation usage details using a block chain by a donation management server according to an embodiment, the step of registering financial information of a prepaid card and transactions available using the prepaid card, the prepaid card from a financial management server Upon receiving a request to deposit the payment amount according to use, the step of checking the payment place where the prepaid card was used, and determining whether the payment place corresponds to the registered transaction possible use places, the payment place to the registered places of use. If applicable, withdrawing the requested payment amount from the donation account and transferring it to a virtual account connected to the prepaid card, and subtracting the payment amount from the virtual wallet of the subject using the prepaid card, and the deduction details of the virtual wallet And storing the payment details of the prepaid card in a blockchain network, and the subject using the prepaid card is a donated beneficiary or sponsor.

상기 가상 계좌로 이체하는 단계는, 상기 결제 장소가 상기 등록된 사용처에 해당하지 않는 경우, 상기 금융 관리 서버에 결제 거절 요청을 전달하고, 결제 거절 내역을 상기 블록체인 네트워크에 저장할 수 있다. In the step of transferring to the virtual account, when the payment place does not correspond to the registered usage, it may transmit a payment rejection request to the financial management server and store payment rejection details in the blockchain network.

상기 블록체인 네트워크에 저장하는 단계 이후에, 기부자 단말로부터 기부금 사용 내역 조회 요청을 수신하면, 상기 블록체인 네트워크에서 기부자가 참여한 기부 프로젝트 내역을 조회하고, 상기 기부자가 설정한 기부금 지급 대상에 발급된 선불카드의 결제 내역을 확인하는 단계, 그리고 상기 블록체인 네트워크로부터 상기 결제 내역을 수신하여 상기 기부자 단말로 전송하는 단계를 더 포함할 수 있다. After the step of storing in the blockchain network, when receiving a request to query the donation usage history from the donor terminal, the donation project details in which the donor participated in the blockchain network is inquired, and the prepaid issued to the donation payment target set by the donor Checking the payment details of the card, and receiving the payment details from the blockchain network and transmitting the payment details to the donor terminal.

상기 금융 관리 서버로부터 현금 출금 요청에 따른 출금액 입금 요청을 수신하면, 상기 금융 관리 서버에 이체 거절 메시지를 전달하고, 이체 거절 내역을 상기 블록체인 네트워크에 저장할 수 있다. When receiving a request for depositing a withdrawal amount according to a cash withdrawal request from the financial management server, a transfer rejection message may be transmitted to the financial management server, and a transfer rejection detail may be stored in the blockchain network.

본 발명에 따르면, 기부 내역, 지급 내역, 기부금 사용 내역 등 각 단계가 원장으로 기록되므로, 시스템의 중앙화로 인한 기록 조작의 위험성을 줄일 수 있고, 기부금 생애 주기를 투명하게 추적, 관리하여 안전성과 신뢰성을 향상시킬 수 있다.According to the present invention, since each step such as donation history, payment history, and donation usage history is recorded in the ledger, it is possible to reduce the risk of recording manipulation due to the centralization of the system, and safety and reliability by transparently tracking and managing the donation life cycle. Can improve.

또한 본 발명에 따르면, 단말 또는 모바일 장치를 이용하여 편리하게 기부하고, 기부 내역 및 기부금 사용 내역을 쉽게 조회할 수 있어, 궁극적으로 기부 문화를 활성화 할 수 있다.In addition, according to the present invention, it is possible to conveniently donate using a terminal or mobile device, and to easily query the donation history and donation usage history, thereby ultimately activating a donation culture.

또한 본 발명에 따르면, 스마트 컨트랙트를 기반으로, 기부자가 기부 프로젝트에 참여함과 동시에 일정 조건에 따라 기부금 지급을 관리할 수 있고, 기부자가 직접 기부금을 송금하는 경우 발생할 수 있는 오류를 방지할 수 있다.In addition, according to the present invention, based on a smart contract, it is possible to manage the donation payment according to certain conditions while the donor participates in the donation project, and it is possible to prevent errors that may occur when the donor directly transfers the donation. .

도 1은 한 실시예에 따른 기부금 관리 시스템의 구성도이다.
도 2는 한 실시예에 따른 후원자 가상 지갑과 그 주변 환경의 구성도이다.
도 3은 한 실시예에 따른 스마트 컨트랙트에 포함된 기부금 사용 계획서의 예시도이다.
도 4는 한 실시예에 따른 후원자의 기부 프로젝트 생성 방법의 흐름도이다.
도 5는 한 실시예에 따른 기부자의 기부 프로젝트 참여 방법의 흐름도이다.
도 6은 한 실시예에 따른 기부자가 가상 지갑을 충전하는 방법의 흐름도이다.
도 7은 한 실시예에 따른 기부금 관리 서버가 수혜자 또는 후원자에게 기부금을 지급하는 방법의 흐름도이다.
도 8은 한 실시예에 따른 선불카드 사용시 기부금 관리 서버의 동작 방법의 흐름도이다.
도 9는 한 실시예에 따른 기부금 사용 내역 조회 화면이다.
1 is a block diagram of a donation management system according to an embodiment.
2 is a block diagram of a sponsor virtual wallet and its surrounding environment according to an embodiment.
3 is an exemplary diagram of a donation usage plan included in a smart contract according to an embodiment.
4 is a flowchart of a method for generating a donation project by a sponsor according to an embodiment.
5 is a flow chart of a donation project participation method of a donor according to an embodiment.
6 is a flowchart of a method for a donor to charge a virtual wallet according to an embodiment.
7 is a flowchart of a method of paying a donation to a beneficiary or sponsor by the donation management server according to an embodiment.
8 is a flowchart of a method of operating a donation management server when using a prepaid card according to an embodiment.
9 is a screen showing a donation usage history inquiry screen according to an embodiment.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, 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 can easily implement the embodiments of 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 assigned 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 otherwise stated.

기부자는 기부금을 지급하는 사람 또는 기관을 의미하고, 수혜자는 기부금의 혜택을 받는 사람 또는 기관을 의미한다. 후원자는 기부자로부터 기부금을 지급받아 봉사활동 또는 기부 활동을 하는 사람 또는 기관을 의미하며 모금자, 또는 기부 대행자로 호칭될 수 있다.Donor means a person or organization that makes a donation, and a beneficiary means a person or organization that receives the benefits of the donation. A sponsor refers to a person or organization who receives donations from a donor and performs volunteer activities or donation activities, and may be referred to as a donor or donation agent.

본 명세서에서 기부금은 블록체인 기술을 기반으로 한 가상 화폐인 코인 또는 토큰을 의미할 수 있다. 토큰이란, 블록체인 프로젝트가 처음 개설될 때, 생태계의 각 역할의 협력을 촉진하기 위해 경제적 보상 도구로 발행된 수단을 의미한다. 예를 들어, 이더리움 블록체인 네트워크에서 발행되는 Ethereum Request for Comment 20(ERC20)일 수 있다. In this specification, donations may mean coins or tokens, which are virtual currencies based on blockchain technology. Token refers to a means issued 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 block diagram of a donation management system according to an embodiment.

도 1을 참고하면, 기부금 관리 시스템(1000)은 수혜자 단말(100), 후원자 단말(200), 기부자 단말(300), 기부금 관리 서버(400), 블록체인 네트워크(500), 금융 기관 서버(600)를 포함한다. 기부금은 기부금 관리 서버(400)를 통해 수혜자 또는 후원자에게 지급되며, 수혜자는 기부금을 사용할 수 있는 수혜자 가상 지갑(410)의 계좌와 연결된 기명식 선불카드를 지급받아 사용할 수 있다. 후원자는 기부금을 후원자 가상 지갑(420)의 계좌와 연결된 기명식 선불카드를 지급받아 사용하거나 스마트 컨트랙트에 포함된 기부금 사용 계획서에 기재된 계좌로 이체하여 사용할 수 있다.Referring to FIG. 1, the donation management system 1000 includes a beneficiary terminal 100, a sponsor terminal 200, a donor terminal 300, a donation management server 400, a blockchain network 500, a financial institution server 600 ). The donation is paid to the beneficiary or sponsor through the donation management server 400, and the beneficiary may receive and use a named prepaid card connected to the account of the beneficiary virtual wallet 410 that can use the donation. The sponsor may use the donation by receiving a named prepaid card connected to the account of the sponsor virtual wallet 420 or by transferring the donation to the account described in the donation usage plan included in the smart contract.

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

수혜자 단말(100)은 기부금 관리 서버(400)와 연결되어, 기부금 지급 내역과 기부금 사용 내역 정보를 수신할 수 있다.The beneficiary terminal 100 may be connected to the donation management server 400 and receive donation payment details and donation usage details information.

후원자 단말(200)은 기부금 관리 서버(400)로부터 기부 프로젝트 생성 인터페이스를 제공받아 기부 프로젝트를 생성할 수 있고, 기부자가 간접 기부의 형식으로 기부 프로젝트에 참여하는 경우, 기부금을 지급 받을 수 있다. The sponsor terminal 200 may generate a donation project by receiving a donation project creation interface from the donation management server 400, and when the donor participates in the donation project in the form of indirect donation, the donation may be paid.

기부자 단말(300)은 후원자가 생성한 기부 프로젝트에 참여할 수 있고, 기부자 가상 지갑(430)에 금액을 충전하여 기부 프로젝트에서 정해진 조건에 따라 기부금을 지급할 수 있다. The donor terminal 300 may participate in the donation project created by the sponsor, and may pay the donation according to the conditions determined in the donation project by charging the donor virtual wallet 430 with an amount.

기부자 단말(300)은 도 9에 도시된 바와 같이 기부금 관리 서버(400)에 기부금 사용 내역을 조회하여, 수혜자 또는 후원자의 기부금 사용 내역을 수신하고 화면에 표시할 수 있다.As shown in FIG. 9, the donor terminal 300 may query the donation usage history in the donation management server 400 to receive the donation usage history of the beneficiary or sponsor and display it on the screen.

기부금 관리 서버(400)는 후원자 단말(200)과 연결되어 새로운 기부 프로젝트를 생성하고, 기부자 단말(300)로 하여금 생성된 기부 프로젝트에 참여하도록 할 수 있다.The donation management server 400 may be connected to the sponsor terminal 200 to create a new donation project, and allow the donor terminal 300 to participate in the generated donation project.

기부금 관리 서버(400)는 금융 기관 서버(600)와 연결되어 가상 계좌를 발급받고, 기부자로부터 기부금 입금이 확인되면 기부자의 가상 지갑을 충전할 수 있다. 기부자 가상 지갑(430)으로부터 기부 프로젝트 내용에 따른 기부금을 출금하여 수혜자 또는 후원자에게 기부금을 전송할 수 있다.The donation management server 400 is connected to the financial institution server 600 to receive a virtual account, and when the donation is confirmed by the donor, the donor's virtual wallet can be charged. The donation according to the content of the donation project may be withdrawn from the donor virtual wallet 430 and the donation may be transmitted to the beneficiary or sponsor.

기부금 관리 서버(400)는 금융 기관 서버(600)로부터 수혜자 선불카드의 결제 요청을 확인하면, 미리 설정된 승인된 사용처에서의 결제 요청인지 확인하여 기부금 계좌(440)로부터 선불카드용 가상 계좌로 기부금을 입금할 수 있다.When the donation management server 400 confirms the payment request for the beneficiary prepaid card from the financial institution server 600, it checks whether the payment request is from a preset approved place of use, and transfers the donation from the donation account 440 to the virtual account for the prepaid card. You can deposit.

기부금 관리 서버(400)는 블록체인 네트워크(500)와 연결되어 생성된 기부 프로젝트의 내용, 기부 프로젝트 참여 내용, 기부자 가상 지갑(430)의 변동 내역, 선불카드의 결제 내역을 블록체인 네트워크(500)에 원장 형태로 저장할 수 있다. 또한, 편의상 기부금 관리 서버(400)와 블록체인 네트워크(500)를 분리하여 그렸으나, 기부금 관리 서버(400)는 블록체인 네트워크(500)를 구성하는 노드일 수 있다.The donation management server 400 is connected to the block chain network 500 to store the contents of the donation project generated, the contents of the donation project participation, the change details of the donor virtual wallet 430, and the payment details of the prepaid card. Can be stored in ledger form. In addition, for convenience, the donation management server 400 and the blockchain network 500 are separately drawn, but the donation management server 400 may be a node constituting the blockchain network 500.

또한, 기부금 관리 서버(400)는 도 9에 도시된 바와 같이 기부자가 기부자 가상 지갑(430)을 충전한 내역 또는 기부금이 후원자 또는 수혜자의 가상 지갑으로 이체된 내역, 그리고 기부자가 후원하는 후원자 또는 수혜자가 기부금을 사용한 내역을 기부자 단말(300)로 제공할 수 있다. In addition, the donation management server 400, as shown in Figure 9, the details of the donor charging the donor virtual wallet 430 or the details of the donation transferred to the virtual wallet of the sponsor or beneficiary, and the sponsor or beneficiary sponsored by the donor The details of using the donation can be provided to the donor terminal 300.

한편, 기부금 관리 서버(400)는 수혜자 가상 지갑(410), 후원자 가상 지갑(420), 기부자 가상 지갑(430) 그리고 기부금 계좌(440)를 포함한다. Meanwhile, the donation management server 400 includes a beneficiary virtual wallet 410, a sponsor virtual wallet 420, a donor virtual wallet 430, and a donation account 440.

수혜자 가상 지갑(410)은 기부금 관리 서버(400)가 수혜자에게 발급한 일종의 장부로서, 기부자가 직접 기부 형식으로 기부 프로젝트에 참여하면, 기부자 가상 지갑(430)으로부터 기부금을 받은 내역을 저장한다. 수혜자가 선불카드를 이용하여 지급받은 기부금을 사용하는 경우, 수혜자 가상 지갑(410)에 출금 형식으로 선불카드 사용 내역이 기록된다.The beneficiary virtual wallet 410 is a kind of ledger issued by the donation management server 400 to the beneficiary, and when the donor directly participates in the donation project in the form of donation, it stores the details of receiving the donation from the donor virtual wallet 430. When the beneficiary uses the donation received by using the prepaid card, the use of the prepaid card is recorded in the beneficiary virtual wallet 410 in the form of withdrawal.

후원자 가상 지갑(420)은 후원자에게 발급된 가상의 장부 역할을 한다. 기부자가 간접 기부 형식으로 기부 프로젝트에 참여하면, 기부자 가상 지갑(430)으로부터 후원자 가상 지갑(420)에 기부금이 전달된 내역이 저장된다. The sponsor virtual wallet 420 serves as a virtual ledger issued to the sponsor. When the donor participates in the donation project in the form of indirect donation, the details of the donation from the donor virtual wallet 430 to the sponsor virtual wallet 420 are stored.

기부자 가상 지갑(430)은 기부자의 기부금 충전 내역과 기부 내역이 기록되는 일종의 장부이다. The donor virtual wallet 430 is a kind of ledger in which the donor's donation charge and donation details are recorded.

기부금 계좌(440)는 실제로 기부자로부터 입금된 기부금이 관리되는 계좌이다. 금융 기관 서버(600)와 연결되어, 수혜자 또는 후원자의 선불카드의 결제 요청을 받으면 기부금 계좌(440)에 있는 금액이 선불카드와 연결된 계좌로 이체된다. The donation account 440 is actually an account in which donations deposited from donors are managed. It is connected to the financial institution server 600, and upon receiving a payment request for a prepaid card from a beneficiary or sponsor, the amount in the donation account 440 is transferred to an account connected to the prepaid card.

블록체인 네트워크(500)는 복수의 블록으로 구성된 분산 데이터베이스의 일종으로, 기부자의 기부 프로젝트 참여 내역과 기부금 이체 내역 그리고 기부금의 사용 내역을 저장하고 관리한다. 또한, 기부 프로젝트에 참여한다는 내용의 스마트 컨트랙트 코드가 저장되고, 블록체인 네트워크(500)를 구성하는 구성원 노드들에 의해 코드가 실행될 수 있다.The blockchain network 500 is a kind of distributed database composed of a plurality of blocks, and stores and manages the donation project participation details, donation transfer details, and the usage details of donations. In addition, a smart contract code indicating participation in the donation project is stored, and the code can be executed by member nodes constituting the blockchain network 500.

기부 관련 정보들을 블록체인 네트워크(500)에 기록하고 저장해두면, 기부금 관리 서버(400)의 또는 블록체인 네트워크(500)에 접근할 수 있는 권한을 가진 후원자, 수혜자, 기부자 또는 제3자는 저장된 정보의 진위를 검증할 수 있다.If donation-related information is recorded and stored in the blockchain network 500, the sponsor, beneficiary, donor, or third party who has the authority to access the donation management server 400 or the blockchain network 500 The authenticity can be verified.

금융 기관 서버(600)는 기부금 계좌(440)와 연결되는 가상 계좌, 선불카드와 연결되는 가상 계좌를 발급하고, 선불카드를 사용할 때 카드 사용처에 대금을 지급한다.The financial institution server 600 issues a virtual account connected to the donation account 440 and a virtual account connected to the prepaid card, and pays a price to the card user when using the prepaid card.

도 2는 한 실시예에 따른 후원자 가상 지갑과 그 주변 환경의 구성도이다.2 is a block diagram of a sponsor virtual wallet and its surrounding environment according to an embodiment.

도 2를 참고하면, 후원자 가상 지갑(420)은 인건비 가상 지갑(421), 운영비 가상 지갑(422), 물품비 가상 지갑(423)을 포함할 수 있고, 기부자로부터 입금되는 기부금이 일정 비율에 따라 각 지갑으로 나뉘어 입금될 수 있다. 일정 비율이란, 후원자가 생성한 기부 프로젝트의 사업비 계획서에 기재된 인건비, 운영비, 물품비 비율을 의미한다. Referring to FIG. 2, the sponsor virtual wallet 420 may include a labor cost virtual wallet 421, an operating cost virtual wallet 422, and an article cost virtual wallet 423, and donations deposited from donors are each It can be divided into wallets and deposited. The constant ratio refers to the ratio of labor costs, operating costs, and article costs stated in the project cost plan of the donation project created by the sponsor.

한편 각 지갑에 입금된 것으로 기록된 금액은, 사업비 계획서를 포함하는 스마트 컨트랙트에 지정된 계좌로만 출금되거나 또는 지정된 선불카드용 가상 계좌로만 출금된다. 이는 후원자가 기부금을 부정한 목적으로 사용하는 것을 방지하기 위함이다.On the other hand, the amount recorded as deposited in each wallet is withdrawn only to the account specified in the smart contract including the business expense plan, or only to the virtual account for the designated prepaid card. This is to prevent sponsors from using donations for illegal purposes.

예를 들어, 인건비 가상 계좌(421)에서 지정된 인건비 지급 계좌로 출금될 때, 스마트 컨트랙트에 따라 블록체인 네트워크(500)를 구성하는 노드들의 검증을 거친다. 검증이 성공하고 스마트 컨트랙트에 포함된 인건비 지급 날짜가 도래한 경우, 일정 액수와 일정 개수의 계좌에 지정된 금액이 입금될 수 있다. 이 때, 인건비 가상 계좌(421)는 일종의 가상 장부이므로 실제로는 기부금 계좌(440)에서 지정된 계좌로 현금이 송금될 것이다.For example, when withdrawal from the labor cost virtual account 421 to a designated labor cost payment account, nodes constituting the blockchain network 500 are verified according to the smart contract. If the verification is successful and the date of payment of labor costs included in the smart contract arrives, a certain amount and a specified amount may be deposited in a certain number of accounts. At this time, since the labor cost virtual account 421 is a kind of virtual ledger, cash will be actually transferred from the donation account 440 to the designated account.

운영비 가상 지갑(422)은 기부금 사용 계획서에 기재된 운영비 지급 계좌와 연결되어 있어, 기재된 비용만큼 이체를 할 수 있다. 운영비는 기명식 선불카드를 사용할 수 없는 고정비용을 의미할 수 있다. The operating cost virtual wallet 422 is connected to the operating cost payment account described in the donation usage plan, so that it is possible to transfer as much as the stated cost. Operating costs can refer to fixed costs in which a registered prepaid card cannot be used.

운영비 가상 지갑(422)의 이체 내역, 즉 운영비 사용 내역은 기부금 관리 서버(400)와 후원자가 사용하는 별도의 시스템(미도시)이 연결되어 블록체인 네트워크(500)에 기록될 수 있다.The transfer details of the operating cost virtual wallet 422, that is, the operating cost usage history, may be recorded in the blockchain network 500 by connecting the donation management server 400 and a separate system (not shown) used by the sponsor.

물품비 가상 지갑(423)은 선불카드용 가상 계좌와 연결되어 있다. 즉, 기부금 사용 계획서에 물품비로 책정된 비율의 금액은 물품비로만 사용될 수 있으며, 인건비 또는 운영비로 지정된 계좌에 입금될 수 없다. The item cost virtual wallet 423 is connected to a virtual account for a prepaid card. In other words, the amount of the ratio set as the item cost in the donation usage plan can be used only as the item cost, and cannot be deposited into the account designated as labor or operation cost.

후원자는 선불카드의 사용처를 제한할 수 있으며, 기부금 관리 서버(400)는 제한 내용을 포함한 스마트 컨트랙트를 생성할 수 있다. 만약 제한된 사용처에서 선불카드를 사용하는 경우, 도 8의 S506 및 S507 단계에 따라 결제가 거절될 수 있다.The sponsor may limit the use of the prepaid card, and the donation management server 400 may create a smart contract including the restricted content. If the prepaid card is used in a limited place of use, payment may be rejected according to steps S506 and S507 of FIG. 8.

후원자 선불카드의 사용 내역은 선불카드가 등록된 금융 기관 서버(600)로부터 수신하여, 블록체인 네트워크(500)에 기록될 수 있다. 구체적으로, 기부금 관리 서버(400)는 금융 기관 서버(600)로부터 세금 계산서 또는 영수증의 이미지를 수신하여 해당 내용을 첨부하여 기록할 수 있다. 또한 기부금 관리 서버(400)는 기록 조작의 위험을 막고 투명성을 위해 간이 영수증의 이미지는 허용하지 않을 수 있다.The usage details of the sponsor prepaid card may be received from the financial institution server 600 in which the prepaid card is registered, and recorded in the blockchain network 500. Specifically, the donation management server 400 may receive an image of a tax invoice or a receipt from the financial institution server 600 and attach the corresponding content to record it. In addition, the donation management server 400 may prevent the risk of manipulation of records and may not allow the image of the simple receipt for transparency.

도 3은 한 실시예에 따른 스마트 컨트랙트에 포함된 기부금 사용 계획서의 예시도이다.3 is an exemplary diagram of a donation usage plan included in a smart contract according to an embodiment.

도 3을 참고하면, 후원자가 생성한 기부 프로젝트는 기부금 사용 계획서를 포함한 스마트 컨트랙트의 형태로 작성될 수 있다. 따라서, 후원자가 생성한 기부 프로젝트에 참여하는 기부자는, 일정 조건이 만족되면, 기부금 사용 계획서에 기재된 내용에 따라 기부금이 사용된다는 것에 동의하며, 일정 조건을 만족하면 기부금이 자동으로 지급된다는 내용의 스마트 컨트랙트를 작성하게 된다.Referring to FIG. 3, a donation project generated by a sponsor may be written in the form of a smart contract including a donation usage plan. Therefore, donors who participate in the donation project created by the sponsor agree that the donation will be used according to the contents described in the donation usage plan when certain conditions are satisfied, and the donation is automatically paid when certain conditions are satisfied. You will write a contract.

기부금 사용 계획서의 기부금이 사용되는 항목은 물품비, 운영비, 인건비 등으로 구분될 수 있다. 물품비, 운영비, 인건비의 비율은 스마트 컨트랙트에 포함되므로, 후원자 가상 지갑(420)에 기부금이 입금되면, 기재된 비율에 따라 각각의 가상 지갑으로 기부금이 입금될 수 있다. 도 3에서는 기부금 항목을 물품비, 운영비, 인건비로 구분하였으나 항목의 종류 및 개수 등은 프로젝트의 성격에 따라 변경될 수 있으며, 기부금의 사용 범주를 구분하기 위한 제한되지 않은 다양한 방식으로 표현될 수 있다. The items used for donations in the donation usage plan can be classified into item costs, operating costs, and labor costs. Since the ratio of the item cost, operating cost, and labor cost is included in the smart contract, when the donation is deposited into the sponsor virtual wallet 420, the donation may be deposited into each virtual wallet according to the stated ratio. In FIG. 3, donation items are classified into item cost, operation cost, and labor cost, but the type and number of items may be changed according to the nature of the project, and may be expressed in various unrestricted ways to classify the category of use of the donation.

한편, 가상 지갑의 항목이 구분되지 않은 경우라도, 스마트 컨트랙트에 따라 기재된 비율의 금액만 해당 항목에서 사용될 수 있으며 비율을 초과하는 경우는 계좌 이체 단계에서 실패하거나 선불카드의 결제가 거절될 수 있다.On the other hand, even if the item of the virtual wallet is not classified, only the amount of the stated ratio according to the smart contract can be used in the item, and if the ratio is exceeded, the account transfer step may fail or the payment of the prepaid card may be rejected.

후원자 가상 지갑(420)은 스마트 컨트랙트에 작성된 지정 계좌에 한하여 출금 가능하고, 용도 및 출금액의 한도가 제한될 수 있다. 예를 들어, 운영비와 인건비는 선불카드를 사용할 수 없고, 현금 지출이 반드시 필요한 사업비 용도로 제한할 수 있다. The sponsor virtual wallet 420 can withdrawal only to a designated account created in the smart contract, and limits of usage and withdrawal amount may be limited. For example, operating expenses and labor costs cannot be used with prepaid cards, and cash expenditures can be limited to business expenses that must be used.

후원자 가상 지갑(420)에서 특정 계좌로 출금된 내역은 블록체인 네트워크(500)에 기록되며, 후원자가 별도로 운영하는 시스템(미도시)이 기부금 관리 서버(400)와 연동되는 경우 후원자의 시스템에 기록된 출금 내역 또한 블록체인 네트워크(500)에 기록될 수 있다.The details of the withdrawal from the sponsor virtual wallet 420 to a specific account are recorded in the blockchain network 500, and if a system (not shown) operated separately by the sponsor is linked with the donation management server 400, it is recorded in the sponsor's system The made withdrawal history may also be recorded in the blockchain network 500.

도 4는 한 실시예에 따른 후원자의 기부 프로젝트 생성 방법의 흐름도이다.4 is a flowchart of a method for generating a donation project by a sponsor according to an embodiment.

도 4를 참고하면, 후원자 단말(200)은 후원자로부터 생성하려는 기부 프로젝트의 기부 유형과 기부금 지급 방식을 선택 받고, 이를 기부금 관리 서버(400)에 전송한다(S101). 이때, 기부금 관리 서버(400)는 기부 프로젝트 생성을 위한 인터페이스를 생성하여 후원자 단말(200)로 제공하고, 인터페이스를 통해 정보들을 제공받을 수 있다.Referring to FIG. 4, the sponsor terminal 200 receives a donation type and a donation payment method of the donation project to be generated from the sponsor, and transmits it to the donation management server 400 (S101). At this time, the donation management server 400 may generate an interface for generating a donation project and provide it to the sponsor terminal 200 and receive information through the interface.

기부 유형은 기부자의 기부금을 특정 수혜자에게 직접 지급할 것인지 또는 기부금을 우선 후원자에게 지급하고, 후원자가 임의의 수혜자를 선정하면 기부금을 전달하도록 맡길 것인지에 따라 전자를 직접 기부, 후자를 간접 기부라고 할 수 있다. The type of donation depends on whether the donor's donation is to be paid directly to a specific beneficiary, or whether the donation is paid to the sponsor first, and if the sponsor selects a random beneficiary, the donation is left to be delivered. have.

모금 방식은 1회성 기부인지, 기부자가 정기적으로 기부해야 하는 것인지에 따라 나뉜다. 한편, 후원자가 모금 방식을 선택하지 않고 기부 프로젝트를 생성할 수도 있다. 이 경우는 기부자가 해당 기부 프로젝트에 참여할 때 기부금 입금 방식을 결정하여 기부금 관리 서버(400)에 전송할 수 있다. The fundraising method is divided according to whether it is a one-time donation or whether the donor should make a regular donation. On the other hand, donations can be created by sponsors without choosing a fundraising method. In this case, when the donor participates in the donation project, a donation deposit method may be determined and transmitted to the donation management server 400.

기부금 관리 서버(400)는 후원자 단말(200)로 후원자의 인증을 요청한다(S102). 이때, 후원자는 디지털 서명을 할 수 있다.The donation management server 400 requests the sponsor's authentication to the sponsor terminal 200 (S102). At this time, the sponsor can digitally sign.

디지털 서명은 정보의 부인방지(Non-repudiation)와 자산의 출처를 입증하는 기능을 가진다. 디지털 서명된 트랜잭션은 전체 블록체인 네트워크(500)에 방송되어 서명자는 트랜잭션의 내용을 추후에 부인할 수 없으므로, 부인방지 기능을 갖게 되는 것이다. Digital signatures have the function of non-repudiation of information and verification of the origin of the asset. The digitally signed transaction is broadcast to the entire blockchain network 500, so that the signer cannot deny the content of the transaction at a later date, and thus has a non-repudiation function.

후원자 단말(200)은 공개키 암호 알고리즘을 이용하여 디지털 서명을 한다(S103). 구체적으로, 디지털 서명은 서명키 생성 단계, 서명 단계, 서명 확인 단계로 구성된다. 후원자 단말(200)은 공개키와 개인키를 생성하고, 서명 원본을 해싱하여 해시 값을 생성하고, 해시 값을 서명용 개인키로 해싱하여 전자 서명을 생성한다. 전자 서명을 디지털 서명이라고 할 수도 있다. The sponsor terminal 200 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 sponsor terminal 200 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. Electronic signatures can also be referred to as digital signatures.

후원자 단말(200)은 서명 원본, 전자 서명, 그리고 생성한 공개키를 기부금 관리 서버(400)에 전송한다(S104).The sponsor terminal 200 transmits the original signature, the electronic signature, and the generated public key to the donation management server 400 (S104).

기부금 관리 서버(400)는 후원자 단말(200)로부터 서명 원본, 공개키 그리고 전자 서명을 수신하고, 해당 공개키를 이용하여 서명 원본을 검증한다(S105). 즉, 후원자의 공개키로 전자 서명을 복호화하고, 서명 원본을 해싱하여 얻은 해시 값과 비교하여 해당 디지털 서명이 위조 또는 변조된 것이 아님을 확인한다.The donation management server 400 receives the original signature, the public key, and the electronic signature from the sponsor terminal 200, and verifies the original signature using the corresponding public key (S105). That is, the digital signature is decrypted with the sponsor's public key and compared with the hash value obtained by hashing the original signature to confirm that the digital signature is not forged or altered.

기부금 관리 서버(400)는 복호화된 값과 해시 값이 같은지 비교하여 서명의 유효성을 판단한다(S106). 서명이 유효한 경우 다음 단계인 S107을 진행하고, 서명이 위조 또는 변조된 것으로 확인되면 S102 단계로 돌아가 후원자 단말(200)로 디지털 서명을 요청한다.The donation management server 400 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 proceeds, and if it is confirmed that the signature has been forged or altered, it returns to step S102 and requests a digital signature from the sponsor terminal 200.

기부금 관리 서버(400)는 후원자 단말(200)로부터 받은 기부 유형, 모금 방식을 포함하는 정보를 바탕으로 기부 프로젝트를 생성한다(S107).The donation management server 400 generates a donation project based on information including the donation type and fundraising method received from the sponsor terminal 200 (S107).

기부금 관리 서버(400)는 블록체인 네트워크(500)에 생성된 기부 프로젝트 정보를 원장 형태로 저장한다(S108). 일단 블록에 저장된 데이터는 분산 원장의 특성상 변경이 매우 어려우므로 조작될 수 없다. 따라서 신뢰성, 투명성을 제공할 수 있는 것이다. The donation management server 400 stores the donation project information generated in the blockchain network 500 in the form of a ledger (S108). Once the data stored in the block is very difficult to change due to the nature of the distributed ledger, it cannot be manipulated. Therefore, reliability and transparency can be provided.

이후 기부금 관리 서버(400)는 생성된 기부 프로젝트 정보를 후원자 단말(200)에 전송하여 알릴 수 있다.Thereafter, the donation management server 400 may transmit the generated donation project information to the sponsor terminal 200 to inform.

도 5는 한 실시예에 따른 기부자의 기부 프로젝트 참여 방법의 흐름도이다.5 is a flow chart of a donation project participation method of a donor according to an embodiment.

도 5를 참고하면, 기부금 관리 서버(400)는 기부자 단말(300)로부터 기부 프로젝트 참여 요청을 수신한다(S201). 기부 프로젝트 참여는 곧 후원자 또는 수혜자와 기부 계약을 체결하는 것을 의미한다.5, the donation management server 400 receives a donation project participation request from the donor terminal 300 (S201). Participating in a donation project means entering into a donation contract with a donor or beneficiary.

기부금 관리 서버(400)는 블록체인 네트워크(500)에 저장된 기부 프로젝트들의 목록을 요청한다(S202). 도 4에 따라 후원자가 생성한 기부 프로젝트는 모두 블록체인 네트워크에 저장되어 있다.The donation management server 400 requests a list of donation projects stored in the blockchain network 500 (S202). According to Figure 4, all donation projects created by sponsors are stored in the blockchain network.

블록체인 네트워크(500)는 기부 프로젝트들의 목록을 기부금 관리 서버(400)에 전송한다(S203).The blockchain network 500 transmits a list of donation projects to the donation management server 400 (S203).

기부금 관리 서버(400)는 수신한 기부 프로젝트 목록을 기부자 단말(300)에 제공한다(S204). The donation management server 400 provides the received donation project list to the donor terminal 300 (S204).

기부자가 생성된 기부 프로젝트들의 후원자 정보, 기부 유형, 모금 방식, 그리고 직접 기부인 경우 수혜자 정보를 추가로 확인하고, 기부를 원하는 기부 프로젝트를 선택하여 기부자 단말(300)에 입력하면, 기부자 단말(300)은 기부금 관리 서버(400)에 선택된 기부 프로젝트 정보를 전송한다(S205). When the donor additionally checks the sponsor information, the type of donation, the fundraising method, and beneficiary information of the generated donation projects, selects the donation project desired to donate and enters it into the donor terminal 300, the donor terminal 300 ) Transmits the selected donation project information to the donation management server 400 (S205).

한편 앞서 설명한 바와 같이, 기부 유형이란 기부자가 수혜자를 직접 선택하여 기부하는 지정 방식(직접 기부 방식) 또는 기부자가 후원자를 선택하고, 후원자에게 기부금의 사용을 맡기는 위탁 방식(간접 기부 방식)을 의미한다. 모금 방식은 기부금을 1 회만 기부할 것인지, 정기적으로 기부할 것인지를 의미한다.Meanwhile, as described above, the donation type refers to a designation method in which the donor directly selects a beneficiary to donate (direct donation method) or a consignment method in which the donor selects the sponsor and entrusts the use of the donation to the sponsor (indirect donation method). . The fundraising method means whether the donation will be donated once or regularly.

기부금 관리 서버(400)는 기부 프로젝트 참여를 위한 기부자의 디지털 서명을 기부자 단말(300)에 요청한다(S206). 이는 도 4의 단계 S102에서 설명한 바와 동일하다. The donation management server 400 requests the donor terminal 300 for a digital signature of the donor for participation in the donation project (S206). This is the same as described in step S102 of FIG. 4.

기부자는 공개키 알고리즘을 사용하여 디지털 서명을 한다(S207). 즉, 기부자 단말(300)은 공개키와 개인키를 생성하고, 자신의 서명 원본을 해싱하여 해시 값을 생성한다. 해시 값을 개인키로 암호화하여 전자 서명을 생성한다.The donor digitally signs using a public key algorithm (S207). That is, the donor terminal 300 generates a public key and a private key, and generates a hash value by hashing the original signature. An electronic signature is generated by encrypting the hash value with a private key.

기부자 단말(300)은 공개키와 서명 원본, 공개키 그리고 전자 서명을 기부금 관리 서버(400)에 전송한다(S208). 기부자 단말(300)이 개인키를 사용하여 암호화한 것은 공개키로 복호화할 수 있다.The donor terminal 300 transmits the public key, the original signature, the public key, and the electronic signature to the donation management server 400 (S208). What is encrypted by the donor terminal 300 using a private key may be decrypted with a public key.

기부금 관리 서버(400)는 공개키를 이용하여 전자 서명을 복호화하고, 서명 원본을 해싱하여 얻은 해시 값을 비교하여 서명 원본을 검증한다(S209).The donation management server 400 decrypts the electronic signature using the public key, and compares the hash value obtained by hashing the original signature to verify the original signature (S209).

기부금 관리 서버(400)는 복호화된 값과 해시 값이 같은지 비교하여 서명의 유효성을 판단한다(S210). 서명이 유효하지 않은 경우 다시 S206으로 돌아가 기부자의 인증을 요청한다.The donation management server 400 determines the validity of the signature by comparing whether the decrypted value and the hash value are the same (S210). If the signature is not valid, it returns to S206 and requests the donor's authentication.

서명이 유효한 경우, 스마트 컨트랙트에 따라 기부자의 프로젝트 참여 내용을 블록체인 네트워크(500)에 저장한다(S211). 이때 스마트 컨트랙트에 따라 계약이 체결되었다는 것은, 스마트 컨트랙트에 포함된 도 3의 기부금 사용 계획서에 따라 기부자가 입금하는 기부금이 지정된 계좌에 자동으로 해당 금액이 입금되거나, 또는 기부금의 사용처로 지정된 곳에서 기부금 사용이 이루어지는 것에 기부자가 동의한다는 의미이다.If the signature is valid, the content of the donor's project participation is stored in the blockchain network 500 according to the smart contract (S211). At this time, the fact that the contract was concluded according to the smart contract means that the donation money deposited by the donor is automatically deposited in the designated account according to the donation usage plan shown in Fig. 3 included in the smart contract, or the donation is made at a designated location for the donation. It means that the donor agrees that the use will take place.

구체적으로, 블록체인 네트워크(500) 상의 스마트 컨트랙트는 컴퓨팅 장치에 의해 실행 가능한 프로그램 코드 형태로 작성된 계약 프로토콜로서, 블록체인 네트워크(500)를 구성하는 노드에 코드가 저장되고, 노드들에 의해 코드가 실행될 수 있다. 코드가 실행되면, 미리 정한 특정 조건이 만족되는 경우 미리 정한 절차가 수행된다. 예를 들어, 기부자가 기부 대상, 특정 날짜, 기부 금액 등의 조건을 스마트 컨트랙트에 포함하여 저장한 경우, 기부자가 설정한 기일에 미리 정한 액수만큼의 기부금이 기부자 가상 지갑(430)으로부터 자동으로 출금된다.Specifically, a smart contract on the blockchain network 500 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 500, 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. For example, if the donor includes and stores the conditions such as the donation target, a specific date, and the amount of donation in the smart contract, the donation of a predetermined amount is automatically withdrawn from the donor virtual wallet 430 on the date set by the donor. do.

이후, 기부금 관리 서버(400)는 기부자 단말(300)로 체결된 계약 내용을 전송할 수 있다.Thereafter, the donation management server 400 may transmit the contents of the contract concluded to the donor terminal 300.

한편 본 명세서에서 기부금은 가상 화폐 형식으로 이체되고 지급된다. 따라서 기부자가 기부한 기부금은 후원자 또는 수혜자의 실제 계좌로 입금되는 것이 아니라, 기부금 관리 서버(400)가 생성한 장부인 가상 지갑에 입금 내역이 기록된다. 기부자가 기부한 실제 기부금은 기부금 관리 서버(400)의 기부금 계좌(440)로 입금되어 관리된다. Meanwhile, in this specification, donations are transferred and paid in a virtual currency format. Therefore, the donation donated by the donor is not deposited into the actual account of the sponsor or beneficiary, but the deposit details are recorded in the virtual wallet, which is a ledger created by the donation management server 400. The actual donation donated by the donor is deposited into the donation account 440 of the donation management server 400 and managed.

예를 들어 기부자가 체결한 기부 프로젝트의 기부금 이체일이 지정되어 있는 경우, 이체일이 도래하면 기부금 관리 서버(400)는 기부자 가상 지갑(430)으로부터 후원자 가상 지갑(420) 또는 수혜자 가상 지갑(410)으로 정해진 기부금이 입금된 것으로 기록한다.For example, when a donation transfer date of a donation project concluded by a donor is specified, when the transfer date arrives, the donation management server 400 is from the donor virtual wallet 430 to the sponsor virtual wallet 420 or the beneficiary virtual wallet 410. It is recorded that the specified donation has been deposited.

만약, 기부자의 가상 지갑에 잔액이 있는 경우는 기부자 가상 지갑(430)에 해당 액수를 출금 기록, 후원자 가상 지갑(420) 또는 수혜자 가상 지갑(410)에 해당 액수를 입금 기록하면 된다. 그러나, 기부자 가상 지갑(430)에 잔액이 없는 경우는 우선 기부자가 가상 지갑에 잔액을 충전해야 한다. 이하 도 6을 통해 기부자가 가상 지갑을 충전하는 방법을 살펴본다.If there is a balance in the donor's virtual wallet, the amount may be recorded in the donor's virtual wallet 430 and the withdrawal record, the sponsor's virtual wallet 420, or the beneficiary's virtual wallet 410. However, if there is no balance in the donor virtual wallet 430, the donor must first fill the balance in the virtual wallet. Hereinafter, a method for a donor to charge a virtual wallet will be described through FIG. 6.

도 6은 한 실시예에 따른 기부자가 가상 지갑을 충전하는 방법의 흐름도이다.6 is a flowchart of a method for a donor to charge a virtual wallet according to an embodiment.

도 6을 참고하면, 기부금 관리 서버(400)는 금융 기관 서버(600)로 기부자가 기부금을 입금할 가상 계좌를 요청한다(S301). 해당 가상 계좌는 기부금 계좌(440)와 연결된다.Referring to FIG. 6, the donation management server 400 requests a virtual account for a donor to deposit donations to the financial institution server 600 (S301). The virtual account is connected to the donation account 440.

금융 기관 서버(600)는 기부자의 가상 계좌를 발급하고, 가상 계좌번호를 포함한 가상 계좌 정보를 기부금 관리 서버(400)에 전송한다(S302).The financial institution server 600 issues a virtual account of the donor and transmits virtual account information including the virtual account number to the donation management server 400 (S302).

기부금 관리 서버(400)는 가상 지갑 충전 인터페이스를 생성하여 기부자 단말(300)에 제공한다(S303). 이때 가상 지갑 충전 인터페이스는 입금 기한을 표시하고, 기부자로부터 충전할 금액 등을 입력 받을 수 있다.The donation management server 400 creates a virtual wallet charging interface and provides it to the donor terminal 300 (S303). At this time, the virtual wallet charging interface may display the deposit deadline and receive an amount to be charged from the donor.

기부자 단말(300)은 기부자가 가상 지갑에 충전할 금액을 선택하면, 이를 기부금 관리 서버(400)에 전송한다(S304). 기부자는 계약을 체결한 기부금만큼을 충전 금액으로 선택할 수 있고, 기부금을 초과하는 금액을 충전 금액으로 선택할 수도 있다. When the donor terminal 300 selects the amount to be charged in the virtual wallet, the donor terminal 300 transmits it to the donation management server 400 (S304). The donor can select the amount of the donation that has been signed as the recharge amount, or the amount that exceeds the donation can be selected as the recharge amount.

기부금 관리 서버(400)는 금융 기관 서버(600)로부터 받은 기부자 가상 계좌번호를 기부자 단말(300)에 전송한다(S305). 한편, 단계 S303에서 가상 지갑 충전 인터페이스를 제공할 때 가상 계좌번호도 같이 제공할 수 있으며, 이 경우 S305는 S303에 포함될 수 있다. The donation management server 400 transmits the donor virtual account number received from the financial institution server 600 to the donor terminal 300 (S305). Meanwhile, when providing the virtual wallet charging interface in step S303, a virtual account number may also be provided. In this case, S305 may be included in S303.

기부자가 가상 계좌번호를 통해 기부금을 입금하면, 금융 기관 서버(600)는 정확한 금액이 입금되었는지 확인한다(S306).When the donor deposits the donation through the virtual account number, the financial institution server 600 checks whether the correct amount has been deposited (S306).

금융 기관 서버(600)는 입금된 기부금을 기부금 관리 서버(400)의 기부금 계좌(440)로 입금한다(S307).The financial institution server 600 deposits the deposited donation into the donation account 440 of the donation management server 400 (S307).

기부금 관리 서버(400)는 기부금 계좌(440)에 입금된 금액을 확인하고, 기부자 가상 지갑(430)에 해당 액수의 입금 내역을 기록한다(S308).The donation management server 400 checks the amount deposited in the donation account 440, and records the deposit details of the amount in the donor virtual wallet 430 (S308).

기부금 관리 서버(400)는 기부자 단말(300)로 기부자 가상 지갑(430)에 기록된 내용을 전송한다(S309). The donation management server 400 transmits the contents recorded in the donor virtual wallet 430 to the donor terminal 300 (S309).

기부금 관리 서버(400)는 기부자 가상 지갑(430)의 새로 기록된 내역을 블록체인 네트워크(500)에 원장 형태로 저장한다(S310). 따라서 이후 기부자는 자신의 가상 지갑의 입금과 출금 내역을 언제든지 열람 가능하다. The donation management server 400 stores the newly recorded details of the donor virtual wallet 430 in the form of a ledger in the blockchain network 500 (S310). Therefore, after that, donors can view the deposit and withdrawal details of their virtual wallet at any time.

한 실시예로서, 기부자가 실제 화폐가 아닌, 코인 또는 토큰의 형태로 기부자 가상 지갑(430)을 충전하는 경우는 충전된 코인 또는 토큰의 트랜잭션이 블록체인 네트워크(500)에 기록될 수 있다.As an embodiment, when the donor charges the donor virtual wallet 430 in the form of coins or tokens rather than actual currency, transactions of the charged coins or tokens may be recorded in the blockchain network 500.

도 7은 한 실시예에 따른 기부금 관리 서버가 수혜자 또는 후원자에게 기부금을 지급하는 방법의 흐름도이다.7 is a flowchart of a method of paying a donation to a beneficiary or sponsor by the donation management server according to an embodiment.

도 7을 참고하면, 기부금 관리 서버(400)는 블록체인 네트워크(500)에 저장된 계약 내용의 조회를 요청한다(S401). 계약 내용이란 기부 프로젝트 참여 내용을 의미한다. 도 5의 단계 S211에서 설명한 바와 같이, 기부자가 참여하는 기부 프로젝트의 내용은 모두 블록체인 네트워크(500)에 저장되어 관리된다. Referring to FIG. 7, the donation management server 400 requests an inquiry of the contract contents stored in the blockchain network 500 (S401). The content of the contract means the content of participation in the donation project. As described in step S211 of FIG. 5, the contents of the donation project in which the donor participates are all stored and managed in the blockchain network 500.

기부금 관리 서버(400)는 블록체인 네트워크(500)로부터 계약 내용을 전송 받는다(S402).The donation management server 400 receives the contents of the contract from the blockchain network 500 (S402).

기부금 관리 서버(400)는 계약 내용에서 기부자를 확인하고, 기부자 가상 지갑(430)에 잔액이 있는지 확인한다(S403). The donation management server 400 checks the donor in the contract, and checks whether there is a balance in the donor virtual wallet 430 (S403).

만약 잔액이 없다면, 도 6에서 설명한 기부자 가상 지갑(430)을 충전하는 단계를 수행한다(S404).If there is no balance, the step of charging the donor virtual wallet 430 described in FIG. 6 is performed (S404).

잔액이 있는 경우, 기부금 관리 서버(400)는 기부자가 설정한 기부 유형이 직접 기부인지 간접 기부인지 확인한다(S405). 도 4에서 설명한 바와 같이, 직접 기부는 기부자가 수혜자를 지정하는 방식이고, 간접 기부는 후원자에게 기부금을 위탁하는 방식을 말한다.If there is a balance, the donation management server 400 checks whether the donation type set by the donor is a direct donation or an indirect donation (S405). As described in FIG. 4, direct donation refers to a method in which a donor designates a beneficiary, and indirect donation refers to a method of entrusting a donation to a sponsor.

간접 기부인 경우, 즉 기부자가 후원자에게 기부금이 지급되기를 선택한 경우, 기부금 관리 서버(400)는 후원자 가상 지갑(420)에 설정된 기부금이 지급되었음을 기록하고, 기부금 지급 내역을 후원자 단말(200)로 전송하여 알린다(S406). 이때, 실제로 후원자의 계좌에 기부금이 입금되는 것이 아니고 후원자 가상 지갑(420)이라는 장부에만 기부금이 입금된 것으로 기록되는 것이다.In the case of indirect donation, that is, when the donor chooses to pay the donation to the sponsor, the donation management server 400 records that the donation set in the sponsor virtual wallet 420 has been paid, and transmits the donation payment details to the sponsor terminal 200 And notified (S406). At this time, the donation is not actually deposited into the sponsor's account, but the donation is recorded as deposited only in the ledger called the sponsor virtual wallet 420.

기부자가 설정한 기부 유형이 직접 기부인 경우, 기부금 관리 서버(400)는 기부자가 특정한 수혜자의 가상 지갑(410)에 설정된 기부금이 지급되었다고 기록하고, 수혜자 단말(100)에 가상 지갑(410)의 변동 내역을 전송한다(S407).When the donation type set by the donor is direct donation, the donation management server 400 records that the donation set in the virtual wallet 410 of a specific beneficiary has been paid, and the virtual wallet 410 in the beneficiary terminal 100 Transmit the change details (S407).

이후 기부금 관리 서버(400)는 후원자 가상 지갑(420) 또는 수혜자 가상 지갑(410)에 발생한 입금 기록을 블록체인 네트워크(500)에 저장한다(S408).Thereafter, the donation management server 400 stores the deposit record generated in the sponsor virtual wallet 420 or the beneficiary virtual wallet 410 in the blockchain network 500 (S408).

한 실시예로서, 가상 화폐가 기부된 경우, 후원자 또는 수혜자가 받은 코인 또는 토큰의 트랜잭션이 블록체인 네트워크(500)에 기록될 수 있다.As an embodiment, when virtual currency is donated, a transaction of a coin or token received by a sponsor or beneficiary may be recorded in the blockchain network 500.

한편, 기부금 관리 서버(400)는 기부자가 설정한 기부금이 후원자 가상 지갑(420) 또는 수혜자 가상 지갑(410)에 입금된 것을 기부자 단말(300)에 전송하여 기부자에게 알릴 수도 있다.Meanwhile, the donation management server 400 may notify the donor by transmitting to the donor terminal 300 that the donation set by the donor is deposited into the sponsor virtual wallet 420 or the beneficiary virtual wallet 410.

이와 같이 기부금을 지급 받은 후원자 또는 수혜자는 스마트 컨트랙트에 포함된 기부금 사용 계획서에 기재된 계좌로 현금을 이체하거나 또는 미리 지급받은 선불카드를 이용하여 기부금을 사용할 수 있다. 이하에서는 수혜자가 지급받은 선불카드를 사용할 때 기부금 관리 서버(400)가 동작하는 방법에 대해 살펴본다. 선불카드를 사용하는 주체는 수혜자뿐만 아니라 후원자도 될 수 있음이 당연하며, 이 경우는 도 8에서 수혜자 단말(100)이 후원자 단말(200)로 변경될 뿐이므로 설명은 생략한다. The sponsor or beneficiary who received the donation in this way can transfer cash to the account listed in the donation usage plan included in the smart contract or use the donation using a prepaid card that has been previously paid. Hereinafter, a method of operating the donation management server 400 when the beneficiary uses the paid prepaid card will be described. It is natural that the subject using the prepaid card can be a sponsor as well as a beneficiary, and in this case, since the beneficiary terminal 100 is only changed to the sponsor terminal 200 in FIG. 8, the description will be omitted.

도 8은 한 실시예에 따른 선불카드 사용시 기부금 관리 서버의 동작 방법의 흐름도이다. 8 is a flowchart of a method of operating a donation management server when using a prepaid card according to an embodiment.

선불카드의 사용 내역이 모두 블록체인 네트워크(500)에 기록되어 관리되므로, 기부자는 기부금 관리 서버(400)를 통해 기부 단계부터 기부금이 최종적으로 사용되는 단계까지의 기부금의 사용 내역을 추적하고, 관리할 수 있다.Since all the usage history of the prepaid card is recorded and managed in the blockchain network 500, the donor tracks and manages the usage history of the donation from the donation stage to the stage where the donation is finally used through the donation management server 400. can do.

한편, 선불카드는 수혜자 가상 지갑(410) 또는 후원자 가상 지갑(420)에 있는 잔액의 한도 내에서만 사용이 가능하며, 스마트 컨트랙트에 포함된 기부금 사용 계획서에 따라 사용처가 제한될 수 있다. 이는 기부 목적이 아닌 다른 부적절한 용도로 기부금이 사용되는 것을 방지하기 위함이다.Meanwhile, the prepaid card can be used only within the limit of the balance in the beneficiary virtual wallet 410 or the sponsor virtual wallet 420, and the usage may be limited according to the donation usage plan included in the smart contract. This is to prevent donations from being used for inappropriate purposes other than donations.

도 8을 참고하면, 기부금 관리 서버(400)는 금융 기관 서버(600)에 수혜자 선불카드에 기부금을 입금하기 위한 가상 계좌 발급을 요청한다(S501). Referring to FIG. 8, the donation management server 400 requests the financial institution server 600 to issue a virtual account for depositing donations to the beneficiary's prepaid card (S501).

금융 기관 서버(600)는 수혜자 선불카드와 연결되는 가상 계좌를 발급하고, 기부금 관리 서버(400)에 계좌번호를 전송한다(S502). 이때 선불카드는, 기명식 충전형 선불카드일 수 있다. The financial institution server 600 issues a virtual account connected to the beneficiary prepaid card, and transmits the account number to the donation management server 400 (S502). In this case, the prepaid card may be a registered rechargeable prepaid card.

기부금 관리 서버(400)는 금융 기관 서버(600)로부터 수신한 가상 계좌번호를 포함하여 선불카드에 관련된 내용을 서버(400)에 등록한다(S503). 이 때, 서버(400)는 스마트 컨트랙트의 내용에 따라 선불카드의 사용처를 제한하는 내용을 함께 등록할 수 있다. 예를 들어 스마트 컨트랙트에 포함된 기부금 사용 계획서에 의류, 식료품, 생활용품 등의 생활 필수품의 구매로 사용을 제한하는 경우, 해당 물품의 판매처에서만 결제를 허가하는 조건을 등록할 수 있다. 또한 후원자 단말(200) 또는 수혜자 단말(100)에 사용처 제한에 대한 정보를 미리 알릴 수 있다.The donation management server 400 registers the contents related to the prepaid card, including the virtual account number received from the financial institution server 600, in the server 400 (S503). In this case, the server 400 may register the contents of limiting the usage of the prepaid card according to the contents of the smart contract. For example, if the use of donations included in the smart contract is restricted to the purchase of daily necessities such as clothing, groceries, and household goods, a condition that permits payment only at the retailer of the product can be registered. In addition, it is possible to inform the sponsor terminal 200 or the beneficiary terminal 100 of information on the usage limit in advance.

이후 수혜자가 선불카드를 사용하면, 금융 기관 서버(600)는 수혜자가 선불카드를 사용한 가맹점으로부터 결제 요청을 수신한다(S504).Thereafter, when the beneficiary uses the prepaid card, the financial institution server 600 receives a payment request from the affiliate store where the beneficiary uses the prepaid card (S504).

금융 기관 서버(600)는 기부금 관리 서버(400)에 결제액 입금을 요청하면서 결제액, 결제 장소, 결제 시간을 포함하는 결제 정보를 전송한다(S505).The financial institution server 600 transmits payment information including a payment amount, a payment place, and a payment time while requesting the payment of the payment amount to the donation management server 400 (S505).

기부금 관리 서버(400)는 결제 정보에 포함된 결제 장소를 확인하고, 해당 결제 장소가 승인된 사용처인지 판단한다(S506). 예를 들어 승인된 사용처는, 서버(400)에 등록된 생활 필수품의 구매 장소에 한정될 수 있다.The donation management server 400 checks the payment place included in the payment information, and determines whether the payment place is an approved use place (S506). For example, the approved use place may be limited to the purchase place of the daily necessities registered in the server 400.

결제 장소가 승인된 곳이 아닌 경우, 기부금 관리 서버(400)는 금융 기관 서버(600)에 해당 결제를 거절할 것을 요청한다(S507).If the payment place is not an approved place, the donation management server 400 requests the financial institution server 600 to reject the payment (S507).

기부금 관리 서버(400)는 결제 거절을 요청하며, 블록체인 네트워크(500)에 결제 거절 내역을 저장할 수 있다(S508). 블록체인 네트워크(500)에 저장되는 내용은 결제 장소, 결제 시간, 결제 요청 금액을 포함할 수 있다. The donation management server 400 may request a payment rejection and store the payment rejection details in the blockchain network 500 (S508). The content stored in the blockchain network 500 may include a payment location, a payment time, and a payment request amount.

결제 장소가 승인된 곳이라면, 기부금 관리 서버(400)는 금융 기관 서버(600)가 요청한 금액을 기부금 계좌(440)에서 출금하여 수혜자 선불카드용 가상 계좌로 이체한다(S509). 도 1에서 설명한 바와 같이 가상 지갑들은 장부 역할을 할 뿐이므로, 실제 자금은 가상 지갑에서 이체되는 것이 아니라 기부금 계좌(440)에서 이체되는 것이다.If the place of payment is approved, the donation management server 400 withdraws the amount requested by the financial institution server 600 from the donation account 440 and transfers it to the beneficiary's prepaid virtual account (S509). As described in FIG. 1, since virtual wallets only serve as ledgers, actual funds are transferred from the donation account 440, not from the virtual wallet.

금융 기관 서버(600)는 수혜자 선불카드용 가상 계좌에 요청된 금액이 입금된 것을 확인한다(S510).The financial institution server 600 confirms that the requested amount has been deposited into the virtual account for the beneficiary prepaid card (S510).

금융 기관 서버(600)는 수혜자 선불카드용 가상 계좌에서 결제 요청 금액을 차감하고, 차감 내역을 포함한 결제 정보를 기부금 관리 서버(400)에 전송한다(S511).The financial institution server 600 deducts the payment request amount from the virtual account for the beneficiary prepaid card, and transmits payment information including the deduction details to the donation management server 400 (S511).

기부금 관리 서버(400)는 금융 기관 서버(600)로부터 받은 결제 정보를 확인하고, 결제 요청 금액만큼 수혜자 가상 지갑(410)에서 차감한다(S512).The donation management server 400 checks the payment information received from the financial institution server 600, and deducts the payment request amount from the beneficiary virtual wallet 410 (S512).

기부금 관리 서버(400)는 수혜자 단말(100)에 수혜자의 선불카드 사용 내역과 수혜자 가상 지갑(410)의 차감 내용을 포함한 정보를 전송하여 수혜자에게 알린다(S513).The donation management server 400 transmits information including details of the beneficiary's prepaid card usage and the deduction of the beneficiary virtual wallet 410 to the beneficiary terminal 100 to notify the beneficiary (S513).

기부금 관리 서버(400)는 일련의 결제 내역을 블록체인 네트워크(500)에 원장 형태로 저장한다(S514).The donation management server 400 stores a series of payment details in the form of a ledger in the blockchain network 500 (S514).

도 9는 한 실시예에 따른 기부금 사용 내역 조회 화면이다.9 is a screen showing a donation usage history inquiry screen according to an embodiment.

도 9를 참고하면, 기부금 관리 서버(400)는 기부자 단말(300)에 기부금 가상 지갑(430)의 내역 또는 참여하는 기부 프로젝트의 후원자 또는 수혜자의 기부금 사용 내역을 표시하는 화면(710)을 실시간으로 제공할 수 있다. Referring to FIG. 9, the donation management server 400 displays the details of the donation virtual wallet 430 on the donor terminal 300 or a screen 710 displaying the donation usage history of the sponsor or beneficiary of the participating donation project in real time. Can provide.

예를 들어, 기부금 가상 지갑 버튼(711)을 클릭하면, 기부금 관리 서버(400)는 기부자 가상 지갑(430)을 충전한 내역, 기부자 가상 지갑(430)으로부터 기부금이 지급된 내역을 표시하는 화면(720)을 기부자 단말(300)에 제공할 수 있다. For example, when clicking the donation virtual wallet button 711, the donation management server 400 displays the details of charging the donor virtual wallet 430, and the details of the donation payment from the donor virtual wallet 430 ( 720) can be provided to the donor terminal 300.

또는 기부자가 단말(300)에서 참여 중인 기부 프로젝트 목록에서 한 프로젝트(712)를 클릭하면, 기부금 관리 서버(400)는 기부자 가상 지갑(430)에서 프로젝트를 운영하는 후원자의 가상 지갑(420)의 인건비 가상 지갑(421), 운영비 가상 지갑(422), 물품비 가상 지갑(423)으로 기부금이 나누어져 입금된 내역, 후원자 가상 지갑(420)의 출금 내역, 후원자의 선불카드 사용 내역 등을 표시하는 화면(730)을 제공할 수 있다. Or, when a donor clicks a project 712 in the donation project list participating in the terminal 300, the donation management server 400 is the labor cost of the sponsor's virtual wallet 420 that operates the project in the donor virtual wallet 430 A screen that displays the details of donations received by dividing into the virtual wallet 421, the operating cost virtual wallet 422, and the goods cost virtual wallet 423, the withdrawal details of the sponsor virtual wallet 420, the sponsor's prepaid card usage details, etc. 730) can be provided.

본 발명에 따르면, 기부 내역, 지급 내역, 기부금 사용 내역 등 각 단계가 원장으로 기록되므로, 시스템의 중앙화로 인한 기록 조작의 위험성을 줄일 수 있고, 기부금 생애 주기를 투명하게 추적, 관리하여 안전성과 신뢰성을 향상시킬 수 있다.According to the present invention, since each step such as donation history, payment history, and donation usage history is recorded in the ledger, it is possible to reduce the risk of recording manipulation due to the centralization of the system, and safety and reliability by transparently tracking and managing the donation life cycle. Can improve.

또한 본 발명에 따르면, 단말 또는 모바일 장치를 이용하여 편리하게 기부하고, 기부 내역 및 기부금 사용 내역을 쉽게 조회할 수 있어, 궁극적으로 기부 문화를 활성화 할 수 있다.In addition, according to the present invention, it is possible to conveniently donate using a terminal or mobile device, and to easily query the donation history and donation usage history, thereby ultimately activating a donation culture.

또한 본 발명에 따르면, 스마트 컨트랙트를 기반으로, 기부자가 기부 프로젝트에 참여함과 동시에 일정 조건에 따라 기부금 지급을 관리할 수 있고, 기부자가 직접 기부금을 송금하는 경우 발생할 수 있는 오류를 방지할 수 있다.In addition, according to the present invention, based on a smart contract, it is possible to manage the donation payment according to certain conditions while the donor participates in the donation project, and it is possible to prevent errors that may occur when the donor directly transfers the donation. .

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.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 on 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 (13)

기부금 관리 서버가 블록체인을 이용하여 기부 프로젝트를 관리하는 방법으로서,
후원자 단말로부터 기부금 사용 계획을 포함한 기부 프로젝트 관련 정보와 기부 프로젝트 생성 요청을 수신하고, 상기 후원자 단말의 디지털 서명으로 인증된 복수의 기부 프로젝트들을 블록체인 네트워크에 생성하는 단계,
기부자 단말의 요청에 따라 상기 블록체인 네트워크로부터 상기 복수의 기부 프로젝트들의 목록을 수신하고, 수신한 목록을 상기 기부자 단말에 제공하는 단계,
상기 기부자 단말로부터 임의의 기부 프로젝트를 선정받고, 상기 선정된 기부 프로젝트의 기부금 지급 방식에 관한 정보를 수신하는 단계,
상기 기부자 단말에 상기 기부 프로젝트 참여에 대한 부인 방지용 디지털 서명을 요청하는 단계,
상기 기부자 단말로부터 공개키와 서명의 원본을 포함한 데이터를 수신하고, 상기 공개키를 이용하여 상기 수신한 서명의 유효성을 판단하는 단계,
상기 수신한 서명이 유효한 경우, 상기 선정된 기부 프로젝트 참여를 조건으로 하고 상기 기부금 지급 방식을 포함하는 기부자의 스마트 컨트랙트를 생성하고, 상기 스마트 컨트랙트를 상기 블록체인 네트워크에 저장하는 단계,
상기 스마트 컨트랙트에 포함된 기부금 입금 주기가 만족되면, 상기 스마트 컨트랙트에 포함된 기부금 액수를 기부자 가상 지갑에서 상기 스마트 컨트랙트에 포함된 기부금 지급 대상으로 지급하는 단계, 그리고
상기 기부자 가상 지갑의 잔액이 변동된 내역과 상기 기부금 지급 대상의 가상 지갑의 잔액이 변동된 내역을 상기 블록체인 네트워크에 저장하는 단계
를 포함하는 기부 프로젝트 관리 방법.
As a method for the donation management server to manage donation projects using a blockchain,
Receiving a donation project-related information including a donation use plan and a donation project creation request from a sponsor terminal, and generating a plurality of donation projects authenticated with a digital signature of the sponsor terminal on a blockchain network,
Receiving a list of the plurality of donation projects from the blockchain network at the request of a donor terminal, and providing the received list to the donor terminal,
Receiving a random donation project from the donor terminal, receiving information on the donation payment method of the selected donation project,
Requesting a digital signature for preventing denial of participation in the donation project from the donor terminal,
Receiving data including a public key and an original signature from the donor terminal, and determining the validity of the received signature by using the public key,
If the received signature is valid, generating a donor's smart contract that includes the donation payment method as a condition of participation in the selected donation project, and storing the smart contract in the blockchain network,
When the donation deposit cycle included in the smart contract is satisfied, paying the donation amount included in the smart contract from the donor virtual wallet to the donation payment target included in the smart contract, and
Storing a change in the balance of the donor virtual wallet and the change in the balance of the donation payment target in the blockchain network
Donation project management method that includes.
제1항에서,
상기 기부금 지급 방식에 관한 정보는,상기 기부금 액수, 상기 기부금 입금 주기 그리고 상기 기부금 지급 대상을 포함하는, 기부 프로젝트 관리 방법.
In claim 1,
The information on the donation payment method, The donation amount, the donation deposit period, and the donation project management method including the donation payment target.
삭제delete 제1항에서,
상기 블록체인 네트워크에 저장하는 단계 이후에,
상기 기부자 단말로부터 참여 중인 기부 프로젝트의 조회 요청을 수신하면, 상기 기부자 단말이 설정한 기부금 지급 대상의 기부금 사용 내역을 상기 기부자 단말에 제공하는, 기부 프로젝트 관리 방법.
In claim 1,
After the step of storing in the blockchain network,
When receiving an inquiry request for a donation project participating from the donor terminal, providing the donation usage details of the donation payment target set by the donor terminal to the donor terminal, donation project management method.
삭제delete 제1항에서,
상기 지급하는 단계는,
상기 기부자 가상 지갑에 잔액이 없으면, 상기 기부자 단말로 상기 기부자 가상 지갑의 잔액 충전을 요청하는, 기부 프로젝트 관리 방법.
In claim 1,
The step of paying,
If there is no balance in the donor virtual wallet, requesting the donor terminal to charge the balance of the donor virtual wallet.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020190114282A 2019-09-17 2019-09-17 Server and method of donation management based on block cahin Active KR102204313B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190114282A KR102204313B1 (en) 2019-09-17 2019-09-17 Server and method of donation management based on block cahin

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190114282A KR102204313B1 (en) 2019-09-17 2019-09-17 Server and method of donation management based on block cahin

Publications (1)

Publication Number Publication Date
KR102204313B1 true KR102204313B1 (en) 2021-01-18

Family

ID=74236961

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190114282A Active KR102204313B1 (en) 2019-09-17 2019-09-17 Server and method of donation management based on block cahin

Country Status (1)

Country Link
KR (1) KR102204313B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376888B1 (en) * 2021-06-25 2022-03-22 민경숙 A method and device for operating a system that fosters a donation culture
CN114418753A (en) * 2021-12-07 2022-04-29 南京邮电大学 A regulated critical illness fundraising method based on three-layer blockchain
KR20230015602A (en) * 2021-07-23 2023-01-31 최영준 Apparatus and Method for providing donation account management service
KR20230090168A (en) 2021-12-14 2023-06-21 김동현 Environmental Contribution System and Non-Fungible Environmental Tokens

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130089726A (en) * 2011-12-29 2013-08-13 주식회사 하나은행 Method and apparatus for managing donation
KR20170123861A (en) * 2016-04-29 2017-11-09 삼성에스디에스 주식회사 System and method for managing donation using block chain
KR101954268B1 (en) * 2017-10-24 2019-03-05 한국조폐공사 Method for managing electronic document based on blockchain, and electronic document management server using the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130089726A (en) * 2011-12-29 2013-08-13 주식회사 하나은행 Method and apparatus for managing donation
KR20170123861A (en) * 2016-04-29 2017-11-09 삼성에스디에스 주식회사 System and method for managing donation using block chain
KR101954268B1 (en) * 2017-10-24 2019-03-05 한국조폐공사 Method for managing electronic document based on blockchain, and electronic document management server using the same

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102376888B1 (en) * 2021-06-25 2022-03-22 민경숙 A method and device for operating a system that fosters a donation culture
KR20230015602A (en) * 2021-07-23 2023-01-31 최영준 Apparatus and Method for providing donation account management service
KR102613746B1 (en) 2021-07-23 2023-12-14 최영준 Apparatus and Method for providing donation account management service
CN114418753A (en) * 2021-12-07 2022-04-29 南京邮电大学 A regulated critical illness fundraising method based on three-layer blockchain
KR20230090168A (en) 2021-12-14 2023-06-21 김동현 Environmental Contribution System and Non-Fungible Environmental Tokens

Similar Documents

Publication Publication Date Title
KR102309819B1 (en) The trading system and the method based on a blockchain
US12045806B1 (en) Sending secure proxy elements with mobile wallets
CN115147112B (en) Method and system for creating trusted digital asset transfers using digital signatures
US11651352B2 (en) Digital asset distribution by transaction device
JP2023179799A (en) Exchange using blockchain-based tokenization
KR102204313B1 (en) Server and method of donation management based on block cahin
US20170221053A1 (en) Digital asset conversion
US20170032365A1 (en) Crypto-currency-based accrued value interoperability
US11238444B2 (en) Secure and trusted cryptocurrency acceptance system
JP2021504773A (en) Systems and methods for managing digital assets
US20100191622A1 (en) Distributed Transaction layer
US20220159056A1 (en) Graphical User Interface and Operator Console Management System for Distributed Terminal Network
US20230081152A1 (en) Localized smart contract banking system and method
US20190311343A1 (en) Point of sale system network with distributed ownership record database
KR20180113143A (en) System for trading user-defined currency based on blockchain and operating method thereof
KR101908701B1 (en) Method for providing virtual money circulation service using profit of rental and financial service based on block chain
KR101995316B1 (en) Blockchain-based aggregate transaction system and method
JP2018536953A (en) System and method for promoting secure electronic transactions
US20210174321A1 (en) Graphical User Interface and Operator Console Management System for Distributed Terminal Network
KR102141173B1 (en) System for trading donation of commodity using block chain
KR102314573B1 (en) Method of contract management based on block cahin
KR20200078940A (en) Method for providing crypto currency payment and exchange service based on blockchain and apparatus therefor
US20240078522A1 (en) Interaction channel balancing
CN113450093B (en) Real-time consensus authentication method and system for digital change wallet based on cone block chain
Fredrick CRYPTOCURRENCY AND BLOCKCHAIN: HERE WE GO DOWN THE RABBIT HOLE.

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190917

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20200826

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20201229

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20210112

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20210112

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20240108

Start annual number: 4

End annual number: 4