KR102151896B1 - 블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼 - Google Patents

블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼 Download PDF

Info

Publication number
KR102151896B1
KR102151896B1 KR1020197011608A KR20197011608A KR102151896B1 KR 102151896 B1 KR102151896 B1 KR 102151896B1 KR 1020197011608 A KR1020197011608 A KR 1020197011608A KR 20197011608 A KR20197011608 A KR 20197011608A KR 102151896 B1 KR102151896 B1 KR 102151896B1
Authority
KR
South Korea
Prior art keywords
smart asset
node
blockchain network
smart
asset
Prior art date
Application number
KR1020197011608A
Other languages
English (en)
Other versions
KR20200067119A (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 알리바바 그룹 홀딩 리미티드
Publication of KR20200067119A publication Critical patent/KR20200067119A/ko
Application granted granted Critical
Publication of KR102151896B1 publication Critical patent/KR102151896B1/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • G06Q20/108Remote banking, e.g. home banking
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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
    • G06Q2220/00Business processing using cryptography

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 개시의 구현은 제1 노드의 제1 식별자, 제2 노드의 제2 식별자, 스마트 에셋의 식별자 및 값을 포함하는 전송 요청을 수신하는 단계, 상기 스마트 에셋이 상기 스마트 에셋의 식별자 및 상기 값에 적어도 부분적으로 기초하여 전송 가능한지 여부를 결정하는 단계, 상기 스마트 에셋이 전송 가능하다고 결정하는 것에 응답하여, 자동적으로 제1 식별자, 제1 값이 지정되고, 상기 스마트 에셋의 특성을 포함하는 제1 스마트 에셋 및 제2 식별자, 상기 값이 지정되고, 상기 스마트 에셋의 특성을 포함하는 제2 스마트 에셋을 제공하고, 상기 제1 스마트 에셋을 상기 제1 노드에, 상기 제2 스마트 에셋을 상기 제2 노드에 기록하며, 상기 스마트 에셋을 삭제하는 단계를 포함한다.

Description

블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼
합의 네트워크 및/또는 블록체인 네트워크라고도 지칭될 수 있는 분산 원장 시스템(distributed ledger system, DLS)은 참여하는 엔티티가 데이터를 안전하고 변경 불가능하게 저장하는 것을 가능하게 한다. DLS는 임의의 특정 사용자 사례(예를 들어, 암호 화폐)를 참조하지 않고 일반적으로 블록체인 네트워크라고 지칭된다. 블록체인 네트워크의 예시적 타입은 퍼블릭 블록체인 네트워크, 프라이빗 블록체인 네트워크 및 컨소시엄 블록체인 네트워크를 포함한다. 퍼블릭 블록체인 네트워크는 모든 엔티티가 DLS를 사용하고 합의 프로세스에 참여할 수 있도록 열려 있다. 특정 엔티티에 대해 읽기 및 쓰기 허가를 중앙에서 제어하는 프라이빗 블록체인 네트워크가 제공된다. 컨소시엄 블록체인 네트워크는 합의 프로세스를 제어하는 선택된 엔티티 그룹에 제공되며 액세스 제어 계층을 포함한다.
블록체인 네트워크는 디지털 에셋의 전송 및 교환을 통한 값의 거래를 위하여 사용될 수 있다. 블록체인 네트워크 내에서 교환되는 많은 디지털 에셋은 수치로 표시된다. 이러한 타입의 디지털 에셋은 쉽게 분할되고 쉽게 함께 병합되며 결과적으로 블록체인 네트워크의 한 노드에서 다른 노드로 쉽게 전송할 수 있다.
본 개시의 구현은 블록체인 네트워크 내에서 디지털 에셋을 전송하기 위한 컴퓨터 구현 방법을 포함한다. 보다 구체적으로, 본 개시의 구현은 스마트 에셋의 원자적 분할(atomic division) 및/또는 원자적 병합(atomic merger)을 통하여 블록체인 네트워크 내의 스마트 에셋의 원자적 전송을 위한 플랫폼에 관한 것이다.
일부 구현에서, 동작(actions)은 제1 노드의 제1 식별자, 제2 노드의 제2 식별자, 스마트 에셋의 식별자 및 값을 포함하는 전송 요청을 수신하는 단계, 상기 스마트 에셋이 상기 스마트 에셋의 식별자 및 상기 값에 적어도 부분적으로 기초하여 전송 가능한지 여부를 결정하는 단계, 상기 스마트 에셋이 전송 가능하다고 결정하는 것에 응답하여, 자동적으로: 제1 식별자, 제1 값이 지정되고, 상기 스마트 에셋의 특성을 포함하는 제1 스마트 에셋 및 제2 식별자, 상기 값이 지정되고, 상기 스마트 에셋의 특성을 포함하는 제2 스마트 에셋을 제공하고, 상기 제1 스마트 에셋을 상기 제1 노드에, 상기 제2 스마트 에셋을 상기 제2 노드에 기록하며, 상기 스마트 에셋을 삭제하는 단계를 포함한다. 다른 구현은 컴퓨터 저장 디바이스 상에 인코딩된, 상기 방법의 동작을 수행하도록 구성된 대응하는 시스템, 장치 및 컴퓨터 프로그램을 포함한다.
이들 구현 및 다른 구현은 각각 다음의 특징들 중 하나 이상을 선택적으로 포함할 수 있다: 상기 스마트 에셋이 전송 가능한지 여부를 결정하는 단계는, 상기 스마트 에셋과 연관된 컴퓨터 실행 가능 스마트 계약(smart contract)에 제공된 함수(function)를 실행함으로써 결정되는 것; 상기 스마트 에셋이 전송 가능한지 여부를 결정하는 단계는, 상기 스마트 에셋과 연관된 타입 식별자에 적어도 부분적으로 기초하여 결정되고, 상기 타입 식별자는 상기 스마트 에셋이 분할(split)될 수 있는 타입인지 여부를 표시하는 것; 상기 스마트 에셋이 전송 가능한지 여부를 결정하는 단계는, 상기 스마트 에셋의 원래 값이 상기 값보다 작은지 여부에 적어도 부분적으로 기초하여 결정되는 것; 상기 값은 수치 및 문자열 설명(string description) 중 하나로서 제공되는 것; 상기 문자열 설명은 JSON(Javascript object notation)으로 제공되는 것; 상기 제1 값은 상기 스마트 에셋의 원래 값으로부터 상기 값을 뺀 것; 상기 블록체인 네트워크는 컨소시엄 블록체인 네트워크인 것; 및 상기 스마트 에셋은 다수의 필드를 갖는 기본(underlying) 데이터 객체에 의해 정의되는 것이다.
본 개시는 또한 하나 이상의 프로세서에 결합되고, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 본 명세서에 제공된 방법의 구현에 따라 동작들을 수행하게 하는 명령어들이 저장된 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 제공한다.
본 개시는 또한 본 명세서에 제공된 방법을 구현하기 위한 시스템을 제공한다. 상기 시스템은 하나 이상의 프로세서; 및 상기 하나 이상의 프로세서에 결합되고, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 본 명세서에 제공된 방법의 구현에 따른 동작들을 수행하게 하는 명령어들이 저장된 컴퓨터 판독 가능 저장 매체를 포함한다.
본 개시에 따른 방법은 본 명세서에 기술된 양상들 및 특징들의 임의의 조합을 포함할 수 있음을 알 것이다. 즉, 본 개시에 따른 방법은 본 명세서에 구체적으로 기술된 양상들 및 특징들의 조합으로 제한되지 않으며, 제공되는 양상들 및 특징들의 임의의 조합을 포함한다.
본 개시의 하나 이상의 구현의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 본 개시의 다른 특징들 및 장점들은 상세한 설명 및 도면 및 청구범위로부터 명백해질 것이다.
도 1은 본 개시의 구현을 실행하는데 사용될 수 있는 예시적인 환경을 도시한다.
도 2는 본 개시의 구현에 따른 예시적인 개념 아키텍처를 도시한다.
도 3은 본 개시의 구현에 따른 예시적인 에셋 전송 플랫폼을 도시한다.
도 4 및 도 5는 본 개시의 구현에 따라 실행될 수 있는 예시적인 프로세스를 도시한다.
다양한 도면에서 유사한 참조 부호는 유사한 요소를 나타낸다.
본 개시의 구현은 블록체인 네트워크 내에서 디지털 에셋을 전송하기 위한 컴퓨터 구현 방법을 포함한다. 보다 구체적으로, 본 개시의 구현은 스마트 에셋의 원자적 분할 및/또는 원자적 병합을 통하여 블록체인 네트워크 내의 디지털 에셋의 원자적 전송을 위한 플랫폼에 관한 것이다. 일부 구현에서, 동작은 제1 노드의 제1 식별자, 제2 노드의 제2 식별자, 스마트 에셋의 식별자 및 값을 포함하는 전송 요청을 수신하는 단계, 상기 스마트 에셋이 상기 스마트 에셋의 식별자 및 상기 값에 적어도 부분적으로 기초하여 전송 가능한지 여부를 결정하는 단계, 상기 스마트 에셋이 전송 가능하다고 결정하는 것에 응답하여, 자동적으로: 제1 식별자, 제1 값이 지정되고, 상기 스마트 에셋의 특성을 포함하는 제1 스마트 에셋 및 제2 식별자, 상기 값이 지정되고, 상기 스마트 에셋의 특성을 포함하는 제2 스마트 에셋을 제공하고, 상기 제1 스마트 에셋을 상기 제1 노드에, 상기 제2 스마트 에셋을 상기 제2 노드에 기록하며, 상기 스마트 에셋을 삭제하는 단계를 포함한다.
본 개시의 구현을 위한 추가 컨텍스트를 제공하기 위하여, 위에서 소개된 바와 같이, 합의 네트워크(예를 들어, 피어-투-피어 노드들로 구성됨) 및 블록체인 네트워크로 또한 지칭될 수 있는 분산 원장 시스템(DLS)은 참여 엔티티가 안전하고 변경 불가능하게 트랜잭션을 수행하고 데이터를 저장하는 것을 가능하게 한다. 블록체인이라는 용어는 일반적으로 비트코인 암호 화폐 네트워크와 연관되어 있지만, 여기서는 블록체인이 임의의 특정 사용 케이스를 참조하지 않고 일반적으로 DLS를 지칭하기 위하여 사용된다. 위에서 소개한 것처럼 블록체인 네트워크는 퍼블릭 블록체인 네트워크, 프라이빗 블록체인 네트워크 또는 컨소시엄 블록체인 네트워크로서 제공될 수 있다.
퍼블릭 블록체인 네트워크에서, 합의 프로세스는 합의 네트워크의 노드들에 의해 제어된다. 예를 들어, 수백, 수천, 심지어 수백만 개의 엔티티가 퍼블릭 블록체인 네트워크에서 협력할 수 있으며 각 블록체인 네트워크는 퍼블릭 블록체인 네트워크에서 적어도 하나의 노드를 운영한다. 따라서, 퍼블릭 블록체인 네트워크는 참여 엔티티와 연관하여 퍼블릭 네트워크로 간주될 수 있다. 일부 예에서는 대부분의 엔티티(노드)가 블록이 유효하도록 모든 블록에 서명해야 하고, 블록체인 네트워크의 블록체인(분산 원장)에 추가 되어야 한다. 예시적인 퍼블릭 블록체인 네트워크는 피어-투-피어 지불 네트워크인 비트코인 네트워크를 포함한다. 비트코인 네트워크는 블록체인이라고 하는 분산 원장을 활용한다. 그러나, 위에서 언급했듯이 블록체인이라는 용어는 비트코인 네트워크를 특별히 참조하지 않고 일반적으로 분산 원장을 지칭하는데 사용된다.
일반적으로, 퍼블릭 블록체인 네트워크는 퍼블릭 트랜잭션을 지원한다. 퍼블릭 트랜잭션은 퍼블릭 블록체인 네트워크 내의 모든 노드와 공유되며 글로벌 블록체인에 저장된다. 글로벌 블록체인은 모든 노드에 걸쳐 복제되는 블록체인이다. 즉, 모든 노드는 글로벌 블록체인에 대해 완벽한 상태로 합의(concensus)한다. 합의(예를 들어, 블록을 블록체인에 추가하는 것에 동의)를 달성하기 위하여, 합의 프로토콜이 퍼블릭 블록체인 네트워크 내에서 구현된다. 예시적인 합의 프로토콜에는 비트코인 네트워크에 구현된 POW(proof-of-work)가 포함되며 이에 국한되지 않는다.
일반적으로, 프라이빗 블록체인 네트워크는 읽기 및 쓰기 허가를 중앙에서 제어하는 특정 엔티티를 위해 제공된다. 엔티티는 어느 노드가 블록체인 네트워크에 참여할 수 있는지를 제어한다. 결과적으로, 프라이빗 블록체인 네트워크는 일반적으로 누가 네트워크에 참여할 수 있는지 및 그들의 참여 수준(예를 들어, 특정 트랜잭션에서만)에 대한 제한을 두는 허가된 네트워크로서 지칭된다. 다양한 타입의 액세스 제어 메커니즘이 사용될 수 있다(예를 들어, 기존 참여자는 새로운 엔티티 추가에 표결을 하고, 규제 당국은 허가(admission)를 제어할 수 있다).
일반적으로, 컨소시엄 블록체인 네트워크는 참여하는 엔티티들 사이에서 프라이빗하다. 컨소시엄 블록체인 네트워크에서, 합의 프로세스는 허가된(authorized) 노드 세트에 의해 제어되고, 하나 이상의 노드는 각각의 엔티티(예를 들어, 금융 기관, 보험 회사)에 의해 운영된다. 예를 들어, 10개의 엔티티(예를 들어, 금융 기관, 보험 회사)의 컨소시엄이 컨소시엄 블록체인 네트워크를 운영할 수 있으며, 이들 각각은 컨소시엄 블록체인 네트워크에서 적어도 하나의 노드를 운영한다. 따라서, 컨소시엄 블록체인 네트워크는 참여하는 엔티티와 연관하여 프라이빗 네트워크로 간주될 수 있다. 일부 예에서, 각 엔티티(노드)는 블록이 유효하도록 모든 블록에 서명해야 하고 블록체인에 추가 되어야 한다. 일부 예에서, 엔티티(노드)(예를 들어, 적어도 7개의 엔티티)의 적어도 서브 세트는 블록이 유효하도록 모든 블록에 서명해야 하고, 블록체인에 추가 되어야 한다.
본 개시의 구현은 참여 엔티티들(예를 들어, 컨소시엄의 멤버들) 사이에서 퍼블릭인 컨소시엄 블록체인 네트워크를 참조하여 본 명세서에서 더 상세하게 설명된다. 그러나, 본 개시의 구현들은 임의의 적절한 타입의 블록체인 네트워크에서 실현될 수 있다고 생각된다. 본 개시에서 설명된 기술들은 컨소시엄 블록체인 네트워크에 연관되는 것으로 표시되지만, 퍼블릭 블록체인 네트워크 및 프라이빗 블록체인 네트워크를 포함하는 다른 타입의 블록체인 네트워크에서도 기술을 변경하거나 변경하지 않고 또한 사용할 수 있다.
블록체인 네트워크는 디지털 에셋의 전송 및 교환을 포함하는 트랜잭션을 수행하는데 사용될 수 있다. 블록체인 네트워크 내에서 교환되는 디지털 에셋은 값을 나타낸다. 예를 들어, 비트코인과 같은 암호 화폐는 제품 및/또는 서비스를 구매하는 데 사용할 수 있는 값을 나타낸다. 암호 화폐는 실세계의 물리적 통화(예를 들어, 중국 위안, 미국 달러)의 대안으로서 제공된다. 많은 경우, 디지털 에셋은 상대적으로 단순하며, 예를 들어 디지털 에셋의 고유 식별자 및 수치를 포함한다. 에셋의 값이 무한히 분할 가능하기 때문에, 디지털 에셋의 값을 수치로 표현함으로써, 디지털 에셋의 일부 또는 전부의 전송은 비교적 단순하다. 또한, 수치 값이 포함된 두 개의 디지털 에셋의 병합은 디지털 에셋의 값을 함께 더하여 최종 병합된 값을 결정함으로써 쉽게 달성된다.
기본적인 수치 디지털 에셋은 단순한 값 전송을 허용하지만, 블록-체인 네트워크가 트랜잭션을 수행하는데 점점 더 의존하게 됨에 따라, 복잡한 실세계 에셋을 정확하게 나타낼 수 있는 보다 복잡한 디지털 에셋에 대한 필요성이 증대되고 있다. 이러한 요구를 충족시키기 위하여 스마트 에셋이라고 할 수 있는 보다 복잡한 디지털 에셋이 도입되었다. 일부 예에서 스마트 에셋은 실세계 에셋의 디지털 표현으로서 제공된다. 본 명세서에 설명된 바와 같이, 스마트 에셋은 엔티티 간에 전송될 수 있다. 일부 예에서, 스마트 에셋은 엔티티(예를 들어, 사람, 기업)가 보유(hold)하거나 소유(own)할 수 있는 임의의 적절한 타입의 실세계 에셋에 대응한다. 예시적인 실세계 에셋은 금전 자금, 석유, 연료, 식량 등을 포함할 수 있으며 이에 국한되지는 않는다. 일반적으로 스마트 에셋은 예를 들어, 수량 또는 단위 등을 포함하는 다수의 특성을 갖는 임의의 실세계 에셋을 나타낼 수 있다.
스마트 에셋은 분산 데이터베이스(예를 들어, 컨소시엄 블록체인) 내에서 생성, 저장 및 교환될 수 있다. 일부 예에서 스마트 에셋은 다수의 필드가 포함된 데이터 객체로서 제공된다. 일부 예에서, 스마트 에셋에 지정된 고유 식별자 및 에셋에 지정된 타입 식별자를 기록하기 위한 필드가 제공될 수 있다. 일부 예에서, 스마트 에셋의 특성(예를 들어, 수량, 단위)을 기록하기 위하여 필드가 제공될 수 있다. 스마트 에셋에 대한 고유 식별자를 분산 데이터베이스의 스마트 에셋 객체의 각각의 필드에 추가함으로써 분산 데이터베이스 내에 스마트 에셋을 만들 수 있다. 일부 예에서, 고유 식별자는 스마트 에셋에 지정된 어드레스 정보를 포함한다. 스마트 에셋은 스마트 에셋을 나타내는 해당 스마트 에셋 객체의 필드 내에 포함된 어드레스 정보에 의해 분산 데이터베이스 내에서 식별된다.
실세계 에셋을 스마트 에셋으로서 나타냄으로써, 엔티티는 블록체인 네트워크에서 대응하는 스마트 에셋을 교환함으로써 실세계 에셋을 디지털 방식으로 전송 및 교환할 수 있다. 예를 들어, 적절한 권한/허가를 가진 컨소시엄 블록체인 네트워크의 멤버는 실세계 에셋에 해당하는 스마트 에셋을 생성할 수 있다. 스마트 에셋을 생성한 후, 멤버는 컨소시엄 블록체인 네트워크의 다른 멤버와의 스마트 에셋과 연관된 트랜잭션을 수행할 수 있다. 스마트 에셋을 포함하는 모든 트랜잭션의 합의 처리는 컨소시엄 블록체인 네트워크의 합의 알고리즘을 기반으로 수행되고, 완료된 트랜잭션은 분산 데이터베이스(예를 들어, 컨소시엄 블록체인)에 포함된다.
스마트 에셋은 2018년 2월 14일자로 출원된 공동 양도된(assigned) CN 출원 번호 201810151607.8에 더 상세히 기재되어 있으며, 그 개시 내용은 전체적으로 본 명세서에 참고로 명확히 포함된다.
다수의 필드(예를 들어, 스마트 에셋)를 갖는 디지털 에셋을 전송하는 현재의 방법은 단일 전송을 완료하기 위하여 수행되는 몇 개의 원자적 단계가 수행되는 것을 필요로 한다. 예를 들어, 현재 전송 방법 하에서 스마트 에셋의 일부를 전송하는 것은, 에셋의 전송 가능성을 결정하기 위한 질의(query)를 만드는 것, 에셋을 세그먼트화하는 것, 및 세그먼트화된 에셋을 블록체인 네트워크의 제1 노드로부터 블록체인 네트워크의 제2 노드로 전송하는 것을 필요로 한다. 또한 에셋을 노드로 전송하는 것을 완료하기 위해서, 에셋이 노드에 이미 연관된 임의의 에셋과 병합될 수 있는지 여부를 결정하기 위한 몇 가지 쿼리를 만들어야 한다. 에셋을 전송하는 데 필요한 각 원자적 단계는 순차적으로 처리해야 한다. 결과적으로, 현재 전송 방법은 원자성(atomicity)을 보장할 수 없으며, 전송 동작을 원자화하지 못하면 전송된 에셋이 프래그먼트화될 수 있다.
위 컨텍스트에 비추어, 그리고 본 명세서에서 보다 상세하게 설명되는 바와 같이, 본 개시의 구현은 스마트 에셋의 원자적 분할 및/또는 원자적 병합을 통하여 블록체인 네트워크 내의 디지털 에셋의 원자적 전송을 위한 플랫폼을 제공한다.
도 1은 본 개시의 구현을 실행하는데 사용될 수 있는 예시적인 환경(100)을 나타낸다. 일부 예에서, 예시적인 환경(100)은 엔티티가 컨소시엄 블록체인 네트워크(102)에 참여하는 것을 가능하게 한다. 예시적인 환경(100)은 컴퓨팅 디바이스(106, 108) 및 네트워크(110)를 포함한다. 일부 예에서, 네트워크(110)는 LAN(local area network), WAN(wide area network), 인터넷 또는 이들의 조합을 포함하며, 웹 사이트, 사용자 디바이스(예를 들어, 컴퓨팅 디바이스) 및 백-엔드 시스템을 연결한다. 일부 예에서, 네트워크(110)는 유선 및/또는 무선 통신 링크를 통하여 액세스될 수 있다.
도시된 예에서, 컴퓨팅 시스템(106, 108)은 컨소시엄 블록체인 네트워크(102)에서 노드로서의 참여를 가능하게 하는 임의의 적절한 컴퓨팅 시스템을 각각 포함할 수 있다. 예시적인 컴퓨팅 디바이스는 제한 없이 서버, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨팅 디바이스 및 스마트 폰을 포함한다. 일부 예에서, 컴퓨팅 시스템(106, 108)은 컨소시엄 블록체인 네트워크(102)와 상호 작용하기 위한 하나 이상의 컴퓨터 구현 방법을 호스팅한다. 예를 들어, 컴퓨팅 시스템(106)은 제1 엔티티가 하나 이상의 다른 엔티티(예를 들어, 다른 사용자)와의 트랜잭션을 관리하기 위해 사용하는 트랜잭션 관리 시스템과 같은, 제1 엔티티(예를 들어, 사용자 A)의 컴퓨터 구현 서비스를 호스팅할 수 있다. 컴퓨팅 시스템(108)은 제2 엔티티가 하나 이상의 다른 엔티티(예를 들어, 다른 사용자)와의 트랜잭션을 관리하기 위해 사용하는 트랜잭션 관리 시스템과 같은, 제2 엔티티(예를 들어, 사용자 B)의 컴퓨터 구현 서비스를 호스팅할 수 있다. 도 1의 예에서, 컨소시엄 블록체인 네트워크(102)는 노드들의 피어-투-피어 네트워크로서 표현되고, 컴퓨팅 시스템(106, 108)은 컨소시엄 블록체인 네트워크(102)에 참여하는 제1 엔티티 및 제2 엔티티의 노드들을 각각 제공한다.
도 2는 본 개시의 구현에 따른 예시적인 개념 아키텍처(200)를 도시한다. 예시적인 개념 아키텍처(200)는 엔티티 계층(202), 호스팅된 서비스 계층(204), 및 블록체인 네트워크 계층(206)를 포함한다. 도시된 예에서, 엔티티 계층(202)은 3개의 엔티티, 엔티티_1(E1), 엔티티_2(E2), 및 엔티티_3(E3)을 포함하고, 각 엔티티는 각각의 트랜잭션 관리 시스템(208)을 갖는다.
도시된 예에서, 호스팅된 서비스 계층(204)은 각각의 트랜잭션 관리 시스템(210)에 대한 인터페이스(210)를 포함한다. 일부 예에서, 각각의 트랜잭션 관리 시스템(208)은 프로토콜(예를 들어, HTTPS(hypertext transfer protocol secure))을 사용하여 네트워크(예를 들어, 도 1의 네트워크(110))를 통하여 각각의 인터페이스(210)와 통신한다. 일부 예에서 각각의 인터페이스(210)는 각각의 트랜잭션 관리 시스템(208)과 블록체인 네트워크 계층(206) 간의 통신 연결을 제공한다. 보다 구체적으로, 인터페이스(210)는 블록체인 네트워크 계층(206)의 블록체인 네트워크(212)와 통신한다. 일부 예에서, 인터페이스(210) 및 블록체인 네트워크 계층(206) 사이의 통신은 원격 프로시저 호출(remote procedure call, RPC)을 사용하여 수행된다. 일부 예에서, 인터페이스(210)는 각각의 트랜잭션 관리 시스템(208)에 대한 블록체인 네트워크 노드를 "호스팅"한다. 예를 들어, 인터페이스(210)는 블록체인 네트워크(212)에 액세스하기 위한 애플리케이션 프로그래밍 인터페이스(application programming interface, API)를 제공한다.
본 명세서에 기술된 바와 같이, 블록체인 네트워크(212)는 블록체인(216)에 정보를 변경 불가능하게 기록하는 복수의 노드(214)를 포함하는 피어-투-피어 네트워크로서 제공된다. 단일 블록체인(216)이 개략적으로 도시되어 있지만, 블록체인(216)의 다수의 복사본(copy)이 제공되고, 블록체인 네트워크(212)에 걸쳐 유지된다. 예를 들어, 각각의 노드(214)는 블록체인의 복사본을 저장한다. 일부 구현에서, 블록체인(216)은 컨소시엄 블록체인 네트워크에 참여하는 둘 이상의 엔티티 사이에서 수행되는 트랜잭션과 연관된 정보를 저장한다.
도 3은 본 개시의 구현에 따른 예시적인 에셋 전송 플랫폼(300)을 도시한다. 도시된 예에서, 예시적인 에셋 전송 플랫폼(300)은 전송 모듈(302) 및 병합 모듈(308)을 포함한다. 본 명세서에서 더 상세하게 설명하는 바와 같이, 스마트 에셋의 전부 또는 일부는 전송 모듈(302)을 사용하여 블록체인 네트워크(예를 들어, 도 1의 컨소시엄 블록체인 네트워크(102))의 제1 노드(예를 들어, 도 2의 노드(214)로부터 블록체인 네트워크의 제2 노드로 원자적으로(atomically) 전송될 수 있다. 또한, 본 명세서에 더 자세히 기술된 바와 같이, 스마트 에셋은 병합 모듈(308)을 사용하여 블록체인 네트워크의 노드에 기록된 또 다른 스마트 에셋과 원자적으로 병합될 수 있다.
본 개시의 구현에 따르면, 전송 모듈(302)은 블록체인 네트워크의 멤버로부터 전송 요청을 수신한다. 일부 예에서, 전송 요청은 컨소시엄 블록체인 네트워크의 멤버에 의해 전송 모듈(302)에 제출된다. 일부 구현에서, 전송 요청은 블록체인 네트워크의 제1 노드(예를 들어, 송신 노드)의 제1 식별자, 블록체인 네트워크 내의 제2 노드(예를 들어, 수신 노드)의 제2 식별자, 스마트 에셋의 식별자, 그리고 값을 포함한다. 일부 구현에서, 전송 모듈(302)은 식별된 에셋으로부터의 전송 요청에서 지정된 값을 제1 노드로부터 제2 노드로 전송하기 위한 단일 원자적 동작을 실행한다.
일부 구현에서, 전송 요청에서 식별된 스마트 에셋은 다수의 필드를 포함하는 데이터 객체로서 제공된다. 일부 예에서, 스마트 에셋의 필드는 에셋의 특성(예를 들어, 타입, 수량, 값)을 기록하기 위하여 제공될 수 있다. 일부 예에서, 에셋에 지정된 식별자 및 에셋에 지정된 타입 식별자를 기록하기 위하여 스마트 에셋 객체의 필드가 제공될 수 있다. 일부 구현에서, 스마트 에셋의 식별자는 스마트 에셋에 지정된 어드레스 정보(예를 들어, 블록체인 네트워크 내의 스마트 에셋의 위치를 지정하는 어드레스)를 포함한다.
전송 요청에서 제공된 값은 제1 노드에서 제2 노드로 전송될 스마트 에셋의 수량(quantity)(양(amount))을 나타낸다. 일부 예에서, 값은 수치로서 제공된다. 예를 들어, 값은 실세계 에셋의 수량(예를 들어, 연료의 갤런)으로서 제공될 수 있다. 일부 예에서 값은 문자열 설명으로서 제공된다. 예를 들어, 값은 "20 배럴의 오일" 또는 "1,000 에이커의 토지"로서 제공될 수 있다. 일부 예에서 값은 JSON 문자열 설명으로서 제공된다.
도 3의 예에서는, 전송 모듈(302)은 canTransfer 함수(304) 및 TryTransfer 함수(306)를 포함한다. 일부 예에서, 전송 모듈(302)에 의해 수신된 전송 요청은 전송 요청에 포함된 정보를 사용하여 canTransfer 함수(304) 및 TryTransfer 함수(306)를 실행함으로써 처리된다. 일부 예에서, canTransfer 함수(304) 및 TryTransfer 함수(306)는 전송 요청에서 식별된 스마트 에셋과 연관된 컴퓨터 실행 가능 스마트 계약 내에 제공된다. 높은 수준에서, 스마트 계약은 컨소시엄 블록체인 네트워크에서 구현 및 배치되는 계약으로서 기술될 수 있으며, 스마트 에셋과 연관된 함수 및/또는 데이터(예를 들어, 컴퓨터 실행 가능 함수)를 포함한다.
일부 구현에서, canTransfer 함수(304)는 스마트 에셋의 값이 전송 요청에서 지정된 값보다 작은지 여부를 결정한다. 일부 구현에서, canTransfer 함수(304)는 스마트 에셋의 식별자에 의해 제공되는 어드레스에 위치한 스마트 에셋의 값 필드에 저장된 값을 검색함으로써 스마트 에셋의 값을 결정한다.
일부 구현에서, canTransfer 함수(304)는 스마트 에셋의 타입 식별자를 결정한다. 일부 구현에서, canTransfer 함수(304)는 스마트 에셋의 식별자에 의해 제공되는 어드레스에 위치한 스마트 에셋의 타입 필드에 저장된 타입 식별자를 검색함으로써 에셋의 타입 식별자를 결정한다. 일부 예에서, canTransfer 함수(304)는 스마트 에셋의 타입 식별자를 결정하는 것에 적어도 부분적으로 기초하여 스마트 에셋이 전송 가능한지 여부를 결정한다. 예를 들어, canTransfer 함수(304)는 타입 식별자 "의자(chairs)"를 가진 스마트 에셋이 정수 단위를 제외하고 전송될 수 없다고 결정할 수 있는데, 그 이유는 스마트 에셋(의자)의해 표현된 실세계 에셋이 정수 단위를 제외하고 전송을 위하여 물리적으로 분할될 수 없기 때문이다(예를 들어, 1.5개의 의자를 전송할 수 없다). 다른 예로서, canTransfer 함수(304)는 타입 식별자 "연료(fuel)"를 갖는 스마트 에셋이 요청된 단위로 전송될 수 있다고 결정할 수 있는데, 그 이유는 스마트 에셋(연료)에 의해 표현된 실세계 에셋이 전송을 위하여 분수 단위로 물리적으로 분할될 수 있기 때문이다(예를 들어, 1.5 갤런의 연료를 전송할 수 있다).
일부 구현에서, 스마트 에셋의 값이 전송 요청에서 제공된 값보다 적거나 스마트 에셋의 타입 식별자가 스마트 에셋이 값에 의해 분할될 수 없다는 것을 나타내는 경우, canTransfer 함수(304)는 "거짓(FALSE)"을 반환하고, 트랜잭션은 종료된다. 일부 구현에서, 스마트 에셋의 값이 전송 요청에서 제공된 값보다 크거나 같고 스마트 에셋의 타입 식별자가 스마트 에셋이 값으로 분할될 수 있다는 것을 나타내면, canTransfer 함수(304)는 "참(TRUE)"을 반환한다.
일부 구현에서, TryTransfer 함수(306)는 전송 요청에 대하여 canTransfer 함수(304)가 "참(TRUE)"을 반환하는 것에 응답하여 자동으로 실행된다. 일부 구현에서, TryTransfer 함수(306)는 제1 스마트 에셋 및 제2 스마트 에셋을 생성한다. 일부 예에서, TryTransfer 함수(306)에 의해 생성된 스마트 에셋들 각각은 다중 필드, 스마트 에셋과 동일한 필드를 포함하는 데이터 객체로서 제공된다. 일부 예에서, TryTransfer 함수(306)에 의해 생성된 스마트 에셋은 전송 요청에서 식별된 스마트 에셋과 동일한 특성을 포함한다. 예를 들어, TryTransfer 함수(306)에 의해 생성된 제1 스마트 에셋 및 제2 스마트 에셋은 전송 요청에서 식별된 스마트 에셋과 동일한 타입 식별자를 포함할 수 있다.
일부 구현에서, TryTransfer 함수(306)는 제1 식별자 및 제1 값을 제1 스마트 에셋에 지정한다. 일부 예에서, 제1 값은 전송 요청에서 식별된 스마트 에셋의 원래 값에서 전송 요청에서 지정된 값을 뺀 값이다. 일부 구현에서, TryTransfer 함수(306)는 전송 요청에서 지정된 제2 식별자 및 값을 제2 스마트 에셋에 지정한다. 일부 예에서, 제1 식별자 및 제2 식별자는 각각 고유한 식별자이다. 일부 예에서, 제1 식별자 및 제2 식별자는 제1 스마트 에셋 및 제2 스마트 에셋에 지정된 어드레스 정보를 각각 포함한다. 일부 예들에서, 제1 식별자 및 제1 값은 제1 스마트 에셋의 기본이 되는 데이터 객체 내의 필드로서 저장된다. 일부 예들에서, 제2 식별자 및 값은 제2 스마트 에셋의 기본이 되는 데이터 객체 내의 필드로서 저장된다. 일부 예에서, 제1 스마트 에셋 및 제2 스마트 에셋은 스마트 에셋의 서브 에셋으로 간주될 수 있다.
일부 구현에서, TryTransfer 함수(306)에 의해 생성된 제1 스마트 에셋은 컨소시엄 블록체인 네트워크의 제1 노드에 자동으로 기록된다. 일부 구현에서, TryTransfer 함수(306)에 의해 생성된 제2 스마트 에셋은 컨소시엄 블록체인 네트워크의 제2 노드에 자동으로 기록된다. 일부 구현에서, TryTransfer 함수(306)는 제1 스마트 에셋 및 제2 스마트 에셋을 컨소시엄 블록체인 네트워크 내에 성공적으로 기록할 때, 전송 요청에서 식별된 스마트 에셋(예를 들어, 제1 및 제2 스마트 에셋이 생성된 스마트 에셋)을 자동으로 삭제한다.
비-제한적인 예시적인 입력은 다음과 같이 (예를 들어,(userAAddress, userBAddress, assetAddress, amount)) 제공될 수 있다:
Figure 112019041461617-pct00001
Figure 112019041461617-pct00002
전송 로직의 실행을 위한 예시적인 의사(pseudo)-코드는 다음과 같이 제공될 수 있다:
Figure 112019041461617-pct00003
canTransfer 함수(304)에 대한 예시적인 의사-코드는 다음과 같이 제공될 수 있다:
Figure 112019041461617-pct00004
본 명세서에서 더 상세히 설명되는 바와 같이, 병합 모듈(308)은 병합 요청에서 식별된 제1 스마트 에셋을 블록체인 네트워크의 노드와 연관된 제2 스마트 에셋과 병합하기 위한 단일 원자적 동작을 실행한다. 본 개시의 구현에 따르면, 병합 모듈(308)은 병합 요청을 수신한다. 일부 구현에서, 병합 모듈(308)은 전송 모듈(302)의 TryTransfer 함수(306)의 성공적인 실행시 병합 요청을 자동으로 수신한다. 일부 구현에서, 병합 모듈(308)은 스마트 에셋이 컨소시엄 블록체인 네트워크(예를 들어, 도 1의 컨소시엄 블록체인 네트워크(102))의 노드(예를 들어, 도 2의 노드(들)(214))에 기록되고 있을 때 병합 요청을 자동으로 수신한다.
일부 구현에서, 병합 모듈(308)에 의해 수신된 병합 요청은 제1 노드의 제1 식별자, 제2 노드의 제2 식별자, 및 제1 스마트 에셋의 식별자를 포함한다. 일부 예에서, 제1 스마트 에셋은 다수의 필드를 포함하는 기본 데이터 객체를 포함한다. 일부 예에서, 제1 스마트 에셋의 필드는 제1 스마트 에셋에 지정된 고유 식별자 및 제1 스마트 에셋에 지정된 타입 식별자를 기록하도록 제공될 수 있다. 일부 예에서, 스마트 에셋의 필드는 제1 스마트 에셋의 특성(예를 들어, 수량, 값)을 기록하기 위하여 제공될 수 있다. 일부 구현에서, 제1 스마트 에셋의 식별자는 제1 스마트 에셋에 지정된 어드레스 정보를 포함한다. 일부 구현에서, 제1 스마트 에셋은 제1 노드와 연관된다.
도 3의 예에서, 병합 모듈(308)은 canMerge 함수(310) 및 AutoMerge 함수(312)를 포함한다. 일부 예에서, 병합 모듈(308)에 의해 수신된 병합 요청은 병합 요청에 포함된 정보를 사용하여 canMerge 함수(310) 및 AutoMerge 함수(312)를 실행함으로써 처리된다. 일부 예에서, canMerge 함수(310) 및 AutoMerge 함수(312)는 병합 요청에서 식별된 제1 스마트 에셋과 연관된 컴퓨터 실행 가능 스마트 계약에 의해 제공된다.
일부 구현에서, canMerge 함수(310)는 병합 요청에서 제공된 제1 스마트 에셋이 병합 요청에서 식별된 제2 노드와 연관된 제2 스마트 에셋과 병합될 수 있는지 여부를 결정한다. 일부 예에서, canMerge 함수(310)는 제2 노드와 연관된 제2 스마트 에셋이 제1 스마트 에셋의 타입 식별자와 동일한 타입 식별자를 포함하고 있는지 여부를 결정함으로써, 제1 스마트 에셋이 제2 노드와 연관된 제2 스마트 에셋과 병합될 수 있는지 여부를 결정한다. 일부 예에서, canMerge 함수(310)는 각각 제1 스마트 에셋의 식별자 및 제2 스마트 에셋의 식별자에 기초하여 제1 스마트 에셋 및 제2 스마트 에셋의 타입 식별자를 결정한다. 일부 구현에서, canMerge 함수(310)는 제2 스마트 에셋이 제1 스마트 에셋과 동일한 타입 식별자를 가질 때 제1 스마트 에셋이 제2 스마트 에셋과 병합될 수 있다고 결정한다.
일부 구현에서, canMerge 함수(310)는 제1 스마트 에셋이 제2 노드와 연관된 제2 스마트 에셋과 병합될 수 없다는 결정에 응답하여 "거짓(FALSE)"을 반환한다. 일부 예에서, canMerge 함수(310)가 병합 요청에 대해 "거짓(FALSE)"을 반환하면, 병합 요청에서 식별된 제1 스마트 에셋은 제2 노드에 자동으로 기록되고 제1 노드로부터 삭제된다. 일부 구현에서, canMerge 함수(310)가 "거짓(FALSE)"을 반환할 때, 제1 스마트 에셋에는 제2 식별자 및 제2 값이 지정된다. 일부 예에서, 제2 값은 제1 스마트 에셋의 원래 값과 동일하다. 일부 예에서, 제2 식별자는 고유한 식별자이다. 일부 예에서, 제2 식별자는 제2 노드에 기록된 제1 스마트 에셋에 지정된 어드레스 정보를 포함한다. 일부 예에서, 제2 식별자 및 제2 값은 제1 스마트 에셋의 기본이 되는 데이터 객체 내의 필드로서 저장된다.
일부 구현에서, canMerge 함수(310)는 제1 스마트 에셋이 제2 노드와 연관된 제2 스마트 에셋과 병합될 수 있다고 결정하는 것에 응답하여 "참(TRUE)"을 반환한다. 일부 구현에서, 병합 요청은 canMerge 함수(310)가 "참(TRUE)"을 반환할 때 AutoMerge 함수(312)에 의해 자동으로 처리된다.
본 개시의 구현에 따르면, AutoMerge 함수(312)는 제2 스마트 에셋을 자동으로 업데이트하고, 업데이트된 제2 스마트 에셋을 제2 노드에 기록하고, 제1 노드로부터 제1 스마트 에셋을 삭제한다. 일부 구현에서, AutoMerge 함수(312)는 제1 스마트 에셋의 특성 및 값을 포함하도록 제2 스마트 에셋을 업데이트한다.
일부 예들에서, AutoMerge 함수(312)에 의해 업데이트된 제2 스마트 에셋에 지정된 값이 수치로서 제공된다. 일부 예에서, 값은 문자열 설명으로서 제공된다. 일부 예에서, 값은 JSON 문자열 설명으로서 제공된다. 일부 예들에서, AutoMerge 함수(312)에 의해 업데이트된 제2 스마트 에셋에 지정된 값은 제1 스마트 에셋의 원래 값과 제2 스마트 에셋의 원래 값의 합과 동일하다. 일부 예들에서, AutoMerge 함수(312)는 각각 제1 스마트 에셋 및 제2 스마트 에셋의 기본이 되는 데이터 객체의 값 필드 내에 저장된 값들에 기초하여 제1 스마트 에셋의 원래 값 및 제2 스마트 에셋의 원래 값을 결정한다.
전송 로직의 실행을 위한 예시적인 의사-코드는 다음과 같이 제공될 수 있다:
Figure 112019041461617-pct00005
canMerge 함수(310)에 대한 예시적인 의사-코드는 다음과 같이 제공될 수 있다:
Figure 112019041461617-pct00006
canMerge 함수(310)에 대한 다른 예시적인 의사-코드는 다음과 같이 제공될 수 있다:
Figure 112019041461617-pct00007
canMerge 함수(310)에 대한 또다른 예시적인 의사-코드는 다음과 같이 제공될 수 있다:
Figure 112019041461617-pct00008
도 4는 본 개시의 구현에 따라 실행될 수 있는 예시적인 프로세스(400)를 나타낸다. 일부 구현에서, 예시적인 프로세스(400)는 하나 이상의 컴퓨팅 디바이스를 사용하여 실행되는 하나 이상의 컴퓨터 실행 가능 프로그램을 사용하여 수행될 수 있다. 예를 들어, 예시적인 프로세스(400)는 블록체인 네트워크 내에서 실행될 수 있다.
전송 요청이 수신된다(402). 예를 들어, 컨소시엄 블록체인 네트워크 내의 노드 간에 스마트 에셋을 전송하라는 요청은 컨소시엄 블록체인 네트워크의 멤버로부터 수신될 수 있다. 일부 예에서, 요청은 블록체인 네트워크의 제1 노드(예를 들어, 송신 노드)의 제1 식별자, 블록체인 네트워크의 제2 노드(예를 들어, 수신 노드)의 제2 식별자, 스마트 에셋의 식별자, 및 값을 포함한다. 일부 구현에서, 스마트 에셋은 다수의 필드를 포함하는 데이터 객체로서 제공된다. 일부 예에서 값은 수치이다. 일부 예에서 값은 문자열 설명이다. 예를 들어, 값은 JSON으로서 제공될 수 있다.
canTransfer 함수가 실행된다(404). canTransfer 함수는 전송 요청 내의 정보를 처리하여 스마트 에셋이 전송될 수 있는지 여부를 결정한다. 일부 예에서, canTransfer 함수는 적어도 부분적으로 스마트 에셋의 식별자에 기초하여 스마트 에셋이 전송될 수 있는지 여부를 결정한다. 일부 예에서, canTransfer 함수는 적어도 부분적으로 스마트 에셋의 타입 식별자에 기초하여 스마트 에셋이 전송될 수 있는지 여부를 결정한다. 일부 예에서 canTransfer 함수는 스마트 에셋의 값이 전송 요청에서 제공된 값보다 작은지 여부를 결정하는 것에 적어도 부분적으로 기초하여 에셋이 전송될 수 있는지 여부를 결정한다. 일부 예에서 canTransfer 함수는 스마트 에셋과 연관된 컴퓨터 실행 가능 스마트 계약에 의해 제공된다.
전송될 스마트 에셋의 능력(capability)이 결정된다(406). 스마트 에셋이 전송 가능하지 않다고 결정되면, 에셋이 전송 가능하지 않다는 표시가 제공된다(408). 일부 예에서 스마트 에셋이 전송 가능하지 않다고 결정하면 canTransfer 함수는 "거짓(FALSE)"을 반환한다. 일부 예에서는 스마트 에셋이 전송 가능하지 않다고 결정되면, 트랜잭션이 종료된다.
스마트 에셋이 전송 가능한 것으로 결정되면, 제1 스마트 에셋 및 제2 스마트 에셋이 생성된다(410). 일부 예에서, 제1 스마트 에셋 및 제2 스마트 에셋은 각각 다수의 필드를 포함하는 데이터 객체로서 제공된다. 일부 예에서, 제1 스마트 에셋 및 제2 스마트 에셋은 전송 요청에서 식별된 스마트 에셋과 동일한 특성을 포함한다. 예를 들어, 제1 스마트 에셋 및 제2 스마트 에셋은 각각 전송 요청에서 식별된 스마트 에셋과 동일한 타입 식별자를 포함할 수 있다.
일부 구현에서, 제1 스마트 에셋에는 제1 식별자 및 제1 값이 지정된다. 일부 예에서 제1 값은 전송 요청에서 식별된 스마트 에셋의 원래 값에서 전송 요청에서 식별된 값을 뺀 값이다. 일부 구현에서, 제2 스마트 에셋에는 전송 요청에서 식별된 제2 식별자 및 값이 지정된다. 일부 예에서, 제1 식별자 및 제2 식별자는 각각 제1 스마트 에셋 및 제2 스마트 에셋에 대한 어드레스 정보를 포함한다.
제1 스마트 에셋은 블록체인 네트워크의 제1 노드에 기록된다(412). 제2 스마트 에셋은 블록체인 네트워크의 제2 노드에 기록된다(414).
전송 요청에서 식별된 스마트 에셋(예를 들어, 제1 및 제2 스마트 에셋이 생성된 스마트 에셋)이 삭제된다(416). 일부 예에서, 스마트 에셋은 컨소시엄 블록체인 네트워크 내의 제1 스마트 에셋 및 제2 스마트 에셋의 성공적인 기록 시에 자동으로 삭제된다.
도 5는 본 개시의 구현에 따라 실행될 수 있는 예시적인 프로세스(500)를 나타낸다. 일부 구현에서, 예시적인 프로세스(500)는 하나 이상의 컴퓨팅 디바이스를 사용하여 실행되는 하나 이상의 컴퓨터 실행 가능 프로그램을 사용하여 수행될 수 있다. 예를 들어, 예시적인 프로세스(500)는 블록체인 네트워크 내에서 실행될 수 있다.
병합 요청이 수신된다(502). 예를 들어, 스마트 에셋이 컨소시엄 블록체인 네트워크의 노드에 기록되고 있을 때 병합 요청이 수신될 수 있다. 일부 예에서, 요청은 제1 노드의 제1 식별자, 제2 노드의 제2 식별자 및 제1 스마트 에셋의 식별자를 포함한다. 일부 예에서, 제1 스마트 에셋은 제1 노드와 연관된다. 일부 예에서, 제1 스마트 에셋은 다수의 필드를 포함하는 기본 데이터 객체를 포함한다.
canMerge 함수가 실행된다(504). canMerge 함수는 병합 요청 내의 정보를 더 처리하여, 병합 요청에서 식별된 제2 노드와 연관된 제2 스마트 에셋과 제1 스마트 에셋이 병합될 수 있는지 여부를 결정한다. 일부 구현에서, canMerge 함수는 제1 스마트 에셋이 제1 스마트 에셋의 식별자 및 제2 스마트 에셋의 식별자에 적어도 부분적으로 기초하여 제2 스마트 에셋과 병합될 수 있는지 여부를 결정한다. 일부 예에서, canMerge 함수는 제1 스마트 에셋의 타입 식별자 및 제2 스마트 에셋의 타입 식별자에 적어도 부분적으로 기초하여 제1 스마트 에셋이 제2 스마트 에셋과 병합될 수 있는지 여부를 결정한다. 일부 예에서, 제2 스마트 에셋은 다수의 필드를 포함하는 기본 데이터 객체를 포함한다.
제2 노드와 연관된 제2 스마트 에셋과 병합될 제1 스마트 에셋의 능력(ability)이 결정된다(506). 일부 예들에서, 제1 스마트 에셋의 타입 식별자가 제2 스마트 에셋의 타입 식별자와 일치하면, 제1 스마트 에셋은 제2 스마트 에셋과 병합될 수 있다고 결정된다.
제1 스마트 에셋이 제2 노드와 연관된 제2 스마트 에셋과 병합될 수 없다고 결정되면, 제1 스마트 에셋은 제2 노드에 자동으로 기록되고(508) 제1 노드로부터 삭제된다(510). 일부 예에서, 제1 스마트 에셋에는 제2 식별자 및 제2 값이 지정된다. 일부 예에서, 제2 값은 제1 스마트 에셋의 원래 값과 동일하다. 일부 예에서, 제2 값은 수치로서 제공된다. 일부 예에서 제2 값은 문자열 설명이다. 예를 들어, 제2 값은 JSON로서 제공될 수 있다. 일부 예에서, 제2 식별자는 제1 스마트 에셋에 대한 어드레스 정보를 포함한다.
제1 스마트 에셋이 제2 노드와 연관된 제2 스마트 에셋과 병합될 수 있다고 결정되면, 제2 스마트 에셋은 자동으로 업데이트된다(512). 일부 예에서, 제2 스마트 에셋은 제1 스마트 에셋의 특성 및 값을 포함하도록 업데이트된다. 일부 예에서, 값은 제1 스마트 에셋의 원래 값과 제2 스마트 에셋의 원래 값의 합과 동일하다. 일부 예에서, 값은 수치로서 제공된다. 일부 예에서 값은 문자열 설명이다. 예를 들어, 값은 JSON으로서 제공될 수 있다.
일부 구현에서, 업데이트된 제2 스마트 에셋은 제2 노드 상에 자동으로 기록된다(514). 제1 스마트 에셋이 삭제된다(516). 일부 예들에서, 제1 스마트 에셋은 업데이트된 제2 스마트 에셋의 제2 노드로의 성공적인 기록시에 자동적으로 삭제된다.
기술된 특징들은 디지털 전자 회로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 장치는 프로그램 가능 프로세서에 의한 실행을 위하여 정보 캐리어에(예를 들어, 머신 판독 가능 저장 디바이스에) 유형으로(tangibly) 구현된 컴퓨터 프로그램 제품으로 구현될 수 있으며; 방법 단계들은 입력 데이터로 동작하고 출력을 생성함으로써 설명된 구현의 기능을 수행하기 위한 명령어들의 프로그램을 실행하는 프로그램 가능 프로세서에 의해 수행될 수 있다. 설명된 특징들은 데이터 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에 데이터 및 명령어들을 전송하고, 이들로부터 데이터 및 명령어들을 수신하도록 결합된 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템 상에서 실행 가능한 하나 이상의 컴퓨터 프로그램에서 유리하게 구현될 수 있다. 컴퓨터 프로그램은 컴퓨터에서 특정 활동을 수행하거나 특정 결과를 가져오기 위하여 직접 또는 간접적으로 사용될 수 있는 명령어들의 세트이다. 컴퓨터 프로그램은 컴파일된 언어나 해석(interpret)된 언어를 포함하여 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브 루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 단위를 포함하는 임의의 형태로 사용될 수 있다.
명령어들의 프로그램의 실행을 위한 적절한 프로세서는 예를 들어 범용 및 특수 목적 마이크로 프로세서와 임의의 종류의 컴퓨터의 단독 프로세서 또는 다수의 프로세서 중 하나를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 요소는 명령어들을 실행하기 위한 프로세서 및 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리를 포함할 수 있다. 일반적으로, 컴퓨터는 또한 데이터 파일을 저장하기 위한 하나 이상의 대용량 저장 디바이스를 포함하거나 또는 그와 통신하도록 동작 가능하게 결합될 수 있다; 그러한 디바이스는 내부 하드 디스크 및 이동식 디스크와 같은 자기 디스크; 광 자기 디스크; 및 광학 디스크를 포함한다. 컴퓨터 프로그램 명령어들 및 데이터를 유형으로 구현하기에 적합한 저장 디바이스는 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 내부 하드 디스크 및 이동식 디스크와 같은 자기 디스크; 광 자기 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리를 포함한다. 프로세서 및 메모리는 주문형 집적 회로(application-specific integrated circuit, ASIC)에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위하여, 특징들은 사용자에게 정보를 디스플레이하기 위한 음극선관(cathode ray tube, CRT) 또는 액정 디스플레이(liquid crystal display, LCD) 모니터와 같은 디스플레이 디바이스 및 키보드, 및 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 디바이스를 갖는 컴퓨터 상에 구현될 수 있다.
특징들은 데이터 서버와 같은 백-엔드 컴포넌트를 포함하거나, 애플리케이션 서버 또는 인터넷 서버와 같은 미들웨어 컴포넌트를 포함하거나, 그래픽 사용자 인터페이스 또는 인터넷 브라우저를 갖는 클라이언트 컴퓨터와 같은 프론트 엔드(front-end) 컴포넌트를 포함하거나, 이들의 임의의 조합을 포함하는 컴퓨터 시스템에서 구현될 수 있다. 시스템의 컴포넌트는 통신 네트워크와 같은 임의의 형태 또는 매체의 디지털 데이터 통신에 의해 연결될 수 있다. 통신 네트워크의 예는, 예를 들어 근거리 통신망(LAN), 광역 통신망(WAN), 및 인터넷을 형성하는 컴퓨터 및 네트워크를 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 설명된 것과 같은 네트워크를 통하여 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
또한, 도면들에 도시된 논리 흐름은 바람직한 결과를 달성하기 위하여 도시된 특정 순서 또는 순차적 순서를 요구하지 않는다. 또한, 설명된 흐름들로부터 다른 단계들이 제공되거나 단계들이 제거될 수 있으며, 다른 컴포넌트들이 설명된 시스템들에 추가되거나 설명된 시스템들로부터 제거될 수 있다. 따라서, 다른 구현들은 다음의 청구항들의 범위 내에 있다.
본 개시의 다수의 구현 예가 설명되었다. 그럼에도 불구하고, 본 개시의 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현들은 다음의 청구항들의 범위 내에 있다.

Claims (27)

  1. 블록체인 네트워크에서 스마트 에셋(smart asset)을 전송(transfer)하기 위한 컴퓨터 구현 방법에 있어서, 상기 방법의 동작을 수행하도록 구성된 비일시적 컴퓨터 판독 가능 저장 매체에 저장된 명령어들이 컴퓨터에 포함되는 하나 이상의 프로세서에 의해 실행되고, 상기 방법은,
    실세계(real-world) 에셋으로부터 블록체인 네트워크 내에 상기 실세계 에셋을 나타내는 스마트 에셋을 생성하는 단계;
    스마트 에셋의 전송 요청을 수신하는 단계 - 상기 전송 요청은, 상기 전송 요청을 송신하는 상기 블록체인 네트워크 내의 제1 노드의 제1 식별자, 상기 전송 요청을 수신하는 상기 블록체인 네트워크 내의 제2 노드의 제2 식별자, 상기 블록체인 네트워크 내의 상기 스마트 에셋의 식별자, 및 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로의 전송을 위한 상기 스마트 에셋의 전송 요청량 값(transfer request value amount)을 포함함 -;
    상기 스마트 에셋의 식별자, 상기 전송 요청량 값, 및 상기 스마트 에셋이 분할될 수 있는 타입인지 여부에 적어도 부분적으로 기초하여, 상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 단계; 및
    상기 스마트 에셋이 전송 가능하다고 결정하는 것에 응답하여,
    상기 스마트 에셋의 분할에 의하여, 상기 스마트 에셋의 제1 스마트 에셋 및 상기 스마트 에셋의 제2 스마트 에셋을 생성하고 - 상기 제1 스마트 에셋에는 상기 제1 스마트 에셋의 식별자, 상기 스마트 에셋의 원래 값으로부터 상기 전송 요청량 값을 뺀 것을 나타내는 제1 스마트 에셋 값, 및 상기 스마트 에셋의 특성(properties)이 지정되고, 상기 제2 스마트 에셋에는 상기 제2 스마트 에셋의 식별자, 상기 전송 요청량 값 및 상기 스마트 에셋의 특성이 지정됨 -;
    상기 제1 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제1 노드에, 상기 제2 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제2 노드에 기록하며;
    상기 제1 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제1 노드에, 상기 제2 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제2 노드에 기록할 시, 상기 블록체인 네트워크 내에서 상기 스마트 에셋을 제거함으로써
    상기 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송하는 단계
    를 포함하는, 스마트 에셋의 전송을 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 단계는, 상기 스마트 에셋과 연관된 컴퓨터 실행 가능 스마트 계약(smart contract)에서 제공된 함수(function)를 실행함으로써 결정되는 것인, 스마트 에셋의 전송을 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 단계는, 상기 스마트 에셋과 연관된 타입 식별자에 적어도 부분적으로 기초하여 결정되는 것인, 스마트 에셋의 전송을 위한 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 단계는, 상기 스마트 에셋의 원래 값이 상기 전송 요청량 값보다 작은지 여부에 적어도 부분적으로 기초하여 결정되는 것인, 스마트 에셋의 전송을 위한 컴퓨터 구현 방법.
  5. 제1항에 있어서,
    상기 전송 요청량 값은 수치 및 문자열 설명(string description) 중 하나로서 제공되는 것인, 스마트 에셋의 전송을 위한 컴퓨터 구현 방법.
  6. 제5항에 있어서,
    상기 문자열 설명은 JSON(Javascript object notation)으로 제공되는 것인, 스마트 에셋의 전송을 위한 컴퓨터 구현 방법.
  7. 삭제
  8. 제1항에 있어서,
    상기 블록체인 네트워크는 컨소시엄 블록체인 네트워크인 것인, 스마트 에셋의 전송을 위한 컴퓨터 구현 방법.
  9. 제1항에 있어서,
    상기 스마트 에셋은 다수의 필드를 갖는 기본(underlying) 데이터 객체에 의해 정의되는 것인, 스마트 에셋의 전송을 위한 컴퓨터 구현 방법.
  10. 하나 이상의 프로세서에 결합되고, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금 블록체인 네트워크에서 스마트 에셋의 전송을 위한 동작들을 수행하게 하는 명령어들이 저장된 비-일시적 컴퓨터 판독 가능 저장 매체에 있어서, 상기 동작들은,
    실세계 에셋으로부터 블록체인 네트워크 내에 상기 실세계 에셋을 나타내는 스마트 에셋을 생성하는 동작;
    스마트 에셋의 전송 요청을 수신하는 동작 - 상기 전송 요청은, 상기 전송 요청을 송신하는 상기 블록체인 네트워크 내의 제1 노드의 제1 식별자, 상기 전송 요청을 수신하는 상기 블록체인 네트워크 내의 제2 노드의 제2 식별자, 상기 블록체인 네트워크 내의 상기 스마트 에셋의 식별자, 및 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로의 전송을 위한 상기 스마트 에셋의 전송 요청량 값을 포함함 -;
    상기 스마트 에셋의 식별자, 상기 전송 요청량 값, 및 상기 스마트 에셋이 분할될 수 있는 타입인지 여부에 적어도 부분적으로 기초하여, 상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 동작; 및
    상기 스마트 에셋이 전송 가능하다고 결정하는 것에 응답하여,
    상기 스마트 에셋의 분할에 의하여, 상기 스마트 에셋의 제1 스마트 에셋 및 상기 스마트 에셋의 제2 스마트 에셋을 생성하고 - 상기 제1 스마트 에셋에는 상기 제1 스마트 에셋의 식별자, 상기 스마트 에셋의 원래 값으로부터 상기 전송 요청량 값을 뺀 것을 나타내는 제1 스마트 에셋 값, 및 상기 스마트 에셋의 특성이 지정되고, 상기 제2 스마트 에셋에는 상기 제2 스마트 에셋의 식별자, 상기 전송 요청량 값 및 상기 스마트 에셋의 특성이 지정됨 -;
    상기 제1 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제1 노드에, 상기 제2 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제2 노드에 기록하며;
    상기 제1 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제1 노드에, 상기 제2 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제2 노드에 기록할 시, 상기 블록체인 네트워크 내에서 상기 스마트 에셋을 제거함으로써
    상기 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송하는 동작
    을 포함하는 것인, 컴퓨터 판독 가능 저장 매체.
  11. 제10항에 있어서,
    상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 동작은, 상기 스마트 에셋과 연관된 컴퓨터 실행 가능 스마트 계약에서 제공된 함수를 실행함으로써 결정되는 것인, 컴퓨터 판독 가능 저장 매체.
  12. 제10항에 있어서,
    상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 동작은, 상기 스마트 에셋과 연관된 타입 식별자에 적어도 부분적으로 기초하여 결정되는 것인, 컴퓨터 판독 가능 저장 매체.
  13. 제10항에 있어서,
    상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 동작은, 상기 스마트 에셋의 원래 값이 상기 전송 요청량 값보다 작은지 여부에 적어도 부분적으로 기초하여 결정되는 것인, 컴퓨터 판독 가능 저장 매체.
  14. 제10항에 있어서,
    상기 전송 요청량 값은 수치 및 문자열 설명 중 하나로서 제공되는 것인, 컴퓨터 판독 가능 저장 매체.
  15. 제14항에 있어서,
    상기 문자열 설명은 JSON(Javascript object notation)으로 제공되는 것인, 컴퓨터 판독 가능 저장 매체.
  16. 삭제
  17. 제10항에 있어서,
    상기 블록체인 네트워크는 컨소시엄 블록체인 네트워크인 것인, 컴퓨터 판독 가능 저장 매체.
  18. 제10항에 있어서,
    상기 스마트 에셋은 다수의 필드를 갖는 기본 데이터 객체에 의해 정의되는 것인, 컴퓨터 판독 가능 저장 매체.
  19. 시스템에 있어서,
    컴퓨팅 디바이스; 및
    상기 컴퓨팅 디바이스에 결합되고, 상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 블록체인 네트워크에서 저장된 스마트 에셋의 전송을 위한 동작들을 수행하게 하는 명령어들이 저장된 컴퓨터 판독 가능 저장 디바이스
    를 포함하고,
    상기 동작들은,
    실세계 에셋으로부터 블록체인 네트워크 내에 상기 실세계 에셋을 나타내는 스마트 에셋을 생성하는 동작;
    스마트 에셋의 전송 요청을 수신하는 동작 - 상기 전송 요청은, 상기 전송 요청을 송신하는 상기 블록체인 네트워크 내의 제1 노드의 제1 식별자, 상기 전송 요청을 수신하는 상기 블록체인 네트워크 내의 제2 노드의 제2 식별자, 상기 블록체인 네트워크 내의 상기 스마트 에셋의 식별자, 및 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로의 전송을 위한 상기 스마트 에셋의 전송 요청량 값을 포함함 -;
    상기 스마트 에셋의 식별자, 상기 전송 요청량 값, 및 상기 스마트 에셋이 분할될 수 있는 타입인지 여부에 적어도 부분적으로 기초하여, 상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 동작; 및
    상기 스마트 에셋이 전송 가능하다고 결정하는 것에 응답하여,
    상기 스마트 에셋의 분할에 의하여, 상기 스마트 에셋의 제1 스마트 에셋 및 상기 스마트 에셋의 제2 스마트 에셋을 생성하고 - 상기 제1 스마트 에셋에는 상기 제1 스마트 에셋의 식별자, 상기 스마트 에셋의 원래 값으로부터 상기 전송 요청량 값을 뺀 것을 나타내는 제1 스마트 에셋 값, 및 상기 스마트 에셋의 특성이 지정되고, 상기 제2 스마트 에셋에는 상기 제2 스마트 에셋의 식별자, 상기 전송 요청량 값 및 상기 스마트 에셋의 특성이 지정됨 -;
    상기 제1 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제1 노드에, 상기 제2 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제2 노드에 기록하며;
    상기 제1 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제1 노드에, 상기 제2 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제2 노드에 기록할 시, 상기 블록체인 네트워크 내에서 상기 스마트 에셋을 제거함으로써
    상기 스마트 에셋을 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송하는 동작
    을 포함하는 것인, 시스템.
  20. 제19항에 있어서,
    상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 동작은, 상기 스마트 에셋과 연관된 컴퓨터 실행 가능 스마트 계약에서 제공된 함수를 실행함으로써 결정되는 것인, 시스템.
  21. 제19항에 있어서,
    상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 동작은, 상기 스마트 에셋과 연관된 타입 식별자에 적어도 부분적으로 기초하여 결정되는 것인, 시스템.
  22. 제19항에 있어서,
    상기 스마트 에셋이 상기 블록체인 네트워크 내의 상기 제1 노드로부터 상기 제2 노드로 전송 가능한지 여부를 결정하는 동작은, 상기 스마트 에셋의 원래 값이 상기 전송 요청량 값보다 작은지 여부에 적어도 부분적으로 기초하여 결정되는 것인, 시스템.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
KR1020197011608A 2018-11-30 2018-11-30 블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼 KR102151896B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/118505 WO2019072285A2 (en) 2018-11-30 2018-11-30 PLATFORM FOR ATOMIC TRANSFER OF INTELLIGENT RESOURCES IN BLOCK CHAIN NETWORKS

Publications (2)

Publication Number Publication Date
KR20200067119A KR20200067119A (ko) 2020-06-11
KR102151896B1 true KR102151896B1 (ko) 2020-09-03

Family

ID=66100010

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197011608A KR102151896B1 (ko) 2018-11-30 2018-11-30 블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼

Country Status (9)

Country Link
US (1) US11037143B2 (ko)
EP (1) EP3552173A4 (ko)
JP (1) JP6804715B2 (ko)
KR (1) KR102151896B1 (ko)
CN (1) CN109937430B (ko)
PH (1) PH12019500874A1 (ko)
SG (1) SG11201903539PA (ko)
TW (1) TW202023230A (ko)
WO (1) WO2019072285A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876947B (zh) * 2018-05-31 2020-07-14 阿里巴巴集团控股有限公司 不停车收费方法及装置、电子设备
CN111984394A (zh) * 2019-05-22 2020-11-24 国家计算机网络与信息安全管理中心 一种网络资产归属判别形成关键属性提取系统
CN114401150B (zh) 2019-09-05 2023-10-20 创新先进技术有限公司 区块链网络中加入节点的方法和区块链系统
CN110730204B (zh) * 2019-09-05 2022-09-02 创新先进技术有限公司 区块链网络中删除节点的方法和区块链系统
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
EP4128107A4 (en) * 2020-03-30 2023-11-15 Hitachi, Ltd. METHOD AND DEVICE FOR MAINTAINING PRIVATE DATA USING A CONSORTIUM BLOCKCHAIN
US11403629B2 (en) * 2020-12-07 2022-08-02 II Thomas T. Meredith Systems and methods thereof for exchanging different digital currencies on different blockchains
US20230236892A1 (en) * 2022-01-25 2023-07-27 Poplar Technologies, Inc. Apparatus for resource enhacement
US20230342774A1 (en) * 2022-03-28 2023-10-26 Guardtime Sa Atomic Multi-Unit Transfer of Single-Instance Data Units in Sharded Blockchain
US20230385822A1 (en) * 2022-05-24 2023-11-30 Mastercard International Incorporated Method and system for processing an asset swap across two blockchains

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106327173A (zh) 2016-08-22 2017-01-11 布比(北京)网络技术有限公司 网络支付方法及装置
CN108416675A (zh) 2018-02-14 2018-08-17 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130246297A1 (en) * 2013-05-01 2013-09-19 Idonate Liquidation, Llc Bid-Based Charitable Impact Statement
US9898782B1 (en) * 2013-06-28 2018-02-20 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US20170200147A1 (en) * 2016-01-08 2017-07-13 Akbar Ali Ansari System and the computer methods of issuing, transferring and manipulating value or gift cards using blockchain technology
US10693658B2 (en) * 2016-02-12 2020-06-23 Visa International Service Association Methods and systems for using digital signatures to create trusted digital asset transfers
CN105956923B (zh) * 2016-04-20 2022-04-29 上海如鸽投资有限公司 资产交易系统以及资产的数字化认证和交易方法
CN105976246A (zh) * 2016-04-29 2016-09-28 北京太云科技有限公司 一种基于区块链的数字资产叠加方法及装置
WO2017218986A1 (en) * 2016-06-16 2017-12-21 The Bank Of New York Mellon Managing verifiable, cryptographically strong transactions
CN105976231A (zh) * 2016-06-24 2016-09-28 深圳前海微众银行股份有限公司 基于区块链智能合约的资产管理方法及节点
CN106780025B (zh) * 2016-11-30 2021-03-02 中国银行股份有限公司 区块链中数字资产的转移方法、装置及系统
KR101964254B1 (ko) * 2017-01-03 2019-04-01 아주대학교산학협력단 블록체인과 dht를 이용한 p2p 거래 방법 및 장치
CN106960388A (zh) * 2017-03-01 2017-07-18 中钞信用卡产业发展有限公司北京智能卡技术研究院 跨区块链的数字资产流转的方法和装置
KR102349401B1 (ko) * 2017-04-05 2022-01-11 삼성에스디에스 주식회사 블록체인 기반의 사용자 정의 화폐 거래 시스템 및 그 동작 방법
CN107392608B (zh) * 2017-07-11 2020-07-07 北京博晨技术有限公司 基于区块链系统的数字资产交易方法及区块链系统
US11257073B2 (en) * 2018-01-31 2022-02-22 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing machine learning models for smart contracts using distributed ledger technologies in a cloud based computing environment
CN108335206B (zh) * 2018-02-14 2020-12-22 创新先进技术有限公司 资产管理方法及装置、电子设备
CN108335207B (zh) * 2018-02-14 2020-08-04 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106327173A (zh) 2016-08-22 2017-01-11 布比(北京)网络技术有限公司 网络支付方法及装置
CN108416675A (zh) 2018-02-14 2018-08-17 阿里巴巴集团控股有限公司 资产管理方法及装置、电子设备

Also Published As

Publication number Publication date
EP3552173A2 (en) 2019-10-16
WO2019072285A2 (en) 2019-04-18
EP3552173A4 (en) 2020-01-15
US20190303927A1 (en) 2019-10-03
WO2019072285A3 (en) 2019-10-03
CN109937430B (zh) 2024-03-08
CN109937430A (zh) 2019-06-25
US11037143B2 (en) 2021-06-15
JP2020507827A (ja) 2020-03-12
TW202023230A (zh) 2020-06-16
JP6804715B2 (ja) 2020-12-23
KR20200067119A (ko) 2020-06-11
SG11201903539PA (en) 2019-05-30
PH12019500874A1 (en) 2019-11-25

Similar Documents

Publication Publication Date Title
KR102151895B1 (ko) 블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼
KR102151896B1 (ko) 블록체인 네트워크 내에서 스마트 에셋의 원자적 전송을 위한 플랫폼
US10594477B2 (en) Blockchain smart contract updates using decentralized decision
US20190278765A1 (en) Shared secret-based blockchain storage
KR102285798B1 (ko) 공유되는 비밀 기반 블록체인 스토리지
US11681992B2 (en) Blockchain-based supply chain payment network
KR102315791B1 (ko) 이진 로그 복제에 기초한 블록체인 데이터 관계 구조화 방식
US11222026B1 (en) Platform for staging transactions
US11966887B1 (en) Bridging network transaction platforms to unify cross-platform transfers
US20240144331A1 (en) Real estate data system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right