KR101922963B1 - 블록 체인 생성 장치 및 방법 - Google Patents

블록 체인 생성 장치 및 방법 Download PDF

Info

Publication number
KR101922963B1
KR101922963B1 KR1020170108944A KR20170108944A KR101922963B1 KR 101922963 B1 KR101922963 B1 KR 101922963B1 KR 1020170108944 A KR1020170108944 A KR 1020170108944A KR 20170108944 A KR20170108944 A KR 20170108944A KR 101922963 B1 KR101922963 B1 KR 101922963B1
Authority
KR
South Korea
Prior art keywords
block
generated
node
block chain
transaction
Prior art date
Application number
KR1020170108944A
Other languages
English (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 KR1020170108944A priority Critical patent/KR101922963B1/ko
Application granted granted Critical
Publication of KR101922963B1 publication Critical patent/KR101922963B1/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명의 기술적 사상에 의한 일 양태에 따른 블록 체인 생성 방법은 발생된 트랜젝션 및 상기 발생된 트랜젝션에 대응하는 사용자 서명을 포함하는 트랜젝션 정보를 수신하는 단계 및 상기 수신된 트랜젝션 정보에 포함된 상기 발생된 트랜젝션, 상기 사용자 서명 및 블록을 생성하는 처리 노드의 전자 서명을 포함하는 블록을 생성하는 단계를 포함할 수 있다.

Description

블록 체인 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING BLOCK CHAIN}
본 발명의 기술적 사상은 블록 체인 생성 장치 및 방법에 관한 것으로, 보다 상세하게는, 모바일 거래 환경에 적합한 볼록 체인 생성 장치 및 그 방법에 관한 것이다.
모바일 결제 시장 활성화와 함께, 블록 체인(Block Chain)에 대한 관심도 증가하고 있다.
블록 체인은 네트워크에 참여한 모든 구성원들이 분산형 네트워크에 블록 형태로 저장된 정보를 공동으로 기록하고 관리하는 기술이다.
블록 체인에 따른 n번째 블록을 위조하기 위해서는 n번째 블록 이외에도, n번째 블록 이전의 여러 블록들을 위조해야 하며, 분산 저장된 블록들로 인해 데이터 위조가 어려운 장점이 있다.
그래서 블록 체인은 가상 화폐인 비트 코인을 위한 기반 기술로 등장하였지만, 블록 체인이 갖는 장점들로 인해 다양한 금융거래 환경에서 주목 받고 있다.
한편, 비트 코인과 같은 암호 화폐는 화폐를 조폐하는 중앙은행이 존재하지 않고, 일정한 주기마다 블록(Block)을 찾아내고, 찾아낸 블록에 대한 보상을 받는 형태로 화폐가 생성된다.
블록은 해당 암호 화폐가 사용하는 해시(Hash) 함수로 이루어져 있으며, 사용자는 컴퓨터의 연산 능력을 이용하여 암호 화폐에 맞는 함수를 대입하는 방식으로 해시를 찾게 된다.
이렇게 블록에 대한 해시를 찾는 과정을 채굴(mining)이라고 한다.
블록에는 해당 블록이 발견되기 이전에 사용자들에게 전파되었던 모든 거래 내역이 기록되어 있고, 이것은 P2P(peer to peer) 방식으로 모든 사용자에게 똑같이 전송되므로 거래 내역을 임의로 수정하거나 누락시킬 수 없다.
블록은 발견된 날짜와 이전 블록에 대한 연결고리를 가지고 있으며, 이러한 블록들을 집합을 블록 체인이라고 한다.
이러한 블록 체인은 다양한 금융거래 환경에서 주목 받고 있어서, 모바일 환경과 같은 단말기의 연산량에 한계가 있는 경우에도 블록 체인을 구현할 필요가 있다.
본 발명의 선행기술문헌으로는 대한민국 공개특허 제10-2016-0114749호 "블록체인 구조를 사용하는 암호화화폐 거래 방법" (2016.10.31 공개)이 있다.
본 발명의 기술적 사상에 따른 블록 체인 생성 장치 및 방법이 이루고자 하는 기술적 과제는, 모바일 거래 환경에 적합한 블록 체인 생성 장치 및 방법을 제공하는데 목적이 있다.
본 발명은 모바일 거래 환경의 블록 체인에 포함되는 모바일 디바이스에서의 연산량을 효율적으로 줄이는데 목적이 있다.
또한, 본 발명은 사용자의 트랜잭션 생성 부인을 방지하고, 트랜잭션을 생성한 사용자에 대한 인증을 제공하는데 목적이 있다.
삭제
본 발명의 기술적 사상에 의한 일 양태에 따른 블록 체인 생성 방법은 발생된 트랜젝션 및 상기 발생된 트랜젝션에 대응하는 사용자 서명을 포함하는 트랜젝션 정보를 수신하는 단계; 및 상기 수신된 트랜젝션 정보에 포함된 상기 발생된 트랜젝션, 상기 사용자 서명 및 블록을 생성하는 처리 노드의 전자 서명을 포함하는 블록을 생성하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 블록을 생성하는 단계는 상기 수신된 트랜젝션 정보가 기준 값 이상 축적되면, 상기 축적된 트랜젝션 정보에 포함된 적어도 하나의 트랜젝션, 상기 적어도 하나의 트랜젝션에 대응하는 사용자 서명 및 상기 처리 노드의 전자 서명을 포함하는 블록을 생성하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 블록을 생성하는 단계는 상기 수신된 트랜젝션 정보에 포함된 상기 발생된 트랜젝션 및 상기 트랜젝션에 대응하는 사용자 서명을 상기 블록의 바디(body)에 포함하도록 상기 블록을 생성하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 블록을 생성하는 단계는 상기 처리 노드의 전자 서명을 상기 블록의 헤더(header)에 포함하도록 상기 블록을 생성하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 처리 노드는 블록 체인에 포함된 복수의 노드 중 미리 합의된 노드를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 처리 노드는 블록 체인에 포함된 복수의 노드 중 기준 연산량 이상의 처리 능력을 갖는 노드를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 생성된 블록을 블록 체인 내의 다른 노드들에 브로드캐스트(broadcast)하는 단계를 더 포함할 수 있다.
본 발명의 기술적 사상에 의한 다른 양태에 따른 블록 체인 생성 장치는 적어도 하나의 프로세서; 및 상기 프로세서에 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 실행 시에, 상기 프로세서가, 발생된 트랜젝션 및 상기 발생된 트랜젝션에 대응하는 사용자 서명을 포함하는 트랜젝션 정보를 수신하고, 상기 수신된 트랜젝션 정보에 포함된 상기 발생된 트랜젝션, 상기 사용자 서명 및 블록을 생성하는 블록 체인 생성 장치의 전자 서명을 포함하는 블록을 생성하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 수신된 트랜젝션 정보가 기준 값 이상 축적되면, 상기 축적된 트랜젝션 정보에 포함된 적어도 하나의 트랜젝션, 상기 적어도 하나의 트랜젝션에 대응하는 사용자 서명 및 상기 블록 체인 생성 장치의 전자 서명을 포함하는 블록을 생성하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 수신된 트랜젝션 정보에 포함된 상기 발생된 트랜젝션 및 상기 트랜젝션에 대응하는 사용자 서명을 상기 블록의 바디(body)에 포함하여 상기 블록을 생성하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 블록 체인 생성 장치의 전자 서명을 상기 블록의 헤더(header)에 포함하여 상기 블록을 생성하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 블록 체인 생성 장치는 블록 체인에 포함된 복수의 노드 중 미리 합의된 노드에 대응할 수 있다.
예시적인 실시예에 따르면, 상기 블록 체인 생성 장치는 블록 체인에 포함된 복수의 노드 중 기준 연산량 이상의 처리 능력을 갖는 노드에 대응할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 실행 시에, 상기 프로세서가, 상기 생성된 블록을 블록 체인 내의 다른 노드들에 브로드캐스트(broadcast)하도록 하는 인스트럭션들을 저장할 수 있다.
본 발명의 기술적 사상에 의한 실시예들에 따른 블록 체인 생성 장치 및 방법은 모바일 거래 환경에 적합한 블록 체인 생성 장치 및 방법을 제공하여 모바일 금융거래에서도 블록 체인을 적용할 수 있다.
본 발명은 모바일 거래 환경의 블록 체인에 포함되는 모바일 디바이스에서의 연산량을 효율적으로 줄일 수 있다.
또한, 본 발명은 미리 선정된 노드에서 생성된 블록에 대한 사용자의 트랜젝션 생성 부인을 방지하고, 트랜잭션을 생성한 사용자에 대한 인증을 제공할 수 있다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 다양한 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 2는 본 발명의 다양한 실시예에 따른 블록 체인 생성 방법에 대한 레더 다이어그램이다.
도 3은 본 발명의 다양한 실시예에 따른 블록 구조를 나타낸다.
도 4는 본 발명의 다양한 실시예에 따른 모바일 환경에서의 블록 체인 생성 방법에 대한 레더 다이어그램이다.
본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 기술적 사상의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processor), 어플리케이션 프로세서(Application Processor), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.
도 1은 본 발명의 다양한 실시예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면, 전자 장치(100)는 프로세서(110), 메모리(130) 및 통신 모듈(150)을 포함할 수 있다.
프로세서(110)는 전자 장치(100)의 전반적인 동작을 제어할 수 있다.
예를 들면, 프로세서(110)는 블록 체인에 따른 다양한 동작을 수행할 수 있다.
메모리(130)는 전자 장치(100)의 동작과 관련된 다양한 정보를 저장할 수 있다.
예를 들면, 메모리(130)는 블록 체인과 관련된 다양한 정보를 저장할 수 있다.
통신 모듈(150)은 전자 장치(100)와 다른 전자 장치 간의 유선 통신 또는 무선 통신을 제공할 수 있다.
예를 들면, 통신 모듈(150)는 전자 장치(100)와 다른 노드 간의 유선 통신 또는 무선 통신을 제공할 수 있다.
상술한 전자 장치(100)는 후술할 블록 체인의 노드(node)일 수 있다. 예를 들면, 전자 장치(100)는 후술할 사용자 단말, 은행 노드 등일 수 있다. 또한, 전자 장치(100)는 블록 체인 생성 장치일 수 있다.
도 2를 참조하여, 본 발명의 다양한 실시예에 따른 블록 체인 생성 방법에 대해 설명한다.
도 2는 본 발명의 다양한 실시예에 따른 블록 체인 생성 방법에 대한 레더 다이어그램이다.
도 2를 참조하면, 제1 노드(200)는 제1 트랜젝션 발생을 확인할 수 있다(S110).
제1 노드(200)는 발생한 트랜젝션(transaction)을 확인할 수 있고, 확인된 트랜젝션에 대한 사용자 서명을 획득할 수 있다.
예를 들면, 제1 노드(200)는 발생한 제1 트랜젝션을 확인할 수 있고, 확인된 트랜젝션에 대한 사용자 서명을 획득할 수 있다.
여기서 제1 노드(200)는 사용자 단말로, 모바일 거래 환경의 모바일 디바이스일 수 있고, 블록을 생성하기 위한 연산 능력이 부족한 노드일 수 있다. 그리고 제1 트랜젝션에 대한 사용자 서명은 제1 노드(200)에 대응하는 사용자의 서명일 수 있다. 획득된 사용자 서명은 확인된 트랜잭션에 대한 사용자의 부인을 방지하고, 트랜잭션을 생성한 사용자에 대한 인증을 제공하기 위한 역할을 할 수 있다. 이에 대해서는 후술한다.
제1 노드(200)는 발생된 제1 트랜젝션 및 사용자 서명을 제2 노드(300)에 전송할 수 있다(S120).
예를 들어, 제1 노드(200)는 발생된 제1 트랜젝션 및 제1 트랜젝션에 대한 사용자 서명을 포함하는 제1 트랜젝션 정보를 제2 노드(300)에 전송할 수 있다.
여기서 제2 노드(300)는 미리 선정된 노드일 수 있고, 금융 기관, 예를 들면 은행 노드일 수 있다.
제1 노드(200)는 제2 트랜젝션 발생을 확인할 수 있다(S130).
제1 노드(200)는 발생한 제2 트랜젝션을 확인할 수 있고, 확인된 제2 트랜젝션에 대한 사용자 서명을 획득할 수 있다.
제1 노드(200)는 발생된 제2 트랜젝션 및 사용자 서명을 제2 노드(300)에 전송할 수 있다(S140).
예를 들어, 제1 노드(200)는 발생된 제2 트랜젝션 및 제2 트랜젝션에 대한 사용자 서명을 포함하는 제2 트랜잭션 정보를 제2 노드(300)에 전송할 수 있다.
제1 노드(200)는 상술한 트랜젝션 발생 확인 및 발생된 트랜젝션 및 발생된 트랜젝션에 대한 사용자 서명을 제2 노드(300)에 전송하는 과정을 반복할 수 있다.
제2 노드(300)는 전송된 적어도 하나의 트랜젝션에 대한 블록을 생성할 수 있다(S150).
예를 들면, 제2 노드(300)는 전송된 적어도 하나의 트랜젝션과 트랜젝션에 대한 사용자 서명 및 블록을 생성하는 제2 노드(300)의 전자 서명을 포함하는 블록을 생성할 수 있다.
제2 노드(300)는 생성하는 블록에 블록을 생성하는 자신의 전자 서명을 포함시킬 수 있어서, 생성된 블록이 미리 합의된 노드에서 생성되었음을 증명할 수 있다.
일 실시예로, 제2 노드(300)는 전송된 트랜잭션이 일정 값 이상 축적되면, 축적된 트랜잭션에 대한 블록을 생성할 수 있다. 구체적으로, 제2 노드(300)는 축적된 트랜젝션 및 축적된 트랜젝션 각각에 대응하는 사용자 서명, 제2 노드(300)의 전자 서명을 포함하는 블록을 생성할 수 있다.
여기서 제2 노드(300)가 전송된 트랜젝션을 기초로 블록을 생성하는 것은 마이닝(mining)이라고 칭할 수도 있다.
제2 노드(300)가 생성한 블록의 구조에 대해 도 3을 참조하여 설명한다.
도 3은 본 발명의 다양한 실시예에 따른 블록 구조를 나타낸다.
도 3을 참조하면, 블록(500)은 헤더(510)와 바디(550)를 포함할 수 있다.
블록(500)의 헤더(510)는 블록의 해시(511), 버전(513), 이전 블록의 해시(515), 머클 해시(517), 타임 스탬프(519), 비츠(512), 넌스(523), 은행 서명(525), 거래 횟수(527)를 포함할 수 있다.
블록의 해시(511)은 생성된 블록(500)의 해시를 포함한다.
버전(513)은 소프트웨어/프로토콜 버전을 포함한다.
이전 블록의 해시(515)는 바로 전에 생성된 블록의 해시를 포함한다.
머클 해시(517)는 트랜잭션 해시 트리를 포함할 수 있다.
타임 스탬프(519)는 블록이 생성된 시간을 포함할 수 있다.
비츠(521)는 난이도 조절용 수치를 포함할 수 있다.
넌스(523)는 블록 생성 시의 넌스(nonce)를 포함할 수 있다.
은행 서명(525)는 블록을 생성한 노드의 전자 서명을 포함할 수 있다.
예를 들면, 은행 서명(525)은 블록을 생성한 은행 노드의 전자 서명을 포함할 수 있다.
거래 횟수(527)는 거래 횟수를 포함할 수 있고, 다른 정보를 더 포함할 수도 있다.
블록(500)의 바디(550)는 제1 트랜젝션(560), 제1 트랜젝션에 대한 사용자 서명(565), 제2 트랜젝션(570), 제2 트랜젝션에 대한 사용자 서명(575), 제3 트랜젝션(580) 및 제3 트랜젝션에 대한 사용자 서명(585)을 포함할 수 있다.
제1 트랜젝션(560), 제2 트랜젝션(570) 및 제3 트랜젝션(580)은 다른 노드로부터 전송된 트랜젝션일 수 있고, 노드를 생성한 노드에서 발생한 트랜젝션일 수도 있다.
제1 트랜젝션에 대한 사용자 서명(565), 제2 트랜젝션에 대한 사용자 서명(575) 및 제3 트랜젝션에 대한 사용자 서명(585) 각각은 제1 트랜젝션(560), 제2 트랜젝션(570), 제3 트랜젝션(580) 각각에 대한 사용자 서명으로, 해당 트랜젝션과 함께 전송된 사용자 서명일 수 있다.
여기서 바디(550)에 포함된 트랜젝션 및 트랜젝션에 대한 사용자 서명의 수는 설명을 위한 예시로, 블록(500)의 바디(550)에는 다양한 수의 트랜젝션 및 사용자 서명이 포함될 수 있다.
다시 도 2를 참조한다.
제2 노드(300)는 생성된 블록을 전송할 수 있다(S160).
예를 들면, 제2 노드(300)는 생성된 블록을 브로드 캐스트(Broadcast) 방식으로 전송할 수 있다.
일 실시예로, 제2 노드(300)는 생성된 블록을 브로드 캐스트 방식으로 전송하여, 제1 노드(200), 제3 노드(400)에 전송할 수 있다.
제3 노드(400)는 전송된 블록을 검증할 수 있다(S170).
제3 노드(400)는 제2 노드(300)로부터 전송된 블록을 검증할 수 있다.
예를 들면, 제3 노드(400)는 제2 노드(300)에서 대리 생성된 블록에 대한 작업 증명을 통해, 생성된 블록에 대한 합의를 수행할 수 있다.
여기서 제3 노드(400)는 미리 선정된 노드일 수 있고, 금융 기관, 예를 들면 은행 노드일 수 있다.
일 실시예로, 제3 노드(400)는 아래 식과 같은 검증을 통해 생성된 블록을 검증할 수 있다.
h(h(n-1th block header)||nonce)<x
제3 노드(400)는 생성된 블록이 검증되면, 검증된 블록을 업데이트할 수 있다(S180).
예를 들면, 제3 노드(400)는 생성된 블록이 검증되면, 생성된 블록을 블록 체인에 포함시키고, 검증된 블록에 대한 정보를 브로드캐스트할 수 있다.
일 실시예로, 제3 노드(400)는 검증된 블록에 대한 정보를 제1 노드(200), 제2 노드(300)에 전송할 수 있다.
제3 노드(400)는 검증된 블록에 대한 정보를 블록 체인에 포함된 노드들에 전송할 수 있다. 이에 따라, 블록 체인이 업데이트될 수 있다.
도 4를 참조하여 구체적인 일 실시예를 설명한다.
도 4는 본 발명의 다양한 실시예에 따른 모바일 환경에서의 블록 체인 생성 방법에 대한 레더 다이어그램이다.
도 4를 참조하면, 사용자 단말(600)은 발생한 제1 트랜젝션을 확인할 수 있다(S210).
예를 들면, 사용자 단말(600)은
Figure 112017083323472-pat00001
을 획득할 수 있다.
여기서 Sig_A는 사용자 A의 서명이고, Tx는 트랜젝션(transaction)이며, PRA는 A의 개인 키(private key)이다.
사용자 단말(600)은 모바일 디바이스일 수 있고, 블록을 생성하기 위한 연산 능력이 부족한 노드일 수 있다.
사용자 단말(600)은 제1 트랜젝션 및 제1 트랜젝션에 대한 사용자 서명을 제1 은행 노드(700)에 전송할 수 있다(S220).
예를 들면, 사용자 단말(600)은 Tx_1, Sig_A를 제1 은행 노드(700)에 전송할 수 있다.
사용자 단말(600)은 발생한 제2 트랜젝션을 확인할 수 있다(S230).
예를 들면, 사용자 단말(600)은
Figure 112017083323472-pat00002
을 획득할 수 있다.
여기서 Sig_A는 사용자 A의 서명이고, Tx는 트랜젝션(transaction)이며, PRA는 A의 개인 키(private key)이다.
사용자 단말(600)은 제2 트랜젝션 및 제2 트랜젝션에 대한 사용자 서명을 제1 은행 노드(700)에 전송할 수 있다(S240).
예를 들면, 사용자 단말(600)은 Tx_2, Sig_A′`를 제1 은행 노드(700)에 전송할 수 있다. 여기서, 제1 은행 노드(700)는 미리 선정된 노드일 수 있다.
사용자 단말(600)은 상술한 트랜젝션 발생 확인 및 발생된 트랜젝션 및 발생된 트랜젝션에 대한 사용자 서명을 제1 은행 노드(700)에 전송하는 과정을 반복할 수 있다.
제1 은행 노드(700)는 전송된 적어도 하나의 트랜젝션에 대한 블록을 생성할 수 있다(S250).
예를 들면, 제1 은행 노드(700)는 전송된 적어도 하나의 트랜젝션과 트랜젝션에 대한 사용자 서명 및 블록을 생성하는 제1 은행 노드(700)의 전자 서명을 포함하는 블록을 생성할 수 있다.
블록 생성에 대한 설명은 제2 노드(300)의 블록 생성에서 설명한 바 있어 자세한 설명은 생략한다.
제1 은행 노드(700)는 생성된 블록을 전송할 수 있다(S260).
예를 들면, 제1 은행 노드(700)는 생성된 블록을 브로드 캐스트 방식으로 전송할 수 있다.
제1 은행 노드(700)는 생성된 블록을 브로드 캐스트 방식으로 전송하여, 사용자 단말(600), 제2 은행 노드(800)에 전송할 수 있다.
제2 은행 노드(800)는 전송된 블록을 검증할 수 있다(S270).
제2 은행 노드(800)는 제1 은행 노드(700)로부터 전송된 블록을 검증할 수 있다.
예를 들면, 제2 은행 노드(800)는 제1 은행 노드(700)에서 대리 생성된 블록에 대한 작업 증명을 통해, 생성된 블록에 대한 합의를 수행할 수 있다.
여기서, 제2 은행 노드(800)는 미리 선정된 노드일 수 있다.
일 실시예로, 제2 은행 노드(800)는 아래 식과 같은 검증을 통해 생성된 블록을 검증할 수 있다.
h(h(n-1th block header)||nonce)<x
제2 은행 노드(800)는 생성된 블록이 검증되면, 검증된 블록을 업데이트할 수 있다(S280).
예를 들면, 제2 은행 노드(800)는 생성된 블록이 검증되면, 생성된 블록을 블록 체인에 포함시키고, 검증된 블록에 대한 정보를 브로드캐스트할 수 있다.
일 실시예로, 제2 은행 노드(800)는 검증된 블록에 대한 정보를 사용자 단말(600), 제1 은행 노드(700)에 전송할 수 있다.
제2 은행 노드(800)는 검증된 블록에 대한 정보를 블록 체인에 포함된 노드들에 전송할 수 있다. 이에 따라, 블록 체인이 업데이트될 수 있다.
상술한 바와 같이, 본 발명의 다양한 실시예에 따른 블록 생성 장치 및 방법은 모바일 디바이스와 같은 블록 생성을 위한 연산 능력이 부족한 노드를 대신하여, 미리 선정된 노드에서 모바일 디바이스를 대신하여 블록을 생성할 수 있다. 그리고 생성되는 노드에 사용자 서명 및 블록을 생성한 은행의 전자 서명을 포함시킬 수 있어서, 사용자의 트랜젝션 생성 부인을 방지할 수 있고, 트랜잭션에 연접된 서명은 트랜잭션을 생성한 사용자에 대한 인증을 제공할 수 있다. 모바일 디바이스와 같은 사용자 노드는 트랜잭션의 서명만을 생성하고, 블록을 생성하고 합의하는 모든 절차는 미리 선정된 은행 노드들에서 이루어질 수 있다. 이를 통해, 사용자 노드에서의 연산량을 효율적으로 줄일 수 있고, 모바일 금융거래에서도 블록 체인을 적용할 수 있다.
이상, 본 발명의 기술적 사상을 바람직한 실시예를 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러 가지 변형 및 변경이 가능하다.
100: 전자 장치
110: 프로세서
130: 메모리
150: 통신 모듈
200: 제1 노드
300: 제2 노드
400: 제3 노드
500: 블록
510: 헤더
550: 바디
600: 사용자 단말
700: 제1 은행 노드
800: 제2 은행 노드

Claims (14)

  1. 블록 체인에 포함된 처리 노드의 블록 체인 생성 방법에 있어서,
    상기 블록 체인에 포함된 복수의 노드 중 상기 처리 노드가 아닌, 트랜젝션이 발생된 적어도 하나의 다른 노드로부터, 발생된 트랜젝션 및 상기 발생된 트랜젝션을 증명하는 사용자 서명을 포함하는 적어도 하나의 트랜젝션 정보를 수신하는 단계;
    상기 수신된 적어도 하나의 트랜젝션 정보에 포함된, 상기 발생된 트랜젝션의 수가 기준 값 이상 축적되는지 판단하는 단계;
    상기 발생된 트랜젝션의 수가 상기 기준 값 이상 축적되면, 상기 기준 값 이상 축적된 복수의 트랜젝션, 상기 복수의 트랜젝션 각각을 증명하는 복수의 사용자 서명 및 블록을 생성하는 상기 처리 노드를 증명하는 전자 서명을 포함하는 블록을 생성하는 단계; 및
    상기 적어도 하나의 다른 노드에서 발생된 상기 복수의 트랜젝션을 포함하는 상기 블록의 생성을 검증하기 위해, 상기 블록 체인에 포함된 검증 노드로 상기 생성된 블록을 전송하는 단계를 포함하고,
    상기 생성된 블록은
    상기 처리 노드가 아닌 상기 적어도 하나의 다른 노드에서 발생된 상기 복수의 트랜젝션만을 포함하는
    블록 체인 생성 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 블록을 생성하는 단계는
    상기 기준 값 이상 축적된 복수의 트랜젝션 및 상기 복수의 트랜젝션 각각을 증명하는 복수의 사용자 서명을 상기 블록의 바디(body)에 포함하도록 상기 블록을 생성하는 단계를 포함하는
    블록 체인 생성 방법.
  4. 제1항에 있어서,
    상기 블록을 생성하는 단계는
    상기 처리 노드를 증명하는 상기 전자 서명을 상기 블록의 헤더(header)에 포함하도록 상기 블록을 생성하는 단계를 포함하는
    블록 체인 생성 방법.
  5. 제1항에 있어서,
    상기 처리 노드는
    상기 블록 체인에 포함된 복수의 노드 중 미리 합의된 노드를 포함하는
    블록 체인 생성 방법.
  6. 제1항에 있어서,
    상기 처리 노드는
    상기 블록 체인에 포함된 복수의 노드 중 기준 연산량 이상의 처리 능력을 갖는 노드를 포함하는
    블록 체인 생성 방법.
  7. 제1항에 있어서,
    상기 생성된 블록을 상기 블록 체인 내의 다른 노드들에 브로드캐스트(broadcast)하는 단계를 더 포함하는
    블록 체인 생성 방법.
  8. 블록 체인 생성 장치에 있어서,
    적어도 하나의 프로세서; 및
    상기 프로세서에 전기적으로 연결된 메모리를 포함하고,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    블록 체인에 포함된 복수의 노드 중 상기 블록 체인 생성 장치가 아닌, 트랜젝션이 발생된 적어도 하나의 다른 노드로부터, 발생된 트랜젝션 및 상기 발생된 트랜젝션을 증명하는 사용자 서명을 포함하는 적어도 하나의 트랜젝션 정보를 수신하고,
    상기 수신된 적어도 하나의 트랜젝션 정보에 포함된, 상기 발생된 트랜젝션의 수가 기준 값 이상 축적되는지 판단하고,
    상기 발생된 트랜젝션의 수가 상기 기준 값 이상 축적되면, 상기 기준 값 이상 축적된 복수의 트랜젝션, 상기 복수의 트랜젝션 각각을 증명하는 복수의 사용자 서명 및 블록을 생성하는 블록 체인 생성 장치를 증명하는 전자 서명을 포함하는 블록을 생성하고,
    상기 적어도 하나의 다른 노드에서 발생된 상기 복수의 트랜젝션을 포함하는 상기 블록의 생성을 검증하기 위해, 상기 블록 체인에 포함된 검증 노드로 상기 생성된 블록을 전송하도록 하는 인스트럭션들을 저장하고,
    상기 생성된 블록은
    상기 블록 체인 생성 장치가 아닌 상기 적어도 하나의 다른 노드에서 발생된 상기 복수의 트랜젝션만을 포함하는
    블록 체인 생성 장치.
  9. 삭제
  10. 제8항에 있어서,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 기준 값 이상 축적된 복수의 트랜젝션 및 상기 복수의 트랜젝션 각각을 증명하는 복수의 사용자 서명을 상기 블록의 바디(body)에 포함하여 상기 블록을 생성하도록 하는 인스트럭션들을 저장하는
    블록 체인 생성 장치.
  11. 제8항에 있어서,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 블록 체인 생성 장치를 증명하는 상기 전자 서명을 상기 블록의 헤더(header)에 포함하여 상기 블록을 생성하도록 하는 인스트럭션들을 저장하는
    블록 체인 생성 장치.
  12. 제8항에 있어서,
    상기 블록 체인 생성 장치는
    블록 체인에 포함된 복수의 노드 중 미리 합의된 노드에 대응하는
    블록 체인 생성 장치.
  13. 제8항에 있어서,
    상기 블록 체인 생성 장치는
    블록 체인에 포함된 복수의 노드 중 기준 연산량 이상의 처리 능력을 갖는 노드에 대응하는
    블록 체인 생성 장치.
  14. 제8항에 있어서,
    상기 메모리는, 실행 시에, 상기 프로세서가,
    상기 생성된 블록을 블록 체인 내의 다른 노드들에 브로드캐스트(broadcast)하도록 하는 인스트럭션들을 저장하는
    블록 체인 생성 장치.
KR1020170108944A 2017-08-28 2017-08-28 블록 체인 생성 장치 및 방법 KR101922963B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170108944A KR101922963B1 (ko) 2017-08-28 2017-08-28 블록 체인 생성 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170108944A KR101922963B1 (ko) 2017-08-28 2017-08-28 블록 체인 생성 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101922963B1 true KR101922963B1 (ko) 2018-11-28

Family

ID=64561604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170108944A KR101922963B1 (ko) 2017-08-28 2017-08-28 블록 체인 생성 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101922963B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020153552A1 (ko) * 2019-01-22 2020-07-30 인제대학교 산학협력단 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치
KR20200124846A (ko) * 2019-04-25 2020-11-04 한국에이아이사이언스 주식회사 컨소시엄 블록체인 네트워크에서 계좌에 기초하여 금융서비스를 제공하는 방법
KR20210048307A (ko) * 2019-10-23 2021-05-03 (주)헥슬란트 암호 화폐 검증 노드, 발행 노드 및 결제 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템
JP2017091149A (ja) * 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091149A (ja) * 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム
KR101701131B1 (ko) * 2016-04-28 2017-02-13 주식회사 라피 이종간 블록체인 연결을 이용한 데이터 기록/검증 방법 및 시스템

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020153552A1 (ko) * 2019-01-22 2020-07-30 인제대학교 산학협력단 기록된 거래의 수정이 가능한 블록체인을 위한 방법 및 장치
KR20200124846A (ko) * 2019-04-25 2020-11-04 한국에이아이사이언스 주식회사 컨소시엄 블록체인 네트워크에서 계좌에 기초하여 금융서비스를 제공하는 방법
KR102186999B1 (ko) * 2019-04-25 2020-12-04 한국에이아이사이언스 주식회사 컨소시엄 블록체인 네트워크에서 계좌에 기초하여 금융서비스를 제공하는 방법
KR20210048307A (ko) * 2019-10-23 2021-05-03 (주)헥슬란트 암호 화폐 검증 노드, 발행 노드 및 결제 시스템
KR102363804B1 (ko) * 2019-10-23 2022-02-16 (주)헥슬란트 암호 화폐 검증 노드, 발행 노드 및 결제 시스템

Similar Documents

Publication Publication Date Title
CN109075964B (zh) 支持用于区块验证的多个单向函数的区块链
US11641283B2 (en) Computer implemented method and system for transferring access to a digital asset
KR102194078B1 (ko) 블록체인 네트워크 내 교차 자산 거래
US11228439B2 (en) Scale out blockchain with asynchronized consensus zones
CN111989891B (zh) 数据处理方法、相关装置及区块链系统
US20230137104A1 (en) Computer-implemented systems and methods for using a blockchain to perform an atomic swap
US20220138737A1 (en) Computer-implemented systems and methods for implementing transfers over a blockchain network
CN110601849B (zh) 一种可信时间戳添加方法、装置和存储介质
CN109241087B (zh) 一种联盟链的数据处理方法及终端
CN110730963B (zh) 用于信息保护的系统和方法
WO2020133326A1 (zh) 区块链生成方法、系统、计算机存储介质和电子设备
CN111837359B (zh) 管理基于区块链的中心化账本系统
CN111226248B (zh) 管理基于区块链的中心化账本系统
CN111066285A (zh) 基于sm2签名恢复公钥的方法
CN112600678B (zh) 一种数据处理方法、装置、设备及存储介质
CN111108526B (zh) 管理基于区块链的中心化账本系统
JP2018093434A (ja) トランザクション管理方法、トランザクション管理プログラム及びトランザクション管理装置
CN115176441A (zh) 基于身份的公钥生成协议
KR101922963B1 (ko) 블록 체인 생성 장치 및 방법
WO2022183998A1 (zh) 一种数据处理方法、装置、设备及存储介质
JP2024505692A (ja) ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器
TWI836066B (zh) 用以於工作量證明區塊鏈網路上挖礦之系統及方法
CN113841359A (zh) 用于在区块链网络中传播区块的方法和装置
WO2021009496A1 (en) Peer-to-peer network and method
Cong et al. A blockchain consensus protocol with horizontal scalability

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant