KR20220160299A - 블록체인 환경에서의 거래 방법과 장치 - Google Patents

블록체인 환경에서의 거래 방법과 장치 Download PDF

Info

Publication number
KR20220160299A
KR20220160299A KR1020210068326A KR20210068326A KR20220160299A KR 20220160299 A KR20220160299 A KR 20220160299A KR 1020210068326 A KR1020210068326 A KR 1020210068326A KR 20210068326 A KR20210068326 A KR 20210068326A KR 20220160299 A KR20220160299 A KR 20220160299A
Authority
KR
South Korea
Prior art keywords
transaction
data
support server
blockchain
block
Prior art date
Application number
KR1020210068326A
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 KR1020210068326A priority Critical patent/KR20220160299A/ko
Publication of KR20220160299A publication Critical patent/KR20220160299A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

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

Abstract

블록체인 환경에서의 거래 방법과 장치가 제공된다. 본 발명의 일 실시예에 따른 거래 방법은, 사용자로부터 거래 요청을 수신하는 단계, 상기 거래를 사전 검증하여 검증에 성공되면, 상기 거래와 관련된 데이터의 일부 또는 전부가 암호화된 데이터를 포함하는 블록에 대한 생성을 블록체인 네트워크로 요청하는 단계, 및 상기 블록이 블록체인에 저장되는 것에 응답하여, 상기 사전 검증된 거래를 확정하는 단계를 포함한다.

Description

블록체인 환경에서의 거래 방법과 장치{METHOD AND APPARATUS FOR TRANSACTION IN BLOCKCHAIN ENVIRONMENT}
본 발명은 블록체인 환경에서의 거래 방법에 관한 것이다. 보다 자세하게는, 블록체인 환경에서 의존성 충돌을 예방하고 처리 속도를 향상시킨 거래 방법과 장치에 관한 것이다.
정보통신 기술이 발전되고 온라인 서비스에 대한 사용량이 증가함에 따라, 온라인에서 발생하는 데이터량은 지속적으로 증가하고 있다. 또한, 온라인 계좌 이체, 가상화폐 거래, 온라인 결제, 주식 거래 등과 같은 주요 데이터는 별도의 데이터베이스에 저장되어 관리되고 있다.
이러한 주요 데이터가 악의적으로 위변조 되면, 사용자의 재산권에 막대한 피해가 발생될 수 있어, 블록체인에 데이터를 저장하는 기술이 대두되고 있다.
상기 블록체인(blockchain)은 지속적으로 증가하는 데이터를 특정 단위의 블록에 기록하고, P2P(peer-to-peer) 네트워크를 구성하는 각각의 노드들이 상기 블록을 체인 형태의 자료 구조로 관리하는 데이터 관리 기술 또는 상기 체인 형태의 자료 구조로 구성된 데이터 그 자체를 의미한다. 이때, 체인 형태의 자료 구조로 구성된 블록체인 데이터는, 중앙 시스템 없이 각각의 노드에서 분산 원장(distributed ledger) 형태로 운영된다.
블록체인 네트워크를 구성하는 각각의 블록체인 노드는 도 1에 도시된 바와 같은 자료 구조로 블록들을 관리한다. 여기서, 각 블록에는 이전 블록에 대한 해시 값이 기록되며, 상기 해시 값을 통해 이전 블록이 참조될 수 있다. 따라서, 블록이 쌓일수록 블록 내에 기록된 트랜잭션 데이터의 위변조는 어려워지고, 각 블록에 기록된 트랜잭션 데이터의 신뢰도는 향상되게 된다.
블록체인에 신규 블록이 저장되기 위해서, 블록체인 네트워크에 참여한 노드들이 거래에 대한 합의 과정을 거처야 한다. 그런데 제1 사용자의 제1 거래에 대한 처리가 블록체인 네트워크로 요구되고, 상기 제1 거래에 대한 합의가 완료되지 않은 상태에서, 제1 사용자의 제2 거래에 대한 추가 처리가 블록체인 네트워크로 요구되는 경우 충돌이 발생하여, 상기 제1 거래, 제2 거래 중에서 하나 이상이 실패 처리되고 이로 인하여 블록체인 네트워크의 성능 저하가 발생할 수 있다. 이러한 충돌을 의존성 충돌이라고 한다. 즉, 동시적 또는 짧은 간격으로 특정 사용자에 대한 연속적이 거래에 대한 처리가 블록체인 네트워크에 요구되는 경우, 블록체인 네트워크에서 의존성 충돌이 발행할 수 있다.
또한, 블록체인에 기록된 거래 정보는 타 사용자에게 의해서 열람될 수 있다. 즉, 블록체인 네트워크에 참여한 노드들은 타 사용자의 거래 내역을 열람할 수 있으며, 이 경우 개인의 사생활이 침해될 수 있고, 더불어 데이터 보안성이 저하될 수도 있다.
한국공개특허 제2016-0150278호(2016.12.29 공개)
본 발명이 해결하고자 하는 기술적 과제는, 블록체인 환경에서 의존성 충돌을 회피할 수 있도록 거래 방법 및 장치를 제공하는데 있다.
본 발명이 해결하고자 하는 다른 기술적 과제는, 민감한 사용자 데이터를 제외하여 거래 데이터를 블록체인에 저장하는 거래 방법 및 장치를 제공하는데 있다.
본 발명이 해결하고자 하는 또 다른 기술적 과제는, 거래 처리시에 속도를 향상시키는 거래 방법 및 장치를 제공하는데 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 거래 방법은, 사용자로부터 거래 요청을 수신하는 단계, 상기 거래를 사전 검증하여 검증에 성공되면, 상기 거래와 관련된 데이터의 일부 또는 전부가 암호화된 데이터를 포함하는 블록에 대한 생성을 블록체인 네트워크로 요청하는 단계, 및 상기 블록이 블록체인에 저장되는 것에 응답하여, 상기 사전 검증된 거래를 확정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 거래 요청을 수신하는 단계는 상기 사용자를 식별하는 단계, 및 사용자별로 구분되는 복수의 수신 큐 중에서 상기 식별된 사용자의 수신 큐에 상기 거래와 관련된 데이터를 저장하는 단계를 포함할 수 있다.
일 실시예에서, 상기 거래 방법은, 수신처 코드를 식별하고, 수신처 별로 구분되는 복수의 송신 큐 중에서 상기 수신처 코드와 대응되는 송신 큐에 상기 검증 성공한 거래와 관련된 데이터를 저장하는 단계, 및 상기 송신 큐에 저장된 데이터를 타 컴퓨팅 장치로 전송하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 타 컴퓨팅 장치로 전송하는 단계는, 상기 송신 큐에 소정 개수만큼의 거래 관련 데이터가 저장되면 상기 소정 개수의 거래 데이터를 배치 처리하고, 상기 배치 처리된 소정 개수의 거래 관련 데이터를 상기 타 컴퓨팅 장치로 전송하는 단계를 포함할 수 있다.
일 실시예에서, 상기 블록에 대한 생성을 블록체인 네트워크로 요청하는 단계는, 상기 거래와 관련된 데이터의 일부 또는 전부를 암호화하여 상기 블록체인 네트워크로 제공하는 단계를 포함할 수 있다.
상기 암호화된 데이터는, 송신처 코드, 수신처 코드, 송신 계좌번호, 수신 계좌번호, 송신 금액 중에서 하나 이상을 해시 처리한 해시값을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한, 본 발명의 다른 실시예에 따른 컴퓨팅 장치는, 하나 이상의 프로세서, 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리, 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하고, 상기 컴퓨터 프로그램은, 사용자로부터 거래 요청을 수신하는 동작, 상기 거래를 사전 검증하여 검증에 성공되면, 상기 거래와 관련된 데이터의 일부 또는 전부가 암호화된 데이터를 포함하는 블록에 대한 생성을 블록체인 네트워크로 요청하는 동작, 및 상기 블록이 블록체인에 저장되는 것에 응답하여, 상기 사전 검증된 거래를 확정하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 거래 시스템은, 사용자로 요청된 거래를 사전 검증하는 제1 거래 지원 서버, 상기 거래에 대한 승인을 요청받는 제2 거래 지원 서버, 및 상기 제1 거래 지원 서버가 상기 사전 검증에 성공하고 상기 제2 거래 지원 서버가 상기 거래에 대해서 승인하면, 상기 거래에 관련된 데이터를 포함하는 블록을 블록체인에 저장하는 블록체인 네트워크를 포함할 수 있으며, 상기 제1 거래 지원 서버와 상기 제2 거래 지원 서버 각각은, 상기 블록체인에 상기 블록이 저장되면 상기 거래를 확정할 수 있다.
도 1은 본 발명의 몇몇 실시예에서 참조될 수 있는 블록체인 데이터의 구조를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 블록체인 환경에서의 거래 시스템을 나타내는 도면이다.
도 3은 거래 지원 서버에 마련된 수신 큐와 송신 큐를 예시하는 도면이다.
도 4는 본 발명의 다른 실시예에 따른, 거래 지원 방법을 설명하기 위한 신호 흐름도이다.
도 5은 거래 시스템이 금융 거래를 지원하는 경우에, 거래 시스템에서 발생하는 데이터 흐름을 예시하는 도면이다.
도 6은 본 발명의 또 다른 일 실시예에 따른 거래 방법의 순서도이다.
도 7은 도 2를 참조하여 설명한 단계 S120을 보다 구체적으로 설명하기 위한 도면이다.
도 8은 도 2를 참조하여 설명한 단계 S130을 보다 구체적으로 설명하기 위한 도면이다.
도 9는 도 2를 참조하여 설명한 단계 S140을 보다 구체적으로 설명하기 위한 도면이다.
도 10은 도 2를 참조하여 설명한 단계 S150을 보다 구체적으로 설명하기 위한 도면이다.
도 11은 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.
도 2는 본 발명의 일 실시예에 블록체인 환경에서의 거래 시스템을 나타내는 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 거래 시스템은 제1 단말(11), 제2 단말(12), 복수의 거래 지원 서버(1, 2) 및 블록체인 네트워크(20)를 포함하여 구성될 수 있다.
제1 단말(11) 및 제2 단말(12)은 거래 지원 서버(1, 2)에 제공하는 온라인 금융 서비스를 제공받는 사용자가 사용할 수 있는 장치로서, 스마트폰, 태블릿 PC, 랩탑 등의 컴퓨팅 장치를 포함할 수 있다.
제1 단말(11)은 제1 사용자에 의해서 사용될 수 있는 장치로서, 제1 사용자의 계좌번호, 거래 금액, 수취인의 계좌번호와 수신처 코드 및 송신처 코드가 포함된 거래 데이터를 거래 지원 서버(11, 12)로 전송함으로써, 온라인 거래를 진행할 수 있다.
제2 단말(12)은 제2 사용자에 의해서 사용될 수 있는 장치로서, 제2 사용자의 계좌로 거래 금액의 입금이 완료되면, 수취 알림 메시지를 수신할 수 있다.
거래 지원 서버(11, 12)는 온라인 거래를 지원할 수 있는 플랫폼 또는 장치로서, 각 사용자의 계좌번호, 전화번호, 아이디와 패스워드, 거래 내역을 저장할 수 있다. 상기 계좌번호는 은행 계좌번호일 수 있으며, 또는 가상 지갑의 주소일 수도 있다. 상기 거래 지원 서버(11, 12)는 스토리지(도면에 도시되지 않음)에 거래 내역을 저장할 수 있다. 스토리지에는 예비거래 데이터베이스를 포함할 수 있는데, 거래 지원 서버(11, 12)는 제1 단말(11)로부터 거래를 요청 받으면, 상기 거래에 대한 사전 검증을 수행한 후, 사전 검증에 성공한 거래 관련 데이터를 상기 예비거래 데이터베이스에 일시적으로 저장할 수 있다. 거래 지원 서버(11, 12)는 거래 관련 데이터를 포함하는 블록이 블록체인에 저장되면, 상기 예비거래 데이터베이스에 저장된 거래 데이터를 삭제하고, 상기 거래 데이터를 스토리지의 체결 거래 내역에 포함시킴으로, 사전 검증된 거래를 확정된 것으로 처리할 수 있다. 상기 체결 거래 내역은 일종의 데이터베이스 형태로 구현될 수 있다.
거래 지원 서버(1, 2)는 거래 데이터가 수신되면, 상기 거래 데이터로부터 사용자를 식별하고, 미리 마련된 사용자별 수신 큐(Queue) 중에서, 식별된 사용자의 큐에 상기 거래 데이터를 저장할 수 있다. 또한, 거래 지원 서버(1, 2)는 요청된 거래에 대한 사전 검증이 완료되면, 거래 데이터로부터 수신처 코드를 식별하고, 미리 마련된 수신처별 송신 큐 중에서, 상기 식별된 수신처 코드에 대응되는 송신 큐에 상기 거래 데이터를 저장할 수 있다. 여기서 수신처 식별코드를 은행코드를 예로 들 수 있다. 상기 수신 큐와 송신 큐는, 가장 먼저 입력된 데이터가 가장 먼저 처리되는 선형구조이다. 상기 송신 큐에 소정의 개수만큼의 거래 데이터가 축적되면, 상기 소정 개수의 거래 데이터를 배치 처리하여, 배치 처리된 소정 개수의 거래 데이터를 블록체인 네트워크(20)에 포함된 피어(peer) 노드로 전송할 수도 있다.
도 3은 거래 지원 서버에 마련된 수신 큐와 송신 큐를 예시하는 도면이다.
도 3에 예시된 바와 같이, 거래 지원 서버(1, 2)는 사용자별로 구분되는 복수의 수신 큐를 포함할 수 있으며, 수신처별로 구분되는 복수의 송신 큐를 포함할 수 있다.
거래 데이터가 수신되면, 사용자의 수신 큐에 거래 데이터가 저장될 수 있다. 수신 큐에 저장된 거래 데이터는 사전 검증이 완료되기 전에 수신 큐에 계속적으로 저장되고, 사전 검증에 성공된 거래 데이터는 상기 수신 큐에서 송신 큐에 이동될 수 있다. 상기 수신 큐에 저장된 거래 데이터는 미리 설정된 시간 간격으로 처리될 수 있다. 또한, 사전 검증에 성공한 거래 데이터는 예비거래 데이터베이스에 저장될 수 있다. 송신 큐에 저장된 거래 데이터가 배치 처리되어 타 거래 지원 서버로 전송되면, 송신 큐에서 삭제될 수 있다. 상기 수신 큐는 소정의 크기를 가질 수 있으며, 또한 송신 큐도 소정의 크기를 가질 수 있다.
블록체인 네트워크(20)는 다수의 노드들(20-1, 20-2, 20-3, 20-4)이 참여하는 형성한 네트워크로서, 블록체인 네트워크(20)에 포함된 각 노드들(20-1, 20-2, 20-3, 20-4)은 블록들이 서로 연결된 블록체인을 서로 공유할 수 있다. 상기 블록은 블록 헤더와 트랜잭션으로 구성될 수 있다. 블록 헤더는 이전 블록 식별자(예컨대, 해시), 머클루트(Markle Root), 논스(Nonce) 및/또는 타임스탬프를 포함할 수 있다. 트랜잭션에는 거래를 검증하기 위한 데이터를 포함할 수 있다. 일 실시예에서, 트랜잭션은 민감한 사용자 정보를 포함하지 않고, 거래 데이터의 일부 또는 전부가 암호화된 데이터를 포함할 수 있다. 몇몇 실시예에서, 상기 트랜잭션은, 송신처 코드, 수신처 코드, 송신 계좌번호, 수신 계좌번호, 거래 금액 중에서 하나 이상을 해시 처리한 해시값을 포함할 수 있다. 상기 송신처 코드는 송신 은행의 코드 또는 송신 서버의 코드일 수 있으며, 수신처 코드는 수신 은행의 코드 또는 수신 서버의 코드일 수 있다. 각각의 노드들은 트랜잭션이 수신되면, 상기 트랜잭션에 대한 합의 과정을 진행할 수 있다.
몇몇 실시예에서, 블록체인 네트워크(20)은 복수의 채널을 포함할 수 있고, 각 채널에는 복수의 노드들이 참여할 수 있다. 또한, 하나의 노드는 하나 이상의 채널에 참여할 수 있다. 상기 채널은 각기 다른 원장(즉, 블록체인)을 공유하는데 이용될 수 있으며, 동일한 채널에 가입된 노드들은, 서로 간의 블록체인을 공유할 수 있다. 또한, 특정 채널에 신규로 참여한 노드는, 해당 채널에 가입된 타 노드로부터 블록체인을 수신하여, 상기 블록체인을 공유할 수 있다. 이러한 블록체인 공유를 통해서, 동일한 채널에 가입된 각 노드들의 블록체인이 동기화될 수 있다. 일 실시예에서, 상기 블록체인 네트워크(20)에 포함된 제1 피어 노드와 제2 피어 노드는 동일한 채널에 참여하여, 서로 간에 블록체인을 공유할 수 있다.
상기 블록체인 네트워크(20)는 각 거래 지원 서버(1, 2)와 연동되는 피어 노드를 포함할 수 있다. 예를 들어, 제1 노드는 제1 거래 지원 서버(1)와 연동되는 제1 피어 노드일 수 있으며, 제2 노드는 제2 거래 지원 서버(2)와 연동되는 제2 피어 노드일 수 있다. 몇몇 실시예에서, 상기 블록체인 네트워크(20)는 블록 생성을 담당하는 블록 생성 노드를 더 포함할 수 있다. 예컨대, 블록체인 네트워크(20)에 포함된 제3 노드가 상기 블록 생성 노드일 수 있다. 상기 제1 피어 노드는 제1 거래 지원 서버(1)와 물리적으로 분리된 컴퓨팅 장치일 수 있고, 제2 피어 노드도 제2 거래 지원 서버(2)와 물리적으로 분리된 컴퓨팅 장치일 수 있다. 몇몇 실시예에서, 제1 피어 노드와 제1 거래 지원 서버(1)는 하나로 통합된 장치일 수도 있으며, 제2 피어 노드와 제2 거래 지원 서버(2)도 하나로 통합된 장치일 수 있다.
상기 복수의 피어 노드와 상기 블록 생성 노드가 연동하여, 블록체인 네트워크(20)에서 트랜잭션을 포함하는 블록을 생성하여 블록체인에 저장할 수 있다.
이하, 도 4를 참조하여, 거래 시스템에서 거래를 지원하는 방법에 대한 또 다른 실시예를 설명한다.
도 4는 본 발명의 다른 실시예에 따른, 거래 지원 방법을 설명하기 위한 신호 흐름도이다.
도 4를 참조하면, 제1 단말(11)은 거래 데이터를 포함하는 거래 요청 메시지를 제1 거래 지원 서버(1)로 전송할 수 있다(S1). 상기 거래 데이터에는 제1 사용자의 계좌번호, 송금처 코드, 제2 사용자의 계좌번호, 수신처 코드 및 거래 금액이 포함될 수 있다. 여기서, 상기 송금처 코드는, 제1 사용자의 계좌를 관리하는 서버의 코드 또는 은행의 코드일 수 있다. 또한, 제2 사용자는 수취인일 수 있고, 수신처 코드는 제2 사용자의 계좌를 관리하는 서버의 코드 또는 은행의 코드일 수 있다.
다음으로, 제1 거래 지원 서버(1)는 미리 마련된 사용자별 수신 큐 중에서, 상기 제1 사용자의 큐에 상기 거래 데이터를 저장할 수 있다. 이어서, 제1 거래 지원 서버(1)는 상기 제1 사용자의 수신 큐에서 가장 먼저 저장된 거래 데이터를 추출하고, 상기 거래 데이터를 기초로 상기 거래에 대한 사전 검증을 진행하고, 사전 검증에 성공한 경우에 상기 거래 데이터를 제1 예비거래 데이터베이스에 저장함으로써, 상기 거래를 사전 검증 성공 처리할 수 있다(S2). 일 실시예에서, 제1 거래 지원 서버(1)는 제1 사용자의 계좌에 상기 거래 금액 이상의 잔액이 남았는지 여부를 판정하여 상기 거래를 사전 검증할 수 있다. 추가적으로, 제1 거래 지원 서버(1)는 거래 데이터에 포함된 수신처 코드와 대응되는 제2 거래 지원 서버(2)로 상기 제2 사용자의 계좌를 전송하여, 제2 사용자에 대한 검증을 요청하고, 상기 제2 사용자에 대한 검증을 성공을 나타내는 거래 승인을 제2 거래 지원 서버(2)로부터 수신하는 경우에, 상기 거래 데이터를 제1 예비거래 데이터베이스에 저장할 수 있다. 상기 제1 예비거래 데이터베이스는, 제1 거래 지원 서버(1)에 의해서 관리되는 데이터베이스일 수 있다.
이어서, 제1 거래 지원 서버(1)는 미리 마련된 복수의 송신 큐 중에서, 상기 수신처 코드와 대응되는 송신 큐에 상기 거래 데이터를 저장할 수 있다. 제1 거래 지원 서버(1)는 송신 큐에 소정의 개수 이상의 거래 데이터가 축적되면, 상기 소정 개수의 거래 데이터를 배치(batch) 처리하고, 상기 소정 개수의 거래 데이터를 일괄적으로 제1 피어 노드로 전송함으로써, 거래 승인을 요청할 수 있다(S3). 이어서, 제1 피어 노드는 수신한 소정 개수의 거래 데이터들을 저장하고 상기 거래 데이터에 대해서 검증을 수행한 후에, 검증에 성공하면 거래 승인을 제1 거래 지원 서버(1)로 전송할 수 있다(S4). 일 실시예에서, 제1 피어 노드는 거래 데이터들의 개수가 정확한지 여부와 각 거래 데이터에 블록 생성을 위한 필요 정보가 모두 포함되어 있는지 여부를 검증한 후, 모든 검증에 성공하면 상기 거래에 대해서 승인을 제1 거래 지원 서버(1)로 전송할 수 있다. 상기 소정의 거래 데이터에는 송신 큐에 저장된 순서에 따라 처리 순번 또는 아이디가 설정될 수 있으며, 제1 피어 노드는 상기 처리 순번 또는 아이디와 함께 각각의 거래 데이터를 저장할 수 있다.
또한, 제1 거래 지원 서버(1)는 상기 소정 개수의 거래 데이터를 일괄적으로 제2 피어 노드로 전송함으로써, 거래 승인을 상기 제2 피어 노드로 요청할 수 있다(S5). 상기 제2 피어 노드는 수신처 코드와 대응되는 제2 거래 지원 서버(2)와 연동하는 피어 노드일 수 있다. 부연하면, 배치 처리된 소정의 개수의 거래 데이터는 당사자에 해당하는 피어 노드, 즉 제1 피어 노드와 제2 피어 노드로 전송될 수 있다.
이어서, 제2 피어 노드는 수신한 소정 개수의 거래 데이터들을 저장하고, 상기 거래 데이터들에 대한 검증을 수행한 후에, 검증에 성공하면 소정 개수의 거래 데이터들을 제2 거래 지원 서버(2)로 전송함으로써 예비 거래를 요청할 수 있다(S6). 일 실시예에서, 제2 피어 노드는 거래 데이터들의 개수가 정확한지 여부와 각 거래 데이터에 블록 생성을 위한 필요 정보가 모두 포함되어 있는지 여부를 검증할 수 있다. 제1 피어 노드로 전송된 거래 데이터들과 마찬가지로, 상기 소정의 거래 데이터에는 송신 큐에 저장된 순서에 따라 처리 순번 또는 아이디가 설정될 수 있으며, 제2 피어 노드는 상기 처리 순번 또는 아이디와 함께 각각의 거래 데이터를 저장할 수 있다.
다음으로, 제2 거래 지원 서버(2)는 소정 개수의 거래 데이터를 제2 예비거래 데이터베이스에 임시적으로 저장할 수 있다(S7). 여기서, 제2 예비거래 데이터베이스는 제2 거래 지원 서버(2)에 의해서 관리되는 데이터베이스일 수 있다. 이어서, 제2 거래 지원 서버(2)는 거래 데이터들이 정상적으로 예비 거래 처리되면, 거래 승인을 제2 피어 노드로 전송하고, 제2 피어 노드도 거래 승인을 제1 거래 지원 서버(1)로 전송할 수 있다(S8).
제1 피어 노드와 제2 피어 노드 모두로부터 거래 승인을 수신하면, 제1 거래 지원 서버(1)는 블록체인으로의 거래 제출을 블록 생성 노드로 요청할 수 있다(S9). 상기 제1 거래 지원 서버(1)는 배치 처리된 소정 개수의 거래 데이터 각각을 해시 처리하여 암호화하고, 상기 암호화된 데이터를 포함하는 트랜잭션을 블록 생성 노드로 전송함으로써, 블록체인으로의 거래 제출을 요청할 수 있다. 일 실시예에서, 제1 거래 지원 서버(1)는 거래 데이터의 일부 또는 전부를 해시 처리하여 암호화할 수 있다. 몇몇 실시예에서, 제1 거래 지원 서버(1)는 단일의 거래 데이터를 해시 처리하여 암호화하고, 해시 처리되어 암호화된 단일의 거래 데이터를 포함하는 트랜잭션을 블록 생성 노드로 전송할 수 있다. 상기 트랜잭션은, 송신처 코드, 수신처 코드, 제1 사용자의 계좌번호, 제2 사용자의 계좌번호, 거래 금액 중에서 하나 이상을 해시 처리한 해시값을 포함할 수 있다. 제1 거래 지원 서버(1)는 배치 처리된 소정 개수의 거래 데이터 중에서, 처리 순번이 빠른 순서에 따라 거래 데이터를 해시 처리하여 암호화하여, 상기 암호화된 거래 데이터를 포함하는 트랜잭션을 블록 생성 노드로 전송할 수 있다.
이어서, 블록 생성 노드는 제1 거래 지원 서버(1)로부터 수신한 트랜잭션을 포함하는 신규 블록을 생성할 수 있다(S10). 몇몇 실시예에서, 블록 생성 노드는, 신규 블록에 하나의 트랜잭션을 포함시킬 수 있다. 또 다른 실시예에서, 블록 생성 노드는 신규 블록에 복수의 트랜잭션을 포함시킬 수 있다. 블록 내에 포함되는 트랜잭션의 개수는 미리 약속되어 설정될 수 있다.
다음으로, 블록 생성 노드는 상기 생성한 신규 블록을 당사자 중에 하나인 제1 피어 노드로 전달할 수 있으며, 제1 피어 노드는 상기 신규 블록을 블록체인에 저장할 수 있다(S11). 이어서, 제1 피어 노드는 신규 블록이 블록체인에 저장되었음을 알리는 이벤트 알림 메시지를 제1 거래 지원 서버(1)로 전송할 수 있다(S12). 이때, 제1 피어 노드는 제1 거래 지원 서버(1)로부터 수신한 소정 개수의 거래 데이터 중에서, 상기 신규 블록에 포함된 트랜잭션과 관련된 거래 데이터를 식별하고, 상기 식별한 거래 데이터를 상기 이벤트 알림 메시지에 포함시켜 제1 거래 지원 서버(1)로 전송할 수 있다. 몇몇 실시예에서, 제1 피어 노드는 소정 개수의 거래 데이터 중에서 기 약속된 순번에 해당하는 거래 데이터를 확인함으로써, 신규 블록에 해당하는 거래 데이터를 식별할 수 있다.
이어서, 제1 거래 지원 서버(1)는 상기 제1 피어 노드로부터 수신한 이벤트 알림 메시지에 포함된 거래 데이터를 확인하고, 상기 거래 데이터와 관련된 거래를 확정할 수 있다(S13). 일 실시예에서, 제1 거래 지원 서버(1)는 상기 거래 데이터를 제1 예비거래 데이터베이스에서 체결 거래 내역으로 이동시킴으로써, 상기 거래를 확정할 수 있다. 다음으로, 제1 거래 지원 서버(1)는 거래가 정상적으로 완료되었을 알리는 거래 완료 알림 메시지를 제1 단말(11)로 전송할 수 있다(S14).
또한, 블록 생성 노드는 상기 생성한 신규 블록을 당사자 중에 또 다른 하나인 제2 피어 노드로 전달할 수 있으며, 제2 피어 노드는 상기 신규 블록을 블록체인에 저장할 수 있다(S15). 이어서, 제2 피어 노드는 신규 블록이 블록체인에 저장되었음을 알리는 이벤트 알림 메시지를 제2 거래 지원 서버(2)로 전송할 수 있다(S16). 이때, 제2 피어 노드는 제1 거래 지원 서버(1)로부터 수신한 소정 개수의 거래 데이터 중에서, 상기 신규 블록에 포함된 트랜잭션과 관련된 거래 데이터를 식별하고, 상기 식별한 거래 데이터를 상기 이벤트 알림 메시지에 포함시켜 제2 거래 지원 서버(2)로 전송할 수 있다. 몇몇 실시예에서, 제2 피어 노드는 소정 개수의 거래 데이터 중에서 기 약속된 순번에 해당하는 거래 데이터를 확인함으로써, 신규 블록에 해당하는 거래 데이터를 식별할 수 있다.
이어서, 제2 거래 지원 서버(2)는 상기 제2 피어 노드로부터 수신한 이벤트 알림 메시지에 포함된 거래 데이터를 확인하고, 상기 거래 데이터와 관련된 거래를 확정할 수 있다(S17). 일 실시예에서, 제1 거래 지원 서버(1)는 상기 거래 데이터를 제2 예비거래 데이터베이스에서 체결 거래 내역으로 이동시킴으로써, 상기 거래를 확정할 수 있다. 다음으로, 제2 거래 지원 서버(2)는 상기 거래 금액이 수취되었음을 알리는 수취 알림 메시지를 제2 단말(12)로 전송할 수 있다(S18).
상기 블록체인에 저장된 트랜잭션, 즉 암호화된 데이터는, 부인 방지를 위해서 사용될 수 있다. 각각의 노드 또는 서버는, 동일한 해시 알고리즘을 이용하여 해시값을 산출하고, 상기 산출한 해시값과 상기 트랜잭션에 포함된 해시값이 동일한지 여부를 판정함으로써, 거래를 검증할 수 있다.
본 실시예에 따르면, 블록체인에는 해시 처리되어 암호화된 데이터가 기록되고 거래 지원 서버(1, 2)에서만 민감한 데이터가 저장됨으로써, 블록체인에 저장된 데이터가 외부로 노출되더라도, 주요 정보가 해독되지 않는다. 이에 따라, 블록체인에 저장된 데이터에 대한 보안성을 향상시킬 수 있다. 또한, 본 실시예에 따르면, 수신 큐와 송신 큐에 거래 데이터를 저장하여 거래 데이터가 블록체인에 처리되는 시점을 조정함으로써, 블록체인에서 발생하는 의존성 충돌 문제를 해결할 수 있다. 또한, 본 발명의 실시예에 따르면, 사전 검증 완료된 거래 데이터를 예비거래 데이터베이스에 임시적으로 저장하되, 블록체인에 거래와 관련된 블록이 정상적으로 저장된 경우에만 상기 거래 데이터를 체결 거래 내역으로 이동시켜 거래를 실질적으로 확정함으로써, 거래 안정성을 더욱 향상시키는 효과를 발휘할 수 있다. 또한, 본 실시예에 따르면, 소정 개수의 거래 데이터를 배치 처리하여 전송함으로써, 데이터의 전송 속도를 향상시킬 수 있다.
이하, 도 5를 참조하여 거래 시스템이 금융 거래를 지원하는 경우에, 거래 시스템에서 발생하는 데이터 흐름을 설명한다.
도 5를 참조하면, 송금자(Sender)는 송금자의 계좌와 닉네임, 송금 은행코드, 수취인의 계좌와 닉네임, 송금 은행코드 및 송금액을 은행 A의 사이트에 입력하거나 해당 은행 A에 방문하여 입력할 수 있다(①). 은행 A는 송금자의 계좌를 담당하는 은행일 수 있다. 상기 송금자의 닉네임은 수취인의 통장에 표시되는 송금자 정보일 수 있으며, 수취인의 닉네임은 송금자의 통장에 표시되는 수취인 정보일 수 있다.
다음으로, 은행 A의 서버는 상기 송금자의 계좌와 은행코드, 송금자의 닉네임, 수취인의 계좌와 은행코드 및 송금액을 포함하는 거래 데이터를 획득할 수 있다(②). 일 실시예에서, 은행 A의 서버는 미리 마련된 사용자별 수신 큐 중에서, 상기 송금자의 수신 큐에 상기 거래 데이터를 저장할 수 있다.
이어서, 은행 A의 서버는 수신 큐에서 가장 먼저 저장된 거래 데이터를 추출하고, 상기 거래 데이터를 기초로 송금에 대한 사전 검증을 진행하고, 사전 검증에 성공한 경우, 상기 거래 데이터, 즉 상기 송금자의 계좌와 은행코드, 송금자의 닉네임, 수취인의 계좌와 은행코드 및 송금액을 예비거래 데이터베이스에 저장함으로써, 상기 거래 데이터를 예비 거래와 관련된 데이터로서 처리할 수 있다(③). 여기서, 예비 거래는 검증에 성공하였으나 완전하게 종결되지 않는 거래로서, 거래가 무효 또는 취소될 수 있는 거래를 나타낼 수 있다. 일 실시예에서, 은행 A 서버는 상기 송금자의 계좌와 은행코드가 정확한지 여부를 검증하고, 상기 송금액을 송금할 정도의 금액이 송금인의 계좌에 남아있는지 여부를 검증함으로써, 상기 거래에 대한 사전 검증을 수행할 수 있다. 또한, 은행 A의 서버는 상기 거래 데이터를 수취인의 계좌를 담당하는 은행 B의 서버로 전송하여, 수취인의 검증을 요구하고, 은행 B로부터 수취인 검증에 대한 성공 또는 실패를 수신함으로써, 상기 거래에 대한 사전 검증을 추가적으로 수행할 수 있다.
몇몇 실시예에서, 상기 은행 A의 서버는 은행별로 구분되는 복수의 송신 큐를 포함할 수 있으며, 사전 검증에 성공한 거래 데이터로부터 수취인의 은행코드를 식별한 후, 상기 식별된 은행코드에 대응하는 송신 큐에 상기 거래 데이터를 저장할 수 있다. 부연하면, 거래 데이터를 먼저 송금인의 수신 큐에 저장된 후, 해당 은행의 송신 큐로 이동될 수 있다.
송신 큐에 소정의 개수의 거래 데이터가 축적되면, 은행 A의 서버는 소정의 개수의 거래 데이터를 배치 처리하고, 배치 처리된 소정 개수의 거래 데이터를 은행 A의 피어 노드와 은행 B의 피어 노드 각각으로 전송할 수 있다(④). 여기서, 은행 A의 피어 노드는 은행 A과 연동하는 블록체인 네트워크(20)의 노드이고, 은행 B의 피어 노드는 은행 B와 연동하는 블록체인 네트워크(20)의 노드이며, 상기 은행 B는 수취인의 계좌를 담당하는 은행일 수 있다.
이어서, 은행 B의 피어 노드는 은행 B의 스토리지의 예비거래 데이터베이스에 소정의 개수의 거래 데이터들을 저장할 수 있다(⑤). 각 거래 데이터에는 송금자의 계좌와 닉네임, 송금 은행코드, 수취인의 계좌와 닉네임, 송금 은행코드 및 송금액이 포함될 수 있다.
각각의 피어 노드, 즉 은행 A의 피어 노드와 은행 B의 피어 노드 각각에 저장된 거래 데이터를 기초로 한 거래 내역이 해시 처리되어 암호화되고, 암호화된 데이터가 블록 생성 노드로 전송될 수 있다(⑥). 일 실시예에서, 은행 A 서버는 거래 데이터의 일부 또는 전부를 해시 처리하여 암호화하고, 암호화된 데이터를 포함하는 트랜잭션을 블록 생성 노드로 전송할 수 있다.
다음으로, 블록 생성 노드는 상기 트랜잭션을 포함하는 신규 블록을 생성하고, 생성된 신규 블록을 은행 A 피어 노드와 은행 B 피어 노드로 발행할 수 있다(⑦). 이어서, 은행 A 피어 노드와 은행 B 피어 노드 각각은 상기 블록 생성 노드로부터 수신한 신규 블록을 블록체인에 저장할 수 있다. 일 실시예에서, 거래 데이터에 포함된 송금자의 계좌와 닉네임, 송금 은행코드, 수취인의 계좌와 닉네임, 송금 은행코드, 송금액 중에서 하나 이상이 해시 처리되어 암호화되고, 상기 암호화된 데이터인 해시값을 포함하는 블록이 블록체인에 저장될 수 있다.
신규 블록이 블록체인에 저장되면, 상기 은행 A 피어 노드는 상기 신규 블록이 정상적으로 블록체인에 저장되었음 나타내는 이벤트 알림을 은행 A 서버로 전송하고, 상기 은행 B 피어 노드는 상기 신규 블록이 정상적으로 블록체인에 저장되었음 나타내는 이벤트 알림을 은행 B 서버로 전송할 수 있다(⑧).
다음으로, 은행 A 서버는 은행 A의 스토리지의 예비거래 데이터베이스에 저장된 거래 데이터를 체결 거래 내역으로 이동시킴으로써, 예비 거래를 확정할 수 있다(⑨). 마찬가지로, 은행 B 서버는 은행 B의 스토리지의 예비거래 데이터베이스에 저장된 거래 데이터를 체결 거래 내역으로 이동시킴으로써, 예비 거래를 확정할 수 있다(⑨).
상기 블록체인에 저장된 트랜잭션, 즉 암호화된 데이터는, 부인 방지를 위해서 사용될 수 있다. 각각의 노드 또는 서버는, 동일한 해시 알고리즘을 이용하여 해시값을 산출하고, 상기 산출한 해시값과 상기 트랜잭션에 포함된 해시값이 동일한지 여부를 판정함으로써, 거래가 진행되는지 여부를 검증할 수 있다.
이하, 도 6 내지 도 10을 참조하여, 거래 지원 서버를 통해서 수행되는 거래 방법에 대해서 설명한다.
도 6은 본 발명의 또 다른 일 실시예에 따른 거래 방법의 순서도이다.
도 6에 도시된 방법의 각 단계는 컴퓨팅 장치에 의해 수행될 수 있다. 다시 말하면, 본 방법의 각 단계는 컴퓨팅 장치의 프로세서에 의해 실행되는 하나 이상의 인스트럭션들로 구현될 수 있다. 본 방법에 포함되는 제1 단계들은 제1 컴퓨팅 장치에 의하여 수행되고, 본 방법의 제2 단계들은 제2 컴퓨팅 장치에 의하여 수행될 수 있다. 이하에서는, 본 방법의 각 단계가 도 2를 참조하여 설명한 제1 거래 지원 서버(1)에 의해 수행되는 것을 가정하여 설명을 이어가도록 하되, 각 단계의 수행 주체는 단지 예시일 뿐, 이하의 설명에 의해 한정되는 아니며, 설명의 편의를 위해 상기 방법에 포함되는 일부 단계의 동작 주체는 그 기재가 생략될 수도 있다.
도 6을 참조하면, 제1 거래 지원 서버(1)는 제1 단말(1)로부터 거래 데이터를 포함하는 거래 요청 메시지를 수신할 수 있다(S110). 상기 거래 데이터에는 제1 사용자의 계좌번호, 송금처 코드, 제2 사용자의 계좌번호, 수신처 코드 및 거래 금액이 포함될 수 있다. 여기서, 상기 송금처 코드는, 제1 사용자의 계좌를 관리하는 서버의 코드 또는 은행의 코드일 수 있다. 또한, 제2 사용자는 수취인일 수 있고, 수신처 코드는 제2 사용자의 계좌를 관리하는 서버의 코드 또는 은행의 코드일 수 있다.
이어서, 제1 거래 지원 서버(1)는 거래 데이터를 수신 큐에 저장할 수 있다(S120). 상기 수신 큐에 거래 데이터가 저장되는 단계 S120은 도 7을 참조하여 상세하게 설명된다.
다음으로, 제1 거래 지원 서버(1)는 상기 요청된 거래에 대해서 사전 검증을 수행하고, 사전 검증이 성공하면 상기 거래 데이터를 예비거래 데이터베이스에 저장할 수 있다(S130). 상기 단계 S130은 도 8을 참조하여 상세하게 설명된다.
이어서, 제1 거래 지원 서버(1)는 소정 개수의 거래 데이터를 배치 처리하고, 소정 개수의 거래 데이터를 일괄적으로 제1 피어 노드와 제2 피어 노드 각각으로 전송할 수 있다(S140). 단계 S140에 대해서 도 9를 참조하여 상세하게 설명된다.
다음으로, 제1 거래 지원 서버(1)는 거래 데이터를 해시로 암호화하고, 암호화된 데이터를 포함하는 트랜잭션을 블록체인 네트워크(20)의 블록 생성 노드로 전송함으로써, 상기 트랜잭션을 포함하는 신규 블록이 블록체인에 저장되게 할 수 있다(S150).
이어서, 제1 거래 지원 서버(1)는 신규 블록이 블록체인에 정상적으로 저장되면, 상기 거래 데이터와 관련된 거래를 확정할 수 있다(S160). 일 실시예에서, 제1 거래 지원 서버(1)는 상기 거래 데이터를 제1 예비거래 데이터베이스에서 체결 거래 내역으로 이동시킴으로써, 상기 거래를 확정할 수 있다. 상기 제1 거래 지원 서버(1)는 신규 블록이 정상적으로 블록체인이 저장되었음을 나타내는 이벤트 알림 메시지를 제1 피어 노드로부터 수신하면, 상기 거래 데이터와 관련된 블록이 블록체인이 정상적으로 저장된 것임을 판정할 수 있다.
이하, 도 6을 참조하여 설명한 단계 S120에 대하여, 도 7을 참조하여 보다 구체적으로 설명한다.
도 7을 참조하면, 제1 거래 지원 서버(1)는 거래 데이터로부터 제1 사용자(즉, 송신인)를 식별할 수 있다(S121). 제1 거래 데이터에 포함된 제1 사용자를 계좌번호를 기초로 상기 제1 사용자가 식별될 수 있다.
이어서, 제1 거래 지원 서버는 복수의 수신 큐 중에서 식별된 제1 사용자 전용의 수신 큐를 식별할 수 있다(S122). 다음으로, 제1 거래 지원 서버는 식별된 제1 사용자의 수신 큐에 상기 거래 데이터를 저장할 수 있다(S123). 상기 수신 큐에 저장된 거래 데이터는, 미리 설정된 간격으로 처리될 수 있다.
본 실시예에 따르면, 거래 데이터가 사용자의 수신 큐에 저장되어, 순차적으로 처리됨으로써, 블록체인에 발생하는 의존성 충돌을 예방할 수 있다.
이하, 도 6을 참조하여 설명한 단계 S130에 대하여, 도 8을 참조하여 보다 구체적으로 설명한다.
도 8을 참조하면, 제1 거래 지원 서버(1)는 수신 큐에서 가장 먼저 저장된 거래 데이터를 추출할 수 있다(S131). 이어서, 추출한 거래 데이터를 기초로 정상적인 거래가 가능한지 여부를 사전 검증할 수 있다(S132). 일 실시예에서, 제1 거래 지원 서버(1)는 송신인(즉, 제1 사용자)의 계좌에 상기 거래 금액 이상의 잔액이 남았는지 여부를 판정하여 상기 거래를 사전 검증할 수 있다.
상기 검증에 성공되었는지 여부를 판정하여(S133), 검증에 성공한 것으로 판정되면 제1 거래 지원 서버(1)는 상기 거래 데이터에서 수신처 코드를 식별하고, 수신인의 계좌번호(즉, 제2 사용자 계좌번호)를 추출할 수 있다(S134). 이어서, 제1 거래 지원 서버(1)는 상기 식별된 수신처 코드와 대응되는 제2 거래 지원 서버(2)로 상기 제2 사용자의 계좌를 전송하여, 수취인의 사전 검증을 요청할 수 있다(S135). 제2 거래 지원 서버(2)를 통해 상기 수취인의 사전 검증이 성공되면 제1 거래 지원 서버(1)는 거래 승인을 제2 거래 지원 서버(2)로부터 수신할 수 있고, 제2 거래 지원 서버(2)를 통해 상기 수취인의 사전 검증에 실패되면 제1 거래 지원 서버(1)는 거래 미승인을 제2 거래 지원 서버(2)로부터 수신할 수 있다.
제1 거래 지원 서버(1)는 제2 거래 지원 서버(2)로부터 거래 승인을 수신되는지 여부를 판정하여(S136), 거래 승인 수신되면 상기 추출한 거래 데이터를 제1 예비거래 데이터베이스에 저장할 수 있다(S137).
한편, S133 단계의 판정 결과 검증에 실패하거나, S136 단계에서 거래 미승인이 수신되면, 제1 거래 지원 서버(1)는 거래 불가 메시지를 제1 단말(11)로 전송하고 거래를 실패 처리할 수 있다(S138).
본 실시예에 따르면, 거래에 사전에 검증되어 거래 실패된 거래 데이터가 블록체인 네트워크로 전송되는 것을 미연에 방지함으로써, 블록체인 네트워크(20)에서 불필요한 검증이 진행되는 것을 예방할 수 있다.
이하, 도 6을 참조하여 설명한 단계 S140에 대하여, 도 9를 참조하여 보다 구체적으로 설명한다.
도 9를 참조하면, 제1 거래 지원 서버(1)는 거래 데이터에 대한 사전 검증이 성공되면, 상기 거래 데이터로부터 수신처 코드를 식별할 수 있다(S141).
이어서, 제1 거래 지원 서버(1)는 복수의 송신 큐 중에서, 상기 수신처 코드와 대응되는 송신 큐를 식별할 수 있다(S142). 제1 거래 지원 서버(1)는 식별된 송신 큐에 상기 거래 데이터를 저장할 수 있다(S143).
다음으로, 상기 송신 큐에 저장된 거래 데이터가 소정의 임계개수에 도달하였는지 여부를 판정할 수 있다(S144). 송신 큐에 저장된 데이터가 소정의 임계개수에 도달하는 것에 응답하여, 상기 소정의 개수의 데이터가 배치 처리될 수 있다(S145).
이어서, 제1 거래 지원 서버(1)는 배치 처리된 소정 개수의 거래 데이터를 제1 피어 노드와 제2 피어 노드 각각으로 일괄적으로 전송할 수 있다(S146).
본 실시예에 따르면, 송신 큐에 저장된 소정 개수의 거래 데이터가 배치 처리되어 일괄적으로 전송됨으로써, 거래 데이터가 건건이 전송될 때보다 더욱 빠르게 데이터를 전송할 수 있을 뿐만 아니라, 네트워크 트래픽을 경감시키는 효과를 발휘할 수 있다.
이하, 도 6을 참조하여 설명한 단계 S150에 대하여, 도 10을 참조하여 보다 구체적으로 설명한다.
도 10을 참조하면, 배치 처리 대상이 된 소정 개수의 거래 데이터들을 추출할 수 있다(S151). 이때, 제1 거래 지원 서버(1)는 예비거래 데이터베이스에서 상기 거래 데이터들을 추출할 수 있다.
이어서, 제1 거래 지원 서버(1)는 개별 거래 데이터의 일부 또는 전부를 암호화함으로써, 추출한 거래 데이터 각각을 암호화할 수 있다(S152). 이때, 제1 거래 지원 서버(1)는 개별 거래 데이터의 일부 또는 전부를 해시 알고리즘에 입력하여, 거래 데이터를 암호화할 수 있다.
다음으로, 제1 거래 지원 서버(1)는 상기 암호화된 데이터를 포함하는 트랜잭션을 블록체인 네트워크(20)로 제공하여, 상기 트랜잭션을 포함하는 블록이 블록체인에 저장되게 할 수 있다(S153). 일 실시예에서, 상기 트랜잭션의 개수는 상기 거래 데이터의 개수만큼 상응할 수 있다. 일 실시예에서, 상기 트랜잭션은 블록체인 네트워크(20)에 포함된 블록 생성 노드로 전송되고, 블록 생성 노드는 상기 트랜잭션을 포함하는 블록을 생성하여 제1 피어 노드와 제2 피어 노드 각각으로 전송하고, 제1 피어 노드와 제2 피어 노드 각각은 상기 블록을 블록체인에 저장할 수 있다.
본 실시예에 따르면, 블록체인에는 암호화된 거래 데이터가 저장되어, 거래 내역에 대한 타 사용자의 열람을 불가능하게 할 수 있다.
이하, 몇몇 실시예들에 따른 예시적인 컴퓨팅 장치의 하드웨어 구성을 도 11을 참조하여 설명하기로 한다.
도 11은 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다. 본 실시예에 따른 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 시스템 버스(1600), 네트워크 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)을 저장하는 스토리지(1300)를 포함할 수 있다. 도 11에는 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 명세서의 실시예들이 속한 기술분야의 통상의 기술자라면 도 11에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어할 수 있다. 프로세서(1100)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 명세서의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1100)는 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1000)는 둘 이상의 프로세서를 구비할 수 있다.
메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 명세서의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 프로그램(1500)을 로드(load) 할 수 있다. 메모리(1400)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다. 시스템 버스(1600)는 컴퓨팅 장치(1000)의 구성 요소 간 통신 기능을 제공한다.
상기 버스는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다. 네트워크 인터페이스(1200)는 통신망(500)과 연결할 수 있다. 스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다. 스토리지(1300)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 명세서의 실시예들이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(1500)은 본 명세서의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드 되면, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 명세서의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다. 컴퓨터 프로그램(1500)은, 도 2 내지 도 10을 참조하여 설명한 방법을 위한 인스트럭션들을 포함할 수 있다.
상기 컴퓨터 프로그램(1500)은 사용자로부터 거래 요청을 수신하는 동작, 상기 거래를 사전 검증하여 검증에 성공되면, 상기 거래와 관련된 데이터의 일부 또는 전부가 암호화된 데이터를 포함하는 블록에 대한 생성을 블록체인 네트워크로 요청하는 동작, 및 상기 블록이 블록체인에 저장되는 것에 응답하여, 상기 사전 검증된 거래를 확정하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함할 수 있다.
또한, 상기 거래 요청을 수신하는 동작은, 상기 사용자를 식별하는 동작, 및 사용자별로 구분되는 복수의 수신 큐 중에서 상기 식별된 사용자의 수신 큐에 상기 거래와 관련된 데이터를 저장하는 동작을 포함할 수 있다.
상기 컴퓨터 프로그램은, 수신처 코드를 식별하고, 수신처 별로 구분되는 복수의 송신 큐 중에서 상기 수신처 코드와 대응되는 송신 큐에 상기 검증 성공한 거래와 관련된 데이터를 저장하는 동작, 및 상기 송신 큐에 저장된 데이터를 타 컴퓨팅 장치로 전송하는 동작을 수행하기 위한 인스트럭션을 더 포함할 수 있다.
상기 타 컴퓨팅 장치로 전송하는 동작은, 상기 송신 큐에 소정 개수만큼의 거래 관련 데이터가 저장되면 상기 소정 개수의 거래 데이터를 배치 처리하고, 상기 배치 처리된 소정 개수의 거래 관련 데이터를 상기 타 컴퓨팅 장치로 전송하는 동작을 포함할 수 있다.
지금까지 도 1 내지 도 11을 참조하여 본 명세서의 다양한 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 명세서의 기술적 사상에 따른 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
지금까지 도 1 내지 도 11을 참조하여 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명의 기술적 사상이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (14)

  1. 컴퓨팅 장치에 의해서 수행되는 거래 방법에 있어서,
    사용자로부터 거래 요청을 수신하는 단계;
    상기 거래를 사전 검증하여 검증에 성공되면, 상기 거래와 관련된 데이터의 일부 또는 전부가 암호화된 데이터를 포함하는 블록에 대한 생성을 블록체인 네트워크로 요청하는 단계; 및
    상기 블록이 블록체인에 저장되는 것에 응답하여, 상기 사전 검증된 거래를 확정하는 단계를 포함하는,
    거래 방법.
  2. 제1 항에 있어서,
    상기 거래 요청을 수신하는 단계는,
    상기 사용자를 식별하는 단계; 및
    사용자별로 구분되는 복수의 수신 큐 중에서 상기 식별된 사용자의 수신 큐에 상기 거래와 관련된 데이터를 저장하는 단계를 포함하는,
    거래 방법.
  3. 제1 항에 있어서,
    수신처 코드를 식별하고, 수신처 별로 구분되는 복수의 송신 큐 중에서 상기 수신처 코드와 대응되는 송신 큐에 상기 검증 성공한 거래와 관련된 데이터를 저장하는 단계; 및
    상기 송신 큐에 저장된 데이터를 타 컴퓨팅 장치로 전송하는 단계를 더 포함하는,
    거래 방법.
  4. 제3 항에 있어서,
    상기 타 컴퓨팅 장치로 전송하는 단계는,
    상기 송신 큐에 소정 개수만큼의 거래 관련 데이터가 저장되면 상기 소정 개수의 거래 데이터를 배치 처리하고, 상기 배치 처리된 소정 개수의 거래 관련 데이터를 상기 타 컴퓨팅 장치로 전송하는 단계를 포함하는,
    거래 방법.
  5. 제3 항에 있어서,
    상기 타 컴퓨팅 장치는, 블록체인 네트워크에 포함된 노드인,
    거래 방법.
  6. 제1 항에 있어서,
    상기 블록에 대한 생성을 블록체인 네트워크로 요청하는 단계는,
    상기 거래와 관련된 데이터의 일부 또는 전부를 암호화하여 상기 블록체인 네트워크로 제공하는 단계를 포함하는,
    거래 방법.
  7. 제6 항에 있어서,
    상기 암호화된 데이터는,
    송신처 코드, 수신처 코드, 송신 계좌번호, 수신 계좌번호, 송신 금액 중에서 하나 이상을 해시 처리한 해시값을 포함하는,
    거래 방법.
  8. 제1 항에 있어서,
    상기 블록에 대한 생성을 블록체인 네트워크로 요청하는 단계는,
    상기 거래에 필요한 금액이 송신인에서부터 수취인으로 제공될 수 있는지 여부를 판정하는 단계를 포함하는,
    거래 방법.
  9. 하나 이상의 프로세서;
    상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
    상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
    상기 컴퓨터 프로그램은,
    사용자로부터 거래 요청을 수신하는 동작;
    상기 거래를 사전 검증하여 검증에 성공되면, 상기 거래와 관련된 데이터의 일부 또는 전부가 암호화된 데이터를 포함하는 블록에 대한 생성을 블록체인 네트워크로 요청하는 동작; 및
    상기 블록이 블록체인에 저장되는 것에 응답하여, 상기 사전 검증된 거래를 확정하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하는,
    컴퓨팅 장치.
  10. 사용자로 요청된 거래를 사전 검증하는 제1 거래 지원 서버;
    상기 거래에 대한 승인을 요청받는 제2 거래 지원 서버; 및
    상기 제1 거래 지원 서버가 상기 사전 검증에 성공하고 상기 제2 거래 지원 서버가 상기 거래에 대해서 승인하면, 상기 거래에 관련된 데이터를 포함하는 블록을 블록체인에 저장하는 블록체인 네트워크를 포함하고,
    상기 제1 거래 지원 서버와 상기 제2 거래 지원 서버 각각은, 상기 블록체인에 상기 블록이 저장되면 상기 거래를 확정하는,
    거래 시스템.
  11. 제10 항에 있어서,
    상기 제1 거래 지원 서버는,
    사용자별로 구분되는 복수의 수신 큐를 포함하고, 상기 사용자를 식별한 후 상기 복수의 수신 큐 중에서 상기 식별된 사용자의 수신 큐에 상기 거래 관련 데이터를 저장하고, 상기 수신 큐에 저장된 거래 관련 데이터를 순서에 따라 처리하는,
    거래 시스템.
  12. 제10 항에 있어서,
    상기 제1 거래 지원 서버는,
    수신처 별로 구분되는 복수의 송신 큐를 포함하고, 상기 거래 데이터에서 수신처 코드를 식별한 후, 복수의 송신 큐 중에서 상기 수신처 코드에 대응되는 송신 큐에 상기 사전 검증 성공한 거래 관련 데이터를 저장하고, 상기 송신 큐에 저장된 거래 관련 데이터를 상기 블록체인 네트워크에 포함된 노드로 전송하는,
    거래 시스템.
  13. 제12 항에 있어서,
    상기 제1 거래 지원 서버는,
    상기 제1 거래 지원 서버와 연동하는 제1 피어 노드와 상기 제2 거래 지원 서버와 연동하는 제2 피어 노드로 상기 거래 관련 데이터를 전송하는,
    거래 시스템.
  14. 제13 항에 있어서,
    상기 블록체인 네트워크에 포함된 블록 생성 노드는, 상기 제1 거래 지원 서버로부터 상기 거래와 관련된 데이터가 일부 또는 전부가 암호화된 데이터를 수신하여, 상기 암호화된 데이터를 포함하는 블록을 생성하고,
    상기 제1 피어 노드와 상기 제2 피어 노드는, 상기 생성된 블록을 블록체인에 저장하는,
    거래 시스템.
KR1020210068326A 2021-05-27 2021-05-27 블록체인 환경에서의 거래 방법과 장치 KR20220160299A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210068326A KR20220160299A (ko) 2021-05-27 2021-05-27 블록체인 환경에서의 거래 방법과 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210068326A KR20220160299A (ko) 2021-05-27 2021-05-27 블록체인 환경에서의 거래 방법과 장치

Publications (1)

Publication Number Publication Date
KR20220160299A true KR20220160299A (ko) 2022-12-06

Family

ID=84406831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210068326A KR20220160299A (ko) 2021-05-27 2021-05-27 블록체인 환경에서의 거래 방법과 장치

Country Status (1)

Country Link
KR (1) KR20220160299A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160150278A (ko) 2016-06-15 2016-12-29 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160150278A (ko) 2016-06-15 2016-12-29 주식회사 코인플러그 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법

Similar Documents

Publication Publication Date Title
KR102384340B1 (ko) 블록체인 기반 실시간 거래 처리 방법 및 그 시스템
US20220129888A1 (en) Computer-implemented systems and methods for implementing transfers over a blockchain network
US10762479B2 (en) Method and system for processing blockchain-based real-time transaction
KR101727525B1 (ko) 블록체인 기반 분산 저장 방법 및 이를 이용한 장치
US10747721B2 (en) File management/search system and file management/search method based on block chain
CN109087101B (zh) 交易校验方法、装置、存储介质及电子设备
CN109214818B (zh) 一种跨链交易方法及装置
US11496456B2 (en) Systems and methods encrypting messages using multiple certificates
US20180158058A1 (en) Apparatus and method to prevent execution of an unauthorized transaction via a distributed database
WO2019242508A1 (zh) 区块链系统和应用于区块链系统的路由节点的路由方法
KR102407187B1 (ko) 블록체인 기반 전자 화폐 자동 충전 방법 및 그 시스템
CN111541784A (zh) 一种基于区块链一体机的交易处理方法及装置
US20200364212A1 (en) System and method of supporting reflection of transactions between blockchain networks
CN112492002B (zh) 一种基于区块链一体机的交易转发方法及装置
WO2020046786A1 (en) System and method for securing crypto-asset transactions
CN110620776B (zh) 一种数据转移信息传输方法及其装置
KR20200114324A (ko) 블록체인 기반의 암호화폐를 이용한 송금 처리 시스템
CN114331397B (zh) 信息处理方法、装置、电子设备和存储介质
KR20220160299A (ko) 블록체인 환경에서의 거래 방법과 장치
US20230237476A1 (en) Electronic wallet, server for executing the same, and method for atomic exchange of blockchain tokens using the server
CN117170853A (zh) 区块链交易方法、装置及电子设备
CN116703395B (zh) 一种数字人民币的支付方法、装置、设备、系统及介质
CN113362064B (zh) 多重签名方法、计算机设备和存储介质
US20230179427A1 (en) System for processing offline digital resource transfers using a hardware device based cryptographic application
KR20220094899A (ko) 데이터 위변조 검증 방법 및 장치