KR20200107881A - Method and server for managing testament - Google Patents

Method and server for managing testament Download PDF

Info

Publication number
KR20200107881A
KR20200107881A KR1020200092126A KR20200092126A KR20200107881A KR 20200107881 A KR20200107881 A KR 20200107881A KR 1020200092126 A KR1020200092126 A KR 1020200092126A KR 20200092126 A KR20200092126 A KR 20200092126A KR 20200107881 A KR20200107881 A KR 20200107881A
Authority
KR
South Korea
Prior art keywords
smart contract
transaction
processor
user
present disclosure
Prior art date
Application number
KR1020200092126A
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 KR1020200092126A priority Critical patent/KR20200107881A/en
Publication of KR20200107881A publication Critical patent/KR20200107881A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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
    • 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
    • H04L2209/38

Abstract

The present invention relates to a computer program stored in a computer-readable storage medium. The computer program includes commands for a testament management server to execute the following operations including: receiving a testament registration request from a user terminal; generating a smart contract based on the registration request as a result of the reception of the registration request; transmitting the smart contract to at least one node included in a blockchain network and causing the nodes to validate the smart contract through a consensus algorithm and record the smart contract as a first transaction in a block when the smart contract is validated; confirming whether the execution conditions of the testament are satisfied; and performing an action corresponding to the content of the testament by executing the smart contract in a case where it is recognized that the testament execution conditions are satisfied.

Description

유언장을 관리하는 서버 및 방법 {METHOD AND SERVER FOR MANAGING TESTAMENT}Server and method to manage wills {METHOD AND SERVER FOR MANAGING TESTAMENT}

본 개시는 블록 체인을 이용하여 유언장을 관리하는 서버 및 방법에 관한 것이다.The present disclosure relates to a server and method for managing a will using a block chain.

유언장은 사람이 자신의 사망 후의 법률관계 또는 재산관계를 살아 생전에 미리 정해두는 의사표시를 의미한다. 망인의 의사가 담긴 유언장은 분쟁과 혼란을 방지하기 위해 법률로써 일정한 형식을 요구하고 있고, 유언으로 할 수 있는 행위 또한 법률로 정하고 있다.A will refers to an expression of intention that a person establishes in advance of his or her legal or property relations after his or her death. Wills containing the will of the deceased are required by law to prevent disputes and confusion, and actions that can be made with wills are also prescribed by law.

이러한 유언장은 유언자가 자필로 직접 작성하거나 또는 대리인에 의해서 작성되게 되는데, 기존의 유언장을 작성하는 방식은 공증인의 선임 비용, 유언장의 관리 비용, 법원의 검인 비용, 제출 비용 및 기타 부대 비용 등 손쉽게 작성하기에는 막대한 금액이 소요된다. 이러한 문제로 인하여 우리나라보다 상대적으로 유언장이 더 보편화 되어있는 미국에서도 조사에 따르면 중산층 이하에서는 아직까지 유언장의 작성률이 50%이하에 그친다는 통계가 있으며, 우리 나라의 경우 그보다 더 낮은 작성률을 보일 것으로 예상된다.These wills are either written by the tester by hand or written by an agent. The existing method of preparing a will is to easily write out a notary's appointment fee, will management fee, court probate fee, submission fee, and other incidental expenses. It takes a huge amount of money to do so. Due to this problem, even in the United States, where wills are more common than Korea, according to a survey, there are statistics that the rate of writing wills is still only 50% or less among the middle class and below, and in Korea, the rate of writing wills is lower than that. Is expected.

또한, 유언자와 공증인 또는 유언자와 집행인 간의 신뢰성이 보장되지 않는다면 위조, 변조 및 날조 등의 법적 분쟁이 발생할 수 있다.In addition, legal disputes such as forgery, falsification, and fabrication may arise if the credibility between the testator and the notary or between the testator and the executioner is not guaranteed.

따라서, 투명하고 신뢰성있는 유언장의 제공 방법에 대한 수요가 존재한다.Thus, there is a need for a transparent and reliable way to provide wills.

대한민국 공개특허 10-2007-0108996Republic of Korea Patent Publication 10-2007-0108996

본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 블록 체인 기술을 이용하여 투명하고 신뢰성 있는 유언장을 제공할 수 있도록 하는 방법을 제공하고자 한다.The present disclosure is conceived in response to the above-described background technology, and intends to provide a method for providing a transparent and reliable will using blockchain technology.

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

전술한 바와 같은 과제를 해결하기 위한 본 개시의 일 실시예에 따라, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다.According to an embodiment of the present disclosure for solving the above-described problem, a computer program stored in a computer-readable storage medium is disclosed.

컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 유언장 관리 서버로 하여금 이하의 동작들을 수행하기 위한 명령들을 포함하며, 상기 동작들은: 사용자 단말로부터 유언장의 등록 요청을 수신하는 동작; 상기 등록 요청을 수신함에 따라, 상기 등록 요청에 기초하여 스마트 컨트랙트(smart contract)를 생성하는 동작; 상기 스마트 컨트랙트를 블록체인 네트워크에 포함된 적어도 하나의 노드로 전송함으로써, 복수의 노드가 합의 알고리즘을 통해 상기 스마트 컨트랙트의 유효성을 검증하고, 상기 스마트 컨트랙트의 유효성이 검증됨에 따라 상기 복수의 노드가 블록에 상기 스마트 컨트랙트를 제 1 트랜잭션으로 기록하도록 야기하는 동작; 상기 유언장의 실행 조건이 만족되었는지 여부를 확인하는 동작; 상기 유언장의 상기 실행 조건이 만족되었다고 인식한 경우, 상기 스마트 컨트랙트를 실행하여 상기 유언장에 포함된 내용에 대응하는 액션(action)을 수행하는 동작; 을 포함할 수 있다.A computer program stored in a computer-readable storage medium, wherein the computer program includes instructions for causing a will management server to perform the following operations, the operations comprising: receiving a request for registration of a will from a user terminal; Upon receiving the registration request, generating a smart contract based on the registration request; By transmitting the smart contract to at least one node included in the blockchain network, a plurality of nodes verify the validity of the smart contract through a consensus algorithm, and the plurality of nodes block as the validity of the smart contract is verified. Causing to write the smart contract to a first transaction; Checking whether the execution condition of the will is satisfied; When it is recognized that the execution condition of the will is satisfied, executing the smart contract to perform an action corresponding to the content included in the will; It may include.

또한, 상기 유언장의 상기 실행 조건이 만족되었다고 인식한 경우, 상기 스마트 컨트랙트를 실행하여 상기 유언장에 포함된 내용에 대응하는 액션(action)을 수행하는 동작은, 상기 유언장의 상기 실행 조건이 만족되었다고 인식한 경우, 상기 스마트 컨트랙트를 호출하는 동작; 및 상기 스마트 컨트랙트의 호출에 따라 상기 스마트 컨트랙트를 실행하여 상기 유언장에 포함된 내용에 대응하는 상기 액션을 수행하는 동작; 을 포함할 수 있다.In addition, when it is recognized that the execution condition of the will is satisfied, the operation of executing the smart contract to perform an action corresponding to the content included in the will recognizes that the execution condition of the will is satisfied. In one case, calling the smart contract; And executing the smart contract according to the call of the smart contract to perform the action corresponding to the content included in the will. It may include.

또한, 상기 사용자 단말로부터 유언장의 등록 요청을 수신하는 동작은, 상기 사용자 단말의 식별 정보를 확인하는 동작; 및 상기 식별 정보에 기초하여 상기 사용자 단말이 상기 유언장의 등록 요청을 수행할 수 있는 권한이 있는 단말인지 여부를 확인하는 동작; 을 더 포함하고, 상기 등록 요청을 수신함에 따라, 상기 등록 요청에 기초하여 스마트 컨트랙트(smart contract)를 생성하는 동작은, 상기 사용자 단말이 상기 유언장의 상기 등록 요청을 수행할 수 있는 권한이 있는 단말이라고 인식된 경우, 상기 등록 요청에 기초하여 스마트 컨트랙트(smart contract)를 생성하는 동작; 을 포함할 수 있다.In addition, the operation of receiving a request for registration of a will from the user terminal may include: checking identification information of the user terminal; And checking whether the user terminal is a terminal authorized to perform the registration request for the will based on the identification information. Further comprising, in response to receiving the registration request, the operation of generating a smart contract based on the registration request, the user terminal is a terminal authorized to perform the registration request of the will If it is recognized as, generating a smart contract based on the registration request; It may include.

또한, 상기 등록 요청을 수신함에 따라, 상기 등록 요청에 기초하여 스마트 컨트랙트를 생성하는 동작은, 상기 스마트 컨트랙트를 생성하기 전에 상기 사용자 단말에 등록 요청 신호를 전송하였는지 여부를 확인하는 제 1 신호를 전송하는 동작; 상기 사용자 단말로부터 상기 제 1 신호에 대응하는 제 2 신호를 수신한 경우, 상기 제 2 신호에 기초하여 상기 등록 요청이 상기 사용자 단말에서 전송하였는지 여부를 확인하는 동작; 및 상기 등록 요청이 상기 사용자 단말에서 전송하였다고 확인된 경우, 상기 등록 요청에 기초하여 스마트 컨트랙트(smart contract)를 생성하는 동작; 을 포함할 수 있다.In addition, upon receiving the registration request, the operation of generating a smart contract based on the registration request includes transmitting a first signal to check whether a registration request signal has been transmitted to the user terminal before creating the smart contract. Action; When receiving a second signal corresponding to the first signal from the user terminal, checking whether the registration request is transmitted from the user terminal based on the second signal; And when it is confirmed that the registration request has been transmitted from the user terminal, generating a smart contract based on the registration request. It may include.

또한, 상기 스마트 컨트랙트는, 블록에 포함되어 상기 블록체인 네트워크로 배포되며, 상기 등록 요청을 수신함에 따라, 상기 등록 요청에 기초하여 스마트 컨트랙트(smart contract)를 생성하는 동작은, 상기 스마트 컨트랙트가 상기 블록체인 네트워크로 배포되는 경우, 상기 스마트 컨트랙트에 대응되는 컨트랙트 어카운트(Contract Account)를 생성하는 동작; 및 상기 스마트 컨트랙트가 상기 블록체인 네트워크 상에서 상기 컨트랙트 어카운트에 저장됨에 따라, 상기 블록체인 네트워크 상에서 기재 정보에 대한 거래를 수행하기 위한 스마트 컨트랙트가 동작 가능하도록 활성화하는 동작; 을 포함할 수 있다.In addition, the smart contract is included in a block and distributed to the blockchain network, and upon receiving the registration request, the operation of creating a smart contract based on the registration request is performed by the smart contract. Generating a contract account corresponding to the smart contract when distributed through a blockchain network; And as the smart contract is stored in the contract account on the blockchain network, activating a smart contract for performing a transaction on the description information on the blockchain network to be operable. It may include.

또한, 상기 스마트 컨트랙트를 블록체인 네트워크에 포함된 적어도 하나의 노드에 전송하는 동작은, 상기 유언장 관리 서버의 개인키(private key)로 서명된 제 1 트랜잭션을 생성하는 동작; 및 생성된 상기 제 1 트랜잭션을 상기 적어도 하나의 노드로 전송하는 동작; 을 더 포함하며;In addition, the operation of transmitting the smart contract to at least one node included in the blockchain network may include generating a first transaction signed with a private key of the will management server; And transmitting the generated first transaction to the at least one node. Further includes;

상기 제 1 트랜잭션은, 상기 개인키로부터 생성된 식별정보를 포함하는 제 1 트랜잭션 입력 값; 및 상기 스마트 컨트랙트를 포함하는 상기 제 1 트랜잭션이 저장될 상기 블록체인 네트워크 내에서의 주소 정보 및 상기 스마트 컨트랙트를 포함하는 제 1 트랜잭션 출력 값; 을 포함할 수 있다.The first transaction includes: a first transaction input value including identification information generated from the private key; And address information in the blockchain network in which the first transaction including the smart contract is to be stored and a first transaction output value including the smart contract. It may include.

또한, 상기 유언장의 실행 조건이 만족되었는지 여부를 확인하는 동작은, 상기 사용자 단말의 사용자를 통해 기 설정된 행위가 수행되는지 여부를 확인하는 동작; 및 상기 사용자를 통해 상기 기 설정된 행위가 기 설정된 기간동안 수행되지 않은 경우 상기 실행 조건이 만족되었다고 인식하는 동작; 을 포함할 수 있다.In addition, the operation of checking whether the execution condition of the will is satisfied may include: checking whether a predetermined action is performed by a user of the user terminal; And recognizing that the execution condition is satisfied when the preset action is not performed by the user for a preset period. It may include.

또한, 상기 유언장의 실행 조건이 만족되었는지 여부를 확인하는 동작은, 외부 단말로부터 상기 사용자의 사망 신호를 수신하는 동작; 상기 사용자의 사망 확인 요청 신호를 외부 서버에 전송하는 동작; 상기 사망 확인 요청 신호에 대응하여 상기 사용자의 사망 확인 여부에 대한 제 3 신호를 상기 외부 서버로부터 수신하는 동작; 상기 제 3 신호에 기초하여 상기 사용자의 사망 여부를 확인하는 동작; 및 상기 제 3 신호에 기초하여 상기 사용자가 사망한 후 기 설정된 시간이 경과되었다고 인식한 경우, 상기 유언장의 상기 실행 조건이 만족되었다고 인식하는 동작; 을 포함할 수 있다.In addition, the operation of determining whether the execution condition of the will is satisfied may include: receiving a death signal of the user from an external terminal; Transmitting the user's death confirmation request signal to an external server; Receiving, from the external server, a third signal indicating whether the user has confirmed death in response to the death confirmation request signal; Determining whether the user is dead based on the third signal; And recognizing that the execution condition of the will is satisfied when it is recognized that a preset time has elapsed after the user's death based on the third signal. It may include.

또한, 상기 유언장의 실행 조건이 만족되었다고 인식한 경우, 상기 스마트 컨트랙트를 실행하여 상기 유언장에 포함된 내용에 대응하는 액션(action)을 수행하는 동작은, 상기 유언장의 상기 실행 조건이 만족되었다고 인식한 경우, 상기 실행 조건이 만족되었다는 제 1 정보를 상기 블록체인 네트워크에 포함된 적어도 하나의 노드로 전송함으로써, 복수의 노드가 합의 알고리즘을 통해 상기 실행 조건의 유효성을 검증하고, 상기 실행 조건의 유효성이 검증됨에 따라 상기 복수의 노드가 블록에 상기 실행 조건을 제 2 트랜잭션으로 기록하도록 야기하는 동작; 을 포함할 수 있다.In addition, when it is recognized that the execution condition of the will is satisfied, the operation of executing the smart contract to perform an action corresponding to the content included in the will is recognizing that the execution condition of the will is satisfied. In case, by transmitting first information indicating that the execution condition is satisfied to at least one node included in the blockchain network, a plurality of nodes verify the validity of the execution condition through a consensus algorithm, and the validity of the execution condition is Causing the plurality of nodes to write the execution condition to a block as a second transaction as verified; It may include.

또한, 상기 실행 조건이 만족되었다는 제 1 정보를 상기 블록체인 네트워크에 포함된 상기 적어도 하나의 노드로 전송하는 동작은, 상기 유언장 관리 서버의 개인키(private key)로 서명된 제 2 트랜잭션을 생성하는 동작; 및 생성된 상기 제 2 트랜잭션을 상기 적어도 하나의 노드로 전송하는 동작; 을 포함하며, 상기 제 2 트랜잭션은, 상기 개인키로부터 생성된 상기 제 1 정보를 포함하는 제 2 트랜잭션 입력 값; 및 상기 제 1 정보를 포함하는 상기 제 2 트랜잭션이 저장될 상기 블록체인 네트워크 내에서의 주소 정보 및 제 1 정보를 포함하는 제 2 트랜잭션 출력 값; 을 포함할 수 있다.In addition, the operation of transmitting the first information indicating that the execution condition is satisfied to the at least one node included in the blockchain network is to generate a second transaction signed with a private key of the will management server. action; And transmitting the generated second transaction to the at least one node. And the second transaction includes: a second transaction input value including the first information generated from the private key; And a second transaction output value including address information and first information in the blockchain network in which the second transaction including the first information is to be stored. It may include.

또한, 유언장 관리 서버로서, 사용자 단말로부터 기재 정보가 포함된 유언장의 등록 요청을 수신하는 통신부; 및 상기 기재 정보에 기초하여 스마트 컨트랙트(smart contract)를 생성하는 프로세서; 를 포함하고, 상기 프로세서는, 상기 스마트 컨트랙트를 블록체인 네트워크에 포함된 적어도 하나의 유언장 노드로 전송하도록 상기 통신부를 제어함으로써, 복수의 유언장 노드가 합의 알고리즘을 통해 상기 스마트 컨트랙트의 유효성을 검증하고, 상기 스마트 컨트랙트의 유효성이 검증됨에 따라 상기 복수의 유언장 노드가 유언장 블록에 상기 스마트 컨트랙트를 제 1 트랜잭션으로 기록하도록 야기하고, 상기 유언장의 실행 조건이 만족되었다고 인식한 경우, 상기 스마트 컨트랙트를 실행하여 상기 유언장에 포함된 내용에 대응하는 액션(action)을 수행하도록 제어할 수 있다.In addition, as a will management server, the communication unit for receiving a registration request of the will including the description information from the user terminal; And a processor generating a smart contract based on the description information. Including, the processor, by controlling the communication unit to transmit the smart contract to at least one will node included in the blockchain network, a plurality of will nodes verify the validity of the smart contract through a consensus algorithm, As the validity of the smart contract is verified, the plurality of will nodes causes the will to record the smart contract as a first transaction in the will block, and when it is recognized that the execution condition of the will is satisfied, the smart contract is executed and the You can control to perform an action corresponding to the content included in the will.

본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Technical solutions obtainable in the present disclosure are not limited to the above-mentioned solutions, and other solutions that are not mentioned are clearly to those of ordinary skill in the technical field to which the present disclosure belongs from the following description. It will be understandable.

본 개시는 투명하고 신뢰성 있는 유언장을 제공할 수 있도록 한다.This disclosure makes it possible to provide a transparent and reliable will.

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable in the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those of ordinary skill in the art from the following description. .

다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 특정 세부사항들 없이 실시될 수 있음은 명백할 것이다. 다른 예시들에서, 공지의 구조들 및 장치들이 하나 이상의 양상들의 기재를 용이하게 하기 위해 블록도 형태로 도시된다.
도 1은 본 개시내용의 일 실시예에 따른 유언장 관리 방법을 수행하기 위한 예시적인 유언장 관리 시스템을 도시한다.
도 2는 본 개시의 몇몇 실시예에 따른 유언장을 등록하는 방법의 일례를 설명하기 위한 흐름도이다.
도 3은 본 개시의 몇몇 실시예에 따른 유언장에 포함된 내용에 대응하는 액션을 수행하는 방법의 일례를 설명하기 위한 흐름도이다.
도 4는 본 개시의 몇몇 실시예에 따른 스마트 컨트랙트를 생성하는 방법의 일례를 설명하기 위한 흐름도이다.
도 5는 본 개시의 몇몇 실시예에 따른 유언장의 등록 요청에 기초하여 스마트 컨트랙트를 블록체인 네트워크에 기록하는 방법의 일례를 설명하기 위한 흐름도이다.
도 6은 본 개시의 몇몇 실시예에 따른 유언장의 실행 조건이 만족되었다고 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
도 7은 본 개시의 몇몇 실시예에 따른 사용자의 사망 신호에 기초하여 유언장의 실행 조건이 만족되었다고 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
도 8은 본 개시의 몇몇 실시예에 따른 유언장에 포함된 내용에 대응하는 액션을 수행하는 방법의 일례를 설명하기 위한 흐름도이다.
도 9는 본 개시내용의 몇몇 실시예에 따른 블록체인 네트워크에서 저장되는 블록들의 연결 구조를 예시적으로 도시한다.
도 10은 본 개시내용의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 일반적인 개략도를 도시한다.
Various aspects are now described with reference to the drawings, wherein like reference numbers are used collectively to refer to like elements. In the examples that follow, for illustrative purposes, a number of specific details are presented to provide a holistic understanding of one or more aspects. However, it will be apparent that such aspect(s) may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form to facilitate describing one or more aspects.
1 illustrates an exemplary will management system for performing a will management method according to an embodiment of the present disclosure.
2 is a flowchart illustrating an example of a method of registering a will, according to some embodiments of the present disclosure.
3 is a flowchart illustrating an example of a method of performing an action corresponding to content included in a will, according to some embodiments of the present disclosure.
4 is a flowchart illustrating an example of a method of creating a smart contract according to some embodiments of the present disclosure.
5 is a flowchart illustrating an example of a method of recording a smart contract in a blockchain network based on a request for registration of a will, according to some embodiments of the present disclosure.
6 is a flowchart illustrating an example of a method of recognizing that an execution condition of a will is satisfied, according to some embodiments of the present disclosure.
7 is a flowchart illustrating an example of a method of recognizing that an execution condition of a will is satisfied based on a death signal of a user according to some embodiments of the present disclosure.
8 is a flowchart illustrating an example of a method of performing an action corresponding to content included in a will, according to some embodiments of the present disclosure.
9 exemplarily shows a connection structure of blocks stored in a blockchain network according to some embodiments of the present disclosure.
10 shows a general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 감지될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다. 구체적으로, 본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.Various embodiments and/or aspects are now disclosed with reference to the drawings. In the following description, for illustrative purposes, a number of specific details are disclosed to aid in an overall understanding of one or more aspects. However, it will also be appreciated by those of ordinary skill in the art that this aspect(s) may be practiced without these specific details. The following description and the annexed drawings set forth in detail certain illustrative aspects of one or more aspects. However, these aspects are exemplary and some of the various methods in the principles of the various aspects may be used, and the descriptions described are intended to include all such aspects and their equivalents. Specifically, as used herein, "an embodiment", "example", "aspect", "example" and the like are not construed as having any aspect or design being better or advantageous than other aspects or designs. May not.

이하, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않는다.Hereinafter, the same or similar components are assigned the same reference numerals regardless of the reference numerals, and redundant descriptions thereof are omitted. In addition, in describing the embodiments disclosed in the present specification, when it is determined that detailed descriptions of related known technologies may obscure the subject matter of the embodiments disclosed in the present specification, detailed descriptions thereof will be omitted. In addition, the accompanying drawings are for easy understanding of the embodiments disclosed in the present specification, and the technical spirit disclosed in the present specification is not limited by the accompanying drawings.

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

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

더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다. In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise or is not clear from the context, "X employs A or B" is intended to mean one of the natural inclusive substitutions. That is, X uses A; X uses B; Or, when X uses both A and B, “X uses A or B” can be applied to either of these cases. In addition, the term "and/or" as used herein should be understood to refer to and include all possible combinations of one or more of the listed related items.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.In addition, the terms "comprising" and/or "comprising" mean that the corresponding feature and/or element is present, but excludes the presence or addition of one or more other features, elements and/or groups thereof. It should be understood as not. In addition, unless otherwise specified or when the context is not clear as indicating a singular form, the singular in the specification and claims should be interpreted as meaning "one or more" in general.

더불어, 본 명세서에서 사용되는 용어 "정보" 및 "데이터"는 종종 서로 상호교환 가능하도록 사용될 수 있다.In addition, the terms “information” and “data” as used herein may often be used interchangeably with each other.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it is understood that it is directly connected to or may be connected to the other component, but other components may exist in the middle. Should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle.

이하의 설명에서 사용되는 구성 요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.The suffixes "module" and "unit" for constituent elements used in the following description are given or used interchangeably in consideration of only the ease of preparation of the specification, and do not have a distinct meaning or role by themselves.

본 개시의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 개시를 설명하는데 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.Objects and effects of the present disclosure, and technical configurations for achieving them will become apparent with reference to embodiments described in detail later with reference to the accompanying drawings. In describing the present disclosure, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present disclosure, a detailed description thereof will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present disclosure and may vary according to the intention or custom of users or operators.

본 개시내용의 청구범위에서의 방법에 대한 권리범위는, 각 단계들에 기재된 기능 및 특징들에 의해 발생되는 것이지, 방법을 구성하는 각각의 단계에서 그 순서의 선후관계를 명시하지 않는 이상, 청구범위에서의 각 단계들의 기재 순서에 영향을 받지 않는다. 예를 들어, A단계 및 B단계를 포함하는 방법으로 기재된 청구범위에서, A단계가 B단계 보다 먼저 기재되었다고 하더라도, A단계가 B단계에 선행해야 한다는 것으로 권리범위가 제한되지는 않는다.The scope of rights to the method in the claims of the present disclosure is generated by the functions and features described in each step, and unless a precedence relationship of the order is specified in each step constituting the method, the claim It is not affected by the order of description of each step in the range. For example, in the claims described in a method including steps A and B, even if step A is described before step B, the scope of the rights is not limited to that step A must precede step B.

그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.However, the present disclosure is not limited to the embodiments disclosed below, and may be implemented in various different forms. The present embodiments are provided only to make the present disclosure complete, and to completely inform the scope of the disclosure to those of ordinary skill in the art to which the present disclosure belongs, and the present disclosure is only defined by the scope of the claims. . Therefore, the definition should be made based on the contents throughout this specification.

도 1은 본 개시내용의 일 실시예에 따른 유언장 관리 방법을 수행하기 위한 예시적인 유언장 관리 시스템을 도시한다.1 illustrates an exemplary will management system for performing a will management method according to an embodiment of the present disclosure.

도 1을 참조하면, 유언장 관리 시스템은 사용자 단말(100), 블록체인 네트워크(200), 외부 단말(300), 유언장 관리 서버(400) 및 네트워크(500)를 포함할 수 있다. 다만, 상술한 구성 요소들은 유언장 관리 시스템을 구현하는데 있어서 필수적인 것은 아니어서, 유언장 관리 시스템은 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 1, the will management system may include a user terminal 100, a blockchain network 200, an external terminal 300, a will management server 400 and a network 500. However, the above-described components are not essential in implementing the will management system, and thus the will management system may have more or fewer components than the components listed above.

본 개시의 몇몇 실시예에 따르면, 사용자 단말(100), 블록체인 네트워크(200), 외부 단말(300) 및 유언장 관리 서버(400)는 네트워크(500)를 통해, 본 개시의 몇몇 실시예들에 따른 유언장 제공 시스템을 위한 데이터를 상호 송수신할 수 있다.According to some embodiments of the present disclosure, the user terminal 100, the blockchain network 200, the external terminal 300, and the will management server 400 may be configured according to some embodiments of the present disclosure through the network 500. It is possible to mutually transmit and receive data for the will providing system according to.

사용자 단말(100)은, 사용자가 소유하고 있는 PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc) 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다.The user terminal 100 may include a personal computer (PC), a notebook (note book), a mobile terminal, a smart phone, a tablet PC, etc. owned by the user. , It may include all types of terminals that can access wired/wireless networks.

블록체인 네트워크(200)는, 유언장의 등록 요청에 기초하여 생성된 스마트 컨트랙트가 포함된 제 1 트랜잭션, 제 1 정보가 포함된 제 2 트랜잭션 및 유언장 중 적어도 하나를 기록하고 있는 네트워크를 의미할 수 있다.The blockchain network 200 may refer to a network that records at least one of a first transaction including a smart contract generated based on a request for registration of a will, a second transaction including first information, and a will. .

블록체인 네트워크(200)는 복수의 노드를 포함하는 네트워크로서, 블록체인 네트워크(200)에 포함된 노드들은 계층 구조에 따른 블록체인 코어 패키지에 의해 동작될 수 있다. 상기 구조는, 블록체인 네트워크(200)에서 다뤄지는 데이터의 구조를 정의하고 데이터를 관리하는 데이터 계층, 블록의 유효성을 검증하고 블록을 생성하는 마이닝을 수행하고 마이닝 과정에서 채굴자에게 지급되는 수수료의 처리를 담당하는 합의 계층, P2P 네트워크 프로토콜, 해시 함수, 전자서명, 인코딩 및 공통 저장소를 구현 및 관리하는 공통 계층, 및 다양한 어플리케이션이 생성, 처리 및 관리되는 응용 계층을 포함할 수 있다.The block chain network 200 is a network including a plurality of nodes, and nodes included in the block chain network 200 may be operated by a block chain core package according to a hierarchical structure. The above structure defines the structure of the data handled by the blockchain network 200, a data layer that manages the data, and performs mining to verify the validity of a block and generates a block, and the commission paid to the miner during the mining process. A consensus layer in charge of processing, a P2P network protocol, a hash function, a common layer implementing and managing digital signatures, encoding, and a common storage, and an application layer in which various applications are created, processed, and managed may be included.

또한, 본개시의 몇몇 실시예에 따르면, 블록체인 네트워크(200)에 포함된 노드에는 유언장 관리 서버(400)가 포함되어 있을 수 있다.Further, according to some embodiments of the present disclosure, a will management server 400 may be included in a node included in the blockchain network 200.

한편, 본 개시내용의 몇몇 실시예에서, 블록체인 네트워크(200)에 포함된 복수의 노드들은 풀 블록 체인 노드(Full Block Chain Node)일 수도 있고, 라이트웨이트 노드(Lightweight Node)일 수도 있다.Meanwhile, in some embodiments of the present disclosure, a plurality of nodes included in the blockchain network 200 may be a full block chain node or a light weight node.

풀 블록 체인 노드는 블록 체인의 최초의 블록부터 현재 새롭게 생성되는 블록까지 모든 블록 정보를 포함할 수 있다. 또한, 풀 블록 체인 노드는 모든 블록체인 정보를 수집하고, 저장하는 역할을 수행하며, 새로운 블록을 추가하기 위해 전달받은 블록에 대해 검증을 수행할 수 있다.A full block chain node can contain all block information from the first block of the block chain to a block that is currently newly created. In addition, the full blockchain node collects and stores all blockchain information, and can verify the received block to add a new block.

라이트웨이트 노드(Lightweight Node)는 모든 블록 정보의 원본을 가지고 있지 않고, 헤더(Header) 정보만을 포함할 수 있다. 라이트웨이트 노드(Lightweight Node)가 트랜잭션을 확인하기 위해서는 SPV(Simple Payment Verify)를 수행할 수 있다.The Lightweight Node does not have the originals of all block information, and may include only header information. In order for the Lightweight Node to verify the transaction, it can perform Simple Payment Verify (SPV).

예를 들면, 라이트웨이트 노드가 풀 블록 체인 노드에게 블록 정보를 요청하고, 머클루트(Merkle Root)를 통해 트랜잭션의 인증 내용을 확인할 수 있다.For example, a lightweight node can request block information from a full blockchain node, and the authentication content of a transaction can be verified through Merkle Root.

다만, 설명의 편의를 위해 블록체인 네트워크(200)에 포함된 복수의 컨텐츠 노드들은 풀 블록 체인 노드임을 가정하고 이하 설명한다.However, for convenience of explanation, it is assumed that the plurality of content nodes included in the blockchain network 200 are full blockchain nodes, and will be described below.

본 개시에서의 유언장은 네트워크(500)를 통해 전송이 가능한 형태로 작성된 유언장으로서, 사용자 단말(100)을 통해 작성된 문서 파일, 녹음 파일, 이미지 파일, 오프라인상에서 공증 받은 문서의 스캔 파일 및 온라인 상에서 인증 받은 문서 파일 중 적어도 하나를 포함할 수 있다.The will in the present disclosure is a will created in a form that can be transmitted through the network 500, and is a document file, a recording file, an image file created through the user terminal 100, a scan file of a document notarized offline, and online authentication. It may include at least one of the received document files.

또한, 블록체인 네트워크(200)에 포함된 노드들 각각은 합의 알고리즘을 통해 스마트 컨트랙트(smart contract)를 제 1 트랜잭션으로 블록에 기록하고 있을 수 있다.In addition, each of the nodes included in the blockchain network 200 may record a smart contract as a first transaction in a block through a consensus algorithm.

스마트 컨트랙트는 유언에 포함된 내용에 대응하는 액션(action)을 수행하기 위한 디지털 언어로 작성되고 임의의 컴퓨팅 장치에서 실행될 수 있다. 즉, 스마트 컨트랙트에 포함된 코드 및 함수 중 적어도 하나가 실행되는 경우, 본 개시의 몇몇 실시예들에 따른 임의의 형태의 동작이 수행될 수 있다.The smart contract is written in a digital language for performing an action corresponding to the content included in the will and can be executed on any computing device. That is, when at least one of the code and the function included in the smart contract is executed, an arbitrary type of operation according to some embodiments of the present disclosure may be performed.

스마트 컨트랙트는, 새로운 스마트 컨트랙트를 생성하는 방식, 특정 스마트 컨트랙트상의 함수를 실행하는 방식, 또는 블록체인 네트워크(200)에서 동작가능한 토큰을 전송하는 방식 중 적어도 하나에 의해 실행될 수 있다. 또한, 스마트 컨트랙트는 외부 소유 어카운트에 의해서 발생한 트랜잭션이나 다른 컨트랙트에 의해서 실행될 수 있다.The smart contract may be executed by at least one of a method of creating a new smart contract, a method of executing a function on a specific smart contract, or a method of transmitting a token operable in the blockchain network 200. In addition, smart contracts can be executed by transactions or other contracts generated by externally owned accounts.

한편, 본 개시의 몇몇 실시예에 따르면, 유언장 관리 서버(400)는 유언장의 실행 조건이 만족되었다고 인식한 경우, 유언장의 내용에 대응하는 액션을 실행할 수 있다. 이 경우, 유언장 관리 서버(400)가 상기 액션을 실행하는데 있어서, 스마트 컨트랙트의 함수를 컴파일된 코드 형태로 트랜잭션에 포함하여 블록체인을 통해 동기화할 때, 트랜잭션에 포함된 정보를 함수의 입력으로 하여 코드로 표현된 함수를 실행한 후 그 결과를 별도의 상태로 보관하는 방식으로 스마트 컨트랙트가 구현될 수 있다.Meanwhile, according to some embodiments of the present disclosure, when it is recognized that the execution condition of the will is satisfied, the will management server 400 may execute an action corresponding to the content of the will. In this case, when the will management server 400 executes the action, when the function of the smart contract is included in the transaction in the form of compiled code and synchronized through the blockchain, the information included in the transaction is used as the input of the function. A smart contract can be implemented by executing a function expressed in code and storing the result in a separate state.

블록체인 네트워크(200)에 공유되는 스마트 컨트랙트에 의해 그 함수 내용과 함수의 입력을 공유하는 경우, 함수의 결과가 별도로 공유되지 않더라도 데이터의 무결성이 보장될 수 있다.When the contents of the function and the input of the function are shared by a smart contract shared in the blockchain network 200, the integrity of the data can be guaranteed even if the result of the function is not separately shared.

블록체인 네트워크(200)에 포함된 복수의 노드는 네트워크(500)를 통해, 생성된 트랜잭션 및 스마트 컨트랙트 중 적어도 하나를 공유 및 저장할 수 있다. 또한, 복수의 노드는 블록체인 기술의 합의 알고리즘을 통해 트랜잭션 및 스마트 컨트랙트 중 적어도 하나의 검증이 완료되면 블록에 트랜잭션을 기록하는 기능을 수행할 수 있다.A plurality of nodes included in the blockchain network 200 may share and store at least one of a generated transaction and a smart contract through the network 500. In addition, a plurality of nodes can perform a function of recording a transaction in a block when at least one of a transaction and a smart contract is verified through the consensus algorithm of the blockchain technology.

블록은 스마트 컨트랙트가 블록체인 네트워크(200)에 저장되는 단위로서, 인접한 블록들과 연결됨에 따라 블록체인을 형성할 수 있다.A block is a unit in which a smart contract is stored in the block chain network 200, and can form a block chain as it is connected with adjacent blocks.

블록체인 네트워크(200)에서 수행되는 합의 알고리즘은: PoW(Proof of Work) 알고리즘, PoS(Proof of Stake) 알고리즘, DPoS(Delegated Proof of Stage) 알고리즘, PBFT(Practical Byzantine Fault Tolerance) 알고리즘, DBFT(Delegated Byzantine Fault Tolerance) 알고리즘, RBFT(Redundant Byzantine Fault Tolerance) 알고리즘, Sieve 알고리즘, Tendermint 알고리즘, Paxos 알고리즘, Raft 알고리즘, PoA(Proof of Authority) 알고리즘 및 PoET(Proof of Elapsed Time) 알고리즘 중 적어도 하나를 포함할 수 있다.The consensus algorithm performed in the blockchain network 200 is: PoW (Proof of Work) algorithm, PoS (Proof of Stake) algorithm, DPoS (Delegated Proof of Stage) algorithm, PBFT (Practical Byzantine Fault Tolerance) algorithm, DBFT (Delegated It may include at least one of the Byzantine Fault Tolerance (RBFT) algorithm, Redundant Byzantine Fault Tolerance (RBFT) algorithm, Sieve algorithm, Tendermint algorithm, Paxos algorithm, Raft algorithm, PoA (Proof of Authority) algorithm, and PoET (Proof of Elapsed Time) algorithm. have.

블록체인 기술의 합의 알고리즘을 이용하여 유언장을 포함하는 스마트 컨트랙트 및 트랜잭션 중 적어도 하나를 블록에 기록하기 때문에 유언장의 위조 또는 변조를 방지할 수 있다는 효과가 발생하게 된다.Since at least one of smart contracts and transactions including wills is recorded in a block using the consensus algorithm of the blockchain technology, the effect of preventing forgery or alteration of the wills occurs.

한편, 본 개시의 몇몇 실시예에 따른 블록체인 네트워크(200)의 구조는, 퍼블릭(Public) 형일 수도 있고, 프라이빗(Private) 형일 수도 있다. 퍼블릭 형 블록체인 네트워크(200)의 경우 트랜잭션을 검증하기 위해서 모든 노드에 검증작업을 수행해야 하므로 합의 시간, 트랜잭션의 처리 속도 및 컴퓨팅 리소스의 사용 효율성의 측면에서는 비효율적이라는 단점이 존재하지만, 임의의 노드의 참여가 가능하기 때문에 저장된 데이터의 투명성 및 무결성에 있어서 장점이 존재할 수 있다. 또한, 프라이빗 형(또는 컨소시움 형) 블록체인의 경우 운영주체가 명확하기 때문에, 합의 시간, 트랜잭션 처리 속도 및 컴퓨팅 리소스의 사용 효율성의 측면에서는 효율적이라는 장점이 존재하지만, 트랜잭션 처리 과정 및 결과에 대한 투명성의 측면에서는 장점이 존재할 수 있다.Meanwhile, the structure of the blockchain network 200 according to some embodiments of the present disclosure may be of a public type or a private type. In the case of the public blockchain network 200, there is a disadvantage that it is inefficient in terms of consensus time, transaction processing speed, and efficiency of use of computing resources, as it must perform verification work on all nodes to verify transactions. Because the participation of the data is possible, there may be an advantage in the transparency and integrity of the stored data. In addition, in the case of a private (or consortium) block chain, since the operating entity is clear, there is an advantage of being efficient in terms of consensus time, transaction processing speed, and efficiency of use of computing resources, but transparency about the transaction processing process and results There may be advantages in terms of

본 개시의 몇몇 실시예에서의 합의 알고리즘은 컴퓨팅 리소스의 효율적인 활용 및 트랜잭션의 처리 속도의 증대를 통한 사용자 경험을 향상시키기 위하여 프라이빗 형 또는 컨소시움 형 블록체인 네트워크가 바람직할 수 있지만, 이에 한정되는 것은 아니고 구현 양태에 따라 트랜잭션 또는 스마트 컨트랙트의 투명성을 보다 더 강조하고자 하는 경우 합의 알고리즘으로 퍼블릭 형이 이용될 수도 있다.The consensus algorithm in some embodiments of the present disclosure may be a private or consortium-type blockchain network, but is not limited thereto, in order to improve the user experience through efficient use of computing resources and increase in transaction processing speed. Depending on the implementation, public type may be used as the consensus algorithm when it is desired to further emphasize the transparency of transactions or smart contracts.

스마트 컨트랙트가 블록체인 네트워크(200)에 기록되는 경우 스마트 컨트랙트가 위조 또는 변조되는 것이 사실상 불가능하다. 따라서, 악의적인 피 유언인, 공증인, 대리인 및 외부 단말(300)이 네트워크(500)를 통해 유언장 및 스마트 컨트랙트 중 적어도 하나를 해킹 및 수정하는 것을 방지할 수 있다.When a smart contract is recorded on the blockchain network 200, it is virtually impossible for the smart contract to be forged or altered. Accordingly, it is possible to prevent malicious testament, notary public, agent, and external terminal 300 from hacking and modifying at least one of the will and the smart contract through the network 500.

외부 단말(300)은, 대리인 또는 피 유언인 등이 소유하고 있는 PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc) 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다.The external terminal 300 is a personal computer (PC), a notebook (note book), a mobile terminal, a smart phone, a tablet PC, etc. owned by an agent or a testament. It may include, and may include all types of terminals capable of accessing a wired/wireless network.

유언장 관리 서버(400)는, 사용자 단말(100)로부터 수신한 유언장의 등록 요청에 기초하여 스마트 컨트랙트를 생성하거나 사용자의 사망 신호를 수신함에 따라 유언장의 내용에 대응하는 액션을 수행할 수 있다.The will management server 400 may generate a smart contract based on the registration request of the will received from the user terminal 100 or perform an action corresponding to the content of the will upon receiving a death signal of the user.

본 개시에서의 몇몇 실시예에 따르면, 유언장 관리 서버(400)는 블록체인 네트워크(200)로 쿼리(query) 또는 트랜잭션(transaction)을 전송할 수 있다. 여기서, 쿼리는 블록체인 네트워크(200)에 저장된 스마트 컨트랙트를 조회하는데 사용될 수 있다. 또한, 본 개시내용에서의 트랜잭션은 블록체인 네트워크(200)에 기록된 데이터에 대한 업데이트(수정/변경/삭제/추가)를 수행하는데 사용될 수 있다.According to some embodiments of the present disclosure, the will management server 400 may transmit a query or a transaction to the blockchain network 200. Here, the query may be used to inquire the smart contract stored in the blockchain network 200. In addition, the transaction in the present disclosure can be used to perform an update (modification/change/delete/add) on data recorded in the blockchain network 200.

유언장 관리 서버(400)는, 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스 및 디바이스 제어기 등과 같은 임의의 타입의 컴퓨터 시스템 또는 컴퓨터 디바이스를 포함할 수 있다.Will management server 400 may include any type of computer system or computer device, such as, for example, microprocessors, mainframe computers, digital processors, portable devices and device controllers, and the like.

유언장 관리 서버(400)는, 프로세서(410), 저장부(420) 및 통신부(430)를 포함할 수 있다. 다만 상술한 구성 요소들은 유언장 관리 서버(400)를 구현하는데 있어서 필수적인 것은 아니어서 유언장 관리 서버(400)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다. 여기서, 각각의 구성 요소들은 별개의 칩이나 모듈이나 장치로 구성될 수 있고, 하나의 장치 내에 포함될 수도 있다.The will management server 400 may include a processor 410, a storage unit 420 and a communication unit 430. However, since the above-described components are not essential in implementing the will management server 400, the will management server 400 may have more or fewer components than the components listed above. Here, each component may be composed of a separate chip, module or device, or may be included in a single device.

프로세서(410)는 통상적으로 유언장 관리 서버(400)의 전반적인 동작을 처리할 수 있다. 프로세서(410)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(도 1에 미도시)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.The processor 410 may typically process the overall operation of the will management server 400. The processor 410 provides or processes appropriate information or functions to a user by processing signals, data, information, etc. that are input or output through the above-described components or by driving an application program stored in a memory (not shown in FIG. 1). can do.

또한, 프로세서(410)는 적어도 하나의 유언장 등록 요청을 인식한 경우, 유언장 등록 요청에 기초하여 생성된 스마트 컨트랙트를 블록체인 네트워크(200)에 포함된 적어도 하나의 노드로 전송하도록 통신부를 제어할 수 있다. 스마트 컨트랙트가 합의 알고리즘을 통해 검증된 경우, 복수의 노드 각각에서 블록을 생성하고 블록에 스마트 컨트랙트가 기록되도록 할 수 있다. 한편, 프로세서(410)는 스마트 컨트랙트를 적어도 하나의 노드에 전송할 때, 유언장 관리 서버(400)의 개인키로 서명된 제 1 트랜잭션을 생성하고, 생성된 제 1 트랜잭션을 적어도 하나의 노드로 전송하도록 통신부(430)를 제어할 수 있다. 여기서, 유언장 관리 서버(400)의 개인키로부터 생성된 식별정보는 제 1 트랜잭션의 입력 값에 기록될 수 있다. 그리고, 적어도 하나의 사용자의 스마트 컨트랙트를 포함하는 제 1 트랜잭션이 저장될 블록체인 네트워크(200) 내에서의 주소 정보 및 스마트 컨트랙트를 포함하는 제 1 트랜잭션이 출력 값에 기록될 수 있다.In addition, when the processor 410 recognizes at least one will registration request, the processor 410 may control the communication unit to transmit the smart contract generated based on the will registration request to at least one node included in the blockchain network 200. have. When a smart contract is verified through a consensus algorithm, a block can be created in each of a plurality of nodes and the smart contract can be recorded in the block. Meanwhile, the processor 410 generates a first transaction signed with the private key of the will management server 400 when transmitting the smart contract to at least one node, and transmits the generated first transaction to at least one node. You can control 430. Here, the identification information generated from the private key of the will management server 400 may be recorded in the input value of the first transaction. In addition, address information in the blockchain network 200 in which a first transaction including at least one user's smart contract is to be stored and a first transaction including the smart contract may be recorded in the output value.

저장부(420)는 프로세서(410)가 생성하거나 결정한 임의의 형태의 정보 및 통신부(430)가 수신한 임의의 형태의 정보를 유언장 관리 서버(400)에 저장할 수 있다. 저장부(420)는 하드 디스크 드라이브(HDD, Hard Disk Drive)와 같이 자기 디스크에 데이터를 저장하는 장치, 솔리드 스테이트 드라이브(SSD, Solid State Drive), 메모리 카드 등과 같이 반도체 메모리, 특히 불휘발성 메모리에 데이터를 저장하는 장치를 포함할 수 있다.The storage unit 420 may store information in an arbitrary form generated or determined by the processor 410 and information in an arbitrary form received by the communication unit 430 in the will management server 400. The storage unit 420 is a device that stores data on a magnetic disk such as a hard disk drive (HDD, Hard Disk Drive), a solid state drive (SSD), a semiconductor memory, especially a nonvolatile memory, etc. It may include a device for storing data.

통신부(430)는 유언장 관리 서버(400)와 통신 시스템 사이, 유언장 관리 서버(400)와 사용자 단말(100) 사이, 유언장 관리 서버(400)와 블록체인 네트워크(200) 사이, 유언장 관리 서버(400)와 외부 단말(300) 사이 또는 유언장 관리 서버(400)와 네트워크(500) 사이의 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다.The communication unit 430 is between the will management server 400 and the communication system, between the will management server 400 and the user terminal 100, between the will management server 400 and the blockchain network 200, the will management server 400 ) And the external terminal 300 or between the will management server 400 and the network 500 may include one or more modules.

이러한 통신부(430)는 이동통신 모듈, 유선 인터넷 모듈 및 무선 인터넷 모듈 중 적어도 하나를 포함할 수 있다.The communication unit 430 may include at least one of a mobile communication module, a wired Internet module, and a wireless Internet module.

본 개시의 실시예들에 따른 네트워크(500)는 공중전화 교환망(PSTN:Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.The network 500 according to the embodiments of the present disclosure includes a public switched telephone network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), and Very Various wired communication systems such as High Speed DSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and local area network (LAN) can be used.

또한, 여기서 제시되는 네트워크(500)는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다.In addition, the network 500 presented herein is CDMA (Code Division Multi Access), TDMA (Time Division Multi Access), FDMA (Frequency Division Multi Access), OFDMA (Orthogonal Frequency Division Multi Access), SC-FDMA (Single Carrier- FDMA) and other systems can be used.

본 개시의 실시예들에 따른 네트워크(500)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN:Personal Area Network), 근거리 통신망(WAN:Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크는 공지의 월드와이드웹(WWW:World Wide Web)일 수 있으며, 적외선(IrDA:Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다.The network 500 according to the embodiments of the present disclosure may be configured regardless of its communication mode, such as wired and wireless, and various types of short-range communication networks (PAN: Personal Area Network), local area networks (WAN: Wide Area Network), etc. It can be configured as a communication network. In addition, the network may be a known World Wide Web (WWW), and may use a wireless transmission technology used for short-range communication such as infrared (IrDA: Infrared Data Association) or Bluetooth (Bluetooth).

본 명세서에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 다른 네트워크들에서도 사용될 수 있다.The techniques described herein may be used not only in the networks mentioned above, but also in other networks.

도 2는 본 개시의 몇몇 실시예에 따른 유언장을 등록하는 방법의 일례를 설명하기 위한 흐름도이다.2 is a flowchart illustrating an example of a method of registering a will, according to some embodiments of the present disclosure.

도 2를 참조하면, 유언장 관리 서버(400)의 통신부(430)는 사용자 단말(100)로부터 유언장의 등록 요청을 수신할 수 있다(S110). 여기서, 유언장의 등록 요청은 사용자가 작성한 유언장이 블록체인 네트워크(200)에 기록되도록 요청하는 일련의 신호일 수 있다. 그리고, 유언장 등록 요청에는 유언장이 포함되어 있을 수 있다.Referring to FIG. 2, the communication unit 430 of the will management server 400 may receive a registration request for a will from the user terminal 100 (S110). Here, the request for registration of the will may be a series of signals requesting that the will written by the user be recorded in the blockchain network 200. In addition, a will may be included in the request for registration of a will.

유언장은 네트워크(500)를 통해 전송이 가능한 형태로 작성된 유언장으로서, 사용자 단말(100)을 통해 작성된 문서 파일, 녹음 파일, 이미지 파일, 오프라인상에서 공증 받은 문서의 스캔 파일 및 온라인 상에서 인증 받은 문서 파일 중 적어도 하나를 포함할 수 있다.The will is a will created in a form that can be transmitted through the network 500, among document files, recorded files, image files, scanned files of documents notarized offline, and document files certified online. It may include at least one.

유언장은 피 유언자에게 부동산을 증여하는 내용(예를 들어, 서울시 강남구 논현동 ** 건물을 장남에게 증여한다), 현금을 증여하는 내용, 계좌 이체를 통해 기 설정된 금액을 송금하는 내용 및 기 설정된 액수의 토큰(암호화 화폐)를 전송하는 내용 중 적어도 하나를 포함할 수 있다. 다만, 이에 한정되는 것은 아니고 다양한 내용이 유언장에 포함될 수 있다.The will is the content of the gift of real estate to the testator (for example, the gift of the building in Nonhyeon-dong, Gangnam-gu, Seoul to the eldest son), the content of the gift of cash, the content of remittance of a preset amount through account transfer, and a preset amount. It may include at least one of contents for transmitting a token (cryptocurrency). However, it is not limited thereto, and various contents may be included in the will.

한편, 본 개시의 몇몇 실시예에 따르면, 유언장 관리 서버(400)는 사용자 단말(100)로부터 등록 요청 신호를 수신함에 따라 사용자 단말(100)이 등록 요청 신호를 전송하였는지 여부를 확인할 수 있다. 이에 대한 자세한 설명은 도 5를 참조하여 후술한다.Meanwhile, according to some embodiments of the present disclosure, as the will management server 400 receives the registration request signal from the user terminal 100, it may check whether the user terminal 100 has transmitted the registration request signal. A detailed description of this will be described later with reference to FIG. 5.

한편, 유언장 관리 서버(400)의 프로세서(410)는 사용자 단말(100)로부터 수신한 등록 요청에 기초하여 스마트 컨트랙트를 생성할 수 있다(S120).Meanwhile, the processor 410 of the will management server 400 may generate a smart contract based on the registration request received from the user terminal 100 (S120).

예를 들어, 유언장 등록 요청에 문서 파일 형태의 유언장이 포함되어 있고, 해당 유언장에 “유언인 A 사망 시 A의 제 1 계좌에 있는 일정 금액을 피 유언인 B의 제 2 계좌로 이체한다” 라는 내용이 개시되어 있다고 가정하고 이하 설명한다. 다만, 유언장에 포함되는 내용은 이에 한정되는 것은 아니고 다양한 내용이 유언장에 포함될 수 있다.For example, the request for registration of a will contains a will in the form of a document file, and the will says, "At the death of the will A, a certain amount in the first account of A will be transferred to the second account of the will B." It is assumed that the contents are disclosed and will be described below. However, the content included in the will is not limited thereto, and various contents may be included in the will.

프로세서(410)는 단계(S110)에서 유언장 등록 요청을 수신한 경우, 유언장 등록 요청에 포함된 문서 파일 형태의 유언장을 분석할 수 있다. 이 경우, 프로세서(410)는 유언장에 '유언인 A 사망 시'라는 유언장의 실행 조건이 포함되어 있다고 인식할 수 있다. 그리고, 프로세서(410)는 '유언인 A 사망 시'라는 유언장의 실행 조건의 만족 여부를 체크하는 제 1 코드를 스마트 컨트랙트에 기록할 수 있다.When the processor 410 receives the will registration request in step S110, the processor 410 may analyze the will in the form of a document file included in the will registration request. In this case, the processor 410 may recognize that the will includes an execution condition of the will “at the death of the will”. In addition, the processor 410 may record the first code for checking whether the execution condition of the will of “at the death of the will” is satisfied in the smart contract.

또한, 프로세서(410)는 유언장에 '유언인 A 사망 시'라는 유언장의 실행 조건이 만족된 경우, 제 1 계좌에서 상기 일정 금액을 인출시키는 제 1 액션과 제 2 계좌에 상기 인출된 일정 금액을 입금시키는 제 2 액션이 수행되어야 한다는 내용이 포함되어 있다고 인식할 수 있다. 이 경우, 프로세서(410)는 제 1 코드에 의해 상술한 유언장의 실행 조건이 만족되었다고 인식된 때 제 1 액션 및 제 2 액션을 수행시키는 제 2 코드를 스마트 컨트랙트에 기록할 수 있다.In addition, the processor 410, when the will is satisfied with the execution condition of the will'at the death of the willer A', the processor 410 performs a first action of withdrawing the predetermined amount from the first account and the withdrawn predetermined amount to the second account. It may be recognized that the content that the second action of depositing should be performed is included. In this case, the processor 410 may record in the smart contract a second code that performs the first action and the second action when it is recognized that the execution condition of the will is satisfied by the first code.

한편, 프로세서(410)는 생성된 스마트 컨트랙트를 블록체인 네트워크에 포함된 적어도 하나의 노드로 전송하도록 통신부(430)를 제어할 수 있다(S130).Meanwhile, the processor 410 may control the communication unit 430 to transmit the generated smart contract to at least one node included in the blockchain network (S130).

구체적으로, 단계(S120)에서 생성된 스마트 컨트랙트는 단계(S130)에서 블록체인 네트워크에 포함된 적어도 하나의 노드로 전송됨으로써, 블록에 포함되어 블록체인 네트워크(200)로 배포될 수 있다.Specifically, the smart contract created in step S120 is transmitted to at least one node included in the blockchain network in step S130, so that it may be included in the block and distributed to the blockchain network 200.

좀더 구체적으로, 유언장 관리 서버(400)가 스마트 컨트랙트를 적어도 하나의 노드에 전송한 경우, 복수의 노드가 합의 알고리즘을 통해 스마트 컨트랙트의 유효성을 검증할 수 있다. 그리고, 복수의 노드에서 스마트 컨트랙트의 유효성이 검증됨에 따라 복수의 노드가 블록에 스마트 컨트랙트를 제 1 트랜잭션으로 기록할 수 있다.More specifically, when the will management server 400 transmits the smart contract to at least one node, a plurality of nodes may verify the validity of the smart contract through a consensus algorithm. In addition, as the validity of the smart contract is verified in the plurality of nodes, the plurality of nodes may record the smart contract in the block as a first transaction.

한편, 블록체인 네트워크(200)에 포함된 노드들 각각은 합의 알고리즘을 통해 스마트 컨트랙트의 유효성이 검증된 경우, 스마트 컨트랙트를 제 1 트랜잭션으로 블록에 기록할 수 있다. 여기서, 블록은 블록체인 기술에서 말하는 체인으로 연결되어 있을 수 있다. 그리고 스마트 컨트랙트가 블록체인 네트워크(200)에 기록되는 경우 스마트 컨트랙트가 위조 또는 변조되는 것이 사실상 불가능하다. 따라서, 악의적인 피 유언인, 공증인 및 대리인 중 적어도 하나가 스마트 컨트랙트를 해킹 및 수정하는 것을 방지할 수 있고, 기록된 제 1 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다.Meanwhile, each of the nodes included in the blockchain network 200 may record the smart contract as a first transaction in the block when the validity of the smart contract is verified through a consensus algorithm. Here, blocks may be connected by chains referred to in blockchain technology. And when the smart contract is recorded on the blockchain network 200, it is virtually impossible for the smart contract to be forged or altered. Accordingly, it is possible to prevent at least one of a malicious probate, notary public, and agent from hacking and modifying the smart contract, and the information contained in the recorded first transaction can be stored in a state where integrity can be guaranteed. .

한편, 유언장 관리 서버(400)는 스마트 컨트랙트가 블록체인 네트워크로 배포되는 경우, 스마트 컨트랙트에 대응되는 컨트랙트 어카운트(Contract Account)를 생성할 수 있다.On the other hand, the will management server 400 may generate a contract account corresponding to the smart contract when the smart contract is distributed through a blockchain network.

또한, 스마트 컨트랙트가 블록체인 네트워크(200) 상에서의 컨트랙트 어카운트에 저장됨에 따라, 블록체인 네트워크(200)상에서 유언장에 포함된 내용에 대응하는 액션을 수행하기 위한 스마트 컨트랙트가 동작 가능하도록 활성화될 수 있다.In addition, as the smart contract is stored in the contract account on the blockchain network 200, a smart contract for performing an action corresponding to the content included in the will can be activated on the blockchain network 200 to enable operation. .

예를 들어, 스마트 컨트랙트가 저장되는 컨트랙트 어카운트는 유언장에 포함된 내용을 실행하기 위해 생성된 스마트 컨트랙트들의 개수 및 스마트 컨트랙트의 바이트 코드(byte code)에 대한 해시 값을 포함할 수 있다.For example, the contract account in which the smart contract is stored may include the number of smart contracts created to execute the contents included in the will and a hash value for the byte code of the smart contract.

컨트랙트 어카운트의 주소는 유언장 관리 서버(400)의 개인키에 기초하여 생성될 수 있다. 본 개시의 몇몇 실시예에 다르면, 컨트랙트 어카운트의 주소는 유언장 관리 서버(400)의 개인키와 쌍을 이루는 개인키에 기초하여 생성될 수 있다. 예를 들어, SHA 256(Secure Hash Algorithm 256) 및 RIPEME(RACE Integrity Primitives Evaluation Message Digest) 중 적어도 하나를 이용하여 개인키로부터 컨트랙트 어카운트의 주소가 생성될 수 있다.The address of the contract account may be generated based on the private key of the will management server 400. According to some embodiments of the present disclosure, the address of the contract account may be generated based on a private key paired with the private key of the will management server 400. For example, the address of the contract account may be generated from the private key using at least one of SHA 256 (Secure Hash Algorithm 256) and RIPEME (RACE Integrity Primitives Evaluation Message Digest).

도 3은 본 개시의 몇몇 실시예에 따른 유언장에 포함된 내용에 대응하는 액션을 수행하는 방법의 일례를 설명하기 위한 흐름도이다.3 is a flowchart illustrating an example of a method of performing an action corresponding to content included in a will, according to some embodiments of the present disclosure.

도 3을 참조하면, 유언장 관리 서버(400)의 프로세서(410)는 유언장의 실행 조건이 만족되는지 여부를 확인할 수 있다(S210).Referring to FIG. 3, the processor 410 of the will management server 400 may check whether the execution condition of the will is satisfied (S210).

구체적으로, 프로세서(410)는 스마트 컨트랙트에 포함된 코드(예를 들어, 도 2에서 상술한 제 1 코드)에 기초하여 유언장의 실행 조건이 만족되었는지 여부를 주기적 또는 비주기적으로 확인할 수 있다. Specifically, the processor 410 may periodically or aperiodically check whether the execution condition of the will is satisfied based on the code included in the smart contract (eg, the first code described above in FIG. 2 ).

예를 들어, 프로세서(410)는 통신부(430)를 통해 사용자 단말(100) 및 외부 단말(300) 중 적어도 하나의 단말로부터 유언인 A의 사망 신호를 수신한 경우 제 1 코드에 기초하여 유언장의 실행 조건이 만족되었다고 인식할 수 있다.For example, when the processor 410 receives the death signal of the will A from at least one of the user terminal 100 and the external terminal 300 through the communication unit 430, the will It can be recognized that the execution condition is satisfied.

본 개시의 몇몇 실시예에 따르면, 프로세서(410)는 사용자 단말(100)의 사용자를 통해 기 설정된 행위가 수행되는지 여부를 확인하여 유언장의 실행 조건이 만족되는지 여부를 인식할 수 있다. 이에 대한 자세한 설명은 도 6을 참조하여 후술한다. According to some embodiments of the present disclosure, the processor 410 may check whether a predetermined action is performed by the user of the user terminal 100 to recognize whether the execution condition of the will is satisfied. A detailed description of this will be described later with reference to FIG. 6.

본 개시의 다른 몇몇 실시예에 따르면, 프로세서(410)는 통신부(430)를 통해 사용자 단말(100) 및 외부 단말(300) 중 적어도 하나의 단말로부터 유언인 A의 사망 신호를 수신한 경우, 유언인 A의 사망 여부를 확인하기 위해 외부 서버(600)(예를 들어, 의료 기관 서버 또는 관공서 서버)로 사망 확인 요청 신호를 전송하도록 통신부(430)를 제어할 수 있다. 이때, 통신부(430)는 외부 서버(600)로부터 사망 확인 요청 신호에 대응하는 신호를 수신할 수 있다. 이에 대한 자세한 설명은 도 6 내지 도 7을 참조하여 후술한다.According to some other embodiments of the present disclosure, when the processor 410 receives the death signal of the will A from at least one of the user terminal 100 and the external terminal 300 through the communication unit 430, the will The communication unit 430 may be controlled to transmit a death confirmation request signal to the external server 600 (eg, a medical institution server or a government office server) in order to check whether the person A has died. In this case, the communication unit 430 may receive a signal corresponding to the death confirmation request signal from the external server 600. A detailed description of this will be described later with reference to FIGS. 6 to 7.

본 개시의 또 다른 몇몇 실시예에 따르면, 프로세서(410)는 통신부(430)를 통해 외부 단말(300)로부터 유언장의 실행 요청을 수신 받은 경우, 사용자의 사망 확인을 위한 신호를 사용자 단말(100)로 전송할 수 있다. 이때, 통신부(430)는 사용자 단말(100)로부터 사망 확인 요청 신호에 대응하는 신호를 수신할 수 있다. 이에 대한 자세한 설명은 도 6 내지 도 7을 참조하여 후술한다.According to still another embodiment of the present disclosure, when receiving a request to execute a will from the external terminal 300 through the communication unit 430, the processor 410 transmits a signal for confirming the death of the user to the user terminal 100. Can be transferred to. In this case, the communication unit 430 may receive a signal corresponding to the death confirmation request signal from the user terminal 100. A detailed description of this will be described later with reference to FIGS. 6 to 7.

프로세서(410)는 유언장의 실행 조건이 만족되었다고 인식한 경우(S210, Yes), 스마트 컨트랙트를 실행하여 유언장에 포함된 내용에 대응하는 액션을 수행할 수 있다 (S220).When it is recognized that the execution condition of the will is satisfied (S210, Yes), the processor 410 may execute the smart contract to perform an action corresponding to the content included in the will (S220).

예를 들어, 프로세서(410)는 유언인 A가 사망하였다고 인식한 경우 유언장의 실행 조건이 만족되었다고 인식할 수 있다. 그리고, 프로세서(410)는 스마트 컨트랙트에 기록된 제 2 코드를 인식하여 도 2에서 상술한 제 1 액션 및 제 2 액션을 수행할 수 있다. 구체적으로, 프로세서(410)는 제 1 계좌에서 유언장에 기재된 일정 금액을 인출시키고, 제 2 계좌에 상기 인출된 일정 금액을 입금시키는 트랜잭션을 생성하여 적어도 하나의 노드에 전송하도록 통신부(430)를 제어할 수 있다. 트랜잭션이 적어도 하나의 노드에 전송된 후 복수의 노드가 합의 알고리즘을 통해 트랜잭션의 유효성을 검증하고 복수의 노드에 포함된 블록에 트랜잭션이 기록될 수 있다.For example, if the processor 410 recognizes that the will A has died, it may recognize that the execution condition of the will is satisfied. In addition, the processor 410 may recognize the second code recorded in the smart contract and perform the first action and the second action described above in FIG. 2. Specifically, the processor 410 controls the communication unit 430 to withdraw a certain amount described in the will from the first account, generate a transaction for depositing the withdrawn certain amount into the second account, and transmit it to at least one node. can do. After a transaction is transmitted to at least one node, a plurality of nodes verify the validity of the transaction through a consensus algorithm, and the transaction may be recorded in a block included in the plurality of nodes.

또한, 제 1 액션 및 제 2 액션이 수행되었다는 정보를 블록체인 네트워크(200)에 기록하는 경우 제 1 액션 및 제 2 액션이 수행되었다는 정보가 위조 또는 변조되는 것이 사실상 불가능하다. 따라서, 악의적인 피 유언인, 공증인 및 대리인 중 적어도 하나가 해킹 등을 통해 유언장에 개시되어 있는 액수보다 더 많은 액수를 받는 것을 방지할 수 있고, 기록된 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다.In addition, when information indicating that the first action and the second action have been performed is recorded in the blockchain network 200, it is virtually impossible to forge or alter the information indicating that the first action and the second action have been performed. Therefore, it is possible to prevent at least one of a malicious testament, a notary, and an agent from receiving more than the amount disclosed in the will through hacking, etc., and the integrity of the information contained in the recorded transaction can be guaranteed. It can be stored as it is.

본 개시의 몇몇 실시예에 따르면, 유언장 관리 서버(400)의 프로세서(410)는 유언장의 실행 조건이 만족되었다고 인식한 경우 스마트 컨트랙트를 호출할 수 있다.According to some embodiments of the present disclosure, the processor 410 of the will management server 400 may call a smart contract when it recognizes that the execution condition of the will is satisfied.

구체적으로, 프로세서(410)는 스마트 컨트랙트를 실행하여 유언장에 포함된 내용에 대응하는 액션을 수행하기 전에, 유언장의 실행 조건이 만족되었다고 인식한 경우 스마트 컨트랙트를 호출하고 스마트 컨트랙트의 호출에 따라 스마트 컨트랙트를 실행하여 유언장에 포함된 내용에 대응하는 액션을 수행할 수 있다.Specifically, the processor 410 calls a smart contract when it recognizes that the execution condition of the will has been satisfied before executing the smart contract to perform an action corresponding to the content contained in the will, and calls the smart contract according to the call of the smart contract. You can execute the action corresponding to the content contained in the will.

이 경우, 유언장에 포함된 내용을 인식하는 동작 및 스마트 컨트랙트를 호출하는 동작이 유언장의 실행 조건이 만족된 경우에 한하여 이루어지기 때문에 네트워크 리소스 및 컴퓨팅 리소스의 효율적인 활용이 가능해질 수 있다.In this case, since the operation of recognizing the content contained in the will and the operation of calling the smart contract is performed only when the execution condition of the will is satisfied, efficient use of network resources and computing resources may be possible.

한편, 프로세서(410)는 유언장의 실행 조건이 만족되지 않는 경우(S210, No), 유언장의 실행 조건이 만족되는지 여부를 주기적 또는 비주기적으로 확인할 수 있다.Meanwhile, when the execution condition of the will is not satisfied (S210, No), the processor 410 may periodically or aperiodically check whether the execution condition of the will is satisfied.

도 4는 본 개시의 몇몇 실시예에 따른 스마트 컨트랙트를 생성하는 방법의 일례를 설명하기 위한 흐름도이다.4 is a flowchart illustrating an example of a method of creating a smart contract according to some embodiments of the present disclosure.

도 4를 참조하면, 유언장 관리 서버(400)의 프로세서(410)는 유언장을 등록 요청을 전송한 사용자 단말(100)의 식별 정보를 확인할 수 있다(S310). 여기서, 식별 정보는 유언장 등록 요청 신호를 전송한 사용자 단말(100)의 사용자를 인식하는데 사용되는 식별 정보일 수 있다. 예를 들어, 식별 정보는 사용자의 신분 정보, 사용자의 개인 정보, 사용자의 계좌 정보 및 사용자의 신분 정보 등일 수 있다.Referring to FIG. 4, the processor 410 of the will management server 400 may check the identification information of the user terminal 100 that has transmitted the registration request for the will (S310). Here, the identification information may be identification information used to recognize the user of the user terminal 100 that has transmitted the will registration request signal. For example, the identification information may be user identification information, user personal information, user account information, user identification information, and the like.

유언장 관리 서버(400)의 프로세서(410)는 식별 정보에 기초하여 사용자 단말(100)이 유언장의 등록 요청을 수행할 수 있는 권한이 있는 단말인지 여부를 인식할 수 있다(S320).The processor 410 of the will management server 400 may recognize whether the user terminal 100 is a terminal authorized to perform a registration request for a will based on the identification information (S320).

예를 들어, 프로세서(410)는 식별 정보에 기초하여 사용자 단말(100)의 사용자를 인식할 수 있다. 그리고, 프로세서(410)는, 상기 사용자가 유언장의 등록 요청을 수행할 수 있는 권한이 있는 자(예를 들어, 유언자 A, 유언자 A의 대리인 등)와 일치하는지 여부를 인식할 수 있다. 프로세서(410)는, 상기 사용자와 유언장의 등록 요청을 수행할 수 있는 권한이 있는 자가 일치한다고 인식한 경우, 사용자 단말(100)이 유언장의 등록 요청을 수행할 수 있는 권한이 있는 단말이라고 인식할 수 있다. 그리고, 프로세서(410)는, 상기 사용자와 유언장의 등록 요청을 수행할 수 있는 권한자가 일치하지 않는다고 인식한 경우, 유언장의 등록 요청 신호를 전송한 사용자 단말(100)이 유언장의 등록 요청을 수행할 수 있는 권한이 없는 단말이라고 인식할 수 있다.For example, the processor 410 may recognize a user of the user terminal 100 based on the identification information. In addition, the processor 410 may recognize whether the user matches a person authorized to perform a request for registration of a will (eg, testator A, an agent of testator A, etc.). When the processor 410 recognizes that the user and the person authorized to perform the registration request for the will match, the user terminal 100 recognizes that the user terminal 100 is a terminal authorized to perform the registration request for the will. I can. In addition, when the processor 410 recognizes that the user and the authorized person who can perform the registration request for the will do not match, the user terminal 100 that has transmitted the registration request signal for the will will perform the registration request for the will. It can be recognized that the terminal is not authorized to do so.

한편, 몇몇 실시예에 따르면, 프로세서(410)는, 상기 사용자가 유언장의 유언자와 상이하다고 인식한 경우, 유언장의 등록 요청 신호를 전송한 사용자 단말(100)에 유언자와의 관계를 입증할 수 있는 자료를 요청하는 신호를 전송하도록 통신부(430)를 제어할 수 있다.On the other hand, according to some embodiments, when the user recognizes that it is different from the will of the will, the processor 410 can verify the relationship with the will to the user terminal 100 that has transmitted the registration request signal of the will. The communication unit 430 may be controlled to transmit a signal for requesting data.

한편, 프로세서(410)는 단계(S320)에서 사용자 단말(100)이 유언장의 등록 요청을 수행할 수 있는 권한이 있는 단말이라고 인식한 경우(S320, Yes), 유언장의 등록 요청에 기초하여 스마트 컨트랙트를 생성할 수 있다(S330).On the other hand, if the processor 410 recognizes in step S320 that the user terminal 100 has the authority to perform the registration request of the will (S320, Yes), the smart contract is based on the registration request of the will. Can be generated (S330).

이 경우, 프로세서(410)는 통신부(430)를 통해 스마트 컨트랙트를 적어도 하나의 노드에 전송함으로써, 복수의 노드가 합의 알고리즘을 통해 스마트 컨트랙트의 유효성을 검증하고, 스마트 컨트랙트의 유효성이 검증됨에 따라 복수의 노드가 블록에 스마트 컨트랙트를 제 1 트랜잭션으로 기록하도록 야기시킬 수 있다.In this case, the processor 410 transmits the smart contract to at least one node through the communication unit 430, so that a plurality of nodes verify the validity of the smart contract through a consensus algorithm, and as the validity of the smart contract is verified, You can cause the node of to write the smart contract to the block as the first transaction.

한편, 프로세서(410)는 사용자 단말(100)이 유언장의 등록 요청을 수행할 수 있는 권한이 없는 단말이라고 인식한 경우(S320, No), 등록 요청에 기초한 스마트 컨트랙트를 생성하지 않을 수 있다. 다만, 이에 한정되는 것은 아니고, 프로세서(410)는 사용자 단말(100)이 유언자의 등록 요청을 수행할 수 있는 권한이 있는 단말인지 여부를 기 설정된 횟수만큼 재확인할 수 있다.On the other hand, if the processor 410 recognizes that the user terminal 100 is a terminal that does not have the authority to perform the registration request for a will (S320, No), the smart contract may not be generated based on the registration request. However, the present invention is not limited thereto, and the processor 410 may reconfirm whether or not the user terminal 100 is a terminal having the authority to perform the registration request of the testator a predetermined number of times.

한편, 몇몇 실시예에 따르면, 프로세서(410)는 사용자 단말(100)이 유언장의 등록 요청을 수행할 수 있는 권한이 없는 단말이라고 인식한 경우(S320, No), 사용자 단말(100)에 권한이 없는 단말이라고 인식한 이유가 포함된 신호를 전송하도록 통신부(430)를 제어할 수도 있다.Meanwhile, according to some embodiments, when the processor 410 recognizes that the user terminal 100 is a terminal that does not have the right to perform the registration request for a will (S320, No), the user terminal 100 has It is also possible to control the communication unit 430 to transmit a signal including a reason for recognizing that the terminal is not present.

도 4에서 상술한 바와 같이 스마트 컨트랙트를 적어도 하나의 노드에 전송하는 경우, 복수의 노드가 합의 알고리즘을 통해 스마트 컨트랙트의 유효성을 검증하고, 스마트 컨트랙트의 유효성이 검증됨에 따라 복수의 노드가 블록에 스마트 컨트랙트를 제 1 트랜잭션으로 기록될 수 있다. 또한, 스마트 컨트랙트가 블록체인 네트워크(200)에 기록되는 경우 스마트 컨트랙트의 위조 또는 변조되는 것이 사실상 불가능하고, 기록된 제 1 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다.As described above in FIG. 4, when a smart contract is transmitted to at least one node, a plurality of nodes verify the validity of the smart contract through a consensus algorithm, and as the validity of the smart contract is verified, the plurality of nodes are smart in the block. The contract can be recorded as a first transaction. In addition, when the smart contract is recorded in the blockchain network 200, it is virtually impossible to forge or alter the smart contract, and the information included in the recorded first transaction may be stored in a state in which integrity can be guaranteed.

도 5는 본 개시의 몇몇 실시예에 따른 유언장의 등록 요청에 기초하여 스마트 컨트랙트를 블록체인 네트워크에 기록하는 방법의 일례를 설명하기 위한 흐름도이다. 도 5에서 도시되는 내용에 대한 특징 중 도 1 내지 도 4와 관련하여 앞서 설명된 특징과 중복되는 특징에 대해서는 도 1 내지 도 4와 기재된 내용을 참고하고 여기에서는 그 설명을 생략하기로 한다.5 is a flowchart illustrating an example of a method of recording a smart contract in a blockchain network based on a request for registration of a will, according to some embodiments of the present disclosure. For features that overlap with the features described above with respect to FIGS. 1 to 4 among the features of the content illustrated in FIG. 5, the descriptions thereof will be omitted herein with reference to the content described in FIGS. 1 to 4.

도 5를 참조하면, 사용자는 사용자 단말(100)을 통해 유언장을 작성할 수 있다(S410). 이 경우, 사용자 단말(100)은 유언장을 사용자로부터 입력받기 위한 사용자 인터페이스(User Interface)를 화면에 디스플레이할 수 있다. Referring to FIG. 5, a user may write a will through the user terminal 100 (S410). In this case, the user terminal 100 may display a user interface for receiving a will from the user on the screen.

여기서, 사용자에 의해 작성된 유언장은 네트워크(500)를 통해 전송이 가능한 형태로 작성된 문서, 음성 녹음 파일, 이미지 파일, 오프라인상에서 공증받은 문서의 스캔 파일 등을 포함할 수 있다.Here, the will created by the user may include a document created in a form that can be transmitted through the network 500, a voice recording file, an image file, and a scan file of a document notarized offline.

한편, 사용자가 유언장 작성을 완료한 경우, 사용자 단말(100)은 사용자가 작성한 유언장을 포함하는 유언장의 등록 요청 신호를 유언장 관리 서버로 전송할 수 있다(S420). 여기서, 유언장의 등록 요청은 사용자가 작성한 유언장이 블록체인 네트워크(200)에 기록되도록 요청하는 일련의 신호일 수 있다On the other hand, when the user completes the creation of the will, the user terminal 100 may transmit a registration request signal of the will including the will created by the user to the will management server (S420). Here, the request for registration of the will may be a series of signals requesting that the will written by the user be recorded in the blockchain network 200

몇몇 실시예에 따르면, 유언장 관리 서버(400)의 프로세서(410)는 단계(S420)에서 유언장 등록 요청을 수신한 경우, 등록 요청 신호를 전송하였는지 여부를 확인하는 제 1 신호를 사용자 단말(100)로 전송하도록 통신부(430)를 제어할 수 있다(S430).According to some embodiments, when the processor 410 of the will management server 400 receives a will registration request in step S420, the user terminal 100 transmits a first signal to determine whether a registration request signal has been transmitted. It is possible to control the communication unit 430 to transmit to (S430).

여기서, 제 1 신호는, 문자(message)에 대한 응답 요청 신호, 링크(link)된 사이트에 대한 접속 요청 신호 및 e-mail 회신 요청 신호 중 적어도 하나를 포함할 수 있다. 다만, 제 1 신호는 이에 한정되는 것은 아니고 다양한 확인 요청 신호가 포함될 수 있다.Here, the first signal may include at least one of a response request signal for a message, a connection request signal for a linked site, and an e-mail reply request signal. However, the first signal is not limited thereto, and various confirmation request signals may be included.

사용자는 사용자 단말(100)을 통해 수신한 제 1 신호에 대응하는 제 2 신호를 유언장 관리 서버(400)로 전송할 수 있다(S440).The user may transmit a second signal corresponding to the first signal received through the user terminal 100 to the will management server 400 (S440).

여기서, 제 2 신호는 제 1 신호에 대응하는 문자의 회신, 링크된 사이트의 접속 및 e-mail의 회신 중 적어도 하나를 포함할 수 있다.Here, the second signal may include at least one of a reply of a text corresponding to the first signal, a connection to a linked site, and a reply of an e-mail.

유언장 관리 서버(400)의 프로세서(410)는 제 2 신호에 기초하여 유언장의 등록 요청이 사용자 단말(100)에서 전송되었는지 확인할 수 있다(S450).The processor 410 of the will management server 400 may check whether the request for registration of the will is transmitted from the user terminal 100 based on the second signal (S450).

구체적으로, 프로세서(410)는 사용자 식별정보에 기초하여 통신부(430)를 통해 수신된 제 2 신호가 등록 요청한 사용자 단말(100)로부터 수신되었는지 여부를 확인할 수 있다.Specifically, the processor 410 may check whether the second signal received through the communication unit 430 is received from the user terminal 100 requesting registration based on the user identification information.

예를 들어, 프로세서(410)는 제 1 신호에 대응하는 제 2 신호를 통신부(430)가 수신하였더라도, 유언장을 등록 요청한 사용자 단말(100)과 제 2 신호를 전송한 단말이 상이하다면, 유언장의 등록 요청을 거절할 수 있다.For example, even if the communication unit 430 receives a second signal corresponding to the first signal, the processor 410 may receive a will, if the user terminal 100 requesting the registration of the will and the terminal transmitting the second signal are different. You can decline your registration request.

또한, 본 개시의 몇몇 실시예에 따르면, 유언장 관리 서버(400)의 프로세서(410)는 통신부(4340)를 통해 사용자 단말(100)로부터 제 1 신호에 대응하는 제 2 신호를 수신하지 못한 경우, 제 1 신호를 재전송하거나 유언장의 등록 요청을 거절할 수 있다.In addition, according to some embodiments of the present disclosure, when the processor 410 of the will management server 400 fails to receive a second signal corresponding to the first signal from the user terminal 100 through the communication unit 4340, The first signal may be retransmitted or the request for registration of a will may be rejected.

한편, 유언장 관리 서버(400)의 프로세서(410)는 단계(S450)에서 제 2 신호를 전송한 단말이 유언장을 등록 요청한 사용자 단말(100)과 일치한다고 인식한 경우, 등록 요청에 기초하여 스마트 컨트랙트를 생성할 수 있다(S460). 여기서, 스마트 컨트랙트는 도 2에서 상술한 제 1코드 및 제 2 코드를 포함하는 스마트 컨트랙트일 수 있다.On the other hand, if the processor 410 of the will management server 400 recognizes that the terminal that has transmitted the second signal in step S450 matches the user terminal 100 requesting the registration of the will, the smart contract is based on the registration request. Can be generated (S460). Here, the smart contract may be a smart contract including the first code and the second code described above in FIG. 2.

유언장 관리 서버(400)의 프로세서(410)는 생성된 스마트 컨트랙트를 적어도 하나의 노드에 전송하도록 통신부(430)를 제어할 수 있다(S470).The processor 410 of the will management server 400 may control the communication unit 430 to transmit the generated smart contract to at least one node (S470).

유언장 관리 서버(400)가 스마트 컨트랙트를 블록체인 네트워크(200)에 포함된 적어도 하나의 노드에 전송한 경우, 복수의 노드가 합의 알고리즘을 통해 스마트 컨트랙트의 유효성을 검증할 수 있다.When the will management server 400 transmits the smart contract to at least one node included in the blockchain network 200, a plurality of nodes may verify the validity of the smart contract through a consensus algorithm.

유언장 관리 서버(400)의 프로세서(410)가 단계(S470)에서 스마트 컨트랙트를 적어도 하나의 노드에 전송한 경우, 블록체인 네트워크(200)에는 스마트 컨트랙트가 제 1 트랜잭션으로 기록될 수 있다(S480).When the processor 410 of the will management server 400 transmits the smart contract to at least one node in step S470, the smart contract may be recorded as a first transaction in the blockchain network 200 (S480). .

구체적으로, 블록체인 네트워크(200)에 포함된 복수의 노드에 의해 합의 알고리즘을 거치고, 합의 알고리즘에 의해 유효성이 검증된 스마트 컨트랙트가 블록체인 네트워크(200)내의 제 1 트랜잭션으로 생성된 블록에 기록될 수 있다.Specifically, a smart contract that has undergone a consensus algorithm by a plurality of nodes included in the blockchain network 200 and validated by the consensus algorithm will be recorded in the block created as the first transaction in the blockchain network 200. I can.

도 6은 본 개시의 몇몇 실시예에 따른 유언장의 실행 조건이 만족되었다고 인식하는 방법의 일례를 설명하기 위한 흐름도이다.6 is a flowchart illustrating an example of a method of recognizing that an execution condition of a will is satisfied, according to some embodiments of the present disclosure.

본 개시의 몇몇 실시예에 따르면, 유언장 관리 서버(400)의 프로세서(410)는 유언장의 등록 요청에 따른 유언장 등록 시 사용자가 기 설정된 행위를 수행하도록 요청할 수 있다. 그리고, 프로세서(410)는 기 설정된 행위가 수행되는지 여부에 기초하여 도 3에서 상술한 유언장의 실행 조건이 만족되었는지 여부를 확인할 수 있다.According to some embodiments of the present disclosure, the processor 410 of the will management server 400 may request a user to perform a preset action when registering a will according to a request for registration of a will. Further, the processor 410 may check whether the execution condition of the will described in FIG. 3 is satisfied based on whether a preset action is performed.

도 6을 참조하면, 유언장 관리 서버(400)의 프로세서(410)는 사용자 단말(100)의 사용자를 통해 기 설정된 행위가 수행되는지 여부를 주기적 또는 비주기적으로 확인할 수 있다(S510).Referring to FIG. 6, the processor 410 of the will management server 400 may periodically or aperiodically check whether a predetermined action is performed by the user of the user terminal 100 (S510).

구체적으로, 프로세서(410)는 사용자의 유언장이 블록체인 네트워크에 기록된 후 사용자에게 사용자 단말(100)을 통해 기 설정된 행위를 수행하도록 요청할 수 있다.Specifically, the processor 410 may request the user to perform a predetermined action through the user terminal 100 after the user's will is recorded in the blockchain network.

여기서 기 설정된 행위는, 사용자 단말(100)을 통한 유언장 관리 서버(400)로 신호의 전송, 유언장 관리 서버(400)가 운영하는 홈페이지의 접속, 유언장 관리 서버(400)로 이메일의 전송 등을 포함할 수 있다. 다만, 기 설정된 행위는 상술한 예시에 한정되는 것은 아니고 사용자가 사용자 단말(100)을 통해 수행할 수 있는 다양한 행위가 포함될 수 있다.Here, the preset actions include transmission of a signal to the will management server 400 through the user terminal 100, access to a homepage operated by the will management server 400, and transmission of an email to the will management server 400. can do. However, the preset action is not limited to the above-described example, and various actions that the user can perform through the user terminal 100 may be included.

유언장 관리 서버(400)의 프로세서(410)는 기 설정된 행위가 기 설정된 기간동안 수행되는지 여부(S520, No)에 따라 유언장의 실행 조건이 만족되었다고 인식할 수 있다(S530).The processor 410 of the will management server 400 may recognize that the execution condition of the will is satisfied according to whether the preset action is performed for a preset period (S520, No) (S530).

구체적으로, 프로세서(410)는 기 설정된 행위가 사용자 단말(100)로부터 기 설정된 기간 동안 수행되지 않는다면, 유언장을 등록 요청했던 사용자는 사망한 것으로 인식하여 유언장의 실행 조건이 만족되었다고 인식할 수 있다.Specifically, if a preset action is not performed from the user terminal 100 for a preset period, the processor 410 may recognize that the user who requested the registration of the will is dead and that the execution condition of the will is satisfied.

한편, 본 개시의 몇몇 실시예에 따르면, 프로세서(410)는 기 설정된 행위가 기 설정된 기간 동안 수행되지 않는다면, 사용자 단말(100) 및 외부 단말(300)로 사용자의 사망 확인을 위한 신호를 전송하도록 통신부(430)를 제어할 수 있다. 사용자가 사망은 하지 않았지만 신체적 어려움으로 인해 사용자 단말(100)을 통한 기 설정한 행위를 수행할 수 없는 경우, 사용자 단말(100)의 파손 및 손실 등으로 인하여 기 설정한 행위를 수행할 수 없는 경우, 사용자가 단순히 기 설정한 행위의 수행을 망각한 경우 등의 특수한 상황이 발생할 수 있기 때문이다. Meanwhile, according to some embodiments of the present disclosure, if a preset action is not performed for a preset period, the processor 410 transmits a signal for confirming the user's death to the user terminal 100 and the external terminal 300. It is possible to control the communication unit 430. When the user has not died, but cannot perform the preset action through the user terminal 100 due to physical difficulties, or cannot perform the preset action due to damage or loss of the user terminal 100 This is because special situations such as when a user simply forgets to perform a preset action may occur.

한편, 프로세서(410)는 통신부(430)를 통해 사용자 단말(100)로부터 기 설정된 행위가 수행되고 있음이 확인된다면(S530, Yes), 유언장의 실행 조건이 만족되지 않았다고 인식할 수 있다.On the other hand, the processor 410 may recognize that the execution condition of the will is not satisfied if it is confirmed that a preset action is being performed from the user terminal 100 through the communication unit 430 (S530, Yes).

도 7은 본 개시의 몇몇 실시예에 따른 사용자의 사망 신호에 기초하여 유언장의 실행 조건이 만족되었다고 인식하는 방법의 일례를 설명하기 위한 흐름도이다.7 is a flowchart illustrating an example of a method of recognizing that an execution condition of a will is satisfied based on a death signal of a user according to some embodiments of the present disclosure.

도 7을 참조하면, 외부 단말(300)은 사용자의 사망 신호를 유언장 관리 서버(400)로 전송할 수 있다(S610).Referring to FIG. 7, the external terminal 300 may transmit a user's death signal to the will management server 400 (S610).

여기서 사망 신호는 사용자의 사망을 입증할 수 있는 자료의 송신, 유언장의 실행 요청 신호 등을 포함할 수 있다.Here, the death signal may include a transmission of data that can prove the user's death, a signal requesting execution of a will, and the like.

사망 신호를 수신한 유언장 관리 서버(400)의 프로세서(410)는 사용자의 사망 확인을 위한 사망 확인 요청 신호를 외부 서버(600)로 전송하도록 통신부(430)를 제어할 수 있다(S620).The processor 410 of the will management server 400 receiving the death signal may control the communication unit 430 to transmit a death confirmation request signal for confirming the user's death to the external server 600 (S620).

외부 서버(600)는 사용자의 사망을 확인할 수 있는 의료 기관 서버 또는 관공서 서버 등을 포함할 수 있다.The external server 600 may include a medical institution server or a government office server that can confirm the death of the user.

외부 서버(600)는 단계(S620)에서 사용자의 사망 확인 요청 신호를 수신한 경우, 사용자가 실제 사망했는지 여부를 데이터베이스 내에서 확인할 수 있다. When receiving the user's death confirmation request signal in step S620, the external server 600 may check whether the user has actually died in the database.

외부 서버(600)는 사용자가 실제 사망했는지 여부를 확인한 후에 사용 사용자의 사망 확인 여부에 대한 제 3 신호를 수신할 수 있다(S630).The external server 600 may receive a third signal indicating whether the user has died after checking whether the user has actually died (S630).

여기서, 제 3 신호는 사용자에 대한 생존 확인서, 생환 신고서, 기본 증명서, 사망 확인서 및 사체 검안서 중 적어도 하나를 포함할 수 있다. 다만, 제 3 신호는 상술한 예시에 한정되는 것은 아니고 사용자의 사망 여부를 확인할 수 있는 다양한 증명서 또는 신호 등이 포함할 수 있다.Here, the third signal may include at least one of a survival confirmation letter, a life return report, a basic certificate, a death certificate, and a corpse optometrist for the user. However, the third signal is not limited to the above-described example, and may include various certificates or signals for confirming the death of the user.

한편, 유언장 관리 서버(400)의 프로세서(410)는 통신부(430)를 통해 수신한 제 3 신호에 기초하여 사용자의 사망 여부를 확인할 수 있다(S640).Meanwhile, the processor 410 of the will management server 400 may check whether the user is dead based on the third signal received through the communication unit 430 (S640).

구체적으로, 프로세서(410)는 수신한 생존 확인서, 생환 신고서, 기본 증명서, 사망 확인서 및 사체 검안서 중 적어도 하나에 기초하여 사용자의 사망 여부를 확인할 수 있다.Specifically, the processor 410 may check whether the user dies based on at least one of the received survival confirmation, resuscitation report, basic certificate, death confirmation, and corpse optometry.

한편, 본 개시의 몇몇 실시예에 따르면, 유언장 관리 서버(400)는 통신부(430)를 통해 외부 단말(300)(예를 들어, 유언인의 대변인, 유언인의 친인척 및 피 유언인 중 적어도 하나가 소지하고 있는 단말)로부터 사용자의 사망 신호 신호를 수신한 경우, 사용자의 사망 확인을 위한 제 4 신호를 사용자 단말(100)로 전송하도록 통신부(430)를 제어할 수도 있다.On the other hand, according to some embodiments of the present disclosure, the will management server 400 includes at least one of the external terminal 300 (for example, a spokesperson of a testament, a relative of the testament, and a testament) through the communication unit 430. When a user's death signal signal is received from one terminal), the communication unit 430 may be controlled to transmit a fourth signal for confirming the user's death to the user terminal 100.

구체적으로, 프로세서(410)가 통신부(430)를 통해 외부 단말(300)로부터 유언장의 실행 요청을 수신 받으면, 사용자의 사망 확인 요청 신호를 사용자 단말(100)로 전송할 수 있다. 그리고, 프로세서(410)는 통신부(430)를 통해 사용자 단말(100)로부터 제 4 신호에 대응하는 제 5 신호를 수신한다면, 제 5 신호에 기초하여 사용자의 사망 정보를 확인할 수 있다.Specifically, when the processor 410 receives a request to execute a will from the external terminal 300 through the communication unit 430, the processor 410 may transmit a user's death confirmation request signal to the user terminal 100. In addition, if the processor 410 receives the fifth signal corresponding to the fourth signal from the user terminal 100 through the communication unit 430, the processor 410 may check the death information of the user based on the fifth signal.

여기서, 제 4 신호는 외부 단말(100)로부터 전송된 사망 신호, 유언장의 조회 신호, 유언장의 실행 요청 신호 중 적어도 하나의 진위 여부를 확인하기 위한 신호일 수 있다. 또한, 제 5 신호는 외부 단말(100)로부터 전송된 사망 신호, 유언장의 조회 신호, 유언장의 실행 요청 신호 중 적어도 하나가 위조되지 않았다고 확인할 수 있는 신호일 수 있다.Here, the fourth signal may be a signal for confirming the authenticity of at least one of a death signal transmitted from the external terminal 100, an inquiry signal for a will, and a signal for requesting execution of a will. In addition, the fifth signal may be a signal capable of confirming that at least one of a death signal transmitted from the external terminal 100, an inquiry signal of a will, and an execution request signal of a will is not forged.

한편, 프로세서(410)는 제 4 신호에 대응하는 제 5 신호가 수신되지 않는다면, 사용자의 사망 확인을 위한 사망 확인 요청 신호를 외부 서버(600)로 전송하도록 통신부(430)를 제어할 수 있다.Meanwhile, if the fifth signal corresponding to the fourth signal is not received, the processor 410 may control the communication unit 430 to transmit a death confirmation request signal for confirming the user's death to the external server 600.

유언장 관리 서버(400)의 프로세서(410)는 통신부(430)를 통해 외부 서버(600)로부터 사용자의 사망 확인 여부에 대한 제 3 신호를 수신할 수 있다(S630).The processor 410 of the will management server 400 may receive a third signal indicating whether the user's death has been confirmed from the external server 600 through the communication unit 430 (S630).

여기서, 제 3 신호는 사용자에 대한 생존 확인서, 생환 신고서, 기본 증명서, 사망 확인서 및 사체 검안서 중 적어도 하나를 포함할 수 있다. 다만, 제 3 신호는 상술한 예시에 한정되는 것은 아니고 사용자의 사망 여부를 확인할 수 있는 다양한 증명서 또는 신호 등이 포함할 수 있다.Here, the third signal may include at least one of a survival confirmation letter, a life return report, a basic certificate, a death certificate, and a corpse optometrist for the user. However, the third signal is not limited to the above-described example, and may include various certificates or signals for confirming the death of the user.

한편, 유언장 관리 서버(400)의 프로세서(410)는 사용자가 사망한 후 기 설정된 시간이 경과한 경우(S650, Yes)를 통해 유언장의 실행 조건이 만족이 만족되었다고 인식할 수 있다(S660).Meanwhile, the processor 410 of the will management server 400 may recognize that the execution condition of the will is satisfied through a case where a preset time has elapsed after the user dies (S650, Yes) (S660).

여기서 기 설정된 시간은 사용자가 유언장의 등록 요청 시 또는 유언장에 포함된 사용자의 사망 후 로부터 일정 시간일 수 있다. 또한, 기 설정된 시간은 사용자가 설정한 시간이 아니라 외부 서버(600) 중 의료 기관 서버에 의해 사망 확인을 판정 받은 후 관공서 서버에 등록되기 위한 시간, 장례식을 치르는데 소요되는 시간 등일수도 있다.Here, the preset time may be a predetermined time from when the user requests registration of the will or after the death of the user included in the will. In addition, the preset time may not be a time set by a user, but may be a time required to register in a government office server after a death confirmation is determined by a medical institution server among the external servers 600, a time required to hold a funeral, and the like.

또한, 프로세서(410)는 사용자가 사망한 후 기 설정된 시간이 경과하지 않은 경우(S650, No) 유언장의 실행 조건이 만족되지 않았다고 인식할 수 있다.In addition, the processor 410 may recognize that the execution condition of the will is not satisfied when a preset time has not elapsed after the user dies (S650, No).

도 8은 본 개시의 몇몇 실시예에 따른 유언장에 포함된 내용에 대응하는 액션을 수행하는 방법의 일례를 설명하기 위한 흐름도이다. 도 8에서 도시되는 내용에 대한 특징 중 도 1 내지 도 7과 관련하여 앞서 설명된 특징과 중복되는 특징에 대해서는 도 1 내지 도 7과 기재된 내용을 참고하고 여기에서는 그 설명을 생략하기로 한다.8 is a flowchart illustrating an example of a method of performing an action corresponding to content included in a will, according to some embodiments of the present disclosure. For features that overlap with the features described above with respect to FIGS. 1 to 7 among the features of the content illustrated in FIG. 8, reference to the content described in FIGS. 1 to 7 will be omitted herein.

도 8을 참조하면, 유언장 관리 서버(400)는 유언장의 실행 요청을 수신할 수 있다(S710). 구체적으로, 프로세서(410)는 도7에서 상술한 바와 같이 외부 단말(300) 및 사용자 단말(100)로부터 통신부(430)를 통해 유언장의 실행 요청을 수신할 수 있다.Referring to FIG. 8, the will management server 400 may receive a request to execute the will (S710). Specifically, the processor 410 may receive a request to execute a will through the communication unit 430 from the external terminal 300 and the user terminal 100 as described above with reference to FIG. 7.

그리고 프로세서(410)는 도 3 및 도 6에서 상술한 예시들을 기초하여 유언장의 실행 조건이 만족되었는지 여부를 확인할 수 있다.Further, the processor 410 may check whether the execution condition of the will is satisfied based on the examples described above in FIGS. 3 and 6.

유언장 관리 서버(400)의 프로세서(410)는 유언장의 실행 조건이 만족된 경우(S720, Yes) 유언장의 실행 조건이 만족되었다는 제 1 정보를 블록체인 네트워크(200)내에 포함된 적어도 하나의 노드에 전송하도록 통신부(430)를 제어할 수 있다(S730).When the execution condition of the will is satisfied (S720, Yes), the processor 410 of the will management server 400 transmits first information indicating that the execution condition of the will is satisfied to at least one node included in the blockchain network 200. The communication unit 430 can be controlled to transmit (S730).

구체적으로, 프로세서(410)가 제 1 정보를 적어도 하나의 노드에 전송한 경우, 복수의 노드가 합의 알고리즘을 통해 제 1 정보의 유효성을 검증할 수 있다.Specifically, when the processor 410 transmits the first information to at least one node, a plurality of nodes may verify the validity of the first information through an agreement algorithm.

또한, 유언장 관리 서버(400)의 프로세서(410)는 블록체인 네트워크(200)에 유언장의 실행 조건이 만족되었다는 제 1 정보를 제 2 트랜잭션으로 기록할 수 있다(S740).In addition, the processor 410 of the will management server 400 may record first information indicating that the execution condition of the will is satisfied in the blockchain network 200 as a second transaction (S740).

제 1 정보의 유효성이 검증됨에 따라 블록체인 네트워크(200)에 포함된 노드들 각각은 합의 알고리즘을 통해 제 1 정보를 제 2 트랜잭션으로 블록에 기록할 수 있다. 여기서, 블록은 블록체인 기술에서 말하는 체인으로 연결되어 있을 수 있다.As the validity of the first information is verified, each of the nodes included in the blockchain network 200 may record the first information in the block as a second transaction through a consensus algorithm. Here, blocks may be connected by chains referred to in blockchain technology.

또한, 제 1 정보가 블록체인 네트워크(200)에 기록되는 경우 제 1 정보가 위조 또는 변조되는 것이 사실상 불가능하다. 따라서, 악의적인 피 유언인, 공증인 및 대리인 중 적어도 하나가 제 1 정보를 해킹 및 수정하는 것을 방지할 수 있고, 기록된 제 2 트랜잭션 내에 포함된 정보는 무결성이 보장될 수 있는 상태로 보관될 수 있다.In addition, when the first information is recorded in the blockchain network 200, it is virtually impossible for the first information to be forged or altered. Therefore, it is possible to prevent at least one of a malicious testament, notary, and agent from hacking and modifying the first information, and the information contained in the recorded second transaction can be kept in a state where integrity can be guaranteed. have.

프로세서(410)는 적어도 하나의 실행 조건이 만족되었다는 제 1 정보를 인식한 경우, 실행 조건에 기초하여 생성된 제 1 정보를 블록체인 네트워크(200)에 포함된 적어도 하나의 노드로 전송할 수 있다. 제 1 정보가 합의 알고리즘을 통해 검증된 경우, 복수의 노드 각각에서 블록을 생성하고 블록에 제 1 정보가 기록되도록 할 수 있다.When the processor 410 recognizes first information indicating that at least one execution condition is satisfied, the processor 410 may transmit the first information generated based on the execution condition to at least one node included in the blockchain network 200. When the first information is verified through the consensus algorithm, a block may be generated in each of a plurality of nodes and the first information may be recorded in the block.

한편, 프로세서(410)는 제 1 정보를 적어도 하나의 노드에 전송할 때, 유언장 관리 서버(400) 와 연관된 개인키로 서명된 제 2 트랜잭션을 생성하고, 생성된 제 2 트랜잭션을 적어도 하나의 노드로 전송하도록 통신부(430)를 제어할 수 있다.Meanwhile, when transmitting the first information to at least one node, the processor 410 generates a second transaction signed with a private key associated with the will management server 400, and transmits the generated second transaction to at least one node. The communication unit 430 can be controlled so as to be performed.

여기서, 유언장 관리 서버(400)의 개인키로부터 생성된 식별정보는 제 2 트랜잭션의 입력 값에 기록될 수 있다. 그리고, 적어도 하나의 사용자의 제 1 정보를 포함하는 제 2 트랜잭션이 저장될 블록체인 네트워크(200) 내에서의 주소 정보 및 제 1 정보를 포함하는 제 2 트랜잭션이 출력 값에 기록될 수 있다.Here, the identification information generated from the private key of the will management server 400 may be recorded in the input value of the second transaction. In addition, address information in the blockchain network 200 in which a second transaction including first information of at least one user is to be stored and a second transaction including the first information may be recorded in the output value.

한편, 단계(S720)에서 유언장 실행 조건이 만족되었다고 인식된 경우, 유언장 관리 서버(400)의 프로세서(410)는 스마트 컨트랙트를 실행하여 유언장에 포함된 내용에 대응하는 액션(action)을 수행할 수 있다(S750).On the other hand, when it is recognized that the will execution condition is satisfied in step S720, the processor 410 of the will management server 400 may execute a smart contract to perform an action corresponding to the content included in the will. Yes (S750).

구체적으로, 프로세서(410)는 블록체인 네트워크(200)내에 등록된 유언장에 포함된 내용을 인식하여 스마트 컨트랙트와 관련된 내용에 대응하는 액션을 수행할 수 있다.Specifically, the processor 410 may recognize the content contained in the will registered in the blockchain network 200 and perform an action corresponding to the content related to the smart contract.

여기서 스마트 컨트랙트와 관련된 내용에 대응하는 액션은 계좌 이체, 토큰의 전송, 문서의 전송 등을 포함할 수 있다. 다만, 액션은 상술한 내용에 한정되는 것은 아니라 스마트 컨트랙트를 통해 수행될 수 있는 다양한 동작을 포함할 수 있다.Here, the action corresponding to the content related to the smart contract may include an account transfer, a token transfer, a document transfer, and the like. However, the action is not limited to the above-described content, and may include various actions that can be performed through a smart contract.

이에 대해 도 1 내지 도 7에서 자세히 상술한 자세한 설명은 생략한다. For this, detailed descriptions described in detail in FIGS. 1 to 7 will be omitted.

도 9는 본 개시내용의 몇몇 실시예에 따른 블록체인 네트워크에서 저장되는 블록들의 연결 구조를 예시적으로 도시한다.9 exemplarily shows a connection structure of blocks stored in a blockchain network according to some embodiments of the present disclosure.

도 9를 참조하면, 블록체인 네트워크(200)에서의 저장 단위인 블록(1400a, 1400b 및 1400c)은 서로 체인 형태로 연결되어 블록체인을 구성할 수 있다. 도 9와 관련하여 블록(1400a, 1400b, 1400c)은 도 1 내지 도 8에서 상술한 블록을 의미할 수 있다.Referring to FIG. 9, blocks 1400a, 1400b and 1400c, which are storage units in the blockchain network 200, may be connected to each other in a chain form to form a blockchain. Referring to FIG. 9, the blocks 1400a, 1400b, and 1400c may mean the blocks described above in FIGS. 1 to 8.

블록(1400a, 1400b 및 1400c)은 블록 헤더(block header) 및 트랜잭션(transaction)으로 구성될 수 있다. 블록 헤더는 예를 들어, 이전 블록 헤더의 해시값, Nonce 값 및 트랜잭션 그룹의 해시값을 포함할 수 있다. Nonce 값은 블록체인 네트워크(200)에서의 노드가 블록을 생성하기 위해 변경하는 값으로서, 블록 헤더의 다른 값과 함께 특정 해시 함수의 입력 값으로 사용될 수 있다. 특정 Nonce 값을 사용하였을 때, 블록 헤더의 해시값이 사전결정된 난이도값(블록 헤더에 저장될 수 있음)보다 작게 나온 경우, 해당 블록 헤더에 대한 해시값이 결정될 수 있다. 트랜잭션 그룹의 해시값은 트랜잭션에 포함된 데이터들의 Root 해시값을 의미할 수 있다.Blocks 1400a, 1400b, and 1400c may be composed of a block header and a transaction. The block header may include, for example, a hash value of a previous block header, a nonce value, and a hash value of a transaction group. The nonce value is a value that a node in the blockchain network 200 changes to create a block, and may be used as an input value of a specific hash function along with other values of the block header. When a specific nonce value is used, if the hash value of the block header is smaller than the predetermined difficulty value (which can be stored in the block header), the hash value for the corresponding block header may be determined. The hash value of the transaction group may mean the root hash value of data included in the transaction.

블록 302(1400b)의 블록 헤더의 블록 해시 값을 구하기 위해서 블록 301(1400a)의 블록 해시 값이 입력 값으로 사용되기 때문에, 블록 302(1400b)와 블록 301(1400a)가 서로 연결될 수 있다. 또한, 블록 해시 값을 구하는데 있어서, 트랜잭션들을 대표하는 해시값인 트랜잭션 그룹의 해시값이 입력 값으로 사용되기 때문에, 트랜잭션에 대한 임의의 위변조 행위가 일어나는 경우, 트랜잭션 그룹의 해시값이 변경된다. 이러한 방식으로 인접한 블록들은 서로 연결될 수 있으며, 블록 내에서의 트랜잭션의 정보가 무결성 있게 저장될 수 있다.Since the block hash value of the block 301 (1400a) is used as an input value to obtain the block hash value of the block header of the block 302 (1400b), the block 302 (1400b) and the block 301 (1400a) may be connected to each other. In addition, in obtaining the block hash value, since the hash value of the transaction group, which is a hash value representing transactions, is used as an input value, if any forgery behavior occurs on the transaction, the hash value of the transaction group is changed. In this way, adjacent blocks can be connected to each other, and transaction information within the block can be stored with integrity.

블록(1400a, 1400b 및 1400c)의 트랜잭션은 발행된 트랜잭션들 중 블록에 포함된 트랜잭션(들)으로서, 해당 트랜잭션이 블록 내에 포함되는 경우, 해당 트랜잭션과 관련된 동작이 블록체인 네트워크(200)에서 수행될 수 있다. 여기서, 블록(1400a, 1400b 및 1400c)이 청크 블록인 경우, 트랜잭션은 복수의 청크 데이터 각각을 가지고 있는 적어도 하나의 소스의 주소에 대한 정보, 적어도 하나의 소스 각각에서 다운로드 할 때 다운로드 속도에 대한 정보 및 적어도 하나의 소스 각각의 레이턴시에 대한 정보를 포함하고 있을 수 있다. 또한, 블록(1400a, 1400b 및 1400c)이 보상 블록인 경우, 트랜잭션으로 적어도 하나의 소스에 대한 각각의 보상 정보 및 적어도 하나의 소스에 대한 각각의 기여도 정보를 포함하고 수 있다. 다만, 이에 한정되는 것은 아니고 블록(1400a, 1400b 및 1400c)에는 다양한 정보들이 트랜잭션으로 기록되어 있을 수 있다. The transaction of the blocks 1400a, 1400b and 1400c is the transaction(s) included in the block among issued transactions, and when the transaction is included in the block, the operation related to the transaction will be performed in the blockchain network 200. I can. Here, when the blocks 1400a, 1400b, and 1400c are chunk blocks, the transaction is information about the address of at least one source having each of a plurality of chunk data, and information about the download speed when downloading from each of the at least one source. And information about the latency of each of the at least one source. In addition, when the blocks 1400a, 1400b, and 1400c are compensation blocks, each of the compensation information for at least one source and each contribution information for at least one source may be included as a transaction. However, the present invention is not limited thereto, and various pieces of information may be recorded as transactions in the blocks 1400a, 1400b, and 1400c.

추가적인 실시예로서, 도 9에서는 도시되지 않았지만, 블록(1400a, 1400b 및 1400c)의 블록 헤더는 부모 블록(이전 블록)의 해시값(ParentHash), 현재 블록의 엉클블록(블록의 난이도가 상대적으로 낮아 블록으로 채택되지못한 블록)들의 해시값(UncleHash), 블록의 모든 트랜잭션에 대한 머클트리의 루트노드 해시값(TxHash), 블록내 모든 트랜잭션에 대한 리시트들의 머클트리의 루트노드 해시값(ReceiptHash), 로그 정보를 사용하는데 사용하는 32바이트 블룸필터 정보(Bloom), 이전블록의 난이도와 타임스탬프로 계산되는 블록 난이도(Difficulty), 현재 블록번호(Number), 블록당 지급가능한 최대 토큰의 총합(TokenLimit), 블록내 트랜잭션에 사용된 토큰의 총합(TokenUsed), 블록의 최초 생성시간(Time), 블록의 기타정보(Extra) 및/또는 작업증명에서 해시값을 계산하는데 충분한 계산횟수를 보장하기 위해 사용하는 값(MixDigest, Nonce)을 포함할 수도 있다. 다만, 이에 한정되는 것은 아니고 블록 헤더는 상술한 것들 이외의 데이터 또는 정보를 더 포함할 수도 있다.As an additional embodiment, although not shown in FIG. 9, the block header of the blocks 1400a, 1400b, and 1400c has a hash value (ParentHash) of the parent block (previous block), and an uncle block of the current block (block difficulty is relatively low. Hash value (UncleHash) of blocks that were not accepted as blocks), Merkle Tree's root node hash value (TxHash) for all transactions in the block, Merkle Tree's root node hash value (ReceiptHash) of all transactions in the block , 32-byte bloom filter information used to use log information (Bloom), block difficulty (Difficulty) calculated by the difficulty and timestamp of the previous block, current block number (Number), the total number of tokens that can be paid per block (TokenLimit ), the total number of tokens used in transactions within the block (TokenUsed), the initial creation time of the block (Time), other information of the block (Extra), and/or the number of calculations sufficient to calculate the hash value from the proof of work. It may also include a value (MixDigest, Nonce). However, the present invention is not limited thereto, and the block header may further include data or information other than those described above.

본 개시의 몇몇 실시예에 따르면, 블록은 특정 시간 간격(예를 들어, 5분, 1분)으로 생성될 수 있으며, 여기서 특정 시간은 블록 생성의 난이도 등에 기초하여 변경될 수 있다.According to some embodiments of the present disclosure, a block may be generated at a specific time interval (eg, 5 minutes, 1 minute), wherein the specific time may be changed based on the difficulty of generating the block.

도 10은 본 개시내용의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 일반적인 개략도를 도시한다.10 shows a general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.

본 개시내용이 일반적으로 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어와 관련하여 전술되었지만, 당업자라면 본 개시내용 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다는 것을 잘 알 것이다.While the present disclosure has generally been described above with respect to computer-executable instructions that may be executed on one or more computers, those skilled in the art will appreciate that the present disclosure may be implemented in combination with other program modules and/or as a combination of hardware and software. I will know.

일반적으로, 본 명세서에서의 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로시져, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 개시의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.In general, modules herein include routines, procedures, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Further, to those skilled in the art, the method of the present disclosure is not limited to single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable household appliances, and the like (each of which It will be appreciated that it may be implemented with other computer system configurations, including one or more associated devices).

본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다.The described embodiments of the present disclosure may also be practiced in a distributed computing environment where certain tasks are performed by remote processing devices that are connected through a communication network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

컴퓨터는 통상적으로 다양한컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체 로서, 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. Computers typically include a variety of computer-readable media. A computer-accessible medium includes volatile and non-volatile media, transitory and non-transitory media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may include computer-readable storage media and computer-readable transmission media.

컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.Computer-readable storage media include volatile and nonvolatile media, transitory and non-transitory media, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Includes the medium. Computer-readable storage media include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage, or other magnetic storage. Devices, or any other medium that can be accessed by a computer and used to store desired information.

컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.Computer-readable transmission media typically implement computer-readable instructions, data structures, program modules or other data on a modulated data signal such as a carrier wave or other transport mechanism. Includes all information delivery media. The term modulated data signal refers to a signal in which one or more of the characteristics of the signal is set or changed to encode information in the signal. By way of example, and not limitation, computer-readable transmission media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above-described media are also intended to be included within the scope of computer-readable transmission media.

컴퓨터(1102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(1100)이 나타내어져 있으며, 컴퓨터(1102)는 처리 장치(1104), 시스템 메모리(1106) 및 시스템 버스(1108)를 포함한다. 시스템 버스(1108)는 시스템 메모리(1106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(1104)에 연결시킨다. 처리 장치(1104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(1104)로서 이용될 수 있다.An exemplary environment 1100 is shown that implements various aspects of the present disclosure, including a computer 1102, which includes a processing device 1104, a system memory 1106, and a system bus 1108. do. System bus 1108 couples system components, including but not limited to, system memory 1106 to processing device 1104. The processing unit 1104 may be any of a variety of commercially available processors. Dual processors and other multiprocessor architectures may also be used as processing unit 1104.

시스템 버스(1108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(1106)는 판독 전용 메모리(ROM)(1110) 및 랜덤 액세스 메모리(RAM)(1112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(1110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(1102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(1112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.The system bus 1108 may be any of several types of bus structures that may be additionally interconnected to a memory bus, a peripheral bus, and a local bus using any of a variety of commercial bus architectures. System memory 1106 includes read-only memory (ROM) 1110 and random access memory (RAM) 1112. The basic input/output system (BIOS) is stored in non-volatile memory 1110 such as ROM, EPROM, EEPROM, etc. This BIOS is a basic input/output system that helps transfer information between components in the computer 1102, such as during startup. Includes routines. RAM 1112 may also include high speed RAM such as static RAM for caching data.

컴퓨터(1102)는 또한 내장형 하드 디스크 드라이브(HDD)(1114)(예를 들어, EIDE, SATA)―이 내장형 하드 디스크 드라이브(1114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음―, 자기 플로피 디스크 드라이브(FDD)(1116)(예를 들어, 이동식 디스켓(1118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(1120)(예를 들어, CD-ROM 디스크(1122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(1114), 자기 디스크 드라이브(1116) 및 광 디스크 드라이브(1120)는 각각 하드 디스크 드라이브 인터페이스(1124), 자기 디스크 드라이브 인터페이스(1126) 및 광 드라이브 인터페이스(1128)에 의해 시스템 버스(1108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(1124)는 예를 들어, USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘 다를 포함한다.Computer 1102 also includes internal hard disk drive (HDD) 1114 (e.g., EIDE, SATA)-This internal hard disk drive 1114 can also be configured for external use within a suitable chassis (not shown). Yes--, magnetic floppy disk drive (FDD) 1116 (for example, to read from or write to removable diskette 1118), and optical disk drive 1120 (e.g., CD-ROM For reading the disk 1122 or reading from or writing to other high-capacity optical media such as DVD). The hard disk drive 1114, magnetic disk drive 1116, and optical disk drive 1120 are each connected to the system bus 1108 by a hard disk drive interface 1124, a magnetic disk drive interface 1126, and an optical drive interface 1128. ) Can be connected. The interface 1124 for implementing an external drive includes, for example, at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.

이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(1102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 저장 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 저장 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 개시의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.These drives and their associated computer readable media provide non-volatile storage of data, data structures, computer executable instructions, and the like. In the case of computer 1102, drives and media correspond to storing any data in a suitable digital format. Although the description of the computer-readable storage medium above refers to a removable optical medium such as a HDD, a removable magnetic disk, and a CD or DVD, those skilled in the art may include a zip drive, a magnetic cassette, a flash memory card, a cartridge, It will be appreciated that other types of computer-readable storage media, such as etc., may also be used in the exemplary operating environment and that any such media may contain computer-executable instructions for performing the methods of the present disclosure. .

운영 체제(1130), 하나 이상의 애플리케이션 프로그램(1132), 기타 프로그램 모듈(1134) 및 프로그램 데이터(1136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(1112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(1112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.A number of program modules, including the operating system 1130, one or more application programs 1132, other program modules 1134, and program data 1136, may be stored in the drive and RAM 1112. All or part of the operating system, applications, modules, and/or data may also be cached in RAM 1112. It will be appreciated that the present disclosure may be implemented on a number of commercially available operating systems or combinations of operating systems.

사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(1138) 및 마우스(1140) 등의 포인팅 장치를 통해 컴퓨터(1102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(1108)에 연결되어 있는 입력 장치 인터페이스(1142)를 통해 처리 장치(1104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.A user may input commands and information to the computer 1102 through one or more wired/wireless input devices, for example, a pointing device such as a keyboard 1138 and a mouse 1140. Other input devices (not shown) may include a microphone, IR remote control, joystick, game pad, stylus pen, touch screen, and the like. These and other input devices are often connected to the processing unit 1104 through the input device interface 1142, which is connected to the system bus 1108, but the parallel port, IEEE 1394 serial port, game port, USB port, IR interface, It can be connected by other interfaces such as etc.

모니터(1144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(1146) 등의 인터페이스를 통해 시스템 버스(1108)에 연결된다. 모니터(1144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.A monitor 1144 or other type of display device is also connected to the system bus 1108 through an interface such as a video adapter 1146. In addition to the monitor 1144, the computer generally includes other peripheral output devices (not shown) such as speakers, printers, etc.

컴퓨터(1102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(1148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1148)는 워크스테이션, 서버 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(1102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(1150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(1152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(1154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.Computer 1102 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 1148 via wired and/or wireless communication. The remote computer(s) 1148 may be a workstation, server computer, router, personal computer, portable computer, microprocessor-based entertainment device, peer device, or other common network node, and is generally referred to as a computer 1102. Although including many or all of the described components, only memory storage device 1150 is shown for simplicity. The logical connections shown include wired/wireless connections to a local area network (LAN) 1152 and/or to a larger network, eg, a wide area network (WAN) 1154. Such LAN and WAN networking environments are common in offices and companies, and facilitate an enterprise-wide computer network such as an intranet, all of which can be connected to a worldwide computer network, for example the Internet.

LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1156)를 통해 로컬 네트워크(1152)에 연결된다. 어댑터(1156)는 LAN(1152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(1152)은 또한 무선 어댑터(1156)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1102)는 모뎀(1158)을 포함할 수 있거나, WAN(1154) 상의 통신 서버에 연결되거나, 또는 인터넷을 통하는 등, WAN(1154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(1158)은 직렬 포트 인터페이스(1142)를 통해 시스템 버스(1108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(1102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(1150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.When used in a LAN networking environment, the computer 1102 is connected to the local network 1152 via a wired and/or wireless communication network interface or adapter 1156. Adapter 1156 may facilitate wired or wireless communication to LAN 1152, which also includes a wireless access point installed therein to communicate with wireless adapter 1156. When used in a WAN networking environment, the computer 1102 may include a modem 1158, connected to a communication server on the WAN 1154, or through the Internet, etc. to establish communication through the WAN 1154 Have means. The modem 1158, which may be an internal or external and a wired or wireless device, is connected to the system bus 1108 through a serial port interface 1142. In a networked environment, program modules described for the computer 1102 or portions thereof may be stored in the remote memory/storage device 1150. It will be appreciated that the network connections shown are exemplary and other means of establishing communication links between computers may be used.

컴퓨터(1102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.Computer 1102 is associated with any wireless device or entity deployed and operated in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant (PDA), communication satellite, wireless detectable tag. It operates to communicate with any device or place and phone. This includes at least Wi-Fi and Bluetooth wireless technologies. Thus, the communication may be a predefined structure as in a conventional network or may simply be ad hoc communication between at least two devices.

Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성 있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a,b,g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5 GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.Wi-Fi (Wireless Fidelity) allows you to connect to the Internet, etc. without wires. Wi-Fi is a wireless technology such as a cell phone that allows such devices, for example computers, to transmit and receive data indoors and outdoors, ie anywhere within the coverage area of a base station. Wi-Fi networks use a wireless technology called IEEE 802.11 (a,b,g, etc.) to provide a secure, reliable and high-speed wireless connection. Wi-Fi can be used to connect computers to each other, to the Internet, and to a wired network (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in unlicensed 2.4 and 5 GHz radio bands, for example at 11 Mbps (802.11a) or 54 Mbps (802.11b) data rates, or in products that include both bands (dual band). have.

본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.A person of ordinary skill in the art of the present disclosure includes various exemplary logical blocks, modules, processors, means, circuits and algorithm steps described in connection with the embodiments disclosed herein, electronic hardware, (convenience). For the sake of clarity, it will be appreciated that it may be implemented by various forms of program or design code or a combination of both (referred to herein as "software"). To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and design constraints imposed on the overall system. A person of ordinary skill in the art of the present disclosure may implement the described functions in various ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. The various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term “article of manufacture” includes a computer program, carrier, or media accessible from any computer-readable device. For example, computer-readable storage media include magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical disks (e.g., CD, DVD, etc.), smart cards, and flash Memory devices (eg, EEPROMs, cards, sticks, key drives, etc.), but are not limited thereto. The term “machine-readable medium” includes, but is not limited to, wireless channels and various other media capable of storing, holding, and/or transmitting instruction(s) and/or data.

제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It is to be understood that the specific order or hierarchy of steps in the presented processes is an example of exemplary approaches. Based on the design priorities, it is to be understood that within the scope of the present disclosure a specific order or hierarchy of steps in processes may be rearranged. The appended method claims provide elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.

제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be apparent to those of ordinary skill in the art, and general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments presented herein, but is to be interpreted in the widest scope consistent with the principles and novel features presented herein.

Claims (1)

컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은 유언장 관리 서버로 하여금 이하의 동작들을 수행하기 위한 명령들을 포함하며, 상기 동작들은:
사용자 단말로부터 유언장의 등록 요청을 수신하는 동작;
상기 등록 요청을 수신함에 따라, 상기 등록 요청에 기초하여 스마트 컨트랙트(smart contract)를 생성하는 동작;
상기 스마트 컨트랙트를 블록체인 네트워크에 포함된 적어도 하나의 노드로 전송함으로써, 복수의 노드가 합의 알고리즘을 통해 상기 스마트 컨트랙트의 유효성을 검증하고, 상기 스마트 컨트랙트의 유효성이 검증됨에 따라 상기 복수의 노드가 블록에 상기 스마트 컨트랙트를 제 1 트랜잭션으로 기록하도록 야기하는 동작;
상기 유언장의 실행 조건이 만족되었는지 여부를 확인하는 동작;
상기 유언장의 상기 실행 조건이 만족되었다고 인식한 경우, 상기 스마트 컨트랙트를 실행하여 상기 유언장에 포함된 내용에 대응하는 액션(action)을 수행하는 동작;
을 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer-readable storage medium, comprising:
The computer program includes instructions for causing the will management server to perform the following operations, the operations:
Receiving a request for registration of a will from a user terminal;
Upon receiving the registration request, generating a smart contract based on the registration request;
By transmitting the smart contract to at least one node included in the blockchain network, a plurality of nodes verify the validity of the smart contract through a consensus algorithm, and the plurality of nodes block as the validity of the smart contract is verified. Causing to write the smart contract to a first transaction;
Checking whether the execution condition of the will is satisfied;
When it is recognized that the execution condition of the will is satisfied, executing the smart contract to perform an action corresponding to the content included in the will;
Containing,
A computer program stored on a computer-readable storage medium.
KR1020200092126A 2020-07-24 2020-07-24 Method and server for managing testament KR20200107881A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200092126A KR20200107881A (en) 2020-07-24 2020-07-24 Method and server for managing testament

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200092126A KR20200107881A (en) 2020-07-24 2020-07-24 Method and server for managing testament

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190026231A Division KR102139551B1 (en) 2019-03-07 2019-03-07 Method and server for managing testament

Publications (1)

Publication Number Publication Date
KR20200107881A true KR20200107881A (en) 2020-09-16

Family

ID=72669538

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200092126A KR20200107881A (en) 2020-07-24 2020-07-24 Method and server for managing testament

Country Status (1)

Country Link
KR (1) KR20200107881A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220133743A (en) * 2021-03-25 2022-10-05 주식회사 한컴코드게이트 Service providing server to provide the digital will service that can verify the authenticity of the voice and the operating method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070108996A (en) 2006-05-09 2007-11-15 창 흔 이 System for making a will using internet communication and method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070108996A (en) 2006-05-09 2007-11-15 창 흔 이 System for making a will using internet communication and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220133743A (en) * 2021-03-25 2022-10-05 주식회사 한컴코드게이트 Service providing server to provide the digital will service that can verify the authenticity of the voice and the operating method thereof

Similar Documents

Publication Publication Date Title
US11743137B2 (en) Systems, methods, and apparatuses for implementing a metadata driven rules engine on blockchain using distributed ledger technology (DLT)
US20220174059A1 (en) Systems and methods for blockchain validation of user identity and authority
EP3804217B1 (en) Efficient validation for blockchain
US11469886B2 (en) System or method to implement record level access on metadata driven blockchain using shared secrets and consensus on read
US11727400B2 (en) Telecommunication system and method for settling session transactions
US20210182423A1 (en) Systems, methods, and apparatuses for storing pii information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
KR102237014B1 (en) System and method for blockchain-based authentication
US11025409B1 (en) Systems and methods for generating a blockchain-based user profile
KR102207560B1 (en) Computing devices for providing file sharing services
US20190268153A1 (en) Event execution using a blockchain approach
KR102118715B1 (en) Method for automized remittance using blockchain
KR102162763B1 (en) Method to transfer accounts
KR102254207B1 (en) Method for menaging game data on blockchain
KR102139551B1 (en) Method and server for managing testament
KR20200107881A (en) Method and server for managing testament
KR102253238B1 (en) Method of verifying to distributed compiling
KR102163930B1 (en) Distributed compile system implementing blockchain rewards
KR102243737B1 (en) Method for alarming an automatic transmission
US11314729B2 (en) Multi-candidate data structure for transaction validation
KR20210007928A (en) Techniques for trading cryptocurrency
KR102168428B1 (en) Computer program, contents download management server and method for downloading contents
KR20200138097A (en) Method to transfer accounts
KR20200097148A (en) Method for ensuring the trust of selling probability based items
KR102193822B1 (en) Distributed compile system implementing blockchain rewards
KR102227403B1 (en) Distributed compile system implementing blockchain rewards

Legal Events

Date Code Title Description
A107 Divisional application of patent