KR102039570B1 - P2p ledger for fiat money without cryptocurrency - Google Patents

P2p ledger for fiat money without cryptocurrency Download PDF

Info

Publication number
KR102039570B1
KR102039570B1 KR1020180025724A KR20180025724A KR102039570B1 KR 102039570 B1 KR102039570 B1 KR 102039570B1 KR 1020180025724 A KR1020180025724 A KR 1020180025724A KR 20180025724 A KR20180025724 A KR 20180025724A KR 102039570 B1 KR102039570 B1 KR 102039570B1
Authority
KR
South Korea
Prior art keywords
block
transaction
signed
nodes
merger
Prior art date
Application number
KR1020180025724A
Other languages
Korean (ko)
Other versions
KR20190105320A (en
Inventor
양대헌
Original Assignee
주식회사 더볼터
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 더볼터 filed Critical 주식회사 더볼터
Priority to KR1020180025724A priority Critical patent/KR102039570B1/en
Priority to PCT/KR2018/002633 priority patent/WO2019172464A1/en
Publication of KR20190105320A publication Critical patent/KR20190105320A/en
Application granted granted Critical
Publication of KR102039570B1 publication Critical patent/KR102039570B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/386Payment protocols; Details thereof using messaging services or messaging apps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction

Abstract

암호화폐를 발행하지 않고도 법정화폐에 대한 보편적인 금융 플랫폼을 구현할 수 있는 p2p(peer-to-peer) 장부에 대한 기술을 개시한다. 본 발명의 실시예들에 따른 네트워크 시스템은 네트워크에 입장하고자 하는 복수의 사용자들 각각에 대해 실명으로 신원을 인증받아 상기 네트워크상에서의 사용자 식별자를 제공하는 금융 플랫폼; 상기 사용자들간의 거래에 대한 정보를 수집 및 병합하여 거래 블록을 생성하고, 상기 생성된 거래 블록을 위한 서명자들을 선택하여, 상기 선택된 서명자들의 상기 생성된 거래 블록에 대한 서명을 받아 상기 생성된 거래 블록을 서명된 블록 체인에 추가시키고자 시도하는 복수의 합병자 노드들; 및 상기 복수의 합병자 노드들 각각으로부터의 요청에 따라 상기 복수의 합병자 노드들 각각에서 생성된 거래 블록의 유효성을 확인하고, 상기 유효성이 확인된 거래 블록에 서명하는 복수의 서명자 노드들을 포함할 수 있다.This paper describes a peer-to-peer ledger that can implement a universal financial platform for fiat currency without issuing cryptocurrency. According to an aspect of the present invention, there is provided a network system, comprising: a financial platform for authenticating an identity with a real name for each of a plurality of users who want to enter a network to provide a user identifier on the network; Collecting and merging information about transactions between the users to generate a transaction block, select signers for the generated transaction block, receive the signature on the generated transaction block of the selected signers, and generate the transaction block. A plurality of aggregator nodes attempting to add a to the signed blockchain; And a plurality of signer nodes for validating a transaction block generated at each of the plurality of merger nodes and signing the validated transaction block according to a request from each of the plurality of merger nodes. Can be.

Description

암호화폐를 사용하지 않는 법정화폐용 P2P 장부{P2P LEDGER FOR FIAT MONEY WITHOUT CRYPTOCURRENCY}P2P ledger for fiat currency without cryptocurrency {P2P LEDGER FOR FIAT MONEY WITHOUT CRYPTOCURRENCY}

아래의 설명은 어떠한 암호화폐를 발행하지 않고도 법정화폐에 대한 보편적인 금융 플랫폼을 구현할 수 있는 p2p(peer-to-peer) 장부에 관한 것으로, 보다 자세하게는, 실명 네트워크 내에서의 법정화폐를 이용한 거래를 기록하기 위한 p2p 장부와, 상기 p2p 장부 기반의 네트워크 시스템, 서명자의 서명 방법 및 합병자의 거래 블록 추가 방법에 관한 것이다.The following discussion relates to a peer-to-peer ledger that can implement a universal financial platform for fiat currency without issuing any cryptocurrency. More specifically, transactions using fiat currency in the real name network It relates to a p2p book for recording a, a p2p book-based network system, a signer's signature method and a merger's transaction block addition method.

사토시 나가모토(Satoshi Nakamoto)의 기발한 생각으로 인해, p2p 공개 장부는 익명의 네트워크 내에서 구현 가능한 것으로 보인다. 임의의 인터넷 유저는 네트워크에 참여하고 그들의 컴퓨팅 능력 또는 작업 증명(proof-of-work)를 제공함으로써 p2p 네트워크에 기여할 수 있다. 작업 증명은 익명의 참가자들에 의한 영리한 1 CPU 당 1표 구현이고, 이는 비트코인 장부가 불법적인 변형이 되지 않도록 한다. 그들의 작업에 대해 노드들을 보상하기 위하여, 비트코인이라 불리는 암호화폐가 발행되고 각 노드들에게 주어진다. 예를 들어, 한국공개특허 제10-2016-0024185호는 SE(Secure Element)를 이용하여 암호화폐를 관리하는 시스템 및 그 방법에 대해 개시하고 있다.Due to Satoshi Nakamoto's original idea, the p2p public ledger seems to be feasible within an anonymous network. Any Internet user can contribute to a p2p network by participating in the network and providing their computing power or proof-of-work. Proof of work is a clever one vote per CPU implementation by anonymous participants, which ensures that the Bitcoin ledger is not an illegal variant. To reward the nodes for their work, a cryptocurrency called Bitcoin is issued and given to each node. For example, Korean Patent Laid-Open No. 10-2016-0024185 discloses a system and method for managing cryptocurrency using SE (Secure Element).

그러나, 장부 및 암호화폐의 그 익명성은 그 기술이 법정화폐 경제에서 사용되는 것을 막는다. 암호화폐들은 자금 세탁 또는 조세 회피를 위해 사용될 지라도 추적 불가능하며, 암호화폐들의 가치는 안정적이지 않으며 격렬히 요동친다. However, the anonymity of books and cryptocurrencies prevents the technology from being used in the fiat currency economy. Cryptocurrencies are untraceable even if used for money laundering or tax avoidance, and their value is not stable and fluctuates violently.

실명 네트워크 내에서의 법정화폐를 이용한 거래를 기록하기 위한 p2p 장부와, 상기 p2p 장부 기반의 네트워크 시스템, 서명자의 서명 방법 및 합병자의 거래 블록 추가 방법을 제공한다.A p2p book for recording transactions using fiat money in a real name network, a network system based on the p2p book, a signer's signature method, and a merger's transaction block addition method are provided.

네트워크에 입장하고자 하는 복수의 사용자들 각각에 대해 실명으로 신원을 인증받아 상기 네트워크상에서의 사용자 식별자를 제공하는 금융 플랫폼; 상기 사용자들간의 거래에 대한 정보를 수집 및 병합하여 거래 블록을 생성하고, 상기 생성된 거래 블록을 위한 서명자들을, 상기 생성된 거래 블록이 포함하는 거래에 대한 이해관계와 무관하게, 서명된 블록 체인의 완성된 마지막 블록의 거래에 기반하여 선택하고, 상기 선택된 서명자들의 상기 생성된 거래 블록에 대한 서명을 받아 상기 생성된 거래 블록을 상기 서명된 블록 체인에 추가시키고자 시도하는 복수의 합병자 노드들; 및 상기 복수의 합병자 노드들 각각으로부터의 요청에 따라 상기 복수의 합병자 노드들 각각에서 생성된 거래 블록의 유효성을 확인하고, 상기 유효성이 확인된 거래 블록에 서명하는 복수의 서명자 노드들을 포함하는 것을 특징으로 하는 네트워크 시스템을 제공한다.A financial platform for authenticating an identity with a real name for each of a plurality of users who want to enter a network to provide a user identifier on the network; Collecting and merging information about transactions between the users to create a transaction block, and signers for the generated transaction block, regardless of the interest in the transaction that the generated transaction block includes, signed block chain A plurality of merger nodes that select based on the transaction of the last completed block of and attempt to add the generated transaction block to the signed blockchain by receiving a signature on the generated transaction block of the selected signers ; And a plurality of signer nodes for validating a transaction block generated at each of the plurality of merger nodes and signing the validated transaction block according to a request from each of the plurality of merger nodes. It provides a network system, characterized in that.

일측에 따르면, 상기 복수의 합병자 노드들은, 상기 복수의 서명자 노드들로부터 서명된 거래 블록들이 대응하는 합병자 노드들에 의해 각각 브로드캐스팅됨에 따라, 상기 서명된 거래 블록들의 유효성을 확인하고, 상기 유효성이 확인된 상기 서명된 거래 블록들의 상기 서명된 블록 체인으로의 추가를 승인하는 것을 특징으로 할 수 있다.According to one side, the plurality of merger nodes, each of the signed transaction blocks from the plurality of signer nodes are broadcast by the corresponding merger nodes, so as to confirm the validity of the signed transaction blocks, the And approving the addition of the signed transaction blocks that have been validated to the signed blockchain.

다른 측면에 따르면, 상기 복수의 합병자 노드들 각각에서 생성된 거래 블록이 추가된 블록 체인들 중 상기 복수의 서명자 노드들로부터 가장 많은 서명을 받은 거래 블록이 추가된 블록 체인이 선택되는 것을 특징으로 할 수 있다.According to another aspect, among the block chains to which the transaction blocks generated at each of the plurality of merger nodes are added, the block chain to which the transaction block which receives the most signatures from the plurality of signer nodes is selected is selected. can do.

또 다른 측면에 따르면, 상기 복수의 합병자 노드들 각각은, 상기 서명된 블록 체인에 추가시키고자 하는 거래 블록의 이전 거래 블록에 포함된 거래에 대한 정보들을 입력으로 가지면서 임의적(random)이어서 예측 불가능하지만 결정적(deterministic)이어서 입력에 따라 출력이 결정되는 함수를 통해 출력되는 해시 값을 생성하고, 상기 생성된 해시 값에 기반하여 상기 추가시키고자 하는 거래 블록을 위한 서명자들을 선택하며, 상기 선택된 서명자들에 대응하는 서명자 노드들로 상기 추가시키고자 하는 거래 블록에 대한 서명을 요청하는 것을 특징으로 할 수 있다.According to another aspect, each of the plurality of merger nodes is randomly predicted, having as inputs information about a transaction contained in a previous transaction block of a transaction block to add to the signed blockchain. Generate a hash value which is impossible but deterministic to be output via a function whose output is determined according to the input, selects signers for the transaction block to be added based on the generated hash value, and selects the selected signer Requesting a signature for the transaction block to be added to the signer nodes corresponding to the data.

또 다른 측면에 따르면, 상기 복수의 서명자 노드들 각각은, 자신이 서명한 거래 블록의 블록 식별자를 관리하고, 상기 서명된 블록 체인에서 마지막으로 서명된 거래 블록이 완성되기 전에 생성된 거래 블록에 대한 서명 요청을 거절하는 것을 특징으로 할 수 있다.According to another aspect, each of the plurality of signer nodes manages a block identifier of a transaction block signed by it, and for a transaction block generated before the last signed transaction block in the signed blockchain is completed. Reject the signature request.

또 다른 측면에 따르면, 상기 복수의 서명자 노드들 각각은, 자신이 이미 서명한 거래 블록 상의 거래들에 대한 정보를 포함하는 다른 거래 블록에 대한 서명 요청을 무시하며, 상기 서명 요청의 무시에 대한 정보를 상기 다른 거래 블록에 대응하는 합병자 노드에게 통지하는 것을 특징으로 할 수 있다.According to another aspect, each of the plurality of signer nodes ignores a request for signing another transaction block that includes information about transactions on a transaction block that it has already signed, and information on ignoring the signature request. It may be characterized by notifying the merger node corresponding to the other transaction block.

또 다른 측면에 따르면, 상기 복수의 서명자 노드들 각각은, 서명된 것과 일치하지 않는 거래를 포함하는 블록에 대한 서명 요청을 상기 금융 플랫폼에 보고하고, 상기 서명 요청에 따른 합병자의 식별자 및 상기 일치하지 않는 거래의 송신자의 식별자를 상기 네트워크상에 브로드캐스팅하는 것을 특징으로 할 수 있다.According to another aspect, each of the plurality of signer nodes reports a signing request to the financial platform for a block containing a transaction that does not match a signed one, and identifies the merger's identifier and the mismatch according to the signing request. And broadcast the identifier of the sender of the transaction not on the network.

입장하고자 하는 복수의 사용자들에 대해 실명으로 신원이 인증된 네트워크상의 합병자 노드로부터 상기 네트워크를 통해 상기 합병자 노드가 생성한 거래 블록에 대한 서명 요청을 수신하는 단계; 상기 서명 요청된 거래 블록의 유효성을 확인하는 단계; 및 상기 유효성이 확인된 거래 블록에 서명하는 단계를 포함하고, 상기 서명 요청은 해시 값에 기초하여 선택되는 상기 네트워크상의 서명자 노드들에게 상기 합병자 노드에 의해 전송되고, 상기 해시 값은 서명된 블록 체인의 마지막 거래 블록이 포함하는 거래들에 대한 정보들을 입력으로 가지면서 임의적(random)이어서 예측 불가능하지만 결정적(deterministic)이어서 입력에 따라 출력이 결정되는 함수를 통해 출력되는 것을 특징으로 하는 서명 방법을 제공한다.Receiving a signature request for a transaction block generated by the merger node through the network from a merger node on a network whose real name is authenticated for a plurality of users to enter; Verifying validity of the signature requested transaction block; And signing the validated transaction block, wherein the signature request is sent by the merger node to signer nodes on the network selected based on a hash value, the hash value being signed block. The signature method is characterized in that it is output through a function that is random and unpredictable but deterministic so that the output is determined according to the input while having information on the transactions included in the last trading block of the chain as input. to provide.

입장하고자 하는 복수의 사용자들에 대해 실명으로 신원이 인증된 네트워크를 통해 상기 사용자들간의 거래에 대한 정보를 수집하는 단계; 상기 수집된 거래에 대한 정보를 병합하여 거래 블록을 생성하는 단계; 상기 생성된 거래 블록을 위한 서명자들을 상기 생성된 거래 블록이 포함하는 거래에 대한 이해관계와 무관하게, 서명된 블록 체인의 완성된 마지막 블록의 거래에 기반하여 선택하는 단계; 상기 선택된 서명자들의 상기 생성된 거래 블록에 대한 서명을 요청하는 단계; 및 상기 서명자들로부터 서명된 거래 블록을 서명된 블록 체인에 추가시키기 위해, 상기 서명된 거래 블록을 상기 네트워크상의 복수의 합병자 노드들로 전송하는 단계를 포함하는 것을 특징으로 하는 거래 블록 추가 방법을 제공한다.Collecting information on a transaction between the users through a network in which a real name is authenticated for a plurality of users to enter; Merging information about the collected transactions to generate a transaction block; Selecting signers for the generated trading block based on the transaction of the last completed block of the signed blockchain, irrespective of the interest in the transaction that the generated trading block includes; Requesting a signature on the generated transaction block of the selected signers; And sending the signed transaction block to a plurality of aggregator nodes on the network to add a signed transaction block from the signers to the signed blockchain. to provide.

컴퓨터 장치와 결합되어 상기 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.In combination with a computer device, a computer program stored on a computer readable recording medium for executing the method on the computer device is provided.

상기 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체를 제공한다.A computer readable recording medium having recorded thereon a program for executing the method on a computer device is provided.

컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 입장하고자 하는 복수의 사용자들에 대해 실명으로 신원이 인증된 네트워크상의 합병자 노드로부터 상기 네트워크를 통해 상기 합병자 노드가 생성한 거래 블록에 대한 서명 요청을 수신하고, 상기 서명 요청된 거래 블록의 유효성을 확인하고, 상기 유효성이 확인된 거래 블록에 서명하며, 상기 서명 요청은 해시 값에 기초하여 선택되는 상기 네트워크상의 서명자 노드들에게 상기 합병자 노드에 의해 전송되고, 상기 해시 값은 서명된 블록 체인의 마지막 거래 블록이 포함하는 거래들에 대한 정보들을 입력으로 가지면서 임의적(random)이어서 예측 불가능하지만 결정적(deterministic)이어서 입력에 따라 출력이 결정되는 함수를 통해 출력되는 것을 특징으로 하는 컴퓨터 장치를 제공한다.At least one processor implemented to execute readable instructions on a computer device, wherein the at least one processor is configured to provide the network from an amalgamator node on the network whose identity is authenticated by a real name for a plurality of users to enter. Receive a signature request for the transaction block generated by the merger node, verify the validity of the signature requested transaction block, sign the validated transaction block, and the signature request is based on a hash value Is sent by the merger node to signer nodes on the network that are selected by the merger, the hash value being random and predictive with inputs about the transactions that the last transaction block of the signed blockchain contains. Impossible but deterministic, so the output depends on the input Provides a computer apparatus characterized in that the output from the function.

컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 입장하고자 하는 복수의 사용자들에 대해 실명으로 신원이 인증된 네트워크를 통해 상기 사용자들간의 거래에 대한 정보를 수집하고, 상기 수집된 거래에 대한 정보를 병합하여 거래 블록을 생성하고, 상기 생성된 거래 블록을 위한 서명자들을 상기 생성된 거래 블록이 포함하는 거래에 대한 이해관계와 무관하게, 서명된 블록 체인의 완성된 마지막 블록의 거래에 기반하여 선택하고, 상기 선택된 서명자들의 상기 생성된 거래 블록에 대한 서명을 요청하고, 상기 서명자들로부터 서명된 거래 블록을 서명된 블록 체인에 추가시키기 위해, 상기 서명된 거래 블록을 상기 네트워크상의 복수의 합병자 노드들로 전송하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.At least one processor implemented to execute readable instructions on a computer device, wherein the at least one processor is a transaction between the users over a network whose real name is authenticated for a plurality of users to enter Collects information about the transaction, merges the information about the collected transaction to generate a transaction block, and signs the signers for the generated transaction block regardless of the interest of the transaction that the generated transaction block includes. To select based on the transaction of the completed last block of the completed blockchain, request a signature for the generated transaction block of the selected signers, and add a signed transaction block from the signers to the signed blockchain, Forward the signed transaction block to a plurality of amalgamator nodes on the network. It provides a computer unit, characterized in that.

실명 네트워크 내에서의 법정화폐를 이용한 거래를 기록하기 위한 p2p 장부와, 상기 p2p 장부 기반의 네트워크 시스템, 서명자의 서명 방법 및 합병자의 거래 블록 추가 방법을 제공할 수 있다.It is possible to provide a p2p book for recording transactions using fiat money in a real name network, a network system based on the p2p book, a signature method of a signer, and a transaction block addition method of a merger.

도 1은 본 발명의 일실시예에 따른 P2P 장부 프로토콜의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 서명된 블록 체인에 추가된 새로운 블록이 포함하는 정보의 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 종전 블록에 기반하여 새로운 블록을 위한 서명자들이 선택하는 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 p2p 장부가 블록 위조(forking a block)에 대한 보호되는 예를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 네트워크 시스템의 동작 환경의 예를 도시한 도면이다.
도 6은 본 발명의 일실시예에 있어서, 컴퓨터 장치의 내부 구성의 예를 도시한 도면이다.
도 7은 본 발명의 일실시예에 있어서, 서명 방법의 예를 도시한 흐름도이다.
도 8은 본 발명의 일실시예에 있어서, 거래 블록 추가 방법의 예를 도시한 흐름도이다.
1 is a diagram illustrating an example of a P2P book protocol according to an embodiment of the present invention.
2 is a diagram illustrating an example of information included in a new block added to a signed block chain according to one embodiment of the present invention.
FIG. 3 is a diagram for one example of selecting signers for a new block based on a previous block according to one embodiment of the present invention.
4 is a diagram illustrating an example in which a p2p book is protected against a forking a block according to an embodiment of the present invention.
5 is a diagram illustrating an example of an operating environment of a network system according to an embodiment of the present invention.
6 is a diagram illustrating an example of an internal configuration of a computer device according to one embodiment of the present invention.
7 is a flowchart illustrating an example of a signature method in an embodiment of the present invention.
8 is a flowchart illustrating an example of a method for adding a transaction block according to an embodiment of the present invention.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들에서는 어떠한 암호화폐를 발행하지 않고도 법정화폐에 대한 보편적인 금융 플랫폼을 구현하는 p2p 장부에 대한 기술들을 설명한다. 이에 대해, 본 발명의 실시예들에서는 실명 신원에 기반하는 "인구 증명(Proof of Population)"이라는 새로운 개념을 도입한다. 그것은 은행들을 위한 p2p 장부로서 사용될 수 있고, 결제를 위한 영향력 있는 도구로서 사용될 수 있고, 임의의 금융 거래(transaction)들을 위해 사용될 수 있다. 나아가, 그것은 제3자에 의해 장악되었던 비용을 중앙 집중화될 수 없는 피어들에게 분산시킨다. 에너지 요구가 매우 낮기 때문에 본 발명의 실시예들에 따른 소프트웨어를 스마트폰이나 개인용 컴퓨터 상에 실행하는 것이 가능하다.Embodiments of the present invention describe techniques for a p2p ledger that implements a universal financial platform for fiat currencies without issuing any cryptocurrencies. In contrast, embodiments of the present invention introduce a new concept of "Proof of Population" based on real name identity. It can be used as a p2p ledger for banks, as an influential tool for settlement, and can be used for any financial transactions. Furthermore, it distributes the costs held by third parties to peers that cannot be centralized. Because of the very low energy requirements, it is possible to run software according to embodiments of the invention on a smartphone or personal computer.

1. 소개1. Introduction

제3 신뢰 기관은 신뢰받은 방법으로 기록 거래를 하기 위하여 필요한 것으로 가정된다. 이 모델에서, 참가자들이 기록들이 변형되지 않는다는 것을 믿기 위해서는 신뢰가 필요가 필요하다. 신뢰를 제공하는 대신에, 제3 신뢰 기관은 참가자들로부터 거래 비용을 받는다. 이는 네트워크 내의 참가자들이 일반적으로 은행과 같은 제3 신뢰 기관을 운용하는 비용에 동의한다면 잘 이루어진다. 그러나, 기술적, 경제적, 정치적으로 거래를 보호하는 제3 신뢰 기관을 설치하는 것이 불가능하다면, 분산되지만 위조가 불가능한 온라인 거래 기록이 필요하다. 또한, 이미 제3 신뢰 기관이 존재하더라도, 제3 신뢰 기관을 유지하는 비용이 너무 커서 기술적 또는 경제적으로 불가피한 것이 아니라 부당한 이익을 창출할 때, 구현 가능하다면, 분산된 장부를 사용하는 것이 더 바람직하다. 분산된 장부를 제공하는 것과 제3 기관을 제거하는 것은 제3 기관에 의존하지 않는 또 다른 경쟁 기술을 제공함으로써 신뢰 기관에 의해 운영되는 시장에 큰 영향을 미친다.A third trusted authority is assumed to be required to conduct records transactions in a trusted manner. In this model, participants need trust to believe that the records are not modified. Instead of providing trust, the third trust authority receives transaction costs from the participants. This is well done if the participants in the network generally agree on the cost of running a third party, such as a bank. However, if it is impossible to establish a third-party trust institution that technically, economically and politically protects the transaction, then a decentralized but not counterfeit online transaction record is needed. Furthermore, even if a third trust authority already exists, it is more desirable to use a distributed ledger if it is feasible when the cost of maintaining the third trust authority is too large to create an unfair advantage, rather than technically or economically unavoidable. . Providing decentralized ledgers and eliminating third parties has a significant impact on markets run by trust institutions by providing another competitive technology that does not rely on third parties.

2009년, 비트코인은 중앙 집중화된 화폐 주조국을 제거하고 온라인 화폐 시스템에 대한 장부를 탈중앙화한다는 개념을 제공했다. 비트코인 네트워크에서 코인들은 피어들이 하나의 세계적인 불변 장부를 관리함으로써 분산된 방법으로 발행된다. 장부가 변하지 않도록 하기 위하여, 나카모토는 익명의 피어들의 투표에 의해 장부 내 불일치를 해결할 수 있는 새로운 투표 메커니즘을 개발했다. 인터넷 내의 노드들은 정확하게 구별될 수 없기 때문에, 1노드 당 1투표를 실현하기 위한 메커니즘이 요구된다. IP 주소와 같은 신원들은 쉽게 장악될 수 있으므로, 비트코인은 1CPU 당 1투표라는 추상적인 개념을 효과적으로 구현하기 위하여 소위 작업 증명(proof-of-work, PoW)을 사용한다.In 2009, Bitcoin provided the concept of eliminating the centralized currency foundry and decentralizing the books of the online currency system. In the Bitcoin network, coins are issued in a distributed way by peers managing a single global constant ledger. To keep the books unchanged, Nakamoto has developed a new voting mechanism that can resolve discrepancies in the books by voting by anonymous peers. Since the nodes in the Internet cannot be accurately distinguished, a mechanism for realizing one vote per node is required. Since identities such as IP addresses can be easily captured, Bitcoin uses so-called proof-of-work (PoW) to effectively implement the abstract concept of one vote per CPU.

현재의 PoW 기반 암호화폐 시스템들에는 그것들이 거래를 위한 실물화폐로서 사용되지 못하게 하는 몇몇 기술적인 한계들이 있다.Current PoW-based cryptocurrency systems have some technical limitations that prevent them from being used as real currency for trading.

- 에너지: 디지코노미스트(Digiconomist)에 의한 비트코인 에너지 소비 지수에 따르면, 비트코인에 의해 전력을 공급받을 수 있는 미국 가정의 수는 4,049,860 가정이다.Energy: According to the Bitcoin Energy Consumption Index by Digiconomist, the number of US homes powered by Bitcoin is 4,049,860.

- 느린 승인: 이론적으로 블록이 완성되는 데 적어도 60분이 걸리지만, 일반적으로 제한된 블록 크기 및 대량 거래에 실질적으로 더 의존한다.Slow acknowledgment: In theory, blocks take at least 60 minutes to complete, but generally rely more substantially on limited block size and bulk transactions.

- 확장 가능성: 초 당 처리될 수 있는 거래의 개수는 단지 4-20개이다. 이는 큰 스케일의 네트워크를 위한 후보군이 될 수 없다.Scalability: Only 4-20 transactions can be processed per second. This cannot be a candidate for large scale networks.

PoW를 사용하는 대신, 지분 증명(proof-of-stake, PoS)을 사용하는 암호화폐 시스템들이 있다. 지분 소유자들이 투표하기 위해 그들의 지분을 거는 PoS 기반 시스템은 이른바 상기 문제들을 해결한다. PoS 공격의 유효성에 대해 여전히 논란들이 있지만, 몇몇 체인들을 동시 위조하는 것이 가능하고, 심지어 수익성이 있다고 주장된다.Instead of using PoW, there are cryptocurrency systems that use proof-of-stake (PoS). PoS-based systems in which stake holders stake their stake to vote so-called solve the above problems. There is still debate about the effectiveness of PoS attacks, but it is argued that it is possible to forge several chains simultaneously and even profitable.

이제 암호화폐의 다른 측면들인 익명성과 탈중앙화에 대해 알아본다.Now let's look at the other aspects of cryptocurrency: Anonymity and Decentralization.

- 비 투명성: 모든 거래들은 소유자가 확인될 수 없는 임의의 주소들 하에서 처리된다.Non-Transparency: All transactions are processed under arbitrary addresses whose owner cannot be verified.

- 비 탈중앙화: 파워 또는 지분을 해싱하는 것은 소규모 그룹인 사람들에 의해 장악됐다.Non-decentralized: Hashing of power or equity is dominated by small groups of people.

1.1. 투명성1.1. Transparency

암호화폐들은 실물화폐만큼 추적 불가능하도록 온라인 화폐 시스템을 효율적으로 실현한다. 비트코인이 도입된 이후로, 암호화폐에 많은 초점이 쏠렸고, 이는 여러 가지의 암호화폐 시스템들의 홍수(암호화폐의 수는 약 1,300 여 개)를 촉발했다. 그러나, 블록 체인(block chain) 개념을 사용하는 거의 모든 암호화폐들은 추적이 불가능하다. 실세계에서의 현금이 자금 세탁 및 조세 회피와 같은 범죄에 사용될 때조차 추적하는 것이 쉽지 않은 것처럼, 암호화폐들은 거래소에서 실물화폐로 교환될 때를 제외하고는 추적할 수 없다. 그러나, 현대 사회는 신용 카드, 체크 카드 및 급여로 인하여 보다 투명한 경제로 나아간다. 현재의 현금 모델은 이러한 대안제들에 의해 점진적으로 사라지고 있다. 그러나, 비트코인으로 대표되는 암호화폐들은 우리가 나아가고 있는 방향과 반대로 나아간다. 그 불투명성을 보여주는 한 사례는 2017년 3월, 미국 증권거래위원회(US SEC)에서 거래의 불투명성 때문에 윙클보스 비트코인 트러스트(Winklevoss Bitcoin Trust)가 상장되지 않도록 결정한 것이다.Cryptocurrencies efficiently realize online money systems so that they are not traceable as real currency. Since the introduction of Bitcoin, much focus has been placed on cryptocurrencies, which has triggered a flood of cryptocurrency systems (about 1,300 cryptocurrencies). However, almost all cryptocurrencies using the block chain concept are untraceable. Just as cash in the real world is not easy to track even when used for crimes such as money laundering and tax avoidance, cryptocurrencies can't be tracked except when exchanged for real currency on an exchange. However, modern society is moving toward a more transparent economy due to credit cards, check cards and pay. The current cash model is gradually being eliminated by these alternatives. However, the cryptocurrencies represented by Bitcoin go in the opposite direction. One example of that opacity was that in March 2017, the US Securities and Exchange Commission (US SEC) decided not to list the Winklevoss Bitcoin Trust due to the opacity of the transaction.

1.2. 탈중앙화1.2. Decentralization

본 발명의 실시예들에 따른 p2p 플랫폼은 어떤 암호화폐도 생성하지 않기 때문에, 탈중앙화란 네트워크에 대한 기여와 보상이 참여자들에게 균일하게 분배되는 것을 의미한다. Bolckchain.info에 따르면, 상위 7개의 채굴 그룹들은 세계 해싱 파워의 70% 이상을 점유하고 있다. 최근에 암호화폐들은 처음 제안됐을 때 기대되었던 것만큼 탈중앙화되지는 않은 것으로 추측된다. 지분 증명은 또한 고지분 소유자들이 장부를 제어하도록 하며, 이중 지급(double spending)이 가능한 것으로 보고된다. 소규모 그룹인 사람들에 의한 중앙화를 방지하기 위하여, 1인-1투표만이 해결책이고 다른 대안들은 단지 유사한 것들에 불과하다.Since the p2p platform according to embodiments of the present invention does not generate any cryptocurrency, decentralization means that the contributions and rewards for the network are distributed evenly to the participants. According to Bolckchain.info, the top seven mining groups account for more than 70% of global hashing power. Recently, cryptocurrencies are not decentralized as expected when they were first proposed. Proof of ownership also allows high stake holders to control their books and reports that double spending is possible. To prevent centralization by small groups of people, one-on-one voting is the solution and other alternatives are just similar ones.

1.3. 적은 수의 그룹들에 의해 장악될 수 없는 고-탈중앙화된 공개 장부들 및 거래 상의 고-투명성 공개 장부들이라는 요구를 만족하기 위한 본 발명의 실시예들에 따른 아이디어는 실명 기반 투표를 사용하는 것이다. 금융 거래들이 실명으로 수행되어야 한다는 것을 고려할 때, 본 발명의 실시예들에서는 익명의 네트워크를 고수할 필요가 없다. 본 발명의 실시예들에서는 장부 상 프라이버시를 보호하는 반면, 진정한 탈중앙화 및 높은 수준의 투명성을 모두 성취할 수 있는 p2p 금융 플랫폼을 제안한다. 비효율적인 PoW 기반 투표를 사용하는 대신에, 본 발명의 실시예에 따른 시스템은 훨씬 더 안전하고, 빠르고, 확장 가능하며, 친환경적인 인구 증명(proof-of-population, PoP) 기반 투표를 사용한다.1.3. The idea according to embodiments of the present invention to satisfy the need of high-decentralized open books and high-transparent open books on a transaction that cannot be secured by a small number of groups is to use blindness-based voting. will be. Given that financial transactions must be conducted in real name, there is no need to adhere to an anonymous network in embodiments of the present invention. Embodiments of the present invention propose a p2p financial platform that can achieve both true decentralization and high levels of transparency while protecting book-level privacy. Instead of using inefficient PoW based voting, the system according to an embodiment of the present invention uses a much safer, faster, scalable, and eco-proof, proof-of-population (PoP) based voting.

이제, 암호화폐에 대해 논의한다. 비트코인 설계자들의 목표는 거창하지만 비트코인은 화폐가 될 수 없다. 사람들은 상품을 구매하기 위해 그것을 사용하길 원하지 않고, 투기하는 것을 원하며, 이에 대한 여러 이유가 있다. 하나는 그것이 실물화폐에서 분리되어 독자적인 생태계에서 기능한다는 것이며, 다른 하나는 높은 채굴 비용이다.Now let's discuss cryptocurrencies. The goal of bitcoin designers is huge, but bitcoin cannot be a currency. People don't want to use it to buy a product, they want to speculate, and there are many reasons for this. One is that it separates from real money and functions in its own ecosystem, and the other is high mining costs.

- 폐쇄된 생태계: 화폐 장부 기술들은 채굴자들의 경제적인 인센티브를 안정적으로 유지하기 위하여 폐쇄된 생태계에 의존한다. 즉, 암호화폐는 보상이고 거래는 오직 암호화폐로 이루어진다.Closed ecosystems: Money ledger technologies rely on closed ecosystems to maintain stable economic incentives for miners. In other words, cryptocurrency is a reward and transactions are made only of cryptocurrencies.

- 채굴 비용: PoW 기반 장부들은 높은 채굴 비용 때문에 소액 거래를 처리하는 데 적합하지 않다.Mining costs: PoW-based books are not suitable for processing small transactions because of high mining costs.

1.4. 암호화폐의 폐쇄된 생태계1.4. Closed ecosystem of cryptocurrency

현재 암호화폐 네트워크들에서, 보상은 네트워크 내에서 암호화폐로 주어지며, 장부 상 거래들은 오직 같은 암호화폐로 이루어진다. 이러한 폐쇄된 생태계는 공격자들의 인센티브에 대한 가치를 매우 안정적으로 유지하는 효과를 주지만, 다른 한편 장부의 사용을 오직 암호화폐와 관련된 거래들로 제한한다. 장부 내 거래들을 위한 화폐와 보상에 대한 암호화폐가 다르다면, 경제적인 인센티브는 채굴자들을 유인할 수 없다. 비트코인 장부가 USD 거래들을 처리하고, 거래 비용 및 코인베이스(coinbase)를 포함하는 보상들은 비트코인으로 주어진다고 가정하자. 비트코인의 가치가 급락하고 보상들이 블록들 내 거래들보다 더 작아질 때, 이러한 화폐 분리는 명백하게 공격자들로 하여금 정직하게 채굴하지 않도록 할 것이고, 잘못된 행동(거래 블록들을 위조하는 것)을 하도록 장려한다. 가치가 매우 높을 때, 거래 비용은 너무 높아서 소액 거래들을 처리하기에 너무 높을 것이다. 이는 대부분의 암호화폐들이 그들의 네트워크에서 재귀적으로 정의되는 이유이다. 거래를 위한 화폐와 보상을 위한 화폐를 분리할 수 없음에도 불구하고, 채굴자들에게 실제의 경제적인 인센티브를 주기 위하여 화폐 가치를 평가하는 방법이 있음에 틀림없다. 암호화폐 거래소들은 이러한 목적을 위해 존재하지만, 암호화폐들의 가치는 투기에 의해 급변하고 있다.In current cryptocurrency networks, rewards are given in cryptocurrencies within the network, and book transactions only consist of the same cryptocurrency. This closed ecosystem has the effect of keeping the value of incentives of attackers very stable, on the other hand, restricting the use of books only to transactions related to cryptocurrencies. Economic incentives cannot attract miners if the currency for books and the cryptocurrency for rewards are different. Suppose that the bitcoin ledger processes USD transactions, and rewards, including transaction costs and coinbase, are given in bitcoin. When the value of Bitcoin plummets and rewards become smaller than transactions in blocks, this separation will obviously prevent attackers from mining honestly, encouraging them to do something wrong (forge trading blocks). do. When the value is very high, the transaction cost will be so high that it will be too high to handle small transactions. This is why most cryptocurrencies are defined recursively in their networks. Although it is not possible to separate the currency for trade and the currency for reward, there must be a way to evaluate the value of money to give miners real economic incentives. Cryptocurrency exchanges exist for this purpose, but the value of cryptocurrencies is changing rapidly due to speculation.

1.5. 채굴 비용1.5. Mining cost

다른 한편, PoW를 풀어내며 블록들을 채굴하기 위한 비용은 최근 매우 높아서 적은 양의 거래를 융통하는 데 사용하기가 어렵다. 예를 들어, 초대형 채굴 풀인 AntMiner S9에 의한 한 블록 채굴은 하드웨어 비용을 고려하지 않더라도 19,598.50 USD의 비용이 든다. https://grisha.org/blog/2017/09/28/electricity-cost-of-1- bitcoin/. 그러므로, 우리가 소액 거래를 처리하는 데 비트코인을 사용할 수 없다는 점은 꽤 명백하다.On the other hand, the cost of mining blocks by unleashing PoW has recently been very high, making it difficult to use to finance small amounts of transactions. For example, one block mining by AntMiner S9, a very large mining pool, costs $ 19,598.50 without considering hardware costs. https://grisha.org/blog/2017/09/28/electricity-cost-of-1- bitcoin /. Therefore, it is quite clear that we cannot use Bitcoin to process small transactions.

결과적으로, 실물 경제와 분리된 폐쇄된 생태계 및 높은 채굴 비용은 PoW/PoS 기반 암호화폐들이 실물 거래에 적용될 수 없게 한다. 이를 극복하기 위하여, 우리는 암호화폐 대신에 법정화폐(fiat currency) 사용을 제안한다. 이것 또한 장부 상 화폐의 재귀적인 사용이지만, 이러한 설계 선택은 폐쇄된 생태계 문제를 단순화한다. 본 발명의 실시예들에 따른 장부 상 화폐는 이미 현실의 바로 그 화폐(법정화폐)이다. 암호화폐를 법정화폐와 교환하기 위해서 어떠한 거래소도 필요하지 않다. 어떠한 암호화폐도 본 발명의 실시예들에 따른 시스템에서 생성되지 않는다. 본 발명의 실시예들에 따른 p2p 플랫폼(사실상, 임의의 암호화폐의 거래를 처리하기 위해 사용될 수 있는)이 특정 종류의 화폐에 제한되지 않을지라도, 본 발명의 실시예들에 따른 플랫폼 상에서 화폐에 대한 분산된 장부를 운영하는 방법을 보여줄 것이다. 장부 상에 법정화폐를 취급하기 때문에, 그것은 가치 변동과 상관없이 상업 및 온라인, 오프라인 지불을 위해 자유로이 사용될 수 있다. 블록을 만들기 위한 증명을 생성하는 비용은 PoW와 비교할 때 매우 평범한, 서명들을 생성하고 모으는 것이다. 그러므로, 채굴자들을 위한 경제적인 인센티브는 클 필요가 없으며, 이는 소액 거래들이 네트워크 상에서 효율적으로 처리될 수 있다는 것을 의미한다.As a result, closed ecosystems and high mining costs that separate from the real economy make PoW / PoS-based cryptocurrencies inapplicable to real trading. To overcome this, we propose to use fiat currency instead of cryptocurrency. This is also a recursive use of book money, but this design choice simplifies the problem of closed ecosystems. Book currency according to embodiments of the present invention is already the very currency (legal currency) of reality. No exchange is required to exchange cryptocurrencies for fiat currency. No cryptocurrency is generated in the system according to embodiments of the present invention. Although the p2p platform according to embodiments of the present invention (which in fact can be used to process transactions of any cryptocurrency) is not limited to a particular kind of currency, It will show you how to operate a distributed ledger. Because it treats fiat money on books, it can be used freely for commercial, online and offline payments regardless of value changes. The cost of generating proof to make a block is to generate and collect signatures, which are very common when compared to PoW. Therefore, economic incentives for miners do not need to be large, which means that small transactions can be efficiently processed on the network.

전술한 모든 문제들을 해결함으로써, 본 발명의 실시예들에 따른 p2p 금융 플랫폼은 은행들이 금융 상품을 판매하도록 할 수 있으며, 소비자들로 하여금 중앙 서버에서 운영되지 않는 계좌를 개설하도록 할 수 있다.By solving all the above-mentioned problems, the p2p financial platform according to embodiments of the present invention can enable banks to sell financial products and allow consumers to open accounts that are not operated on a central server.

2. 배경2. Background

비트코인에 의해 해결된 문제는 BGP(Byzantine Generals Problem)라고 불리며, 이는 불완전한 통신 네트워크 및 불완전한 대중들이라는 가정 하에서, 대중들 사이에서의 일치를 만드는 것이다. 비트코인은 인터넷 상의 '같지 않은' 익명의 사용자들 사이에서 BGP를 해결하기 위한 시도이다. 비트코인 네트워크는 인터넷으로 연결된 참여자들이 익명성을 유지한 채 네트워크에 자유롭게 참여하고 떠날 수 있는 인터넷상의 불변의 공개 장부를 만들기 위해 구축되었다. 심지어 더 심하게, 그들은 그들 고유의 이익을 찾기 위하여 공개 장부를 훼손(corrupt)시키려고 한다. 이때, 훼손에 의해 동시에 존재하는 다수의 장부들이 있을 가능성이 있다. 단일한 공개 장부에 합의를 하기 위한 명확한 방법은 투표이지만, 익명의 사용자들 사이에서 신뢰받고 안전한 방법으로 투표하는 것은 쉽게 수행될 수 없다. 단일한 장부를 위해 투표하는 방법은 인터넷 내 BGP와 관련된다. 비트코인은 1투표를 위한 1CPU를 효율적으로 구현하는 작업 증명(PoW)으로 문제를 해결한다. PoW와 함께 다수의 거래들을 보유하는 블록들은 블록 체인으로 구성되는 하나의 공개 장부에 연결된다. PoW는 "채굴자"라고 불리는 네트워크 참여자들에 의해 계산되고 채굴자들은 암호화폐의 형태로 거래 비용 및 코인베이스(coinbase)를 보상받는다. 장부를 변형하기 위하여, 공격자들은 현존 블록 체인에 다른 거래를 더하고, 현존 체인을 찾아내어(catch up) 치환(override)하는 PoW를 더함으로써 체인을 포크(fork)시킨다. 이것을 하기 위해, 공격자는 블록 체인에 대한 PoW를 계산하기 위하여 더 많은 컴퓨팅 파워를 가져야 한다. 만들어진 블록 체인이 현존 체인보다 길어지는 지점에 다다를 때, 공격자는 위조한 체인을 공개하고 이 새로운 체인으로 치환할 것을 요청한다. 공격자 또는 공격자들의 그룹은 공격을 성공하기 위하여 51% 또는 그 이상의 컴퓨팅 파워를 가져야 한다(51% 공격).The problem solved by Bitcoin is called the Byzantine Generals Problem (BGP), which creates a consensus among the public, under the assumption that it is an incomplete communication network and an incomplete public. Bitcoin is an attempt to resolve BGP among `` unlike '' anonymous users on the Internet. The Bitcoin network was created to create a permanent public ledger on the Internet that allows Internet-connected participants to remain free and join the network without being anonymous. Even worse, they are trying to corrupt their open books in search of their own interests. At this time, there is a possibility that there are a plurality of books that exist simultaneously due to damage. The obvious way to agree on a single open book is to vote, but voting in a trusted and secure way among anonymous users cannot be easily performed. The method of voting for a single book is related to BGP on the Internet. Bitcoin solves the problem with Proof of Work (PoW), which efficiently implements 1 CPU for one vote. Blocks holding multiple transactions with PoW are linked to one public ledger organized by blockchain. PoW is calculated by network participants called "miners" and miners are rewarded with transaction costs and coinbase in the form of cryptocurrencies. To modify the book, attackers fork the chain by adding another transaction to the existing blockchain and adding a PoW that catches up and overrides the existing chain. To do this, the attacker must have more computing power to calculate the PoW for the blockchain. When the blockchain that is created reaches a point longer than the existing chain, the attacker opens the forged chain and asks to replace it with this new chain. The attacker or group of attackers must have 51% or more computing power to succeed in the attack (51% attack).

익명의 네트워크 상 투표의 어려움은 비트코인의 PoW 기반 블록 체인의 가치이다. 그러나, 익명성은 자금 세탁 및 조세 회피 관점에서 실물 금융 플랫폼에 대한 블록 체인 기술의 적용을 방해한다. 그러므로, 금융 서비스 부문의 기구들은 '프라이빗 블록 체인(private block chain)' 및 '컨소시움 블록 체인(consortium block chain)' 기술에 흥미를 갖는다. 프라이빗/컨소시움 블록 체인 네트워크에서, 이해 관계가 있는 개체들은 프라이빗/컨소시움 블록 체인에 참여하고 훼손된 장부는 일부 개체에 손실을 주기 때문에, 개체들은 어떠한 '코인' 또는 '채굴' 보상 없이도 네트워크를 운영하는 것이 가능하다. 블록 체인의 진정한 의미는 이해 관계 없는 익명의 참여자들 사이에서 합의를 만들 수 있는 공개 장부에 있다는 관점에서, 참여 노드들의 신원이 서로에게 알려지고 노드들이 기구들에 의해 운영되는 프라이빗/컨소시움 블록 체인들은 단지 보안 목적을 위한 데이터베이스들의 중복된 분산으로 여겨질 수 있다. 본 발명의 실시예들에서는 프라이빗 또는 컨소시움 블록 체인 내 개체들이 실제 신원을 가지며, 서로 쉽게 신원 보장이 가능하고, 이에 따라 데이터베이스에서 불일치가 발생할 때 PoW/PoS 없이 쉽게 합의할 수 있다는 점에 주목한다. 프라이빗 또는 컨소시움 블록 체인에 기반하는 현재의 실험적인 프로젝트들은 이해관계를 갖는 개체들에 의한 중복 데이터베이스 관리에 의해 얻어지는 보안 및 분산 데이터베이스 시스템들 간 통일성(coherence)의 효율에 집중하고 있다. 이해관계가 있는 제 3자들 사이에서의 거래들을 다루기 위하여, PBFT(practical Byzantine fault tolerance protocols)의 변형들이 프라이빗 체인을 위해 채택되어 왔다. 그러나, 대부분의 PBFT 프로토콜들은 퍼블릭 체인 네트워크에서 사용되기에 충분할 정도로 확장 가능하지 않다. 그러므로, 프라이빗/컨소시움의 의미는 제한된다.The difficulty of voting on anonymous networks is the value of Bitcoin's PoW-based blockchain. However, anonymity hinders the application of blockchain technology to real financial platforms in terms of money laundering and tax avoidance. Therefore, institutions in the financial services sector are interested in 'private block chain' and 'consortium block chain' technologies. In a private / consortium blockchain network, because interested entities participate in the private / consortium blockchain, and damaged ledgers lose some objects, it is not necessary for them to operate the network without any 'coin' or 'mining' compensation. It is possible. In the sense that the true meaning of the blockchain is that it is an open ledger that can form consensus between anonymous participants of no interest, private / consortium blockchains in which the identity of participating nodes are known to each other and the nodes are operated by organizations It can only be seen as a redundant distribution of databases for security purposes. In the embodiments of the present invention, it is noted that the entities in the private or consortium blockchain have real identity and can easily be identified with each other, and thus can easily agree without PoW / PoS when a mismatch occurs in the database. Current experimental projects based on private or consortium blockchains focus on the efficiency of coherence between security and distributed database systems obtained by redundant database management by interested entities. In order to deal with transactions between interested third parties, variants of practical Byzantine fault tolerance protocols (PBFTs) have been adopted for private chains. However, most PBFT protocols are not scalable enough to be used in public chain networks. Therefore, the meaning of private / consortium is limited.

현존 블록 체인들과는 달리, 우리의 블록 체인은 공개 장부(Public Block Chain)의 개방성 및 프라이빗 장부(Private Block Chain)의 높은 처리량 모두를 갖는다. 한편, 익명의 노드들이 아니라 실명 인증된 노드들에 의해 동작하기 때문에 프라이빗 블록 체인으로 보인다. 다른 한편, 노드들이 우리의 네트워크에 자유롭게 참여하고 떠날 수 있다는 점 및 블록들이 이해 관계없는 임의적인 노드들에 의해 서명된다는 점에서, 퍼블릭 체인으로도 보인다. 이는 익명의 네트워크가 아니지만 실명 인증된 피어들에 의해 작동되는 네트워크이므로, 기록되는 모든 거래들은 필요하다면 정부 당국에 의해 신원 확인이 가능하다. 새로운 장부는 실물화폐와 암호화폐를 포함하는 임의 유형의 자산을 다루는 궁극적인 P2P 금융 플랫폼으로서 작용할 수 있다. 이 플랫폼을 사용함으로써, 은행의 장부가 은행 서버가 아닌 스마트폰 및 컴퓨터들을 사용하여 피어들에 의해 운영되는 분산된 불변 장부 내에서 관리되는 P2P 은행이 생긴다. 은행의 역할은 그들의 소비자들을 매핑하고 네트워크 상에서 금융 상품들을 판매하는, 가명(pseudonym) 및 실제 신원 관리를 포함한다.Unlike existing blockchains, our blockchain has both the openness of the Public Block Chain and the high throughput of the Private Block Chain. On the other hand, it appears to be a private blockchain because it is operated by anonymous, authenticated nodes rather than anonymous nodes. On the other hand, it also appears to be a public chain, in that nodes can freely join and leave our network and blocks are signed by arbitrary nodes of no interest. This is not an anonymous network but a network operated by real name authenticated peers, so that all transactions recorded can be identified by government authorities if necessary. The new ledger can serve as the ultimate P2P financial platform for dealing with any type of asset, including physical and cryptocurrencies. By using this platform, there is a P2P bank where the bank's books are managed in a distributed, constant ledger operated by peers using smartphones and computers rather than bank servers. The role of the bank includes pseudonym and real identity management, mapping their consumers and selling financial products on the network.

3. 동기(motivation)3. Motivation

퍼블릭 블록 체인의 혁신은 PoW에 의한 익명 투표를 가능하게 함으로써, 장부 불일치를 해결하는 것에 있다. 노드의 신원이 알려지지 않더라도, 하나의 노드에서 오는 두 개의 투표(중복 투표)인지 또는 다른 노드들에서 오는 두 개의 투표(2개의 유효한 투표)인지 구별하는 방법이 있다면, 장부 불일치를 해결하기 위하여 투표 수를 카운트할 수 있다. 중복 투표의 경우, 두 개의 투표 중 하나는 무시될 수 있다. 이 경우, 비싼 PoW 계산이 필요하지 않고 투표를 카운트할 수 있다. 실명 기반 식별자 및 그 디지털 서명은 이 목적을 위해 기능할 수 있다. 실명 식별은 단지 투표만을 위해서라면 과도하지만, 고-탈중앙화, 고-투명성 장부들을 위한 실명 추적 가능 플랫폼을 목적으로 하기 때문에, 본 발명의 실시예들에 따른 목적에 완벽히 부합한다.The innovation of the public blockchain is in resolving book mismatches by enabling anonymous voting by PoW. Even if the identity of a node is not known, if there is a way to distinguish between two votes coming from one node (duplicate votes) or two votes coming from other nodes (two valid votes), Can be counted. In the case of duplicate votes, one of the two votes may be ignored. In this case, votes can be counted without expensive PoW calculations. The real name based identifier and its digital signature may serve for this purpose. Although real name identification is excessive for voting only, it aims to be a real name traceable platform for high-decentralized, high-transparent ledgers, which perfectly fits the purpose according to embodiments of the present invention.

실명 기반 가명 및 디지털 서명을 사용하는 본 발명의 실시예들에 따른 p2p 장부는 블록이 명백한 과반수 투표에 의해 확인되는 프라이빗/컨소시움 블록 체인의 변형으로 보일 수 있다. 그러나, 본 발명의 실시예들에 따른 장부는 일단 실명으로 식별되면 누구라도 네트워크에 자유롭게 접근하고 떠날 수 있으며, 장부 접근은 누구에게도 제어되지 않고 블록은 임의적인 피어들에 의해 서명될 수 있다는 점에서 퍼블릭 블록 체인의 일종이다. 또한, 퍼블릭 체인의 작동 환경은 프라이빗 체인과 다르다. 서명자(signer)의 수는 많고, 과도한 포킹(forking)은 큰 네트워크 지연에 의해 빈번하게 발생한다. 그러므로, 우리는 하이퍼레저(Hyperledger)와 같은 프라이빗/컨소시움 블록 체인에서 취하는 PBFT 기반 과반수 투표 알고리즘과는 다른 전략이 필요하다.A p2p ledger according to embodiments of the present invention using real name based aliases and digital signatures may be seen as a variant of the private / consortium blockchain in which the block is identified by an explicit majority vote. However, a ledger according to embodiments of the present invention can be freely accessed and left by anyone, once the identity is identified, and the book access is not controlled by anyone and the block can be signed by arbitrary peers. It is a kind of public blockchain. In addition, the operating environment of the public chain is different from the private chain. The number of signers is large, and excessive forking is frequently caused by large network delays. Therefore, we need a different strategy from the PBFT-based majority voting algorithm that is taken by private / consortium blockchains such as Hyperledger.

프라이빗/컨소시움 블록 체인에서는 블록에 이해 관계가 있는 서명자들이 블록에 서명해야 하는 반면, 본 발명의 실시예들에 따른 p2p 플랫폼에서 서명 기반 과반수 투표는 누가 블록에 서명했는지에 관심이 없고 얼마나 많은 투표자들이 블록에 서명했는지에만 관심이 있다. 그러므로, 서명들은 특정 수의 피어들이 블록에 투표했다는 사실을 증명하는 데 사용된다. 간단히 말하면, PoP는 채굴자(본 발명의 실시예들에서의 "합병자(merger)")가 서명자의 신원과 상관없이 블록에 대해 N 개의 서명을 가장 빨리 모은다면, 보상을 얻는 게임이다. 이는 해시 퍼즐을 가장 빨리 푼 채굴자가 게임을 이기는 PoW와 유사하다. 블록을 추가하기 위하여, 참여자들 사이의 N 명의 임의의 피어들은 그들의 서명을 블록에 추가함으로써 블록을 위한 투표를 한다. 여기서 N≥1이다. 체인이 길어질수록, 더 많은 투표자들이 체인을 지지한다. 그러므로, 장부 상 불일치가 발생할 때, 더 많은 투표자들을 갖는 체인 포크가 선택될 것이고, 이는 과반수 투표의 정확한 구현이다. 여기서 문제는 분산 p2p 네트워크에서 효율적이고, 안전하고 탈중앙화된 방법으로 서명 기반 과반수 투표를 구현하는 방법이다. 문제에 대한 우리의 접근은 1) 거래량, 거래 비용 및 완성 시간에 의한 공격자들의 이득과 손실을 신중하게 균형 잡는 것 및 2) 완전 추적성을 통해 장부를 위조하지 못하도록 공격자들을 방해하는 실명 기반 플랫폼의 장점을 취하는 것이다.In a private / consortium blockchain, signers interested in the block must sign the block, whereas in the p2p platform according to embodiments of the present invention, the signature-based majority vote is not interested in who signed the block and how many voters You are only interested in signing the block. Therefore, signatures are used to prove that a certain number of peers have voted on the block. In short, PoP is a game where a miner ("merger" in embodiments of the present invention) is rewarded if he collects N signatures for the block fastest, regardless of the identity of the signer. This is similar to PoW, where the miner who solved the hash puzzle fastest wins the game. To add a block, N random peers between participants vote for the block by adding their signature to the block. Where N≥1. The longer the chain, the more voters support the chain. Therefore, when book mismatch occurs, a chain fork with more voters will be selected, which is the correct implementation of the majority vote. The problem here is how to implement signature-based majority voting in an efficient, secure and decentralized way in a distributed p2p network. Our approach to the problem is to: 1) carefully balance the gains and losses of attackers by transaction volume, transaction cost, and completion time; and 2) to prevent attackers from counterfeiting their books through full traceability. Take advantage.

4. P2P 장부 프로토콜4. P2P Book Protocol

새로운 블록 체인을 현실화하기 위하여, 디지털 서명을 사용하는 인구 증명(PoP)은 개인들에 의한 명백한 투표 실현인 PoW 또는 PoS(Proof of Stake) 대신 사용된다. 누적된 컴퓨팅 파워 및 지분의 양에 의존하는 PoW 및 PoS와는 달리, PoP는 블록을 지지하는 사람들의 누적된 수에 따라서 결정을 한다. 그러므로, 포킹(forking)이 여러 버전의 체인을 생성하는 공격 또는 비동기화에 의해 발생할 때, 더 많은 인구를 갖는 체인 또는 더 많은 투표자에 의해 지지되는 체인이 게임을 이기는 체인으로 선택된다.To make the new blockchain a reality, a proof of population (PoP) using digital signatures is used instead of PoW or Proof of Stake, which is an explicit voting realization by individuals. Unlike PoW and PoS, which rely on accumulated computing power and amount of stake, PoP makes decisions based on the cumulative number of people who support the block. Therefore, when forking occurs by an attack or asynchronous to generate multiple versions of the chain, a chain with a larger population or a chain supported by more voters is chosen as the chain that wins the game.

4.1. 노드: 서명자(Signer) 및 합병자(Merger)4.1. Nodes: Signer and Merger

PoP 네트워크에는 두 종류의 노드가 있다. 한 종류의 노드는 디지털적으로 블록에 서명함으로써 공개 장부를 유지하는 데 기여하고, 다른 종류의 노드는 다수의 거래를 하나의 블록으로 모으고, 블록에 대해 노드들에게 서명 요청을 하고, 서명(signature)들을 모아서, 이것을 현존하는 블록 체인에 연결함으로써 기여한다. 전자의 노드는 서명자라고 불리고 후자의 노드는 합병자라고 불린다. 서명자는 거래 블록에 대한 서명 요청을 받을 때 PoP 지갑이 서명을 생성해야 하는지 확인하는 메시지를 사용자에게 보여준다. 이는 자동적인 서명을 위한 사전 동의를 설정함으로써 자동적으로 수행될 수 있다. 본 발명의 실시예에서는 서명 모듈이 스마트폰과 같이 어플리케이션의 설치가 가능한 단말 상에서 실행되는 경우를 고려한다. 서명자는 자신의 단말에 본 발명의 실시예들에 따른 어플리케이션을 설치함으로써, 서명자는 블록에 서명하는 것에 대한 보상으로서 얼마의 돈을 벌 수 있다. 합병자는 거래 블록을 구성하기 위하여 특정한 수의 거래들을 수집하고 검증한다. 또한, 각 거래 블록에 대하여, 합병자는 서명자들로부터 블록에 대한 일정 수의 유효한 서명들을 수집하고 그것들을 블록에 삽입해야 한다. 합병자의 소프트웨어(유효한 서명들의 수집 및 삽입을 위한 모듈) 또한 스마트폰 또는 데스크탑/서버 컴퓨터와 같은 합병자의 단말 상에서 실행될 수 있다. 합병자 노드는 더 많은 서명자들이 그들의 네트워크에 참여하게 해서 필요한 만큼 많은 서명들을 빠르게 수집하기 위하여 스스로를 알리거나 프로모션을 해야 한다. 서명자가 네트워크에 참여할 때, 스스로를 합병자들에 등록할 것이고 합병자들은 서명자에게 블록에 서명하라고 요청할 것이다. 서명자가 다수의 합병자들에 참여할 때, 서명자는 합병자들 사이에서 우선순위를 설정해야 한다. PoP 네트워크에 참여하는 노드들은 네트워크를 유지하기 위하여 그들의 작업에 대한 보상을 받아야 한다. 합병자 노드들은 거래 수집/검증 및 이러한 거래를 위한 서명들을 수집하는 것에 대한 보상을 받고, 서명자 노드들은 서명을 생성한 그들의 기여에 대해 보상을 받는다. 이 보상은 장부 상의 그들의 계좌에 실제 화폐로 주어진다.There are two kinds of nodes in a PoP network. One kind of node contributes to maintaining the open ledger by digitally signing the block, while the other kind of node gathers multiple transactions into one block, requests nodes to sign the block, and signs ) And contribute by linking it to an existing blockchain. The former node is called the signer and the latter node is called the merger. When the signer receives a signature request for a transaction block, the signer shows the user a message confirming that the PoP wallet should generate a signature. This can be done automatically by setting up prior consent for automatic signatures. In the embodiment of the present invention, a case where the signature module is executed on a terminal capable of installing an application such as a smartphone is considered. By installing an application according to embodiments of the present invention on its terminal, the signer can make some money as a reward for signing the block. The merger collects and verifies a certain number of transactions to construct a trading block. In addition, for each transaction block, the merger must collect a certain number of valid signatures for the block from the signers and insert them into the block. The merger's software (module for collecting and inserting valid signatures) may also be run on the merger's terminal, such as a smartphone or desktop / server computer. The aggregator node has to advertise or promote itself in order to get more signers to join their network and quickly collect as many signatures as needed. When the signer joins the network, it will register itself with the mergers and the mergers will ask the signer to sign the block. When a signer participates in multiple mergers, the signer must set priorities among the mergers. Nodes participating in a PoP network must be compensated for their work in order to maintain the network. Merger nodes are rewarded for collecting / verifying transactions and collecting signatures for such transactions, and signer nodes are rewarded for their contributions that generated the signature. These rewards are given in real money in their accounts on the books.

도 1은 본 발명의 일실시예에 따른 P2P 장부 프로토콜의 예를 도시한 도면이다. 제1 점선박스(110)는 본 실시예에 따른 P2P 장부로서의 서명된 블록 체인의 예를 나타내고 있으며, 도 1은 합병자(120)가 사용자간의 거래들 및/또는 사용자와 상인들간의 거래들을 하나의 블록으로 합병하여 제1 점선박스(110)에 표시된 서명된 블록 체인의 새로운 블록(111)으로 추가하고자 하는 경우의 예를 나타내고 있다. 도 1에서는 거래 1(131)과 거래 2(132)를 도시하고 있으나 실제로는 새로이 추가하고자 하는 블록(111)의 종전 블록(112)이 승인된 이후에 발생되어 합병자(120)에게 전달된 복수의 거래들을 포함할 수 있다.1 is a diagram illustrating an example of a P2P book protocol according to an embodiment of the present invention. The first dashed line box 110 shows an example of a signed blockchain as a P2P ledger according to the present embodiment, and FIG. 1 shows that the merger 120 has one transaction between the user and / or one between the user and the merchant. An example of a case in which a block is to be added and added as a new block 111 of the signed block chain shown in the first dotted line box 110 is shown. In FIG. 1, although transaction 1 131 and transaction 2 132 are illustrated, a plurality of transactions generated after the previous block 112 of the block 111 to be newly added are approved and delivered to the merger 120. May include transactions of.

예를 들어, 거래가 A에서 B로 발생할 때, 금액의 양, 날짜/시간, 거래 목적 및 그들(A와 B)의 ID들을 포함하는 거래 기록은 A 및 B의 개인 서명 키들을 이용하여 서명되고 A와 B 중 어느 하나에 의해 합병자들로 보내진다. 다시 말해, 도 1에서 사용자와 사용자간의 거래 1(131)은 금액의 양, 날짜/시간, 거래 목적에 대한 정보와 두 사용자들의 ID들을 포함할 수 있다. 또한, 거래 1(131)은 두 사용자들의 개인 서명 키들에 의해 서명(133)되어 합병자들에게 전송될 수 있다. 도 1에서는 하나의 합병자(120)를 대표적으로 도시하고 있으나, 실질적으로는 복수의 합병자들 각각으로 거래 기록이 전달될 수 있다. 이와 유시하게, 도 1에서 사용자와 상인간의 거래 2(132)는 금액의 양, 날짜/시간, 거래 목적에 대한 정보와 사용자의 ID 및 상인의 ID를 포함할 수 있다. 또한, 거래 2(132)는 사용자의 개인 서명 키와 상인의 개인 서명 키에 의해 서명(134)되어 합병자들에게 전송될 수 있다.For example, when a transaction occurs from A to B, the transaction record including the amount of money, date / time, transaction purpose and their (A and B) IDs is signed using A and B's private signature keys and A Sent to the mergers by either B or B; In other words, in FIG. 1, the transaction 1 131 between the user and the user may include information on the amount of money, date / time, transaction purpose, and IDs of the two users. Transaction 1 131 may also be signed 133 by two users' private signature keys and sent to the mergers. Although one merger 120 is representatively illustrated in FIG. 1, a transaction record may be substantially transmitted to each of the plurality of mergers. Similarly, transaction 2 132 between a user and a merchant in FIG. 1 may include information about the amount of money, date / time, transaction purpose, and the user's ID and the merchant's ID. Transaction 2 132 may also be signed 134 by the user's personal signature key and the merchant's personal signature key and sent to the mergers.

이때, 거래들(131, 132)은 서명자들(141, 142, 143)에 의해 서명될 수 있다. 도 1에서는 대표적으로 세 명의 서명자들(141, 142, 143)이 합병자(120)의 요청에 따라 새로운 블록(111)을 위한 서명들(151, 152, 153)을 제공함에 대해 도시하고 있다. 이때, 새로운 블록(111)에 대한 서명에 참여할 서명자들은 이후 설명될 방식에 따라 선택될 수 있다.At this time, the transactions 131, 132 may be signed by the signers 141, 142, 143. In FIG. 1, typically, three signers 141, 142, 143 provide signatures 151, 152, 153 for the new block 111 at the request of the merger 120. At this time, the signers to participate in the signature for the new block 111 may be selected according to the manner to be described later.

합병자(120)는 새로운 블록(111)에 서명(121)하여 모든 합병자들에게 브로드캐스팅할 수 있으며, 합병자들에 의해 승인된 새로운 블록(111)은 제1 점선박스(110)에 나타난 서명된 블록 체인의 마지막 블록으로 추가될 수 있다. 합병자들이 블록을 승인하는 방식에 대해서는 이후 더욱 자세히 설명한다.The merger 120 may sign 121 a new block 111 and broadcast it to all mergers, and the new block 111 approved by the mergers appears in the first dotted box 110. Can be added as the last block of the signed blockchain. The manner in which mergers approve a block is described in more detail later.

이처럼 본 발명의 실시예들에 따른 PoP 네트워크에서 거래는 계좌 소유자에 의해 서명되고 합병자에게 보내질 수 있으며, 다수의 거래를 포함하는 블록은 서명자들 및 합병자들에게 서명될 수 있다.As such, in a PoP network in accordance with embodiments of the present invention, a transaction may be signed by an account holder and sent to a merger, and a block containing multiple transactions may be signed to signers and mergers.

도 2는 본 발명의 일실시예에 있어서, 서명된 블록 체인에 추가된 새로운 블록이 포함하는 정보의 예를 도시한 도면이다. 도 2는 도 1을 통해 설명한 서명된 블록 체인의 마지막에 추가되는 새로운 블록(111)이 서명(141)된 거래 1(131)과 서명(142)된 거래 2(132)를 포함하며, 이러한 새로운 블록(111)이 서명자들(141, 142, 143)에 의해 서명(151, 152, 153)되어 있음을 나타내고 있다. 또한, 합병자(120) 역시 새로운 블록(111)에 서명(121)하였음을 나타내고 있다.2 is a diagram illustrating an example of information included in a new block added to a signed block chain according to one embodiment of the present invention. FIG. 2 includes transaction 1 131 with signature 141 and transaction 2 132 with signature 142 added to the end of the signed blockchain described with reference to FIG. Block 111 is signed 151, 152, 153 by signers 141, 142, 143. In addition, the merger 120 also indicates that a new block 111 has been signed 121.

4.2. PoP 네트워크에 노드로서의 참여 및 계좌 개설4.2. Participation as a node and opening an account in the PoP network

PoP 네트워크는 얼마나 많은 사람들이 블록을 지원하는지를 요구하기 때문에, 개인은 네트워크에 입장하기 전에 p2p 은행에 의해 실명으로 신원을 인증 받아야 한다. 사용자가 인증을 받으면, 스스로 고유의 공개 키(publickey)/비밀 키(private key) 쌍 및 가명(pseudonym)을 생성하고 p2p 은행으로부터 그 쌍에 대한 서명을 받는다. 그러므로, p2p 은행의 역할은 사용자를 인증하고 가명 및 공개 키 쌍에 대한 공개 키 인증서를 발행하는 것이다. 사용자는 이 모든 것을 전자 지갑에 저장하지만, p2p 은행에 의해 서명을 받은 공개 키 및 가명 쌍은 블록 체인에 등록되고 p2p 은행은 실명을 저장하며 공개 키 및 가명은 데이터베이스 내에 튜플(tuple)로 저장된다. 다수의 p2p 은행들에 의해 생성된 이 데이터베이스는 노드들을 구분하기 위하여 공유되어야 하거나 단일한 신뢰 당국에 의해 관리받을 수 있다. 여기서 당국의 역할이 실명 및 가명 쌍들의 관리에 제한되지만 거래 처리와는 관련이 없다. 공개 키는 필요하다면 장부 상에 새로운 공개 키 및 가명 쌍을 추가함으로써 업데이트될 수 있다. 유사하게, 가명은 데이터베이스 내에 재등록함으로써 업데이트될 수 있지만 체인지 로그도 관리되어야 한다.Because PoP networks require how many people support the block, an individual must be authenticated in real name by a p2p bank before entering the network. When the user is authenticated, he creates his own publickey / private key pair and pseudonym and gets the signature from the p2p bank. Therefore, the role of the p2p bank is to authenticate the user and issue public key certificates for aliases and public key pairs. The user stores all of this in the wallet, but the public key and alias pair signed by the p2p bank are registered on the blockchain, the p2p bank stores the real name, and the public key and alias are stored as tuples in the database. . This database, created by multiple p2p banks, must be shared to distinguish nodes or can be managed by a single trust authority. The role of the authorities here is limited to the management of the blind and pseudonym pairs, but not related to transaction processing. The public key can be updated by adding new public key and alias pairs on the book if necessary. Similarly, aliases can be updated by re-registering in the database, but change logs must also be maintained.

장부 상에 인증을 성공적으로 등록받은 사용자는 서명자, 합병자 및/또는 원한다면 소비자로서 역할을 할 수 있다.A user who has successfully registered an authentication on a book can serve as a signer, a consolidator and / or a consumer if desired.

4.3. p2p 은행에서의 거래 처리4.3. Transaction processing at p2p banks

도 1을 통해 설명한 바와 같이, 거래가 A에서 B로 발생할 때, 금액의 양, 날짜/시간, 거래 목적 및 그들의 ID들을 포함하는 거래 기록은 A 및 B의 개인 서명 키들을 이용하여 서명되고 A와 B 중 어느 하나에 의해 합병자들로 보내진다. 합병자들은 지갑 내에 프로파일된 합병자들 순위에 따라 송신자에 의해 선택된다. 이제, 거래 기록을 받은 합병자는 그 기록의 유효성을 검증하고, 일부 기록들을 합병함으로써 거래 블록을 만든다. 블록이 구성될 때, 합병자는 블록을 체인에 추가하기 위하여 가능한 빠르게 미리 정해진(그러나 주기적으로 조정되는) 수의 서명들을 수집한다. 서명자와 합병자는 오직 그들이 네트워크에 참여한 후에 생성된 블록에 대해서만 서명을 만들 수 있다. 블록에 대한 서명자들은 합병자에 의해 임의로 선택되지 않고, 종전 블록의 거래 기록들의 임의적(random)이어서 예측 불가능하지만 결정적(deterministic)이어서 입력에 따라 출력이 결정되는 함수의 출력 결과인 해시 값에 의해 선택될 수 있다. 일례로, 해시 값은 합병자들 각각에서 미리 설정된 해시 함수를 통해 생성할 수 있다. 이때, 종전 블록의 거래 기록들로부터 추출되는 정보를 파라미터로 갖는 해시 함수를 통해 그 결과값인 해시 값에 따라 서명자들이 선택될 수 있다. 그러므로 공격을 위해 서명 그룹을 변화시키기 위해서는, 종전 블록의 거래들을 변화시켜 그들의 해시 값이 공격자들의 서명자 그룹을 선택하도록 하는 것이 필요하다. 이때, 이미 설명한 바와 같이 종전 블록의 거래들을 변화시키기 위해서는 그 이전 블록의 거래들을 변화시켜야만 한다. 결과적으로, 한 블록의 서명 그룹을 변화시키는 것은 선행하는 모든 블록들 및 모든 후속 블록들의 모든 서명 그룹을 변화시키는 것과 관련된다.As described through FIG. 1, when a transaction occurs from A to B, the transaction record, including the amount of money, date / time, transaction purpose and their IDs, is signed using A and B's private signature keys and A and B Sent to the mergers by either. Mergers are selected by the sender according to the rank of the mergers profiled in the wallet. Now, the merger who receives the transaction record validates the record and merges some records to create a transaction block. When a block is constructed, the merger collects a predetermined (but periodically adjusted) number of signatures as soon as possible to add the block to the chain. Signers and mergers can only create signatures for blocks created after they join the network. The signers for a block are not chosen arbitrarily by the merger, but are chosen by a hash value that is the output of a function whose output is random because it is random and unpredictable but deterministic of the transaction records of the previous block. Can be. For example, the hash value may be generated through a hash function preset in each of the mergers. At this time, the signers may be selected according to the hash value as a result of the hash function having information extracted from the transaction records of the previous block as a parameter. Therefore, to change the signature group for an attack, it is necessary to change the transactions of the previous block so that their hash value selects the attacker's signer group. At this time, as described above, in order to change the transactions of the previous block, the transactions of the previous block must be changed. As a result, changing the signature group of one block involves changing all signature groups of all preceding blocks and all subsequent blocks.

도 3은 본 발명의 일실시예에 있어서, 종전 블록에 기반하여 새로운 블록을 위한 서명자들이 선택하는 예를 도시한 도면이다. 도 3은 도 1을 통해 설명한 새로운 블록(111)과 새로운 블록의 종전 블록(112)을 도시하고 있다. 이때, 종전 블록(112)은 거래 a(310), 거래 b(320) 및 거래 c(330)에 대한 정보를 포함할 수 있으며, 도 2를 통해 설명한 바와 유사하게 서명자들의 서명들, 그리고 합병자의 서명을 포함할 수 있다. 또한, 앞서 설명한 바와 같이, 종전 블록(112)은 종전 블록(112)의 이전 블록에 기반하여 생성된 이전 해시 값(340)을 포함할 수 있다.FIG. 3 is a diagram for one example of selecting signers for a new block based on a previous block according to one embodiment of the present invention. 3 illustrates the new block 111 and the previous block 112 of the new block described with reference to FIG. 1. In this case, the previous block 112 may include information about transaction a 310, transaction b 320 and transaction c 330, similar to those described with reference to FIG. It can include a signature. In addition, as described above, the previous block 112 may include a previous hash value 340 generated based on the previous block of the previous block 112.

합병자(일례로, 도 1을 통해 설명한 합병자(120))는 종전 블록(112)에 포함된 거래 a(310), 거래 b(320) 및 거래 c(330)에 대한 정보를 파라미터로 갖는 해시 함수(350)를 통해 새로운 블록(111)을 위한 해시 값을 생성할 수 있다. 새롭게 생성된 해시 값은 도 3에 도시된 이전 해시 값(360)과 같이 새로운 블록(111)에 포함될 수 있다. 한편, 합병자는 해시 함수(350)를 통해 생성된 해시 값에 기반하여 서명자들(370)을 선택할 수 있다. 예를 들어, 도 1의 서명자들(141, 142, 143)은 합병자(120)가 해시 값에 기반하여 계산된 서명자 ID들에 의해 선택될 수 있다.The merger (eg, the merger 120 described with reference to FIG. 1) has information about the transaction a 310, the transaction b 320 and the transaction c 330 included in the previous block 112 as parameters. The hash function 350 may generate a hash value for the new block 111. The newly generated hash value may be included in the new block 111 as in the previous hash value 360 shown in FIG. 3. Meanwhile, the merger may select the signers 370 based on the hash value generated through the hash function 350. For example, the signers 141, 142, 143 of FIG. 1 may be selected by the signer IDs that the merger 120 calculated based on the hash value.

이후에는 도 1을 통해 설명한 바와 같이, 합병자가 서명자들(370)에게 새로운 블록(111)을 보내어 서명자들(370)의 서명들(151, 152, 153)을 받아 합병할 수 있다. 이처럼 본 발명의 실시예들에 따른 PoP 네트워크 내 블록은 서명자들 및 합병자들에게 서명될 수 있으며, 서명자 그룹은 종전 블록의 거래에 대한 해시 값에 의해 강제될 수 있다.Thereafter, as described with reference to FIG. 1, the merger may send a new block 111 to the signers 370 to receive the signatures 151, 152, and 153 of the signers 370 and merge. As such, a block in a PoP network according to embodiments of the present invention may be signed to signers and mergers, and a group of signers may be forced by a hash value for the transaction of the previous block.

1) 거래는 합병자의 네트워크에 브로드캐스트되고 합병자들은 일부 거래량이 수집될 때까지 기다린다.1) Transactions are broadcast to the merger's network and the mergers wait until some transaction volume is collected.

2) 합병자는 거래들을 블록에 수집하고, 서명자 ID를 계산하고, 합병자의 서명자 관리목록에 등록된 서명자들 중에서 가장 가까운 ID를 갖는 서명자들을 찾고, 그 서명자들에게 블록을 보낸다.2) The merger collects transactions in the block, calculates the signer ID, finds the signers with the closest ID among the signers registered in the signer management list of the merger, and sends the block to the signers.

3) 서명자는 블록의 유효성을 확인하고, 블록 상의 서명을 통해 합병자에게 응답한다.3) The signer verifies the validity of the block and responds to the merger through the signature on the block.

4) 합병자는 블록 상의 일부 서명들을 얻을 때까지 기다리고, 성공적으로 얻는다면 블록에 서명하고 모든 합병자들에게 복수 서명된 블록을 브로드캐스팅한다.4) The merger waits until it gets some signatures on the block, and if successful, signs the block and broadcasts the multi-signed block to all mergers.

5) 합병자들은 블록이 유효하고 중복 지급되지 않을 때만 블록을 승인한다.5) Mergers approve a block only if the block is valid and not paid in duplicate.

6) 합병자들은 종전 해시로서 승인된 블록의 해시를 사용하여, 체인에 다음 블록을 생성하는 작업을 함으로써 블록 승인을 통지한다.6) Mergers use the hash of the approved block as the previous hash to notify block approval by working to create the next block in the chain.

서명자는 서명한 모든 블록 ID들을 보유해야 한다. 서명자는 아래와 같은 내용을 확인한 후에 블록에 대한 서명을 한다.The signer must hold all block IDs signed. The signer checks the following and signs the block.

- 블록 내 시간 스탬프는 분산된 네트워크 상의 시간 동기화 에러를 고려한 현재 시간과 매치되지 않으면, 당국에 보고하고 블록을 무시한다(예를 들어, 비트코인 네트워크에서, 블록은 타임 스탬프가 마지막 11개 블록의 중앙값보다 크면 유효한 것으로 승인된다).If the time stamp in the block does not match the current time considering the time synchronization error on the distributed network, it reports to the authority and ignores the block (e.g. in a Bitcoin network, the block has a time stamp of the last 11 blocks. Greater than the median is considered valid).

- 서명 요청이 서명자가 네트워크에 참여하기 전에 생성된 블록에 대한 것이라면 무시한다.Ignore if the signature request is for a block created before the signer joined the network.

- 요청이 마지막으로 서명된 블록이 완성되기 전에 생성된 블록에 대한 것이라면, 합병자로부터의 서명 요청은 자동적으로 거절될 것이다.If the request is for a block created before the last signed block is completed, the signing request from the merger will be automatically rejected.

- 요청이 이미 서명된 블록 상의 거래들에 대한 정보를 포함하는 또 다른 블록에 대한 것이라면, 서명자는 요청을 무시하고 합병자에게 이를 통지한다. 이 통지는 "당신은 늦었습니다. 거래는 이미 추가되었습니다."라는 메시지를 합병자에게 신속하게 알리는 효과가 있다.If the request is for another block containing information about transactions on a block that has already been signed, the signer ignores the request and notifies the merger. This notice has the effect of prompting the merger with the message "You are late. The transaction has already been added."

- 요청이 서명된 것과 일치하지 않는 거래를 포함하는 블록에 대한 것이라면, 해당 요청을 한 사용자를 네트워크 밖으로 쫓아내기 위하여 서명자는 당국에 보고하고 합병자 ID 및 송신자 ID를 네트워크에 브로드캐스팅한다. 이제, 이 공격자로부터의 모든 요청들은 무시될 것이다.If the request is for a block containing a transaction that does not match the signed one, the signer reports to the authorities and broadcasts the merger ID and sender ID to the network to drive the user who made the request out of the network. Now all requests from this attacker will be ignored.

서명자들은 거래 비용의 공평한 분배를 위해 합병자에 의하여 시간이 지나면 자격이 박탈될 수 있다.Signers may be disqualified over time by the merger to ensure an even distribution of transaction costs.

4.4. 다수의 투표자들을 갖는 포크4.4. Fork with multiple voters

블록이 체인(O)에 추가될 때, 새로운 체인(N)을 형성하기 위하여 결과를 전체적인 네트워크에 퍼뜨리는 데에는 수 초가 걸린다. 그러므로, 그 시간 동안, 또 다른 합병자는 또 다른 블록을 체인(O)에 추가하려고 할 수 있으며, 이는 또 다른 체인(N')을 만드는 체인 포킹을 유발한다. 체인 포킹은 명백히 해결되어야 하는 두 가지 버전의 장부가 존재하는 것을 의미한다. PoP 네트워크에서, 적절한 체인을 선택하는 것은 투표에 의해 수행된다. 둘 이상의 포크들이 주된 체인이 되기 위해 서로 경쟁할 때, 합병자들은 더 많이 누적된 수의 서명을 갖는 포크를 선택하며, 이는 더 많은 사람들이 체인을 지지한다는 것을 의미한다.When a block is added to chain O, it takes a few seconds to spread the result over the entire network to form a new chain N. Therefore, during that time, another merger may try to add another block to the chain O, which causes chain forking to make another chain N '. Chain forking means that there are two versions of books that must be resolved explicitly. In a PoP network, selecting the appropriate chain is done by voting. When two or more forks compete with each other to become the main chain, the mergers choose forks with a more accumulated number of signatures, which means that more people support the chain.

4.5. 승인 레벨4.5. Approval level

블록

Figure 112018021982544-pat00001
가 체인에 추가되고 다음 블록
Figure 112018021982544-pat00002
이 그 체인에 추가될 때
Figure 112018021982544-pat00003
는 네트워크로부터 하나의 승인을 받는다. 미리 결정된 수의 승인들이 있은 후, 블록은 영구적으로 체인에 추가되며, 이 영구적인 승인 후에는 또 다른 포킹 요청이 승인되지 않을 것이다. 그러므로, 합병자는 경합하는 포크 블록 체인들 중에서 최신의 영구적인 승인에 대한 가장 빠른 타임 스탬프를 갖는 하나를 선택해야 한다. 이는 최신의 영구적인 승인 이후의 시간 프레임 내로 포킹 논의를 제한시킨다.block
Figure 112018021982544-pat00001
Is added to the chain and the next block
Figure 112018021982544-pat00002
Is added to the chain
Figure 112018021982544-pat00003
Receives one approval from the network. After a predetermined number of grants, the block is permanently added to the chain and after this permanent grant another forking request will not be granted. Therefore, the consolidator must choose one of the competing fork blockchains with the earliest time stamp for the latest permanent approval. This limits the forking discussion into the time frame after the latest permanent approval.

처리량(throughput)을 향상시키기 위하여, 본 발명의 실시예들에서는 GHOST(Greedy Heaviest-Observed Sub-Tree)를 채택할 수 있다. 개념은 경합하는 브랜치를 제거하는 것이 아니라 브랜치가 포크되어 나오는 블록을 지원하도록 브랜치를 남기는 것이다. 이제 가장 긴 체인을 선택하는 대신에, 우리는 가장 큰 인구가 지원하는 가장 무거운 체인을 선택한다.In order to improve throughput, embodiments of the present invention may employ GHOST (Greedy Heaviest-Observed Sub-Tree). The idea is not to eliminate contending branches, but to leave branches to support the blocks from which the branches are forked. Now instead of choosing the longest chain, we choose the heaviest chain that the largest population supports.

4.6. 서명자 그룹 선택4.6. Select signer group

블록

Figure 112018021982544-pat00004
에 대한 서명자 그룹은 종전 블록들 상 거래 내용과, 서명 및 체인 해시가 제외된 서명자 그룹 내 서명자들의 리스트를 해시함으로써 선택된다. 즉, 리스트는
Figure 112018021982544-pat00005
에 의해 계산될 수 있으며, 여기서
Figure 112018021982544-pat00006
는 i번째 블록 상의 거래 및 서명자 리스트들이며, t(≥1)는 최종 임계 값이다. 서명 그룹의 이러한 소급성 및 적용되지만 예측 불가능한 선택은 장부의 훼손을 더 어렵게 만든다.block
Figure 112018021982544-pat00004
The signer group for is selected by hashing the transaction content on the previous blocks and the list of signers in the signer group, excluding the signature and chain hash. In other words, the list is
Figure 112018021982544-pat00005
Can be calculated where
Figure 112018021982544-pat00006
Is the transaction and signer lists on the i-th block, and t (≥1) is the final threshold. This traceability of the signature group and the applied but unpredictable choice makes it more difficult to damage the books.

4.7. 해밍 거리(Hamming distance) 내 가장 가까운 서명자 ID4.7. Nearest signer ID in Hamming distance

서명자가 아직 참여하지 않았거나 ID를 갖는 서명자가 활성화되지 않았을 수 있기 때문에 해시 값에 의해 선택된 서명자 ID는 유효하지 않을 수 있다. 이러한 경우, 해밍 거리 내 가장 가까운 ID가 선택될 것이고 가장 긴 체인을 선택하는 스코어는 아래 수학식 1과 같이 계산될 수 있다.The signer ID selected by the hash value may not be valid because the signer has not yet joined or the signer with the ID may not be activated. In this case, the closest ID in the hamming distance will be selected and the score for selecting the longest chain can be calculated as in Equation 1 below.

Figure 112018021982544-pat00007
Figure 112018021982544-pat00007

여기서

Figure 112018021982544-pat00008
는 블록
Figure 112018021982544-pat00009
내 서명자들의 수이고, 128은 ID의 비트 길이의 예일 수 있고,
Figure 112018021982544-pat00010
는 j번째 서명자와 해시 출력 간의 해밍 거리이다.here
Figure 112018021982544-pat00008
Block
Figure 112018021982544-pat00009
My number of signers, 128 could be an example of the bit length of the ID,
Figure 112018021982544-pat00010
Is the hamming distance between the j th signer and the hash output.

4.8. 난이도 조절: 서명자들의 수4.8. Difficulty adjustment: number of signers

새로운 서명자들은 합병자들을 통해 네트워크에 참여하고, 그들은 다음 블록으로부터 서명 처리에 참여한다. S는 블록에 서명하기 위한 서명자들의 수이다. 매 2초는 S개의 서명을 수집하기 위한 기준점이다. 이는 1,800개의 블록 생성 시간을 측정함으로써 계산되고, 그 수는 블록에 기록된다. S개의 서명을 모으기에는 너무 느리다면, 최소인 S(예를 들어, 5)만 보안 목적을 위해 유지된다.New signers join the network through mergers, and they participate in the signature processing from the next block. S is the number of signers to sign the block. Every two seconds, a reference point for collecting signatures S. This is calculated by measuring 1,800 block creation times, the number of which is recorded in blocks. If it is too slow to collect S signatures, only the minimum S (e.g., 5) is retained for security purposes.

5. 보안5. Security

5.1. 블록 위조5.1. Block forging

블록을 위조하기 위하여, 공격자는 두 가지 선택을 할 수 있다. 하나는 블록 내 서명들을 위조하는 것인데, 이는 서명의 EUF-CMA 보안성에 의해 실행 불가능하다. 암호 서명을 파괴하는 대신에, 블록의 서명 그룹을 매수할 수 있다. 이 방법은 서명자 그룹을 교체시키고 그들 소유 서명자 그룹의 서명들을 넣는 것이다.To forge a block, the attacker has two choices. One is to forge signatures in the block, which is not feasible by the EUF-CMA security of the signature. Instead of destroying the cryptographic signature, one can buy the signature group of the block. This method replaces the signer group and puts the signatures of their own signer group.

5.1.1. 서명자 그룹 교체5.1.1. Replace signer group

공격자가

Figure 112018021982544-pat00011
를 얻기 위하여 한 블록
Figure 112018021982544-pat00012
내 거래를 변형할 때, 서명자 그룹에 의해 서명된
Figure 112018021982544-pat00013
를 얻어야 한다. 서명을 위조하지 않으려면 (암호학적으로 불가능하므로), 서명자 그룹을 교체시켜야 한다. 이에 대해, 서명자 그룹은
Figure 112018021982544-pat00014
의 기록들에 의해 결정되기 때문에, 종전 블록
Figure 112018021982544-pat00015
의 거래 기록들은
Figure 112018021982544-pat00016
로 변형되어야 한다. 이는 결국 변형된 블록
Figure 112018021982544-pat00017
의 재서명과 관련된다. 블록
Figure 112018021982544-pat00018
의 서명자 그룹은 그들이 이미 시간 프레임 내에 서명되었기 때문에
Figure 112018021982544-pat00019
에 재서명하지 않을 것이고, 이에 따라
Figure 112018021982544-pat00020
에 대한 서명자 그룹은 변화되어야 한다. 결과적으로, 블록
Figure 112018021982544-pat00021
의 변형은
Figure 112018021982544-pat00022
,
Figure 112018021982544-pat00023
, …,
Figure 112018021982544-pat00024
의 역행 회귀 변형과 관련된다. 또한,
Figure 112018021982544-pat00025
내 거래를 변화시킴으로써,
Figure 112018021982544-pat00026
내 저장된 체인 해시 및
Figure 112018021982544-pat00027
의 서명자 그룹 모두가 변화된다. 결과적으로, 하나의 블록을 변화시키는 것은 순행 및 역행 체인 모두의 변형과 관련된다.Attacker
Figure 112018021982544-pat00011
One block to get
Figure 112018021982544-pat00012
When transforming my transaction, signed by a group of signers
Figure 112018021982544-pat00013
You should get To avoid forging signatures (since cryptographically impossible), the group of signers must be replaced. In this regard, the group of signers
Figure 112018021982544-pat00014
The previous block, as determined by the records of
Figure 112018021982544-pat00015
Transaction records
Figure 112018021982544-pat00016
It should be transformed into. Which in turn transforms the block
Figure 112018021982544-pat00017
It is related to the resignation of. block
Figure 112018021982544-pat00018
The signer group of is because they are already signed within the time frame
Figure 112018021982544-pat00019
Will not resign to
Figure 112018021982544-pat00020
The signer group for must be changed. As a result, the block
Figure 112018021982544-pat00021
Variation of
Figure 112018021982544-pat00022
,
Figure 112018021982544-pat00023
,… ,
Figure 112018021982544-pat00024
Is associated with the retrograde regression of. Also,
Figure 112018021982544-pat00025
By changing my deal,
Figure 112018021982544-pat00026
My saved chain hash and
Figure 112018021982544-pat00027
All of the signer groups in are changed. As a result, changing one block involves the modification of both the forward and backward chains.

도 4는 본 발명의 일실시예에 따른 p2p 장부가 블록 위조(forking a block)에 대한 보호되는 예를 도시한 도면이다. 도 4는 서명된 블록 체인의 일부로서, 블록 Bi-1(411), 타겟 블록 Bi(412) 및 블록 Bi+1(413)을 나타내고 있으며, 타겟 블록 Bi(412)가 서명자 그룹 a(421)에 의해 서명되었고, 블록 Bi+1(413)가 서명자 그룹 b(422)에 의해 서명되는 경우를 나타내고 있다.4 is a diagram illustrating an example in which a p2p book is protected against a forking a block according to an embodiment of the present invention. 4 shows a block Bi-1 411, a target block Bi 412, and a block Bi + 1 413 as part of a signed blockchain, where the target block Bi 412 is the signer group a 421. Is signed, and block Bi + 1 413 is signed by signer group b 422.

이때, 타겟 블록 Bi(412)가 승인되기 이전에 위조자가 위조 블록 Bi'(431)에 대한 승인을 받고자 하는 경우를 고려할 수 있다. 이미 설명한 바와 같이 서명자 그룹 a(421)는 블록 Bi-1(411)의 거래에 대한 해시 값에 기반하여 선택되기 때문에 위조자는 다른 서명자 그룹을 활용하여 위조 블록 Bi'(431)에 대한 서명을 받기 위해서는 블록 Bi-1(411)의 거래 내용을 위조해야 한다. 이는 위조자에게 블록 Bi-1(411)의 이전 블록들을 순차적으로 모두 위조해야 할 것을 요구한다.At this time, a case in which the counterfeiter wants to receive approval for the counterfeit block Bi '431 before the target block Bi 412 is approved may be considered. As already explained, the signer group a 421 is selected based on the hash value for the transaction of the block Bi-1 411, so that the forger uses a different signer group to obtain a signature for the forged block Bi '431. In order to forge the transaction content of block Bi-1 (411). This requires the forger to sequentially forge all previous blocks of block Bi-1 411.

또한, 위조자는 서명자들에 대한 공모를 시도할 수 있다. 그러나, 위조자가 공모자들을 모으기 위해서는 공개적으로 광고를 해야 한다는 부담이 있으며, 다음의 위조 블록 Bi+1'(432)에 서명을 받기 위한 서명자들이 위조 블록 Bi'(431)의 거래 내용에 의해 선택되기 때문에, 위조 블록 Bi+1'(432)를 위해 선택되는 서명자 그룹은 도 4에 도시된 바와 같이 서명자 그룹 x(441)로서 정상적인 블록 Bi+1(413)의 서명자 그룹 b(422)과 달라지게 된다. 다시 말해, 다음 위조 블록 Bi+1'(432) 뿐만 아니라, 이후에 새롭게 추가되어야 할 위조자의 모든 위조 블록들은 중복 서명에 의해 다수의 합병자들이 시도하는 정상적인 블록들과 지속적으로 경쟁해야만 하며, 이러한 경쟁은 서명된 블록 체인의 마지막 블록에 대해서까지 반복되어야만 한다.Forgers can also attempt to conspiracy against signers. However, the counterfeiter has a burden of public advertising in order to collect conspirators, and the signers for signing the following counterfeit block Bi + 1'432 are selected by the transaction contents of the counterfeit block Bi'431. Therefore, the signer group selected for the counterfeit block Bi + 1 '432 is different from the signer group b 422 of the normal block Bi + 1 413 as the signer group x 441 as shown in FIG. do. In other words, not only the next counterfeit block Bi + 1 '432, but all the counterfeit blocks of the counterfeiter to be added afterwards must continually compete with the normal blocks attempted by multiple consolidators by duplicate signatures. The race must be repeated for the last block of the signed blockchain.

5.1.2. 매수로 훼손되거나 도난 키로 협상된 서명자 그룹5.1.2. A group of signers compromised by bribery or negotiated with theft keys

블록을 위조하기 위하여 서명자 그룹을 매수하거나 키를 훔침으로써, 공격할 수 있다. 이렇게 하면, 현재 블록

Figure 112018021982544-pat00028
에 대한 서명자 그룹이 변화되지 않아서 정확하지만 매수된 서명자 그룹에 의한 유효한 서명들이 부가되기 때문에, 공격자는 종전 블록들을 변화시킬 필요가 없다. 공격자는 오직 순행 위조에 대해서만 관심이 있다. 거래들 및 대응하는 서명들의 변화에 의해, 다음 블록
Figure 112018021982544-pat00029
에 대한 서명자 그룹 및 체인 해시 값은 실제 체인 상의 블록의 것들과는 본질적으로 매치되지 않는다. 그러므로, 공격자는 블록
Figure 112018021982544-pat00030
에 서명하기 위하여 새로운 서명자 그룹을 다시 매수하거나 협상해야만 한다. 이제, 변형된 블록
Figure 112018021982544-pat00031
는 다른 서명자 그룹, 다른 체인 해시를 갖지만 같은 거래들을 가지며, 이는 다른 서명을 유발한다.
Figure 112018021982544-pat00032
에 대해, 블록에 서명한 서명자 그룹은 공격자들에게 매수되어야 하고, 이는 체인의 마지막 블록까지 반복된다. 확정 투표로 되돌아가기 위한 매수된 서명자들의 요구되는 수는 너무 커서 위조된 거래량에 의해 보상되지 않는다.You can attack by buying a group of signers or stealing keys to forge blocks. This way, the current block
Figure 112018021982544-pat00028
The attacker does not need to change the previous blocks because the signer group for is not changed so that valid but bought signatures by the signer group are added. The attacker only cares about forgery. The next block, due to changes in transactions and corresponding signatures
Figure 112018021982544-pat00029
The signer group and chain hash values for do not essentially match those of the block on the actual chain. Therefore, the attacker blocks
Figure 112018021982544-pat00030
The new signer group must be bought back or negotiated in order to sign. Now, the transformed block
Figure 112018021982544-pat00031
Has different signer groups, different chain hashes, but the same transactions, resulting in different signatures.
Figure 112018021982544-pat00032
For, the signer group that signed the block must be bought by attackers, which is repeated until the last block in the chain. The required number of bought signers to return to the confirmation ballot is too large to be compensated by the forged trade volume.

5.2. 보안 경제, 포상금 및 벌금5.2. Security economy, rewards and fines

공격자들이 장부 위조에 참여하지 않도록 하는 다수의 장치가 있다.There are a number of devices that prevent attackers from participating in forgery.

가장 중요한 첫 번째 장치는, 완전 추적 가능한 실명 기반 장부이다. 가장 강력한 동기는 모든 노드가 이미 실명 인증되었고 장부 상 모든 거래가 완전히 추적 가능하다는 사실로부터 온다. 그러므로, 네트워크 내 노드들은 범죄가 완벽히 추적 가능하고 색출될 가능성이 높다는 것을 충분히 안다.The first and most important device is a fully traceable blindness-based ledger. The strongest motivation comes from the fact that all nodes have already been authenticated blind and that all transactions on the books are fully traceable. Therefore, nodes in the network know enough that the crime is perfectly traceable and likely to be discovered.

두 번째 장치는, 비공개 포크가 불가능해서, 포킹을 위해서는 공개 광고가 불가피하다는 점이다. PoW 네트워크에서, 채굴자는 실제 체인(honest chain)을 치환하기 위하여 비공개 포크를 배포할 때까지 다른 채굴자들보다 빠르게 PoW를 계산함으로써 이중 지급에 대한 포크를 비밀리에 만들 수 있다. 그러나, PoP 네트워크에서, 포킹 체인을 만드는 것은 R개의 서명자 그룹이 약 RХS개(대략 200 서명자 또는 더 정확하게

Figure 112018021982544-pat00033
)의 공모를 해야만 하기 때문에, 블록을 위조하는 합병자는 비공개 포킹을 할 수 없다. 그러나, 위조 합병자에 의해 제안받은 서명자들 중 적어도 하나는 블록이 이미 높은 확률로 완성되었다는 것을 알아야 한다(블록은 네트워크 거리의 시간 이후에 완성된다). 그러므로, 임의의 서명자는 당국에 이중 지급 시도를 신고할 것이다.The second device is that private forks are impossible, so public advertising is inevitable for forking. In a PoW network, miners can secretly make forks for double payments by calculating PoW faster than other miners until they deploy a private fork to replace the actual chain. However, in the PoP network, creating a forking chain R group of signers approximately R Х S two (or more accurately approximately 200 signatories
Figure 112018021982544-pat00033
The consolidator who forges the block will not be able to fork privately, since it must conspire. However, at least one of the signers proposed by the counterfeit merger should know that the block has already been completed with a high probability (the block is completed after the time of the network distance). Therefore, any signer will report a double payment attempt to the authority.

세 번째 장치는, 각 공모 서명자에게 주어지는 인센티브가 거래 비용보다 적다는 점이다. F%를 거래 비용 부분으로, TA를 블록 당 최대량 한도라고 하자. 또한, 단일한 거래는 TAM% 미만으로 제한된다. 또한,

Figure 112018021982544-pat00034
R을 각각 블록에 대한 서명자 그룹 사이즈 및 확정을 위한 블록의 수라고 하자. 서명자들의 수
Figure 112018021982544-pat00035
는 네트워크 속도에 의해 결정되고, R은 네트워크 거리에 의해 결정된다. 명료성을 위하여, S를 한 블록에 대한 서명자들의 평균 수라고 가정하자. 이때, 공격자를 위한 최고의 시나리오는 막 확정된 블록을 위조하는 것이고 이는 블록들의 최소 개수만 재서명될 필요가 있기 때문이다. 공격자는 블록을 위조해서 화폐 소비에 대한 자신의 거래가 제거되도록 한다. 위조된 블록은 공격자의 이중 지급에 대해 M
Figure 112018021982544-pat00036
Figure 112018021982544-pat00037
TA 개의 거래를 잃고, 따라서 M
Figure 112018021982544-pat00038
Figure 112018021982544-pat00039
F
Figure 112018021982544-pat00040
Figure 112018021982544-pat00041
TA는 위조된 블록의 공모 서명자들에게 보상되어야 한다. 다음 블록에 대한 서명자 그룹은 이제 새로운 그룹으로 변화하고, 그들은 다음 블록을 위조된 것에 서명해야 한다. 거래들은 변화하지 않기 때문에 후속 블록들은 같은 서명자 그룹들에 의해 서명되고, 그들은 새로운 서명으로부터 추가 수입을 얻지 않는다. 이제, 후속 블록들에 대한 공모 서명자들은 중복 서명 행위라는 것을 알면서 같은 블록에 또 다시 서명하라는 요청을 받는다. 이때, 공모 서명자들은 공모에 참여할지 말지 선택해야 한다. 공모 서명자들은 두 가지를 고려한다. 하나는 네트워크 노드들에 의해 이중 서명 행위로 당국에 신고될 가능성이 높다는 점이다. 다른 하나는 공모 서명자들이 이중 서명 행위가 거래 비용을 얻을 기회를 잃게 만들 수 있다는 점을 공모 서명자들이 알고 있다는 것이다. 이는 공모 서명자들이 서명한 종전 체인이 공모 서명자들이 공모하려는 후속 체인보다 거래 비용을 벌어들일 더 많은 가능성을 갖기 때문이다. 요약하면, 공모 서명자가 얻을 수 있는 지분은,
Figure 112018021982544-pat00042
와 같이 계산될 수 있으며, 거래 비용은
Figure 112018021982544-pat00043
와 같이 얻어질 수 있다.The third device is that the incentives given to each competition signer are less than the transaction cost. Let F % be the transaction cost and TA is the maximum limit per block. In addition, a single transaction is limited to less than M % of TA . Also,
Figure 112018021982544-pat00034
Let and R be the signer group size for the block and the number of blocks for confirmation, respectively. Number of signers
Figure 112018021982544-pat00035
Is determined by the network speed, and R is determined by the network distance. For clarity, suppose S is the average number of signers for a block. At this point, the best scenario for an attacker is to forge a block that has just been established because only the minimum number of blocks needs to be re-signed. The attacker falsifies the block so that his trade in money consumption is eliminated. The forged block is M for the attacker's double payment
Figure 112018021982544-pat00036
Figure 112018021982544-pat00037
Lose TA transactions, thus M
Figure 112018021982544-pat00038
Figure 112018021982544-pat00039
F
Figure 112018021982544-pat00040
Figure 112018021982544-pat00041
The TA must be rewarded to the competition signers of the forged block. The signer group for the next block now changes to the new group, and they must sign the next block forged. Since the transactions do not change, subsequent blocks are signed by the same signer groups, and they do not get additional income from the new signature. Now, collusion signers for subsequent blocks are asked to sign the same block again, knowing that it is a duplicate signing action. At this time, contest signers must choose whether or not to participate in the contest. Competition signers consider two things. One is that network nodes are likely to be notified to the authorities for double signing. The other is that the competition signers know that the signing of the competition can lead to the loss of the opportunity to obtain a transaction cost. This is because previous chains signed by competition signers have a greater chance of earning transaction costs than subsequent chains. In summary, the stake that can be obtained by the signatory of the competition,
Figure 112018021982544-pat00042
Can be calculated as
Figure 112018021982544-pat00043
Can be obtained as

그러므로, 서명자는

Figure 112018021982544-pat00044
Figure 112018021982544-pat00045
와 비교할 것이다. 간단한 대수에 의해,
Figure 112018021982544-pat00046
가 얻어질 수 있다. 즉, F
Figure 112018021982544-pat00047
이상일 때, 서명자는 공모에 참여하지 않고, 정직하게 행동할 것이다. M = 10%이고, R = 10으로 설정한다면, F를 1% 미만으로 설정할 수 있다. 이는 블록 상 단일한 거래의 최대 부분이 10%로 제한되고, 그 블록을 포함하는 10개의 블록이 더해진 후에 하나의 블록이 확인된다면, 거래 비용 1%가 공모 공격을 방지하기에 충분하다는 것을 의미한다.Therefore, the signer
Figure 112018021982544-pat00044
To
Figure 112018021982544-pat00045
Will be compared with By simple algebra,
Figure 112018021982544-pat00046
Can be obtained. That is, F
Figure 112018021982544-pat00047
In this case, the signer will not participate in the contest and will act honestly. If M = 10% and R = 10, then F can be set to less than 1%. This means that if the maximum portion of a single transaction on a block is limited to 10% and one block is identified after the 10 blocks containing that block have been added, then 1% of the transaction cost is sufficient to prevent collusion attacks. .

네 번째 장치로, 포상금 및 벌금을 고려할 수 있다. 네트워크를 보호하기 위하여, 본 발명의 실시예들에서는 이중 지급자의 신고자에게 주어지는 포상금 및 공격자에 대한 벌금을 도입할 수 있다. 공개적으로 광고되어야 하고 공모하기 위하여 서명자들을 모집해야 한다는 점을 고려할 때 위조에 의한 이익보다 벌금이 크다면, 잠재적인 공격자는 거의 장부를 위조하려고 하지 않을 것이다. 불법 위조에 공모할 때 얻을 수 있는 지분보다 포상금이 더 높게 설정되기 때문에 임의의 서명자는 이중 지급자를 보고할 가능성이 더 높다. 이를 위해, 포상금 및 벌금은

Figure 112018021982544-pat00048
보다 높게 설정되어야 한다.As a fourth device, rewards and fines can be considered. In order to protect the network, embodiments of the present invention may introduce a penalty to the notifier of the double payer and a penalty for the attacker. Given that it must be publicly advertised and recruit signers to conspiracy, if the fines are greater than the benefits of forgery, a potential attacker will rarely try to forge a book. Any signer is more likely to report a double payer because the reward is set higher than the equity that can be obtained when conspiring against illegal counterfeiting. To this end, rewards and fines
Figure 112018021982544-pat00048
Should be set higher.

마지막 장치를 위해, 공격에 의해 주어진 인센티브는 최대 거래 값(예를 들어, 블록 내 총합의 10%)을 설정하는 시스템 정책에 의해 제한될 수 있다. 거래의 가격이 높다면, 거래는 공격을 방해하기 위하여 많은 소규모 거래들로 분리시켜야 한다. 이렇게 함으로써, 공모자들이 얻는 최대 이익은 제한된다. 각 블록에 대해 TA를 작게 설정함으로써, 공격자들의 인센티브를 작게 한다. 예를 들어, TA를 USD 10,000으로, S를 10으로 각각 설정한다면, R = 10, M = 10% 및 F = 1%를 고려할 때, 각 공모자들에 대한 최대 이익은 단지 USD 9.9이다. USD 9.9는 완전 추적 가능한 네트워크 내에서 범죄에 가담할 정도로 충분하지는 않을 것이다.For the last device, the incentive given by the attack can be limited by a system policy that sets the maximum transaction value (eg, 10% of the total in the block). If the price of a transaction is high, the transaction must be broken up into many smaller transactions to prevent attacks. In doing so, the maximum profits of the conspirators are limited. By setting the TA small for each block, the incentives for attackers are reduced. For example, if you set TA to USD 10,000 and S to 10, respectively, considering R = 10, M = 10% and F = 1%, the maximum profit for each conspirator is only USD 9.9. USD 9.9 will not be enough to engage in crime within a fully traceable network.

이처럼 블록 위조는 위조자가 공모자들을 모으기 위하여 공개적으로 광고해야 하고, 지분은 비용, 포상금 및 벌금에 비해 적기 때문에 유인이 적어진다.As such, block counterfeiting must be publicly advertised by counterfeiters to attract conspirators and less incentives because equity is less than costs, rewards and fines.

6. 기타6. Other

6.1. 로컬 블록 체인들 및 보간(interpolation)에 의한 크기 확장가능성6.1. Size scalability by local blockchains and interpolation

PoP 체인의 확장가능성에 대해, 모든 영역 범위(regional area)는 자체의 로컬 블록 체인을 갖는다. 영역 내에서 발생하는 모든 거래들은 전술한 바와 같이 처리된다. 반면, 거래가 두 로컬 블록 체인들 사이에서 발생하는 경우를 고려할 수 있다. 예를 들어, 올랜도(Orlando)에 있는 로컬 체인 상의 A(이하, 'A@Orlando')가 페어팩스(Fairfax)에 있는 로컬 체인 상의 B(이하, 'B@Fairfax)에게로 USD 5를 보내길 원하는 경우를 고려할 수 있다. "A@Orlando가 B@Fairfax에 USD 5를 보낸다"는 거래는 잔액을 확인함으로써 처음으로 검증되고 페어팩스(Fairfax)에 있는 로컬 체인 상에서 처리될 수 있다. 그러므로, 더 많은 합병자들 및 서명자들과 관련되기 때문에 거래 간 비용은 로컬 내부의 거래 처리 비용보다 높을 것이다. B@Fairfax가 보스턴(Boston)에 있는 로컬 체인 상의 C(이하, 'C@Boston')에 얼마의 금액을 보내길 원할 때, B@Fairfax의 잔액은 페어팩스(Fairfax)에 있는 로컬 체인 상에서 처음 유효화될 수 있다.For the scalability of the PoP chain, every regional area has its own local blockchain. All transactions occurring within the area are processed as described above. On the other hand, we can consider the case where a transaction occurs between two local blockchains. For example, if A (hereinafter 'A @ Orlando') on a local chain in Orlando wants to send USD 5 to B (hereafter 'B @ Fairfax) on a local chain in Fairfax May be considered. The transaction "A @ Orlando sends USD 5 to B @ Fairfax" can be verified for the first time by checking the balance and processed on the local chain at Fairfax. Therefore, the cost between transactions will be higher than the cost of processing transactions internally as it involves more mergers and signers. When B @ Fairfax wants to send some money to C ('C @ Boston') on the local chain in Boston, the balance of B @ Fairfax will be first validated on the local chain in Fairfax. Can be.

체인의 지역화(localization) 및 체인 간 상호 조작성(interoperability)은 크기와 속도 관점에서 장부가 관리 가능하도록 한다. 하나의 로컬 체인은 거래 규모 때문에 거래 처리는 지연되지 않고, 장부의 크기는 빠르게 증가하지 않으며, 오직 지역에서 발생하는 거래 기록들을 가지고 있다. 심지어 장부들을 작게 유지하면서, 상호 조작성에 의해 체인들 간 거래가 가능하다.Localization of chains and interoperability between chains makes the books manageable in terms of size and speed. One local chain does not delay transaction processing because of the size of the transaction, the size of the book does not increase rapidly, and only has local transaction records. Even keeping the books small, interoperability allows transactions between chains.

6.2. 모든 잔액을 새로운 체인으로 이동시키는 시간 확장가능성6.2. Time scalability to move all balances to new chain

체인들 간의 상호 조작성에 의해, 본 발명의 실시예들에 따른 시스템은 시간 확장이 가능해질 수 있다. 새로운 체인이 생성되고, 이는 오래된 체인을 사용하지 않도록 광고될 수 있으며, 오래된 체인 상의 모든 잔액들은 새로운 체인으로 이동될 수 있다. 이때, 오래된 체인은 피어들의 저장소(전체 노드들)에서 보관될 수 있다. 모든 잔액들이 새로운 체인으로 이동하지 않고 이후에 오래된 체인 상 거래 요청이 발생한다면, 보관된 체인은 여전히 새로운 체인으로 이동하는 데 사용될 수 있다.By interoperability between the chains, the system according to embodiments of the present invention can be extended in time. A new chain is created, which can be advertised not to use the old chain, and all balances on the old chain can be transferred to the new chain. At this time, the old chain may be kept in the repository of peers (full nodes). If all balances do not move to the new chain and later a transaction request on the old chain occurs, the archived chain can still be used to move to the new chain.

6.3. 금액에 대한 프라이버시6.3. Privacy on amount

다수의 주소들은 추적을 어렵게 하기 위하여 금액에 대한 프라이버시 기술이 거래들을 분리시키는 데 사용될 수 있다.Multiple addresses can be used to separate transactions by privacy techniques for amounts to make tracking difficult.

6.4. 잔액 기반 장부6.4. Balance based ledger

거래 기록들 뿐만 아니라 각 계좌의 잔액은 계좌 잔액 확인을 더 빠르게 만들기 위해 장부 내에 저장될 수 있다.The balance of each account as well as the transaction records can be stored in the book to make account balance confirmation faster.

6.5. 블록 체인 상의 영수증6.5. Receipt on blockchain

오직 재산 이동 정보를 저장하는 대신에, 우리는 매수할 수 없는 온라인 영수증을 체인 상에 실현하는 것이 가능하도록 문맥 정보를 저장할 수 있다. 장부의 저장소를 절약하고 더 나은 프라이버시 보호를 위해, 오직 거래의 해시 값은 장부에 저장되지만 고유 거래 정보는 은행에 의해 별도로 저장된다.Instead of storing only property movement information, we can store contextual information to make it possible to realize on the chain an unacceptable online receipt. To save the storage of the ledger and to better protect the privacy, only the hash value of the transaction is stored in the book but the unique transaction information is stored separately by the bank.

6.6. 종래 은행과의 거래6.6. Transaction with conventional bank

소비자들이 종래 은행 계좌(T)에서 우리의 p2p 은행 계좌(P)로 소정의 금액을 이체할 때, T 내의 잔액은 줄어들고 T에서 P로의 이체를 나타내는 거래는 생성된다. 거래를 포함하는 블록이 성공적으로 블록 체인에 연결될 때, 거래 처리는 완료된다. P에서 T로의 거래는 양 쪽 계좌 내 잔액들을 조정함으로써 유사하게 처리될 수 있다.When consumers transfer a certain amount of money from a conventional bank account (T) to our p2p bank account (P), the balance in T is reduced and a transaction is created indicating the transfer from T to P. When the block containing the transaction is successfully connected to the blockchain, the transaction processing is completed. Transactions from P to T can be handled similarly by adjusting the balances in both accounts.

6.7. 국제 송금6.7. International money transfer

분명히 한 국가 내 한 체인에 있는 계좌로부터 다른 국가의 체인으로 돈을 국제적으로 송금하는 것은 가능하다. 환율을 적용함으로써, 출처 체인에 우선 거래를 기록하고 로컬 체인 상호 조작 절차를 사용하여 목적지 체인에 기록하는 것은 국제 송금을 완성시킨다.Clearly, it is possible to transfer money internationally from an account in one chain to one in another. By applying exchange rates, recording preferred transactions in the source chain and recording them in the destination chain using local chain interaction procedures completes international remittances.

7. 현존하는 암호화폐 기술들과의 차이점7. Differences from existing cryptocurrency technologies

7.1. 완전 추적 가능한 실명 온라인 금융 플랫폼7.1. Fully traceable real name online financial platform

본 발명의 실시예들에 따른 블록 체인은 실명으로 신원 확인된 사용자들(노드들)에 의해 실행되고 사용되며, 따라서 가명 및 실명 매핑 테이블이 주어질 때 모든 거래는 추적 가능하다. 이는 조세 회피, 자금 세탁에 대한 정부의 고민을 해소시킴으로써 장부의 발전을 용이하게 할 것이다.The blockchain according to embodiments of the present invention is executed and used by users (nodes) identified with real names, so all transactions are traceable when given a pseudonym and real name mapping table. This will ease the development of books by resolving government concerns about tax avoidance and money laundering.

7.2. 진정한 탈중앙화7.2. True decentralization

한 명의 사용자가 하나의 투표를 할 수 있다는 점에서 PoW 및 PoS와 비교할 때 더 민주적이다. PoW 또는 PoS를 사용하는 익명의 네트워크에서, 큰 컴퓨팅 능력 소유자 또는 고-지분 소유자는 다른 이들보다 더 많이 투표할 수 있다. 이런 관점에서 보다 민주적이라는 것은 많은 것을 의미한다. 예를 들어, 보다 민주적이라는 것은 네트워크의 더 나은 보안, 공평성 및 민주적 제어를 의미할 수 있다. 현재 PoW/PoS 네트워크들은 탈중앙화가 요구되지만 그들은 사실 높은 해시 능력 그룹들, 큰 암호화폐 거래소들 및 개발자들에 의해 중앙화된다. 반면, 본 발명의 실시예들에 따른 PoP는 암호화폐, PoW, PoS가 아닌 탈중앙화를 제공할 수 있다.It is more democratic compared to PoW and PoS in that one user can cast one vote. In anonymous networks using PoW or PoS, large computing power owners or high- stake owners can vote more than others. More democratic in this sense means a lot. For example, being more democratic can mean better security, fairness and democratic control of the network. Currently PoW / PoS networks require decentralization but they are actually centralized by high hash capability groups, large cryptocurrency exchanges and developers. On the other hand, PoP according to embodiments of the present invention can provide decentralization rather than cryptocurrency, PoW, PoS.

7.3. 또한, PoP는 역행 또는 순행 위조 가능성에 의한 더 높은 보안성을 제공할 수 있다.7.3. In addition, PoP can provide higher security with the possibility of retrograde or forged counterfeiting.

7.4. 높은 거래 처리 속도7.4. High transaction processing speed

거래 처리량 및 에너지 소모의 관점에서, PoP는 PoW보다 낫다. 이는 PoP가 거래 처리를 위해 어떠한 거대한 계산도 유발하지 않기 때문이다. 결국, PoP 네트워크는 더 빠른 처리 속도 크기의 순서로 인해 PoW 네트워크에 비해 더 확장성이 있다. 현재 비트코인 네트워크의 처리 속도는 겨우 7 TPS(Transactions Per Second)이다.In terms of transaction throughput and energy consumption, PoP is better than PoW. This is because PoP does not cause any huge calculations for transaction processing. As a result, PoP networks are more scalable than PoW networks because of the order of magnitude of the faster processing speed. At present, the processing speed of Bitcoin network is only 7 Transactions Per Second (TPS).

7.5. 실물화폐에 대한 프로토콜7.5. Protocol for real money

현재 암호화폐 네트워크에서, 보상은 네트워크 내의 암호화폐로 주어지고, 거래는 오직 암호화폐로 된다. 네트워크 내부의 이러한 재귀적인 사용은 암호화폐와 현실 세계의 가치 간의 분리를 유발한다. 그것은 암호화폐의 현실세계 가치에 대해 어떠한 기준도 제공하지 않으나, 암호화폐의 자산 가치를 불안정하게 만든다. 실물화폐(예를 들어, USD)와 암호화폐 사이를 얽는 가치는 오직 암호화폐 거래소 시장에서 발생한다. 그 곳들이 오직 암호화폐의 시장 가치가 결정되고 그 가치에 대한 어떠한 기준(또는 앵커)도 없는 장소들이기 때문에 현재 거래 시장에서의 문제들이 발생한다. 거래소에서의 불안정성 및 암호화폐 거래에 대한 재귀적인 사용은 암호화폐들이 현실 세계의 화폐의 역할을 제공하는 것을 막는다. PoP 기반 p2p 은행은 암호화폐 대신 실물화폐 이체를 다루고, 이에 따라 거래 비용은 실물화폐로 주어진다. 전체적으로, p2p 은행을 위한 프로토콜은 가상으로 개설된 금융 시스템이 아니라 실제 금융 시스템을 위해 동작한다.In current cryptocurrency networks, rewards are given in cryptocurrencies within the network, and transactions are only in cryptocurrencies. This recursive use inside the network causes a separation between cryptocurrency and real world values. It does not provide any criteria for the real world value of cryptocurrencies, but it destabilizes the value of their assets. The value between the real currency (eg USD) and the cryptocurrency arises only in the cryptocurrency exchange market. Problems arise in the current trading market because those are the only places where the market value of a cryptocurrency is determined and there is no basis (or anchor) for that value. Instability on exchanges and recursive use of cryptocurrency trading prevents cryptocurrencies from serving as real world currencies. PoP-based p2p banks deal with real money transfers instead of cryptocurrencies, so transaction costs are given in real money. Overall, the protocol for p2p banks works for real financial systems, not virtually opened financial systems.

7.5. 디지털 서명7.5. Digital signature

PoP 네트워크에 대해, 임의의 보안(EU-CMA 보안) 디지털 서명은 RSA-OAEP, ECDSA, DSA, 페어링 기반 서명 등과 같은 플랫폼에서 동시에 사용될 수 있다. 네트워크 대역폭이 충분하지 않으면, 집합 서명(aggregate signature)이 다수의 서명들을 압축하기 위해 사용될 수 있다.For PoP networks, any secure (EU-CMA secure) digital signature can be used simultaneously on platforms such as RSA-OAEP, ECDSA, DSA, pairing based signatures, and the like. If network bandwidth is not sufficient, an aggregate signature can be used to compress multiple signatures.

7.6. 다른 어플리케이션들7.6. Other applications

금액 이체 뿐만 아니라 임의 형태의 거래들을 위해 취급될 수 있다. 예를 들어, 암호화폐는 PoP 네트워크 상에서 취급될 수 있다. 책 판매 기록들, 음악/노래 판매 기록들은 사업 처리를 투명하게 하기 위해 장부에 저장될 수 있다.It can be handled for any form of transactions as well as for money transfers. For example, cryptocurrencies can be handled on PoP networks. Book sales records, music / song sales records may be stored in the book to make business processing transparent.

도 5는 본 발명의 일실시예에 있어서, 네트워크 시스템의 동작 환경의 예를 도시한 도면이다. 도 5는 금융 플랫폼(510), 복수의 서명자 노드들(510) 및 복수의 합병자 노드들(530)을 나타내고 있다. 이때, 금융 플랫폼(510), 복수의 서명자 노드들(510) 각각, 그리고 복수의 합병자 노드들(530) 각각은, 일례로 이후 도 6을 통해 설명되는 컴퓨터 장치(600)와 같은, 물리적인 하드웨어 장치로 구현될 수 있으며, 실시예에 따라 둘 이상의 컴퓨터 장치들이 결합된 형태로 구현될 수도 있다.5 is a diagram illustrating an example of an operating environment of a network system according to an embodiment of the present invention. 5 illustrates a financial platform 510, a plurality of signer nodes 510, and a plurality of merger nodes 530. At this time, the financial platform 510, each of the plurality of signer nodes 510, and each of the plurality of merger nodes 530 are physical, such as the computer device 600 described below with reference to FIG. 6, for example. It may be implemented as a hardware device, or in some embodiments, two or more computer devices may be implemented in a combined form.

금융 플랫폼(510)은 앞서 설명한 p2p 은행에 대응할 수 있으며, 네트워크에 입장하고자 하는 복수의 사용자들 각각에 대해 실명으로 신원을 인증받아 상기 네트워크상에서의 사용자 식별자를 제공할 수 있다.The financial platform 510 may correspond to the p2p bank described above, and may provide a user identifier on the network by authenticating the identity with a real name for each of the plurality of users who want to enter the network.

복수의 합병자 노드들(520) 각각은 사용자들간의 거래에 대한 정보를 수집 및 병합하여 거래 블록을 생성하고, 생성된 거래 블록을 위한 서명자들을, 상기 생성된 거래 블록이 포함하는 거래에 대한 이해관계와 무관하게, 서명된 블록 체인의 완성된 마지막 블록의 거래에 기반하여 선택하고, 선택된 서명자들의 생성된 거래 블록에 대한 서명을 받아 생성된 거래 블록을 서명된 블록 체인에 추가시키고자 시도할 수 있다. 복수의 합병자 노드들(520) 각각은 앞서 설명한 합병자의 단말에 대응할 수 있다.Each of the plurality of merger nodes 520 collects and merges information about transactions between users to generate a transaction block, and understands the signers for the generated transaction block, the transaction that the generated transaction block includes. Regardless of the relationship, you can select based on the transaction of the last completed block of the signed blockchain, receive signatures on the created transaction blocks of the selected signers, and attempt to add the generated transaction blocks to the signed blockchain. have. Each of the plurality of merger nodes 520 may correspond to the terminal of the merger described above.

복수의 서명자 노드들(530) 각각은 복수의 합병자 노드들(520) 각각으로부터의 요청에 따라 복수의 합병자 노드들(520) 각각에서 생성된 거래 블록의 유효성을 확인하고, 유효성이 확인된 거래 블록에 서명할 수 있다. 복수의 서명자 노드들(530) 각각은 앞서 설명한 서명자의 단말에 대응할 수 있다.Each of the plurality of signer nodes 530 verifies the validity of the transaction block generated in each of the plurality of merger nodes 520 according to a request from each of the plurality of merger nodes 520, You can sign a trading block. Each of the plurality of signer nodes 530 may correspond to the terminal of the signer described above.

이때, 금융 플랫폼(510), 복수의 서명자 노드들(510) 각각, 그리고 복수의 합병자 노드들(520) 각각은, 도 5에 도시된 네트워크(540)를 통해 서로 통신할 수 있다.In this case, the financial platform 510, each of the plurality of signer nodes 510, and each of the plurality of merger nodes 520 may communicate with each other through the network 540 shown in FIG. 5.

이미 설명한 바와 같이, 거래가 A에서 B로 발생할 때, 금액의 양, 날짜/시간, 거래 목적 및 그들의 ID들을 포함하는 거래 기록은 A 및 B의 개인 서명 키들을 이용하여 서명되고 A와 B 중 어느 하나(송신자)에 의해 합병자들로 보내진다. 합병자들은 지갑 내에 프로파일된 합병자들 순위에 따라 송신자에 의해 선택된다.As already explained, when a transaction occurs from A to B, the transaction record containing the amount, date / time, transaction purpose and their IDs is signed using A and B's private signature keys and is either A or B Sent by the sender to the mergers. Mergers are selected by the sender according to the rank of the mergers profiled in the wallet.

이때, 복수의 합병자 노드들(520)은 선택된 합병자들의 단말들에 대응할 수 있으며, 복수의 합병자 노드들(520)은, 복수의 서명자 노드들(530)로부터 서명된 거래 블록들이 대응하는 합병자 노드들에 의해 각각 브로드캐스트됨에 따라, 서명된 거래 블록들의 유효성을 확인하고, 유효성이 확인된 서명된 거래 블록들의 서명된 블록 체인으로의 추가를 승인할 수 있다. 이미 설명한 바와 같이, PoP 네트워크는 블록을 지원하는 사람들의 누적된 수(서명 수)에 따라서 새로운 블록 체인을 선택 및 현실화한다. 이때, 새로운 블록 이전의 확정된 블록 체인에 대해서는 누적된 사람들의 수가 동일하기 때문에 결국 새롭게 블록 체인에 추가되는 거래 블록의 수에 따라 새로운 블록 체인이 선택될 수 있다. 복수의 서명자 노드들(530) 각각은 브로드캐스트되는 새로운 거래 블록들의 유효성을 확인하고, 유효성이 확인된 서명된 거래 블록들을 블록 체인에 추가하는 것을 승인할 수 있으며, 이때 거래 블록을 지원하는 사람들의 누적된 수(서명 수)가 가장 많은 거래 블록의 추가를 승인하거나 또는 유효성이 확인된 거래 블록들이 추가된 새로운 블록 체인들 중 거래 블록을 지원하는 사람들의 누적된 수(서명 수)가 가장 많은 거래 블록이 추가된 블록 체인을 선택할 수 있다.In this case, the plurality of merger nodes 520 may correspond to terminals of the selected mergers, and the plurality of merger nodes 520 may correspond to transaction blocks signed from the plurality of signer nodes 530. As each is broadcast by the merger nodes, the validity of the signed transaction blocks can be verified and the addition of the validated signed transaction blocks to the signed blockchain can be approved. As already explained, the PoP network selects and actualizes a new blockchain according to the cumulative number of people who support the block (the number of signatures). At this time, since the number of accumulated people is the same for the blockchain determined before the new block, a new blockchain may be selected according to the number of transaction blocks newly added to the blockchain. Each of the plurality of signer nodes 530 may validate the new trading blocks being broadcast and approve adding the validated signed trading blocks to the blockchain, wherein those of the people supporting the trading block Transactions with the highest cumulative number (signatures) of those who support the addition of the trading block with the highest cumulative number of signatures (signatures) or new blockchains that have added validated trading blocks. You can select the blockchain to which the block is added.

한편, 복수의 합병자 노드들(520) 각각은, 서명된 블록 체인에 추가시키고자 하는 거래 블록의 이전 거래 블록에 포함된 거래에 대한 정보들을 입력으로 가지면서 예측 불가능(random)하지만 입력에 따라 출력이 결정(deterministic)되는 함수를 통해 출력되는 해시 값을 생성하고, 생성된 해시 값에 기반하여 추가시키고자 하는 거래 블록을 위한 서명자들을 선택하며, 선택된 서명자들에 대응하는 서명자 노드들로 추가시키고자 하는 거래 블록에 대한 서명을 요청할 수 있다.Meanwhile, each of the plurality of merger nodes 520 has as inputs information about transactions contained in previous transaction blocks of the transaction block to be added to the signed blockchain, but is unpredictable (random) according to the input. Generate a hash value that is output through a function whose output is deterministic, select the signers for the transaction block you want to add based on the generated hash value, add them to the signer nodes corresponding to the selected signers, You can request a signature for your trading block.

이 경우, 복수의 서명자 노드들(530) 각각은 자신이 서명한 거래 블록의 블록 식별자를 관리하고, 서명된 블록 체인에서 마지막으로 서명된 거래 블록이 완성되기 전에 생성된 거래 블록에 대한 서명 요청을 거절할 수 있다. 또한, 복수의 서명자 노드들(530) 각각은 자신이 이미 서명한 거래 블록 상의 거래들에 대한 정보를 포함하는 다른 거래 블록에 대한 서명 요청을 무시하며, 서명 요청의 무시에 대한 정보를 다른 거래 블록에 대응하는 합병자 노드에게 통지할 수 있다. 또한, 복수의 서명자 노드들(530) 각각은 서명된 것과 일치하지 않는 거래를 포함하는 블록에 대한 서명 요청을 금융 플랫폼(510)에 보고하고, 서명 요청에 따른 합병자의 식별자 및 상기 일치하지 않는 거래의 송신자의 식별자를 네트워크상에 브로드캐스팅할 수 있다.In this case, each of the plurality of signer nodes 530 manages a block identifier of a transaction block signed by it, and requests a signature request for a transaction block generated before the last signed transaction block in the signed blockchain is completed. You can refuse. In addition, each of the plurality of signer nodes 530 ignores the request for signing the other transaction block, which includes information about transactions on the transaction block that it has already signed, and informs the other transaction block about the negation of the signature request. The merger node corresponding to the message may be notified. In addition, each of the plurality of signer nodes 530 reports a signing request to the financial platform 510 for a block that contains a transaction that does not match the signed one, and identifies the merger's identifier and the mismatched transaction according to the signature request. The identifier of the sender of may be broadcast on the network.

도 6은 본 발명의 일실시예에 있어서, 컴퓨터 장치의 내부 구성의 예를 도시한 도면이다. 앞서 설명한 바와 같이, 금융 플랫폼(510), 복수의 서명자 노드들(510) 각각, 그리고 복수의 합병자 노드들(530) 각각은, 도 6의 컴퓨터 장치(600)와 같은, 물리적인 하드웨어 장치로 구현될 수 있으며, 실시예에 따라 둘 이상의 컴퓨터 장치들이 결합된 형태로 구현될 수도 있다.6 is a diagram illustrating an example of an internal configuration of a computer device according to one embodiment of the present invention. As described above, the financial platform 510, each of the plurality of signer nodes 510, and each of the plurality of merger nodes 530 may be physical devices, such as the computer device 600 of FIG. 6. In some embodiments, two or more computer devices may be implemented in a combined form.

이러한 컴퓨터 장치(600)는 도 6에 도시된 바와 같이, 메모리(610), 프로세서(620), 통신 인터페이스(630) 그리고 입출력 인터페이스(640)를 포함할 수 있다. 메모리(610)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(610)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(600)에 포함될 수도 있다. 또한, 메모리(610)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(610)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(610)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(630)를 통해 메모리(610)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(540)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(600)의 메모리(610)에 로딩될 수 있다.As illustrated in FIG. 6, the computer device 600 may include a memory 610, a processor 620, a communication interface 630, and an input / output interface 640. The memory 610 may be a computer-readable recording medium, and may include a permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive. The non-volatile mass storage device, such as a ROM and a disk drive, may be included in the computer device 600 as a separate permanent storage device separate from the memory 610. In addition, the memory 610 may store an operating system and at least one program code. These software components may be loaded into the memory 610 from a computer-readable recording medium separate from the memory 610. Such a separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, and the like. In other embodiments, software components may be loaded into memory 610 via communication interface 630 rather than a computer readable recording medium. For example, software components may be loaded into memory 610 of computer device 600 based on a computer program installed by files received via network 540.

프로세서(620)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(610) 또는 통신 인터페이스(630)에 의해 프로세서(620)로 제공될 수 있다. 예를 들어 프로세서(620)는 메모리(610)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processor 620 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. The instructions may be provided to the processor 620 by the memory 610 or the communication interface 630. For example, the processor 620 may be configured to execute a command received according to a program code stored in a recording device such as the memory 610.

통신 인터페이스(630)은 네트워크(540)를 통해 컴퓨터 장치(600)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(600)의 프로세서(620)가 메모리(610)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(630)의 제어에 따라 네트워크(540)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(540)를 거쳐 컴퓨터 장치(600)의 통신 인터페이스(630)를 통해 컴퓨터 장치(600)로 수신될 수 있다. 통신 인터페이스(630)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(620)나 메모리(610)로 전달될 수 있고, 파일 등은 컴퓨터 장치(600)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The communication interface 630 may provide a function for the computer device 600 to communicate with other devices (eg, storage devices described above) via the network 540. For example, a request, a command, data, a file, etc. generated by the processor 620 of the computer device 600 according to a program code stored in a recording device such as the memory 610 may be controlled according to the control of the communication interface 630. 540 may be passed to other devices. Conversely, signals, commands, data, files, and the like from other devices may be received by computer device 600 via network 540 via communication interface 630 of computer device 600. Signals, commands, data, and the like, received through the communication interface 630 may be transmitted to the processor 620 or the memory 610, and the files and the like may be included in the storage medium that the computer device 600 may further include. Persistent storage).

입출력 인터페이스(640)는 입출력 장치(650)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(640)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(650)는 컴퓨터 장치(600)와 하나의 장치로 구성될 수도 있다.The input / output interface 640 may be a means for interfacing with the input / output device 650. For example, the input device may include a device such as a microphone, a keyboard or a mouse, and the output device may include a device such as a display or a speaker. As another example, the input / output interface 640 may be a means for interfacing with a device in which functions for input and output are integrated into one, such as a touch screen. The input / output device 650 may be configured as a computer device 600 and one device.

또한, 다른 실시예들에서 컴퓨터 장치(600)는 도 6의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(600)는 상술한 입출력 장치(650) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Further, in other embodiments, the computer device 600 may include fewer or more components than the components of FIG. 6. However, it is not necessary to clearly show most of the prior art components. For example, computer device 600 may be implemented to include at least some of the input and output devices 650 described above, or may further include other components, such as a transceiver, a database, and the like.

도 7은 본 발명의 일실시예에 있어서, 서명 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 서명 방법은 일례로 앞서 설명한 서명자의 단말을 구현하는 컴퓨터 장치(600)에 의해 수행될 수 있다. 예를 들어, 컴퓨터 장치(600)의 프로세서(620)는 메모리(610)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(620)는 컴퓨터 장치(600)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(600)가 도 7의 방법이 포함하는 단계들(710 내지 730)을 수행하도록 컴퓨터 장치(600)를 제어할 수 있다.7 is a flowchart illustrating an example of a signature method in an embodiment of the present invention. The signature method according to the present embodiment may be performed by the computer device 600 implementing the terminal of the signer as described above. For example, the processor 620 of the computer device 600 may be implemented to execute a control instruction according to a code of an operating system included in the memory 610 or a code of at least one program. Here, the processor 620 may perform the steps 710 to 730 included in the method of FIG. 7 according to a control command provided by a code stored in the computer device 600. Can be controlled.

단계(710)에서 컴퓨터 장치(600)는 입장하고자 하는 복수의 사용자들에 대해 실명으로 신원이 인증된 네트워크상의 합병자 노드로부터 네트워크를 통해 상기 합병자 노드가 생성한 거래 블록에 대한 서명 요청을 수신할 수 있다. 여기서, 컴퓨터 장치(600)는 복수의 사용자들 중 서명자로서 선택된 사용자의 단말에 대응할 수 있으며, 합병자 노드 역시 복수의 사용자들 중 합병자로 선택된 사용자의 단말에 대응할 수 있다. 이때, 서명 요청은 해시 값에 기초하여 선택되는 네트워크상의 서명자 노드들에게 합병자 노드에 의해 전송될 수 있으며, 여기서 해시 값은 서명된 블록 체인의 마지막 거래 블록이 포함하는 거래들에 대한 정보들을 입력으로 가지면서 임의적(random)이어서 예측 불가능하지만 결정적(deterministic)이어서 입력에 따라 출력이 결정되는 함수를 통해 출력될 수 있다.In operation 710, the computer device 600 receives a signature request for a transaction block generated by the merger node through a network from a merger node on a network whose identity is authenticated with a real name for a plurality of users to enter. can do. Here, the computer device 600 may correspond to the terminal of the user selected as the signer among the plurality of users, and the merger node may also correspond to the terminal of the user selected as the merger among the plurality of users. At this time, the signature request may be sent by the merger node to the signer nodes on the network selected based on the hash value, where the hash value inputs information about transactions included in the last transaction block of the signed blockchain. Since it is arbitrary and unpredictable but deterministic, it can be output through a function whose output is determined according to the input.

단계(720)에서 컴퓨터 장치(600)는 서명 요청된 거래 블록의 유효성을 확인할 수 있다. 서명자가 거래 블록의 유효성을 확인하는 과정에 대해서는 앞서 여러 번 설명하였기에 반복적인 설명은 생략한다.In operation 720, the computer device 600 may verify the validity of the transaction block for which the signature is requested. Since the signer has verified the validity of the transaction block several times, repeated description thereof will be omitted.

단계(730)에서 컴퓨터 장치(600)는 유효성이 확인된 거래 블록에 서명할 수 있다. 이때, 컴퓨터 장치(600)는 서명된 거래 블록을 합병자 노드로 전송할 수 있다. 합병자 노드에서의 동작에 대해서는 도 8을 통해 설명한다.In operation 730, the computer device 600 may sign a valid transaction block. At this time, the computer device 600 may transmit the signed transaction block to the merger node. Operation at the merger node will be described with reference to FIG. 8.

도 8은 본 발명의 일실시예에 있어서, 거래 블록 추가 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 거래 블록 추가 방법은 일례로 앞서 설명한 합병자의 단말을 구현하는 컴퓨터 장치(600)에 의해 수행될 수 있다. 예를 들어, 컴퓨터 장치(600)의 프로세서(620)는 메모리(610)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(620)는 컴퓨터 장치(600)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(600)가 도 8의 방법이 포함하는 단계들(810 내지 850)을 수행하도록 컴퓨터 장치(600)를 제어할 수 있다.8 is a flowchart illustrating an example of a method for adding a transaction block according to an embodiment of the present invention. The transaction block adding method according to the present embodiment may be performed by the computer device 600 implementing the terminal of the merger described above. For example, the processor 620 of the computer device 600 may be implemented to execute a control instruction according to a code of an operating system included in the memory 610 or a code of at least one program. Here, the processor 620 may be configured to perform the steps 810 to 850 included in the method of FIG. 8 according to a control command provided by a code stored in the computer device 600. Can be controlled.

단계(810)에서 컴퓨터 장치(600)는 입장하고자 하는 복수의 사용자들에 대해 실명으로 신원이 인증된 네트워크를 통해 사용자들간의 거래에 대한 정보를 수집할 수 있다. 예를 들어, 거래가 사용자 A에서 사용자 B로 발생할 때, 금액의 양, 날짜/시간, 거래 목적 및 그들(사용자 A와 사용자 B)의 ID들을 포함하는 거래 기록은 사용자 A의 개인 서명 키 및 사용자 B의 개인 서명 키를 이용하여 서명되고 사용자 A와 사용자 B 중 어느 하나(송신자)에 의해 합병자들로 보내질 수 있다. 본 실시예에서 컴퓨터 장치(600)는 이러한 합병자들 중 하나의 단말일 수 있으며, 단계(810)에서와 같이 사용자들간의 거래에 대한 정보를 수집할 수 있다.In operation 810, the computer device 600 may collect information about a transaction between users through a network in which a user name is authenticated with real names for a plurality of users who want to enter. For example, when a transaction occurs from user A to user B, the transaction record, including the amount of money, the date / time, the purpose of the transaction, and their IDs (user A and user B), is the user's private signature key and user B It can be signed using the private signature key of and sent to the mergers by either user A or user B (the sender). In this embodiment, the computer device 600 may be a terminal of one of these mergers, and may collect information about transactions between users as in step 810.

단계(820)에서 컴퓨터 장치(600)는 수집된 거래에 대한 정보를 병합하여 거래 블록을 생성할 수 있다. 거래 블록은 적어도 하나의 송신자로부터 수신되는 거래에 대한 정보(앞선 예에서의 거래 기록)를 포함할 수 있다.In operation 820, the computer device 600 may generate a transaction block by merging the collected transaction information. The transaction block may include information about the transaction (transaction record in the previous example) received from at least one sender.

단계(830)에서 컴퓨터 장치(600)는 생성된 거래 블록을 위한 서명자들을 생성된 거래 블록이 포함하는 거래에 대한 이해관계와 무관하게, 서명된 블록 체인의 완성된 마지막 블록의 거래에 기반하여 선택할 수 있다. 일례로, 도 3에서는 새로운 블록(111)의 종전 블록(112)이 포함하는 거래들(310, 320, 330)을 입력 파라미터로 갖는 해시 함수를 이용하여 계산되는 해시 값을 통해 새로운 블록(111)을 위한 서명자들(370)이 선택되는 예를 설명한 바 있다.In step 830 the computer device 600 selects the signers for the generated transaction block based on the transaction of the last completed block of the signed blockchain, irrespective of the interest in the transaction that the generated transaction block includes. Can be. For example, in FIG. 3, a new block 111 is obtained through a hash value calculated using a hash function having, as input parameters, transactions 310, 320, and 330 included in the previous block 112 of the new block 111. An example in which signers 370 are selected for the above is described.

단계(840)에서 컴퓨터 장치(600)는 선택된 서명자들의 생성된 거래 블록에 대한 서명을 요청할 수 있다. 이때, 서명자들 각각은 도 7을 통해 설명한 단계들(710 내지 730)을 통해 서명 요청을 수신하고, 거래 블록에 대한 유효성을 확인하여 유효한 거래 블록에 서명을 하여 도 8의 실시예에 따른 컴퓨터 장치(600)인 합병자 노드로 전송할 수 있다.In operation 840, the computer device 600 may request a signature for the generated transaction block of the selected signers. At this time, each of the signers receives the signature request through the steps 710 to 730 described with reference to FIG. 7, confirms the validity of the transaction block, and signs the valid transaction block according to the embodiment of FIG. 8. 600 may be transmitted to the merger node.

단계(850)에서 컴퓨터 장치(600)는 서명자들로부터 서명된 거래 블록을 서명된 블록 체인에 추가시키기 위해, 서명된 거래 블록을 네트워크상의 복수의 합병자 노드들로 전송할 수 있다. 이때, 이미 설명한 바와 같이, 복수의 합병자 노드들 각각은 서명된 거래 블록의 유효성을 확인하고 유효성이 확인된 서명된 거래 블록을 서명된 블록 체인으로의 추가를 승인할 수 있다. 이 경우, 앞서 설명한 바와 같이 거래 블록을 지원하는 사람들의 누적된 수(서명 수)가 가장 많은 거래 블록의 추가를 승인하거나 또는 유효성이 확인된 거래 블록들이 추가된 새로운 블록 체인들 중 거래 블록을 지원하는 사람들의 누적된 수(서명 수)가 가장 많은 거래 블록이 추가된 블록 체인을 선택할 수 있다.In step 850, the computer device 600 may send the signed transaction block to the plurality of aggregator nodes on the network to add the signed transaction block from the signers to the signed blockchain. In this case, as described above, each of the plurality of merger nodes may confirm the validity of the signed transaction block and approve the addition of the signed transaction block whose validity is confirmed to the signed block chain. In this case, as described above, the cumulative number of people who support the trading block (the number of signatures) approves the addition of the largest trading block or supports the trading block among the new blockchains with the added valid trading blocks. You can choose the blockchain to which the trading blocks with the largest cumulative number of people (signatures) are added.

도 5 내지 도 8에서 생략된 내용들은 그 앞의 설명들을 참고할 수 있으며, 이러한 네트워크 시스템이나 서명 방법 및 거래 블록 생성 방법이 갖는 효과들에 대해서도 앞서 자세히 설명한 바 있다.5 to 8 may refer to the foregoing descriptions, and the effects of the network system, the signature method, and the transaction block generation method have been described in detail above.

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). May be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. It can be embodied in. The software may be distributed over networked computer systems so that they are stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 이러한 기록매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있으며, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Such a recording medium may be various recording means or storage means in the form of a single or several hardware combined, and is not limited to a medium directly connected to any computer system, but may be distributed on a network. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the following claims.

Claims (10)

블록체인 네트워크에 입장하고자 하는 복수의 사용자들 각각에 대해 실명으로 신원을 인증받아 상기 블록체인 네트워크상에서의 사용자 식별자를 제공하는 금융 플랫폼;
상기 실명으로 신원이 인증된 사용자들간의 법정화폐를 이용한 거래에 대한 정보를 수집 및 병합하여 거래 블록을 생성하고, 상기 생성된 거래 블록이 포함하는 거래에 대한 이해관계와 무관하게, 서명된 블록 체인의 완성된 마지막 블록의 거래에 기반하여 상기 생성된 거래 블록을 위한 서명자들을 선택하고, 상기 선택된 서명자들의 상기 생성된 거래 블록에 대한 서명을 받아 상기 생성된 거래 블록을 상기 서명된 블록 체인에 추가시키고자 시도하는 복수의 합병자 노드들; 및
상기 복수의 합병자 노드들 각각으로부터의 요청에 따라 상기 복수의 합병자 노드들 각각에서 생성된 거래 블록의 유효성을 확인하고, 상기 유효성이 확인된 거래 블록에 서명하는 복수의 서명자 노드들
을 포함하는 것을 특징으로 하는 네트워크 시스템.
A financial platform for authenticating an identity with a real name for each of a plurality of users who want to enter a blockchain network and providing a user identifier on the blockchain network;
Collecting and merging information on transactions using fiat currency between users whose identity is authenticated by the real name to create a transaction block, and regardless of the interest of the transaction included in the generated transaction block, the signed blockchain Select signers for the generated trading block based on the transaction of the last completed block of, receive the signature of the generated trading block of the selected signers, add the generated trading block to the signed blockchain, and A plurality of consolidator nodes that attempt to do so; And
A plurality of signer nodes for validating a transaction block generated at each of the plurality of merger nodes according to a request from each of the plurality of merger nodes, and for signing the validated transaction block
Network system comprising a.
제1항에 있어서,
상기 복수의 합병자 노드들은,
상기 복수의 서명자 노드들로부터 서명된 거래 블록들이 대응하는 합병자 노드들에 의해 각각 브로드캐스트됨에 따라, 상기 서명된 거래 블록들의 유효성을 확인하고, 상기 유효성이 확인된 상기 서명된 거래 블록들의 상기 서명된 블록 체인으로의 추가를 승인하는 것을 특징으로 하는 네트워크 시스템.
The method of claim 1,
The plurality of merger nodes,
As signed transaction blocks from the plurality of signer nodes are each broadcast by corresponding merger nodes, verify validity of the signed transaction blocks, and verify the signature of the validated signed transaction blocks. Network system for approving addition to the blockchain.
제1항에 있어서,
상기 복수의 합병자 노드들 각각에서 생성된 거래 블록이 추가된 블록 체인들 중 상기 복수의 서명자 노드들로부터 가장 많은 서명을 받은 거래 블록이 추가된 블록 체인이 선택되는 것을 특징으로 하는 네트워크 시스템.
The method of claim 1,
And among the block chains to which the transaction blocks generated at each of the plurality of merger nodes are added, the block chain to which the transaction block which receives the most signatures from the plurality of signer nodes is added.
제1항에 있어서,
상기 복수의 합병자 노드들 각각은,
상기 서명된 블록 체인에 추가시키고자 하는 거래 블록의 이전 거래 블록에 포함된 거래에 대한 정보들을 입력으로 가지면서 임의적(random)이어서 예측 불가능하지만 결정적(deterministic)이어서 입력에 따라 출력이 결정되는 함수를 통해 출력되는 해시 값을 생성하고, 상기 생성된 해시 값에 기반하여 상기 추가시키고자 하는 거래 블록을 위한 서명자들을 선택하며, 상기 선택된 서명자들에 대응하는 서명자 노드들로 상기 추가시키고자 하는 거래 블록에 대한 서명을 요청하는 것을 특징으로 하는 네트워크 시스템.
The method of claim 1,
Each of the plurality of merger nodes,
A function that is random and unpredictable but deterministic and has an output determined according to the input while having as inputs information about the transactions contained in the previous trading block of the trading block to be added to the signed blockchain. Generate a hash value outputted through the selector, select signers for the transaction block to be added based on the generated hash value, and add to the transaction block to be added to the signer nodes corresponding to the selected signers Request a signature for the network system.
제1항에 있어서,
상기 복수의 서명자 노드들 각각은,
자신이 서명한 거래 블록의 블록 식별자를 관리하고, 상기 서명된 블록 체인에서 마지막으로 서명된 거래 블록이 완성되기 전에 생성된 거래 블록에 대한 서명 요청을 거절하는 것을 특징으로 하는 네트워크 시스템.
The method of claim 1,
Each of the plurality of signer nodes,
Managing a block identifier of a transaction block signed by the user, and rejecting a signature request for a transaction block generated before the transaction block last signed in the signed block chain is completed.
제1항에 있어서,
상기 복수의 서명자 노드들 각각은,
자신이 이미 서명한 거래 블록 상의 거래들에 대한 정보를 포함하는 다른 거래 블록에 대한 서명 요청을 무시하며, 상기 서명 요청의 무시에 대한 정보를 상기 다른 거래 블록에 대응하는 합병자 노드에게 통지하는 것을 특징으로 하는 네트워크 시스템.
The method of claim 1,
Each of the plurality of signer nodes,
Disregarding a signature request for another transaction block that contains information about transactions on a transaction block that it has already signed, and notifying the merger node corresponding to the other transaction block of information about the disregard of the signature request. Characterized by a network system.
제1항에 있어서,
상기 복수의 서명자 노드들 각각은,
서명된 것과 일치하지 않는 거래를 포함하는 블록에 대한 서명 요청을 상기 금융 플랫폼에 보고하고, 상기 서명 요청에 따른 합병자의 식별자 및 상기 일치하지 않는 거래의 송신자의 식별자를 상기 블록체인 네트워크상에 브로드캐스팅하는 것을 특징으로 하는 네트워크 시스템.
The method of claim 1,
Each of the plurality of signer nodes,
Report a signing request to the financial platform for a block containing a transaction that does not match a signed one, and broadcast on the blockchain network an identifier of a consolidator in accordance with the signature request and an identifier of the sender of the mismatched transaction Network system, characterized in that.
컴퓨터와 결합되어 서명 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램에 있어서,
상기 서명 방법은,
입장하고자 하는 복수의 사용자들에 대해 실명으로 신원이 인증된 블록체인 네트워크상의 합병자 노드로부터 상기 블록체인 네트워크를 통해 상기 합병자 노드가 상기 실명으로 신원이 인증된 사용자들간의 법정화폐를 이용한 거래에 대한 정보를 수집 및 병합하여 생성한 거래 블록에 대한 서명 요청을 수신하는 단계;
상기 서명 요청된 거래 블록의 유효성을 확인하는 단계; 및
상기 유효성이 확인된 거래 블록에 서명하는 단계
를 포함하고,
상기 서명 요청은, 해시 값에 기초하여 선택되는 상기 블록체인 네트워크상의 서명자 노드들에게 상기 합병자 노드에 의해 전송되고,
상기 해시 값은 서명된 블록 체인의 마지막 거래 블록이 포함하는 거래들에 대한 정보들을 입력으로 가지면서 임의적(random)이어서 예측 불가능하지만 결정적(deterministic)이어서 입력에 따라 출력이 결정되는 함수를 통해 출력되는 것을 특징으로 하는 컴퓨터 프로그램.
A computer program coupled to a computer stored on a computer readable recording medium for executing a signature method on a computer,
The signature method is
From a merger node on a blockchain network whose identity is authenticated by a real name for a plurality of users who wish to enter the transaction, the merger node performs transactions using fiat currency between users whose identity is authenticated by the real name through the blockchain network. Receiving a signature request for a transaction block generated by collecting and merging information about the transaction block;
Verifying validity of the signature requested transaction block; And
Signing the validated transaction block
Including,
The signing request is sent by the aggregator node to signer nodes on the blockchain network selected based on a hash value,
The hash value is random and unpredictable but deterministic because the hash value has information on transactions included in the last trading block of the signed blockchain and is output through a function whose output is determined according to the input. Computer program, characterized in that.
컴퓨터와 결합되어 거래 블록 추가 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램에 있어서,
상기 거래 블록 추가 방법은,
입장하고자 하는 복수의 사용자들에 대해 실명으로 신원이 인증된 블록체인 네트워크를 통해 상기 실명으로 신원이 인증된 사용자들간의 법정화폐를 이용한 거래에 대한 정보를 수집하는 단계;
상기 수집된 거래에 대한 정보를 병합하여 거래 블록을 생성하는 단계;
상기 생성된 거래 블록이 포함하는 거래에 대한 이해관계와 무관하게, 서명된 블록 체인의 완성된 마지막 블록의 거래에 기반하여 상기 생성된 거래 블록을 위한 서명자들을 선택하는 단계;
상기 선택된 서명자들의 상기 생성된 거래 블록에 대한 서명을 요청하는 단계; 및
상기 서명자들로부터 서명된 거래 블록을 상기 서명된 블록 체인에 추가시키기 위해, 상기 서명된 거래 블록을 상기 블록체인 네트워크상의 복수의 합병자 노드들로 전송하는 단계
를 포함하는 것을 특징으로 하는 컴퓨터 프로그램.
A computer program stored in a computer readable recording medium in combination with a computer for causing a computer to execute a method of adding a transaction block,
The transaction block addition method,
Collecting information on transactions using fiat currency between users whose identity is authenticated by the real name through a blockchain network in which the identity is authenticated by the real name for a plurality of users to enter;
Merging information about the collected transactions to generate a transaction block;
Selecting signers for the created transaction block based on the transaction of the last completed block of the signed blockchain, regardless of the interest in the transaction that the generated transaction block includes;
Requesting a signature on the generated transaction block of the selected signers; And
Sending the signed transaction block to a plurality of amalgamator nodes on the blockchain network to add a signed transaction block from the signers to the signed blockchain.
Computer program comprising a.
제8항 또는 제9항의 컴퓨터 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium in which the computer program according to claim 8 or 9 is recorded.
KR1020180025724A 2018-03-05 2018-03-05 P2p ledger for fiat money without cryptocurrency KR102039570B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180025724A KR102039570B1 (en) 2018-03-05 2018-03-05 P2p ledger for fiat money without cryptocurrency
PCT/KR2018/002633 WO2019172464A1 (en) 2018-03-05 2018-03-06 Fiat currency p2p book that does not use cryptocurrency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180025724A KR102039570B1 (en) 2018-03-05 2018-03-05 P2p ledger for fiat money without cryptocurrency

Publications (2)

Publication Number Publication Date
KR20190105320A KR20190105320A (en) 2019-09-17
KR102039570B1 true KR102039570B1 (en) 2019-11-01

Family

ID=67846164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180025724A KR102039570B1 (en) 2018-03-05 2018-03-05 P2p ledger for fiat money without cryptocurrency

Country Status (2)

Country Link
KR (1) KR102039570B1 (en)
WO (1) WO2019172464A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078696A (en) * 2019-12-04 2020-04-28 杭州复杂美科技有限公司 Block generation method, device and storage medium
CN111355799A (en) * 2020-02-27 2020-06-30 百度在线网络技术(北京)有限公司 Voting method, device, equipment and storage medium based on block chain

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015072689A (en) 2013-10-03 2015-04-16 エヌエックスピー ビー ヴィNxp B.V. Apparatus and method for irregular transaction detection

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101383905B1 (en) * 2011-12-19 2014-04-17 주식회사 솔박스 method and apparatus for processing server load balancing with the result of hash function
KR101673073B1 (en) * 2015-02-25 2016-11-04 이진희 Dealing method of Crypto-currency base on Blockchain System
US10304143B2 (en) * 2016-05-05 2019-05-28 Lance Timothy Kasper Consensus system for manipulation resistant digital record keeping
KR101815008B1 (en) * 2016-06-02 2018-01-09 임현진 Shared account based banking service providing apparatus and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015072689A (en) 2013-10-03 2015-04-16 エヌエックスピー ビー ヴィNxp B.V. Apparatus and method for irregular transaction detection

Also Published As

Publication number Publication date
KR20190105320A (en) 2019-09-17
WO2019172464A1 (en) 2019-09-12

Similar Documents

Publication Publication Date Title
KR102077397B1 (en) Method and system for connecting chain based on dynamic time delay in proof of population based blockchain
Ghosh et al. Security of Cryptocurrencies in blockchain technology: State-of-art, challenges and future prospects
US11720887B1 (en) System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat
US11757988B2 (en) Add and drop blobbers in blockchain
US11182787B2 (en) System and method for scaling blockchain networks with secure off-chain payment hubs
Xu et al. A taxonomy of blockchain-based systems for architecture design
CN108885761B (en) Method for secure point-to-point communication on a blockchain
Karame et al. Bitcoin and blockchain security
CN113728351A (en) Trusted certification transactions in blockchain systems
WO2019127532A1 (en) Blockchain-based crowdfunding information processing method and device, storage medium and electronic device
Quamara et al. A systematic survey on security concerns in cryptocurrencies: State-of-the-art and perspectives
Jain et al. Blockchain for the common good: A digital currency for citizen philanthropy and social entrepreneurship
Shyamasundar et al. Blockchain: the revolution in trust management
Ji et al. Generalized proof of liabilities
WO2023183151A1 (en) Non-fungible token (nft) purchase and transfer system
KR102039570B1 (en) P2p ledger for fiat money without cryptocurrency
Ye et al. An anonymous and fair auction system based on blockchain
Guégan et al. A probative value for authentication use case blockchain
Gans The Economics of Blockchain Consensus: Exploring the Key Tradeoffs in Blockchain Design
Müller et al. COST: A consensus-based oracle protocol for the secure trade of digital goods
Masseport et al. Proof of usage: User-centric consensus for data provision and exchange
Swanson Watermarked tokens and pseudonymity on public blockchains
Gucluturk Blockchain: A Trustless Network or a Technologically Disguised Shift of Trust?
Sharma et al. Introduction to blockchain and distributed systems—fundamental theories and concepts
Pandey et al. Functional analysis of blockchain consensus algorithms

Legal Events

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