KR102189668B1 - 탈중앙화된 계층적 다중 블록체인 방법 - Google Patents

탈중앙화된 계층적 다중 블록체인 방법 Download PDF

Info

Publication number
KR102189668B1
KR102189668B1 KR1020190047726A KR20190047726A KR102189668B1 KR 102189668 B1 KR102189668 B1 KR 102189668B1 KR 1020190047726 A KR1020190047726 A KR 1020190047726A KR 20190047726 A KR20190047726 A KR 20190047726A KR 102189668 B1 KR102189668 B1 KR 102189668B1
Authority
KR
South Korea
Prior art keywords
blockchain
transaction
sub
block
main
Prior art date
Application number
KR1020190047726A
Other languages
English (en)
Other versions
KR20200124429A (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 KR1020190047726A priority Critical patent/KR102189668B1/ko
Priority to PCT/KR2019/008595 priority patent/WO2020153552A1/ko
Priority to US16/584,041 priority patent/US20200234293A1/en
Publication of KR20200124429A publication Critical patent/KR20200124429A/ko
Application granted granted Critical
Publication of KR102189668B1 publication Critical patent/KR102189668B1/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/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
    • G06Q20/3678Payment 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 e-cash details, e.g. blinded, divisible or detecting double spending
    • 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/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/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

탈중앙화된 계층적 다중 블록체인 방법이 개시된다. 다중 블록체인 방법은, 각 거래의 내용이나 유형에 따라 수정에 필요한 작업증명의 난이도를 결정한 후 상기 난이도에 따라 상기 거래에 대한 목표값을 계산하는 단계; 및 거래수정이 가능하도록 상기 목표값에 대한 작업증명을 통해 거래승인을 수행하는 단계를 포함할 수 있다.

Description

탈중앙화된 계층적 다중 블록체인 방법{METHOD FOR BUILDING DECENTRALIZED HIERARCHICAL MULTI-BLOCKCHAINS}
아래의 설명은 계층적 구조를 갖는 다중 블록체인을 탈중앙화 네트워크 환경에서 생성하는 방법에 관한 것이다.
블록체인(거래 내역을 중앙서버에 관리하는 대신에 분산 네트워크의 참여자들이 공동으로 기록하여 관리하는 분산원장(distributed ledger) 또는 그것을 가능하게 하는 기술을 통칭) 모델은 비트코인의 경우와 유사하게 정해진 시간(비트코인의 경우 매 10분)마다 새로운 블록(많은 거래내역이 기록된 원장)이 계산되어 블록체인에 추가하고, 그 계산에 대한 보상으로 지급되는 암호화폐가 존재한다고 가정한다. 이 때 정해진 시간을 회전이라고 하고, 순차적인 회전의 진행을 표시하는 n(
Figure 112019042135414-pat00001
)을 이용하여, 회전을
Figure 112019042135414-pat00002
으로, 이 회전에서 추가되는 블록을
Figure 112019042135414-pat00003
으로, 이 블록
Figure 112019042135414-pat00004
이 추가된 블록체인을
Figure 112019042135414-pat00005
으로 표시하자. 이 기호를 이용하여 회전
Figure 112019042135414-pat00006
이 진행되는 상황에서 각 노드(블록체인 네트워크에 참여하는 개별 기기, 예: 참여자의 컴퓨터)가 가지고 있는 블록체인은
Figure 112019042135414-pat00007
으로 표시할 수 있다. 매 회전마다 반드시 블록이 추가되어야만 하는 것은 아니지만 설명의 편의를 위해 매 회전마다 블록이 정확히 하나씩 추가된다고 가정하자. 지금까지의 내용을 정리하면 다음의 기호들로 표현할 수 있다.
Figure 112019042135414-pat00008
: n번째 회전
Figure 112019042135414-pat00009
: 회전
Figure 112019042135414-pat00010
에서 추가되는 블록
Figure 112019042135414-pat00011
: 회전
Figure 112019042135414-pat00012
에서 각 노드들의 블록체인
Figure 112019042135414-pat00013
: 블록체인
Figure 112019042135414-pat00014
에 블록
Figure 112019042135414-pat00015
을 연결하는 블록체인
블록
Figure 112019042135414-pat00016
의 데이터는 바로 앞 블록
Figure 112019042135414-pat00017
의 해쉬값
Figure 112019042135414-pat00018
, 현 블록에 포함될 거래들
Figure 112019042135414-pat00019
, 현 블록의 해쉬값
Figure 112019042135414-pat00020
과 이 해쉬값을 구하는데 사용한 넌스값
Figure 112019042135414-pat00021
등으로 구성되어 있다. 여기서, 거래라는 용어는 비트코인의 관례를 따른 것으로 블록체인이 제공하는 서비스에 따라 실제 전자화폐의 거래내역일 수도 있고, 또는 개인정보를 포함한 다양한 정보들의 혼합체일 수도 있다.
비트코인의 블록체인에서의 해쉬값
Figure 112019042135414-pat00022
과 넌스값
Figure 112019042135414-pat00023
은 다음의 작업증명의 해답으로 정의된다.
작업증명
주어진
Figure 112019042135414-pat00024
에 대하여, 수학식 1을 만족하는 넌스값
Figure 112019042135414-pat00025
을 계산한다.
[수학식 1]
Figure 112019042135414-pat00026
(
Figure 112019042135414-pat00027
)
여기서, '
Figure 112019042135414-pat00028
'은 비트열의 접합(concatenation)을 의미하고, H는 어떤 입력에 대해서든 출력으로 256 비트열을 생성하는 SHA-256 해쉬함수이고,
Figure 112019042135414-pat00029
개의 0으로만 구성된 비트열,
Figure 112019042135414-pat00030
비트열 중에서 처음
Figure 112019042135414-pat00031
비트가 X인 비트열의 집합을 의미한다(
Figure 112019042135414-pat00032
=비트열 X의 길이).
즉,
Figure 112019042135414-pat00033
은 256 비트열 중에서 처음 M개의 비트가 모두 0인 비트열의 집합이다. 수학식 1의 해쉬퍼즐을 만족하는 넌스값
Figure 112019042135414-pat00034
에 대한 결과인 수학식 2가 블록
Figure 112019042135414-pat00035
의 해쉬값이다.
[수학식 2]
Figure 112019042135414-pat00036
도 1은 블록
Figure 112019042135414-pat00037
에 에 포함되는 데이터 테이블을 도시한 것이다.
수학식 1의 계수 M은 해쉬퍼즐의 난이도를 결정하는데, 그 값이 크면 클수록 해당 해쉬퍼즐을 만족하는 넌스값을 계산하는 것이 어려워진다. 회전
Figure 112019042135414-pat00038
에서 해쉬퍼즐의 해답
Figure 112019042135414-pat00039
을 제일 먼저 계산한 채굴자(작업증명에 참여하는 노드를 지칭한다)는 블록
Figure 112019042135414-pat00040
을 발표하고 이를 블록체인
Figure 112019042135414-pat00041
에 연결하여 자신이 가지고 있는 블록체인을 확장한다.
[수학식 3]
Figure 112019042135414-pat00042
다른 참여자들은 발표된 블록
Figure 112019042135414-pat00043
을 검증하고 이에 대한 합의로 자신들의 블록체인을
Figure 112019042135414-pat00044
로 업데이트한다.
비트코인의 블록체인에서는 이미 기록된 과거 거래에 대한 수정은 사실상 불가능하다. 예를 들어, 이미 블록체인에 연결된 블록
Figure 112019042135414-pat00045
에 포함된 거래
Figure 112019042135414-pat00046
Figure 112019042135414-pat00047
로 수정한 블록체인을 유효한 것으로 검증받기 위해서는 블록
Figure 112019042135414-pat00048
의 해쉬퍼즐의 해답
Figure 112019042135414-pat00049
을 수정된 거래
Figure 112019042135414-pat00050
에 맞추어 다시 계산해야 한다. 이 자체도 많은 계산을 필요로 하지만, 이 외에도 다음 블록
Figure 112019042135414-pat00051
의 해쉬퍼즐의 해답
Figure 112019042135414-pat00052
도 블록
Figure 112019042135414-pat00053
에서의 해쉬값
Figure 112019042135414-pat00054
의 변화에 대응하여 다시 계산해야 한다. 이러한 계산은 다음 블록에서도 필요하다. 이런 식으로 해쉬퍼즐을 계속 다시 풀어야 하는데 이는
Figure 112019042135414-pat00055
가 현재의 회전번호 n보다 단 하나만 작은 경우에도 아주 어렵지만, 더 차이가 나는 경우(예:
Figure 112019042135414-pat00056
)에는 사실상 불가능하다. 이러한 이유로 기존의 블록체인에서는 과거 거래에 대한 수정은 사실상 불가능하다.
하나의 주블록체인(Main-Blockchain)과 여러 개의 부블록체인(Sub-Blockchain)으로 구성된 계층적 블록체인을 탈중앙화된 네트워크 노드들의 참여에 의해 생성하는 방법을 제공한다.
부블록체인은 난이도별로 분류된 거래수정을 다루는 블록체인, 주블록체인에서 사용하는 암호화폐와는 다른 암호화폐와 연관된 블록체인, 스마트 거래 등 특수한 유형의 거래들을 다루는 블록체인, 특정 데이터의 기록만을 담당하는 블록체인 등 여러 이질적인 블록체인으로 구성될 수 있다.
주블록체인은 거래의 승인과 함께 여러 부블록체인을 주블록체인에 연결하여 부블록체인에 기록된 데이터를 주블록체인에 기록하는 효과를 얻는데 사용한다.
제안된 다중 블록체인은 거래를 작업증명 난이도, 유형 또는 목적별로 분류하여 각 부블록체인별로 각기 다른 작업증명방법과 암호화폐를 사용할 수 있는 유연성을 제공한다.
주블록체인에 기록된 거래를 정당한 절차에 따라 블록체인의 연결 구조를 변화시키지 않으면서 수정할 수 있게 하는 방법을 다수의 거래에 대해 적용할 수 있게 하여 블록체인의 응용분야의 확대에 도움을 준다. 특히, 이해 당사자들의 정당한 요구에 따라 이미 기록된 거래내역을 삭제 또는 수정할 수 있도록 요구하는 개인정보 보호법 관련 규정을 준수할 수 있는 블록체인을 제공한다.
본 발명의 기술은 기존의 블록체인의 장점들인 기록된 거래내용에 대한 투명성, 보안성과 향상된 추적가능성을 그대로 제공하면서 동시에 그 어떤 중앙 관리자를 필요로 하지 않고 기존의 블록체인에서와 같은 탈중앙화된 참여자들의 공동의 노력에 의해 계층적 다중 블록체인을 생성할 수 있도록 한다.
컴퓨터 시스템에서 실행되는 다중 블록체인 방법에 있어서, 상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 다중 블록체인 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로, 각 거래의 내용이나 유형에 따라 수정에 필요한 작업증명의 난이도를 결정한 후 상기 난이도에 따라 상기 거래에 대한 목표값을 계산하는 단계; 및 거래수정이 가능하도록 상기 목표값에 대한 작업증명을 통해 거래승인을 수행하는 단계를 포함하는 다중 블록체인 방법을 제공한다.
일 측면에 따르면, 상기 수행하는 단계는, 하나의 주블록체인(main blockchain)과 복수 개의 부블록체인(sub blockchain)으로 구성된 계층적 블록체인을 생성하는 것으로, 상기 부블록체인은 난이도별로 분류된 거래수정을 다루는 블록체인이고, 상기 주블록체인은 거래의 승인과 함께 상기 부블록체인을 상기 주블록체인에 연결하여 상기 부블록체인에 기록된 데이터를 상기 주블록체인에 기록할 수 있다.
다른 측면에 따르면, 상기 수행하는 단계는, 하나의 주블록체인과 복수 개의 부블록체인으로 구성된 계층적 블록체인을 생성하는 것으로, 상기 작업증명의 난이도에 따라 수정이 요청된 거래에 대한 수정명령으로 이루어진 상기 부블록체인을 상기 주블록체인에 연결하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 연결하는 단계는, 상기 부블록체인을 상기 주블록체인의 해쉬값이 특정 조건을 만족하는 블록에 연결함으로써 상기 부블록체인을 상기 주블록체인에 연결하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 연결하는 단계는, 상기 부블록체인을 상기 주블록체인에 연결함으로써 상기 부블록체인에 기록된 특정 거래에 대한 수정명령을 전체 블록체인에 적용하여 업데이트하는 단계를 포함할 수 있다.
또 다른 측면에 따르면, 상기 수행하는 단계는, 상기 부블록체인 별로 각기 다른 작업증명 방법과 암호화폐를 사용하는 단계를 더 포함할 수 있다.
또 다른 측면에 따르면, 상기 수행하는 단계는, 상기 부블록체인이 거래의 승인을 위해 사용됨에 따라 상기 부블록체인에 수정이 요청된 거래에 대한 수정명령으로 이루어진 하위 블록체인을 연결하는 단계를 더 포함할 수 있다.
컴퓨터 시스템에 있어서, 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 블록체인을 기반으로 거래를 관리하는 것으로, 각 거래의 내용이나 유형에 따라 수정에 필요한 작업증명의 난이도를 결정한 후 상기 난이도에 따라 상기 거래에 대한 목표값을 계산하고 거래수정이 가능하도록 상기 목표값에 대한 작업증명을 통해 거래승인을 수행하는 것을 특징으로 하는 컴퓨터 시스템을 제공한다.
본 발명의 실시예들에 따르면, 이미 기록된 거래에 대한 수정 가능성을 다수의 거래에 대해 적용할 수 있게 하여 블록체인의 활용분야를 확대하는데 도움이 될 것이다.
본 발명의 실시예들에 따르면, 거래를 작업증명 난이도, 유형 또는 목적별로 분류하여 각 부블록체인별로 각기 다른 작업증명방법과 암호화폐를 사용할 수 있는 유연성과 다양한 블록체인을 하나의 주블록체인에 연결하여 관리하는 기술을 제공한다.
도 1은 기존 블록체인 모델의 블록에 포함되는 데이터를 나타낸 테이블을 도시한 것이다.
도 2는 기존 블록체인 모델의 거래의 세부 내용을 나타낸 테이블을 도시한 것이다.
도 3은 기존 블록체인 모델의 거래승인 블록의 세부 내용을 나타낸 테이블을 도시한 것이다.
도 4는 기존 블록체인 모델의 거래수정 블록의 세부 내용을 나타낸 테이블을 도시한 것이다.
도 5는 기존 블록체인 모델에 의한 블록의 거래 수정 과정을 도시한 순서도이다.
도 6은 본 발명의 일실시예에 있어서 주블록체인의 블록의 세부 내용을 나타낸 테이블을 도시한 것이다.
도 7은 본 발명의 일실시예에 따른 블록체인 모델의 거래수정 블록의 세부 내용을 나타낸 테이블을 도시한 것이다.
도 8은 본 발명의 일실시예에 따른 블록체인 모델에 의한 블록의 거래 수정 과정을 도시한 순서도이다.
도 9는 본 발명의 일실시예에 있어서 주블록체인에 부블록체인을 연결하는 예시를 도시한 것이다.
도 10 본 발명의 일실시예에 있어서 계층적 다중 블록체인의 예시를 도시한 것이다.
도 11은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
이미 기록된 거래에 대한 수정 기술은 다음과 같다.
거래 수정이 가능한 블록체인에서는 기록된 거래의 수정이 가능하게 제안된 방법으로 그 목적을 달성하기 위해 거래에 직접 의존하는 작업증명 대신 거래의 목표값
Figure 112019042135414-pat00057
에 의존하는 작업증명을 이용한다.
이를 위해, 먼저 거래
Figure 112019042135414-pat00058
의 세부 내용을 정의한다.
도 2는 본 발명의 일실시예에 있어서 거래
Figure 112019042135414-pat00059
의 세부 내용에 대한 데이터 테이블을 도시한 것이다.
여기서,
Figure 112019042135414-pat00060
는 거래
Figure 112019042135414-pat00061
의 상태를 나타내는 것으로 해당 거래가 '승인' 또는 '수정'임을 표시하고,
Figure 112019042135414-pat00062
는 거래
Figure 112019042135414-pat00063
의 내용(예: 실질적인 거래내용, 전자서명, 개인정보 등)을, 그리고
Figure 112019042135414-pat00064
는 거래
Figure 112019042135414-pat00065
의 이해 당사자들에 대한 정보(예: 이해 당사자들의 공개키들)를 포함하고 있다. 여기서, 이해 당사자들은 거래
Figure 112019042135414-pat00066
가 승인된 후에 정당한 절차를 따라 해당 내역을 삭제 또는 수정을 요구할 수 있는 주체를 의미한다. 마지막으로,
Figure 112019042135414-pat00067
는 추후 설명할 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터이다. 거래가 처음 승인될 때의
Figure 112019042135414-pat00068
는 빈 비트열 null이다. 실제 적용에서는
Figure 112019042135414-pat00069
,
Figure 112019042135414-pat00070
,
Figure 112019042135414-pat00071
,
Figure 112019042135414-pat00072
를 구별할 수 있는 길이정보가 포함되어야 하지만 해당 내용은 쉽게 유추 가능한 내용이므로 설명의 편의를 위해 생략한다.
상기한 블록체인에서는 거래의 상태를 표시하듯이 블록
Figure 112019042135414-pat00073
의 상태를 표시하는 정보(이 경우에는 '거래승인'이다)는 블록에 포함되어 있다. 제안된 방법에서는 정해진 규칙에 따라 각 회전마다 수행해야 하는 작업의 종류, 즉, 블록의 상태가 '거래승인'인지 또는 '거래수정'인지는 미리 정해진 규칙(예: '거래승인' 2회 다음에 '거래수정' 1회 같은 방법)을 따른다고 가정한다.
블록의 상태는 블록이 생성될 때 한번 결정된 후에는 변화하지 않는다. 블록의 상태가 '거래승인'이라는 의미는 해당 블록이 거래의 승인에 대한 증명으로 사용된다는 의미이다. 같은 의미로 블록의 상태가 '거래수정'이라는 것은 해당 블록이 어떤 특정거래에 대한 수정에 대한 증명으로 사용된다는 의미이다. 또한, 블록에는 블록
Figure 112019042135414-pat00074
의 채굴자의 공개키가 포함된다.
이때, 현재의 회전
Figure 112019042135414-pat00075
이 블록의 계산을 통해 거래승인을 증명 받는 회전인 경우에, 현 블록에 포함되어야 할 각 거래에 대해 각 채굴자들은 다음과 같은 '목표설정' 과정을 진행하도록 규칙을 정한다.
현 블록에 포함되어야 할 각 거래에 대해 각 채굴자들은 다음과 같은 '목표설정' 과정을 진행하는 규칙을 정한다.
[수학식 4]
주어진
Figure 112019042135414-pat00076
에 대해
for
Figure 112019042135414-pat00077
Figure 112019042135414-pat00078
여기서,
Figure 112019042135414-pat00079
은 블록
Figure 112019042135414-pat00080
에 포함될 거래의 개수이고, 처음으로 승인되는 거래
Figure 112019042135414-pat00081
의 경우에는
Figure 112019042135414-pat00082
(
Figure 112019042135414-pat00083
)이 모두 빈 비트열임을 유의하자(목표값 검증절차에서의 통일성을 유지하기 위해 빈 비트열임에도 불구하고 포함시킴). 또한,
Figure 112019042135414-pat00084
는 수학식 5와 같이 정의한다.
[수학식 5]
Figure 112019042135414-pat00085
해쉬값
Figure 112019042135414-pat00086
의 첫 K 비트열(
Figure 112019042135414-pat00087
)
즉, 임의의 어떠한 비트열 x에 대해
Figure 112019042135414-pat00088
을 만족하도록 정의하였다.
목표설정의 결과로, 각 채굴자들은 각기 다른 거래들을 모을 수 있기 때문에 각기 다른 '목표값'
Figure 112019042135414-pat00089
을 계산할 수 있다. 이 목표값은 거래수정의 유효성을 검증하는데 사용될 데이터로 위변조 되는 것을 방지해야 한다. 이를 위해 목표값에 대한 채굴자의 전자서명을 블록 내에 포함시킨다.
[수학식 6]
Figure 112019042135414-pat00090
여기서, DS는 채굴자의 전자서명을 하는 함수를 의미하고, 이것의 유효한지는 블록에 기록되어 있는 채굴자의 공개키를 이용하여 확인할 수 있다.
목표설정을 끝낸 채굴자들은 수학식 7의 작업증명(거래승인)에 도전한다.
[수학식 7]
주어진
Figure 112019042135414-pat00091
에 대하여,
Figure 112019042135414-pat00092
(
Figure 112019042135414-pat00093
)
을 만족하는 넌스값
Figure 112019042135414-pat00094
의 계산한다.
수학식 7을 만족하는 넌스값
Figure 112019042135414-pat00095
에 대한 결과,
Figure 112019042135414-pat00096
가 해당 블록
Figure 112019042135414-pat00097
의 해쉬값으로 계산된다. 블록의 해쉬값을 제일 먼저 계산한 채굴자는 블록
Figure 112019042135414-pat00098
을 발표하고 이를 블록체인에 연결하여 확장된 블록체인
Figure 112019042135414-pat00099
로 업데이트한다. 다른 참여자들은 발표된 블록
Figure 112019042135414-pat00100
을 검증하고 이에 대한 합의로 자신들의 블록체인을
Figure 112019042135414-pat00101
로 업데이트한다.
도 3의 테이블은 거래승인의 증명을 위해 발표된 블록
Figure 112019042135414-pat00102
의 세부 내용이다.
비트코인의 블록체인에서 필요로 하는 도 1의 테이블 내용과 비교하여 도 3의 테이블에서 추가된 내용을 살펴보면, 먼저, 난이도 계수 K(수학식 5 참조)와 '블록의 상태'(status)가 추가되었다. 현 회전의 작업증명은 '거래승인'이었기 때문에 '블록의 상태 = 거래승인'으로 결정된다. 또한, 채굴자의 공개키가 헤더에 추가되었다. 거래
Figure 112019042135414-pat00103
는 도 2의 데이터 테이블에서 설명하였듯이 더 세분화되어 기록된다. 거래승인 블록
Figure 112019042135414-pat00104
이 생성될 때는
Figure 112019042135414-pat00105
에 대해 거래의 상태
Figure 112019042135414-pat00106
= '승인'이고, 거래수정 해쉬퍼즐의 해법을 위한 추가 데이터
Figure 112019042135414-pat00107
가 필요하지 않기 때문에
Figure 112019042135414-pat00108
은 빈 비트열, 즉, Null이다.
상기한 블록채굴방법의 핵심은, 수학식 1과 7의 비교에서 극명하게 드러난다. 비트코인의 작업증명 방법의 해쉬값
Figure 112019042135414-pat00109
은 모든 거래
Figure 112019042135414-pat00110
에 직접적으로 의존하지만, 거래승인 작업증명은 거래의 해쉬값의 일부(이를 목표값이라고 명명함)인
Figure 112019042135414-pat00111
에 의존하도록 정의하였다. 이는 거래의 삭제 및 수정을 위해 고안된 것이다.
이제, 거래를 수정하는 방법에 대해 알아보자. 먼저, 현재 회전
Figure 112019042135414-pat00112
가 블록의 계산을 통해 거래수정을 증명 받는 회전이라고 가정하자. 이 회전에서는 각각의 채굴자들은 정당한 절차(예: 해당 거래의 수정을 요구하는 이해 당사자들의 유효한 요청)를 따라 수정이 요청된 거래 중에서 하나를 선택한다. 이 때, 어떤 채굴자(이를 채굴자 갑이라 하자)가 선택한 거래가 블록
Figure 112019042135414-pat00113
에 기록되어 있는 거래
Figure 112019042135414-pat00114
라고 가정해 보자.
수정이 요청된 거래
Figure 112019042135414-pat00115
는 원래의 거래 내용은
Figure 112019042135414-pat00116
이였는데 이를
Figure 112019042135414-pat00117
로 수정하도록 요청받았다고 가정해 보자. 먼저, 거래
Figure 112019042135414-pat00118
가 속해있는 블록
Figure 112019042135414-pat00119
은 거래생성 블록이어야 한다는 점을 유의하자. 채굴자 갑은 블록
Figure 112019042135414-pat00120
의 해쉬값
Figure 112019042135414-pat00121
에 변화가 없게 하면서 거래
Figure 112019042135414-pat00122
의 내용
Figure 112019042135414-pat00123
Figure 112019042135414-pat00124
로 수정하기 위해 수학식 8의 작업증명을 만족하는 넌스값을 찾는다.
[수학식 8]
주어진
Figure 112019042135414-pat00125
에 대하여,
Figure 112019042135414-pat00126
을 만족하는 넌스값 r의 계산한다.
여기서,
Figure 112019042135414-pat00127
는 수정이 요청된 거래
Figure 112019042135414-pat00128
의 목표값(
Figure 112019042135414-pat00129
)이다. 또한, 넌스값의 검색공간은 거래승인 작업증명에서 사용한 넌스값의 검색공간과 같은 것으로 정하자. 수학식 8을 만족하는 넌스값
Figure 112019042135414-pat00130
Figure 112019042135414-pat00131
을 만족하기 때문에 거래
Figure 112019042135414-pat00132
의 내역
Figure 112019042135414-pat00133
Figure 112019042135414-pat00134
로 수정하고, 빈 비트열
Figure 112019042135414-pat00135
Figure 112019042135414-pat00136
으로 교체(원래, 빈 비트열이었던
Figure 112019042135414-pat00137
는 이제 난수와 같은 넌스값
Figure 112019042135414-pat00138
으로 교체되고, 이 넌스값을 새로운
Figure 112019042135414-pat00139
로 여기게 된다)하면 블록
Figure 112019042135414-pat00140
에서 거래
Figure 112019042135414-pat00141
를 수정하는 효과를 얻을 수 있다. 이때, 거래
Figure 112019042135414-pat00142
이 수정된 블록
Figure 112019042135414-pat00143
은 원래의 블록 해쉬값
Figure 112019042135414-pat00144
에 대해 유효성이 검증된다. 만약, 거래를 삭제하는 경우라면
Figure 112019042135414-pat00145
을 빈 비트열(
Figure 112019042135414-pat00146
=null)로 교체하는 경우에 해당된다.
현재의 회전
Figure 112019042135414-pat00147
에서 채굴자 갑이 제일 먼저 거래 수정에 대한 작업증명을 완료하였다고 가정해 보자. 채굴자 갑은 자신이 계산한 거래수정 증명을 위한 블록
Figure 112019042135414-pat00148
을 발표하고 자신의 블록체인에 블록
Figure 112019042135414-pat00149
을 연결하여 블록체인을 확장할 것이다. 이때 블록
Figure 112019042135414-pat00150
의 해쉬값은 수학식 9로 한다.
[수학식 9]
Figure 112019042135414-pat00151
다른 채굴자들도 발표된 블록
Figure 112019042135414-pat00152
을 검증한 후에 그 검증결과가 참이면 자신들의 블록체인도 채굴자 갑처럼 확장한다. 이를 위해서는 블록
Figure 112019042135414-pat00153
에는 수정되는 거래에 대한 정보가 포함하고 있어야 한다.
도 4는 거래수정 블록
Figure 112019042135414-pat00154
의 데이터를 보여주고 있다.
블록
Figure 112019042135414-pat00155
에는 현 블록이 거래수정의 증명을 위한 것이라는 내용(블록의 상태 = 거래수정), 수정되는 거래
Figure 112019042135414-pat00156
에 대한 정보(
Figure 112019042135414-pat00157
에 포함), 거래의 수정요청에 대한 해당 거래의 이해 당사자들의 전자서명(
Figure 112019042135414-pat00158
에 포함), 거래의 수정을 위해 진행해야 하는 작업들(
Figure 112019042135414-pat00159
에 포함), 이에 대한 전자서명(
Figure 112019042135414-pat00160
) 등이 포함되어야 한다. 다른 참여자들은 다음의 절차를 통해 거래의 수정, 즉, 자신들이 가지고 있는 블록체인의 업데이트를 진행한다. 물론, 중간에 하나의 검증에서라도 실패하는 순간 블록체인은 원래의 상태로 복귀하고 블록
Figure 112019042135414-pat00161
은 무시될 것이다.
블록
Figure 112019042135414-pat00162
의 거래
Figure 112019042135414-pat00163
의 수정 과정은 도 5와 같다.
단계 1(S510): 거래수정 작업증명 검증
Figure 112019042135414-pat00164
의 유효성 검증 (수학식 8, 수학식 9)
단계 2(S520): 블록
Figure 112019042135414-pat00165
의 목표값
Figure 112019042135414-pat00166
의 무결성 검증 (수학식 6)
단계 3(S530): 거래
Figure 112019042135414-pat00167
의 원래의
Figure 112019042135414-pat00168
에 대한 목표값
Figure 112019042135414-pat00169
검증 (수학식 4)
단계 4(S540): 거래
Figure 112019042135414-pat00170
Figure 112019042135414-pat00171
를 이용하여 수정요청의 유효성 검증
단계 5(S550): 거래
Figure 112019042135414-pat00172
수정
Figure 112019042135414-pat00173
→ Null(수정요청이 삭제인 경우) or 변화 없음
Figure 112019042135414-pat00174
Figure 112019042135414-pat00175
Figure 112019042135414-pat00176
Figure 112019042135414-pat00177
거래
Figure 112019042135414-pat00178
의 상태
Figure 112019042135414-pat00179
'수정'
단계 6(S560): 블록
Figure 112019042135414-pat00180
의 Merkle tree 정보
Figure 112019042135414-pat00181
업데이트
본 발명의 목적 중 하나는 상기한 방법과 같이 블록체인에 기록된 거래의 수정이 가능한 블록체인을 제안하는 것이며, 이를 위해 기존 방식과 달리, 거래수정의 작업증명을 위한 블록채굴을 진행하여 부블록체인을 계산하고 주블록체인에서는 거래승인을 진행하게 한다. 이를 설명하기 위해 다음 기호들을 사용할 것이다.
Figure 112019042135414-pat00182
: 주블록체인의 n번째 회전
Figure 112019042135414-pat00183
: 회전
Figure 112019042135414-pat00184
에서 추가되는 블록
Figure 112019042135414-pat00185
: 회전
Figure 112019042135414-pat00186
에서 각 노드들의 주블록체인
Figure 112019042135414-pat00187
: 블록체인
Figure 112019042135414-pat00188
에 블록
Figure 112019042135414-pat00189
을 연결한 주블록체인
Figure 112019042135414-pat00190
: 블록
Figure 112019042135414-pat00191
에 작업증명을 통해 기록될 거래
여기서, 거래
Figure 112019042135414-pat00192
도 2의 테이블과 같은 세부 정보를 가지고 있다고 가정한다. 본 발명에서는 주블록체인의 회전
Figure 112019042135414-pat00193
에서 생성될 블록
Figure 112019042135414-pat00194
에 기록되어질 거래들
Figure 112019042135414-pat00195
,
Figure 112019042135414-pat00196
에 대해 추후 수정 가능성을 제공하기 위해 각 채굴자들은 다음과 같은 '목표설정'과정을 진행하는 규칙을 정한다.
[수학식 10]
주어진
Figure 112019042135414-pat00197
에 대해,
for
Figure 112019042135414-pat00198
Figure 112019042135414-pat00199
여기서,
Figure 112019042135414-pat00200
은 블록
Figure 112019042135414-pat00201
에 포함될 거래의 개수이고, 처음으로 승인되는 거래
Figure 112019042135414-pat00202
의 경우에는 수학식 4에서 마찬가지로
Figure 112019042135414-pat00203
(
Figure 112019042135414-pat00204
)이 모두 빈 비트열이고, 목표값 검증절차에서의 통일성을 유지하기 위해 빈 비트열임에도 불구하고 수학식 10에 포함시켰음을 주목하자.
기존에는 거래수정 작업증명의 난이도를 하나의 계수 K를 사용하여 모든 거래에 대해 동일하게 결정한 반면에 본 발명에서는 각 거래의 내용 및 유형에 따른 각기 다른 계수
Figure 112019042135414-pat00205
을 사용할 수 있게 한 점이다. 예를 들어,
Figure 112019042135414-pat00206
=256으로 설정하면 해당 거래
Figure 112019042135414-pat00207
를 수정하는 것은 불가능하며,
Figure 112019042135414-pat00208
(여기서, M은 거래승인 작업증명에 사용되는 계수, 수학식 7 참조)으로 설정하면 거래
Figure 112019042135414-pat00209
의 수정은 전체 네트워크의 공동의 노력에 의해서만 수정 가능해지고,
Figure 112019042135414-pat00210
(M보다
Figure 112019042135414-pat00211
이 현저히 작다는 의미이다)인 경우에는 해당 거래의 이해 당사자들의 계산에 의해서도 수정 가능해 진다.
목표설정의 결과로, 각 채굴자들은 각기 다른 거래들을 모을 수 있기 때문에 각기 다른 '목표값'
Figure 112019042135414-pat00212
을 계산할 수 있다. 이 목표값은 거래수정의 유효성을 검증하는데 사용될 데이터로 위변조 되는 것을 방지해야 한다. 이를 위해, 수학식 6(
Figure 112019042135414-pat00213
)과 같이 목표값에 대한 채굴자의 전자서명을 블록 내에 포함시킨다.
여기서, DS는 채굴자의 전자서명을 하는 함수를 의미하고, 이것의 유효한지는 블록에 기록되어 있는 채굴자의 공개키를 이용하여 확인할 수 있다.
주블록체인의 블록채굴에 참여하여 목표설정을 끝낸 채굴자들은 수학식 11의 작업증명(거래승인)에 도전한다.
[수학식 11]
주어진
Figure 112019042135414-pat00214
에 대하여,
Figure 112019042135414-pat00215
(
Figure 112019042135414-pat00216
)
을 만족하는 넌스값 r을 계산한다.
수학식 11을 만족하는 넌스값 r에 대한 결과
Figure 112019042135414-pat00217
가 해당 블록
Figure 112019042135414-pat00218
의 해쉬값으로 계산된다. 블록의 해쉬값을 제일 먼저 계산한 채굴자는 블록
Figure 112019042135414-pat00219
을 발표하고 이를 주블록체인에 연결하여 확장된 주블록체인
Figure 112019042135414-pat00220
으로 업데이트한다. 다른 참여자들은 발표된 블록
Figure 112019042135414-pat00221
을 검증하고 이에 대한 합의로 자신들의 주블록체인을
Figure 112019042135414-pat00222
으로 업데이트한다.
본 발명에서 주블록체인
Figure 112019042135414-pat00223
에 거래승인 작업증명 블록
Figure 112019042135414-pat00224
을 연결하는 절차는 위에서 설명한 방법과 동일하다. 앞에서 언급하였듯이 차이점은 거래의 내용 및 유형에 따른 각기 다른 계수
Figure 112019042135414-pat00225
을 사용할 수 있게 한 점이다. 또한, 본 발명에서는 주블록체인은 거래승인만을 담당하도록 제안한다. 이러한 사실을 고려하면, 본 발명에서 블록
Figure 112019042135414-pat00226
의 세부 내용은 도 6의 테이블과 같이 기술할 수 있다.
이제, 부블록체인에 대해 알아보자. 본 발명에서는 주블록체인에 직접 연결될 부블록체인은 난이도별로 분류된 거래수정을 다루기 위해, 주블록체인에서서 사용하는 암호화폐와는 다른 암호화폐와 연관된 거래를 다루기 위해, 스마트 거래 등 특수한 유형의 거래를 다루기 위해, 또는, 특정 데이터의 기록만을 담당하기 위해 여러 부블록체인들로 구성될 수 있다. 또한, 각각의 부블록체인은 주블록체인과는 다른 형태의 합의 방법, 블록채굴과 암호화폐를 사용할 수 있다.
주블록체인에 직접 연결될 부블록체인의 수가 2L보다 작다고 하자. 그 중 하나의 부블록체인과 그 블록체인에 연결될 블록을 다음 기호들을 이용하여 표현해 보자.
Figure 112019042135414-pat00227
:
Figure 112019042135414-pat00228
-비트로 구별되는 부블록체인 표식자
Figure 112019042135414-pat00229
: 블록
Figure 112019042135414-pat00230
에 연결될
Figure 112019042135414-pat00231
-부블록체인의 k번째 회전
Figure 112019042135414-pat00232
: 회전
Figure 112019042135414-pat00233
에서 추가되는
Figure 112019042135414-pat00234
-부블록체인의 블록
Figure 112019042135414-pat00235
: 블록
Figure 112019042135414-pat00236
의 넌스값
Figure 112019042135414-pat00237
: 블록
Figure 112019042135414-pat00238
의 해쉬값
여기서,
Figure 112019042135414-pat00239
Figure 112019042135414-pat00240
-비트로 구별되는 부블록체인 표식자인데, 각각의
Figure 112019042135414-pat00241
-비트가 각기 다른 부블록체인을 지칭할 필요는 없다. 예를 들어,
Figure 112019042135414-pat00242
=3인 경우에, 000, 001, 010, 011은
Figure 112019042135414-pat00243
=0을, 100, 101은
Figure 112019042135414-pat00244
=1을, 110은
Figure 112019042135414-pat00245
=2를, 111은
Figure 112019042135414-pat00246
=3을 지칭하도록 정의할 수 있다. 이렇게 함으로써 부블록체인의 생성과 연결이 각기 다른 빈도로 발생할 수 있게 할 수 있다. 이에 대한 설명은 바로 등장할 것이다.
본 발명에서는 부블록체인의 구조는 다양한 형태의 것이 될 수 있다. 본 발명의 실시예에서는 표식자가
Figure 112019042135414-pat00247
인 부블록체인이 특정 난이도에서의 주블록체인에 기록된 거래에 대한 수정명령이 기록되는 경우를 가지고 설명하고자 한다.
본 발명에서의 부블록체인들은 주블록체인에서의 블록의 해쉬값
Figure 112019042135414-pat00248
의 끝
Figure 112019042135414-pat00249
-비트가
Figure 112019042135414-pat00250
를 지칭하는 경우에
Figure 112019042135414-pat00251
-부블록체인의 블록이 생성되고 주블록체인에 연결되는 구조를 갖는다. 이를 구체적으로 설명하기 위해, 주블록체인의 블록 해쉬값
Figure 112019042135414-pat00252
의 끝
Figure 112019042135414-pat00253
-비트가
Figure 112019042135414-pat00254
에서 해당 표식자
Figure 112019042135414-pat00255
가 되었다고 가정해 보자. 처음으로 주블록체인에서의 블록의 해쉬값
Figure 112019042135414-pat00256
의 끝
Figure 112019042135414-pat00257
-비트가 표식자
Figure 112019042135414-pat00258
가 되는 회전
Figure 112019042135414-pat00259
에서 채굴된
Figure 112019042135414-pat00260
Figure 112019042135414-pat00261
-부블록체인의 최초 블록
Figure 112019042135414-pat00262
으로 간주한다. 즉,
Figure 112019042135414-pat00263
의 넌스값
Figure 112019042135414-pat00264
과 해쉬값
Figure 112019042135414-pat00265
에 대해 수학식 12로 정의한다.
[수학식 12]
Figure 112019042135414-pat00266
Figure 112019042135414-pat00267
Figure 112019042135414-pat00268
-부블록체인의 채굴자들은 주블록체인의
Figure 112019042135414-pat00269
블록에 기록되어 있는 거래의 수정하라는 명령에 대한 합의를 위한 작업증명을 위해
Figure 112019042135414-pat00270
-부블록체인의 블록을 생성한다. 예를 들어, 거래
Figure 112019042135414-pat00271
(
Figure 112019042135414-pat00272
)의 내용
Figure 112019042135414-pat00273
Figure 112019042135414-pat00274
로 수정하는 요청이 있었다고 가정해보자. 이에 대한 합의를 위한 블록
Figure 112019042135414-pat00275
의 넌스값
Figure 112019042135414-pat00276
과 해쉬값
Figure 112019042135414-pat00277
은 수학식 13의 작업증명(거래수정)을 통해 얻어진다.
[수학식 13]
주어진
Figure 112019042135414-pat00278
에 대하여,
Figure 112019042135414-pat00279
을 만족하는 넌스값
Figure 112019042135414-pat00280
의 계산한다.
여기서,
Figure 112019042135414-pat00281
는 수정이 요청된 거래
Figure 112019042135414-pat00282
의 목표값(수학식 10)이다. 수학식 13을 만족하는 넌스값
Figure 112019042135414-pat00283
Figure 112019042135414-pat00284
을 만족하기 때문에
Figure 112019042135414-pat00285
의 내용
Figure 112019042135414-pat00286
Figure 112019042135414-pat00287
로 수정하고, 빈 비트열
Figure 112019042135414-pat00288
Figure 112019042135414-pat00289
으로 교체하면 블록
Figure 112019042135414-pat00290
에서 거래
Figure 112019042135414-pat00291
를 수정하는 효과를 얻을 수 있다. 이러한 거래수정 명령으로 이루어진
Figure 112019042135414-pat00292
-부블록체인의 블록
Figure 112019042135414-pat00293
의 해쉬값은
Figure 112019042135414-pat00294
으로 한다.
블록
Figure 112019042135414-pat00295
은 도 7의 테이블과 같이 수정되는 거래에 대한 정보가 포함하고 있어야 한다.
도 7은 거래수정 블록
Figure 112019042135414-pat00296
의 내용을 보여주고 있다. 예를 들어, 수정되는 거래
Figure 112019042135414-pat00297
에 대한 정보(TMC에 포함), 거래의 수정요청에 대한 해당 거래의 이해 당사자들의 전자서명(TMC에 포함), 거래의 수정을 위해 진행해야 하는 작업들(TMC에 포함), 이에 대한 전자서명(STMC) 등이 포함되어야 한다. 여기서, TMC의 주요 내용은 다음과 같다.
거래수정 블록
Figure 112019042135414-pat00298
에 의한 블록
Figure 112019042135414-pat00299
의 거래
Figure 112019042135414-pat00300
의 수정 과정은 도 8과 같다.
단계 1(S810): 블록
Figure 112019042135414-pat00301
의 작업증명 검증
Figure 112019042135414-pat00302
의 유효성 검증 (수학식 13)
단계 2(S820): 블록
Figure 112019042135414-pat00303
의 목표값
Figure 112019042135414-pat00304
의 무결성 검증 (수학식 6)
단계 3(S830): 거래
Figure 112019042135414-pat00305
의 원래의
Figure 112019042135414-pat00306
에 대한 목표값
Figure 112019042135414-pat00307
검증 (수학식 4)
단계 4(S840): 거래
Figure 112019042135414-pat00308
Figure 112019042135414-pat00309
를 이용하여 수정요청의 유효성 검증
단계 5(S850): 거래
Figure 112019042135414-pat00310
수정
Figure 112019042135414-pat00311
→ Null(수정요청이 삭제인 경우) or 변화 없음
Figure 112019042135414-pat00312
Figure 112019042135414-pat00313
Figure 112019042135414-pat00314
Figure 112019042135414-pat00315
거래
Figure 112019042135414-pat00316
의 상태
Figure 112019042135414-pat00317
'수정'
단계 6(S860): 블록
Figure 112019042135414-pat00318
의 Merkle tree 정보
Figure 112019042135414-pat00319
업데이트
Figure 112019042135414-pat00320
-부블록체인의 참여자들은 블록
Figure 112019042135414-pat00321
의 유효한지 검증한 후에 자신의
Figure 112019042135414-pat00322
-부블록체인에 추가하여 확장하려 할 것이다. 이러한 노력은 주블록체인에서 블록의 해쉬값의 끝
Figure 112019042135414-pat00323
-비트가 다시
Figure 112019042135414-pat00324
를 지칭할 때까지, 즉, 블록
Figure 112019042135414-pat00325
이 채굴될 때까지 진행될 것이다. 그때까지
Figure 112019042135414-pat00326
-부블륵체인에서 채굴된 블록들이
Figure 112019042135414-pat00327
라 해보자. 주블록체인에서 블록
Figure 112019042135414-pat00328
의 채굴자는 주블록체인 네트워크에 블록
Figure 112019042135414-pat00329
과 하위블록
Figure 112019042135414-pat00330
을 발표하고,
Figure 112019042135414-pat00331
은 주블록체인
Figure 112019042135414-pat00332
에 연결하여
Figure 112019042135414-pat00333
로 업데이트하고, 하위블록
Figure 112019042135414-pat00334
은 주블록체인의 블록
Figure 112019042135414-pat00335
에서 시작해서 블록
Figure 112019042135414-pat00336
에서 끝나는 사이드 체인(도 9 참조)을 형성하게 한다. 이때, 하위블록
Figure 112019042135414-pat00337
에 들어있는 거래수정 명령들이 주블록체인에 적용되어 거래의 수정이 실제로 이루어진다.
주블록체인의 다른 채굴자들은 블록
Figure 112019042135414-pat00338
과 하위블록
Figure 112019042135414-pat00339
의 유효성을 검증한 후에 오류가 없는 경우 자신들의 주블록체인을
Figure 112019042135414-pat00340
에 들어있는 거래수정 명령들을 적용하여 업데이트한다. 물론, 중간에 하나의 검증에서라도 실패하는 순간 주블록체인은 원래의 상태로 복귀하고 블록
Figure 112019042135414-pat00341
과 하위블록
Figure 112019042135414-pat00342
은 무시될 것이다.
만약, 부블록체인이 특정 유형의 거래들의 승인을 담당하는 경우라면 해당 부블록체인의 주블록체인으로의 연결은 전체 블록체인에 부블록체인의 거래들이 기록된다는 것을 의미한다.
블록
Figure 112019042135414-pat00343
의 채굴자는 주블록체인으로부터 블록
Figure 112019042135414-pat00344
에 대한 블록보상과 함께 하위블록
Figure 112019042135414-pat00345
의 대한 '연결보상'을
Figure 112019042135414-pat00346
-부블록체인 네트워크로부터 받게 된다. 한편, 하위블록
Figure 112019042135414-pat00347
의 채굴자들도
Figure 112019042135414-pat00348
-부블록체인 네트워크로부터 자신들이 채굴한 블록에 대한 블록보상을 받게 된다. 또한, 주블록체인의 블록
Figure 112019042135414-pat00349
의 해시값
Figure 112019042135414-pat00350
Figure 112019042135414-pat00351
으로 업데이트한다. 여기서,
Figure 112019042135414-pat00352
은 연결되는 하위블록의 마지막 블록
Figure 112019042135414-pat00353
의 해쉬값이다.
이제,
Figure 112019042135414-pat00354
-부블록체인은
Figure 112019042135414-pat00355
을 최초 블록으로 하여
Figure 112019042135414-pat00356
내의 수정요청이 있는 거래에 대한 수정증명 블록을 연결하여 새롭게 확장될 것이고, 그것은 현재의
Figure 112019042135414-pat00357
-부블록체인의 끝과 다음 번
Figure 112019042135414-pat00358
-부블록체인의 시작을 알리는
Figure 112019042135414-pat00359
이 채굴될 때까지 진행될 것이다. 이와 같은 방법으로
Figure 112019042135414-pat00360
-부블록체인은 확장해 가며 주블록체인에 연결된다.
부블록체인은 수정명령으로 이루어진 것 외에도 특정한 종류의 거래들의 승인을 위해서도 사용될 수 있다. 또한, 부블록체인에 기록된 거래들은 수정 가능성의 확보를 위해 주블록체인의 거래들이 목표값에 대한 작업증명을 통해 승인되었듯이 그들도 목표값에 대한 작업증명을 통해 부블록체인에 기록되고, 그것을 수정하기 위한 하위블록체인을 추가할 수 있다(도 10 참조). 즉, 계층적 다중 블록체인을 구성할 수 있다. 이때 부블록체인에 하위 블록체인을 생성하고 연결하는 방법은 주블록체인에 부블록체인을 생성하고 연결할 때 사용한 '해쉬값의 끝 비트를 이용한 방법'을 부블록체인의 블록 해쉬값에 대해 적용하여 사용한다.
도 10에서 보듯이 부블록체인에 연결되는 하위 블록체인은 주블록체인에 연결되는 한 마디 내에서만 연결될 필요는 없다.
Figure 112019042135414-pat00361
-부블록체인
Figure 112019042135414-pat00362
을 하나의 독립된 블록체인으로 보고 하위 블록체인을 연결하면 된다.
본 발명에서 거래수정은 주블록체인에 기록된 거래에만 국한된 것은 아니다. 만약, 어떤 부블록체인이 특정한 유형의 거래들의 승인을 위해 사용되었고, 그 거래들이 수정 가능성을 확보하기 위해 승인과정에서 해당 거래에 대해 직접 작업증명을 하는 대신 목표값(수학식 10)에 대한 작업증명을 시행한 경우라면 거래수정을 할 수 있다.
또한, 거래수정을 위한 블록체인은 반드시 수정하고자 하는 거래가 기록된 블록체인에 하위에만 존재해야 할 필요는 없다. 거래수정을 위한 작업증명을 할 시점에 수정하고자 하는 거래가 전체 블록체인에 기록되어 있는 것이고 승인과정에서 목표값에 대한 작업증명을 시행한 것이라면 기록된 위치에 상관없이 수정 가능하다.
지금까지의 설명에서는 주블록체인은 거래승인을 담당하는 경우를 다루었다. 본 발명에서는 블록체인에 승인되어야 할 모든 거래들은 그 유형에 따라 여러 부블록체인에서 승인되고, 또한 거래의 수정을 담당한 부블록체인은 난이도별로 분류되고, 주블록체인에서는 주블록체인에 연결될 부블록체인을 결정하는 작업만 담당하도록 설계할 수도 있다.
도 11은 본 발명의 일 실시예에 있어서 컴퓨터 시스템의 내부 구성의 일례를 설명하기 위한 블록도이다.
본 발명의 실시예들에 따른 블록체인 기반 거래 관리 시스템은 도 11의 컴퓨터 시스템(1100)을 통해 구현될 수 있다. 도 11에 도시한 바와 같이, 컴퓨터 시스템(1100)은 상기에서 설명한, 거래의 승인과 수정을 통합한 블록 채굴 방법을 실행하기 위한 구성요소로서 프로세서(1110), 메모리(1120), 영구 저장 장치(1130), 버스(1140), 입출력 인터페이스(1150) 및 네트워크 인터페이스(1160)를 포함할 수 있다.
프로세서(1110)는 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서(1110)는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서(1110)는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스 등에 포함될 수 있다. 프로세서(1110)는 버스(1140)를 통해 메모리(1120)에 접속될 수 있다.
메모리(1120)는 컴퓨터 시스템(1100)에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 예를 들어, 메모리(1120)는 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리(1120)는 컴퓨터 시스템(1100)의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리(1120)는 예를 들어 블록체인에 기록된 거래를 수정하기 위한 명령어들을 포함하는 컴퓨터 시스템(1100)의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템(1100)은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서(1110)를 포함할 수 있다.
버스(1140)는 컴퓨터 시스템(1100)의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스(1140)는 컴퓨터 시스템(1100)의 컴포넌트들 사이에, 예를 들어 프로세서(1110)와 메모리(1120) 사이에 데이터를 운반할 수 있다. 버스(1140)는 컴퓨터 시스템(1100)의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치(1130)는 (예를 들어 메모리(1120)에 비해) 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템(1100)에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치(1130)는 컴퓨터 시스템(1100) 내의 프로세서(1110)에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 예를 들어, 영구 저장 장치(1130)는 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스(1150)는 키보드, 마우스, 마이크, 카메라, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 블록체인에 기록된 거래 수정과 관련된 입력이 입출력 인터페이스(1150)를 통해 수신될 수 있다.
네트워크 인터페이스(1160)는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스(1160)는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들은 네트워크 인터페이스(1160)를 통해 수신될 수 있다. 그리고, 블록체인에 기록된 거래 수정과 관련된 정보들은 네트워크 인터페이스(1160)를 통해 수신 또는 송신될 수 있다.
또한, 다른 실시예들에서 컴퓨터 시스템(1100)은 도 11의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템(1100)은 상술한 입출력 인터페이스(1150)와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
이처럼 본 발명의 실시예들에 따르면, 이미 기록된 거래에 대한 수정 가능성을 다수의 거래에 대해 적용할 수 있게 하여 블록체인의 활용분야를 확대하는데 도움이 될 것이다. 또한, 거래를 작업증명 난이도, 유형 또는 목적별로 분류하여 각 부블록체인별로 각기 다른 작업증명방법과 암호화폐를 사용할 수 있는 유연성과 다양한 블록체인을 하나의 주블록체인에 연결하여 관리하는 기술을 제공한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (13)

  1. 컴퓨터 시스템에서 실행되는 다중 블록체인 방법에 있어서,
    상기 컴퓨터 시스템은 메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 다중 블록체인 방법은 상기 적어도 하나의 프로세서에 의해 수행되는 것으로,
    각 거래의 내용이나 유형에 따라 수정에 필요한 작업증명의 난이도를 결정한 후 상기 난이도에 따라 상기 거래에 대한 목표값을 계산하는 단계; 및
    거래수정이 가능하도록 상기 목표값에 대한 작업증명을 통해 거래승인을 수행하는 단계
    를 포함하고,
    상기 수행하는 단계는,
    하나의 주블록체인(main blockchain)과 복수 개의 부블록체인(sub blockchain)으로 구성된 계층적 블록체인을 생성하는 것으로,
    거래수정의 작업증명을 위한 블록채굴을 진행하여 상기 부블록체인을 계산하고 상기 주블록체인에서는 거래승인을 진행하고,
    상기 부블록체인은 난이도별로 분류된 거래수정을 다루는 블록체인이고,
    상기 주블록체인은 거래의 승인과 함께 상기 부블록체인을 상기 주블록체인에 연결하여 상기 부블록체인에 기록된 데이터를 상기 주블록체인에 기록하고,
    상기 주블록체인에 거래승인의 작업증명 블록을 연결하는 것으로, 상기 주블록체인의 블록은 거래수정의 난이도를 결정하는 계수로서 각 거래의 내용이나 유형에 따라 각기 다른 복수 개의 난이도 계수, 및 거래수정의 유효성을 검증하기 위해 사용되는 데이터로서 각 채굴자에 의해 계산된 각기 다른 거래의 해쉬값에서 일부의 해쉬값으로 설정된 목표값을 포함하는 것
    을 특징으로 하는 다중 블록체인 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 수행하는 단계는,
    상기 작업증명의 난이도에 따라 수정이 요청된 거래에 대한 수정명령으로 이루어진 상기 부블록체인을 상기 주블록체인에 연결하는 단계
    를 포함하는 다중 블록체인 방법.
  4. 제3항에 있어서,
    상기 연결하는 단계는,
    상기 부블록체인을 상기 주블록체인의 해쉬값이 특정 조건을 만족하는 블록에 연결함으로써 상기 부블록체인을 상기 주블록체인에 연결하는 단계
    를 포함하는 다중 블록체인 방법.
  5. 제3항에 있어서,
    상기 연결하는 단계는,
    상기 부블록체인을 상기 주블록체인에 연결함으로써 상기 부블록체인에 기록된 특정 거래에 대한 수정명령을 전체 블록체인에 적용하여 업데이트하는 단계
    를 포함하는 다중 블록체인 방법.
  6. 제3항에 있어서,
    상기 수행하는 단계는,
    상기 부블록체인 별로 각기 다른 작업증명 방법과 암호화폐를 사용하는 단계
    를 더 포함하는 다중 블록체인 방법.
  7. 제3항에 있어서,
    상기 수행하는 단계는,
    상기 부블록체인이 거래의 승인을 위해 사용됨에 따라 상기 부블록체인에 수정이 요청된 거래에 대한 수정명령으로 이루어진 하위 블록체인을 연결하는 단계
    를 더 포함하는 다중 블록체인 방법.
  8. 컴퓨터 시스템에 있어서,
    메모리에 포함된 컴퓨터 판독가능한 명령들을 실행하도록 구성된 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서는,
    블록체인을 기반으로 거래를 관리하는 것으로, 각 거래의 내용이나 유형에 따라 수정에 필요한 작업증명의 난이도를 결정한 후 상기 난이도에 따라 상기 거래에 대한 목표값을 계산하고 거래수정이 가능하도록 상기 목표값에 대한 작업증명을 통해 거래승인을 수행하고,
    상기 적어도 하나의 프로세서는,
    하나의 주블록체인(main blockchain)과 복수 개의 부블록체인(sub blockchain)으로 구성된 계층적 블록체인을 생성하는 것으로,
    거래수정의 작업증명을 위한 블록채굴을 진행하여 상기 부블록체인을 계산하고 상기 주블록체인에서는 거래승인을 진행하고,
    상기 부블록체인은 난이도별로 분류된 거래수정을 다루는 블록체인이고,
    상기 주블록체인은 거래의 승인과 함께 상기 부블록체인을 상기 주블록체인에 연결하여 상기 부블록체인에 기록된 데이터를 상기 주블록체인에 기록하고,
    상기 주블록체인에 거래승인의 작업증명 블록을 연결하는 것으로, 상기 주블록체인의 블록은 거래수정의 난이도를 결정하는 계수로서 각 거래의 내용이나 유형에 따라 각기 다른 복수 개의 난이도 계수, 및 거래수정의 유효성을 검증하기 위해 사용되는 데이터로서 각 채굴자에 의해 계산된 각기 다른 거래의 해쉬값에서 일부의 해쉬값으로 설정된 목표값을 포함하는 것
    을 특징으로 하는 컴퓨터 시스템.
  9. 삭제
  10. 제8항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 작업증명의 난이도에 따라 수정이 요청된 거래에 대한 수정명령으로 이루어진 상기 부블록체인을 상기 주블록체인에 연결하는 것
    을 특징으로 하는 컴퓨터 시스템.
  11. 제10항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 부블록체인을 상기 주블록체인의 해쉬값이 특정 조건을 만족하는 블록에 연결함으로써 상기 부블록체인을 상기 주블록체인에 연결하는 것
    을 특징으로 하는 컴퓨터 시스템.
  12. 제10항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 부블록체인 별로 각기 다른 작업증명 방법과 암호화폐를 사용하는 것
    을 특징으로 하는 컴퓨터 시스템.
  13. 제10항에 있어서,
    상기 적어도 하나의 프로세서는,
    상기 부블록체인이 거래의 승인을 위해 사용됨에 따라 상기 부블록체인에 수정이 요청된 거래에 대한 수정명령으로 이루어진 하위 블록체인을 연결하는 것
    을 특징으로 하는 컴퓨터 시스템.
KR1020190047726A 2019-01-22 2019-04-24 탈중앙화된 계층적 다중 블록체인 방법 KR102189668B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190047726A KR102189668B1 (ko) 2019-04-24 2019-04-24 탈중앙화된 계층적 다중 블록체인 방법
PCT/KR2019/008595 WO2020153552A1 (ko) 2019-01-22 2019-07-11 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치
US16/584,041 US20200234293A1 (en) 2019-01-22 2019-09-26 Method and appratus for blockchains with modifiable recorded transactions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190047726A KR102189668B1 (ko) 2019-04-24 2019-04-24 탈중앙화된 계층적 다중 블록체인 방법

Publications (2)

Publication Number Publication Date
KR20200124429A KR20200124429A (ko) 2020-11-03
KR102189668B1 true KR102189668B1 (ko) 2020-12-11

Family

ID=73197972

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190047726A KR102189668B1 (ko) 2019-01-22 2019-04-24 탈중앙화된 계층적 다중 블록체인 방법

Country Status (1)

Country Link
KR (1) KR102189668B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101964692B1 (ko) * 2017-05-12 2019-04-02 주식회사 엑스블록시스템즈 블록체인 시스템 및 블록체인을 이용한 데이터 관리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
http://vidfolio.kr/wp-content/uploads/2018/10/OAS_whitepaper_v2.pdf, 오아스 브록체인 르네상스 프로젝트, OAS 백서, 2018.09*

Also Published As

Publication number Publication date
KR20200124429A (ko) 2020-11-03

Similar Documents

Publication Publication Date Title
JP6955026B2 (ja) 並列処理ブロックチェーントランザクションのためのシステムおよび方法
TWI737944B (zh) 基於區塊鏈的交易執行方法及裝置、電子設備
US11770238B2 (en) Decentralized computation system architecture based on node specialization
US10630463B2 (en) Meta block chain
US10523526B2 (en) System and method for managing services and licenses using a blockchain network
KR102424841B1 (ko) 스마트 계약 시스템에서 블록체인을 생성하고 무결성을 검증하는 방법
US20200234293A1 (en) Method and appratus for blockchains with modifiable recorded transactions
KR20210003234A (ko) 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것
CN108970117B (zh) 游戏资源包的发布方法、终端设备及介质
EP3764589A1 (en) Agent-based turing complete transactions integrating feedback within a blockchain system
CN112703499B (zh) 用于计算以及可信验证的分布式平台
CN112835612A (zh) 一种基于区块链的电子文档版本管理方法及装置
US20210049715A1 (en) Blockchain-based data procesing method, apparatus, and electronic device
US11367055B2 (en) Decentralized pooled mining for enabling proof-of-work on blockchains
TW201901482A (zh) 區塊鏈系統及區塊鏈生成方法
US20200084041A1 (en) Automated Blockchain Protocol Update
WO2015081779A1 (zh) 基于业务流程管理bpm的业务处理方法及装置
KR20220088956A (ko) 기밀 지식의 특화된 증명을 제공하는 시스템들 및 방법들
CN109447636A (zh) 一种资产转移方法及装置
CN109299913B (zh) 员工薪资方案生成方法及装置
CN110086795A (zh) 认证树构建方法及云平台下基于认证树的流安全交换系统
KR102164779B1 (ko) 기록된 거래의 수정이 가능한 블록체인
KR102189668B1 (ko) 탈중앙화된 계층적 다중 블록체인 방법
CN110891660A (zh) 用于在计算机装置之间同步数据的系统和方法
CN112565369A (zh) 一种智能合约实现方法、应用服务节点、存储介质及系统

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant