KR20230039523A - 블록체인 네트워크 혼잡-적응형 디지털 자산 이벤트 처리용 시스템 및 방법 - Google Patents

블록체인 네트워크 혼잡-적응형 디지털 자산 이벤트 처리용 시스템 및 방법 Download PDF

Info

Publication number
KR20230039523A
KR20230039523A KR1020220104877A KR20220104877A KR20230039523A KR 20230039523 A KR20230039523 A KR 20230039523A KR 1020220104877 A KR1020220104877 A KR 1020220104877A KR 20220104877 A KR20220104877 A KR 20220104877A KR 20230039523 A KR20230039523 A KR 20230039523A
Authority
KR
South Korea
Prior art keywords
blockchain
request
transaction
network
fungible token
Prior art date
Application number
KR1020220104877A
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 쇼피파이 인크.
Publication of KR20230039523A publication Critical patent/KR20230039523A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/466Transaction processing
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • G06F9/4837Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/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/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • 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

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Environmental & Geological Engineering (AREA)

Abstract

디지털 자산의 생성과 이체를 포함한 디지털 자산에 관한 이벤트의 블록체인 네트워크 혼잡-적응 처리를 위한 컴퓨터 구현 방법 및 시스템에 관한 것이다. 혼잡 메트릭을 측정하여 블록체인 네트워크의 현재 혼잡을 결정한다. 제1 임계 수준 미만이면, 계층 1에서의 블록체인 트랜잭션이 수신될 때 이러한 블록체인 트랜잭션을 사용하여 디지털 자산 요청을 구현한다. 메트릭이 제1 임계 수준을 초과하면, 큐 트리거가 검출될 때까지 수신된 요청을 큐잉하고, 이에 따라 큐잉된 요청을 계층 2에서 처리하고 일괄 블록체인 트랜잭션을 사용하여 체인 상에 갱신된 상태를 기록함으로써 두 개 이상의 요청을 구현한다. 메트릭이 제2 임계값 미만으로 떨어지면, 프로세스는 계층 2 일괄 처리를 위한 요청을 큐잉하는 것 대신에 계층 1 블록체인 트랜잭션을 사용하는 것으로 되돌아간다.

Description

블록체인 네트워크 혼잡-적응형 디지털 자산 이벤트 처리용 시스템 및 방법{SYSTEMS AND METHODS FOR BLOCKCHAIN NETWORK CONGESTION-ADAPTIVE DIGITAL ASSET EVENT HANDLING}
본 개시 내용은, 디지털 자산에 관한 것으로서, 특히, 블록체인 네트워크 혼잡-적응형 디지털 자산의 생성 또는 이체를 위한 시스템 및 방법에 관한 것이다.
분산 연산 네트워크는 디지털 자산의 교환을 용이하게 할 수 있다. 특히, 블록체인 실행 플랫폼은 디지털 자산의 생성 및 이체를 처리할 수 있다. 일부 경우에, 디지털 자산은 실제 자산 또는 고유 물품을 나타내거나 이에 해당하는 토큰일 수 있다. 토큰의 소유권 또는 거래는 기본 토큰화된 자산의 소유권 또는 거래에 대한 대리인이 될 수 있다. 일부 경우에는, 자산이 고유하여, 토큰이 대체 불가 토큰이다(즉, 토큰도 고유하다).
현재의 많은 블록체인 네트워크를 사용하는 데 따른 문제들 중 하나는 네트워크가 매우 대중화되어 혼잡해지고 확장에 어려움을 겪을 수 있다는 점이다. 네트워크의 혼잡은 트랜잭션 확인에 긴 지연 시간 및/또는 채굴된 블록에 트랜잭션을 포함시키기 위한 트랜잭션 수수료의 비용 또는 과도한 자원 사용을 초래할 수 있다.
디지털 자산의 생성 또는 이체와 같은 디지털 자산 이벤트를 처리하기 위한 개선된 방법 및 시스템을 제공하는 것이 유리할 것이다.
이에 따라, 다음의 청구범위에서 상세히 기술된 바와 같은 컴퓨터 구현 방법, 연산 시스템, 컴퓨터 프로그램, 및 컴퓨터 판독가능 매체를 제공한다.
실시예를 첨부 도면을 참조하여 단지 예로서 설명한다.
도 1은 예시적인 블록체인 네트워크를 도시한다.
도 2는 대체불가 토큰을 포함하는 이벤트를 처리하기 위한 예시적인 시스템을 도시한다.
도 3은 네트워크 혼잡 메트릭에 기초하여 대체불가 토큰을 포함하는 이벤트를 처리하기 위한 하나의 예시적인 방법을 흐름도 형태로 도시한다.
도 4는 예시적인 실시예에 따른 전자상거래 플랫폼의 블록도이다.
도 5는 예시적인 실시예에 따른 관리자의 홈페이지의 일례이다.
일 양태에서, 본 발명은 컴퓨터 구현 방법을 개시하며, 이 방법은, 제1 대체불가 토큰 트랜잭션 요청(non-fungible token transaction request)을 수신하는 단계; 블록체인 네트워크의 혼잡 측정(congestion measure)에 관한 네트워크 혼잡 메트릭을 획득하는 단계; 네트워크 혼잡 메트릭이 제1 임계 수준을 초과한다고 결정하는 단계; 및 네트워크 혼잡 메트릭이 제1 임계 수준을 초과한다는 결정에 응답하여, 제1 대체불가 토큰 트랜잭션 요청을 큐잉(queue)하는 단계; 및 큐 트리거를 검출하고, 이에 응답하여, 블록체인 네트워크 상에 제1 대체불가 토큰 트랜잭션 요청과 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청을 포함하는 두 개 이상의 큐잉된 대체불가 토큰 트랜잭션 요청을 구현하는 일괄 블록체인 트랜잭션(batch blockchain transaction)을 생성하여 전파하는 단계를 포함할 수 있다.
일부 구현예에서, 추가 대체불가 토큰 트랜잭션 요청은, 제1 대체불가 토큰 트랜잭션 요청 후에 수신되고 제1 대체불가 토큰 트랜잭션 요청을 포함하는 큐에 첨부된다.
일부 구현예에서, 네트워크 혼잡 메트릭은, 블록체인 네트워크 상의 확인되지 않은 트랜잭션의 수, 블록체인 네트워크 상의 새로운 트랜잭션의 수신 비율, 블록체인 네트워크 상의 확인되지 않은 트랜잭션의 평균 연령, 일정 기간 동안 확인되지 않은 트랜잭션의 수의 변화율, 연산 작업당 비용 측정, 또는 트랜잭션 수수료 중 하나 이상에 기초한다.
일부 구현예에서, 큐 트리거를 검출하는 단계는, 제1 대체불가 토큰 트랜잭션 요청의 수신 이후로 경과된 시간이 최대 시간을 초과하였다고 결정하는 단계, 큐 내의 요청의 수가 최대 수와 일치하거나 초과한다고 결정하는 단계, 또는 네트워크 혼잡 메트릭이 제2 임계 수준 미만으로 떨어졌다고 결정하는 단계 중 하나 이상을 포함한다. 일부 경우에, 제2 임계 수준은 제1 임계 수준과 일치한다.
일부 구현예에서, 큐잉하는 단계는, 제1 대체불가 토큰 트랜잭션 요청으로부터의 데이터의 적어도 일부를 제1 대체불가 토큰 트랜잭션 요청을 구현하는 블록체인 트랜잭션을 생성하기에 충분한 메모리에 저장하는 단계를 포함한다.
일부 구현예에서, 일괄 블록체인 트랜잭션은, 일괄 처리 기능을 참조하고, 두 개 이상의 대체불가 토큰 트랜잭션 요청의 구현을 반영하는 갱신된 NFT 상태를 제공한다.
일부 구현예에서, 제1 대체불가 토큰 트랜잭션 요청은 민팅(minting) 요청이고 수신인 어드레스를 포함한다. 일부 경우에, 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청은 추가 민팅 요청이고 각 수신인 어드레스를 포함한다.
일부 구현예에서, 큐잉된 대체불가 토큰 트랜잭션 요청은 이전에 민팅된 토큰에 관한 적어도 하나의 이체 요청을 포함하고, 적어도 하나의 이체 요청은 이체수신인(transferee) 어드레스와 디지털 서명을 포함한다.
일부 구현예에서, 방법은, 일괄 블록체인 트랜잭션을 생성하여 전파하는 단계 후에, 제2 대체불가 토큰 트랜잭션 요청을 수신하는 단계; 블록체인 네트워크의 혼잡 측정에 관한 갱신된 네트워크 혼잡 메트릭을 획득하는 단계; 갱신된 네트워크 혼잡 메트릭이 제1 임계 수준 미만이라고 결정하는 단계; 및 갱신된 네트워크 혼잡 메트릭이 제1 임계 수준 미만이라는 결정에 응답하여, 큐잉 없이 블록체인 네트워크 상에 단일 블록체인 트랜잭션을 생성하고 전송하여 제2 대체불가 토큰 트랜잭션 요청만을 구현하는 단계를 더 포함할 수 있다.
다른 일 양태에서, 본원은 프로세서와 메모리를 포함하는 연산 시스템을 설명한다. 메모리는 컴퓨터 실행가능 명령어를 저장할 수 있고, 컴퓨터 실행가능 명령어는, 실행되는 경우, 프로세서가 본원에 설명된 방법들 중 하나 이상의 방법의 동작을 실행하게 할 수 있다.
또 다른 일 양태에서, 본원은 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 매체를 설명하며, 컴퓨터 실행가능 명령어는, 프로세서에 의해 실행되는 경우, 프로세서가 본원에 설명된 방법들 중 하나 이상의 방법의 동작을 실행하게 한다. 컴퓨터 판독가능 매체는 비일시적일 수 있다.
본 개시 내용의 다른 예시적인 실시예들은 도면과 함께 다음의 발명의 설명의 검토로부터 통상의 기술자에게 명백할 것이다.
본원에서, "및/또는"이라는 용어는, 나열된 요소들 중 임의의 하나만, 임의의 하위 조합, 또는 모든 요소를 포함하며 추가 요소를 반드시 배제하는 것이 아니라 나열된 요소들의 모든 가능한 조합과 하위 조합을 포함하도록 의도된 것이다.
본원에서, "...중 적어도 하나"라는 문구는, 나열된 요소들 중 임의의 하나만, 임의의 하위 조합, 또는 모든 요소를 포함하며 추가 요소를 반드시 배제하지 않고 모든 요소를 반드시 필요로 하지도 않으며 나열된 요소들 중 하나 이상을 포함하도록 의도된 것이다.
본원에서, "전자 상거래 플랫폼"이라는 용어는, 상업적 트랜잭션, 즉, 컴퓨터 네트워크(예를 들어, 인터넷)를 통한 구매 활동과 판매 활동을 용이하게 하는 컴퓨터화된 시스템(또는 서비스, 플랫폼 등)을 광범위하게 의미한다. 전자 상거래 플랫폼은, 예를 들어, 독립 온라인 상점, 소셜 네트워크, 소셜 미디어 플랫폼 등일 수 있다. 고객은 전자 상거래 플랫폼을 통해 트랜잭션 및 연관된 지불 요청을 개시할 수 있으며, 전자 상거래 플랫폼은 트랜잭션/지불 처리 구성요소를 갖출 수 있고 또는 이러한 처리 활동을 하나 이상의 제삼자 서비스에 위임할 수 있다. 전자 상거래 플랫폼은 제품이 판매될 수 있는 플랫폼을 나타내는 하나 이상의 추가 판매 채널을 연결함으로써 확장(extendible/extensible)될 수 있다. 특히, 판매 채널 자체가 Facebook ShopsTM, AmazonTM 등과 같은 전자 상거래 플랫폼일 수 있다.
본원에서, "블록체인"이라는 용어는 모든 형태의 전자 원장, 컴퓨터 기반 원장, 분산 원장을 포함하는 데 사용된다. 이들 원장은, 블록체인 및 트랜잭션 체인 기술, 허가 및 비허가 원장, 공유 원장, 및 이의 변형을 포함하지만 이에 제한되지 않다.
블록체인은, 트랜잭션들로 구성된 블록들로 구성된 컴퓨터 기반의 비집중식 분산형 시스템으로서 구현되는 합의 기반 전자 원장이다. 각 트랜잭션은 일부 데이터 또는 상태를 인코딩하는 데이터 구조이다. 많은 경우에, 트랜잭션에 기록된 데이터는, 블록체인 시스템의 참여자들 간의 디지털 자산의 제어 이체를 포함하며, 하나 이상의 입력과 하나 이상의 출력을 포함한다. 일부 경우에, 트랜잭션은 블록체인 상의 다른 트랜잭션에 기록된 코드를 호출할 수 있다. 추가 트랜잭션에 의해 호출되어 참조 및 실행될 수 있는 해당 코드를 "스마트 계약"이라고 할 수 있다.
블록체인의 각 블록은 이전 블록의 해시를 포함하므로, 블록들이 함께 연결되어 시작 이후 블록체인에 기입된 모든 트랜잭션의 영구적이고 변경 불가능한 기록을 생성한다. 트랜잭션은 자신의 입력 및 출력에 임베딩(embed)된 스크립트(script)라고 하는 작은 프로그램을 포함할 수 있으며, 이 프로그램은 트랜잭션의 출력에 액세스할 수 있는 방법과 사람을 특정한다.
새로운 트랜잭션을 수신하는 네트워크 노드는, 해당 트랜잭션을 네트워크의 다른 노드로 푸시하려 할 것이다(즉, 블록체인 네트워크 상에서 트랜잭션을 전파하려 함). 새로운 트랜잭션을 다른 노드로 전송하기 전에, 새로운 트랜잭션의 "유효성을 확인"(validate)한다. 즉, 적용가능한 블록체인 프로토콜에 따라 적절한 트랜잭션에 대한 기본 요건을 충족하여 네트워크에 무효 트랜잭션들이 범람하는 것을 확실히 피하기 위해 트랜잭션을 일련의 기준에 대해 체크한다.
트랜잭션을 블록체인에 기입하기 위해, 트랜잭션은 트랜잭션들을 수집하여 블록들로 형성하도록 설계된 노드("채굴자" 또는 "채굴 노드")에 의해 블록에 통합된다. 이어서, 채굴자는 노드에 관하여 "작업 증명"(proof of work)을 완료하려 한다. 일부 경우에, 블록체인은 "지분 증명"(proof of stake) 또는 다른 채굴 메커니즘에 의존할 수 있다. 블록체인 네트워크 전체에 걸친 작업 증명 채굴자들은, 트랜잭션들의 블록을 가장 먼저 조립하고 해당 블록에 대한 연관된 작업 증명을 완료하기 위해 경쟁한다. 성공한 채굴자는 확인된 블록을 블록체인에 추가하고, 블록체인의 사본을 유지하는 다른 노드가 자신의 기록을 갱신할 수 있도록 블록이 네트워크를 통해 전파된다. 블록을 수신하는 노드도, 블록이 프로토콜의 공식 요건을 준수한다는 점을 확실히 하도록 블록과 해당 블록의 모든 트랜잭션의 "유효성을 확인"한다.
"디지털 자산"은, 디지털 포맷이고 사용 권한이 있는 자산을 의미한다. 특히, 디지털 자산은 독립적이고 고유하게 식별 가능하며 정의된 값 또는 사용 능력에 연관된다. 디지털 자산의 예는, 특히, 디지털 문서, 멀티미디어 파일(예를 들어, 사진, 시청각 미디어, 애니메이션 등), 전자 메일, 웹사이트, 암호화폐, 디지털 지갑, 및 자산 기반 토큰을 포함한다.
블록체인 기술은 시장에서 새로운 효율성을 창출했으며 종종 디지털 자산을 교환하는 데 선호되는 매체이다. 블록체인은, 당사자들이 집중식 또는 중개 엔티티를 포함할 필요 없이 소유권, 진본성, 및 트랜잭션 이력과 같은 디지털 자산의 소정의 양태를 명확하게 증명하게 할 수 있다. 블록체인은 고유한 보안 품질을 가진 데이터 구조를 생성한다. 암호화, 비집중화, 및 합의 메커니즘을 결합한 블록체인 기술은, 제삼자 중개자를 신뢰할 필요 없이 블록체인 실행 플랫폼에서 수행되는 트랜잭션의 신뢰를 보장할 수 있다.
소프트웨어 애플리케이션과 블록체인 기반 자산 공간의 급속한 성장은 여러 다양한 유형의 디지털 자산을 발생시켰다. 많은 관심을 받아온 디지털 자산 클래스의 일례는 NFT(Non-Fungible Token; 대체불가 토큰)가 있다. NFT는 블록체인 기반의 진본성, 소유권, 및 양도성 기능을 갖춘 고유한 디지털 자산이다. 보다 구체적으로, NFT는 디지털 자산이 고유함을 인증하는 블록체인 상에 저장된 데이터의 단위이다. NFT는, 디지털 아트, 수집품, 음악, 디지털 영화, 게임 등을 포함하지만 이에 제한되지 않는 물리적 또는 디지털의 광범위한 자산을 나타낼 수 있다. NFT는 할당된 임의의 디지털 자산에 대한 디지털 소유권 인증서 역할을 한다. NFT의 주요 기능은 상호 교환될 수 없다는 점이며, 각 NFT에는 다른 임의의 NFT와 구별될 수 있도록 고유한 식별 코드와 메타데이터가 있다. NFT의 고유한 아이덴티티와 소유권은 블록체인 원장을 사용하여 검증될 수 있다.
이더리움과 같은 블록체인 네트워크에는, 개발자가 NFT를 배포하게 할 수 있으며 교환 서비스와 지갑 서비스를 포함하는 더 넓은 생태계와 호환될 수 있게 하는 토큰 표준이 있다. NFT는 온체인 또는 오프체인 트랜잭션에 의해 매매될 수 있다.
NFT와 같은 디지털 자산을 생성하기 위한 스마트 계약은 블록체인(예를 들어, 이더리움 블록체인) 상에 배치될 수 있다. 스마트 계약은 코드를 포함할 수 있고, 이 코드는, 실행될 때, 고유 식별자를 갖는 NFT를 생성한다. 이를 통상적으로 NFT "민팅"이라고 한다. NFT 생성 이벤트 및 이의 고유 ID는 블록체인 상에 기록될 수 있다. 스마트 계약 코드는 여러 기능들 중에서도 특히 이체 기능을 추가로 제공할 수 있다. NFT는 계정(예를 들어, 어드레스) 간에 이체될 수 있으며, 소유권 변경 이벤트는 불변 원장에 기록된다. 많은 구현예에서, 전체 가상 기계(예를 들어, 이더리움 가상 기계)의 상태를 보완하기 위해, 스마트 계약은 NFT 민팅 및 소유권의 상태와 이력을 반영하는 NFT 원장 또는 상태를 유지하도록 구성된다. 이는 본원에서 "NFT 상태" 또는 NFT 원장"이라고 칭할 수 있다. 일부 예에서, NFT는 대체불가 토큰에 관한 ERC(Ethereum Request for Comment) 721 표준을 준수하는 스마트 계약을 사용하여 구현될 수 있다. 일부 예에서, NFT는 다중 토큰 민팅에 관한 ERC-1155 표준을 준수하는 스마트 계약을 사용하여 구현될 수 있다. 다른 일부 예에서, NFT는 다른 표준을 준수하는 스마트 계약을 사용하여 구현될 수 있다.
현재의 많은 블록체인 프로토콜의 문제점들 중 하나는, 이들의 인기가 높아짐에 따라 네트워크 정체가 대응하여 증가하고 그 결과로 트랜잭션 비용이 증가한다는 점이다. 비트코인 네트워크에서, 채굴된 블록에 트랜잭션을 포함시키는 비용을 "트랜잭션 수수료"라고 한다. 이더리움 네트워크에서, 채굴된 블록에 트랜잭션을 포함시키는 비용은 트랜잭션 수수료와 "가스"(gas) 비용을 모두 포함할 수 있고, 가스 비용은 트랜잭션에 의해 요구되는 코드 작업의 수 및/또는 복잡성에 기인하는 비용을 의미한다. 예를 들어, 트랜잭션 이벤트가 스마트 계약의 특정 부분을 콜하는 경우, 가스 가격은 스마트 계약의 해당 부분을 실행하는 이더리움 가상 기계와 관련된 연산 작업의 수(또는 복잡성)에 의존할 수 있다.
혼잡 및 비용 문제는 트랜잭션을 실행하거나 온체인에 기록하는 데 상당한 지연을 초래할 수 있다. 채굴된 블록에 트랜잭션을 더 빨리 포함하려는 경쟁으로 인해, 채굴자들은 더 높은 수수료와 채굴자에게 더 큰 잠재적 수익을 제공하는 보류 중인 확인되지 않은 트랜잭션만을 선택하게 된다.
일부 블록체인 네트워크는, 이벤트 또는 트랜잭션이 실제 블록체인에 대한 상태의 주기적 또는 비정기적 조정 및 기록으로 수행되는 네트워크 또는 오프체인 도구를 생성하거나 배치함으로써 비용 및 혼잡 문제를 해결하려 하였다. 이러한 추가 네트워크를 "계층 2" 프로토콜이라고 할 수 있는 반면, 기본 블록체인 프로토콜/네트워크를 "계층 1" 프로토콜이라고 할 수 있다. 비트코인 맥락의 일례는 라이트닝 네트워크(Lightning Network)이다. 혼잡 및 비용에 대한 계층 2 해결책은, 계층 1 네트워크로부터 대량의 트랜잭션 및 이벤트를 제거하여 더 높은 비용의 계층 1 네트워크가 계정의 주기적 상태를 기록하는 데 가끔씩만 사용되도록 한다. 이는 모든 트랜잭션이 분산형 불변 원장 상에 기록되기 전에 채굴자에 의해 유효성이 확인되고 검증되는 것을 보장하는 핵심 기능이 없기 때문에 계층 2 네트워크가 덜 안전하거나 신뢰할 수 없다는 몇 가지 단점이 있다. 채굴자의 작업은 가끔씩 상태를 기록할 때만 발생한다. 또한, 계층 1에서 더 높은 비용 트랜잭션이 발생하기를 기다리는 데 내재된 지연만큼 길거나 더 긴 계층 1 기록들 사이의 지연이 있을 수 있다. 이에 따라, 계층 2는, 계층 1에서 각 이벤트 또는 트랜잭션을 기록하는 비용을 줄이는 데 도움이 될 수 있지만, 응용분야 및 구현예에 따라 블록체인 기술을 사용하는 것의 일부 이점을 줄이거나 훼손할 수 있다.
특히 NFT와 관련하여, 네트워크 혼잡, 혼잡 의존적 자원 사용, 및/또는 네트워크 지연을 감소시킬 잠재력이 있는 민팅과 이체를 가능하게 하는 방법 및 시스템을 제공하는 것이 유리할 것이다.
먼저, 본원에서 블록체인 네트워크(210)라고 지칭될 수 있는 블록체인에 연관된 예시적인 네트워크를 블록도 형태로 도시하는 도 1을 참조한다. 블록체인 네트워크(210)는 초대 또는 다른 회원의 동의 없이 누구나 가입할 수 있는 P2P 개방형 멤버십 네트워크이다. 블록체인 네트워크(210)가 동작하는 블록체인 프로토콜의 인스턴스를 실행하는 분산형 전자 장치는 블록체인 네트워크(210)에 참여할 수 있다. 이러한 분산형 전자 장치는 노드(202)라고 지칭될 수 있다. 예를 들어, 블록체인 프로토콜은 이더리움, 비트코인, 또는 다른 블록체인 프로토콜일 수 있다.
블록체인 프로토콜을 실행하고 블록체인 네트워크(201)의 노드(202)를 형성하는 전자 장치는, 예를 들어, 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 서버와 같은 컴퓨터, 스마트폰과 같은 모바일 장치, 스마트 워치와 같은 웨어러블 컴퓨터 또는 기타 전자 장치를 포함하는 다양한 유형일 수 있다.
블록체인 네트워크(201)의 노드들(202)은 유선 및 무선 통신 기술을 포함할 수 있는 적절한 통신 기술을 사용하여 서로 결합된다. 많은 경우에, 블록체인 네트워크(201)는 인터넷을 통해 적어도 부분적으로 구현되고, 노드들(202) 중 일부는 지리적으로 분산된 위치에 위치할 수 있다.
노드(202)는 블록들로 그룹화된 블록체인 상의 모든 트랜잭션의 글로벌 원장을 유지하며, 각 블록은 체인의 이전 블록의 해시를 포함한다. 글로벌 원장은 분산형 원장이며, 각 노드(202)는 글로벌 원장의 전체 사본 또는 부분 사본을 저장할 수 있다. 네트워크 상에서 전파되는 트랜잭션은 글로벌 원장의 유효성이 유지되도록 채굴된 블록에 포함되기 전에 다른 노드(202)에 의해 검증된다. 해당 기술 분야의 통상의 기술자는, 이더리움 프로토콜을 사용하는 것과 같이 블록체인 네트워크를 구현하고 운영하는 세부 사항을 이해할 것이다.
각 트랜잭션은 통상적으로 하나 이상의 입력과 하나 이상의 출력을 갖는다. 스크립트는 트랜잭션의 출력을 사용하거나 이체할 수 있는 방법과 사람을 특정하는 입력 및 출력에 임베딩될 수 있다. 트랜잭션의 출력은, 값(또는 디지털 자산)이 트랜잭션의 결과로서 할당되는 어드레스일 수 있다. 일부 구현예에서, 그 값은, 이어서, 예를 들어, 사용되지 않은 트랜잭션 출력(UTXO)으로서 해당 출력 어드레스에 연관된다. 이어서, 후속 트랜잭션은 해당 값이나 자산을 이체하거나 사용하기 위해 해당 어드레스를 입력으로서 참조할 수 있다. 이더리움과 같은 일부 경우에는, 스마트 계약 형태의 코드가, 블록체인 상에 배포될 수 있으며, 이후 트랜잭션에 의해 콜되거나 참조되어 네트워크가 해당 코드를 실행할 수 있다. 이러한 방식으로, 트랜잭션은, 네트워크가 NFT 생성(민팅) 또는 NFT를 한 소유자 어드레스로부터 새로운 소유자 어드레스로 이체하는 것의 유효성을 확인하고 실행하는 것과 같은 소정의 기능을 수행하게 할 수 있다.
노드(202)는, 네트워크 라우팅 내지 지갑 서비스에 이르는 여러 다양한 기능을 수행하여 강력하고 안전한 비집중식 공개 원장을 유지할 수 있다. 일부 구현예에서, "전체 노드"는 블록체인의 완전한 최신 사본을 포함하므로, 공개 원장 상의 (사용된 또는 사용되지 않은) 모든 트랜잭션을 검증할 수 있다. "경량 노드"(비트코인에서 때로는 SPV(simplified payment verification)라고도 함)는, 블록체인의 사본을 포함하지 않지만, Merkle 증명을 사용함으로써 트랜잭션의 유효성을 확인할 수 있고 특정 블록에 포함된 트랜잭션을 확인할 수 있다. 일부 경우에, 경량 노드는 블록 헤더만을 다운로드하고 각 블록 내의 트랜잭션은 다운로드하지 않는다. "채굴 노드"들은, 작업 증명(또는 일부 경우에, 지분 증명) 활동에 참여하여 후보 블록의 유효성을 확인하려 경쟁하고 네트워크 상에서 해결책을 전파하여, 블록체인을 구축한다. 노드들(202)은 TCP/IP(전송 제어 프로토콜)와 같은 연결 지향 프로토콜을 사용하여 서로 통신할 수 있다.
도 2는 소정의 개시된 실시예에 따른 예시적인 연산 환경(200)을 도시한다. 도 2에 도시된 바와 같이, 연산 환경(200)은, 전자상거래 플랫폼(105), 복수의 사용자 장치(230), 및 연산 환경(200)의 구성요소들 중 하나 이상을 연결하는 통신 네트워크(125)를 포함할 수 있다. 통신 네트워크(125)는 인터넷을 포함하는 하나 이상의 유선 또는 무선 네트워크를 포함할 수 있다.
예시된 바와 같이, 사용자 장치(230) 및 전자상거래 플랫폼(105)은 통신 네트워크(125)를 통해 통신할 수 있다. 적어도 일부 실시예에서, 사용자 장치들(230) 각각은 연산 장치일 수 있다. 사용자 장치(230)는, 예를 들어, 스마트폰과 같은 모바일 통신 장치, 태블릿 컴퓨터, 웨어러블 컴퓨터(예를 들어, 머리 장착 디스플레이 또는 스마트워치), 랩톱 또는 데스크톱 컴퓨터, 또는 다른 유형의 연산 장치를 포함하는 다양한 형태를 취할 수 있다.
하나 이상의 사용자 장치(230)는, 전자상거래 플랫폼(105)을 통해 대중에게 제공하고자 하는 디지털 자산의 생성자 또는 판매자에 연관될 수 있다. 하나 이상의 사용자 장치(230)는 디지털 자산의 구매자에 연관될 수 있다. 특히, 하나 이상의 사용자 장치(230)는 전자상거래 플랫폼(105)을 통해 디지털 자산을 제공하는 판매자의 고객에 연관될 수 있다. 적어도 일부 실시예에서, 하나 이상의 사용자 장치(230)는 지갑 애플리케이션에 상주할 수 있다. 지갑 애플리케이션은 독립형 모바일 애플리케이션, 웹 브라우저를 통해 액세스할 수 있는 웹 애플리케이션, 또는 데스크톱 애플리케이션일 수 있다. 지갑 애플리케이션은 판매자 및/또는 구매자가 계정과 상호작용할 수 있게 하는 애플리케이션일 수 있다. 계정은 전자상거래 플랫폼(105)의 계정 및/또는 블록체인 네트워크 계정일 수 있다. 예를 들어, 지갑 애플리케이션은, 구매자가 잔액 및 트랜잭션 이력을 보게 하고, 트랜잭션을 전송하게 하고, 정보를 암호화하고/암호화하거나 서명하게 하고, 다른 애플리케이션에 연결하게 할 수 있다. 지갑 애플리케이션은, 암호화폐 트랜잭션을 위한 키(예를 들어, 공개 키 및/또는 개인 키) 및 구매자에 연관된 디지털 자산(예를 들어, NFT와 같은 토큰)과 같은 다양한 유형의 데이터를 저장할 수 있다.
적어도 일부 실시예에서, 전자상거래 플랫폼(105)은 전자상거래 플랫폼 상에서 매매되는 디지털 자산을 이체하기 위한 처리 시설을 제공할 수 있다. 보다 구체적으로, 전자상거래 플랫폼(105)의 구성요소들은 블록체인 네트워크를 사용하여 수행되는 디지털 자산의 생성 및 이체를 제어하도록 구성될 수 있다.
전자상거래 플랫폼(105)은 상거래 관리 엔진(136), 디지털 자산 요청 제어기(210), 및 데이터 시설(134)을 포함한다. 상거래 관리 엔진(136)은 전자상거래 플랫폼(105)에 연관된 전자상거래 계정과 관련하여 다양한 작업을 처리하도록 구성될 수 있다. 예를 들어, 상거래 관리 엔진(136)은, 다양한 엔티티(예를 들어, 판매자, 고객 등)에 대한 전자상거래 계정 정보 및 선택한 전자상거래 계정에 대한 트랜잭션 이벤트 데이터, 브라우징 이력 데이터 등과 같은 이력 계정 데이터를 검색하도록 구성될 수 있다. 특히, 상거래 관리 엔진(136)은 전자상거래 플랫폼(105)에 연관된 구매자 및/또는 판매자의 전자상거래 계정에 대한 계정 정보를 획득할 수 있다.
일부 경우에, 전자상거래 플랫폼(105)은, 판매자가 가상 상점 또는 다른 가상 환경 또는 시장에서 다양한 제품 또는 서비스를 고객이 구매할 수 있게 하는 일반화된 전자상거래 서비스를 제공할 수 있다. 이 예에서, 사용가능한 제품들 중 하나는 NFT와 같은 디지털 자산일 수 있다. NFT는 블록체인에 배포되고 기록된 스마트 계약 코드를 사용하여 생성될 수 있다. 스마트 계약 코드는, 생성된 NFT를 현재 소유자 어드레스로부터 새로운 소유자 어드레스로 이체하기 위한 실행가능한 기능을 더 포함할 수 있다.
연산 환경(200)은 블록체인 네트워크(201)를 더 포함할 수 있으며, 블록체인 네트워크는 통신 네트워크(125) 내에 그리고 통신 네트워크(125)의 일부로서 배치된 것으로 도시된다. 일부 경우에, 전자상거래 플랫폼(105)은 블록체인 네트워크(201)의 노드들(202) 중 하나로서 기능할 수 있다. 일부 경우에, 전자상거래 플랫폼(105)은, 노드들(202) 중 하나로서 기능하지 않을 수 있고, 블록체인 네트워크(201)의 노드들(202) 중 하나 이상을 통해 트랜잭션과 같은 블록체인 관련 데이터를 송수신할 수 있다. 전자상거래 플랫폼(105)은, 블록체인 데이터, 메시징, 및 명령어를 교환하기 위해 하나 이상의 노드(202)와 안전하게 통신하도록 다양한 API 또는 다른 기능을 사용할 수 있다.
디지털 자산 요청 제어기(210)는 프로세서 실행가능 명령어를 포함하는 소프트웨어 구현 모듈일 수 있고, 프로세서 실행가능 명령어는, 전자상거래 플랫폼(105)의 하나 이상의 프로세서에 의해 실행되는 경우, 전자상거래 플랫폼(105)이 본원에 설명된 프로세스와 기능 중 일부를 수행하게 한다. 일부 실시예에서, 디지털 자산 요청 제어기(210)는 전자상거래 플랫폼(105)의 외부에 있는 서비스로서 제공될 수 있다. 특히, 전자상거래 플랫폼(105)은, 전자상거래 플랫폼(105)과는 독립적이며 전자상거래 플랫폼(105)에 연관된 엔티티들 간의 디지털 자산 생성, 판매 또는 이체에 관련된 요청의 처리를 용이하게 하는 서비스로서 디지털 자산 요청 제어기(210)를 참여시킬 수 있다. 보다 광범위하게, 일부 구현예에서, 본원의 주제는 특정 전자상거래 플랫폼과는 독립적인 방식으로 사용될 수 있다. 예를 들어, 디지털 자산 요청 제어기(210)는 임의의 전자상거래 플랫폼과는 독립적으로 구현 및 배포될 수 있다.
디지털 자산 요청 제어기(210)는 블록체인 네트워크(201)에 연관된 디지털 자산을 생성 및/또는 이체하기 위한 요청을 수신하도록 구성된다. 아래에서 더 자세히 설명되는 바와 같이, 전자상거래 플랫폼(105)은, 디지털 자산의 블록체인 기반 생성 및 판매자와 고객 간 및/또는 고객들 간의 디지털 자산의 이체를 용이하게 하도록 구성될 수 있다. 특히, 디지털 자산 이체 관리 엔진(210)은, 전자상거래 플랫폼(105)이 블록체인 네트워크를 사용하여 디지털 자산의 이체를 가능하게 하는 다양한 기능을 수행하게 할 수 있다.
도 2의 디지털 자산 요청 제어기(210)는 전자상거래 플랫폼(105)의 별개의 구성요소로서 도시되어 있지만, 이는 일례일 뿐이다. 엔진은, 또한 또는 대신에 전자상거래 플랫폼(105)의 내부 또는 외부에 있는 다른 구성요소에 의해 제공될 수 있다. 일부 실시예에서, 디지털 자산 요청 제어기(210)의 기능은 상거래 관리 엔진(136) 내에서 구현될 수 있다. 일부 구현예에서, 디지털 자산 이체 관리 엔진(210)은, 전자상거래 플랫폼의 핵심 기능으로서 또는 전자상거래 플랫폼에 의해 지원되거나 전자상거래 플랫폼과 통신하는 애플리케이션 또는 서비스로서 전자상거래 플랫폼에 의해 적어도 부분적으로 제공될 수 있다. 대안으로, 디지털 자산 이체 관리 엔진(210)은 고객 장치 또는 판매자 장치와 같은 클라이언트에 대한 독립형 서비스로서 구현될 수 있다. 또한, 이러한 엔진의 적어도 일부는 판매자 장치 및/또는 고객 장치에서 구현될 수 있다. 예를 들어, 고객 장치는 엔진을 소프트웨어 애플리케이션으로서 로컬로 저장하고 실행할 수 있다.
데이터 시설(134)은, 전자상거래 플랫폼(105)과 판매자 및 고객의 상호작용에 기초하여 전자상거래 플랫폼(105)에 의해 수집된 데이터를 저장할 수 있다. 예를 들어, 판매자는 온라인 판매 활동을 통해 데이터를 제공한다. 판매자에 대한 판매자 데이터의 예는, 판매자 식별 정보, 판매용으로 제공되는 제품(예를 들어, 디지털 자산)에 대한 제품 데이터, 온라인 상점 설정, 판매 활동의 지리적 영역, 이력 판매 데이터, 및 재고 위치를 포함하며, 이에 제한되지 않는다. 고객 데이터, 또는 전자상거래 플랫폼(105)과 고객 및 잠재적 구매자의 상호작용에 기초한 데이터도 데이터 시설(134)에 수집 및 저장될 수 있다. 이러한 고객 데이터는 고객 및/또는 잠재적 구매자에 연관된 고객 장치를 통해 수신된 입력에 기초하여 획득될 수 있다. 예를 들어, 전자상거래 플랫폼(105) 상의 고객에 의한 구매 트랜잭션 이벤트의 세부사항을 포함하는 이력 트랜잭션 이벤트 데이터가 기록될 수 있고, 이러한 트랜잭션 이벤트 데이터는 고객 데이터로서 간주될 수 있다. 이러한 트랜잭션 이벤트 데이터는, 특히, 제품 식별자, 구매 날짜/시각, 최종 판매 가격, (고객의 지리적 영역을 포함한) 구매자 정보, 및 결제 방법 세부 사항을 나타낼 수 있다. 판매자 및 고객(또는 잠재적 구매자)에 의한 전자상거래 플랫폼(105)의 사용과 관련하여 다른 데이터가 수집되어 데이터 시설(134)에 저장될 수 있다.
데이터 시설(134)은 전자상거래 플랫폼(105)의 고객에 대한 고객 선호도 데이터를 포함할 수 있다. 예를 들어, 데이터 시설(134)은 전자상거래 플랫폼(105)에 연관된 계정을 가진 각 고객에 대한 계정 정보, 주문 이력, 브라우징 이력 등을 저장할 수 있다. 데이터 시설(134)은 복수의 전자상거래 계정에 대하여 하나 이상의 가상 쇼핑 카트에 대한 위시 리스트 데이터 및 카트 콘텐츠 데이터를 추가로 저장할 수 있다.
디지털 자산 요청 제어기(210)는 디지털 자산에 연관된 사용자 장치(230)로부터의 요청을 수신하도록 구성된다. 일부 경우에, 요청은, 판매자 계정에 연관된 사용자 장치(230)로부터 수신된 경우, 디지털 자산을 생성하기 위한 요청일 수 있다. 일부 경우에, 요청은, 구매자 또는 고객 계정에 연관된 사용자 장치(230)로부터 수신된 경우, 생성된 디지털 자산을 구매하기 위한 요청일 수 있다. 일부 경우에, 요청은, 한 소유자 어드레스로부터 전자상거래 플랫폼 상의 고객 계정에 연관될 수 있거나 연관되지 않을 수 있는 다른 소유자 어드레스로 기존의 디지털 자산을 이체하기 위한 요청일 수 있다.
수신된 요청은, 디지털 자산을 생성하고, 디지털 자산을 이체하고, 아니면 다른 방식으로 작업을 수행하여 디지털 자산을 관리할지 여부인 요청에 영향을 주는 블록체인 트랜잭션을 블록체인 네트워크(201) 상에서 전파하도록 디지털 자산 요청 제어기(210)가 생성하게 할 수 있다. 일부 경우에, 블록체인 트랜잭션은, 요청에 기초하여 디지털 자산 요청 제어기(210)에 의해 생성될 수 있고, 요청이 연관되어 있는 계정에 연관된 개인 키를 사용하여 암호화 서명되도록 요청이 발생한 사용자 장치(230)에 제공될 수 있다.
전술한 바와 같이, 블록체인 네트워크(201) 상의 혼잡은 체인 상에 트랜잭션을 기록할 때 더 높은 트랜잭션 수수료 및/또는 바람직한 더 긴 대기 시간을 초래할 수 있다. 그럼에도 불구하고, 특히 상당한 값이 연관될 수 있는 NFT의 경우에는 체인 상에 직접 기록하는 것이 바람직하다.
이에 따라, 일 양태에서, 본원은, 모니터링된 블록체인 네트워크 상태에 기초하여 계층 1 작업과 계층 2 작업 간에 동적으로 전환하는 디지털 자산 작업을 수행하는 시스템 및 방법을 제공한다. 시스템, 예를 들어, 디지털 자산 요청 제어기(210)는 블록체인에 대한 혼잡 메트릭을 결정한다. 혼잡 메트릭이 제1 임계값 수준을 초과하면, 시스템은 계층 1 트랜잭션을 사용하여 수신된 요청을 처리하는 것에서 계층 2 트랜잭션을 사용하여 수신된 요청을 처리하는 것으로 전환할 수 있다. 계층 2 트랜잭션은, 계층 1에서 상태를 대조 및 조정하고 트랜잭션 데이터를 일괄 기록하기 위한 선택된 메커니즘을 사용하여 계층 1의 체인 상에 주기적으로 또는 가끔 기록된다. 일부 예에서, 계층 2에서, 요청은, 계층 1에서 연관된 스마트 계약의 대응하는 기능을 사용하지 않고 갱신된 NFT 상태를 결정하기 위해 디지털 자산 요청 제어기(210)에 의해 수행되고, 갱신된 NFT 상태는, 다수의 계층 2 트랜잭션의 완료를 반영하도록 스마트 계약에서의 NFT 상태를 갱신하는 트랜잭션에서 스마트 계약에 주기적으로 전송된다. 모니터링된 혼잡 메트릭이 제2 임계 수준(제1 임계 수준과 같을 수도 있고 같지 않을 수도 있음) 아래로 떨어진 것으로 시스템이 결정하면, 시스템은 수신된 요청에 대해 계층 1 트랜잭션 기록을 사용하도록 되돌아간다. 이러한 방식으로, 시스템은 변화하는 블록체인 네트워크 혼잡에 동적으로 적응할 수 있다.
일부 구현예에서, 일단 시스템이 혼잡 메트릭이 제1 임계 수준을 초과한다고 결정하면, NFT 민팅 또는 이체와 같이 디지털 자산 작업과 관련하여 수신된 임의의 요청이 큐에 세이브된다. 큐는, 나중에 일괄 처리를 위해 기록되지 않은 요청이 세이브되는 메모리의 일부일 수 있다. 일부 경우에, 시스템은, 별도의 원장이나 네트워크 또는 시스템에서 이체 작업의 기록 또는 새로운 소유권 정보와 같이 요청 오프체인에 연관된 작업을 수행할 수 있다. 시스템은, 또한 또는 대안으로, 요청이 큐잉되어 있는 동안 유효성 검사 또는 검증 작업을 수행할 수 있다. 시스템은 큐 트리거의 검출을 추가로 모니터링한다. 큐 트리거가 검출되면, 시스템은 큐에 저장된 요청들을 일괄 처리하고, 계층 1에서 단일 블록체인 트랜잭션을 사용하여 NFT 상태를 갱신한다. 이어서, 시스템은 큐를 지울 수 있다. 다음에 요청이 수신되면, 시스템은 수신된 요청을 계속 큐잉할지 여부를 결정하기 위해 혼잡 메트릭을 재평가할 수 있다.
큐 트리거들 중 하나는 혼잡 메트릭이 제2 임계 수준 미만으로 떨어졌다는 결정일 수 있다. 그러한 경우가 발생하면, 시스템은, 그 시간에 큐잉된 임의의 요청에 대해 계층 1에서 일괄 트랜잭션을 처리한 다음 후속 수신된 임의의 요청에 대해 큐잉 없이 계층 1 트랜잭션 처리를 사용하도록 되돌아갈 수 있다.
혼잡 메트릭은 블록체인 네트워크 혼잡에 연관된 임의의 하나 이상의 측정가능한 메트릭을 포함할 수 있다. 일례로, 혼잡 메트릭은 트랜잭션 전파 속도의 측정, 예를 들어, 초당 수신된 새로운 트랜잭션의 수일 수 있다. 일부 예에서, 혼잡 메트릭은 확인되지 않은 트랜잭션들의 수일 수 있다. 일부 예에서, 혼잡 메트릭은 확인되지 않은 트랜잭션의 평균 연령(예를 들어, 전파/생성 이후의 시간)일 수 있다. 일부 경우에, 혼합 메트릭은 일정 기간 동안 확인되지 않은 트랜잭션 수의 변화율(증가/감소)일 수 있다. 일부 예에서, 혼잡 메트릭은 트랜잭션 수수료와 같은 혼잡의 이차 지표일 수 있다. 트랜잭션 수수료는 하나 이상의 최근 채굴된 블록에 대한 평균 트랜잭션 수수료와 같이 네트워크의 현재 트랜잭션 수수료의 측정일 수 있다. 혼잡 메트릭은 기능 비용 연산을 위한 메트릭을 사용하는 이더리움 네트워크 또는 기타 네트워크의 가스 가격일 수 있다. 이러한 측정의 다양한 조합은, 예를 들어, 선형, 가산, 및/또는 승법 조합 또는 하나 이상의 측정 또는 이들의 추가 조합을 통해 혼잡 메트릭에 도달하도록 조합될 수 있다. 예를 들어, 확인되지 않은 트랜잭션의 수 또는 비율은, 더 복잡한 작업을 포함하는 트랜잭션을 설명하기 위해 트랜잭션당 가스 가격에 의해 추가로 가중될 수 있다. 추가로 또는 대안으로, 혼잡 메트릭은 직접적으로 전술한 것 중 하나 이상이 아니라 오히려 전술한 것 중 하나 이상에 기초한 값일 수 있다. 예를 들어, 전술한 것 중 하나(또는 이들의 조합)의 원시 값은 혼잡 메트릭을 산출하기 위해 일부 정의된 범위 내에 속하도록 스케일링될 수 있다.
일부 경우에, 큐는, 요청 자체를 저장하는 대신에 또는 이에 더하여 수신된 요청의 결과로 생성된 (드래프트) 트랜잭션을 저장한다. 트랜잭션은 블록체인 네트워크 상에서 전파되지 않으며 대신 시스템에 의한 일괄 처리를 기다리기 위해 큐잉된다. 일괄 처리는 트랜잭션 및/또는 트랜잭션 데이터를 블록체인 상에서 전파되는 단일 일괄 트랜잭션으로 대조하는 것을 포함할 수 있다. 일부 경우에, 큐잉된 요청에 대해 큐잉된 "트랜잭션"은, 완전한 블록체인 프로토콜-호환 트랜잭션이 아니지만, 시스템이 적절하게 호환되는 일괄 트랜잭션을 생성 및 전파하여 해당 요청에 영향을 줄 수 있는 충분한 데이터를 포함한다. 일부 구현예에서, 큐잉된 요청 또는 트랜잭션은 디지털 자산 요청 제어기에 의해 처리되고, 결과적으로 갱신된 상태/원장이 일괄 트랜잭션으로 전송된다.
NFT의 경우, 예를 들어, NFT를 생성할 때와 일부 경우에는 NFT를 이체할 때, 계층 1 트랜잭션은 블록체인 상에 저장된 스마트 계약에 임베딩된 기능 또는 기타 작업을 콜하거나 호출한다. 예를 들어, 블록체인 가상 기계가 특정 자산 또는 기타 항목에 연관된 고유한 NFT를 생성하는 작업을 실행하게 하는 스마트 계약에 의해 민팅 기능이 제공될 수 있다. 일부 경우에, 스마트 계약은 블록체인 상에 특정 NFT의 소유권 변경을 기록하는 이체 기능을 포함할 수 있다.
일괄 트랜잭션은 두 개 이상의 디지털 자산에 관한 다수의 호출 또는 이벤트를 포함할 수 있다. 일부 구현예에서, 큐잉된 요청(또는 이러한 요청에 관한 데이터)은 일괄 트랜잭션을 형성하기 위한 기초로서 사용되며, 이러한 일괄 트랜잭션은 각 디지털 자산(예를 들어, NFT)에 관련된 다수의 스마트 계약 작업의 호출을 포함할 수 있다. 일부 경우에, 스마트 계약은 일괄 트랜잭션에서 다수의 요청을 처리하기 위한 코드를 포함할 수 있다. 예를 들어, 스마트 계약은 일괄 이체를 위한 기능을 구현할 수 있으며, 이 기능은, 이제 수, 이체인의 어드레스, 이체수신인의 어드레스, 및 각 암호화 서명을 특정하기 위한 파라미터 또는 인수를 포함할 수 있다. 다른 예에서, 스마트 계약은 일괄 민팅을 위한 기능을 구현할 수 있으며, 이 기능은, 발행될 NFT의 정수, 수신인의 어드레스, 및 자산 식별자를 특정하기 위한 파라미터 또는 인수를 포함할 수 있다. 각 자산 식별자는 해당 NFT가 나타내는 자산을 정확히 지적하기 위한 URI 또는 다른 식별자를 포함할 수 있다. 일괄 기능은, 큐잉된 트랜잭션의 구현을 반영하기 위해 스마트 계약이 유지한 NFT 상태를 갱신하도록 구성될 수 있으며, 갱신된 상태는 블록체인 네트워크의 외부에 있는 계층 2의 디지털 자산 요청 제어기에 의해 결정된다. 스마트 계약 내의 다른 일괄 기능도 정의될 수 있다.
일부 경우에, 일괄 트랜잭션 처리 기능은 일반적인 트랜잭션 처리 기능과 동일한 스마트 계약 내에 있다. 일부 경우에, 일괄 트랜잭션 처리 기능은 다른 스마트 계약 내에 있으며 체인 상에 배포 및 기록된다.
일괄 기능의 악의적인 호출을 방지하기 위해, 일부 실시예에서, 스마트 계약은 인가된 엔티티에 대한 일괄 기능을 호출하기 위한 인가 또는 가용성을 제한할 수 있다. 예를 들어, 일괄 트랜잭션이 시작되어야 하는 위치를 정의하는 인가된 IP 어드레스의 허용 목록("화이트리스트"라고도 함)을 유지할 수 있다. 일부 경우에, 오라클은 일괄 기능을 사용할 수 있는 엔티티를 정의하는 화이트리스트 또는 허용 목록을 유지할 수 있다. 스마트 계약 소유자 및/또는 이의 대리인은 허용 목록을 수정할 수 있는 권한을 가질 수 있다.
큐 트리거는 시스템에 의해 검출가능한 하나 이상의 조건 또는 이벤트를 포함할 수 있다. 일부 예에서, 큐 트리거는 경과된 t초와 같이 큐에서 제1(가장 오래된) 요청의 저장 이후 경과된 시간을 포함할 수 있다. 일부 예에서, 큐 트리거는, 큐잉된 요청의 수가 미리 결정된 최대 수, 즉 큐에 있는 요청의 수를 초과한다는 결정일 수 있다. 일부 경우에, 큐 트리거는 큐잉된 요청 및/또는 큐잉된 트랜잭션의 바이트 크기를 포함할 수 있다. 일부 경우에, 이는 소정의 기간 동안 수신된 적어도 N개의 요청, 예를 들어, 수신된 요청의 비율에 기초할 수 있다. 일부 경우에, 시스템은 경과된 최대 시간 또는 최대 수 중 먼저 도달된 것에 기초하여 큐 트리거를 검출하도록 구성될 수 있다. 전술한 바와 같이, 하나의 큐 트리거는 혼잡 메트릭이 제2 임계값 미만으로 떨어졌다는 결정일 수 있다.
이제, 디지털 자산 이벤트 요청을 처리하는 하나의 예시적인 방법(300)을 흐름도 형태로 도시하는 도 3을 참조한다. 방법(300)은, 연산 장치가 설명된 작업을 수행하게 하기 위한 적절한 컴퓨터 실행가능 명령어를 갖는 연산 장치에 의해 구현될 수 있다. 방법(300)은 블록체인 네트워크의 노드와 같은 전용 연산 장치에 의해 전체적으로 또는 부분적으로 구현될 수 있다. 일부 경우에, 방법(300)은, 전자상거래 플랫폼을 구현하기 위한 하드웨어 구성요소와 소프트웨어 구성요소의 세트 중에서 전용 모듈, 엔진, 애플리케이션, 또는 다른 소프트웨어 구성요소에 의해 구현될 수 있다. 방법(300)은 일부 예에서 디지털 자산 요청 제어기(210)에 의해 구현될 수 있다.
동작(302)에서는, 트랜잭션 요청을 수신한다. 트랜잭션 요청은 디지털 자산과 관련이 있다. 디지털 자산은 물리적 자산 또는 온라인 자원에 연관될 수 있다. 일 예에서, 트랜잭션 요청은 자산에 연관된 NFT를 생성하기 위한 요청이다. 다른 예에서, 트랜잭션 요청은 자산에 연관된 기존 NFT의 소유권을 이체하기 위한 요청이다. 요청은 소유자 또는 요청자의 디지털 서명을 포함할 수 있다. 요청은, NFT에 연관된 특정 블록체인 스마트 계약 및 일부 경우에는 해당 스마트 계약 내의 특정 기능에 대한 참조를 포함할 수 있다. 요청은 NFT의 수신인에 연관된 어드레스를 포함할 수 있다.
동작(304)에서는, 네트워크 혼잡 메트릭을 측정하거나 획득한다. 혼잡 메트릭은 블록체인 네트워크 혼잡에 연관된 임의의 하나 이상의 수량 또는 값을 포함할 수 있다. 일 예에서, 혼잡 메트릭은 트랜잭션 생성 또는 전파 속도의 측정, 예를 들어, 1초, 5초, 1분 등의 기간 동안 수신된 새로운 트랜잭션의 수일 수 있다. 일부 예에서, 혼잡 메트릭은 확인되지 않은 트랜잭션의 현재 카운트, 예를 들어, 멤풀(mempool)에서 보류 중인 트랜잭션의 수일 수 있다. 일부 예에서, 혼잡 메트릭은 확인되지 않은 트랜잭션의 평균 연령, 예를 들어, 확인되지 않은 트랜잭션을 수신한 이후의 평균 시간일 수 있다. 일부 경우에, 혼잡 메트릭은, 일정 기간 동안 확인되지 않은 트랜잭션 수의 변화율, 예를 들어, 양이든 음이든 확인되지 않은 트랜잭션의 성장 속도 또는 성장률일 수 있다. 일부 예에서, 혼잡 메트릭은 트랜잭션 수수료의 크기 또는 수량과 같이 네트워크 혼잡의 이차 지표일 수 있다. 트랜잭션 수수료는, 하나 이상의 최근 채굴된 블록에 대한 평균 트랜잭션 수수료와 같이 네트워크 상의 현재 트랜잭션 수수료의 측정일 수 있다. 혼잡 메트릭은, 운영 비용 연산을 위한 메트릭을 사용하는 이더리움 네트워크 또는 기타 블록체인 네트워크 상의 가스 가격일 수 있다. 이러한 측정의 다양한 세트 또는 서브세트가 혼잡 메트릭에 도달하기 위해 조합될 수 있다. 예를 들어, 확인되지 않은 트랜잭션의 수 또는 비율은, 더 복잡한 작업을 포함하는 트랜잭션을 설명하기 위해 트랜잭션당 가스 가격에 의해 추가로 가중될 수 있다.
일단 혼잡 메트릭이 획득되면, 이는 동작(306)에 의해 지시된 바와 같이 제1 임계 수준과 비교된다. 제1 임계 수준은, 측정되거나 획득되는 메트릭의 특성에 기초하여 그리고 방법(300)이 계층 2 구현으로 전환하도록 설계되는 속도에 기초하여 선택되거나 설정될 수 있다. 메트릭이 제1 임계 수준 미만이면, 방법(300)은 계층 1에서 계속 동작하고, 수신된 요청은 동작(308)에 의해 도시된 바와 같이 요청을 구현하기 위해 블록체인 트랜잭션의 생성 및 전파를 초래한다. 즉, 블록체인 트랜잭션이 생성되어 블록체인 네트워크 상에 출력된다. 블록체인 트랜잭션은, 실행될 때, 네트워크가 요청된 작업, 예를 들어, NFT 생성 또는 NFT 소유권 이체를 실행하게 하고 해당 상태 변경을 블록체인 상에 기록하게 하는 스마트 계약 또는 스마트 계약 내의 기능에 대한 참조를 포함할 수 있다.
방법(300)은, 혼잡 메트릭이 제1 임계 수준을 초과하지 않는 한, 계층 1 블록체인 트랜잭션을 사용하여 수신된 요청을 처리하는 방식으로 계속해서 동작하고, 초과하는 경우에는, 방법(300)이 동작(310)으로 진행한다. 동작(310)에서는, 수신된 요청을 큐에 첨부한다. 큐는, 일괄 처리를 기다리기 위해 수신된 요청을 유지하도록 지정된 메모리 또는 메모리의 일부 또는 메모리의 일부의 데이터 구조일 수 있다.
동작(312)에서는, 큐 트리거가 검출되었는지를 결정한다. 검출되지 않았다면, 동작(314)에 의해 도시된 바와 같이, 방법(300)은 큐 트리거의 검출을 기다리는 동안 큐에 첨부되는 새로운 요청을 계속 기다리고 있다. 큐 트리거는, 큐 내용의 일괄 처리를 야기하는 하나 이상의 검출가능한 조건 또는 이벤트를 포함할 수 있다. 일 예에서, 큐 트리거는 큐에서 제1(예를 들어, 가장 오래된) 요청의 큐잉 이후 최대 시간을 포함할 수 있다. 다른 예에서, 큐 트리거는 최대 수에 도달하는 큐잉된 요청의 수, 즉, 큐에 있는 요청의 수를 포함할 수 있다. 추가 예에서, 큐 트리거는, 큐잉된 요청 및/또는 큐잉된 트랜잭션의 크기, 예를 들어, 큐잉된 요청 또는 트랜잭션이 차지하는 바이트 수를 포함할 수 있다. 다수의 조건 또는 이벤트를 큐 트리거로서 지정할 수 있다. 예를 들어, 큐 트리거는 가장 오래된 요청의 최대 연령 또는 큐잉된 요청의 최대 수 중 먼저 발생하는 것이 될 수 있다.
다른 큐 트리거는 혼잡 메트릭이 제2 임계 수준 미만으로 떨어졌다는 검출일 수 있다. 제2 임계 수준은, 일부 경우에, 제1 임계 수준과 동일할 수 있다. 일부 경우에, 제2 임계 수준은, 혼잡 메트릭이 임계 수준에 또는 그 근처에 있는 경우 빈번한 전환을 방지하기 위해 제1 임계 수준보다 낮을 수 있다.
전술한 것은 수신된 요청의 큐잉에 관한 것이다. 일부 구현예에서, 큐는 각각의 수신된 요청으로부터 데이터의 일부만을 포함할 수 있다. 데이터의 일부는, 요청을 구현하는 호환 블록체인 트랜잭션을 공식화하거나 생성하는 데 필요할 수 있는 이러한 데이터를 포함한다. 일부 경우에는, 요청 또는 요청 데이터를 큐잉하는 대신, 큐가 요청을 구현하도록 구성된 드래프트 블록체인 트랜잭션을 포함할 수 있다. 즉, 큐는 드래프트 형태의 복수의 블록체인 트랜잭션을 포함할 수 있다. 또 다른 구현예에서, 요청을 큐잉하는 대신, 시스템은 각 요청을 처리하여 로컬로 유지되는 NFT 상태를 갱신하고, 큐 또는 메모리는, 각각의 "큐잉된" 요청이 수신됨에 따라 각각의 큐잉된 요청과 함께 현재 NFT 상태가 계층 2에서 갱신될 때 이러한 현재 NFT 상태를 저장한다.
동작(312)에서, 큐 트리거가 검출될 때, 동작(316)은 큐에 단일 요청(또는 트랜잭션)이 존재하는지 여부를 평가한다. 이는 단일 요청이 큐잉된 후에만 큐 트리거가 검출되는 경계 조건을 처리한다. 이 경우, 방법(300)은, 즉시 계층 1 동작으로 되돌아갈 수 있고 동작(308)에서 계층 1 블록체인 트랜잭션으로서 정상 과정에서 큐잉된 요청을 처리할 수 있다. 이어서, 방법은, 동작(302)에서 다음 요청을 수신할 때, 혼잡 메트릭이 여전히 큐잉된 처리를 사용할 가치가 있는지 여부를 평가한다.
하나보다 많은 큐잉된 요청이 있는 경우, 동작(318)에서, "일괄 블록체인 트랜잭션"이 생성되고 블록체인 네트워크 상에서 전파된다. 일괄 블록체인 트랜잭션은 큐의 하나보다 많은 요청을 구현한다. 일부 경우에, 일괄 블록체인 트랜잭션은 큐의 모든 요청을 구현한다. 일부 경우에는, 하나보다 많은 일괄 블록체인 트랜잭션을 사용하여 요청을 구현할 수 있다. 예를 들어, 일부 구현예에서, NFT 생성 요청들은 하나의 일괄 트랜잭션으로 함께 그룹화될 수 있고, NFT 이체 요청들은, 일부 예에서, 스마트 계약 또는 상이한 스마트 계약들의 상이한 기능들 또는 일부들을 참조할 수 있다는 점에 기초하여 별도의 일괄 트랜잭션으로 함께 그룹화될 수 있다.
일괄 블록체인 트랜잭션은 블록체인 프로토콜 측면에서 볼 때 단일 블록체인 트랜잭션이다. 해당 단일 블록체인 트랜잭션 내에는, 두 개 이상의 요청이 포함되고 구현된다.
하나의 예시적인 구현예에서, 일괄 블록체인 트랜잭션은 스마트 계약 기능을 두 번 이상 콜링하는 것을 포함할 수 있다. 일부 경우에, 일괄 블록체인 트랜잭션은 스마트 계약 내에서 전용 일괄 기능을 콜링하는 것을 포함할 수 있다. 여기서 일괄 기능은 포함된 각 요청에 대한 데이터와 요청 수를 포함하는 파라미터를 수신한다. 이것은, 예를 들어, NFT 식별자를 포함하는 데이터 구조, 자산 식별자를 포함하는 데이터 구조, 수신인 어드레스 데이터를 포함하는 데이터 구조, 하나 이상의 디지털 서명을 포함하는 데이터 구조, 및 이러한 기타 데이터를 포함할 수 있다. 일부 구현예에서, 일괄 블록체인 트랜잭션은 스마트 계약에 의해 제공되는 맞춤형 NFT 갱신 기능을 호출하고, 일괄 블록체인 트랜잭션은 큐잉된 모든 요청의 계층 2 처리 결과인 갱신된 NFT 상태를 제공한다.
일단 일괄 블록체인 트랜잭션이 생성되었다면, 블록체인 네트워크 상에서 전파된다. 일단 일괄 블록체인 트랜잭션이 블록체인 채굴 노드들 중 하나에 의해 채굴된 블록에 포함되면, 다수의 큐잉된 요청의 결과 상태 변경이 블록체인 상에 기록된 데이터에 반영된다. 스마트 계약에 의해 유지되는 NFT 상태 또는 원장은, 스마트 계약 작업으로서 각 요청을 실행하기 위한 스마트 계약 코드를 호출하는 연관된 가스 비용 없이 다수의 큐잉된 요청의 구현을 반영하도록 갱신된다.
유리하게, 일괄 블록체인 트랜잭션은, 자체 전용 블록체인 트랜잭션에서 각 요청을 개별적으로 구현하는 것보다 전체 수수료 및/또는 가스 비용이 더 낮을 수 있다. 또한, 요청을 일괄 트랜잭션으로 대조함으로써 트랜잭션이 일괄 트랜잭션이 신속하게 채굴되는 것을 보장하는 보다 높은 전체 트랜잭션 수수료를 가질 수 있는 반면, 요청이 개별 블록체인 트랜잭션에 있다면, 채굴자가 자신이 작업하는 후보 블록에 그러한 개별 트랜잭션을 포함시키려면 (전체적으로 일괄 트랜잭션 수수료보다 높더라도) 각 트랜잭션의 개별 트랜잭션 수수료가 매우 작을 수 있다. 이처럼, 요청을 일괄 트랜잭션으로 대조하면, 네트워크 혼잡 상태 조건에서, 요청을 먼저 큐잉하는 데 고유한 지연이 있음에도 불구하고 요청을 더욱 빠르게 실행하고 기록할 수 있다. 또한, 큐잉을 통해 개별 요청의 처리를 지연함으로써, 일부 경우에, 큐 트리거는 혼잡 메트릭을 제2 임계 수준 미만으로 감소시키는 것이며, 이는 큐 트리거로 인해 일괄 블록체인 트랜잭션이 생성 및 전파될 때, 블록체인 네트워크가 낮은 혼잡 및 비용 조건에서 동작하고, 이에 따라 요청을 보다 효율적이고 비용 효율적으로 구현할 수 있음을 의미할 수 있다.
일단 큐의 요청이 일괄 블록체인 트랜잭션에서 처리되었다면, 동작(320)에 의해 표시된 바와 같이 큐가 클리어(clear)되거나 비워지고, 방법(300)은 새로운 요청의 수신을 대기하기 위해 동작(302)으로 되돌아간다. 그러한 새로운 요청이 수신되면, 혼잡 메트릭을 다시 획득하고 제1 임계 수준과 비교하여, 계층 1에서 새로운 요청을 처리할지 또는 계층 2 처리를 위해 새로운 요청을 큐잉할지 여부를 결정한다.
전술한 설명은 예시적인 요청으로서 NFT의 생성 또는 민팅 및 NFT의 이체를 언급하지만, 일부 경우에, 요청은 NFT를 포함하는 다른 작업 또는 이벤트와 관련될 수 있다. 다른 일부 경우에는, NFT 이외의 디지털 자산과 관련된 요청 처리를 위한 방법 및 시스템을 구현할 수 있다.
전자상거래 플랫폼의 예
상거래 플랫폼과의 통합이 요구되는 것은 아니지만, 일부 실시예에서, 본원에 개시된 방법은 전자상거래 플랫폼과 같은 상거래 플랫폼 상에서 또는 이러한 상거래 플랫폼에 연관되어 수행될 수 있다. 따라서, 상거래 플랫폼의 일례를 설명한다.
도 4는 일 실시예에 따른 예시적인 전자상거래 플랫폼(100)을 도시한다. 전자상거래 플랫폼(100)은 도 2를 참조하여 설명된 전자상거래 플랫폼(105)을 예시할 수 있다. 전자상거래 플랫폼(100)은 판매자 제품 및 서비스를 고객에게 제공하는 데 사용될 수 있다. 본 개시내용은 장치, 시스템, 및 프로세스를 사용하여 제품 및 서비스를 구매하는 것을 고려하지만, 단순함을 위해, 본원에서의 설명은 제품을 언급할 것이다. 본 개시내용 전반에 걸쳐 제품에 대한 모든 참조는, 또한, 예를 들어, 제공할 실제 제품, 디지털 콘텐츠(예를 들어, 음악, 비디오, 게임), 소프트웨어, 티켓, 가입, 서비스 등을 포함한 제품 및/또는 서비스에 대한 참조로서 이해해야 한다.
본 개시내용은 전체에 걸쳐 "판매자" 및 "고객"이 개인 이상일 수 있음을 고려하지만, 단순함을 위해, 본원의 설명은 일반적으로 판매자 및 고객을 그 자체로 지칭할 수 있다. 본 개시내용 전반에 걸쳐 판매자 및 고객에 대한 모든 참조는, 또한, 개인, 회사, 기업, 연산 엔티티 등의 그룹에 대한 참조로서 이해되어야 하며, 제품의 영리 또는 비영리 교환을 나타낼 수 있다. 또한, 개시내용 전체에 걸쳐 "판매자" 및 "고객"을 참조하고 이들의 역할을 그 자체로 설명하지만, 전자상거래 플랫폼(100)은 전자상거래 환경에서 사용자를 보다 일반적으로 지원하는 것으로 이해되어야 하며, 개시내용 전체에 걸친 판매자 및 고객에 대한 모든 참조는, 또한, 사용자가 판매자-사용자(예를 들어, 판매자, 소매업자, 도매업자, 또는 제품 제공자), 고객-사용자(예를 들어, 구매자, 구매 대리인, 소비자, 또는 제품 사용자),잠재적 사용자(예를 들어, 탐색하고 아직 구매를 약속하지 않은 사용자, 마케팅 및 제품 판매에 대한 잠재적 사용에 대해 전자상거래 플랫폼(100)을 평가하는 사용자 등),서비스 제공자 사용자(예를 들어, 배송 제공자(112), 금융 제공자 등), 회사 또는 기업 사용자(예를 들어, 제품 구매, 판매 또는 사용에 대한 회사 대표; 기업 사용자; 고객 관계 또는 고객 관리 에이전트 등), 정보 기술 사용자, 연산 엔티티 사용자(예를 들어, 제품 구매, 판매 또는 사용을 위한 연산 봇) 등인 사용자에 대한 참조로서 이해되어야 한다. 또한, 주어진 사용자가 주어진 역할(예를 들어, 판매자)로 행동할 수 있고 이들의 연관된 장치가 한 상황에서 이에 따라(예를 들어, 판매자 장치로서) 참조될 수 있지만, 해당하는 동일한 개인이 다른 상황에서 다른 역할(예를 들어, 고객으로서) 행동할 수 있으며, 해당하는 동일한 장치 또는 다른 연관된 장치가 이에 따라 (예를 들어, 고객 장치로서) 지칭될 수 있다는 점을 인식할 수 있다. 예를 들어, 개인은 한 유형의 제품(예를 들어, 신발)에 대한 판매자일 수 있고, 다른 유형의 제품(예를 들어, 식료품)의 고객/소비자일 수 있다. 다른 예에서, 개인은 동일한 유형의 제품의 소비자이면서 판매자일 수 있다. 특정 예에서, 특정 범주의 제품을 거래하는 판매자는 도매업자(판매자 역할을 하는 도매업자)로부터 주문할 때 해당하는 동일한 제품 범주에 대한 고객 역할을 할 수 있다.
전자상거래 플랫폼(100)은 판매자들에게 이들의 사업을 관리하기 위한 온라인 서비스/시설을 제공한다. 본원에서 설명되는 시설은, 플랫폼(100)의 일부로서 구현되는 것으로 도시되지만, 독립형 서비스로서 전체적으로 또는 부분적으로 플랫폼(100)과는 별도로 구성될 수도 있다. 또한, 이러한 시설은 일부 실시예에서 추가로 또는 대안으로 하나 이상의 제공자/엔티티에 의해 제공될 수 있다.
도 4의 예에서, 시설은, 전술한 바와 같이 플랫폼(100)의 일부이거나 플랫폼(100)의 외부에 있을 수 있는 하나 이상의 프로세서에서 컴퓨터 소프트웨어, 모듈, 프로그램 코드, 및/또는 명령어를 실행하는 기계, 서비스 또는 엔진을 통해 배치된다. 판매자는, 온라인 상점(138), 애플리케이션(142A 내지 142B), 채널(110A 내지 110B)을 통해 및/또는 물리적 위치(예를 들어, 물리적 점포, 또는 키오스크, 단말, 판독기, 프린터, 3D 프린터 등을 통한 것과 같은 기타 위치)에 있는 판매(POS) 장치(152)를 통해 고객과의 전자상거래 경험을 구현하는 것과 같이 고객과의 상거래를 가능하게 하거나 관리하기 위한 전자상거래 플랫폼(100)을 이용할 수 있다. 판매자는, 전자상거래 플랫폼(100)을, 고객과의 유일한 상거래 존재로서, 또는 예컨대 물리적 상점(예를 들어, "오프라인 트랜잭션" 소매점), 판매자 오프플랫폼 웹사이트(104)(예를 들어, 전자상거래 플랫폼(100)과는 별도로 판매자에 의해 또는 판매자를 대신하여 지원되는 상거래 인터넷 웹사이트 또는 기타 인터넷 또는 웹 자산 또는 자산),애플리케이션(142B) 등을 통해 다른 판매자 상거래 시설과 함께 이용할 수 있다. 그러나, 이러한 "기타" 판매자 상거래 시설도 전자상거래 플랫폼(100)에 통합되거나 전자상거래 플랫폼과 통신할 수 있으며, 예를 들어, 판매자의 물리적 상점에 있는 POS 장치(152)가 전자상거래 플랫폼(100)에 링크되고, 판매자 오프플랫폼 웹사이트(104)는, 예컨대, 판매자 오프플랫폼 웹사이트(104)로부터 온라인 상점(138)으로 콘텐츠를 링크하는 "구매 버튼" 등을 통해 전자상거래 플랫폼(100)에 연결된다.
온라인 상점(138)은 복수의 가상 점포를 포함하는 다중 테넌트 시설을 나타낼 수 있다. 실시 예에서, 판매자는, 예를 들어, 판매자 장치(102)(예를 들어, 컴퓨터, 랩톱 컴퓨터, 모바일 연산 장치 등)를 통해 온라인 상점(138)에서 하나 이상의 점포를 구성하고/구성하거나 관리할 수 있고, 다수의 상이한 채널(110A 내지 110B)(온라인 상점(138); 애플리케이션(142A 내지 142B); POS 장치(152)를 통한 물리적 점포; 예를 들어, 웹사이트에 통합된 전자 구매 버튼을 통한 전자 시장, 또는 소셜 네트워크, 소셜 미디어 페이지, 소셜 미디어 메시징 시스템과 같은 소셜 미디어 채널, 및/또는 기타)을 통해 제품을 고객에게 제안할 수 있다. 판매자는 채널(110A 내지 110B)을 통해 판매한 다음 전자상거래 플랫폼(100)을 통해 자신의 판매를 관리할 수 있으며, 여기서 채널(110A)은 전자상거래 플랫폼(100)의 내부 또는 외부의 시설 또는 서비스로서 제공될 수 있다. 판매자는, 추가로 또는 대안으로 자신의 실제 소매점에서 팝업, 도매, 전화 등을 통해 판매한 후 전자상거래 플랫폼(100)을 통해 자신의 판매를 관리할 수 있다. 판매자는 이들 운영 방식의 모두 또는 임의의 조합을 사용할 수 있다. 특히, 양식의 다양한 조합 및/또는 특정 조합을 사용함으로써, 판매자는 판매 확률 및/또는 판매량을 개선할 수 있다. 본 개시내용 전반에 걸쳐, 온라인 상점(138) 및 점포라는 용어들은, 전자상거래 플랫폼(100)을 통해 제공되는 판매자의 온라인 전자상거래 서비스를 지칭하도록 동의어로 사용될 수 있으며, 여기서 온라인 상점(138)은 (예를 들어, 하나의 또는 복수의 판매자를 위해) 전자상거래 플랫폼(100)에 의해 지원되는 점포들의 집합 또는 개별 판매자의 점포(예를 들어, 판매자의 온라인 상점)를 지칭할 수 있다.
일부 실시예에서, 고객은, 고객 장치(150)(예를 들어, 컴퓨터, 랩톱 컴퓨터, 모바일 연산 장치 등), POS 장치(152)(예를 들어, 소매 장치, 키오스크, 자동화된 (셀프 서비스) 체크아웃 시스템 등), 및/또는 당업계에 알려진 다른 임의의 상거래 인터페이스 장치를 통해 플랫폼(100)과 상호작용할 수 있다. 전자상거래 플랫폼(100)은, 고객에게 도달하고 고객과 상호작용하는 데 이용가능한 실제 또는 가상 경로를 고객에게 도달하고 판매자 서비스를 촉진하기 위한 시스템에 제공하도록 판매자가 물리적 위치(예를 들어, 판매자의 점포 또는 다른 곳)에 있는 온라인 상점(138)을 통해, 애플리케이션(142A 내지 142B)을 통해, POS 장치(152)를 통해 고객에게 도달하게 하여 전자 통신 시설(129) 등을 통해 고객과 통신하게 할 수 있다.
일부 실시예에서, 본원에 추가로 설명되는 바와 같이, 전자상거래 플랫폼(100)은 처리 시설을 통해 구현될 수 있다. 이러한 처리 시설은 프로세서 및 메모리를 포함할 수 있다. 프로세서는 하드웨어 프로세서일 수 있다. 메모리는 비일시적 컴퓨터 판독가능 매체일 수 있고/있거나 이를 포함할 수 있다. 메모리는 랜덤 액세스 메모리(RAM) 및/또는 지속형 저장 장치(예를 들어, 자기 저장 장치)일 수 있고/있거나 이를 포함할 수 있다. 처리 시설은, 실행될 때 전자상거래 플랫폼(100)이 전자상거래를 수행하고 본원에 설명된 기능을 지원하게 하는 명령어들의 세트를 (예를 들어, 메모리에) 저장할 수 있다. 처리 시설은, 서버, 클라이언트, 네트워크 인프라스트럭처, 모바일 연산 플랫폼, 클라우드 연산 플랫폼, 고정 연산 플랫폼 및/또는 다른 일부 연산 플랫폼 중 하나 이상이거나 이의 일부일 수 있으며, 전자상거래 플랫폼(100), 판매자 장치(102), 지불 게이트웨이(106), 애플리케이션(142A 내지 142B), 채널(110A 내지 110B), 배송 제공자(112), 고객 장치(150), POS 장치(152) 등의 구성요소들 간의 전자 연결과 통신을 제공할 수 있다. 일부 구현예에서, 처리 시설은, 협력하여 동작하는 하나 이상의 이러한 연산 장치이거나 이를 포함할 수 있다. 예를 들어, 복수의 협력 연산 장치가 처리 시설로서 기능할 수 있고/있거나 이를 제공할 수 있다. 전자상거래 플랫폼(100)은, 클라우드 연산 서비스, 서비스형 소프트웨어(Software as a Service; SaaS), 서비스형 인프라스트럭처(Infrastructure as a Service; IaaS), 서비스형 플랫폼(Platform as a Service; PaaS), 서비스형 데스크톱(Desktop as a Service; DaaS), 서비스형 관리 소프트웨어(managed software as a service; MSaaS), 서비스형 모바일 백엔드(mobile backend as a service; MBaaS), 서비스형 정보 기술 관리(information technology management as a service; ITMaaS) 및/또는 기타 중 하나 이상으로서 또는 이를 사용하여 구현될 수 있다. 예를 들어, 본원에 설명된 시설을 구현하는 기본 소프트웨어(예를 들어, 온라인 상점(138))는, 서비스로서 제공되고, 중앙에서 호스팅될 수 있다(이어서, 예를 들어, 웹 브라우저 또는 기타 애플리케이션을 통해 및/또는 고객 장치(150), POS 장치(152) 등을 통해 사용자에 의해 액세스될 수 있다).일부 실시예에서, 전자상거래 플랫폼(100)의 요소들은 다양한 다른 플랫폼 및 운영 체제와 동작하고/하거나 통합하여 구현될 수 있다.
일부 실시예에서, 전자상거래 플랫폼(100)의 시설(예를 들어, 온라인 상점(138))은, 예를 들어, 전자상거래 플랫폼(100)에 연결된 네트워크를 통해 (데이터(134)를 사용하여) 고객 장치(150)에 콘텐츠를 제공할 수 있다. 예를 들어, 온라인 상점(138)은, 브라우저(또는 다른 애플리케이션)가 네트워크 통신 프로토콜(예를 들어, 인터넷 프로토콜)을 사용하여 네트워크를 통해 온라인 상점(138)에 연결되는 고객 장치(150)로부터의 데이터(134)에 대한 요청에 응답하여 콘텐츠를 제공하거나 전송할 수 있다. 콘텐츠는, 기계 판독가능 언어로 기입될 수 있으며, 하이퍼텍스트 마크업 언어(Hypertext Markup Language; HTML), 템플릿 언어, 자바스크립트(JavaScript) 등 및/또는 이들의 임의의 조합을 포함할 수 있다.
일부 실시예에서, 온라인 상점(138)은, 고객 장치에 콘텐츠를 제공하고 고객이 이용가능한 다양한 제품을 탐색 및 구매할 수 있게 하는 서비스 인스턴스(예를 들어, 다양한 제품을 장바구니에 추가, 구매 버튼을 통한 구매 등)이거나 이를 포함할 수 있다. 판매자는, 또한, 테마 시스템, 예를 들어, 판매자가 동일한 기본 제품 및 온라인 상점의 제품 정보 내에 표시된 비지니스 데이터를 가지면서 해당 테마를 변경함으로써 자신의 온라인 상점(138)의 룩앤필(look and feel)을 선택하고 변경할 수 있는 테마 시스템 등의 테마 시스템을 통해 웹사이트의 룩앤필을 맞춤화할 수 있다. 테마는, 사용자가 웹사이트의 디자인을 유연하게 맞춤화할 수 있는 디자인 인터페이스인 테마 편집기를 통해 추가로 맞춤화될 수 있다. 추가로 또는 대안으로, 테마는, 추가로 또는 대안으로 예를 들어 특정 색상, 폰트, 및 미리 구축된 레이아웃 구성표와 같은 주어진 테마의 양태들을 변경할 수 있는 설정과 같은 테마별 설정을 사용하여 맞춤화될 수 있다. 일부 구현예에서, 온라인 상점은 웹사이트 콘텐츠에 대한 콘텐츠 관리 시스템을 구현할 수 있다. 판매자는, 블로그 게시물 또는 고정 페이지를 저작할 때 이러한 콘텐츠 관리 시스템을 사용할 수 있고, 이들을 블로그, 기사, 랜딩 페이지 등을 통해 자신의 온라인 상점(138)에 게시하고 탐색 메뉴를 구성할 수 있다. 판매자는, 예를 들어 시스템에 의해 (예를 들어, 데이터(134)로서) 저장하기 위해 (예를 들어, 제품에 대한) 이미지, 비디오, 콘텐츠, 데이터 등을 전자상거래 플랫폼(100)에 업로드할 수 있다. 일부 실시예에서, 전자상거래 플랫폼(100)은, 이러한 이미지와 콘텐츠를 조작하기 위한 기능들, 예를 들어, 이미지 크기를 조정하고, 이미지를 제품과 연관짓고, 텍스트를 추가하고 이미지와 연관짓고, 새로운 제품 변형에 대한 이미지를 추가하고, 이미지를 보호하는 등의 기능들을 제공할 수 있다.
본원에 설명된 바와 같이, 전자상거래 플랫폼(100)은, 본원에 설명된 바와 같이 물리적 POS 장치(152)를 통해 또한 예를 들어 온라인 상점(138), 애플리케이션(142A 내지 142B)을 포함하는 다수의 상이한 채널(110A 내지 110B)을 통해 제품에 대한 판매 및 마케팅 서비스를 판매자에게 제공할 수 있다. 전자상거래 플랫폼(100)은, 추가로 또는 대안으로, 온라인 비지니스의 운영, 예컨대, 해당 온라인 상점에 연관된 도메인 등록 서비스(118)의 제공, 고객과의 트랜잭션을 용이하게 하기 위해 지불 시설(120)의 제공, 구매한 제품에 대한 고객 배송 옵션을 제공하기 위한 배송 서비스(122)의 제공, 재고 관리를 위한 이행 서비스의 제공, 제품 보호 및 책임, 판매자 청구 등에 연관된 위험 및 보험 서비스(124)의 제공 중 하나 이상에 연관된, 비즈니스 지원 서비스(116), 관리자(114), 창고 관리 시스템 등을 포함할 수 있다. 서비스(116)는, 전자상거래 플랫폼(100)을 통해 또는 외부 시설과 연관되어, 예컨대, 지불 처리를 위한 지불 게이트웨이(106), 제품 배송을 신속하게 하기 위한 배송 제공자(112) 등을 통해 제공될 수 있다.
일부 실시예에서, 전자상거래 플랫폼(100)은, 예를 들어, 배송 라벨 또는 요금 정보, 실시간 배송 갱신, 추적 등의 다양한 배송 관련 정보를 판매자 및/또는 이들의 고객에게 제공하기 위해 (예를 들어, 전자상거래 플랫폼 배송 시설 또는 제삼자 배송 운송업체를 통한) 배송 서비스(122)로 구성될 수 있다.
도 5는 관리자(114)의 홈페이지에 대한 비제한적인 실시예를 도시한다. 관리자(114)는 관리 콘솔 및/또는 관리자 콘솔이라고 지칭될 수 있다. 관리자(114)는 일일 작업, 상점의 최근 활동, 및 판매자가 자신의 비즈니스를 구축하기 위해 취할 수 있는 다음 단계에 관한 정보를 표시할 수 있다. 일부 실시예에서, 판매자는, 판매자 장치(102)(예를 들어, 데스크톱 컴퓨터 또는 모바일 장치)를 통해 관리자(114)에 로그인할 수 있고, 예를 들어, 온라인 상점(138)의 최근 방문 또는 주문 활동 보기, 온라인 상점(138)의 카탈로그 갱신, 주문 관리 등과 같은 자신의 온라인 상점(138)의 양태를 관리할 수 있다. 일부 실시예에서, 판매자는 도 8에 도시된 것과 같은 사이드바를 사용함으로써 관리자(114)의 상이한 섹션들에 액세스할 수 있다. 관리자(114)의 섹션들은 주문, 제품, 고객, 이용가능한 보고서 및 할인을 포함하는 판매자 비즈니스의 핵심 양태에 액세스하고 관리하기 위한 다양한 인터페이스를 포함할 수 있다. 관리자(114)는, 추가로 또는 대안으로, 온라인 상점(138), 상점(모바일 앱)에 액세스하기 위해 고객이 이용할 수 있는 모바일 애플리케이션(모바일 앱), POS 장치, 및/또는 구매 버튼을 포함하는 상점용 판매 채널을 관리하기 위한 인터페이스를 포함할 수 있다. 관리자(114)는, 추가로 또는 대안으로, 판매자의 계정에 설치된 애플리케이션(앱)을 관리하기 위한 인터페이스, 및 판매자의 온라인 상점(138) 및 계정에 적용된 설정을 포함할 수 있다. 판매자는 검색 바를 사용하여 자신의 상점에서 제품, 페이지 또는 기타 정보를 찾을 수 있다.
상거래 및 판매자의 온라인 상점(138) 방문자에 대한 보다 상세한 정보는 보고서 또는 메트릭을 통해 볼 수 있다. 보고서는, 예를 들어, 획득 보고서, 행동 보고서, 고객 보고서, 재무 보고서, 마케팅 보고서, 판매 보고서, 제품 보고서, 및 맞춤 보고서를 포함할 수 있다. 판매자는, 예를 들어, 드롭다운 메뉴를 사용함으로써 상이한 기간(예를 들어, 일, 주, 월 등)으로부터 상이한 채널(110A 내지 110B)에 대한 판매 데이터를 볼 수 있다. 상점의 판매 및 참여 데이터에 대한 더 자세한 보기를 원하는 판매자를 위한 개요 대시보드가 제공될 수도 있다. 홈 메트릭 섹션의 활동 피드는 판매자 계정의 활동 개요를 예시하도록 제공될 수 있다. 예를 들어, "최근 활동 모두 보기" 대시보드 버튼을 클릭하면, 판매자는 자신의 계정에서 최근 활동에 대한 더 긴 피드를 볼 수 있다. 홈 페이지는, 예컨대 계정 상태, 성장, 최근 고객 활동, 주문 갱신 등에 기초하여 판매자의 온라인 상점(138)에 관한 알림을 표시할 수 있다. 예를 들어, 지불 워크플로우, 주문 이행 워크플로우, 주문 보관 워크플로우, 반품 워크플로우 등과 같이 온라인 상점(138)에 대해 구성된 워크플로우를 통해 탐색하는 판매자를 돕기 위해 알림이 제공될 수 있다.
전자상거래 플랫폼(100)은, 예컨대 판매 전환 증가 등을 위해 통신을 집계하고 분석하기 위해 판매자, 고객, 판매자 장치(102), 고객 장치(150), POS 장치(152) 등 간의 통신 상호작용을 수집하고 분석하는 전자 메시징 시설을 이용하는 것처럼 전자 통신 및 마케팅을 제공하기 위한 통신 시설(129) 및 연관된 판매자 인터페이스를 제공할 수 있다. 예를 들어, 고객은, 고객과 판매자(또는 판매자를 나타내는 자동화된 프로세서 기반 에이전트/챗봇) 간의 대화를 생성할 수 있는 제품과 관련된 질문을 가질 수 있으며, 여기서 통신 시설(129)은, 고객 요청에 대한 자동화된 응답을 제공하고/제공하거나 예를 들어 판매 확률 개선과 같은 응답 방법에 대한 추천을 판매자에게 제공하도록 구성된다.
전자상거래 플랫폼(100)은 보안 카드 서버 환경을 통하는 것과 같이 고객과의 보안 금융 트랜잭션을 위한 금융 시설(120)을 제공할 수 있다. 전자상거래 플랫폼(100)은, 예를 들어, 지불 카드 산업 데이터(PCI) 환경(예를 들어, 카드 서버)에 신용 카드 정보를 저장하여, 재정을 조정하고, 판매자에게 청구하고, 전자상거래 플랫폼(100) 및 판매자의 은행 계좌 간의 자동 결제(automated clearing house; ACH)를 수행하는 등의 경우를 포함한다. 금융 시설(120)은, 또한, 예컨대 자본 대출(예를 들어, 자금 대출, 현금 서비스 등) 및 보험 제공을 통해 판매자 및 구매자에게 금융 지원을 제공할 수 있다. 일부 실시예에서, 온라인 상점(138)은 독립적으로 관리되는 다수의 점포를 지원할 수 있고, 다양한 제품 및 서비스에 대해 대량의 트랜잭션 데이터를 매일 처리할 수 있다. 트랜잭션 데이터는, 고객, 고객 계정 또는 고객에 의해 실행되는 트랜잭션을 나타내는 임의의 고객 정보, 예컨대, 연락처 정보, 청구 정보, 배송 정보, 반품/환불 정보, 할인/판촉 정보, 지불 정보, 온라인 상점 이벤트 또는 페이지뷰 등의 정보, 제품 검색 정보(검색 키워드, 클릭 이벤트), 제품 리뷰, 포기 카트, 및/또는 전자상거래 플랫폼(100)을 통한 비즈니스에 연관된 기타 트랜잭션 정보를 포함할 수 있다. 일부 실시예에서, 전자상거래 플랫폼(100)은 이 데이터를 데이터 시설(134)에 저장할 수 있다. 다시 도 4를 참조하면, 일부 실시예에서, 전자상거래 플랫폼(100)은, 제품, 재고, 고객, 주문, 공급자, 보고서, 금융, 위험과 사기 등에 관련된 작업 자동화 또는 콘텐츠 관리를 위한 다양한 워크플로우를 수행하도록 구성될 수 있는 것과 같은 상거래 관리 엔진(136)을 포함할 수 있다. 일부 실시예에서, 계속 증가하는 다양한 온라인 상점, POS 장치, 제품 및/또는 서비스를 수용하는 데 필요한 더 큰 유연성과 맞춤화를 가능하게 하는 추가 기능이 추가로 또는 대안으로 애플리케이션(142A 내지 142B)을 통해 제공될 수 있다. 애플리케이션(142A)은 전자상거래 플랫폼(100)의 구성요소일 수 있는 반면, 애플리케이션(142B)은 전자상거래 플랫폼(100)의 외부에 있는 제삼자 서비스로서 제공되거나 호스팅될 수 있다. 상거래 관리 엔진(136)은 상점 고유의 워크플로우를 수용할 수 있고, 일부 실시예에서 관리자(114) 및/또는 온라인 상점(138)을 통합할 수 있다.
애플리케이션(142A 내지 142B)으로서 기능을 구현하는 것은, 상거래 관리 엔진(136)이 응답성을 유지하고 서비스 저하 또는 더 심각한 인프라스트럭처 장애 등을 줄이거나 피하게 할 수 있다.
온라인 상점 데이터를 격리하는 것이 온라인 상점(138)과 판매자 간의 데이터 프라이버시를 유지하는 데 중요할 수 있지만, 예를 들어, 주문 위험 평가 시스템 또는 플랫폼 지불 시설을 이용하여 상점간 데이터를 수집하고 사용하는 데에는 이유가 있을 수 있으며, 이러한 주문 위험 평가 시스템과 플랫폼 지불 시설 모두는 잘 수행하기 위해 다수의 온라인 상점(138)으로부터의 정보를 필요로 한다. 일부 실시예에서, 이러한 구성요소들을 상거래 관리 엔진(136) 외부로 이동시켜 전자상거래 플랫폼(100) 내의 고유 인프라스트럭처 내로 이동시키는 것이 바람직할 수 있다.
플랫폼 지불 시설(120)은 상거래 관리 엔진(136)으로부터의 데이터를 이용하지만 별개의 구성요소 또는 서비스로서 구현되는 구성요소의 일례이다. 플랫폼 지불 시설(120)은, 온라인 상점(138)과 상호작용하는 고객이 자신의 지불 정보를 한 번만 입력하면 되도록 지불 정보를 상거래 관리 엔진(136)에 의해 안전하게 저장시킬 수 있다. 고객이 다른 온라인 상점(138)을 방문하는 경우, 고객이 전에 거기에 가본 적이 없더라도, 플랫폼 지불 시설(120)은 (예를 들어, 고객 정보를 다시 입력해야 하는 경우 고객 정보를 잘못 입력할 가능성을 피함으로써) 고객 정보를 리콜하여 보다 신속하고 그리고/또는 잠재적으로 오류가 덜 발생하는 체크아웃을 가능하게 할 수 있다. 이는, 예컨대 고객 구매에 대한 사용 용이성 때문에 더 자주 체크아웃하는 더 많은 고객이 있기 때문에 더 많은 판매자와 구매자가 합류함에 따라 전자상거래 플랫폼(100)이 해당 판매자와 구매자에게 더 유용해지는 교차 플랫폼 네트워크 효과를 제공할 수 있다. 이러한 네트워크 효과를 최대화하기 위해, 주어진 고객에 대한 지불 정보가, 검색가능하고 다수의 온라인 상점(138)에 걸쳐 전반적으로 이용가능하게 될 수 있다.
상거래 관리 엔진(136) 내에 포함되지 않은 기능의 경우, 애플리케이션(142A 내지 142B)은 전자상거래 플랫폼(100) 또는 개별 온라인 상점(138)에 기능을 추가하는 방법을 제공한다. 예를 들어, 애플리케이션(142A 내지 142B)은, 판매자의 온라인 상점(138)에 대한 데이터에 액세스 및 수정을 행하고, 관리자(114)를 통해 작업을 수행하고, 사용자 인터페이스(예를 들어, 확장/API를 통해 표시됨)를 통해 판매자에 대한 새로운 흐름을 구현하는 등의 경우를 행할 수 있다. 판매자는 애플리케이션 검색, 추천 및 지원(128)을 통해 애플리케이션(142A 내지 142B)을 발견하고 설치하는 것이 가능해질 수 있다. 일부 실시예에서, 상거래 관리 엔진(136), 애플리케이션(142A 내지 142B), 및 관리자(114)는 함께 동작하도록 개발될 수 있다. 예를 들어, 애플리케이션 확장 지점은, 상거래 관리 엔진(136) 내부에 구축될 수 있고, 인터페이스(140B 및 140A)를 통해 애플리케이션(142A 및 142B)에 의해 액세스되어 추가 기능을 전달할 수 있고, 관리자(114)의 사용자 인터페이스에서 판매자에게 표시될 수 있다.
일부 실시예에서, 애플리케이션(142A 내지 142B)은 인터페이스(140A 내지 140B)를 통해 기능을 판매자에게 전달할 수 있으며, 예를 들어 애플리케이션(142A 내지 142B)은 트랜잭션 데이터를 판매자에게 표시할 수 있고/있거나(예를 들어, 앱: "엔진, 모바일 앱 또는 관리자(114)에 있는 나의 앱 데이터를 표시해줘"), 상거래 관리 엔진(136)이 애플리케이션에 주문형 작업을 수행하도록 요청할 수 있다(엔진, "앱, 이 체크아웃에 대한 지방세를 계산해줘").
애플리케이션(142A 내지 142B)은, 인터페이스(140A 내지 140B)를 통해(예를 들어, 표현 상태 변경(REpresentational State Transfer; REST) 및/또는 GraphQL API를 통해) 상거래 관리 엔진(136)에 연결되어 상거래 관리 엔진(136)을 통해 및 상거래 관리 엔진 내에서 이용가능한 기능 및/또는 데이터를 애플리케이션의 기능에 노출할 수 있다. 예를 들어, 전자상거래 플랫폼(100)은 플랫폼(100) 외부의 제품 및 서비스에 연결될 수 있는 API 인터페이스(140A 내지 140B)를 애플리케이션(142A 내지 142B)에 제공할 수 있다. 애플리케이션 및 (예를 들어, 애플리케이션 개발을 위해 제공되는 바와 같은) API의 사용을 통해 제공되는 유연성은, 전자상거래 플랫폼(100)이 상거래 관리 엔진(136)에 대한 지속적인 변경을 요구하지 않고 판매자의 새롭고 독특한 요구를 더 잘 수용하거나 특정 사용 사례를 처리하게 할 수 있다. 예를 들어, 배송 서비스(122)는, 배송 또는 운송업체 서비스 API를 통해 상거래 관리 엔진(136)과 통합될 수 있으며, 따라서 상거래 관리 엔진(136)에서 실행되는 코드에 직접적인 영향을 미치지 않으면서 전자상거래 플랫폼(100)이 배송 서비스 기능을 제공하게 할 수 있다.
구현예에 따라, 애플리케이션(142A 내지 142B)은, API를 이용하여 주문형 데이터(예를 들어, 고객 생성 이벤트, 제품 변경 이벤트, 또는 주문 취소 이벤트 등)를 풀링하거나 갱신이 발생할 때 데이터를 푸시할 수 있다. 가입 모델은, 이벤트가 발생할 때 애플리케이션(142A 내지 142B)에 이벤트를 제공하거나 상거래 관리 엔진(136)의 변경된 상태에 관한 갱신을 제공하는 데 사용될 수 있다. 일부 실시예에서, 갱신 이벤트 가입과 관련된 변경이 발생할 때, 상거래 관리 엔진(136)은 예컨대 미리 정의된 콜백 URL에 요청을 게시할 수 있다. 이러한 요청의 본문은 개체의 새로운 상태 및 액션이나 이벤트에 대한 설명을 포함할 수 있다. 갱신 이벤트 가입은 관리자 시설(114)에서 수동으로, 또는 자동으로(예를 들어, API(140A 내지 140B)를 통해) 생성될 수 있다. 일부 실시예에서, 갱신 이벤트는, 실시간 또는 거의 실시간으로 배포되지 않는 갱신 이벤트 통지를 생성할 수 있는 갱신 이벤트를 트리거한 상태 변경으로부터 비동기식으로 큐잉되고 처리될 수 있다.
일부 실시예에서, 전자상거래 플랫폼(100)은 애플리케이션 검색, 추천, 및 지원(128) 중 하나 이상을 제공할 수 있다. 애플리케이션 검색, 추천, 및 지원(128)은, 애플리케이션의 개발을 보조하기 위한 개발자 제품 및 도구, (예를 들어, 개발자에게 개발 인터페이스를 제공하고, 애플리케이션 관리를 위해 관리자에게 제공하고, 애플리케이션 맞춤화를 위해 판매자에게 제공하는 등의 경우를 위한) 애플리케이션 대시보드, (예를 들어, 설치 전에 기준을 충족해야 하는 경우와 같이 공개 액세스를 위해 또는 판매자가 개인적으로 사용하기 위해) 애플리케이션(142A 내지 142B)에 대한 액세스 제공에 관한 허가를 설치하고 제공하기 위한 시설, 판매자가 자신의 온라인 상점(138)에 대한 요구를 충족시키는 애플리케이션(142A 내지 142B)을 쉽게 검색할 수 있게 하는 애플리케이션 검색, 판매자의 온라인 상점(138)을 통해 사용자 경험을 개선할 수 있는 방법에 대한 제안을 판매자에게 제공하기 위한 애플리케이션 추천 등을 포함할 수 있다. 일부 실시예에서, 애플리케이션(142A 내지 142B)에는, (예를 들어, API를 통한) 애플리케이션에 대한 링크, 애플리케이션 검색, 애플리케이션 추천 등을 위한 애플리케이션 식별자(ID)가 할당될 수 있다.
애플리케이션(142A 내지 142B)은 대략 3개의 카테고리로 그룹화될 수 있다: 고객 대면 애플리케이션, 판매자 대면 애플리케이션, 통합 애플리케이션 등. 고객 대면 애플리케이션(142A 내지 142B)은, 판매자가 제품을 나열하고 구매할 수 있는 장소인 온라인 상점(138) 또는 채널(110A 내지 110B)을 포함할 수 있다(예를 들어, 온라인 상점, 반짝 판매용 애플리케이션(예를 들어, 판매자 제품 또는 제삼자 출처의 기회주의적 판매 기회),모바일 상점 애플리케이션, 소셜 미디어 채널, 도매 구매 제공 애플리케이션 등). 판매자 대면 애플리케이션(142A 내지 142B)은, 판매자가 (예를 들어, 웹 또는 웹사이트 또는 모바일 장치와 관련된 애플리케이션을 통해) 온라인 상점(138)을 관리하고, (예를 들어, POS 장치와 관련된 애플리케이션을 통해) 자신의 비즈니스를 운영하고, (예를 들어, 배송 관련 애플리케이션(예컨대, 직송)을 통해 자신의 비즈니스를 성장시키고, 자동화된 에이전트를 사용하고, 프로세스 흐름 개발 및 개선을 사용하는 등의 경우를 가능하게 하는 애플리케이션을 포함할 수 있다. 통합 애플리케이션은, 배송 제공자(112) 및 지불 게이트웨이(106)와 같이 비즈니스 운영에 참여하는 유용한 통합을 제공하는 애플리케이션을 포함할 수 있다.
이처럼, 전자상거래 플랫폼(100)은, 판매자가 유연하고 투명한 방식으로 고객과 연결될 수 있게 하는 유연한 시스템 아키텍처를 통해 온라인 쇼핑 경험을 제공하도록 구성될 수 있다. 통상적인 고객 경험은, 고객이 채널(110A 내지 110B)에서 판매자의 제품을 검색하고, 구매하려는 제품을 자신의 카트에 추가하고, 체크아웃을 진행하고, 자신의 카트의 내용물에 대한 비용을 지불하여 판매자에 대한 주문 생성을 초래하는 예시적인 구매 워크플로우 실시예를 통해 더 잘 이해될 수 있다. 이어서, 판매자는 주문을 검토하고 이행(또는 취소)할 수 있다. 이어서, 제품이 고객에게 전달된다. 고객이 만족하지 않으면, 판매자에게 제품을 반품할 수 있다.
예시적인 실시예에서, 고객은, 예를 들어 판매자의 온라인 상점(138), POS 장치(152)를 통한 물리적 점포, 웹사이트 또는 소셜 미디어 채널에 통합된 전자 구매 버튼을 통한 전자 시장과 같은 다수의 상이한 채널(110A 내지 110B)을 통해 판매자의 제품을 검색할 수 있다. 일부 경우에, 채널(110A 내지 110B)은 애플리케이션(142A 내지 142B)으로서 모델링될 수 있다. 상거래 관리 엔진(136)의 제품화 구성요소는, (예를 들어, 제품 데이터 객체 또는 모델을 사용하여) 제품 목록을 생성 및 관리하여 판매자가 판매하고 싶은 것과 판매하는 곳을 설명할 수 있도록 구성될 수 있다. 제품 목록과 채널 간의 연관은 제품 간행물로서 모델링될 수 있으며, 예컨대 제품 목록 API를 통해 채널 애플리케이션에 의해 액세스될 수 있다. 제품에는, 크기 및 색상과 같은 많은 속성 및/또는 특성이 있을 수 있으며, 크기가 초소형이면서 녹색인 변형 또는 크기가 크고 파란색인 변형과 같이, 이용가능한 옵션을 모든 속성의 특정 조합으로 확장하는 많은 변형이 있을 수 있다. 제품에는 어떠한 옵션도 없이 제품에 대해 생성된 하나 이상의 변형(예를 들어, "기본 변형")이 있을 수 있다. 검색 및 관리를 용이하게 하기 위해, 제품들은 제품 식별자(예를 들어, 재고 보관 단위(stock keeping unit; SKU)) 등이 제공된 컬렉션으로 그룹화될 수 있다. 제품 컬렉션은, 제품들을 하나로 수동으로 분류(예를 들어, 맞춤형 컬렉션)하거나, 자동 분류를 위한 규칙세트(예를 들어, 스마트 컬렉션)를 구축하는 등의 경우에 의해 구축될 수 있다. 제품 목록은, 가상 또는 증강 현실 인터페이스 및 등을 통해 볼 수 있는 2D 이미지, 3D 이미지 또는 모델 등을 포함할 수 있다.
일부 실시예에서, 쇼핑 카트 객체는 고객이 구매하고자 하는 제품을 저장하거나 추적하는 데 사용된다. 쇼핑 카트 객체는 채널별로 특정될 수 있으며, 다수의 카트 라인 항목으로 구성될 수 있으며, 여기서 각 카트 라인 항목은 특정 제품 변형의 수량을 추적한다. 카트에 제품을 추가하는 것은 고객이나 판매자의 약정을 의미하지 않으며, 카트의 예상 수명은 (며칠이 아니라) 몇 분 정도일 수 있으므로, 카트를 나타내는 카트 객체/데이터는 임시 데이터 저장소에서 지속될 수 있다.
이어서, 고객은 체크아웃을 진행한다. 상거래 관리 엔진(136)에 의해 생성된 체크아웃 객체 또는 페이지는, 고객의 연락처 정보, 청구 정보, 및/또는 배송 세부 사항과 같은 주문을 완료하기 위한 고객 정보를 수신하도록 구성될 수 있다. 고객이 자신의 연락처 정보를 입력했지만 결제를 진행하지 않는 경우, 전자상거래 플랫폼(100)은 (예를 들어, 포기된 체크아웃 구성요소를 통해) 고객이 체크아웃을 완료하도록 독려하는 메시지를 고객 장치(150)에 전송할 수 있다. 이러한 이유로, 체크아웃 객체는 카트 객체보다 수명이 훨씬 더 길 수 있으며(몇 시간 또는 심지어 며칠) 따라서 지속될 수 있다. 이어서, 고객은 카트 내용물에 대한 비용을 지불하여 판매자에 대한 주문을 생성한다. 일부 실시예에서, 상거래 관리 엔진(136)은, 지불 처리 구성요소를 통해 다양한 지불 게이트웨이(106) 및 서비스(예를 들어, 온라인 지불 시스템, 모바일 지불 시스템, 디지털 지갑, 신용 카드 게이트웨이)와 통신하도록 구성될 수 있다. 지불 게이트웨이(106)와의 실제 상호작용은 카드 서버 환경을 통해 제공될 수 있다. 결제 프로세스가 끝나면, 주문이 생성된다. 주문은, 판매자가 주문에 나열된 제품과 서비스의 제공(예를 들어, 라인 항목을 주문하고, 라인 항목을 배송하는 등)를 제공하는 데 동의하고 고객이 (세금을 포함한) 지불액을 제공하기로 동의하는 판매자와 고객 간의 판매 계약이다. 일단 주문이 생성되면, 주문 확인 알림이 고객에게 전송될 수 있고, 주문 완료 알림이 알림 구성요소를 통해 판매자에게 전송될 수 있다. 초과 판매를 피하기 위해 결제 처리 작업이 시작될 때 재고가 예약될 수 있다(예를 들어, 판매자는 각 변형에 대한 재고 정책 또는 구성을 사용하여 이 동작을 제어할 수 있다). 재고 예약은, 짧은 시간 범위(분)를 가질 수 있으며, 특정 위치 및/또는 특정(보통 짧은) 시간 동안 구매자에게 판매하기 위해 제품의 할인, 판촉 또는 제한된 재고가 제공될 수 있는 이벤트인 반짝 판매 또는 "드롭"을 지원하도록 빠르고 확장 가능해야 할 수 있다. 결제에 실패하면, 예약이 해제된다. 결제가 성공하고 주문이 생성되면, 예약이 특정 위치에 할당된 영구(장기) 재고 약정으로 전환된다. 상거래 관리 엔진(136)의 재고 구성요소는, 변형이 저장되는 위치를 기록할 수 있고, 재고 추적이 활성화된 변형에 대한 수량을 추적할 수 있다. 이것은, 재고 항목(수량과 위치가 관리되는 항목을 나타내는 판매자 대면 개념)으로부터 제품 변형(제품 목록의 템플릿을 나타내는 고객 대면 개념)을 분리할 수 있다. 재고 수준 구성요소는, 판매 가능하고 주문 확정이거나 재고 이체 구성요소(예를 들어, 공급업체)로부터 인입되는 수량을 추적할 수 있다.
이어서, 판매자는 주문을 검토하고 이행(또는 취소)할 수 있다. 상거래 관리 엔진(136)의 검토 구성요소는 주문을 실제로 이행하기 전에 주문이 이행에 적합한지를 확인하기 위해 비즈니스 프로세스 판매자의 사용을 구현할 수 있다. 주문은, 사기인 경우, 검증(예를 들어, ID 확인)을 필요로 하는 경우, 결제 방법에서 판매자가 자신의 대금을 받을 수 있도록 기다리는 것을 요구하는 경우 등이 있을 수 있다. 위험 및 추천은 주문 위험 모델에서 지속될 수 있다. 주문 위험은 주문 위험 API 등을 통해 제삼자가 제출한 사기 검출 도구로부터 생성될 수 있다. 이행을 진행하기 전에, 판매자는 주문을 지불됨으로 표시하기 전에 지불 정보(예를 들어, 신용 카드 정보)를 캡처하거나 (예를 들어, 은행 이체, 수표 등을 통한) 수신을 위해 기다려야 할 수 있다. 이제 판매자는 배송을 위해 제품을 준비할 수 있다. 일부 실시예에서, 이러한 비즈니스 프로세스는 상거래 관리 엔진(136)의 이행 구성요소에 의해 구현될 수 있다. 이행 구성요소는 재고 위치 및 이행 서비스에 기초하여 주문의 라인 항목들을 작업의 논리적 이행 단위로 그룹화할 수 있다. 판매자는, 예컨대 판매자가 제품을 고르고 상자에 포장할 때 사용되는 (예를 들어, 판매자 관리 위치에 있는) 수동 이행 서비스를 통해 작업 단위를 검토하고, 조정하고, 관련 이행 서비스를 트리거하고, 배송 라벨을 구매하고 이의 추적 번호를 입력하거나, 단순히 항목을 이행된 것으로서 마킹할 수 있다. 대안으로, API 이행 서비스는, 제삼자 애플리케이션 또는 서비스를 트리거하여 제삼자 이행 서비스에 대한 이행 레코드를 생성할 수 있다. 주문을 이행할 수 있는 다른 가능성도 존재한다. 고객이 만족하지 않으면, 판매자에게 제품(들)을 반품할 수 있다. 비즈니스 프로세스 판매자는 반품 구성요소에 의해 구현될 수 있는 항목을 "판매 취소"하도록 진행할 수 있다. 반품은, 실제로 판매된 제품이 매장으로 복귀되어 다시 판매될 수 있는 재입고, 고객으로부터 징수한 금액의 일부 또는 전체가 반환되는 환불, 환불된 금액을 기록하는 계좌 조정(예를 들어, 반품되지 않고 고객의 손에 있는 임의의 재입고 수수료 또는 제품이 있는 경우를 포함) 등과 같은 여러 다양한 액션으로 이루어질 수 있다. 반품은, 판매 계약(예를 들어, 주문)에 대한 변경을 나타낼 수 있고, 전자상거래 플랫폼(100)이 판매자에게 (예를 들어, 세금과 관련하여) 법적 의무에 관한 준수 문제를 알릴 수 있는 경우를 나타낼 수 있다. 일부 실시예에서, 전자상거래 플랫폼(100)은, 판매자가 판매 모델 구성요소(예를 들어, 항목에 대하여 발생한 판매 관련 이벤트를 기록하는 첨부 전용 날짜 기반 원장)를 통해 구현되는 것과 같이 시간 경과에 따른 판매 계약의 변경을 추적하게 할 수 있다.
구현예
본원에 설명된 방법 및 시스템은, 프로세서 상에서 컴퓨터 소프트웨어, 프로그램 코드, 및/또는 명령어를 실행하는 기계를 통해 부분적으로 또는 전체적으로 배포될 수 있다. 프로세서는 서버, 클라우드 서버, 클라이언트, 네트워크 인프라스트럭처, 모바일 연산 플랫폼, 고정 연산 플랫폼, 또는 기타 연산 플랫폼의 일부일 수 있다. 프로세서는 프로그램 명령어, 코드, 이진 명령어 등을 실행할 수 있는 임의의 종류의 연산 또는 처리 장치일 수 있다. 프로세서는, 신호 프로세서, 디지털 프로세서, 임베디드 프로세서, 마이크로프로세서, 또는 프로그램 코드 또는 이에 저장된 프로그램 명령어의 실행을 직접적으로 또는 간접적으로 용이하게 할 수 있는 코프로세서(수학 코프로세서, 그래픽 코프로세서, 통신 코프로세서 등) 등과 같은 임의의 변형일 수 있거나 이를 포함할 수 있다. 또한, 프로세서는 다수의 프로그램, 스레드, 및 코드를 실행할 수 있다. 스레드들은, 프로세서의 성능을 향상시키고 애플리케이션의 동시 동작을 용이하게 하도록 동시에 실행될 수 있다. 구현예를 통해, 본원에 설명된 방법, 프로그램 코드, 프로그램 명령어 등은 하나 이상의 스레드에서 구현될 수 있다. 스레드는, 자신에 연관된 우선순위가 할당된 다른 스레드를 스포닝할 수 있고, 프로세서는 우선순위에 기초하여 또는 프로그램 코드에 제공된 명령어에 기초하는 다른 임의의 순서에 기초하여 이들 스레드를 실행할 수 있다. 프로세서는 본원에서 및 다른 곳에서 설명된 방법, 코드, 명령어, 및 프로그램을 저장하는 메모리를 포함할 수 있다. 프로세서는 본원에서 및 다른 곳에서 설명된 방법, 코드, 및 명령어를 저장할 수 있는 인터페이스를 통해 저장 매체에 액세스할 수 있다. 방법, 프로그램, 코드, 프로그램 명령어, 또는 연산 또는 처리 장치에 의해 실행될 수 있는 다른 유형의 명령어를 저장하기 위한 프로세서에 연관된 저장 매체는, CD-ROM, DVD, 메모리, 하드 디스크, 플래시 드라이브, RAM, ROM, 캐시 등에서 하나 이상을 포함할 수 있지만 이에 제한되지 않는다.
프로세서는 멀티프로세서의 속도와 성능을 향상시킬 수 있는 하나 이상의 코어를 포함할 수 있다. 일부 실시예에서, 프로세서는, 듀얼 코어 프로세서, 쿼드 코어 프로세서, 두 개 이상의 독립 코어(다이라고 함)를 결합하는 다른 칩-레벨 멀티 프로세서 등일 수 있다.
본원에 설명된 방법 및 시스템은, 서버, 클라우드 서버, 클라이언트, 방화벽, 게이트웨이, 허브, 라우터, 또는 이러한 기타 컴퓨터 및/또는 네트워킹 하드웨어에서 컴퓨터 소프트웨어를 실행하는 기계를 통해 부분적으로 또는 전체적으로 배포될 수 있다. 소프트웨어 프로그램은, 파일 서버, 인쇄 서버, 도메인 서버, 인터넷 서버, 인트라넷 서버, 및 이차 서버, 호스트 서버, 분산 서버 등과 같은 기타 변형을 포함할 수 있는 서버에 연관될 수 있다. 서버는, 메모리, 프로세서, 컴퓨터 판독가능 매체, 저장 매체, (물리적 및 가상) 포트, 통신 장치, 및 유선 또는 무선 매체를 통해 다른 서버, 클라이언트, 기계, 및 장치에 액세스할 수 있는 인터페이스 등에서 하나 이상을 포함할 수 있다. 본원에서 및 다른 곳에서 설명된 방법, 프로그램, 또는 코드는 서버에 의해 실행될 수 있다. 또한, 본원에 설명된 방법의 실행에 필요한 다른 장치는 서버에 연관된 인프라스트럭처의 일부로서 간주될 수 있다.
서버는, 클라이언트, 다른 서버, 프린터, 데이터베이스 서버, 인쇄 서버, 파일 서버, 통신 서버, 분산 서버 등을 포함하지만 이에 제한되지 않는 다른 장치에 대한 인터페이스를 제공할 수 있다. 또한, 이 결합 및/또는 연결은 네트워크에 걸친 프로그램의 원격 실행을 용이하게 할 수 있다. 이들 장치 중 일부 또는 전부의 네트워킹은 본 개시내용의 범위를 벗어나지 않고 하나 이상의 위치에서 프로그램 또는 방법의 병렬 처리를 용이하게 할 수 있다. 또한, 인터페이스를 통해 서버에 부착된 임의의 장치는 방법, 프로그램, 코드, 및/또는 명령어를 저장할 수 있는 적어도 하나의 저장 매체를 포함할 수 있다. 중앙 저장소는 상이한 장치들에서 실행될 프로그램 명령어를 제공할 수 있다. 본 구현예에서, 원격 저장소는 프로그램 코드, 명령어, 및 프로그램을 위한 저장 매체로서 기능할 수 있다.
소프트웨어 프로그램은, 파일 클라이언트, 인쇄 클라이언트, 도메인 클라이언트, 인터넷 클라이언트, 인트라넷 클라이언트, 및 이차 클라이언트, 호스트 클라이언트, 분산 클라이언트 등과 같은 기타 변형을 포함할 수 있는 클라이언트에 연관될 수 있다. 클라이언트는, 메모리, 프로세서, 컴퓨터 판독가능 매체, 저장 매체, (물리적 및 가상) 포트, 통신 장치, 및 유선 또는 무선 매체를 통해 다른 클라이언트, 서버, 기계, 및 장치에 액세스할 수 있는 인터페이스 등에서 하나 이상을 포함할 수 있다. 본원에서 및 다른 곳에서 설명된 방법, 프로그램, 또는 코드는 클라이언트에 의해 실행될 수 있다. 또한, 본원에서 설명하는 방법의 실행에 필요한 다른 장치는 클라이언트에 연관된 인프라스트럭처의 일부로서 간주될 수 있다.
클라이언트는, 서버, 다른 클라이언트, 프린터, 데이터베이스 서버, 인쇄 서버, 파일 서버, 통신 서버, 분산 서버 등을 포함하지만 이에 제한되지 않는 다른 장치에 대한 인터페이스를 제공할 수 있다. 또한, 이 결합 및/또는 연결은 네트워크에 걸친 프로그램의 원격 실행을 용이하게 할 수 있다. 이들 장치 중 일부 또는 전부의 네트워킹은 본 개시내용의 범위를 벗어나지 않고 하나 이상의 위치에서 프로그램 또는 방법의 병렬 처리를 용이하게 할 수 있다. 또한, 인터페이스를 통해 클라이언트에 부착된 임의의 장치는 방법, 프로그램, 애플리케이션, 코드, 및/또는 명령어를 저장할 수 있는 적어도 하나의 저장 매체를 포함할 수 있다. 중앙 저장소는 상이한 장치들에서 실행될 프로그램 명령어를 제공할 수 있다. 이 구현예에서, 원격 저장소는 프로그램 코드, 명령어, 및 프로그램을 위한 저장 매체로서 기능할 수 있다.
본원에 설명된 방법 및 시스템은 네트워크 인프라스트럭처를 통해 부분적으로 또는 전체적으로 배치될 수 있다. 네트워크 인프라스트럭처는, 연산 장치, 서버, 라우터, 허브, 방화벽, 클라이언트, 개인용 컴퓨터, 통신 장치, 라우팅 장치 및 당업계에 알려진 기타 능동 및 수동 장치, 모듈 및/또는 구성요소와 같은 요소들을 포함할 수 있다. 네트워크 인프라스트럭처에 연관된 연산 및/또는 비연산 장치(들)는, 다른 구성요소와는 별도로, 플래시 메모리, 버퍼, 스택, RAM, ROM 등과 같은 저장 매체를 포함할 수 있다. 본원에서 및 다른 곳에서 설명된 프로세스, 방법, 프로그램 코드, 명령어는 하나 이상의 네트워크 인프라스트럭처 요소에 의해 실행될 수 있다.
본원에서 및 다른 곳에서 설명된 방법, 프로그램 코드, 및 명령어는 유선 또는 무선 네트워크에서 동작할 수 있는 상이한 장치들에서 구현될 수 있다. 무선 네트워크의 예는, 4세대(4G) 네트워크(예를 들어, (Long-Term Evolution; LTE)) 또는 5세대(5G) 네트워크 및 무선 근거리 통신망(Wireless Local Area Network; WLAN)과 같은 넌셀룰러 네트워크를 포함한다. 그러나, 본원에 설명된 원칙은 다른 유형의 네트워크에도 동일하게 적용될 수 있다.
본원에서 및 다른 곳에서 설명된 동작, 방법, 프로그램 코드, 및 명령어는 모바일 장치 상에서 또는 모바일 장치를 통해 구현될 수 있다. 모바일 장치는, 내비게이션 장치, 모바일 전화, 모바일 전화, 모바일 개인 휴대 정보 단말기, 랩톱, 팜톱, 넷북, 호출기, 전자 책 리더, 음악 플레이어 등을 포함할 수 있다. 이들 장치는, 다른 구성요소와는 별도로, 플래시 메모리, 버퍼, RAM, ROM 및 하나 이상의 연산 장치와 같은 저장 매체를 포함할 수 있다. 모바일 장치에 연관된 연산 장치는 자신에 저장된 프로그램 코드, 방법, 및 명령어를 실행하도록 활성화될 수 있다. 대안으로, 모바일 장치는 다른 장치와 협력하여 명령어를 실행하도록 구성될 수 있다. 모바일 장치는 서버와 인터페이싱되는 기지국과 통신할 수 있고 프로그램 코드를 실행하도록 구성될 수 있다. 모바일 장치는 P2P 네트워크, 메시 네트워크, 또는 기타 통신 네트워크에서 통신할 수 있다. 프로그램 코드는 서버에 연관된 저장 매체에 저장될 수 있고 서버 내에 임베딩된 연산 장치에 의해 실행될 수 있다. 기지국은 연산 장치 및 저장 매체를 포함할 수 있다. 저장 장치는 기지국에 연관된 연산 장치에 의해 실행되는 프로그램 코드 및 명령어를 저장할 수 있다.
컴퓨터 소프트웨어, 프로그램 코드, 및/또는 명령어는 다음을 포함할 수 있는 기계 판독가능 매체에 저장 및/또는 액세스될 수 있다: 일정 시간 동안 연산에 사용되는 디지털 데이터를 유지하는 컴퓨터 구성요소, 장치, 및 기록 매체; 랜덤 액세스 메모리(random access memory; RAM)로 알려진 반도체 저장소; 통상적으로 광 디스크, 하드 디스크, 테이프, 드럼, 카드 및 기타 유형과 같은 형태의 자기 저장소와 같이 보다 영구적인 저장을 위한 대용량 저장소; 프로세서 레지스터, 캐시 메모리, 휘발성 메모리, 비휘발성 메모리; CD, DVD와 같은 광학 저장 장치; 플래시 메모리(예를 들어, USB 스틱 또는 키),플로피 디스크, 자기 테이프, 종이 테이프, 펀치 카드, 독립형 RAM 디스크, 집(Zip) 드라이브, 탈착가능 대용량 저장소, 오프라인 등과 같은 탈착가능 매체; 동적 메모리, 정적 메모리, 판독/기입 저장소, 변경가능한 저장소, 판독 전용, 랜덤 액세스, 순차 액세스, 위치 주소지정 가능, 파일 주소지정 가능, 콘텐츠 주소지정 가능, 네트워크 연결 저장소, 저장 영역 네트워크, 바코드, 자기 잉크와 같은 기타 컴퓨터 메모리 등.
본원에 설명된 방법 및 시스템은 물리적 및/또는 무형 항목을 한 상태에서 다른 상태로 변환할 수 있다. 본원에 설명된 방법 및 시스템은, 또한, 사용 데이터에서 정규화된 사용 데이터세트로와 같이 물리적 및/또는 무형 항목을 나타내는 데이터를 한 상태에서 다른 상태로 변환할 수 있다.
도면 전체에 걸쳐 흐름도 및 블록도를 포함하여 본원에서 설명되고 묘사된 요소들은 요소들 간의 논리적 경계를 의미한다. 그러나, 소프트웨어 또는 하드웨어 엔지니어링 실무에 따르면, 도시된 요소와 이의 기능은, 모놀리식 소프트웨어 구조로서, 독립형 소프트웨어 모듈로서, 또는 외부 루틴, 코드, 서비스 등, 또는 이들의 임의의 조합을 사용하는 모듈로서 저장된 프로그램 명령어를 실행할 수 있는 프로세서를 갖는 컴퓨터 실행가능 매체를 통해 기계에서 구현될 수 있고, 이러한 모든 구현은 본 개시내용의 범위 내에 있을 수 있다. 이러한 기계의 예는, 개인 정보 단말기, 랩톱, 개인용 컴퓨터, 휴대 전화, 기타 핸드헬드 연산 장치, 의료 장비, 유선 또는 무선 통신 장치, 트랜듀서, 칩, 계산기, 위성, 태블릿 PC, 전자 책, 가제트, 전자 장치, 인공 지능을 갖는 장치, 연산 장치, 네트워킹 장비, 서버, 라우터 등을 포함할 수 있지만, 이에 제한되지 않는다. 또한, 흐름도 및 블록도에 도시된 요소들 또는 다른 임의의 논리적 구성요소는 프로그램 명령어를 실행할 수 있는 기계에서 구현될 수 있다. 따라서, 전술한 도면 및 설명이 개시된 시스템의 기능적 양태를 설명하고 있지만, 이러한 기능적 양태를 구현하기 위한 소프트웨어의 특정 배열을, 명시적으로 언급하거나 문맥에서 명백하지 않다면, 이러한 설명으로부터 추론해서는 안 된다. 유사하게, 위에서 식별되고 설명된 다양한 단계가 변경될 수 있고 단계들의 순서가 본원에 개시된 기술의 특정 응용분야에 맞게 조정될 수 있음을 이해할 것이다. 이러한 모든 변형과 수정은 본 개시내용의 범위 내에 속하는 것으로 의도된 것이다. 이처럼, 다양한 단계에 대한 순서의 묘사 및/또는 설명을, 특정 응용분야에 의해 요구되거나 명시적으로 언급하거나 문맥에서 명백하지 않다면, 해당 단계에 대한 특정 실행 순서를 요구하는 것으로 이해해서는 안 된다.
전술한 방법 및/또는 프로세스, 및 이의 단계들은, 특정 응용분야에 적합한, 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 임의의 조합으로 실현될 수 있다. 하드웨어는 범용 컴퓨터 및/또는 전용 연산 장치 또는 특정 연산 장치 또는 특정 연산 장치의 특정 양태 또는 구성요소를 포함할 수 있다. 프로세스는, 내부 및/또는 외부 메모리와 함께, 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 임베디드 마이크로컨트롤러, 프로그래밍 가능한 디지털 신호 프로세서, 또는 기타 프로그래밍 가능한 장치에서 실현될 수 있다. 프로세스는, 또한 또는 대신에, 주문형 집적 회로, 프로그래밍 가능한 게이트 어레이, 프로그래밍 가능한 어레이 로직, 또는 전자 신호를 처리하도록 구성될 수 있는 다른 임의의 장치 또는 장치들의 조합에서 구체화될 수 있다. 하나 이상의 프로세스가 기계 판독가능 매체 상에서 실행될 수 있는 컴퓨터 실행가능 코드로서 실현될 수 있다는 점을 또한 이해할 것이다.
컴퓨터 실행가능 코드는, C와 같은 구조화된 프로그래밍 언어, C++와 같은 객체 지향 프로그래밍 언어, 또는 프로세서, 프로세서 아키텍처의 이종 조합, 또는 상이한 하드웨어와 소프트웨어의 조합, 또는 프로그램 명령어를 실행할 수 있는 다른 임의의 기계뿐만 아니라 상술한 장치들 중 하나 상에서도 실행되도록 저장, 컴파일링, 또는 해석될 수 있는 (어셈블리 언어, 하드웨어 설명 언어, 데이터베이스 프로그래밍 언어 및 기술을 포함하는) 기타 고수준 또는 저수준 프로그래밍 언어를 사용하여 생성될 수 있다.
따라서, 일 양태에서, 전술한 각각의 방법 및 이들의 조합은 하나 이상의 연산 장치 상에서 실행할 때 해당 방법의 단계들을 수행하는 컴퓨터 실행가능 코드로 구체화될 수 있다. 다른 양태에서, 방법은, 방법의 단계들을 수행하는 시스템에서 구현될 수 있고, 다양한 방식으로 장치들에 걸쳐 분산될 수 있거나, 모든 기능이 전용, 독립형 장치, 또는 다른 하드웨어에 통합될 수 있다. 또 다른 양태에서, 전술한 프로세스에 연관된 단계들을 수행하기 위한 수단은 전술한 하드웨어 및/또는 소프트웨어 중 임의의 것을 포함할 수 있다. 이러한 모든 순열과 조합은 본 개시내용의 범위 내에 속하는 것으로 의도된 것이다.
본 교시는, 다음의 번호가 매겨진 항목들 중 하나 이상의 특징으로도 확장될 수 있다.
1. 컴퓨터 구현 방법으로서,
제1 대체불가 토큰 트랜잭션 요청을 수신하는 단계;
블록체인 네트워크의 혼잡 측정에 관한 네트워크 혼잡 메트릭을 획득하는 단계;
네트워크 혼잡 메트릭이 제1 임계 수준을 초과한다고 결정하는 단계; 및
네트워크 혼잡 메트릭이 제1 임계 수준을 초과한다는 결정에 응답하여, 제1 대체불가 토큰 트랜잭션 요청을 큐잉하고,
큐 트리거를 검출하고, 이에 응답하여, 블록체인 네트워크 상에 제1 대체불가 토큰 트랜잭션 요청과 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청을 포함하는 두 개 이상의 큐잉된 대체불가 토큰 트랜잭션 요청을 구현하는 일괄 블록체인 트랜잭션을 생성하여 전파하는 단계를 포함하는, 컴퓨터 구현 방법.
2. 제1항목에 있어서, 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청은, 제1 대체불가 토큰 트랜잭션 요청 후에 수신되고 제1 대체불가 토큰 트랜잭션 요청을 포함하는 큐에 첨부되는, 컴퓨터 구현 방법.
3. 제1항목에 있어서, 네트워크 혼잡 메트릭은, 블록체인 네트워크 상의 확인되지 않은 트랜잭션의 수, 블록체인 네트워크 상의 새로운 트랜잭션의 수신 비율, 블록체인 네트워크 상의 확인되지 않은 트랜잭션의 평균 연령, 일정 기간 동안 확인되지 않은 트랜잭션의 수의 변화율, 연산 작업당 비용 측정, 또는 트랜잭션 수수료 중 하나 이상에 기초하는, 컴퓨터 구현 방법.
4. 제1항목에 있어서, 큐 트리거를 검출하는 단계는, 제1 대체불가 토큰 트랜잭션 요청의 수신 이후로 경과된 시간이 최대 시간을 초과하였다고 결정하는 단계, 큐 내의 요청의 수가 최대 수와 일치하거나 초과한다고 결정하는 단계, 또는 네트워크 혼잡 메트릭이 제2 임계 수준 미만으로 떨어졌다고 결정하는 단계 중 하나 이상을 포함하는, 컴퓨터 구현 방법.
5. 제4항목에 있어서, 제2 임계 수준이 제1 임계 수준과 일치하는, 컴퓨터 구현 방법.
6. 제1항목에 있어서, 큐잉하는 단계는, 제1 대체불가 토큰 트랜잭션 요청으로부터의 데이터의 적어도 일부를 제1 대체불가 토큰 트랜잭션 요청을 구현하는 블록체인 트랜잭션을 생성하기에 충분한 메모리에 저장하는 단계를 포함하는, 컴퓨터 구현 방법.
7. 제1항목에 있어서, 일괄 블록체인 트랜잭션은, 일괄 처리 기능을 참조하고, 두 개 이상의 대체불가 토큰 트랜잭션 요청의 구현을 반영하는 갱신된 NFT 상태를 제공하는, 컴퓨터 구현 방법.
8. 제1항목에 있어서, 제1 대체불가 토큰 트랜잭션 요청은 민팅 요청이고 수신인 어드레스를 포함하는, 컴퓨터 구현 방법.
9. 제8항목에 있어서, 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청은 추가 민팅 요청이고 각 수신인 어드레스를 포함하는, 컴퓨터 구현 방법.
10. 제1항목에 있어서, 큐잉된 대체불가 토큰 트랜잭션 요청은 이전에 민팅된 토큰에 관한 적어도 하나의 이체 요청을 포함하고, 적어도 하나의 이체 요청은 이체수신인 어드레스와 디지털 서명을 포함하는, 컴퓨터 구현 방법.
11. 제1항목에 있어서, 일괄 블록체인 트랜잭션을 생성하여 전파하는 단계 후에,
제2 대체불가 토큰 트랜잭션 요청을 수신하는 단계;
블록체인 네트워크의 혼잡 측정에 관한 갱신된 네트워크 혼잡 메트릭을 획득하는 단계;
갱신된 네트워크 혼잡 메트릭이 제1 임계 수준 미만이라고 결정하는 단계; 및
갱신된 네트워크 혼잡 메트릭이 제1 임계 수준 미만이라는 결정에 응답하여, 큐잉 없이 블록체인 네트워크 상에 단일 블록체인 트랜잭션을 생성하고 전송하여 제2 대체불가 토큰 트랜잭션 요청만을 구현하는 단계를 더 포함하는, 컴퓨터 구현 방법.
12. 연산 시스템으로서,
프로세서; 및
컴퓨터 실행가능 명령어를 저장하는 메모리를 포함하고,
컴퓨터 실행가능 명령어는, 프로세서에 의해 실행되는 경우, 프로세서가,
제1 대체불가 토큰 트랜잭션 요청을 수신하게 하고,
블록체인 네트워크의 혼잡 측정에 관한 네트워크 혼잡 메트릭을 획득하게 하고,
네트워크 혼잡 메트릭이 제1 임계 수준을 초과한다고 결정하게 하고,
네트워크 혼잡 메트릭이 제1 임계 수준을 초과한다는 결정에 응답하여, 제1 대체불가 토큰 트랜잭션 요청을 큐잉하게 하고, 큐 트리거를 검출하게 하고, 이에 응답하여, 블록체인 네트워크 상에 제1 대체불가 토큰 트랜잭션 요청과 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청을 포함하는 두 개 이상의 큐잉된 대체불가 토큰 트랜잭션 요청을 구현하는 일괄 블록체인 트랜잭션을 생성하여 전파하게 하는, 연산 시스템.
13. 제12항목에 있어서, 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청은, 제1 대체불가 토큰 트랜잭션 요청 후에 수신되고 제1 대체불가 토큰 트랜잭션 요청을 포함하는 큐에 첨부되는, 연산 시스템.
14. 제12항목에 있어서, 네트워크 혼잡 메트릭은, 블록체인 네트워크 상의 확인되지 않은 트랜잭션의 수, 블록체인 네트워크 상의 새로운 트랜잭션의 수신 비율, 블록체인 네트워크 상의 확인되지 않은 트랜잭션의 평균 연령, 일정 기간 동안 확인되지 않은 트랜잭션의 수의 변화율, 연산 작업당 비용 측정, 또는 트랜잭션 수수료 중 하나 이상에 기초하는, 연산 시스템.
15. 제12항목에 있어서, 명령어는, 프로세서에 의해 실행되는 경우, 제1 대체불가 토큰 트랜잭션 요청의 수신 이후로 경과된 시간이 최대 시간을 초과하였다는 결정, 큐 내의 요청의 수가 최대 수와 일치하거나 초과한다는 결정, 또는 네트워크 혼잡 메트릭이 제2 임계 수준 미만으로 떨어졌다는 결정 중 하나 이상에 의해 프로세서가 큐 트리거를 검출하게 하는, 연산 시스템.
16. 제15항목에 있어서, 제2 임계 수준이 제1 임계 수준과 일치하는, 연산 시스템.
17. 제12항목에 있어서, 명령어는, 프로세서에 의해 실행되는 경우, 제1 대체불가 토큰 트랜잭션 요청으로부터의 데이터의 적어도 일부를 제1 대체불가 토큰 트랜잭션 요청을 구현하는 블록체인 트랜잭션을 생성하기에 충분한 메모리에 저장함으로써 프로세서가 큐잉하게 하는, 연산 시스템.
18. 제12항목에 있어서, 일괄 블록체인 트랜잭션은, 일괄 처리 기능을 참조하고, 두 개 이상의 대체불가 토큰 트랜잭션 요청의 구현을 반영하는 갱신된 NFT 상태를 제공하는, 연산 시스템.
19. 제12항목에 있어서, 명령어는, 또한, 프로세서에 의해 실행되는 경우, 프로세서가, 일괄 블록체인 트랜잭션을 생성하여 전파한 후에,
제2 대체불가 토큰 트랜잭션 요청을 수신하게 하고,
블록체인 네트워크의 혼잡 측정에 관한 갱신된 네트워크 혼잡 메트릭을 획득하게 하고,
갱신된 네트워크 혼잡 메트릭이 제1 임계 수준 미만이라고 결정하게 하고,
갱신된 네트워크 혼잡 메트릭이 제1 임계 수준 미만이라는 결정에 응답하여, 큐잉 없이 블록체인 네트워크 상에 단일 블록체인 트랜잭션을 생성하고 전송하여 제2 대체불가 토큰 트랜잭션 요청만을 구현하게 하는, 연산 시스템.
20. 컴퓨터 실행가능 명령어를 저장하는 비일시적 컴퓨터 판독가능 매체로서,
컴퓨터 실행가능 명령어는, 프로세서에 의해 실행되는 경우, 프로세서가,
제1 대체불가 토큰 트랜잭션 요청을 수신하게 하고,
블록체인 네트워크의 혼잡 측정에 관한 네트워크 혼잡 메트릭을 획득하게 하고,
네트워크 혼잡 메트릭이 제1 임계 수준을 초과한다고 결정하게 하고,
네트워크 혼잡 메트릭이 제1 임계 수준을 초과한다는 결정에 응답하여, 제1 대체불가 토큰 트랜잭션 요청을 큐잉하게 하고, 큐 트리거를 검출하게 하고, 이에 응답하여, 블록체인 네트워크 상에 제1 대체불가 토큰 트랜잭션 요청과 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청을 포함하는 두 개 이상의 큐잉된 대체불가 토큰 트랜잭션 요청을 구현하는 일괄 블록체인 트랜잭션을 생성하여 전파하게 하는, 비일시적 컴퓨터 판독가능 매체.

Claims (14)

  1. 컴퓨터 구현 방법으로서,
    제1 대체불가 토큰 트랜잭션 요청을 수신하는 단계;
    블록체인 네트워크의 혼잡 측정에 관한 네트워크 혼잡 메트릭을 획득하는 단계;
    상기 네트워크 혼잡 메트릭이 제1 임계 수준을 초과한다고 결정하는 단계; 및
    상기 네트워크 혼잡 메트릭이 상기 제1 임계 수준을 초과한다는 결정에 응답하여,
    상기 제1 대체불가 토큰 트랜잭션 요청을 큐잉하는(queue) 단계; 및
    큐 트리거를 검출하고, 이에 응답하여, 상기 블록체인 네트워크 상에 상기 제1 대체불가 토큰 트랜잭션 요청과 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청을 포함하는 큐잉된 두 개 이상의 대체불가 토큰 트랜잭션 요청을 구현하는 일괄 블록체인 트랜잭션을 생성하여 전파하는 단계를 포함하는, 컴퓨터 구현 방법.
  2. 제1항에 있어서, 상기 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청은, 상기 제1 대체불가 토큰 트랜잭션 요청 후에 수신되고 상기 제1 대체불가 토큰 트랜잭션 요청을 포함하는 큐에 첨부되는, 컴퓨터 구현 방법.
  3. 제1항 또는 제2항에 있어서, 상기 네트워크 혼잡 메트릭은, 블록체인 네트워크 상의 확인되지 않은 트랜잭션의 수, 상기 블록체인 네트워크 상의 새로운 트랜잭션의 수신 비율, 상기 블록체인 네트워크 상의 확인되지 않은 트랜잭션의 평균 연령, 일정 기간 동안 확인되지 않은 트랜잭션의 수의 변화율, 연산 작업당 비용 측정값, 또는 트랜잭션 수수료 중 하나 이상에 기초하는, 컴퓨터 구현 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 큐 트리거를 검출하는 단계는, 상기 제1 대체불가 토큰 트랜잭션 요청의 수신 이후로 경과된 시간이 최대 시간을 초과하였다고 결정하는 단계, 큐에 있는 요청의 수가 최대 수와 일치하거나 초과한다고 결정하는 단계, 또는 상기 네트워크 혼잡 메트릭이 제2 임계 수준 미만으로 떨어졌다고 결정하는 단계 중 하나 이상을 포함하는, 컴퓨터 구현 방법.
  5. 제4항에 있어서, 상기 제2 임계 수준은 상기 제1 임계 수준과 일치하는, 컴퓨터 구현 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 큐잉하는 단계는, 상기 제1 대체불가 토큰 트랜잭션 요청으로부터의 데이터의 적어도 일부를 상기 제1 대체불가 토큰 트랜잭션 요청을 구현하는 블록체인 트랜잭션을 생성하기에 충분한 메모리에 저장하는 단계를 포함하는, 컴퓨터 구현 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 일괄 블록체인 트랜잭션은, 일괄 처리 기능을 참조하고, 상기 두 개 이상의 대체불가 토큰 트랜잭션 요청의 구현을 반영하는 갱신된 NFT 상태를 제공하는, 컴퓨터 구현 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 제1 대체불가 토큰 트랜잭션 요청은, 민팅(minting) 요청이며, 수신인 어드레스를 포함하는, 컴퓨터 구현 방법.
  9. 제8항에 있어서, 상기 적어도 하나의 추가 대체불가 토큰 트랜잭션 요청은, 추가 민팅 요청이며, 각 수신인 어드레스를 포함하는, 컴퓨터 구현 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 큐잉된 대체불가 토큰 트랜잭션 요청은 이전에 민팅된 토큰에 관한 적어도 하나의 이체 요청을 포함하고, 상기 적어도 하나의 이체 요청은 이체수신인 어드레스와 디지털 서명을 포함하는, 컴퓨터 구현 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 일괄 블록체인 트랜잭션을 생성하여 전파하는 단계 후에,
    제2 대체불가 토큰 트랜잭션 요청을 수신하는 단계;
    상기 블록체인 네트워크의 혼잡 측정에 관한 갱신된 네트워크 혼잡 메트릭을 획득하는 단계;
    상기 갱신된 네트워크 혼잡 메트릭이 상기 제1 임계 수준 미만이라고 결정하는 단계; 및
    상기 갱신된 네트워크 혼잡 메트릭이 상기 제1 임계 수준 미만이라는 결정에 응답하여, 상기 블록체인 네트워크 상에 큐잉 없이 상기 제2 대체불가 토큰 트랜잭션 요청만을 구현하기 위한 단일 블록체인 트랜잭션을 생성하여 전송하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  12. 연산 시스템으로서,
    프로세서; 및
    상기 프로세서에 의해 실행되는 경우 상기 프로세서가 제1항 내지 제11항 중 어느 한 항의 방법을 수행하게 하는 컴퓨터 실행가능 명령어를 저장하는 메모리를 포함하는, 연산 시스템.
  13. 프로세서에 의해 실행되는 경우 상기 프로세서가 제1항 내지 제11항 중 어느 한 항의 방법에 따른 단계들을 수행하게 하도록 구성된 컴퓨터 프로그램.
  14. 프로세서에 의해 실행되는 경우 상기 프로세서가 제1항 내지 제11항 중 어느 한 항의 방법에 따른 단계들을 수행하게 하는 컴퓨터 실행가능 명령어를 저장하는 비일시적 컴퓨터 판독가능 매체.
KR1020220104877A 2021-09-13 2022-08-22 블록체인 네트워크 혼잡-적응형 디지털 자산 이벤트 처리용 시스템 및 방법 KR20230039523A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US17/473,284 US20230088674A1 (en) 2021-09-13 2021-09-13 Systems and methods for blockchain network congestion-adaptive digital asset event handling
US17/473,284 2021-09-13
EP22169579.4A EP4149046A1 (en) 2021-09-13 2022-04-22 Systems and methods for blockchain network congestion-adaptive digital asset event handling
EP22169579.4 2022-04-22

Publications (1)

Publication Number Publication Date
KR20230039523A true KR20230039523A (ko) 2023-03-21

Family

ID=81346364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220104877A KR20230039523A (ko) 2021-09-13 2022-08-22 블록체인 네트워크 혼잡-적응형 디지털 자산 이벤트 처리용 시스템 및 방법

Country Status (7)

Country Link
US (1) US20230088674A1 (ko)
EP (1) EP4149046A1 (ko)
KR (1) KR20230039523A (ko)
CN (1) CN115809909A (ko)
AU (1) AU2022204627A1 (ko)
CA (1) CA3166041A1 (ko)
TW (1) TW202312068A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761068A (zh) * 2021-09-15 2021-12-07 虎彩印艺股份有限公司 一种提升区块链网络并发处理能力的方法
US20240070659A1 (en) * 2022-08-30 2024-02-29 Coinbase, Inc. Systems and methods for facilitating blockchain operations across multiple blockchain networks using a decentralized exchange

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201711125D0 (en) * 2017-07-11 2017-08-23 Nchain Holdings Ltd Computer-implemented system and method
US10884810B1 (en) * 2017-11-16 2021-01-05 Amazon Technologies, Inc. Workload management using blockchain-based transaction deferrals
US11924360B2 (en) * 2018-10-08 2024-03-05 Green Market Square Limited Blockchain timestamp agreement
KR20200139033A (ko) * 2019-06-03 2020-12-11 삼성에스디에스 주식회사 트랜잭션 가속 처리 장치 및 그 방법
US11095431B2 (en) * 2019-12-13 2021-08-17 DLT Global, Inc. Blockchain transaction manager
US11928105B2 (en) * 2021-04-05 2024-03-12 Ronald George Martinez System for tracking data associated with a digital token
US11985253B2 (en) * 2021-08-04 2024-05-14 Pinterest, Inc. Non-fungible token authentication
US11902443B2 (en) * 2021-09-08 2024-02-13 Bank Of America Corporation System for linking and partitioning non-fungible tokens

Also Published As

Publication number Publication date
US20230088674A1 (en) 2023-03-23
AU2022204627A1 (en) 2023-03-30
CA3166041A1 (en) 2023-03-13
EP4149046A1 (en) 2023-03-15
CN115809909A (zh) 2023-03-17
TW202312068A (zh) 2023-03-16

Similar Documents

Publication Publication Date Title
US11201739B2 (en) Systems and methods for tying token validity to a task executed in a computing system
US20220006770A1 (en) Systems and methods for recommending merchant discussion groups
US10878405B2 (en) Smart redundant pairing of a card reader
US20210056567A1 (en) Control methods and systems for channel synchronization
US11201738B2 (en) Systems and methods for associating a user with a task executed in a computing system
EP4148643A1 (en) Non-fungible-token-based commerce attribute
US11847585B2 (en) Systems and methods for selectively preventing origination of transaction requests
KR20230039523A (ko) 블록체인 네트워크 혼잡-적응형 디지털 자산 이벤트 처리용 시스템 및 방법
US20230351368A1 (en) E-Commerce Platform with Tokenization System
US20220398572A1 (en) Systems and methods for controlling transfers of digital assets
US11544053B2 (en) Methods and systems for generating application build recommendations
US11386476B2 (en) Methods and systems for notifying users of new applications
US20200402087A1 (en) Control methods and systems for multi-currency pricing
CA3194022A1 (en) Methods and systems for inventory management for blockchain-based transactions
US20220237545A1 (en) System and method for creating a service instance
US20200349620A1 (en) Email address verification
CA3098007C (en) System and method for merging accounts
US12008573B2 (en) Computer-implemented systems and methods for detecting fraudulent activity
US20240020683A1 (en) Methods and systems for multiple gating verifications based on a blockchain wallet
US20220398568A1 (en) Methods and systems for authorizing devices in multiple domains
US20220230178A1 (en) Computer-implemented systems and methods for detecting fraudulent activity
US20200402123A1 (en) Control methods and systems for multi-currency pricing