KR102631875B1 - 블록체인 시스템의 지갑 주소를 관리하는 방법 및 도메인에 기반한 트랜잭션을 처리하는 방법 - Google Patents

블록체인 시스템의 지갑 주소를 관리하는 방법 및 도메인에 기반한 트랜잭션을 처리하는 방법 Download PDF

Info

Publication number
KR102631875B1
KR102631875B1 KR1020180130572A KR20180130572A KR102631875B1 KR 102631875 B1 KR102631875 B1 KR 102631875B1 KR 1020180130572 A KR1020180130572 A KR 1020180130572A KR 20180130572 A KR20180130572 A KR 20180130572A KR 102631875 B1 KR102631875 B1 KR 102631875B1
Authority
KR
South Korea
Prior art keywords
domain
wallet address
blockchain system
transaction
unique wallet
Prior art date
Application number
KR1020180130572A
Other languages
English (en)
Other versions
KR20200048458A (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 KR1020180130572A priority Critical patent/KR102631875B1/ko
Publication of KR20200048458A publication Critical patent/KR20200048458A/ko
Application granted granted Critical
Publication of KR102631875B1 publication Critical patent/KR102631875B1/ko

Links

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/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/3674Payment 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 involving authentication

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

블록체인(blockchain) 시스템의 지갑 주소를 관리하거나 이를 이용하여 트랜잭션을 처리하는 기술에 관한 것으로, 블록체인 시스템의 고유 지갑 주소를 관리하는 방법은, 고유 지갑 주소를 그에 대응하는 도메인(domain)과 매칭하여 관리하기 위한 스마트 컨트랙트(smart contract)를 생성하여 관리 컨트랙트로 설정하고, 관리 컨트랙트가 블록체인 시스템의 사용자 또는 스마트 컨트랙트로부터 고유 지갑 주소에 대한 도메인 등록 요청을 수신하고, 도메인이 미리 저장된 도메인 테이블 내에 유효하게 존재하는지 여부를 검사하며, 검사 결과에 따라 도메인 등록 요청을 처리한다.

Description

블록체인 시스템의 지갑 주소를 관리하는 방법 및 도메인에 기반한 트랜잭션을 처리하는 방법{Method for managing wallet address of blockchain system and processing transaction based on domain}
본 발명은 블록체인 데이터의 관리 기술에 관한 것으로서, 보다 구체적으로 블록체인 시스템의 지갑 주소를 도메인을 이용하여 관리하는 데이터 처리 방법, 이러한 도메인에 기반하여 블록체인 트랜잭션을 처리하는 장치, 방법 및 이를 기록한 기록매체에 관한 것이다.
블록체인(blockchain)은 관리 대상 데이터를 '블록'이라고 하는 소규모 데이터들이 P2P(peer-to-peer) 방식을 기반으로 생성된 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장되어 누구도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술 이다.
블록에는 해당 블록이 발견되기 이전에 사용자들에게 전파되었던 모든 거래 내역이 기록되어 있고, 이것은 P2P 방식으로 모든 사용자에게 똑같이 전송되므로 거래 내역을 임의로 수정하거나 누락시킬 수 없다. 블록은 발견된 날짜와 이전 블록에 대한 연결고리를 가지고 있으며 이러한 블록들의 집합을 블록체인이라 칭한다.
기존에 전자화폐로 거래할 때 중앙 서버에 거래 기록을 보관하는 것과는 달리, 블록체인은 모든 사용자에게 거래 기록을 보여주며 서로 비교해 위조를 막는다.
한편, 스마트 컨트랙트(smart contract) 또는 스마트 계약은 블록체인 기반으로 체결하는 계약을 말한다. 이러한 스마트 컨트랙트는 이더리움(Ethereum)에서 처음 도입되었으며, 현재는 에이다, NEO, Qtum, EOS, 플레이코인 등의 암호화폐에도 적용된 상태이다.
한국특허공개공보 제2018-0085570호, "블록 체인을 이용하여 데이터를 관리하는 장치 및 방법", 2018년07월27일 공개
본 발명이 해결하고자 하는 기술적 과제는, 종래의 블록체인 기술에서 사용되는 사용자 또는 스마트 컨트랙트의 지갑 주소는 인코딩 또는 해싱을 기반으로 한 무의미한 주소를 가짐으로 인해 사용자로 하여금 기억, 식별 및 입력이 매우 불편하다는 문제를 해결하고, 스마트 컨트랙트 사용, 작성 및 분석의 난이도가 증가하는 약점을 극복하며, 잘못된 입력으로 인해 야기되는 치명적인 실수를 방지하고자 한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 블록체인(blockchain) 시스템의 고유 지갑 주소를 관리하는 방법은, 고유 지갑 주소를 그에 대응하는 도메인(domain)과 매칭하여 관리하기 위한 스마트 컨트랙트(smart contract)를 생성하여 관리 컨트랙트로 설정하는 단계; 상기 관리 컨트랙트가 블록체인 시스템의 사용자 또는 스마트 컨트랙트로부터 고유 지갑 주소에 대한 도메인 등록 요청을 수신하는 단계; 상기 관리 컨트랙트가 상기 도메인이 미리 저장된 도메인 테이블 내에 유효하게 존재하는지 여부를 검사하는 단계; 및 상기 검사 결과에 따라 상기 관리 컨트랙트가 상기 도메인 등록 요청을 처리하는 단계;를 포함한다.
일 실시예에 따른 고유 지갑 주소의 관리 방법에서, 상기 도메인 등록 요청을 처리하는 단계는, 상기 검사 결과, 상기 도메인이 상기 도메인 테이블 내에 유효하게 중복하여 존재하는 경우 상기 관리 컨트랙트가 상기 도메인 등록 요청을 거부하는 응답을 전송할 수 있다.
일 실시예에 따른 고유 지갑 주소의 관리 방법에서, 상기 도메인 등록 요청을 처리하는 단계는, 상기 도메인 등록 요청이 동시에 복수 개 수신된 경우 상기 검사 결과와 무관하게 상기 관리 컨트랙트가 상기 도메인 등록 요청을 거부하는 응답을 전송할 수 있다.
일 실시예에 따른 고유 지갑 주소의 관리 방법에서, 상기 도메인 등록 요청을 처리하는 단계는, 상기 검사 결과, 상기 도메인이 상기 도메인 테이블 내에 유효하게 중복하여 존재하지 않는 경우 상기 관리 컨트랙트가 상기 도메인 등록 요청에 따라 상기 도메인과 상기 고유 지갑 주소를 매칭하여 상기 도메인 테이블에 저장함으로써 등록 성공을 나타내는 응답을 전송할 수 있다. 또한, 상기 도메인 등록 요청을 처리하는 단계는, 상기 도메인과 상기 고유 지갑 주소를 매칭하여 상기 도메인 테이블에 저장하되, 등록이 이루어지는 시간 정보 및 상기 도메인의 유효 상태를 더 포함하여 저장할 수 있다. 나아가, 상기 도메인 테이블은, 상기 도메인을 포함하는 정보를 키(key) 값으로 하는 해시 테이블(hash table)로 구현될 수 있다.
일 실시예에 따른 고유 지갑 주소의 관리 방법에서, 상기 관리 컨트랙트가 블록체인 시스템의 사용자의 요청에 따라 상기 도메인 테이블에 저장된 도메인을 변경하거나 점유를 해제하는 명령을 수행할 수 있다. 또한, 상기 도메인 테이블에 저장된 도메인의 점유가 해제된 경우 상기 관리 컨트랙트가 해당 도메인에 대한 도메인 등록 요청시 새로운 고유 지갑 주소를 매칭하여 저장하는 명령을 수행할 수 있다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 다른 실시예에 따른 블록체인(blockchain) 시스템의 트랜잭션을 처리하는 방법은, 송신자가 송신자 또는 수신자 중 적어도 하나의 고유 지갑 주소에 대응하는 도메인(domain)을 사용하여 트랜잭션을 생성하는 단계; 고유 지갑 주소를 그에 대응하는 도메인과 매칭하여 관리하는 관리 컨트랙트로 설정된 스마트 컨트랙트(smart contract)가 생성된 상기 트랜잭션으로부터 상기 도메인에 대한 조회 요청을 수신하는 단계; 상기 스마트 컨트랙트가 상기 조회 요청에 따라 미리 저장된 도메인 테이블을 검색하는 단계; 및 상기 검색 결과에 따라 상기 스마트 컨트랙트가 상기 도메인에 대응하는 고유 지갑 주소를 획득하여 상기 트랜잭션을 처리하는 단계;를 포함한다.
다른 실시예에 따른 트랜잭션의 처리 방법에서, 상기 도메인 테이블을 검색하는 단계는, 상기 미리 저장된 도메인 테이블 내에 상기 도메인이 존재하지 않는 경우 상기 트랜잭션을 무효화할 수 있다.
다른 실시예에 따른 트랜잭션의 처리 방법에서, 상기 도메인 테이블을 검색하는 단계는, 상기 미리 저장된 도메인 테이블 내에 상기 도메인이 존재하는 경우 상기 도메인에 대응하는 고유 지갑 주소가 여전히 유효한지 여부를 검사하는 단계를 더 포함할 수 있다. 또한, 상기 고유 지갑 주소가 여전히 유효한지 여부를 검사하는 단계는, 상기 도메인에 대응하는 고유 지갑 주소가 만료되었거나 점유가 해제된 경우 유효하지 않는 것으로 판단할 수 있다. 나아가, 상기 고유 지갑 주소가 여전히 유효한지 여부를 검사하는 단계는, 상기 도메인에 대응하는 고유 지갑 주소가 유효하지 않는 것으로 판단한 경우 상기 트랜잭션을 무효화할 수 있다.
다른 실시예에 따른 트랜잭션의 처리 방법에서, 상기 도메인 테이블을 검색하는 단계는, 상기 미리 저장된 도메인 테이블 내에 상기 도메인이 존재하되 도메인에 대응하는 고유 지갑 주소가 복수 개인 경우 복수 개의 고유 지갑 주소 중 가장 최근에 등록된 유효한 값을 획득할 수 있다.
다른 실시예에 따른 트랜잭션의 처리 방법에서, 상기 트랜잭션을 처리하는 단계는, 상기 도메인에 대응하는 유효한 고유 지갑 주소가 획득된 경우 수신자가 사람이면 송금을 처리할 수 있다.
다른 실시예에 따른 트랜잭션의 처리 방법에서, 상기 트랜잭션을 처리하는 단계는, 상기 도메인에 대응하는 유효한 고유 지갑 주소가 획득된 경우 수신자가 컨트랙트이면 실행 및 처리를 진행할 수 있다.
한편, 이하에서는 상기 기재된 고유 지갑 주소의 관리 방법 및 트랜잭션의 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명의 실시예들은, 사용자는 복잡한 지갑 주소 대신에 사용자가 정의한 쉬운 단어들로 이루어진 도메인을 이용하여 주소의 기억, 식별 및 입력을 용이하게 수행할 수 있으므로 블록체인 시스템 사용이 보다 편리해지며, 스마트 컨트랙트의 사용, 작성 및 분석이 수월해지고 오타로 인한 치명적인 실수를 감소시킬 수 있다는 장점을 갖는다.
도 1은 종래의 블록체인 플랫폼들이 사용하는 지갑 주소를 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 블록체인(blockchain) 시스템의 고유 지갑 주소를 관리하는 방법을 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 도 2의 고유 지갑 주소의 관리 방법을 도메인 신청 및 할당 절차에 따라 도시한 도면이다.
도 4는 본 발명의 다른 실시예에 따른 블록체인(blockchain) 시스템의 트랜잭션을 처리하는 방법을 도시한 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른 도 4의 트랜잭션 처리 과정에서의 도메인 관리 컨트랙트의 내부 동작 방식을 설명하기 위한 도면이다.
본 발명의 실시예들을 설명하기에 앞서, 종래의 블록체인 시스템에서 사용하는 지갑 주소로부터 이들이 내포하고 있는 문제점들을 검토한 후, 이들 문제점을 해결하기 위해 본 발명의 실시예들이 채택하고 있는 기술적 수단을 순차적으로 소개하도록 한다.
도 1은 종래의 블록체인 플랫폼들이 사용하는 지갑 주소를 예시한 도면이다.
사용자(사람) 및 스마트 컨트랙트는 자기 자신임을 나타내는 식별자(identifier, ID)의 역할을 하는 고유 지갑 주소를 갖고 있으며, 그 주소를 통해 트랜잭션을 처리할 수 있다. 현재 비트코인, 이더리움 등의 블록체인 플랫폼들은 수학적, 암호학적 알고리즘을 이용해 생성된 16진수 혹은 숫자+알파벳 조합으로 이루어진 긴 자리의 값을 사용자 및 스마트 컨트랙트의 지갑 주소로 사용하고 있다.
도 1에 예시된 바를 통해 확인할 수 있듯이, 지갑 주소는 인코딩(부호화) 혹은 해싱(임의의 길이를 가진 데이터를 특정한 길이의 데이터로 변환해주는 기술)을 기반으로 한 무의미한 주소를 가지게 된다. 따라서, 이러한 현재의 블록체인 기술은 다음과 같은 문제점을 갖는다.
첫째, 기존의 블록체인 시스템들에서 스마트 컨트랙트 혹은 사용자의 식별자는 인코딩 및 해시값으로 이루어진 지갑 주소인데, 사용자에게 이러한 주소는 기억, 식별 및 입력이 매우 불편하다.
둘째, 또한 기존의 주소는 스마트 컨트랙트 사용, 작성 및 분석의 난이도를 높이고, 오타로 인한 치명적인 실수를 야기할 수 있다.
따라서, 이상의 문제점 인식에 기초하여 기존의 지갑 주소를 대체하는, 식별 및 입력이 간단하며 분석이 간단한 도메인(domain) 시스템이 필요하다. 여기서, 도메인이란 고유의 지갑 주소를 대체할 수 있는 일종의 별칭(alias)에 해당하는 것으로, 사용자에 의해 쉽게 인식/기억/식별/입력될 수 있도록 구성되는 것이 바람직하다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 덧붙여, 명세서 전체에서, 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
특별히 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 2는 본 발명의 일 실시예에 따른 블록체인(blockchain) 시스템의 고유 지갑 주소를 관리하는 방법을 도시한 흐름도로서, 인코딩 및 해시값으로 이루어진 스마트 컨트랙트 및 사용자들의 종래의 식별하기 어려운 지갑 주소 대신에, 사용자 편의를 위해 지갑 주소에 매칭되는 식별이 용이한 도메인을 생성, 조회 및 관리하는 기술적 수단을 제안하고 있다.
S210 단계에서, 고유 지갑 주소를 그에 대응하는 도메인(domain)과 매칭하여 관리하기 위한 스마트 컨트랙트(smart contract)를 생성하여 관리 컨트랙트로 설정한다. 즉, 블록체인의 탈중앙화 성향에 맞추어, 도메인 테이블을 관리하는 특수한(그리고 유일한) 스마트 컨트랙트를 생성한다.
S220 단계에서, 관리 컨트랙트는 블록체인 시스템의 사용자 또는 스마트 컨트랙트로부터 고유 지갑 주소에 대한 도메인 등록 요청을 수신한다.
S230 단계에서, 상기 관리 컨트랙트는 상기 도메인이 미리 저장된 도메인 테이블 내에 유효하게 존재하는지 여부를 검사한다. 여기서, 도메인 테이블은 (도메인, 등록 날짜, 유효상태, 원래의 지갑 주소)의 정보를 가질 수 있다. 또한, 이 테이블은 도메인과 그 외 정보들을 키(key) 값으로 하는 해시 테이블(해시를 색인으로 사용하는 테이블)로서, 저장할 수 있는 정보량은 거의 무한하게 확장 가능하다.
S240 단계에서, 상기 검사 결과에 따라 상기 관리 컨트랙트는 상기 도메인 등록 요청을 처리한다.
이 과정에서는, 상기 검사 결과, 상기 도메인이 상기 도메인 테이블 내에 유효하게 중복하여 존재하는 경우 상기 관리 컨트랙트가 상기 도메인 등록 요청을 거부하는 응답을 전송할 수 있다. 또한, 이 과정에서는, 상기 도메인 등록 요청이 동시에 복수 개 수신된 경우 상기 검사 결과와 무관하게 상기 관리 컨트랙트가 상기 도메인 등록 요청을 거부하는 응답을 전송할 수 있다.
반면, 상기 검사 결과, 상기 도메인이 상기 도메인 테이블 내에 유효하게 중복하여 존재하지 않는 경우 상기 관리 컨트랙트가 상기 도메인 등록 요청에 따라 상기 도메인과 상기 고유 지갑 주소를 매칭하여 상기 도메인 테이블에 저장함으로써 등록 성공을 나타내는 응답을 전송할 수 있다.
즉, 도메인 관리 스마트 컨트랙트를 통해 사용자들은 지갑의 주소에 상응하는 도메인을 사용자가 임의로 정의할 수 있으며, 중복 혹은 동시 생성은 거부 처리로 막을 수 있다. 또한, 사용자들은 이러한 관리 컨트랙트를 통해 도메인의 변경 및 점유 해제가 가능한데, 점유가 해제된 도메인은 다른 지갑 주소로 등록될 수 있으며, 이전의 점유자와 구분하기 위해 등록 날짜 정보도 도메인 테이블에 함께 기록하는 것이 바람직하다. 한편, 각각의 지갑 주소는 1개 이상의 도메인에 매칭될 수 있다.
도 3은 본 발명의 일 실시예에 따른 도 2의 고유 지갑 주소의 관리 방법을 도메인 신청 및 할당 절차에 따라 도시한 도면이다.
도 3을 참조하면, 먼저 ① 사용자(사람) 또는 스마트 컨트랙트(10)가 도메인 관리 컨트랙트(20)에게 도메인 등록을 요청한다. 그러면, ② 도메인 관리 컨트랙트(20)는 도메인 테이블(25) 내에서 중복 여부를 조회한다. ③ 만약, 도메인 테이블(25) 내에서 해당 도메인이 중복되지 않는 경우 도메인 테이블(25)에 도메인 정보를 등록한다. 반면, 해당 도메인이 중복되는 경우 혹은 동시 신청된 경우에는 도메인 등록 요청을 거절한다. 이제, ④ 도메인 관리 컨트랙트는 요청자에게 결과를 반환하게 된다.
요약하건대, 관리 컨트랙트(20)가 도메인 등록 요청을 처리하는 과정은, 도메인 테이블(25)에 대한 검사 결과, 해당 도메인이 상기 도메인 테이블(25) 내에 유효하게 중복하여 존재하지 않는 경우 상기 관리 컨트랙트(20)가 상기 도메인 등록 요청에 따라 상기 도메인과 상기 고유 지갑 주소를 매칭하여 상기 도메인 테이블(25)에 저장함으로써 등록 성공을 나타내는 응답을 전송하게 된다.
또한, 상기 도메인 등록 요청을 처리하는 과정은, 상기 도메인과 상기 고유 지갑 주소를 매칭하여 상기 도메인 테이블에 저장하되, 등록이 이루어지는 시간 정보 및 상기 도메인의 유효 상태를 더 포함하여 저장하는 것이 바람직하다. 이때, 상기 도메인 테이블(25)은, 상기 도메인을 포함하는 정보를 키(key) 값으로 하는 해시 테이블(hash table)로 구현될 수 있다.
이상과 같은 구조를 채택함으로써, 본 발명의 실시예들에 따른 고유 지갑 주소의 관리 방법은, 관리 컨트랙트(20)가 블록체인 시스템의 사용자의 요청에 따라 도메인 테이블(25)에 저장된 도메인을 변경하거나 점유를 해제하는 명령을 수행할 수 있다. 따라서, 만약 도메인 테이블(25)에 저장된 도메인의 점유가 해제된 경우 상기 관리 컨트랙트(20)가 해당 도메인에 대한 도메인 등록 요청시 새로운 고유 지갑 주소를 매칭하여 저장하는 명령을 수행할 수 있게 된다.
이제 이상에서 소개한 도메인 테이블을 이용하여 블록체인 시스템의 트랜잭션을 보다 용이하게 처리하는 과정을 제안하도록 한다.
도 4는 본 발명의 다른 실시예에 따른 블록체인(blockchain) 시스템의 트랜잭션을 처리하는 방법을 도시한 흐름도이다. 사용자 및 스마트 컨트랙트가 도메인을 사용해 트랜잭션을 처리하면, 블록체인 시스템은 도메인 관리 스마트 컨트랙트에서 도메인을 조회해서 상응하는 지갑 주소로 트랜잭션을 처리하게 된다. 블록체인의 특성상 도메인 관리 스마트 컨트랙트 역시 모든 노드에서 같은 값으로 동기화 되므로 도메인 테이블의 무결성은 보장될 수 있다.
S410 단계에서, 송신자는 송신자 또는 수신자 중 적어도 하나의 고유 지갑 주소에 대응하는 도메인(domain)을 사용하여 트랜잭션을 생성한다.
S420 단계에서, 관리 컨트랙트는 생성된 상기 트랜잭션으로부터 상기 도메인에 대한 조회 요청을 수신한다. 이때 관리 컨트랙트는 고유 지갑 주소를 그에 대응하는 도메인과 매칭하여 관리하도록 설정된 스마트 컨트랙트(smart contract)를 의미한다.
S430 단계에서, 상기 스마트 컨트랙트는 상기 조회 요청에 따라 미리 저장된 도메인 테이블을 검색한다. 이 과정에서 상기 미리 저장된 도메인 테이블 내에 상기 도메인이 존재하지 않는 경우 상기 트랜잭션을 무효화할 수 있다. 반면, 상기 미리 저장된 도메인 테이블 내에 상기 도메인이 존재하는 경우 상기 도메인에 대응하는 고유 지갑 주소가 여전히 유효한지 여부를 검사하는 단계를 더 포함할 수 있다. 이때, 고유 지갑 주소가 여전히 유효한지 여부를 검사하는 과정은 상기 도메인에 대응하는 고유 지갑 주소가 만료되었거나 점유가 해제된 경우 유효하지 않는 것으로 판단할 수 있다. 또한, 상기 도메인에 대응하는 고유 지갑 주소가 유효하지 않는 것으로 판단한 경우 상기 트랜잭션을 무효화할 수 있다. 나아가, 도메인 테이블을 검색하는 과정에서는, 상기 미리 저장된 도메인 테이블 내에 상기 도메인이 존재하되 도메인에 대응하는 고유 지갑 주소가 복수 개인 경우 복수 개의 고유 지갑 주소 중 가장 최근에 등록된 유효한 값을 획득할 수 있다.
S440 단계에서, 상기 검색 결과에 따라 상기 스마트 컨트랙트가 상기 도메인에 대응하는 고유 지갑 주소를 획득하여 상기 트랜잭션을 처리한다. 이 과정에서, 상기 도메인에 대응하는 유효한 고유 지갑 주소가 획득된 경우 수신자가 사람이면 송금을 처리하고, 수신자가 컨트랙트이면 실행 및 처리를 진행할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 도 4의 트랜잭션 처리 과정에서의 도메인 관리 컨트랙트의 내부 동작 방식을 설명하기 위한 도면이다.
S501 단계에서 송신자(33)가 송신자(33) 또는 수신자(35), 혹은 양자(33, 35) 모두의 지갑 주소 대신에 도메인을 사용하여 트랜잭션을 생성한다. S502 단계에서 트랜잭션(40)은 관리 컨트랙트(20)에게 도메인의 조회를 요청한다. 그러면, S503 단계에서 관리 컨트랙트(20)는 S502 단계를 통해 전달받은 도메인을 도메인 테이블(25)에서 검색한다. 이때, 매칭되는 도메인이 없다면 처리에 실패하고, 매칭되는 도메인이 존재할 경우 이에 대한 처리에 성공하여 S504 단계를 통해 각각의 응답을 수행한다.
다음으로, S505 단계에서 관리 컨트랙트(20)는 S504 단계를 통해 반환받은 수신자의 지갑 주소가 여전히 유효한지 검사한다. 점유 해제 또는 도메인 만료 등의 이유로 주소가 유효하지 않은 경우에는 처리에 실패하고, 여전히 해당 지갑 주소가 유효하다면 처리에 성공하여 S506 단계를 통해 각각의 응답을 수행한다.
S507 단계에서 관리 컨트랙트(20)는 요청된 도메인과 매칭되는 지갑 주소를 트랜잭션(40)에 반환한다. 이전 과정들에서 처리에 실패한 경우, 트랜잭션은 무효화된다.
이제, S508 단계에서, 앞서 반환받은 수신자의 주소를 이용해 트랜잭션을 처리한다. 수신자가 사람이면 송금이 이루어지고, 수신자가 컨트랙트라면 실행 및 처리가 이루어지며, S509 단계를 통해 각각의 처리 응답을 수행한다. 트랜잭션의 처리에 따라, 지갑의 잔고가 증가하거나 컨트랙트의 상태가 업데이트 된다. 이때 오류가 발생하여 처리에 실패하면 트랜잭션 처리 과정은 무효화될 수 있다.
마지막으로, S510 단계를 통해 송신자(33)는 트랜잭션 처리의 결과를 반환받는다.
상기된 본 발명의 실시예들에 따르면, 사용자는 복잡한 지갑 주소 대신에 사용자가 정의한 쉬운 단어들로 이루어진 도메인을 이용하여 주소의 기억, 식별 및 입력을 용이하게 수행할 수 있으므로 블록체인 시스템 사용이 보다 편리해지며, 스마트 컨트랙트의 사용, 작성 및 분석이 수월해지고 오타로 인한 치명적인 실수를 감소시킬 수 있다는 장점을 갖는다. 따라서, 본 발명의 실시예들은 블록체인 거래소 또는 블록체인 지갑 등 스마트 컨트랙트가 동작하는 블록체인 기반 시스템에 널리 적용 가능하다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10: 사용자 / 컨트랙트
20: 관리 컨트랙트
25: 도메인 테이블
33: 송신자
35: 수신자
40: 트랜잭션

Claims (17)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 블록체인(blockchain) 시스템이 트랜잭션을 처리하는 방법에 있어서,
    상기 블록체인 시스템이 송신자를 통해 송신자 또는 수신자 중 적어도 하나를 나타내는 식별자로서 블록체인 시스템에서 생성된 고유 지갑 주소를 대체할 수 있도록 그에 대응하는 별칭인 도메인(domain)을 사용하여 트랜잭션을 생성하는 단계;
    상기 블록체인 시스템이 고유 지갑 주소를 그에 대응하는 도메인과 매칭하여 관리하는 관리 컨트랙트로 설정된 스마트 컨트랙트(smart contract)를 통해 상기 트랜잭션으로부터 상기 도메인에 대한 조회 요청을 수신하는 단계;
    상기 블록체인 시스템이 상기 스마트 컨트랙트를 통해 상기 조회 요청에 따라 미리 저장된 도메인 테이블을 검색하되,
    상기 미리 저장된 도메인 테이블 내 상기 도메인이 존재하지 않는 경우에 상기 트랜잭션을 무효화하거나, 상기 미리 저장된 도메인 테이블 내 상기 도메인이 존재하는 경우에 상기 도메인에 대응하는 고유 지갑 주소가 여전히 유효한지 여부를 검사하는 단계; 및
    상기 블록체인 시스템이 상기 검색 결과에 따라 상기 스마트 컨트랙트를 통해 상기 도메인에 대응하는 고유 지갑 주소를 획득하여 상기 트랜잭션을 처리하는 단계;를 포함하는 트랜잭션의 처리 방법.
  10. 제 9 항에 있어서,
    상기 블록체인 시스템이 고유 지갑 주소를 생성하는 단계;를 더 포함하고,
    상기 고유 지갑 주소를 생성하는 단계는,
    상기 블록체인 시스템이 사용자 및 스마트 컨트랙트가 자신을 나타내는 식별자로서 블록체인 시스템에서 생성된 고유 지갑 주소를 대체할 수 있도록 그에 대응하는 별칭인 도메인(domain)과 매칭하여 관리하기 위한 스마트 컨트랙트(smart contract)를 생성하여 관리 컨트랙트로 설정하는 단계;
    상기 블록체인 시스템이 상기 관리 컨트랙트를 통해 블록체인 시스템의 사용자 또는 스마트 컨트랙트로부터 고유 지갑 주소에 대한 도메인 등록 요청을 수신하는 단계;
    상기 블록체인 시스템이 상기 관리 컨트랙트를 통해 상기 도메인이 미리 저장된 도메인 테이블 내에 유효하게 존재하는지 여부를 검사하는 단계; 및
    상기 블록체인 시스템이 상기 검사 결과에 따라 상기 관리 컨트랙트를 통해 상기 도메인 등록 요청을 처리하는 단계;를 포함하는 트랜잭션의 처리 방법.
  11. 제 10 항에 있어서,
    상기 도메인 등록 요청을 처리하는 단계는,
    상기 검사 결과, 상기 도메인이 상기 도메인 테이블 내에 유효하게 중복하여 존재하는 경우 상기 관리 컨트랙트가 상기 도메인 등록 요청을 거부하는 응답을 전송하고,
    상기 도메인 등록 요청이 동시에 복수 개 수신된 경우 상기 검사 결과와 무관하게 상기 관리 컨트랙트가 상기 도메인 등록 요청을 거부하는 응답을 전송하고,
    상기 검사 결과, 상기 도메인이 상기 도메인 테이블 내에 유효하게 중복하여 존재하지 않는 경우 상기 관리 컨트랙트가 상기 도메인 등록 요청에 따라 상기 도메인과 상기 고유 지갑 주소를 매칭하여 상기 도메인 테이블에 저장함으로써 등록 성공을 나타내는 응답을 전송하는 것을 특징으로 하는 트랜잭션의 처리 방법.
  12. 제 9 항에 있어서,
    상기 고유 지갑 주소가 여전히 유효한지 여부를 검사하는 단계는,
    상기 도메인에 대응하는 고유 지갑 주소가 만료되었거나 점유가 해제된 경우 유효하지 않는 것으로 판단하는 것을 특징으로 하는 트랜잭션의 처리 방법.
  13. 제 9 항에 있어서,
    상기 고유 지갑 주소가 여전히 유효한지 여부를 검사하는 단계는,
    상기 도메인에 대응하는 고유 지갑 주소가 유효하지 않는 것으로 판단한 경우 상기 트랜잭션을 무효화하는 것을 특징으로 하는 트랜잭션의 처리 방법.
  14. 제 9 항에 있어서,
    상기 고유 지갑 주소가 여전히 유효한지 여부를 검사하는 단계는,
    상기 미리 저장된 도메인 테이블 내에 상기 도메인이 존재하되 도메인에 대응하는 고유 지갑 주소가 복수 개인 경우 복수 개의 고유 지갑 주소 중 가장 최근에 등록된 유효한 값을 획득하는 것을 특징으로 하는 트랜잭션의 처리 방법.
  15. 제 9 항에 있어서,
    상기 트랜잭션을 처리하는 단계는,
    상기 도메인에 대응하는 유효한 고유 지갑 주소가 획득된 경우 수신자가 사람이면 송금을 처리하는 것을 특징으로 하는 트랜잭션의 처리 방법.
  16. 제 9 항에 있어서,
    상기 트랜잭션을 처리하는 단계는,
    상기 도메인에 대응하는 유효한 고유 지갑 주소가 획득된 경우 수신자가 컨트랙트이면 실행 및 처리를 진행하는 것을 특징으로 하는 트랜잭션의 처리 방법.
  17. 제 9 항 내지 제 16 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020180130572A 2018-10-30 2018-10-30 블록체인 시스템의 지갑 주소를 관리하는 방법 및 도메인에 기반한 트랜잭션을 처리하는 방법 KR102631875B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180130572A KR102631875B1 (ko) 2018-10-30 2018-10-30 블록체인 시스템의 지갑 주소를 관리하는 방법 및 도메인에 기반한 트랜잭션을 처리하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180130572A KR102631875B1 (ko) 2018-10-30 2018-10-30 블록체인 시스템의 지갑 주소를 관리하는 방법 및 도메인에 기반한 트랜잭션을 처리하는 방법

Publications (2)

Publication Number Publication Date
KR20200048458A KR20200048458A (ko) 2020-05-08
KR102631875B1 true KR102631875B1 (ko) 2024-02-01

Family

ID=70677667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180130572A KR102631875B1 (ko) 2018-10-30 2018-10-30 블록체인 시스템의 지갑 주소를 관리하는 방법 및 도메인에 기반한 트랜잭션을 처리하는 방법

Country Status (1)

Country Link
KR (1) KR102631875B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111651469B (zh) * 2020-06-01 2023-05-26 杭州溪塔科技有限公司 一种管理区块链系统合约的方法和装置
US20240095733A1 (en) * 2022-09-21 2024-03-21 3Dns, Inc. Blockchain-based domain name registrar and management system
CN115293777B (zh) * 2022-10-09 2023-02-24 湖南三湘银行股份有限公司 基于区块链智能合约的区块链钱包操作提醒方法及系统
KR102654373B1 (ko) * 2023-09-26 2024-04-04 주식회사 블로코 블록체인지갑 관리 서비스를 제공하는 방법 및 이를 위한 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101857223B1 (ko) * 2017-11-13 2018-05-11 주식회사 온더 블록체인 토큰 기반의 사용자 식별 방법 및 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040065643A (ko) * 2003-01-15 2004-07-23 삼성전자주식회사 IPv6 프로토콜을 위한 IP 주소 및 도메인명자동등록 방법
KR102026225B1 (ko) 2017-01-19 2019-09-27 주식회사 케이티 블록 체인을 이용하여 데이터를 관리하는 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101857223B1 (ko) * 2017-11-13 2018-05-11 주식회사 온더 블록체인 토큰 기반의 사용자 식별 방법 및 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
블로그, 블록체인 도메인 과 네임코인(2018.05.24.)*
블로그, 이제 이더리움 주소가 쉬워진다 - CoinDesk Korea 신뢰 그 이상의 가치(2018.08.07.)*

Also Published As

Publication number Publication date
KR20200048458A (ko) 2020-05-08

Similar Documents

Publication Publication Date Title
KR102631875B1 (ko) 블록체인 시스템의 지갑 주소를 관리하는 방법 및 도메인에 기반한 트랜잭션을 처리하는 방법
CN110495132B (zh) 用于在分布式网络节点内生成、上传和执行代码区块的系统和方法
JP3899795B2 (ja) ファイル管理システムおよび方法
KR20220012353A (ko) 블록체인 트랜잭션의 데이터 필드의 검증
KR102236341B1 (ko) 블록체인-기반 데이터 관리를 위한 시스템 및 방법
US20190332783A1 (en) Secure document management using blockchain
KR102384575B1 (ko) 분산 네트워크 및 분산형 아이디를 활용하는 저작자 인증장치 및 방법
US10885036B2 (en) Obtaining incremental updates from a database using a partial query
US11494403B2 (en) Method and apparatus for storing off-chain data
KR20220013406A (ko) 오프체인 기능을 제공하기 위한 블록체인 트랜잭션 사용
US11775665B2 (en) System and method for executing access transactions of documents related to drug discovery
KR20220015435A (ko) 블록체인 트랜잭션을 유효성 검증하기 위한 프로토콜
KR102125784B1 (ko) 블록체인을 활용한 음성 녹취 데이터 검증 방법
CN109788067A (zh) 一种基于区块链的信息处理方法和信息处理系统
US11797617B2 (en) Method and apparatus for collecting information regarding dark web
JP7447127B2 (ja) 分散型台帳システムへのデータの記録の誤ったコピーの送信を防止する
US6687707B1 (en) Unique object identification in a network of computing systems
WO2022057525A1 (zh) 一种数据找回方法、装置、电子设备及存储介质
CN108234122A (zh) 令牌校验方法和装置
EP4032223A1 (en) Multi-criteria blockchain protocol
US20090287654A1 (en) Device for identifying electronic file based on assigned identifier
US10657139B2 (en) Information processing apparatus and non-transitory computer readable medium for distributed resource management
KR20200051219A (ko) 스마트 컨트랙트의 분류 장치 및 분류 방법
Moreaux et al. Blockchain assisted near-duplicated content detection
JP2023529467A (ja) カスタムトランザクションスクリプト

Legal Events

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