KR102108909B1 - 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법 - Google Patents

블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법 Download PDF

Info

Publication number
KR102108909B1
KR102108909B1 KR1020180073036A KR20180073036A KR102108909B1 KR 102108909 B1 KR102108909 B1 KR 102108909B1 KR 1020180073036 A KR1020180073036 A KR 1020180073036A KR 20180073036 A KR20180073036 A KR 20180073036A KR 102108909 B1 KR102108909 B1 KR 102108909B1
Authority
KR
South Korea
Prior art keywords
node
transaction
nodes
amount
remind
Prior art date
Application number
KR1020180073036A
Other languages
English (en)
Other versions
KR20200000770A (ko
Inventor
조진한
Original Assignee
주식회사 잇다
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 잇다 filed Critical 주식회사 잇다
Priority to KR1020180073036A priority Critical patent/KR102108909B1/ko
Priority to PCT/KR2018/007312 priority patent/WO2020004686A1/ko
Publication of KR20200000770A publication Critical patent/KR20200000770A/ko
Application granted granted Critical
Publication of KR102108909B1 publication Critical patent/KR102108909B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/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
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 실시 예에 따른 블록체인에서의 인증 방법은 거래 금액 및 거래 시점에 기반하여 노드 간 contribution을 계산하는 동작 및 거래량 및 상호 평가에 기반하여 노드 간 contribution을 계산하는 동작 중 적어도 하나를 수행하는 것을 특징으로 한다.

Description

블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법 {AGREEMENT CERTIFICATION METHOD BASED ON dPoC AGREEMENT ALGORITHM OF BLOCK CHAIN}
본 발명은 블록체인 합의 알고리즘에 관한 것이다. 보다 구체적으로 본 발명은 각 노드에 공정한 주도권을 배분하고, 블록 생성시 발생되는 비용을 최소화하기 위한 블록체인 합의 알고리즘에 관한 것이다.
블록체인에 대한 사회적 관심이 고조되면서, 다양한 방식의 블록체인 활용 방안이 논의되고 있다. 이러한 블록체인 분산원장의 원리는 각기 그 앞의 기로과 불가분하게 연결되는 전자 기록의 체인을 형성하는 것이다. 각 새로운 항목 집합 또는 '블록'은 합의 과정을 거친 후에만 완료될 수 있다.
블록체인의 새 항목을 인증하고 네트워크의 변경을 관리하는 용도로 가장 널리 사용되는 두 가지 메커니즘 또는 프로토콜은 작업증명(Proof of Work, PoW)와 지분증명(Proof of Stake, PoS)이다.
PoW 알고리즘은 블록체인 기반 암호화폐에 데이터를 추가하도록 인증하기에 앞서 컴퓨터가 CPU의 역량을 확장해서 복잡한 암호화 기반 방정식을 풀도록 한다. 방정식을 가장 빨리 푸는 컴퓨터 노드에는 비트코인과 같은 디지털 코인이 보상으로 지급(채굴)된다. 그러나 이러한 PoW 프로세스는 채굴 과정에 막대한 전기 에너지를 소비한다는 점, 수학 퍼즐을 풀기 위한 과정이 긴 탓에 속도가 느려질 수 있어 비즈니스 분산 원장 또는 암호화폐 네트워크에서 새 항목을 승인하는데 오랜 시간이 소요될 수 있다는 점이 문제시 되고 있다.
PoS 알고리즘은 그 이름이 시사하는 바와 같이 가장 많은 디지털 화폐 또는 코인을 가진 사람이 새 블록 데이터를 인증할 수 있게 해주는 방식이다. PoS는 채굴에 들어가는 비용을 최소화할 수 있으며, 수 초 만에 새로운 블록을 생성할 수 있는 것을 특징으로 한다. 그러나 PoS 알고리즘에 따르면 지분이 클 수록 블록 생성에 참여할 확률이 높아지므로, 강력한 자본을 가진 세력에 의해 권력을 독점당할 수 있다는 점이 문제시되고 있다.
이처럼 현재 주요하게 사용되는 블록체인 증명 방식은 각각 상기한 바와 같은 한계를 지니고 있으며, 이에 따라 참여자 모두에게 공정한 주도권을 배분함과 동시에 사회적 코스트를 최소화하기 위한 새로운 블록체인 증명방식이 요구되고 있다.
본 발명은 상기 제시한 문제를 보완하기 위해 안출된 것으로, 참여자 모두에게 금융의 주도권을 분배하고, 사회적 코스트를 최소화를 실현할 수 있는 새로운 증명방식을 적용한 블록체인 기술 및 이를 이용한 암호화폐를 구현하는데 목적이 있다.
본 발명은 사용자의 가치를 우선 접근하고 채굴의 가용성을 넘어설 수 있는 네트워크 참여자들의 현실적인 보상에 대한 설계 및 보안에 대한 문제를 해결하는 데 목적이 있다.
본 발명의 실시 예에 따른 블록체인에서의 인증 방법은 거래 금액 및 거래 시점에 기반하여 노드 간 contribution을 계산하는 동작 및 거래량 및 상호 평가에 기반하여 노드 간 contribution을 계산하는 동작 중 적어도 하나를 수행하는 것을 특징으로 한다.
본 발명은 노드 참여자 모두에게 공정한 혜택이 돌아가는 합리적인 블록체인 생태계를 제공할 수 있다.
본 발명의 실시 예에 따른 암호화폐 프로토콜의 합의 알고리즘인 dPoC방식은 트랜잭션의 순서를 결정한 후 비정상적 트랜잭션을 필터링 하는 구조이므로, 안정적이며 보안에 뛰어나며 효율적으로 동작 가능하다.
본 발명의 실시 예에 따른 암호화폐 프로토콜에서는 보상이라는 측면으로 주도권이 온전히 참여 당사자에게 돌아갈 수 있게 하고, 기존 금융시스템에 배제되었던 다양한 계층도 소비와 생산의 선순환 구조에 포함될 수 있도록 기여하는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 contribution 공식의 기본 개념을 설명하기 위한 도면이다.
도 2 내지 도 3은 본 발명의 실시 예에 따른 거래 금액 기반의 contribution 산출 공식의 개념을 설명하기 위한 도면이다.
도 4 는 본 발명의 실시 예에 따른 거래량과 상호 평가에 기반한 contribution 산출 공식의 개념을 설명하기 위한 도면이다.
도 5 내지 도 7은 본 발명의 실시 예에 따른 거래 이외의 요소에 기반하여 contribution을 산출하는 것에 대하여 설명하기 위한 도면이다.
도 8은 본 발명의 실시 예에 따른 블록 생성 대상자 선정 동작을 설명하기 위한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어'있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 '직접 연결되어'있다거나 '직접 접속되어'있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '포함하다' 또는 '가지다' 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시 예는 블록체인 기반의 암호화폐 및 상기 암호화폐의 합의 체계에 관한 것이다. 이하에서, 본 발명의 실시 예에 따른 암호화폐 및 이의 기반이 되는 합의 체계에 관하여 보다 자세히 설명하기로 한다.
본 발명의 실시 예에 따른 블록체인 기반 암호화폐는 본 명세서에서 dPoC(Delegated Proof of Contribution)라고 정의한 합의 메카니즘(Consensus mechanism)을 기반으로 구현될 수 있다.
상기 dPoC에 대한 간략한 설명은 다음과 같다.
블록체인 기술에서는 노드(Node)라는 개념이 사용되는데, 이 때 상기 노드는 트리(tree)구조에서 데이터의 상하위 계층을 나타내는 위치의 항목을 뜻하고 각 암호화폐의 전송을 중계해주는 분산된 작은 서버를 의미하기도 한다. 종래의 PoW방식의 채굴에서는 이러한 노드의 역할을 채굴자가 맡게 되며, PoS방식의 채굴에서는 Staking을 하는 모든 사용자들이 이러한 노드의 역할을 하게 됩니다.
본 발명의 실시 예에 따른 상기 dPoC방식에서는 마스터 노드를 이용하는 방식인데, 상기 마스터노드는 각 노드의 연결의 중심에 위치하며, 노드처럼 단순히 거래를 중계하는 것 이상의 기능을 수행하는 노드이다.
참고로, 마스터노드를 활용한 종래의 합의 알고리즘에는 dPoS(Delegated Proof-of-Stake)가 있는데, 상기 dPoS 합의 알고리즘의 구조는 마스터노드에 일정량의 코인을 묻어두는(Stake) 방식에 따라 보상을 받는 방식이었다. 코인이 묶이게 된다면 그 대가로 일정한 보상주기마다 일정한 양의 코인을 보상받게 되는 것이며, 마스터노드와 연계되어 있는 코인을 옮기거나 사용하면 마스터노드는 멈추게 된다. 이런 방식을 통해서 상기 dPoS방식의 합의는 여러 사용자들이 마스터노드를 운영하도록 장려하고, 오래 가지고 있도록 자연스럽게 유도하는 특징이 있다.
상기 마스터노드는 네트워크를 위한 특정 기능을 수행할 시 어느 정도 운영비용과 노력이 수반되기 때문에 일정한 보상을 받게 되는데, 본 발명의 dPoC의 방식은 이러한 마스터노드가 보상을 받는 기준에 대하여 (현재 여러 나라에서 금지한 Security Token이 아닌)마스터노드의 기여도, 평판도 등을 수학적으로 설정하는 특징이 있으며 또한 부의 집중화를 막기 위하여 보상한계를 설정하는 것을 특징으로 한다. 이에 따라 상기 dPoC는 공정하게 부를 분배하기 위한 목적을 달성할 수 있다.
또한 상기 dPoC는 다양한 비지니스 모델이 블록체인 생태계로 쉽게 합류하도록 하기 위하여 고안된 합의 메카니즘이다. 참고로, 통상의 암호화폐는 블록 생성 등의 동작에 요구되는 합의 체계(예,PoW;작업증명, PoS:지분증명 등)를 선택하고 있으며, 합의 체계 방식에 따라 거래 시간, 노드 참여자의 권한 등에서 차이가 드러나게 된다. 종래의 합의 체계 방식은 암호화폐를 이용해 다양한 서비스를 제공하기에 어려운 한계점(예, PoW에서의 처리시간 지연 문제, PoS에서의 공정성 문제 등)이 있었고, 이를 극복하기 위한 방안으로서 본 발명의 실시 예에 따른 합의 인증 방식이 제안되었다.
본 발명의 실시 예에 따른 dPoC방식은 dPoS 방식 및 PoI방식에서 벗어나, 좀 더 현실의 비지니스 모델을 기초로 사용 가능한 수준의 높은 성능을 보장할 수 있다.
본 발명의 실시 예에 따른 암호화폐는 여러 개의 노드로 구성되어 분산되어 있으며, 이 때 노드 전체는 블록체인에 새로 추가할 사항을 확인하고, 데이터베이스에 새 데이터를 입력할 수 있다. 이렇게 블록체인에 추가할 사항은 노드 대부분의 합의가 필요하며, 암호화폐의 합의 메커니즘을 통하여 네트워크의 보안을 보장하며, 해시가 되지 않은 트랜젝션인 프로그램 데이터는 분산원장과 별도로 보관 가능하다.
본 발명의 실시 예에 따른 암호화폐는 사용자 인증을 수행하기 위하여 다음의 두 가지 인증 절차를 수행할 수 있다. 제 1 인증 절차는 Enrollment Certification(등록 증명)이다. 상기 Enrollment Certification는 사용자의 신원을 확인하기 위한 증명 방식이며, Enrollment Certification 에 따른 인증서는 장기적으로 사용될 수 있다. 제 2 인증 절차는 Transaction Certification(거래 증명)이다. 두 번째 증명 방식인 Transaction Certification은 트랜잭션 마다 발행되는 단기적으로 사용되는 인증서를 이용하는 방식이다. 이를 통하여 Transaction Certification은 각각의 트랜잭션에 대한 익명성을 보장할 수 있다.
본 발명의 실시 예에 따른 암호화폐 프로토콜의 합의 알고리즘인 dPoC방식은 첫번째로 트랜잭션의 순서를 결정한 후 비정상적 트랜잭션을 필터링 하는 구조로, 안정적이며 보안에 뛰어나며 효율적으로 동작 가능하며, 블록 생산자들에 대한 검열은 없으며 모든 블록들은 오픈 소스로 만들어진 결정 상태로 머신의 로직으로 검증된다.
본 발명의 실시 예에 따른 암호화폐는 현실 세계에서 발생 가능한 여러 상황에서도 안정적으로 동작가능하다. 소수포크, 연결된 소수 그룹에서 이중 블록 생성, 비가역 블록, 네트워크 단절 및 다수의 생산자가 문제 등 다양한 현실세계에서 생길 수 있는 다양한 문제점에 대한 충분한 고려를 통한 안정적인 서비스 제공이 가능하며, 또한 계속적으로 필요한 부분에 대하여 보완될 수 있다.
현실의 비즈니스는 상품에 대한 수요를 늘려 판매를 증진시키는 판매촉진 목적으로 “판매장려금”이라는 정책이 존재하며, 암호화폐 프로토콜에서는 보상이라는 측면으로 주도권이 온전히 참여 당사자에게 돌아가고, 기존 금융시스템에 배제되었던 다양한 계층도 소비와 생산의 선순환 구조에 포함 가능하며, 개발도상국과 최빈국에서도 부의 계층적 차별을 뛰어 넘어 개개인들까지 확대가 기대 가능하다.
이하에서는 본 발명의 실시 예에 따른 암호화폐 및 이의 기반이 되는 합의 인증 방식에 대한 공식에 대하여 설명하기로 한다.
N개의 account(node)가 있을 때, Contribution vector
Figure 112018062338768-pat00001
를 정의한다. 각 노드의 Contribution 값은 해당 노드와 관계를 맺는 다른 노드들의 Contribution 의 linear combination(선형결합)을 통해 정의한다. 즉 이를 식으로 표현하면 다음의 수식(1)과 같다.
Figure 112018062338768-pat00002
-(1)
여기서,
Figure 112018062338768-pat00003
이다.
상기 수식(1)은 미지수인 C를 알기 위해 미지수인 자기 자신을 이용해서 정의하는 순환적인 정의를 갖고 있다. 따라서 해당 등식을 만족하는 C는 무수히 많을 수도 있고, 존재하지 않을 수 있다. 위 등식을 행렬 관점에서 바라보면 다음과 같이 표현할 수 있다.
Figure 112018062338768-pat00004
-(2)
그리고 이는 다음과 같은 eigen value(고유값)- eigen vector(고유벡터) problem의 특수한 경우와 같다고 할 수 있다.
Figure 112018062338768-pat00005
-(3)
, 여기서
Figure 112018062338768-pat00006
따라서
Figure 112018062338768-pat00007
를 만족하는 vector
Figure 112018062338768-pat00008
의 존재성은 행렬
Figure 112018062338768-pat00009
의 고유값(eigen value) 중 1이 있는지 여부에 의해 결정될 수 있다. 그리고 실제
Figure 112018062338768-pat00010
의 형태는 고유값(eigen value) 1에 대응되는 고유 벡터라 할 수 있다.
행렬 H의 고유값 중 1이 포함되는 것이 항상 보장되지 않기 때문에 Contribution간의 관계를 정의하는
Figure 112018062338768-pat00011
를 정의할 때 이를 주의해서 정의해야 한다. 다행히도 종래 공지된 기술(Norris 1998)에 의하면 Stochastic Matrix는 최대 고유값(maximum eigen value)이 항상 1이기 때문에 H를 Stochastic matrix의 조건만 만족시키도록 한다. Stochastic matrix의 조건은 다음과 같다.
Figure 112018062338768-pat00012
-(4)
Figure 112018062338768-pat00013
-(5)
Figure 112018062338768-pat00014
-(6)
앞에서 언급한 것과 같이
Figure 112018062338768-pat00015
를 Stochastic matrix로 설정하는 것은 C의 존재성을 보장하기 위한 설정일 뿐만 아니라 Contribution의 의미를 고려하였을 때 합리적인 가정이다.
Figure 112018062338768-pat00016
Figure 112018062338768-pat00017
에게 영향을 주는 비율을
Figure 112018062338768-pat00018
로 표현할 수 있고, j를 고정했을 때 모든
Figure 112018062338768-pat00019
가 모든
Figure 112018062338768-pat00020
들에게 주는 영향력의 합은 다음의 수식(7)에서 도시되는 바와 같이
Figure 112018062338768-pat00021
와 같게 된다.
Figure 112018062338768-pat00022
-(7)
즉, 각 노드는 자신의 Contribution 수치만큼 투표권을 갖게 되고 자신이 신뢰하는 정도에 따라 다른 노드들에게 투표하는 구조를 갖게 된다. 이는 Contribution의 정의와 합치하기 때문에 합리적인 가정이라 볼 수 있다.
위의 가정에 의해 Contribution을 구하는 문제는 Contribution간에 관계를 나타내는
Figure 112018062338768-pat00023
크기의 Stochastic matrix
Figure 112018062338768-pat00024
를 정의하는 문제로 환원될 수 있다.
노드의 Contribution에 영향을 주는 요소는 여러가지가 있을 수 있기 때문에 여러 요소가 한꺼번에 반영된
Figure 112018062338768-pat00025
를 직접 정의하기보다는 각 요소별로 Contribution의 linear combination coefficient를 정의하고 이를 합하여 전체
Figure 112018062338768-pat00026
를 계산하도록 한다. 단
Figure 112018062338768-pat00027
는 Stochastic matrix이어야 하기 때문에 여러 요소의 영향력을 더할 때 다음과 같은 조치를 취한다.
각 요인에 대응되는 matrix를 Stochastic matrix로 설정하고 이들에 대해 전체 weight의 합이 1인 weighted sum을 해주게 된다면 Stochastic matrix의 구조가 유지된다. 이를 식으로 표현하면 다음과 같다.
Figure 112018062338768-pat00028
-(8)
(여기서,
Figure 112018062338768-pat00029
,
Figure 112018062338768-pat00030
이다.)
이 때 M, Q, B, E는 Contribution 계산에 영향을 주는 요인별 matrix라 할 수 있다. 그리고 이는 Stochastic matrix임이 보장 되어야한다. 이를 위해 임의의 Positive matrix
Figure 112018062338768-pat00031
가 있을 때, 이를 Stochastic matrix
Figure 112018062338768-pat00032
로 만드는 방법은 다음과 같은 변환을 통해 구할 수 있다.
Figure 112018062338768-pat00033
-(9)
(여기서,
Figure 112018062338768-pat00034
이다.)
이 변환을 그림으로 나타내면 도 1과 같다.
상기 수식에서
Figure 112018062338768-pat00035
의 구성요소인
Figure 112018062338768-pat00036
는 다음과 같다.
첫번째 행렬인
Figure 112018062338768-pat00037
은 거래금액과 관련된 변수로서 노드(node) 간에 거래금액과 유효한 거래금액이 많을수록 긍정적 영향을 끼치는 것을 나타내는 행렬이다.
두번째 행렬인
Figure 112018062338768-pat00038
는 노드 간의 거래량과 노드 간의 신뢰 평가요소를 동시에 고려한 영향력을 나타내는 행렬이다. 그리고 세번째는 거래에 의해 직접적으로 잡히지 않는 노드 간의 관계를 고려하기 위해 만든 행렬이다. 마지막으로 행렬
Figure 112018062338768-pat00039
는 알고리즘의 수렴성을 보장하기 위해 만든 Teleportation matrix이다.
이외에도 노드 간의 Contribution 관계에 영향을 줄 수 있는 요인이 발견되거나 데이터축적이 이루어지면 weight을 통해 요인을 추가할 수 있다.
다음은 거래금액에 기반한 수식에 대하여 설명하기로 한다. 먼저 거래금액 기반의 식에서 인용되는 변수 항목을 살펴보면, 다음과 같다.
먼저,
Figure 112018062338768-pat00040
는 트랜잭션이 일어난 height를 의미할 수 있고,
Figure 112018062338768-pat00041
는 현재 날짜를 의미할 수 있으며,
Figure 112018062338768-pat00042
는 최근 거래목록으로서 반영할 일(date) 수를 의미할 수 있다. 그리고
Figure 112018062338768-pat00043
는 노드 인덱스(node index)이고,
Figure 112018062338768-pat00044
는 h번째 트랜잭션 상에서 i번째 노드로부터 j번째 노드로 거래된 유효 금액을 의미하며,
Figure 112018062338768-pat00045
는 h번째 트랜잭션에서 i번째 노드로부터 j번째 노드로 수행된 거래의 성공 여부를 의미하는 변수이다. 그리고
Figure 112018062338768-pat00046
는 트랜잭션을 인풋으로 하고 대응되는 날짜를 아웃풋으로 하는 함수를 의미할 수 있다.
거래금액 기반의 수식은 두 노드 간의 Contribution에 영향을 줄 수 있는 요인 중 노드 간의 거래 금액을 고려한다. 노드 i와 j간의 거래량이 많다는 것은 그들 간에 강력하고 긍정적인 인터렉션이 있었다는 신호이다. 또한 거래금액 기반의 수식에 따르면, 거래 발생 시간에 대하여 가중치를 부여할 수 있는데, 이는 최근 발생한 거래금액과 과거에 발생한 거래금액을 동등하게 취급할 수 없기 때문이다. 즉, 하기에 제시될 거래금액 기반의 수식은 기 설정된 시점 이전의 거래와 이후의 거래를 구분하고 가중치를 부여하거나, 거래 시점이 현재 시점에서 가까울수록 가중치를 부여하는 방식의 계산값을 적용할 수 있다.
종래에 총 거래금액과 시간에 대한 반영은 POI(중요도 증명)의 Importance의 Outlink matrix를 계산하는 부분에서 반영하였다. 하지만 PoI에서 적용되는 방식에서는 두가지 문제점이 존재했다. 하나는 거래금액을 고려할 때 노드 i와 j간의 net amount를 이용해 반영한다는 점인데, 이 때문에 실제로 두 노드 간에 많은 거래금액이 존재했더라도 상호 주고받은 거래금액이 동등하게 측정될 경우, 각각의 노드는 영향력이 없게 된다. 두번째로 PoI방법에서는 유효 거래금액에 대해서만 고려하고 취소된 거래 금액에 대해서는 고려하지 않았다. 이에 따라 상기 PoI에서는 호가 및 시세 부추기는 도구로서 많은 양의 거래금액을 계약하고 취소하는 악용사례가 존재한다는 문제가 있었다. 따라서, 이와 같은 악용 사례를 방지하기 위해 거래 취소에 따른 불이익 제도가 필요하다. 본 발명의 실시 예에 따른 거래금액 기반의 수식에서는 이 두가지 문제점을 해결할 수 있는 방법론을 제안한다.
본 발명의 실시 예는 먼저 취소된 거래 금액을 반영하여 노드의 최근 d0일간의 유효한 거래금액과 취소된 거래금액
Figure 112020006613800-pat00047
,
Figure 112020006613800-pat00048
를 다음과 같이 정의할 수 있다.

Figure 112020006613800-pat00198
-(10)

Figure 112020006613800-pat00199
-(11)
삭제
삭제
이 때
Figure 112018062338768-pat00051
는 다음과 같다.
Figure 112018062338768-pat00052
-(12)
그리고 이를 바탕으로 최근 d일간의 거래금액 성공 비율
Figure 112018062338768-pat00053
를 다음과 같이 정의한다.
Figure 112018062338768-pat00054
- (13)
그리고 시간을 반영한
Figure 112020006613800-pat00055
날짜의 노드 i에서 노드 j로의 거래금액량
Figure 112020006613800-pat00056
를 다음과 같이 정의한다.
Figure 112018062338768-pat00057
-(14)
위 값은 노드 i에서 노드 j로의 t날짜에 발생한 모든 transaction을 더하고 시간과 관련된 factor를 곱하여 주는 값이다. 이때 부여되는 날짜에 따른 가중치의 그래프는 도 2와 같다.
위에서 정의한 모든 것을 반영하여 노드 i로부터 노드 j로의 거래량에 따른 점수를 다음과 같이 정의한다.
Figure 112020006613800-pat00200
-(15)
Figure 112018062338768-pat00059
로 만들어진 행렬은 stochastic matrix가 아니기 때문에 다음 계산을 통해 거래금액에 의한 행렬
Figure 112018062338768-pat00060
를 다음과 같이 정의한다.
Figure 112018062338768-pat00061
-(16)
이와 같은 노드간의 관계를 그래프로 표현하면 도 3과 같다.
이하에서는 본 발명의 실시 예에 따른 거래량과 상호 평가에 기반한 수식에 대하여 설명하기로 한다. 먼저, 거래량과 상호 평가에 기반한 수식에 사용되는 변수는 다음과 같다.
먼저,
Figure 112018062338768-pat00062
는 트랜잭션이 일어난 height를 의미하고,
Figure 112018062338768-pat00063
는 현재 날짜를 의미하며,
Figure 112018062338768-pat00064
는 최근 거래목록으로서 반영할 일수를 의미할 수 있다. 그리고
Figure 112018062338768-pat00065
는 노드 인덱스를 의미하고,
Figure 112018062338768-pat00066
는 h번째 트랜잭션에서 i번째 노드로부터 j번째 노드로의 거래가 실제 성공했는지 여부와 관련된 값이고,
Figure 112018062338768-pat00067
는 트랜잭션을 인풋으로 하고 대응되는 날짜를 아웃풋으로 하는 함수를 의미할 수 있다. 그리고
Figure 112018062338768-pat00068
는 i 노드와 거래 기록이 있었던 노드의 집합을 의미할 수 있다.
다음으로, 상기 방식에 대하여 설명하면, 상기 방식은 노드간의 거래량과 평가에 의한 신용정도에 기반하여 노드 i가 노드 j에게 Contribution에 대한 영향력을 계산하는 방식이다. 이 방식에 따르면 노드 i가 노드 j에 대한 Contribution의 영향력을 고려할 때, 성공 거래량의 비율이 클수록 긍정적인 영향을 끼치게 된다. 그러나 이 방식은 거래량 비율 뿐 아니라 노드간의 평가 정보를 factor로 사용하는데, 이 때 상기 평가 정보는 가중치로서 사용될 수 있다. 이는 Eigentrust++에서 사용한 것과 같은 방법을 이용한 것으로서, Eigentrust++에서는 similarity를 계산하여 반영하였지만, 본 발명의 실시 예에 따른 상기 모델에서는 노드간 평가 정보를 반영한다. 최근
Figure 112018062338768-pat00069
일간의 노드 i에서 노드 j로의 성공 거래량
Figure 112018062338768-pat00070
와 노드 i에서 노드 j로의 실패 거래량
Figure 112018062338768-pat00071
은 다음의 수식 (17, (18)과 같이 정의될 수 있다.
Figure 112018062338768-pat00072
-(17)
Figure 112018062338768-pat00073
-(18)
위의 계산은 최근 거래 기록에 관한 것이기 때문에 거래 기록은 있지만 최근 기록에 잡히지 않은 노드 쌍들도 있을 수 있다. 이런 노드들과 거래기록이 전혀 없었던 노드들에 대해 동등한 취급을 하는 것은 부당하기 때문에 이를 고려하여 Transition matrix를 구성할 수 있다. 이를 위해 먼저
Figure 112018062338768-pat00074
를 다음과 같이 정의할 수 있다.
Figure 112018062338768-pat00075
-(19)
최근 전송 성공률과 거래기록을 반영하여
Figure 112018062338768-pat00076
를 다음과 같이 정의할 수 있다.
Figure 112018062338768-pat00077
-(20)
이를 기반으로 거래량과 상호평가 기반 상대 신뢰 행렬
Figure 112018062338768-pat00078
를 다음과 같이 정의할 수 있다.
Figure 112018062338768-pat00079
-(21)
이를 그래프로 표현하면 도 4와 같다.
다음은 본 발명의 다양한 실시 예에 따른, 거래 이외의 관계에 의한 식에 대하여 설명하기로 한다.
상기 거래 이외의 관계에 관계된 식에서 사용되는 변수를 살펴보면,
Figure 112018062338768-pat00080
는 다른 노드를 관리하는 노드 인덱스를,
Figure 112018062338768-pat00081
는 다른 노드를 관리하지 않는 노드 인덱스를 각각 의미할 수 있다. 그리고
Figure 112018062338768-pat00082
는 노드 j가 거래 이외에 영향을 줄 수 있는 노드의 인덱스를,
Figure 112018062338768-pat00083
는 관리하는 입장의 노드 j의 노드 i에 대한 평가 값을 의미할 수 있다.
이하, 본 발명의 다양한 실시 예에 따라, 관계에 기반하여 영향력을 계산하는 방법을 설명하기로 한다. 상기 관계에 기반하여 영향력을 계산하는 방식은 최근거래량과 거래금액에는 잡히지 않지만 그 이외의 존재하는 관계를 통해 노드 간 연결이 되어 있는 경우를 고려하는 방식이다.
POI과 같은 종래의 모델에서는 모든 노드가 질적으로 동등하였으나, 상기 모델(관계 기반 모델)에서는 기업 혹은 개인의 형태로 노드가 구분될 수 있다. 본 발명의 실시 예에 따른 상기 관계 기반 모델에서는 이를 반영하여 노드간의 거래 이외의 관계를 두 가지 형태로 정의할 수 있다.
구체적으로, 관계 기반 모델에 따르면 두 가지의 형태 노드 중 하나는 노드들을 관리하는 입장의 노드이고, 다른 하나는 그렇지 않은 노드일 수 있다. 노드 i가 단순 사용자 입장이라면 구독 혹은 회원가입과 같은 형태로 다른 노드와 연결되어 있을 수 있다. 이는 다른 노드들과 단순히 연결 여부로만 관계를 맺는다. 반대로 노드 i가 관리하는 입장의 노드라면 관리하는 대상의 노드들에 대해 평가를 할 수 있고, 상기 노드 i는 대상 노드들에 대한 다양한 형태의 평가 점수를 보유하고 있을 수 있다. 상기 관계 기반 모델에서는 다른 노드를 관리하지 않는 입장의 노드에 대하여 관계를 맺는 노드들에 대한 동등한 weight를 부여한다.
Figure 112018062338768-pat00084
-(22)
이는 모든
Figure 112018062338768-pat00085
Figure 112018062338768-pat00086
에 대해서만 정의된다.
이를 그림으로 나타내면 도 5와 같다.
그리고 관리하는 입장의 노드(
Figure 112018062338768-pat00087
) 에 대해서는 각 노드에 대한 평가값
Figure 112018062338768-pat00088
의 normalized된 값에 기반하여 계산할 수 있다.
Figure 112018062338768-pat00089
-(23)
이는 모든 i와
Figure 112018062338768-pat00090
에 대해서만 정의되고 이를 그래프로 표현하면 도 6과 같다. 마지막으로 아무런 관계를 맺지 않는 노드들에 대해서는 dangling node가 되는 것을 방지하기 위해 모든 노드들에 대해 동등한 영향을 주도록 한다. 이를 식으로 표현하면 다음의 식 (24)와 같다.
Figure 112018062338768-pat00091
-(24)
이는 모든 i와
Figure 112018062338768-pat00092
에 대해서만 정의될 수 있으며, 이를 반영한 그래프는 도7과 같다.
본 발명의 실시 예에 따른 상기 관계 기반 모델의 수식을 모두 반영하면, 회원 정보기반 신뢰 행렬
Figure 112018062338768-pat00093
은 다음의 수식 (25)와 같이 정의될 수 있다.
Figure 112018062338768-pat00094
-(25)
다음은 Contribution 의 계산 방법에 대하여 설명하기로 한다.
본 발명의 실시 예에 따른 Contribution 의 계산 방법에서는, Power Method를 적용하여 계산할 수 있다. 종래 기술(예,Norris 1998)에 따르면 Stochastic matrix의 최대 고유값(eigen value)은 1이다. 그리고 Contribution을 구하기 위해선 최대 고유값에 대응되는 고유 벡터(eigen vector)를 구해야 한다. 이를 위해 본 발명의 실시 예에 따른 방법에서는 H행렬에 대해 Power Method(Saad 2003)를 적용할 수 있다. 상기 Power method는 특정 조건의 행렬 square matrix A 의 최대 고유 값
Figure 112018062338768-pat00095
에 대응되는 고유벡터를 구하는 일반적인 방법론으로서, 이에 대한 알고리즘과 적용가능 조건에 대한 정리는 다음과 같다.
1) 초기값 설정 : 임의의 0이 아닌
Figure 112018062338768-pat00096
를 설정한다.
2) 반복 적용 : k=1,...(iteration) 에 대해
Figure 112018062338768-pat00097
-(26)
( 상기
Figure 112018062338768-pat00098
는 최대 모듈러스를 갖는 벡터(
Figure 112018062338768-pat00099
)의 구성 요소이다.)
이 때 특정 조건 하에서 다음과 같이 수렴한다.
Figure 112018062338768-pat00100
-(27)
Figure 112018062338768-pat00101
-(28)
Transition matrix에 대해 Power method를 적용하기 위한 세가지 충분조건이 있다. 첫째는Transition matrix가 Stochastic matrix이라는 것과 둘째는 Irreducible하다는 것 마지막은 primitive하다는 것이다. Stochastic matrix는 앞에서 언급했던 것과 마찬가지로 column의 합이 1이라는 것이고 Irreduciblity와 Primitivity에 대한 정의는 다음과 같다.
먼저 Irreduciblity에 대하여 설명하면, 특정 노드는 임의의 다른 노드로 Markov 연쇄를 통해 이동할 수 있다는 성질이다. 식으로 표현하면 다음과 같다.
임의의 모든 노드 i, j에 대해서
Figure 112018062338768-pat00102
가 존재하여 다음을 만족시킨다.
Figure 112018062338768-pat00103
-(29)
다음으로 Primitive에 대하여 설명하면, Transition Matrix연쇄를 하다보면 임의의 노드에서 다른 모든 노드로 갈 수 있는 가능성이 존재하는 시점이 발생한다는 성질이다. 이를 표현하면 다음과 같다.
Figure 112018062338768-pat00104
Transition matrix
Figure 112018062338768-pat00105
의 네 번째 요소인
Figure 112018062338768-pat00106
는 앞서 언급한 정의 세 개를 만족하도록 조정하는 역할을 한다.
본 발명의 실시 예에 따라, 상기 Power Method를 적용하여 실제로 Contribution vector C를 다음과 같이 구할 수 있다.
● set initail value
Figure 112018062338768-pat00107
-(30)
(where
Figure 112018062338768-pat00108
is a vector with all element 1)
● Calculate
Figure 112018062338768-pat00109
from
Figure 112018062338768-pat00110
Figure 112018062338768-pat00111
-(31)
● Convergence check
매우 작은 값
Figure 112018062338768-pat00112
을 설정하여 다음 조건을 만족하면 iteration을 중단한다.
Figure 112018062338768-pat00113
-(32)
다음은 본 발명의 실시 예에 따른 Reputation 계산에 대하여 설명하기로 한다. 먼저, reputation 계산식에 사용되는 변수를 살펴보면,
Figure 112018062338768-pat00114
는 i 노드의 recommending reputation을 의미하고,
Figure 112018062338768-pat00115
는 i 노드의 recommended reputation을 의미할 수 있다. 그리고
Figure 112018062338768-pat00116
는 i 노드의 total reputation을 의미하고,
Figure 112018062338768-pat00117
는 j 노드의 i 노드에 대한 평가 값을 의미할 수 있다.
노드들에 대한 reputation을 고려할 때 두 가지 요소가 있다. 하나는 평가자로서의 reputation이고 다른 하나는 평가 받는 입장으로서의 reputation이다. 이 두가지를 반영하기 위해 크기 N인 벡터 두개
Figure 112018062338768-pat00118
,
Figure 112018062338768-pat00119
를 정의할 수 있다. 그리고 노드간의 평가 값을 column에 대해 합이 1이 되도록 한 행렬
Figure 112018062338768-pat00120
를 다음과 같이 정의할 수 있다.
Figure 112018062338768-pat00121
-(33)
Figure 112018062338768-pat00122
-(34)
이를 바탕으로 다음과 같이 recommending reputation은 recommended reputation을 이용하여 정의하고, recommended reputation은 recommending reputation을 이용하여 정의한다.
Figure 112018062338768-pat00123
-(35)
Figure 112018062338768-pat00124
-(36)
상기 Reputation 값은 POI의 Importance와 Contribution과 같이 순환적으로 정의될 수 있으나, 본 발명의 실시 예에서는, 상기 PoI의 방식과는 다르게 평가를 받는 입장과 하는 입장을 동시에 고려하였다.
Figure 112018062338768-pat00125
Figure 112018062338768-pat00126
를 계산하는 방법은 Power Method와 같은 방법을 적용하며 이에 대한 수렴성은 공지된 기술(Fan, Li, Ma, Ren, Zhao & Su 2012 의 section 2 .3)에 의해 정당화될 수 있다.
해당 알고리즘을 통해 구한
Figure 112018062338768-pat00127
Figure 112018062338768-pat00128
를 이용하여
Figure 112018062338768-pat00129
를 다음의 식 (36)에서와 같이 구하고 이는 각 노드의 reputation으로 정의될 수 있다.
Figure 112018062338768-pat00130
-(37)
[표 1]
Figure 112018062338768-pat00131
다음은, 블록 생성 대상자를 선정하는 방법에 대하여 설명하기로 한다.
본 발명의 실시 예에 따른 블록 생성 대상자 선정 방식을 나타내는 수식은 다음의 변수를 포함할 수 있다. 먼저
Figure 112018062338768-pat00132
는 기업 노드 인덱스 집합을 의미하는 변수이고,
Figure 112018062338768-pat00133
는 i 노드의 Contribution을 의미하는 변수이다. 그리고
Figure 112018062338768-pat00134
는 i 노드의 Stake을 의미하고,
Figure 112018062338768-pat00135
는 i 노드가 t번째 블록 생성단계에서 하루 동안 생성한 블록의 수를 의미한다. 그리고
Figure 112018062338768-pat00136
는 블럭 생성에 따른 보상을 의미하고,
Figure 112018062338768-pat00137
는 하루 생성되는 블록의 총량을 의미할 수 있다.
통상적으로, 블록 생성 주기마다 어떤 노드에게 권한을 부여할 것인지 결정하기 위해 주로 다음의 두 가지 요소를 고려할 수 있다. 두 가지 요소 중 하나는 노드의 계산된 Contribution값이고, 또 다른 하나는 노드가 가지고 있는 지분의 양이다. 하지만 위 두 가지 요소를 고려하게 되었을 때, 소수의 노드가 독점하고 보상에 의해 Stake가 집중화 되는 현상이 발생될 가능성이 있다. 이에 따라 본 발명의 실시 예에는 이와 같은 종래의 문제를 방지하기 위해 각 노드당 하루 생성하는 블록의 수가 30%를 넘지 못하도록 조정하는 방법이 추가될 수 있다.
구체적으로, 상기 언급한 요인들과 제한 조건을 반영하여, 본 발명의 실시 예는 각 기업 노드들에 대한 score를 다음과 같이 정의할 수 있다.
Figure 112018062338768-pat00138
-(37)
여기서
Figure 112018062338768-pat00139
는 상수로서 정의된다.
이때 Contribution은 normalization되어 있는 값이기 때문에 특정 노드가 Contribution을 독점하고 있을 가능성이 낮다. 하지만 Stake는 단순한 보유량으로서 scale이 전혀 되어있지 않아서 많이 보유하고 있는 노드가 필요 이상으로 점수에 이득을 얻게 된다. 이를 방지하기 위해 Stake에 log를 취하여서 큰 차이에 대해 평탄화 시킨다. score vector를 바탕으로 각 i 노드의 Block 생성 확률
Figure 112018062338768-pat00140
을 계산한다. 이때
Figure 112018062338768-pat00141
가 가장 큰 노드의
Figure 112018062338768-pat00142
가 가장 크도록 하며, 이의 값이 30%를 넘지 않도록 한다.
Figure 112018062338768-pat00143
는 다음과 같은 알고리즘으로 생성한다. index h를 1부터
Figure 112018062338768-pat00144
까지 변형시켜가면서 다음 과정을 반복한다.
Figure 112018062338768-pat00145
Figure 112018062338768-pat00146
초기화 및
Figure 112018062338768-pat00147
세팅
Figure 112018062338768-pat00148
-(38)
Figure 112018062338768-pat00149
Figure 112018062338768-pat00150
설정
Figure 112018062338768-pat00151
-(39)
Figure 112018062338768-pat00152
Figure 112018062338768-pat00153
Figure 112018062338768-pat00154
Figure 112018062338768-pat00155
설정
(이 때,
Figure 112018062338768-pat00156
에 대해
Figure 112018062338768-pat00157
로 설정하고, 나머지에 대해서는
Figure 112018062338768-pat00158
로 설정할 수 있다. )
위 (39)식에서
Figure 112018062338768-pat00159
factor는
Figure 112018062338768-pat00160
값이 커짐에 따라서 0에 가까워지게 하는 값으로서 한 노드당
Figure 112018062338768-pat00161
가 30%이상의 되는 것을 방지하기위한 factor이다. 완화시키는 정도를 조정하기 위해 Parameter인
Figure 112018062338768-pat00162
를 변경조정할 수 있으며
Figure 112018062338768-pat00163
에 따른 그래프는 도 8과 같다. 이 때 iteration 수
Figure 112018062338768-pat00164
를 이용하여
Figure 112018062338768-pat00165
는 다음과 같이 설정하여 30%를 넘지 못하게 한다.
Figure 112018062338768-pat00166
-(40)
그리고 k값은 simulation을 통해 합리적인 값으로 설정한다. 그리고
Figure 112018062338768-pat00167
를 다음의 식(41)과 같이 정의할 수 있다.
Figure 112018062338768-pat00168
-(41)
이 때 상기
Figure 112018062338768-pat00169
를 노드 i 가 선정될 확률로 설정하여 블록 생성의 권한을 부여한다.
본 발명의 다양한 실시 예에 따라 초기 참여자도 블록생성에 가담할 수 있도록하기 위해 Stake와 Contribution 이외에 Reputation만으로 block 생성할 기회를 부여하는 알고리즘을 구현할 수 있다. 본 발명의 실시 예는 계산된 reputation vector
Figure 112018062338768-pat00170
에 대해 합이 1이 되도록 표준화를 하고 이를 확률
Figure 112018062338768-pat00171
로 부여하여 block 생성자를 선택할 수 있다.
또한, 본 발명의 다양한 실시 예는 하루에 생성되는 블록의 양을 제한할 수 있다. 이는 하나의 노드가 Block생성을 독점하는 것을 방지하기 위해 하루에 생성할 수 있는 양을 제한할 필요가 있기 때문이다. 본 발명에서 제한양은 모든 노드에 동등하게 적용하지 않고, Reputation 점수가 낮은 노드들에 더 큰 제한을 가하도록 하는 동작을 수행할 수 있다.
상기 블록 생성 양 제한 방법에 대하여 설명하면 다음과 같다. 먼저 노드별 제한의 양의 정도를
Figure 112018062338768-pat00172
로 표현하기로 한다. 본 발명의 실시 예에 따른 블록 생성 제한 동작은 logit function factor를 고려할 수 있다. Block생성 순서
Figure 112018062338768-pat00173
시점에 대해 이를 구체적으로 식으로 표현하면 다음과 같다.
Figure 112018062338768-pat00174
-(42)
Figure 112018062338768-pat00175
-(43)
Figure 112018062338768-pat00176
-(44)
Figure 112018062338768-pat00177
-(45)
이 때 상기
Figure 112018062338768-pat00178
Figure 112018062338768-pat00179
의 합이 1이 되도록 표준화하여
Figure 112018062338768-pat00180
,
Figure 112018062338768-pat00181
를 계산할 수 있다. 그리고 여기서 rank 함수는input vector의 input index의 rank를 계산하는 함수이다. 그리고 시뮬레이션 바탕으로 k를 설정하여 벌점 factor의 완화도를 결정할 수 있다.
나아가, 본 발명의 다양한 실시 예에 따르면, 앞서 설명된 Stake & Contribution 기반방법과 Reputation 기반방법을 병합하여 실시할 수 있다. 앞의 과정에서 Block 생성자를 선정하는 두 가지 방법을 제시하였다. 예컨대, 매 Block을 생성할 때, 0과1 사이의 균등분포에서 random sample을 얻은 뒤 이 값이 0.9보다 작으면 Stake & Contribution 기반방법을 적용하여 생성자를 선택하도록 하고, 아닐 경우에는 Reputation 기반방법을 적용하여 생성자를 선정하도록 하는 방식과 같이 수행될 수 있다. 이 때 각Block t에 대해 Stake & Contribution에서의 노드 선택함수는
Figure 112018062338768-pat00182
이며, Reputation기반 방법에서의 선택함수는
Figure 112018062338768-pat00183
으로 설정될 수 있다.
Figure 112018062338768-pat00184
Figure 112018062338768-pat00185
Select node base on
Figure 112018062338768-pat00186
Select node based on
Figure 112018062338768-pat00187
Update
Figure 112018062338768-pat00188
and
Figure 112018062338768-pat00189
앞서 설명한 바에 따르면, 본 발명의 실시 예에 따른 합의 인증 방식은 분산과 공유를 통해 생기는 이득이 처리 속도나 집중보다 크며, 비용 효율과 같은 기업의 목적보다는 사용자의 가치를 우선 접근하고 채굴의 가용성을 넘어설 수 있는 네트워크 참여자들의 현실적인 보상에 대한 설계 및 보안에 대한 문제가 고려되고 블록체인 단일 기술에 한정되기 보다는 분산형 서비스 모델에 초점을 맞춘 프로토콜이다.
본 발명의 최대 목표는 탈중앙화 기반의 서비스 기업과, 기관 혹은 단체를 탄생하게 하며 지원하는 것이다. 이와 같은 거대한 분권화 시스템을 만들기 위해서는 이같은 기능이 동작하기 위한 플랫폼이 필요하며, 본 발명은 이러한 거대한 트렌젝션을 처리하기 위하여 엔터프라이즈급으로 고려된 아키텍처로 구성되어 있다.
본 발명은 1차적 목표인 공정한 부의 분배를 위하여, “영업장려금”이라는 정책을 기반으로 비지니스별 세부 정책은 에코시스템 참여한 비즈니스 사업체를 통한 올바른 시장형성을 할 수 있도록 유도할 수 있다. 이에 따라 본 발명은 향후 장기적으로 축척된 다양한 데이터를 가공하여 판매하는 수익 모델 또한 기대 할 수 있다.
상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 당업자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 요컨대 본 발명이 의도하는 효과를 달성하기 위해 도면에 도시된 모든 기능 블록을 별도로 포함하거나 도면에 도시된 모든 순서를 도시된 순서 그대로 따라야만 하는 것은 아니며, 그렇지 않더라도 얼마든지 청구항에 기재된 본 발명의 기술적 범위에 속할 수 있음에 주의한다.

Claims (1)

  1. 복수의 노드로 구성되는 네트워크 환경에서의 블록체인 인증 방법에 있어서,
    블록 추가를 위해 노드 간 합의 수행 시, 각 노드는 부여된 Contribution 수치만큼의 투표권을 갖고 합의에 참여하는 동작;을 수행하되,
    상기 각 노드에 부여되는 Contribution은 유효 거래금액 및 거래 시점에 기반한 계산 동작, 거래량과 상호 평가에 기반한 계산 동작, 거래 이외의 관계에 의한 계산 동작 중 적어도 하나에 의해 산출되고,
    상기 유효 거래금액 및 거래 시점에 기반한 계산 동작은
    거래 발생 일자가 최근일수록 거래금액에 가중치를 곱하는 방식으로 특정 날짜 t의 노드 i에서 노드 j로의 거래 금액량을 산출함에 의해 수행되되, 하기 수식 10 내지 수식 15에 따라 수행되며,
    상기 거래량과 상호 평가에 기반한 계산 동작은 하기 수식 17 내지 수식 18에 따라 수행되며,
    상기 거래 이외의 관계에 의한 계산 동작은 노드를 다른 노드들을 관리하는 입장의 노드와, 관리 대상인 노드의 두 종류로 구분하고, 관리하는 입장의 노드가 관리 대상의 노드들에 대한 평가를 수행하고, 각 노드에 대한 평가값을 정상화한 값에 기반하여 상기 관리하는 입장의 노드에 대한 평가를 수행함에 기반하여 이루어지며,
    상기 수식 10 은
    Figure 112020006613800-pat00201

    상기 수식 11은
    Figure 112020006613800-pat00202

    상기 수식 12는
    Figure 112020006613800-pat00203

    상기 수식 13은
    Figure 112020006613800-pat00204

    상기 수식 14는
    Figure 112020006613800-pat00205

    상기 수식 15는
    Figure 112020006613800-pat00206
    이고,
    상기 수식 17은
    Figure 112020006613800-pat00207

    상기 수식 18은
    Figure 112020006613800-pat00208
    이고,
    상기 h는 트랜잭션이 일어난 블록의 height를 의미하고, 상기
    Figure 112020006613800-pat00209
    는 현재 날짜를 의미하고, 상기 d0는 최근 거래 목록으로서 반영할 일 수를 의미하고,
    상기
    Figure 112020006613800-pat00210
    는 노드의 최근 d0일간 유효한 거래금액이고,
    상기
    Figure 112020006613800-pat00211
    는 노드의 최근 d0일간 취소된 거래금액이고,
    상기
    Figure 112020006613800-pat00212
    는 h번째 트랜잭션에서 i번째 노드에서 j번째 노드로의 실제 거래 성공 여부이고,
    상기
    Figure 112020006613800-pat00213
    는 최근 d0일간의 거래금액 성공 비율이고,
    상기
    Figure 112020006613800-pat00214
    는 t 날짜의 노드 i에서 노드 j로의 거래 금액량을 의미하고,
    상기
    Figure 112020006613800-pat00215
    는 최근 d0일간의 노드 i에서 노드 j로의 성공 거래량을 의미하고,
    상기
    Figure 112020006613800-pat00216
    는 최근 d0일간의 노드 i에서 노드 j로의 실패 거래량을 의미하는 것을 특징으로 하는, 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법.


KR1020180073036A 2018-06-25 2018-06-25 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법 KR102108909B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180073036A KR102108909B1 (ko) 2018-06-25 2018-06-25 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법
PCT/KR2018/007312 WO2020004686A1 (ko) 2018-06-25 2018-06-27 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180073036A KR102108909B1 (ko) 2018-06-25 2018-06-25 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법

Publications (2)

Publication Number Publication Date
KR20200000770A KR20200000770A (ko) 2020-01-03
KR102108909B1 true KR102108909B1 (ko) 2020-05-12

Family

ID=68987316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180073036A KR102108909B1 (ko) 2018-06-25 2018-06-25 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법

Country Status (2)

Country Link
KR (1) KR102108909B1 (ko)
WO (1) WO2020004686A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111383111A (zh) * 2020-03-03 2020-07-07 李斌 一种基于计算资源算力证明的共识算法
CN115065688A (zh) * 2022-06-06 2022-09-16 咪咕文化科技有限公司 一种数据传输方法、装置、设备及计算机可读存储介质
KR102550151B1 (ko) * 2022-10-18 2023-07-03 주식회사 준다 핀테크 플랫폼 서비스 이용자의 성향 및 이용 방식을 고려하여 사용자 성향에 맞는 거래량 및 변동폭 정보를 제공하기 위한 장치 및 방법
CN115841354B (zh) * 2022-12-27 2023-09-12 华北电力大学 一种基于区块链的电动汽车充电桩维修评价方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
JP6313532B1 (ja) * 2016-11-17 2018-04-18 テルモピレー株式会社 デジタルコンテンツ商取引管理装置、デジタルコンテンツ商取引管理方法およびプログラム
KR101849912B1 (ko) 2017-05-25 2018-04-19 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6358658B2 (ja) * 2015-11-09 2018-07-18 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
KR101950912B1 (ko) * 2016-08-01 2019-02-21 서강대학교산학협력단 블록체인 기반 트랜잭션 검증 시스템 및 그 방법
KR20180052838A (ko) * 2016-11-10 2018-05-21 주식회사 비즈모델라인 수취인 증명 기반의 불변의 이중 기록을 이용한 안심송금 방법
KR101891125B1 (ko) * 2016-12-07 2018-08-24 데이터얼라이언스 주식회사 분산된 네트워크 노드의 서비스 기여도 산출 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
JP6313532B1 (ja) * 2016-11-17 2018-04-18 テルモピレー株式会社 デジタルコンテンツ商取引管理装置、デジタルコンテンツ商取引管理方法およびプログラム
KR101849912B1 (ko) 2017-05-25 2018-04-19 주식회사 코인플러그 스마트 컨트랙트 기반의 인증서 서비스를 제공하는 방법 및 이를 이용한 서버

Also Published As

Publication number Publication date
WO2020004686A1 (ko) 2020-01-02
KR20200000770A (ko) 2020-01-03

Similar Documents

Publication Publication Date Title
Valeri et al. A critical reflection on the adoption of blockchain in tourism
Bacon et al. Blockchain demystified: a technical and legal introduction to distributed and centralized ledgers
Poon et al. Plasma: Scalable autonomous smart contracts
US20220245626A1 (en) Computer-implemented system and method for generating and extracting user related data stored on a blockchain
Pasdar et al. Connect API with blockchain: A survey on blockchain oracle implementation
KR102108909B1 (ko) 블록체인 dPoC 합의알고리즘 기반 합의 인증 수행 방법
CN106228446B (zh) 基于私有区块链的资产交易平台系统及方法
Atallah et al. Secure supply-chain protocols
O'Leary Some issues in blockchain for accounting and the supply chain, with an application of distributed databases to virtual organizations
CN109102390A (zh) 基于区块链技术的金融产品风控方法
Pandey et al. Maintaining scalability in blockchain
Hu et al. Recent developments in machine learning methods for stochastic control and games
Zhang et al. A node selection algorithm with a genetic method based on PBFT in consortium blockchains
Ali et al. Incentive-driven federated learning and associated security challenges: A systematic review
Thomason et al. Advancements in the New World of Web 3: A Look Toward the Decentralized Future: A Look Toward the Decentralized Future
Hazard et al. Are transaction costs drivers of financial institutions? Contracts made in Heaven, Hell, and the cloud in between
Ali et al. A systematic review of federated learning incentive mechanisms and associated security challenges
Fridgen et al. Opportunities and challenges of DLT (blockchain) in mobility and logistics
Avunduk et al. Selection of the Graphics Card to be used in Ethereum Mining with Linear BWM-TOPSIS
Westland Determinants of liquidity in cryptocurrency markets
CN111079992A (zh) 数据处理方法、装置和存储介质
Venir et al. Decentralized federated machine learning with blockchain and zero knowledge proofs
O'Hare et al. Money & Trust in Digital Society: Bitcoin, Nostr, Stablecoins, Digital Objects and Generative AI in B2B Spatial Mixed Reality
Tavares A blockchain based platform for federated learning
Wichmann Blockchain as an Institutional Technology: A Conceptual Framework Examining Technical and Social Coordination Mechanisms in Blockchain Systems

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
N231 Notification of change of applicant
GRNT Written decision to grant