首页 / 专利库 / 银行与财务事项 / 数字货币 / 加密货币 / 암호화 화폐의 거래를 보호하는 방법 및 장치

암호화 화폐의 거래를 보호하는 방법 및 장치

阅读:328发布:2020-07-17

专利汇可以提供암호화 화폐의 거래를 보호하는 방법 및 장치专利检索,专利查询,专利分析的服务。并且암호화화폐를거래시 안전하게거래할수 있는암호화화폐보호기술이개시된다. 피어-투-피어(peer-to-peer)로암호화화폐를처리하는네트워크에참여한사용자단말들에의해수행되는암호화화폐보호방법은, 암호화화폐의최종트랜잭션(final transaction)에포함된제1 해시(hash)에상기암호화화폐를디지털서명하는과정에서생성된제2 해시(hash)를덧붙여새로운트랜잭션을생성하는단계, 및상기새로운트랜잭션에대한유효성검증을위해상기네트워크에새로운트랜잭션을배포하는단계를포함할수 있다.,下面是암호화 화폐의 거래를 보호하는 방법 및 장치专利的具体信息内容。

  • 피어-투-피어(peer-to-peer)로 암호화 화폐를 처리하는 네트워크에 참여한 사용자 단말들에 의해 수행되는 암호화 화폐 보호 방법에 있어서,
    암호화 화폐의 최종 트랜잭션(final transaction)에 포함된 제1 해시(hash prev )에 상기 암호화 화폐를 디지털 서명하는 과정에서 생성된 제2 해시(hash new )를 덧붙여 새로운 트랜잭션을 생성하는 단계;
    상기 새로운 트랜잭션에 대한 유효성 검증을 위해 상기 네트워크에 새로운 트랜잭션을 배포하는 단계; 및
    블록 체인에 기록된 트랜잭션 내역에서 상기 제2 해시의 존재 여부를 확인함에 따라, 상기 새로운 트랜잭션이 정상적으로 처리되었는지 여부를 검증하는 단계
    를 포함하고,
    상기 제2 해시는, 최종 트랜잭션(final transaction) 이전에 수행되는 중간 트랜잭션(intermediate transaction)에서 계산되고,
    상기 새로운 트랜잭션을 배포하는 단계는,
    상기 새로운 트랜잭션을 상기 제1 해시에 상기 제2 해시가 덧붙여진 구조로 디지털 서명하여 상기 네트워크에 배포하고,
    상기 검증하는 단계는,
    공격자에 의해 상기 제1 해시가 수정됨에 따라 수정된 트랜잭션이 배포되고, 상기 네트워크에 참여한 사용자 단말들 중 마이너(miner) 단말에서 상기 제1 해시에 기초하여 상기 수정된 트랜잭션의 유효성이 정상으로 검증되어 상기 수정된 트랜잭션이 상기 새로운 트랜잭션보다 먼저 블록체인에 추가된 경우, 이중 지불 여부를 확인하기 위해 상기 수정된 트랜잭션에 포함된 제2 해시에 기초하여 상기 새로운 트랜잭션의 이행 여부를 검증하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
  • 제1항에 있어서,
    상기 사용자 단말들은,
    상기 제1 해시에 기초하여 상기 새로운 트랜잭션에 대한 유효성을 검증을 수행하고, 새로운 거래가 유효한 거래로 검증된 경우, 새로운 거래를 블록에 추가하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
  • 제1항에 있어서,
    상기 새로운 트랜잭션은,
    상기 암호화 화폐를 수신할 수신자의 주소, 상기 암호화 화폐를 전송하는 송신자의 주소, 암호화 화폐의 송금액을 포함하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
  • 제1항에 있어서,
    상기 네트워크에 참여한 사용자 단말들은,
    상기 사용자 단말들을 통해 이루어진 암호화 화폐와 관련된 트랜잭션 내역이 기록된 블록 체인을 공유하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
  • 삭제
  • 제1항에 있어서,
    상기 검증하는 단계는,
    상기 제2 해시에 기초하여 상기 새로운 트랜잭션에 대한 거래 가변성(transaction malleability)을 검증하는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
  • 제1항에 있어서,
    상기 암호화 화폐는, 비트코인(Bitcoin: BTC)을 포함하고,
    상기 사용자 단말들은,
    상기 비트코인을 처리하기 위해 형성된 비트코인 네트워크에 참여한 단말들인 것
    을 특징으로 하는 암호화 화폐 보호 방법.
  • 제1항에 있어서,
    상기 제2 해시는,
    상기 사용자 단말들이 상기 제1 해시를 계산하는 동안 검증되는 것
    을 특징으로 하는 암호화 화폐 보호 방법.
  • 피어-투-피어(peer-to-peer)로 암호화 화폐를 처리하는 암호화 화폐 보호 장치에 있어서,
    암호화 화폐의 최종 트랜잭션(final transaction)에 포함된 제1 해시(hash prev )에 상기 암호화 화폐를 디지털 서명하는 과정에서 생성된 제2 해시(hash new )를 덧붙여 새로운 트랜잭션을 생성하는 트랜잭션 생성부;
    상기 새로운 트랜잭션에 대한 유효성 검증을 위해 네트워크에 새로운 트랜잭션을 배포하는 트랜잭션 배포부; 및
    블록 체인에 기록된 트랜잭션 내역에서 상기 제2 해시의 존재 여부를 확인함에 따라, 상기 새로운 트랜잭션이 정상적으로 처리되었는지 여부를 검증하는 검증부
    를 포함하고,
    상기 제2 해시는, 최종 트랜잭션(final transaction) 이전에 수행되는 중간 트랜잭션(intermediate transaction)에서 계산되고,
    상기 트랜잭션 배포부는,
    상기 새로운 트랜잭션을 상기 제1 해시에 상기 제2 해시가 덧붙여진 구조로 디지털 서명하여 상기 네트워크에 배포하고,
    상기 검증부는,
    공격자에 의해 상기 제1 해시가 수정됨에 따라 수정된 트랜잭션이 배포되고, 상기 네트워크에 참여한 사용자 단말들 중 마이너(miner) 단말에서 상기 제1 해시에 기초하여 상기 수정된 트랜잭션의 유효성이 정상으로 검증되어 상기 수정된 트랜잭션이 상기 새로운 트랜잭션보다 먼저 블록체인에 추가된 경우, 이중 지불 여부를 확인하기 위해 상기 수정된 트랜잭션에 포함된 제2 해시에 기초하여 상기 새로운 트랜잭션의 이행 여부를 검증하는 것
    을 특징으로 하는 암호화 화폐 보호 장치.
  • 제9항에 있어서,
    상기 검증부는,
    상기 제2 해시에 기초하여 상기 새로운 트랜잭션에 대한 거래 가변성(transaction malleability)을 검증하는 것
    을 특징으로 하는 암호화 화폐 보호 장치.
  • 说明书全文

    암호화 화폐의 거래를 보호하는 방법 및 장치{METHOD AND APPARATUS FOR PROTECTING TRANSASCTION OF ENCRYPTED CURRENCY}

    본 발명의 실시예들은 비트코인 등의 암호화 화폐 거래를 해커(hacker)등의 공격자로부터 안전하게 보호하는 기술에 관한 것이다.

    네트워크가 발달함에 따라, 포털 사이트에서는 가입자에게 활동에 따른 이득을 제공하는 사이버 머니(cyber money)의 개념인 가상 화폐가 등장하였다. 이러한 가상 화폐는 특정 웹 사이트에서만 가치가 있으나, 나카모토 사토시는 전세계인 모두가 사용할 수 있는 암호화폐인 비트코인(Bitcoin: BTC)을 생각해 발표하였다.

    비트코인은 비트(bit)로 이루어진 디지털 통화로, 통화를 관리하는 중앙 서버가 존재하지 않는 대신 P2P(Peer-to-Peer) 기반 분산 데이터베이스에 의해 거래가 이루어진다. 이 거래는 공개키 암호화 방식을 기반으로 이루어지며, 비트코인의 주체에 대한 익명성이 보장된다. 그리고, 비트코인의 거래 내역은 블록 체인(block chain)이라는 형태로 공개된다.

    비트코인의 가치가 점점 올라감에 따라, 2014년 2월에 마운트 곡스(Mt. Gox)의 비트코인 전자지갑이 해킹(hacking)되어, 결국 거래 가변성(transaction malleability) 버그에 따른 이중 지불(double spending)로 인해 마운트 곡스가 파산하는 일이 발생하였다. 예를 들어, 수신자 X가 10 비트코인(BTC)을 송신자 Y(예를 들면, 비트코인 거래소)에게 요청한다. 그러면, 송신자 Y는 10 BTC의 이전 출처, 전자서명(예를 들어, 개인키) 및 수신자 X의 주소가 포함된 거래 정보(실제 거래 정보)를 비트코인 네트워크에 브로드캐스트한다. 이때, 수신자 X가 전자서명을 살짝 바꾸어 다시 한번 네트워크에 거래 정보를 브로드캐스트할 수 있다.

    전자서명이 수정된 거래 정보가 실제 거래 정보보다 먼저 비트코인 네트워크에 널리 전파되는 경우, 수정된 거래 정보가 다수의 블록에 저장된다. 그리고, 수신자 X는 수정된 거래가 다수의 블록에 저장됨에 따른 BTC 10을 받는다. 이때, 수신자 X는 송신자 Y에게 실제 거래 정보에 대한 10BTC를 받지 못함을 이메일 등을 통해 알린다. 그러면, 송신자 Y는 블록 체인에서 실제 거래 정보가 등록되지 않음을 확인하여, 10BTC를 수신자 X에게 이중 지불(double spending)하는 문제가 발생한다.

    이에 따라, 비트코인 네트워크에서 이중 지불 문제를 해소하기 위한 기술이 요구된다.
    본 발명의 배경이 되는 기술로 일본공표특허공보 특표2005-537559호가 있다.

    본 발명의 일실시예는 비트코인 네트워크에서 거래 가변성 버그로 인해 발생하는 이중 지불을 해소하여 비트코인의 가치를 높이고, 비트코인의 사용을 활성화할 수 있는 암호화 화폐의 거래를 보호하는 방법 및 시스템을 제공하기 위한 것이다.

    피어-투-피어(peer-to-peer)로 암호화 화폐를 처리하는 네트워크에 참여한 사용자 단말들에 의해 수행되는 암호화 화폐 보호 방법은, 암호화 화폐의 최종 트랜잭션(final transaction)에 포함된 제1 해시(hash prev )에 상기 암호화 화폐를 디지털 서명하는 과정에서 생성된 제2 해시(hash new )를 덧붙여 새로운 트랜잭션을 생성하는 단계, 및 상기 새로운 트랜잭션에 대한 유효성 검증을 위해 상기 네트워크에 새로운 트랜잭션을 배포하는 단계를 포함할 수 있다.

    일측면에 따르면, 상기 사용자 단말들은, 상기 제1 해시에 기초하여 상기 새로운 트랜잭션에 대한 유효성을 검증을 수행하고, 새로운 거래가 유효한 거래로 검증된 경우, 새로운 거래를 블록에 추가할 수 있다.

    다른 측면에 따르면, 상기 새로운 트랜잭션은, 상기 암호화 화폐를 수신할 수신자의 주소, 상기 암호화 화폐를 전송하는 송신자의 주소, 암호화 화폐의 송금액을 포함할 수 있다.

    또 다른 측면에 따르면, 상기 네트워크에 참여한 사용자 단말들은, 상기 사용자 단말들을 통해 이루어진 암호화 화폐와 관련된 트랜잭션 내역이 기록된 블록 체인을 공유할 수 있다.

    또 다른 측면에 따르면, 상기 블록 체인에 기록된 트랜잭션 내역에서 상기 제2 해시의 존재 여부를 확인함에 따라, 상기 새로운 트랜잭션이 정상적으로 처리되었는지 여부를 검증하는 단계를 더 포함할 수 있다.

    또 다른 측면에 따르면, 상기 제2 해시에 기초하여 상기 새로운 트랜잭션에 대한 거래 가변성(transaction malleability)을 검증하는 단계를 더 포함할 수 있다.

    또 다른 측면에 따르면, 상기 암호화 화폐는, 비트코인(Bitcoin: BTC)을 포함하고, 상기 사용자 단말들은, 상기 비트코인을 처리하기 위해 형성된 비트코인 네트워크에 참여한 단말들을 포함할 수 있다.

    또 다른 측면에 따르면, 상기 제2 해시는, 상기 사용자 단말들이 상기 제1 해시를 계산하는 동안 검증될 수 있다.

    피어-투-피어(peer-to-peer)로 암호화 화폐를 처리하는 암호화 화폐 보호 장치는, 암호화 화폐의 최종 트랜잭션(final transaction)에 포함된 제1 해시(hash prev )에 상기 암호화 화폐를 디지털 서명하는 과정에서 생성된 제2 해시(hash new )를 덧붙여 새로운 트랜잭션을 생성하는 트랜잭션 생성부, 및 상기 새로운 트랜잭션에 대한 유효성 검증을 위해 상기 네트워크에 새로운 트랜잭션을 배포하는 트랜잭션 배포부를 포함할 수 있다.

    일측면에 따르면, 상기 제2 해시에 기초하여 상기 새로운 트랜잭션에 대한 거래 가변성(transaction malleability)을 검증하는 검증부를 더 포함할 수 있다.

    기존 해시와 새로운 해시를 이용하여 비트코인 네트워크에서 거래 가변성 버그로 인해 발생하는 이중 지불을 해소함에 따라, 비트코인의 가치를 높이고, 비트코인의 사용을 활성화할 수 있다.

    도 1은 본 발명의 일실시예에 있어서, P2P 기반의 비트코인 네트워크의 개략적인 구조를 도시한 도면이다.
    도 2는 본 발명의 일실시예에 있어서, 암호화 화폐 보호 장치의 내부 구성을 도시한 블록도이다.
    도 3은 본 발명의 일실시예에 있어서, 암호화 화폐 보호 방법을 설명하기 위해 제공되는 흐름도이다.
    도 4는 본 발명의 일실시예에 있어서, 중간 트랜잭션(intermediate transaction) 및 최종 트랜잭션(transaction)을 도시한 도면이다.
    도 5는 본 발명의 일실시예에 있어서, 새로운 해시를 포함하는 새로운 트랜잭션의 구조를 설명하기 위해 제공되는 도면이다
    도 6은 본 발명의 일실시예에 있어서, 마이너 단말들에서 트랜잭션의 유효성을 검증하는 동작을 설명하기 위해 제공되는 흐름도이다.
    도 7은 본 발명의 일실시예에 있어서, 공격 시나리오 1에 따른 트랜잭션의 유효성 검증을 설명하기 위해 제공되는 도면이다.
    도 8은 본 발명의 일실시예에 있어서, 공격 시나리오 2에 따른 트랜잭션의 유효성 검증을 설명하기 위해 제공되는 도면이다.

    본 실시예들은 분산형 네트워크 시스템에서 비트코인(Bitcoin: BTC) 등의 암호화 화폐를 처리하고, 거래 가변성(transaction malleability)와 같은 악의적인 공격으로 인해 비트코인의 이중 지불(double spending)이 발생하는 것으로부터 비트코인을 보호하는 기술을 설명하기 위한 것이다. 다시 말해, 본 실시예들은 거래 가변성 버그로부터 비트코인을 보호하는 비트코인 프로토콜을 설명하기 위한 것이다. 먼저, 본 실시예들의 이해를 돕기 위해 비트코인 및 비트코인 시스템에 대해 간략히 설명하기로 한다.

    비트코인은 피어-투-피어 네트워킹, 디지털 서명들 및 암호 작업 증명(cryptographic proof-of-work)을 이용하여, 신뢰에 의존하지 않고서 당사자들 간의 비가역적 전송들(지불들)을 가능하게 하는 암호화 화폐이다. 지불들은 비트코인 네트워크(Bitcoin network)에 의해 발행 및 전송되는 디지털 통화인 비트코인들에 의해 행해진다. 비트코인 네트워크에 참여한 사용자 단말들은 트랜잭션(transaction)들을 네트워크로 브로드캐스트(broadcast)하고, 비트코인 네트워크는 합의 기반 작업 증명 시스템(consensusbased proof-of-work system)을 통해 상기 트랜잭션들을 인증한 후에 블록 체인(block chain)에 트랜잭션 이력을 기록한다. 블록 체인은, P2P로 사용자 단말들 간에 이루어진 트랜잭션과 관련된 모든 내역이 기록된 블록들이 발생 시간 순으로 체인 형태로 묶인 것으로서, 비트코인 네트워크에 참여한 모든 사용자 단말들에게 공개 및 공유된다.

    비트코인은, 공개키 기반으로 암호화된 디지털 통화로서, 비트코인에서, 자금들은 공개-비밀 키들에 할당된다. 따라서, 본 발명의 실시예들에서, 자금들이 공개-비밀에 할당되며, 각 사용자 단말의 저장소에는 자신의 자금(예를 들어, 비트코인)을 관리하는 패스워드인 비밀키 및 자금의 주소를 나타내며 상기 비밀키와 쌍(pair)을 이루는 공개키가 저장될 수 있다. 예를 들어, 저장소는 전자 지갑을 나타내며, 사용자 단말에서 전자 지갑과 관련된 어플리케이션(application) 또는 웹 기반의 프로그램을 설치함에 따라, 전자 지갑이 사용자 단말에 설치될 수 있다. 전자 지갑이 설치 시, 사용자 단말을 위한 공개키 및 비밀키가 생성될 수 있다. 사용자들은 자신의 비밀키를 이용하여 자신의 자금인 비트코인을 보호할 수 있다.

    트랜잭션이 정상적으로 처리되었음을 나타내는 인증된 블록들은 묶여져서 체인으로 연결된다. 그러면, 사용자 단말들은, 새롭게 공개된 블록들에 대해, 그것들이 현존의 체인과 일관된 것인지의 여부가 계산되고, 만약 긍정적이라면, 상기 블록은 체인의 일부가 됨으로써 인증될 수 있다. 다시 말해, 상기 블록이 유효한 것으로 검증한 사용자 단말은, 자신의 블록 체인에 상기 블록을 추가할 수 있다. 그리고, 상기 블록과 현존하는 체인 간에 모순이 존재한다면, 상기 블록은 거절되고, 블록에 포함된 트랜잭션이 나타내는 전송이 무효화될 수 있다.

    이하에서는, 도면을 참조하여 P2P 기반의 비트코인 네트워크에서 트랜잭션의 유효성을 검증하여 비트코인을 거래 가변성 등의 공격으로부터 안전하게 처리하는 방법에 대해 상세히 설명하기로 한다.

    도 1은 본 발명의 일실시예에 있어서, P2P 기반의 비트코인 네트워크의 개략적인 구조를 도시한 도면이다.

    도 1에 따르면, 비트코인 네트워크(100)에 비트코인을 발행, 지급, 및 결재하는 등의 트랜잭션(transaction)을 처리하기 위해 다수의 사용자 단말들이 참여할 수 있다. 예를 들어, 트랜잭션은, 비트코인 거래 정보, 해시값 등을 포함하는 트랜잭션 식별자(transaction identifier)를 나타낼 수 있다.

    사용자 단말들은, 데스크탑 PC, 노트북, 스마트폰, 태블릿 등이 이용되며, 비트코인 네트워크에 참여하기 위해 전용 어플리케이션 또는 웹 기반의 프로그램을 설치할 수 있다. 본 실시예들에서는, 비트코인 네트워크(100)에 참여한 사용자 단말들 중 비트코인을 요청한 단말을 수신자 단말, 수신자 단말에게 비트코인을 지급하는 트랜잭션(transaction)를 비트코인 네트워크(100)에 브로드캐스트하는 단말을 송신자 단말, 그 외 나머지 사용자 단말들은 마이너(miner) 단말이라 칭한다. 여기서, 마이너 단말은 비트코인 네트워크에 브로드캐스트된 트랜잭션을 검증하고, 비트코인을 채굴(mining)하기 위해 이용될 수 있다. 예를 들어, 상기 송신자 단말 및 수신자 단말을 제외한 나머지 사용자 단말들 중 적어도 하나의 단말이 마이너 단말로 이용될 수 있다.

    송신자 단말(101)은 수신자 단말(102)에서 요청한 비트코인을 수신자 단말(102)에게 제공함을 나타내는 거래 정보를 포함하는 트랜잭션을 디지털 서명하여 비트코인 네트워크(100)에 브로드캐스트할 수 있다. 트랜잭션은, 송신자 단말의 주소, 수신자 단말의 주소, 비트코인 송금액, 송금할 비트코인의 이전 출처 정보를 포함하며, 트랜잭션은 디지털 서명되어 상기 네트워크(100)로 전송될 수 있다. 디지털 서명은 현재 비트코인 네트워크에서 이미 이용되고 있는 비트코인 프로토콜에서 계산된 제1 해시(hash prev )에 기초하여 이루어질 수 있다.

    이때, 송신자 단말(101)은 제1 해시(hash prev )에 제2 해시(hash new )를 덧붙여서 트랜잭션(transaction identifier)을 생성하고, 생성된 트랜잭션을 상기 네트워크(100)에 전송할 수 있다. 여기서, 제2 해시는, 디지털 서명 과정에서 생성된 해시로서, 원 거래(raw transaction)의 중간 부분에서 생성될 수 있다. 이에 따라, 송신자 단말(101)에서 네트워크로 전송되는 트랜잭션(transaction identifier)은 제2 해시를 더 포함할 수 있다.

    이처럼, 트랜잭션이 네트워크(100)에 브로드캐스트되면, 적어도 하나의 마이너 단말들은 상기 트랜잭션의 유효성을 검증할 수 있다. 예를 들어, 마이너 단말들은 디지털 서명들 및 암호 작업 증명(cryptographic proof-of-work)을 이용하여 상기 수신된 트랜잭션에 포함된 제1 해시에 기초하여 상기 트랜잭션의 유효성을 검증할 수 있다. 그리고, 유효한 경우, 상기 트랜잭션을 포함하는 블록을 블록 체인에 추가하고, 유효성을 입증하는 자료와 함께 상기 블록이 유효함을 트랜잭션 네트워크에 전송하여 공개할 수 있다. 그러면, 나머지 마이너 단말들은, 상기 블록 체인에 추가된 블록의 유효성을 검증하고, 유효한 경우, 자신의 블록 체인에 상기 추가된 블록을 추가할 수 있다. 유효하지 않은 경우, 마이너 단말들은, 상기 트랜잭션을 폐기할 수 있다.

    도 2는 본 발명의 일실시예에 있어서, 암호화 화폐 보호 장치의 내부 구성을 도시한 블록도이고, 도 3은 본 발명의 일실시예에 있어서, 암호화 화폐 보호 방법을 설명하기 위해 제공되는 흐름도이다. 특히, 도 3은 송신자 단말에서 수신자 단말에서 요청한 비트코인을 제공하는 거래 정보가 포함된 트랜잭션을 생성하여 네트워크로 배포하는 실시예를 설명하기 위한 흐름도이다.

    도 3의 각 단계들(310 내지 330 단계들)은 도 2의 트랜잭션 생성부(210), 트랜잭션 배포부(220), 및 검증부(230)에 의해 수행될 수 있다.

    310 단계에서, 트랜잭션 생성부(210)는 제1 해시 및 제2 해시를 이용하여 트랜잭션을 생성할 수 있다.

    제1 해시(hash prev )는 현재 이용되고 있는 비트코인 프로토콜에서 트랜잭션 생성 시 계산된 해시로서, 최종 트랜잭션에 포함된 것으로, 스크립트(ScripSig)를 이용하여 생성된 해시를 나타낼 수 있다. 상기 스크립트는, 디지털 서명된 데이터(signed data)와 공개키(script Public Key)를 포함할 수 있다.

    제2 해시는, 트랜잭션 생성 시 중간 부분에서 계산된 것으로서, 스크립트 없이 생성될 수 있다. 예를 들어, 도 4를 참고하면, 제2 해시는 트랜잭션 생성의 중간 부분(Intermediate Transaction)에서 스크립트 없이 생성된 해시(hash_sscriptless, 401)일 수 있다. 이처럼, 스크립트없이 제2 해시가 계산됨에 따라, 스크립트(ScriptSig)가 수정되더라도 제2 해시는 수정되지 않을 수 있다. 예를 들어, 도 5를 참고하면, 트랜잭션 생성부(210)는 제1 해시(501)에 제2 해시(502)를 덧붙인 구조로 트랜잭션을 생성할 수 있다. 이때, 제1 및 제2 해시는 고정된 길이 세그먼트로 이루어질 수 있다. 예를 들어, 제1 해시 및 제2 해시 각각은 20byte로 구성될 수 있다.

    320 단계에서, 트랜잭션 배포부(220)는 제1 및 제2 해시가 포함된 트랜잭션을 비트코인 네트워크로 브로드캐스트할 수 있다. 그러면, 브로드캐스트된 트랜잭션은 비트코인 네트워크에 참여한 마이너 단말들에 의해 유효성이 검증될 수 있다.

    330 단계에서, 비트코인 네트워크에 브로드캐스트된 트랜잭션이 정상적으로 처리됐는지 여부를 확인하고자 하는 경우, 검증부(230)는 제2 해시를 이용하여 트랜잭션의 정상 처리 여부를 검증할 수 있다.

    예를 들어, 송신자 단말(200)은 수신자 단말에서 요청한 비트코인을 전송하는 거래 정보, 제1 및 제2 해시가 포함된 트랜잭션을 비트코인 네트워크로 배포하였는데, 수신자 단말로부터 비트코인을 지급받지 못했다는 메시지를 수신할 수 있다. 그러면, 검증부(230)는 제2 해시를 이용하여 블록 체인에 포함된 트랜잭션들 중에서 자신이 배포한 트랜잭션이 존재하는지를 확인할 수 있다. 그리고, 검증부(230)는 이미 트랜잭션이 정상적으로 처리되었음을 확인하고, 사용자 단말(200)에 비트코인을 이중으로 지불하지 않을 수 있다.

    이상의 도 2 및 도 3에서 설명한 바와 같이, 제2 해시를 트랜잭션에 추가하여 제공하는 것만으로, 거래 가변성으로 인한 이중 지불을 방지할 수 있으며, 현재의 비트코인 프로토콜을 크게 변경하지 않고, 약간만 수정하여 본 암호화 화폐 보호 기술을 적용할 수 있다. 특히, 마이너들은, 기존 비트코인 프로토콜과 동일하게 제1 해시를 확인하여 트랜잭션의 유효성을 검증할 수 있다.

    도 6은 본 발명의 일실시예에 있어서, 마이너 단말들에서 트랜잭션의 유효성을 검증하는 동작을 설명하기 위해 제공되는 흐름도이고, 도 7은 본 발명의 일실시예에 있어서, 공격 시나리오 1에 따른 트랜잭션의 유효성 검증을 설명하기 위해 제공되는 도면이고, 도 8은 본 발명의 일실시예에 있어서, 공격 시나리오 2에 따른 트랜잭션의 유효성 검증을 설명하기 위해 제공되는 도면이다.

    도 6 내지 도 8에서는, 비트코인 네트워크에 악의성을 가진 해커(hacker) 등의 공격자가 존재하는 경우를 가정하여 설명하기로 한다. 예를 들어, 공격자에 의해 제1 해시 또는 제2 해시가 수정될 수 있다. 이하에서는, 2개의 공격 시나리오를 가정하고, 공격 시나리오 1에 따른 트랜잭션의 유효성을 검증하는 경우를 먼저 예를 들어 설명하기로 한다.

    공격 시나리오 1

    도 7을 참고하면, 송신자 단말에서 비트코인 네트워크로 브로드캐스트된 새로운 트랜잭션은 hash prev |hash new (701)의 형태를 가질 수 있다. 이때, 공격자가 새로운 트랜잭션(701)을 가로채서(intercept) 제1 해시를 수정할 수 있다. 예를 들어, 스크립트(ScriptSig)에 내용을 추가하거나 수정하는 등의 동작을 수행함에 따라 제1 해시가 수정될 수 있다. 그리고, 제1 해시를 수정한 트랜잭션을 비트코인 네트워크에 브로드캐스트할 수 있다. 이때, 수정된 트랜잭션(702)이 정상적인 트랜잭션(701)보다 비트코인 네트워크에 빠르게 그리고 널리 전파되어 블록체인에 성공적으로 추가될 수 있다.

    610 단계에서, 마이너 단말들은, 비트코인 네트워크를 통해 수신된 트랜잭션의 유효성을 검증할 수 있다.

    일례로, 도 7에 도시된 공격 시나리오 1에 따라, 마이너 단말이 수정된 트랜잭션(702)을 수신한 경우, 수정된 트랜잭션(702)의 유효성을 검증할 수 있다. 이때, 마이너 단말은 수정된 트랜잭션(702)에 포함된 수정된 제1 해시(hash prev' )을 이용하여 수정된 트랜잭션(702)의 유효성을 검증할 수 있다.

    620 단계에서, 정상 트랜잭션(701)에서 제1 해시(hash prev )만 수정되었을 뿐, 나머지 정보는 그대로이므로, 마이너 단말들은 수정된 1 해시(hash prev' )를 이용하여 수정된 트랜잭션(702)의 유효성을 정상으로 검증할 수 있다(620:YES).

    630 단계에서, 상기 수정된 트랜잭션(702)의 유효성을 정상으로 검증한 마이너 단말들이 많아져 수정된 트랜잭션(702)이 성공적으로 블록체인에 추가될 수 있다.

    이때, 송신자 단말은 자신이 네트워크로 배포한 트랜잭션이 실제로 이행되었는지 여부를 확인하고자 할 수 있다. 그러면, 송신자 단말은, 제2 해시(hash new )를 이용하여 블록체인에서 자신이 배포한 트랜잭션(701)의 이행 여부를 검증할 수 있다.

    예를 들어, 공격 시나리오 1에 따라 제1 해시는 수정되었으나(hash prev' ), 제2 해시는 수정되지 않았으므로, 수정된 트랜잭션(702)은 여전히 제2 해시(hash new )를 포함하고 있을 수 있다. 이에 따라, 블록체인에 추가된 수정된 트랜잭션(702) 역시 제2 해시(hash new )를 포함하고 있으므로, 송신자 단말은 블록체인에서 제2 해시를 검색하고, 검색된 제2 해시가 존재함에 따라 자신이 배포한 트랜잭션(701)의 이행이 정상적으로 이루어졌음을 확인할 수 있다. 결국, 공격 시나리오 1에 따라 제1 해시를 변경하더라도, 송신자 단말에서 제2 해시를 이용하여 트랜잭션 이행에 대한 검증을 수행함에 따라, 거래 가변성으로 인한 이중 지불을 방지할 수 있다.

    한편, 640 단계에서, 상기 수정된 트랜잭션(702)이 유효하지 않은 것으로 검증된 경우(620: NO), 마이너 단말은, 수정된 트랜잭션(702)을 폐기할 수 있다. 이에 대해서는 도 8의 공격 시나리오 2를 참고하여 설명하기로 한다.

    공격 시나리오 2

    도 8을 참고하면, 송신자 단말에서 비트코인 네트워크로 브로드캐스트된 새로운 트랜잭션은 hash prev |hash new (801)의 형태를 가질 수 있다. 이때, 공격자가 새로운 트랜잭션(801)을 가로채서(intercept) 제2 해시를 수정할 수 있다. 그리고, 제2 해시를 수정한 트랜잭션(802)을 비트코인 네트워크에 브로드캐스트할 수 있다. 이때, 수정된 트랜잭션(802)이 정상적인 트랜잭션(801)보다 비트코인 네트워크에 빠르게 그리고 널리 전파될 수 있다.

    다시 도 6을 참고하면, 마이너 단말은, 제1 해시를 이용하여 수정된 트랜잭션(802)의 유효성을 검증할 수 있다. 이때, 제1 해시를 계산하는 과정에서 수정된 제2 해시의 유효성이 검증될 수 있다. 이에 따라, 마이너 단말은 제1 해시를 계산하는 과정에서 상기 수정된 제2 해시(hash new' )가 거짓임을 확인할 수 있다. 제2 해시(hash new )는, 송신자 단말에서 트랜잭션을 생성하는 과정 중 중간 부분에서 계산된 해시이므로, 결국, 마이너 단말은 제1 해시를 계산하는 과정에서 제2 해시(hash new )를 계산할 수 있다. 다시 640 단계를 참고하면, 마이너 단말은 제2 해시(hash new )가 수정된 제2 해시(hash new' )와 상이함을 확인하고, 수정된 트랜잭션(802)을 폐기할 수 있다.

    지금까지 설명한 바와 같이, 송신자 단말은 트랜잭션을 생성하는 중간 과정(intermediate transaction)에서 계산된 해시(hash new )와 트랜잭션의 최종 생성 과정(final transaction)에서 생성된 해시(hash prev )를 이용하여 트랜잭션(예를 들어, 트랜잭션 식별자)을 생성하여 네트워크에 배포함에 따라, 기존 비트코인 프로토콜을 크게 수정하지 않더라도 거래 가변성에 대응할 수 있도록 바로 적용할 수 있다. 뿐만 아니라, 새로운 해시(hash new )는 20바이트로 매우 적은 데이터량을 차지함에 따라, 트랜잭션의 유효성을 검증하고 블록체인에 추가하는 마이너 단말들의 저장 공간의 증가량이 미비하고, 유효성 검증을 위한 프로세스 계산량 역시 미비하다. 즉, 본 암호화 화폐 보호 기술은 마이너 단말들에 부담을 주지 않으면서 거래 가변성에 대응할 수 있는 프로토콜을 제공할 수 있다.

    이상에서 설명된 암호화 화폐 보호 방법 및 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 시스템 및 시스템의 구성요소들은, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.

    소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.

    실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.

    이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

    그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈