KR102364906B1 - 서로 다른 블록체인들 사이의 토큰 전송 방법, 언스펜트 집합 재구성 방법 및 이를 위한 장치 - Google Patents

서로 다른 블록체인들 사이의 토큰 전송 방법, 언스펜트 집합 재구성 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102364906B1
KR102364906B1 KR1020190165094A KR20190165094A KR102364906B1 KR 102364906 B1 KR102364906 B1 KR 102364906B1 KR 1020190165094 A KR1020190165094 A KR 1020190165094A KR 20190165094 A KR20190165094 A KR 20190165094A KR 102364906 B1 KR102364906 B1 KR 102364906B1
Authority
KR
South Korea
Prior art keywords
unspent
tokens
account
unspents
token
Prior art date
Application number
KR1020190165094A
Other languages
English (en)
Other versions
KR20210074081A (ko
Inventor
하수철
오재훈
한진수
김주관
Original Assignee
두나무 주식회사
람다256 주식회사
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 두나무 주식회사, 람다256 주식회사 filed Critical 두나무 주식회사
Priority to KR1020190165094A priority Critical patent/KR102364906B1/ko
Publication of KR20210074081A publication Critical patent/KR20210074081A/ko
Application granted granted Critical
Publication of KR102364906B1 publication Critical patent/KR102364906B1/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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • 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/382Payment protocols; Details thereof insuring higher security of transaction

Landscapes

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

Abstract

기재된 실시예는 블록체인에서의 토큰 전송 기술에 관한 것으로서, 블록체인의 계정에 할당된 언스펜트 집합에 포함될 언스펜트들의 목표 개수에 기반하여, 단위 토큰 언스펜트 개수들을 결정하는 단계, 상기 언스펜트 집합에 포함된 언스펜트들의 토큰 개수들의 총 합을 이용하여, 각각 상기 단위 토큰 언스펜트 개수들 각각에 상응하는 재구성 토큰 개수들을 결정하는 단계, 및 상기 단위 토큰 언스펜트 개수들 및 상기 재구성 토큰 개수들을 이용하여 상기 언스펜트 집합에 포함될 언스펜트들을 생성하는 단계를 포함하는 언스펜트 집합 재구성 방법이 제공될 수 있다.

Description

서로 다른 블록체인들 사이의 토큰 전송 방법, 언스펜트 집합 재구성 방법 및 이를 위한 장치 {METHOD OF TRANSFER TOKENS BETWEEN DIFFERENT BLOCKCHAINS, METHOD OF RECONSTRUCTING UNSPENT SET, AND APPARATUS THEREFOR}
기재된 실시예는 블록체인에서의 토큰 전송 기술에 관한 것으로, 특히 서로 다른 블록체인들 사이에서 보다 효율적으로 토큰이 전송될 수 있도록 언스펜트(unspent)를 관리하는 기술에 관한 것이다.
새로운 네트워크 플랫폼의 탄생으로 전 세계는 중앙 집중식 서버의 시대에서 피어투피어(peer to peer) 방식의 분산 네트워크 시대로의 변화를 맞이하고 있다.
블록체인(blockchain)은 관리 대상 데이터를 체인 형태의 연결고리 기반 분산 데이터 저장환경에 저장함으로써, 데이터의 임의 수정이 어렵고, 데이터의 이력 확인이 용이한 분산 컴퓨팅 기술 기반의 데이터 위변조 방지 기술이다.
스마트 컨트랙트(smart contract)는 실행 가능한 바이트 코드(byte code)로 컴파일(compile)되어 적어도 하나의 컴퓨팅 장치 상에서 실행될 수 있는 코드이고, 실행 시에 특정 조건이 만족되면 미리 정해진 절차를 수행하도록 구성되며, 실행의 결과인 실행 결과값의 무결성은 적어도 하나의 컴퓨팅 장치로부터 산출된 실행 결과 값에 대한 합의(consensus)에 의하여 검증된다.
블록체인을 이용한 토큰 전송 시스템(송금 시스템)은 크게 두 가지 방식의 데이터 구조를 사용하는데, 첫 번째는 계정 기반 잔액 기록 방식이고, 두 번째는 거래 기반 방식(화폐 식별 방식)이다.
계정 기반 잔액 기록 방식은 이용자 각각의 계정이 잔액 총량으로 관리된다. 예를 들어, A계정의 잔액이 1000 코인이고, B계정이 잔액이 2000 코인일 때, A계정에서 B계정으로 500코인이 전송되는 경우 A계정에서 500코인을 빼는 계정 업데이트 및 B계정에 500코인을 더하는 계정 업데이트가 모두 수행되어야 한다. 토큰 전송 과정에서 장애가 발생하여 A계정에서 500코인을 빼는 계정 업데이트는 수행되고, B계정에 500코인을 더하는 계정 업데이트는 수행되지 않는 경우 500 코인은 사라져 버리게 된다. 즉, 계정 기반 잔액 기록 방식은 블록 내에 동일한 키(key)에 대해 둘 이상의 키-밸류 페어(key-value pair)들이 존재하는 경우 모든 키-밸류 페어들이 무시되지 않는다.
거래 기반 방식은 실제 화폐를 주고 받는 경우와 유사한 방식으로, 화폐나 코인에 해당하는 토큰의 소유자를 변경하는 방식으로 거래가 기록된다. 예를 들어, A계정이 500 코인 두 개를 소유하여 잔액이 1000 코인이고, B계정이 1000 코인 한 개와 500 코인 두 개를 소유하여 잔액이 2000 코인인 경우, A계정에서 B계정으로 500코인이 전송되는 경우 A계정이 소유한 500 코인 두 개중 하나의 소유자가 B계정으로 변경된다. 거래 기반 방식의 경우에는 토큰 전송 과정에서 장애가 발생해도 토큰이 사라지는 경우는 발생하지 않는다. 그러나, 거래 기반 방식의 경우 A계정에서 800 코인을 전송하는 경우에는 코인을 환전해야하고, 계정의 잔액을 확인하기 위해 소유하고 있는 토큰들의 총 합을 산출해야 하는 번거로움이 있다. 계정 기반 방식은 블록 내에 동일한 키(key)에 대해 둘 이상의 키-밸류 페어들이 존재하는 경우 첫 번째 키-밸류 페어 이외에는 모두 무시된다.
거래 기반 방식은 데이터의 병렬 처리 측면에서 계정 기반 잔액 기록 방식에 비해 이점이 있다. 예를 들어, 서로 다른 두 명의 사용자가 1000 코인을 보유한 A계정으로 500 코인씩을 전송하는 경우, 계정 기반 잔액 기록 방식은 두 번의 500 코인 전송을 순차적으로 처리(A계정의 잔액이 1000 코인-> 1500 코인-> 2000 코인)할 수 밖에 없지만, 거래 기반 방식은 두 개의 500 코인 전송들을 개별적으로 병렬 처리할 수 있다.
특히, 거래 기반 방식은 대부분 UXTO(Unspent Transaction Output)를 기반으로 구현되어 UXTO 기반 방식이라고도 한다. UTXO 방식으로 구현된 블록체인에서 아직 사용되지 않은 잔고의 조각을 언스펜트(unspent)라고 한다.
블록체인 기반 서비스에 대한 다양한 요구들을 만족시키기 위해, 메인 체인과 사이드 체인을 분리하여 운영하는 방식의 서비스들이 증가해가고 있다. 이 때, 계정 기반 잔액 기록 방식의 블록체인을 메인 체인으로 하고, 거래 기반 방식의 블록체인을 사이드 체인으로 하여 서로 상이한 두 블록 체인들을 연동하여 서비스를 제공할 수 있다.
따라서, 계정 기반 잔액 기록 방식의 블록체인 및 거래 기반 방식의 블록체인 사이에서 토큰들을 효과적으로 전송할 수 있는 새로운 기술의 필요성이 절실하게 대두된다.
기재된 실시예는 서로 다른 종류의 블록체인들 사이에서 효율적으로 토큰 전송이 수행되도록 하는 것을 목적으로 한다.
기재된 실시예는 토큰 전송에 사용되는 언스펜트들을 효과적으로 관리하여 지나치게 많은 더스트(dust)가 생기는 것을 방지하면서도, 최대한의 동시 처리 성능을 제공하는 것을 목적으로 한다.
실시예에 따른 서로 다른 블록체인들 사이의 토큰 전송 방법은, 제1 블록체인의 소스 계정에서 제2 블록체인의 목적지 계정으로의 토큰 전송 요청에 기반하여, 상기 소스 계정에서 상기 제1 블록체인의 브릿지 계정으로, 상기 토큰 전송 요청에 상응하는 개수의 토큰들을 전송하는 단계 및 상기 제2 블록체인의 브릿지 계정에 할당된, 재구성된 언스펜트 집합에 포함된 언스펜트들 중 적어도 하나를 이용하여, 상기 제2 블록체인의 브릿지 계정에서 상기 목적지 계정으로 상기 개수의 토큰들을 전송하는 단계를 포함할 수 있다.
상기 재구성된 언스펜트 집합은 상기 제2 블록체인의 브릿지 계정의 언스펜트들의 토큰 개수들의 총 합을 산출하는 단계 및 상기 총 합과 동일한 토큰 개수들을 포함하는 상기 재구성된 언스펜트 집합을 생성하는 단계에 의하여 생성될 수 있다.
상기 재구성된 언스펜트 집합은 상기 제2 블록체인의 브릿지 계정에 포함된 언스펜트들의 개수에 기반하여 변경되는 주기에 따른 주기적 요청에 의하여 생성될 수 있다.
상기 주기는 상기 언스펜트들의 개수가 상기 제2 블록체인에서 한 번에 처리 가능한 언스펜트들의 최대 개수에 기반하여 결정된 제1 문턱값을 초과하는 경우 감소되고, 상기 제1 문턱값보다 작은 제2 문턱값 미만인 경우 증가할 수 있다.
상기 언스펜트들 중 적어도 하나는 언스펜트 선택 함수를 호출하여 선택될 수 있다.
상기 언스펜트 선택 함수는 전송 토큰 개수의 언스펜트 리스트를 입력으로 받아서, 상기 언스펜트 리스트 내에 상기 전송 토큰 개수보다 많은 토큰 개수를 포함하는 초과 언스펜트가 존재하는 경우, 상기 초과 언스펜트 중 가장 작은 것을 출력하고, 상기 초과 언스펜트가 존재하지 않는 경우, 상기 언스펜트 리스트 내의 최대 언스펜트를 출력한 후 상기 전송 토큰 개수 및 상기 최대 언스펜트의 토큰 개수의 차와 업데이트된 상기 언스펜트 리스트를 입력으로 상기 언스펜트 선택 함수를 재귀적으로 호출할 수 있다.
실시예에 따른 언스펜트 집합 재구성 방법은, 블록체인의 계정에 할당된 언스펜트 집합에 포함될 언스펜트들의 목표 개수에 기반하여, 단위 토큰 언스펜트 개수들을 결정하는 단계, 상기 언스펜트 집합에 포함된 언스펜트들의 토큰 개수들의 총 합을 이용하여, 각각 상기 단위 토큰 언스펜트 개수들 각각에 상응하는 재구성 토큰 개수들을 결정하는 단계, 및 상기 단위 토큰 언스펜트 개수들 및 상기 재구성 토큰 개수들을 이용하여 상기 언스펜트 집합에 포함될 언스펜트들을 생성하는 단계를 포함할 수 있다.
상기 재구성 토큰 개수들을 결정하는 단계는 2이상의 자연수인 r의 거듭제곱의 역수를 이용하여 상기 재구성 토큰 개수들 중 어느 하나 이상을 결정할 수 있다.
상기 r은 상기 재구성 토큰 개수들 중 최대값을 증가시키기 위해 더 작은 값으로 설정될 수 있다.
상기 목표 개수는 상기 언스펜트 집합이 재구성되는 주기의 결정에 이용되는 제1 문턱값 및 상기 제1 문턱값보다 작은 제2 문턱값 사이의 값으로 결정될 수 있다.
상기 단위 토큰 언스펜트 개수들은 첫 항이 1이고 공비가 상기 r인 등비수열의 첫 항부터 N번째 항까지의 N개의 항들을 이용하여 결정되고, 상기 N은 상기 등비수열의 첫 항부터 N번째 항까지의 합이 상기 목표 개수를 초과하지 않는 최대의 자연수일 수 있다.
상기 단위 토큰 언스펜트 개수들 각각은 상기 N개의 항들 중 어느 하나에 상응하는 제1 펙터, 및 상기 목표 개수와 상기 등비수열의 첫 항부터 N번째 항까지의 합 사이의 차를 이용하여 계산된 제2 펙터의 합을 이용하여 결정될 수 있다.
상기 재구성 토큰 개수들은 상기 N개의 서로 다른 값들일 수 있다.
상기 재구성 토큰 개수들은 단위 토큰 언스펜트 개수가 클수록 작은 값으로 결정될 수 있다.
상기 재구성 토큰 개수들 중 어느 하나 이상은 상기 토큰 개수들의 총 합과 서비스에서 허용되는 최소 전송 토큰 개수의 차를, 상기 r의 거듭제곱으로 나눈 값을 이용하여 결정될 수 있다.
상기 언스펜트 집합 재구성 방법은 상기 언스펜트 집합에 포함될 언스펜트들을 상기 재구성 토큰 개수들의 순서로 정렬하여 언스펜트 리스트를 생성하는 단계를 더 포함할 수 있다.
실시예에 따른 언스펜트 집합 재구성 장치는, 적어도 하나의 프로그램이 기록된 메모리, 및 상기 프로그램을 실행하는 프로세서를 포함하며, 상기 프로그램은 블록체인의 계정에 할당된 언스펜트 집합에 포함될 언스펜트들의 목표 개수에 기반하여, 단위 토큰 언스펜트 개수들을 결정하는 단계, 상기 언스펜트 집합에 포함된 언스펜트들의 토큰 개수들의 총 합을 이용하여, 각각 상기 단위 토큰 언스펜트 개수들 각각에 상응하는 재구성 토큰 개수들을 결정하는 단계, 및 상기 단위 토큰 언스펜트 개수들 및 상기 재구성 토큰 개수들을 이용하여 상기 언스펜트 집합에 포함될 언스펜트들을 생성하는 단계의 수행을 위한 명령어들을 포함할 수 있다.
상기 재구성 토큰 개수들을 결정하는 단계는 2이상의 자연수인 r의 거듭제곱의 역수를 이용하여 상기 재구성 토큰 개수들 중 어느 하나 이상을 결정할 수 있다.
상기 r은 상기 재구성 토큰 개수들 중 최대값을 증가시키기 위해 더 작은 값으로 설정될 수 있다.
상기 프로그램은 상기 언스펜트 집합에 포함될 언스펜트들을 생성하는 단계 후, 상기 언스펜트 집합에 포함될 언스펜트들을 상기 재구성 토큰 개수들의 순서로 정렬하여 언스펜트 리스트를 생성하는 단계의 수행을 위한 명령어들을 더 포함할 수 있다.
기재된 실시예에 따르면 서로 다른 종류의 블록체인들 사이에서 효율적으로 토큰 전송이 수행될 수 있다.
기재된 실시예에 따르면 토큰 전송에 사용되는 언스펜트들을 효과적으로 관리하여 지나치게 많은 더스트(dust)가 생기는 것을 방지하면서도, 최대한의 동시 처리 성능을 제공할 수 있다.
도 1은 실시예에 따른 서로 다른 블록체인들 사이의 토큰 전송을 위한 연동 시스템을 나타낸 블록도이다.
도 2는 실시예에 따른 UTXO 기반 블록체인에서 계정 기반 블록체인으로 토큰이 전송되는 예를 나타낸 블록도이다.
도 3은 실시예에 따른 계정 기반 블록체인에서 UTXO 기반 블록체인으로 토큰이 전송되는 예를 나타낸 블록도이다.
도 4는 도 3에 도시된 연동부의 일 예를 나타낸 블록도이다.
도 5는 실시예에 따른 서로 다른 블록체인들 사이의 토큰 전송 방법을 나타낸 동작 흐름도이다.
도 6은 실시예에 따른 언스펜트 집합 재구성 방법을 나타낸 동작 흐름도이다.
도 7은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하에서는, 도 1 내지 도 7을 참조하여 실시예에 따른 서로 다른 블록체인들 사이의 토큰 전송 방법, 언스펜트 집합 재구성 방법 및 이를 위한 장치가 상세히 설명된다.
도 1은 실시예에 따른 서로 다른 블록체인들 사이의 토큰 전송을 위한 연동 시스템을 나타낸 블록도이다.
도 1을 참조하면, 서로 다른 블록체인들 사이의 토큰 전송을 위한 연동 시스템은 계정 기반 블록체인 시스템(110), UTXO 기반 블록체인 시스템(120) 및 연동부(130)를 포함한다.
전술한 바와 같이, UTXO 기반 블록체인 시스템은 거래 기반 블록체인 시스템이라고 할 수도 있다. 즉, UTXO 기반 블록체인 또는 UTXO 기반 브릿지부는 거래 기반 블록체인 또는 거래 기반 브릿지부일 수 있다.
계정 기반 블록체인 시스템(110)은 계정 기반 블록체인(111) 및 계정 기반 브릿지부(113)를 포함한다.
계정 기반 블록체인(111)에서는 계정 기반으로 토큰과 관련된 트랜젝션이 기록된다.
계정 기반 브릿지부(113)는 계정 기반 블록체인(111) 측에서, UTXO 기반 블록체인 시스템(120)과 연동을 위해 필요한 동작을 수행한다.
UTXO 기반 블록체인 시스템(120)은 UTXO 기반 블록체인(121) 및 UTXO 기반 브릿지부(123)를 포함한다.
UTXO 기반 블록체인(121)에서는 UTXO 기반으로 토큰과 관련된 트랜젝션이 기록된다.
계정 기반 블록체인(111)은 잔액 총량으로 관리되는 계정에 상응하고, UTXO 기반 블록체인(121)은 언스펜트들을 포함하는 계정에 상응할 수 있다. 도 1에 도시된 바와 같이, UTXO 기반 블록체인의 A계정은 30 및 70에 해당하는 언스펜트들을 포함하여 잔액 총량이 100이 되고, B계정은 100 및 100에 해당하는 언스펜트들을 포함하여 잔액 총량이 200이 될 수 있다.
UTXO 기반 브릿지부(123)는 UTXO 기반 블록체인(121) 측에서, 계정 기반 블록체인 시스템(110)과 연동을 위해 필요한 동작을 수행한다.
연동부(130)는 계정 기반 블록체인(111)에서 UTXO 기반 블록체인(121)으로의 토큰 전송이 요청될 때, 요청된 토큰 개수 만큼이 계정 기반 블록체인(111)의 브릿지 계정으로 전송되면 UTXO 기반 블록체인 시스템(120)으로 토큰 전송을 요청한다. 요청을 받은 UTXO 기반 블록체인 시스템(120)의 UTXO 기반 브릿지부(123)는 UTXO 기반 블록체인(121)의 브릿지 계정에서 목적지 계정으로 요청된 토큰 개수 만큼이 전송되도록 한다.
연동부(130)는 UTXO 기반 블록체인(121)에서 계정 기반 블록체인(111)으로의 토큰 전송이 요청될 때, 요청된 토큰 개수 만큼이 UTXO 기반 블록체인(121)의 브릿지 계정으로 전송되면 계정 기반 블록체인 시스템(110)으로 토큰 전송을 요청한다. 요청을 받은 계정 기반 블록체인 시스템(110)의 계정 기반 브릿지부(113)는 계정 기반 블록체인(111)의 브릿지 계정에서 목적지 계정으로 요청된 토큰 개수 만큼이 전송되도록 한다.
도 1에 도시된 계정 기반 브릿지부(113) 및 UTXO 기반 브릿지부(123)는 스마트 컨트랙트(smart contract)를 이용하여 구현된 것일 수 있다. 이 때, 스마트 컨트랙트(smart contract)는 하이퍼레저 페브릭(Hyperledger Fabric) 등에서 사용되는 체인코드를 포함하는 개념일 수 있다.
도 1에 도시된 연동부(130)는 댑(DApp; Decentralized application)을 이용하여 구현된 것일 수 있다.
도 1에 도시된 예에서 서로 다른 블록체인들인 계정 기반 블록체인(111) 및 UTXO 기반 블록체인(121) 사이의 토큰 전송은 계정 기반 브릿지부(113) 및 UTXO 기반 브릿지부(123)를 통해서만 가능할 수 있다.
예를 들어, 계정 기반 블록체인(111)에서 UTXO 기반 블록체인(121)으로 토큰을 전송하는 경우, 먼저 계정 기반 브릿지부(113)가 소스 계정에서 계정 기반 블록체인(111)의 브릿지 계정으로 토큰이 전송되어 잠금(freezing)되도록 하고, 전송된 토큰의 잠금이 감지(토큰의 잠금에 기반하여 발생된 이벤트가 감지)되면 연동부(130)가 UTXO 기반 브릿지부(123)로 토큰 전송을 요청할 수 있다. 토큰 전송 요청을 받은 UTXO 기반 브릿지부(123)는 UTXO 기반 블록체인(121)의 브릿지 계정에서 목적지 계정으로 토큰이 전송되도록 할 수 있다.
예를 들어, UTXO 기반 블록체인(121)에서 계정 기반 블록체인(111)으로 토큰을 전송하는 경우, 먼저 UTXO 기반 브릿지부(123)가 소스 계정에서 UTXO 기반 블록체인(121)의 브릿지 계정으로 토큰이 전송되어 잠금(freezing)되도록 하고, 전송된 토큰의 잠금이 감지(토큰의 잠금에 기반하여 발생된 이벤트가 감지)되면 연동부(130)가 계정 기반 브릿지부(113)로 토큰 전송을 요청할 수 있다. 토큰 전송 요청을 받은 계정 기반 브릿지부(113)는 계정 기반 블록체인(111)의 브릿지 계정에서 목적지 계정으로 토큰이 전송되도록 할 수 있다.
계정 기반 블록체인(111)의 브릿지 계정은 UTXO 기반 블록체인(121)에서 유통되는 토큰의 통화량에 상응하는 토큰 개수들을 보유할 수 있고, UTXO 기반 블록체인(121)의 브릿지 계정은 계정 기반 블록체인(111)에서 유통되는 토큰의 통화량에 상응하는 토큰 개수들을 보유할 수 있다. 이 때, 계정 기반 블록체인(111)의 브릿지 계정 및 UTXO 기반 블록체인(121)의 브릿지 계정은 각각 하나의 계정일 수도 있고, 복수개의 계정들로 이루어질 수도 있다.
도 1에 도시된 연동 시스템의 초기화는 먼저 계정 기반 블록체인(111)에서 발행할 총 토큰 개수만큼 토큰을 생성한 후 이를 모두 계정 기반 블록체인(111)의 브릿지 계정으로 전송하여 잠금(freezing)되도록 하고, UTXO 기반 블록체인(121)의 제네시스 계정에서 상기 총 토큰 개수만큼 토큰을 발행하여 수행될 수 있다. 실시예에 따라, 연동 시스템의 초기화는 먼저 UTXO 기반 블록체인(121)에서 발행할 총 토큰 개수만큼 토큰을 생성한 후 이를 모두 UTXO 기반 블록체인(121)의 브릿지 계정으로 전송하여 잠금(freezing)되도록 하고, 계정 기반 블록체인(111)의 제네시스 계정에서 상기 총 코인 개수만큼 토큰을 발행하여 수행될 수도 있다.
도 2는 실시예에 따른 UTXO 기반 블록체인에서 계정 기반 블록체인으로 토큰이 전송되는 예를 나타낸 블록도이다.
도 2를 참조하면, UTXO 기반 블록체인(221)에서 계정 기반 블록체인(211)으로 토큰이 전송되는 것을 알 수 있다.
도 2에 도시된 계정 기반 브릿지부(213) 및 UTXO 기반 브릿지부(223)는 각각 스마트 컨트랙트(smart contract)를 이용하여 구현될 수 있고, 이 때 스마트 컨트랙트를 브릿지 스마트 컨트랙트로 지칭한다. 나아가, UTXO 기반 블록체인(221) 및 계정 기반 블록체인(211) 각각에서 수행되는 토큰 트랜젝션을 처리하기 위해 복수개의 스마트 컨트랙트들이 이용될 수 있다. 예를 들어, UTXO 기반 블록체인(221)의 토큰 전송을 위한 기능은 UTXO 기반 토큰 스마트 컨트랙트에 의하여 구현될 수 있고, 계정 기반 블록체인(211)의 토큰 전송을 위한 기능은 계정 기반 토큰 스마트 컨트랙트에 의하여 구현될 수 있다. 이 때, 스마트 컨트랙트는 하이퍼레저 페브릭(Hyperledger Fabric) 등에서 사용되는 체인코드를 포함하는 개념일 수 있다.
연동부(230)는 댑(DApp; Decentralized application)을 이용하여 구현될 수 있다.
UTXO 기반 블록체인(221)에서 계정 기반 블록체인(211)으로의 토큰 전송은 UTXO 기반 블록체인의 댑(DApp)에 의하여 요청될 수 있다.
UTXO 기반 블록체인(221)에서 계정 기반 블록체인(211)으로 토큰이 전송될 때에는 UTXO 기반 블록체인(221)의 브릿지 계정에 새로운 언스펜트가 생성되는 방식으로 동작한다. 따라서, 여러 개의 계정들에서 동시에 토큰을 전송하는 경우에도 브릿지 계정에서는 모두 상이한 인덱스로 식별할 수 있으므로 아무런 문제가 없다. 다만, 브릿지 계정에 포함된 언스펜트들이 증가할 수 있다.
이하, 도 2의 토큰 전송 과정을 보다 상세하게 설명한다.
먼저, 연동부(230)에서 UTXO 기반 블록체인(221)에 이벤트 리스너(event listener)를 등록한다. 이 때, 이벤트 리스너의 등록은 댑(DApp)에 의하여 수행될 수 있다.
UTXO 기반 블록체인의 댑(DApp)은 UTXO 기반 브릿지부(223)에 해당하는 브릿지 스마트 컨트랙트의 전송(transfer) 함수를 호출한다. 이 때, 브릿지 스마트 컨트랙트의 전송 함수는 (소스 주소: UTXO 기반 블록체인 계정 주소, 목적지 주소: 계정 기반 블록체인 계정 주소, 토큰 개수)를 파라미터로 호출될 수 있다.
UTXO 기반 브릿지부(223)의 브릿지 스마트 컨트랙트의 전송 함수 내에서, UTXO 기반 토큰 스마트 컨트랙트의 전송 함수가 호출된다. 이 때, UTXO 기반 토큰 스마트 컨트랙트의 전송 함수는 (소스 주소: UTXO 기반 블록체인 계정 주소, 목적지 주소: UTXO 기반 블록체인의 브릿지 계정 주소)를 파라미터로 하고, 계정 기반 블록체인 계정 주소와 토큰 개수를 페이로드(payload)로 하여 호출될 수 있다. UTXO 기반 토큰 스마트 컨트랙트의 전송 함수가 호출될 때 상기 이벤트가 발생될 수 있다.
UTXO 기반 블록체인(221)에서 트랜잭션이 성공적으로 수행되어 블록에 포함되면, 연동부(230)에서 이벤트를 수신하게 되고, 페이로드를 읽어서 (소스 주소: 계정 기반 블록체인의 브릿지 계정 주소, 목적지 주소: 계정 기반 블록체인 계정 주소, 토큰 개수)를 파라미터로 계정 기반 브릿지부(213)에 해당하는 브릿지 스마트 컨트랙트의 전송 함수를 호출한다.
브릿지부(213)의 브릿지 스마트 컨트랙트의 전송 함수 내에서 계정 기반 토큰 스마트 컨트랙트의 전송 함수가 호출되어 계정 기반 블록체인(211)의 브릿지 계정에서 목적지 계정으로 토큰 개수만큼의 토큰들이 전송되면 동작이 완료된다.
도 2의 계정 기반 블록체인(211) 및 계정 기반 브릿지부(213)가 계정 기반 블록체인 시스템(210)을 구성하고, UTXO 기반 블록체인(221) 및 UTXO 기반 브릿지부(223)가 UTXO 기반 블록체인 시스템(220)을 구성한다.
도 3은 실시예에 따른 계정 기반 블록체인에서 UTXO 기반 블록체인으로 토큰이 전송되는 예를 나타낸 블록도이다.
도 3을 참조하면, 계정 기반 블록체인(311)에서 UTXO 기반 블록체인(321)으로 토큰이 전송되는 것을 알 수 있다.
도 3에 도시된 계정 기반 브릿지부(313) 및 UTXO 기반 브릿지부(323)는 각각 스마트 컨트랙트(smart contract)를 이용하여 구현될 수 있고, 이 때 스마트 컨트랙트를 브릿지 스마트 컨트랙트로 지칭한다. 나아가, UTXO 기반 블록체인(321) 및 계정 기반 블록체인(311) 각각에서 수행되는 토큰 트랜젝션을 처리하기 위해 복수개의 스마트 컨트랙트들이 이용될 수 있다. 예를 들어, UTXO 기반 블록체인(321)의 토큰 전송을 위한 기능은 UTXO 기반 토큰 스마트 컨트랙트에 의하여 구현될 수 있고, 계정 기반 블록체인(311)의 토큰 전송을 위한 기능은 계정 기반 토큰 스마트 컨트랙트에 의하여 구현될 수 있다. 이 때, 스마트 컨트랙트는 하이퍼레저 페브릭(Hyperledger Fabric) 등에서 사용되는 체인코드를 포함하는 개념일 수 있다.
도 3의 계정 기반 블록체인(311) 및 계정 기반 브릿지부(313)가 계정 기반 블록체인 시스템(310)을 구성하고, UTXO 기반 블록체인(321) 및 UTXO 기반 브릿지부(323)가 UTXO 기반 블록체인 시스템(320)을 구성한다.
연동부(330)는 하나 이상의 댑(DApp; Decentralized application)을 이용하여 구현될 수 있다. 특히, 도 3의 연동부(330)는 토큰 전송 처리를 위한 댑과 언스펜트 관리를 위한 댑 두 개를 포함할 수 있다.
계정 기반 블록체인(311)에서 UTXO 기반 블록체인(321)으로의 토큰 전송은 계정 기반 블록체인의 댑(DApp)에 의하여 요청될 수 있다.
UTXO 기반 블록체인(321)의 토큰 전송시에는 언스펜트가 너무 많아지는 더스트(dust) 현상을 방지하기 위해 언스펜트의 개수를 적절히 관리할 필요가 있다. 나아가, 언스펜트들이 너무 적인 경우에는 동시 처리 성능이 저하되기 때문에, 언스펜트들의 개수가 적절히 유지되어야 충분한 토큰 전송 효율을 보장할 수 있다. 따라서, 언스펜트 관리는 언스펜트들의 개수를 줄이는 것일 수도 있고, 언스펜트들의 개수를 늘리는 것일 수도 있다.
도 3을 통하여 설명되는 실시예에서는 계정 기반 블록체인(311)에서 UTXO 기반 블록체인(321)으로 토큰이 전송될 때, 언스펜트 관리 기능을 수행한다. 이는, 언스펜트 관리와 토큰 전송이 동시에 발생할 경우 둘 중 하나가 실패하거나 처리가 늦어지는 문제가 발생할 수 있는데, UTXO 기반 블록체인(321)에서 계정 기반 블록체인(311)으로 토큰이 전송될 때에는 항상 새로운 언스펜트가 생기기 때문에 동시 처리 문제가 발생할 가능성이 없고, 계정 기반 블록체인(311)에서 UTXO 기반 블록체인(321)으로 토큰이 전송될 때에만 문제가 발생할 가능성이 있기 때문이다.
이하, 도 3의 토큰 전송 과정을 보다 상세하게 설명한다.
먼저, 연동부(330)에서 계정 기반 블록체인(311)에 이벤트 리스너(event listener)를 등록한다. 이 때, 이벤트 리스너의 등록은 토큰 전송 처리를 위한 댑(DApp)에 의하여 수행될 수 있다.
계정 기반 블록체인의 댑(DApp)은 계정 기반 브릿지부(313)에 해당하는 브릿지 스마트 컨트랙트의 전송(transfer) 함수를 호출한다. 이 때, 브릿지 스마트 컨트랙트의 전송 함수는 (소스 주소: 계정 기반 블록체인 계정 주소, 목적지 주소: UTXO 기반 블록체인 계정 주소, 토큰 개수)를 파라미터로 호출될 수 있다.
계정 기반 브릿지부(313)의 브릿지 스마트 컨트랙트의 전송 함수 내에서, 계정 기반 토큰 스마트 컨트랙트의 전송 함수가 호출된다. 이 때, 계정 기반 토큰 스마트 컨트랙트의 전송 함수는 (소스 주소: 계정 기반 블록체인 계정 주소, 목적지 주소: 계정 기반 블록체인의 브릿지 계정 주소)를 파라미터로 하고, UTXO 기반 블록체인 계정 주소와 토큰 개수를 페이로드(payload)로 하여 호출될 수 있다. 계정 기반 토큰 스마트 컨트랙트의 전송 함수가 호출될 때 상기 이벤트가 발생될 수 있다.
계정 기반 블록체인(311)에서 트랜잭션이 성공적으로 수행되어 블록에 포함되면, 연동부(330)에서 이벤트를 수신하게 되고, 페이로드를 읽어서 (소스 주소: UTXO 기반 블록체인의 브릿지 계정 주소, 목적지 주소: UTXO 기반 블록체인 계정 주소, 토큰 개수)를 파라미터로 UTXO 기반 브릿지부(323)에 해당하는 브릿지 스마트 컨트랙트의 전송 함수를 호출하기 위한 요청을 생성하여 큐(queue)에 저장한다.
이 때, 큐(queue)는 연동부(330)가 수행할 작업이 저장되는 저장공간으로, 토큰 전송 요청뿐만 아니라 언스펜트 집합 재구성 요청(언스펜트 관리 요청)이 저장될 수 있다.
큐에서 리드된 작업이 토큰 전송을 위해 브릿지 스마트 컨트랙트의 전송 함수를 호출하는 요청인 경우, UTXO 기반 브릿지부(323)의 브릿지 스마트 컨트랙트의 전송 함수 내에서 UTXO 기반 토큰 스마트 컨트랙트의 전송 함수가 호출되어 UTXO 기반 블록체인(321)의 브릿지 계정에서 목적지 계정으로 토큰 개수만큼의 토큰들이 전송되면 동작이 완료된다.
큐에서 리드된 작업이 언스펜트 집합 재구성 요청일 경우, UTXO 기반 블록체인(321)의 브릿지 계정의 언스펜트 집합이 재구성된다. 이 때, 언스펜트 집합은 해당 계정의 모든 언스펜트들의 집합을 나타내고, 언스펜트 집합의 재구성은 해당 계정의 토큰 개수들의 총 합을 유지하면서 언스펜트들을 다시 생성하는 것일 수 있다.
도 4는 도 3에 도시된 연동부의 일 예를 나타낸 블록도이다.
도 4를 참조하면, 연동부는 큐(410), 토큰 전송 처리부(420), 언스펜트 집합 재구성부(430) 및 작업 지시부(440)를 포함한다.
큐(410)는 UTXO 기반 브릿지부(323)로 요청할 작업들을 저장한다.
토큰 전송 처리부(420)는 계정 기반 블록체인으로부터 발생하는 이벤트를 감지하여 UTXO 기반 브릿지부에 해당하는 브릿지 스마트 컨트랙트의 전송 함수를 호출하기 위한 요청을 생성하여 큐(410)에 저장한다.
언스펜트 집합 재구성부(430)는 언스펜트 집합 재구성 요청을 주기적으로 생성하여 큐(410)에 저장한다. 이 때, 주기는 해당 계정에 포함된 언스펜트들의 개수에 따라 실시간으로 변경될 수 있다.
작업 지시부(440)는 큐(410)에 저장된 요청들을 순차적으로 리드하여 UTXO 기반 블록체인 시스템으로 리드된 요청을 전송한다.
도 4에 도시된 토큰 전송 처리부(420) 및 언스펜트 집합 재구성부(430)는 각각 별개의 댑으로 구현될 수 있다. 이 때, 작업 지시부(440)는 토큰 전송 처리부(420) 및 언스펜트 집합 재구성부(430) 중 어느 하나 이상과 함께 구현될 수 있다.
큐(410)에서 리드된 요청이 언스펜트 집합 재구성 요청인 경우 후술할 UTXO 기반 블록체인의 브릿지 계정의 언스펜트 집합 재구성이 수행된다.
도 4에는 명시적으로 도시되지 아니하였으나, 연동부는 언스펜트 집합에 포함될 언스펜트들을 재구성 토큰 개수들의 순서로 정렬하여 생성된 언스펜트 리스트를 포함할 수도 있다.
동시에 여러 개의 프로세스들을 처리하기 위해서 언스펜트들의 리스트가 별도의 데이터베이스로 관리될 수 있다. 이 때, UTXO 기반 블록체인의 블록이 새로 생성되면 이벤트를 수신하여 언스펜트 리스트를 초기화하고, 사용된 언스펜트들은 리스트에서 삭제할 수 있다. 이 때, 어떤 언스펜트를 사용할지 판단하고 리스트에서 삭제하는 기능은 동기화 블록(synchronized block)을 사용하여 원자적 조작(atomic operation)으로 실행될 수 있다.
이하에서는 UTXO 기반 블록체인의 브릿지 계정의 언스펜트 집합을 재구성하는 경우를 중심으로 설명하나, 언스펜트 집합 재구성은 브릿지 계정 뿐 아니라 UTXO 기반 블록체인의 어떤 계정에 대해서도 적용될 수 있다.
UTXO 기반 블록체인의 브릿지 계정에서 목적지 계정으로의 토큰 전송이 요청되면, UTXO 기반 블록체인의 브릿지 계정의 언스펜트들 중 적어도 하나가 선택되어 토큰 전송에 사용될 수 있다.
토큰 전송에 사용될 브릿지 계정의 언스펜트들 중 적어도 하나는 언스펜트 선택 함수인 findUnspents (토큰 개수, 언스펜트 리스트)를 호출하여 선택될 수 있다.
언스펜트 선택 함수 findUnspents (토큰 개수, 언스펜트 리스트)는 다음과 같이 동작할 수 있다.
- 토큰 개수보다 큰 언스펜트(토큰 개수보다 많은 토큰 개수들을 가지는 언스펜트)가 있다면 그 중 최소 언스펜트(가장 적은 토큰 개수를 가지는 언스펜트)를 출력
- 토큰 개수보다 큰 언스펜트가 없다면 가장 큰 언스펜트(가장 많은 토큰 개수를 가지는 언스펜트)를 우선 출력하여 언스펜트 리스트에서 제거하고, (토큰 개수 - 가장 큰 언스펜트의 토큰 개수) 연산으로 추가로 필요한 토큰 개수를 구한 후 findUnspents (추가로 필요한 토큰 개수, 언스펜트 리스트 - 가장 큰 언스펜트)를 재귀적으로 수행
UTXO 기반 방식 계정의 언스펜트들이 많으면 동시 처리 가능한 토큰 전송 요청들의 수가 늘어나지만, 언스펜트들의 개수가 너무 많으면 더스트(dust) 문제가 발생하므로, 언스펜트들의 개수는 적절히 유지되어야 한다.
언스펜트들의 개수가 적절히 유지될 수 있도록, 언스펜트 집합 재구성의 요청 주기를 조절할 수 있다.
예를 들어, UTXO 기반 블록체인에서 한 번에 처리가능한 최대 언스펜트 개수가 100(제1 문턱값)이라면, 언스펜트 집합 재구성 요청시 언스펜트들의 개수가 100개를 초과하면 언스펜트 집합 재구성의 요청 주기를 줄이고, 언스펜트들의 개수가 80(제2 문턱값)보다 크지 않으면 요청 주기를 늘릴 수 있다. 이와 같이 실시간으로 요청 주기를 조절함으로써 항상 적절한 언스펜트들의 개수를 유지할 수 있다.
언스펜트 집합 재구성은 UTXO 기반 블록체인의 계정의 언스펜트들을 모두 모아서 다시 새로운 언스펜트들을 생성하는 것일 수 있다. 이 때, 새로운 언스펜트들은 다음과 같이 생성되고, 하기 펙터 값(r)은 실시간으로 조정될 수 있다.
먼저 새로 생성될 언스펜트들의 목표 개수(언스펜트 집합에 포함될 언스펜트들의 목표 개수)를 결정한다.
예를 들어, 언스펜트 집합 재구성 요청 주기를 결정할 두 개의 값이 각각 100(제1 문턱값) 및 80(제2 문턱값)인 경우, 새로 생성될 언스펜트들의 목표 개수는 두 값들 사이의 중간값인 90으로 결정될 수 있다.
최소 전송 토큰 개수를 a(a는 자연수)라 하고, 계정에 보유된 토큰 개수들의 총 합(언스펜트 집합에 포함된 언스펜트들의 토큰 개수들의 총 합)을 b라 하고(b는 자연수), 상기 새로 생성될 언스펜트들의 목표 개수를 M(M은 자연수)이라 한다. 이 때, a는 서비스에 따라 달리 설정될 수 있고, 서비스에서 트랜젝션이 허용되는 최소 단위의 토큰 개수일 수 있다. 이 때, b는 언스펜트 집합 재구성 전후에 동일하게 유지될 수 있다.
새로 생성될 언스펜트들의 토큰 개수별 개수들인, 단위 토큰 언스펜트 개수들은 다음과 같이 결정된다.
- 첫 항이 1이고 공비가 r(r은 2이상인 자연수)인 등비급수, 즉 1 + r + r2 + r3 + ... + rn-2 + rn-1를 계산한 값이 M을 초과하지 않는 최대의 n값 N을 구한다.
예를 들어, r이 2인 경우 N은 Sn = 2n - 1 ≤ M을 만족하는 최대 값이다. SN은 1 + r + r2 + r3 + ... + rN-2 + rN-1이다.
- 일차적으로 등비수열의 각 항에 해당하는 값을 단위 토큰 언스펜트 개수들 각각의 제1 펙터로 설정한다.
- 제1 펙터 설정 후 남는 개수(R = M - SN)는 할당된 언스펜트 개수들 각각의 제1 펙터의 비율에 따라 결정되는 제2 펙터로 단위 토큰 언스펜트 개수들에 반영된다.
- 제1 펙터와 제2 펙터가 결정되면 제1 펙터와 제2 펙터를 합산하여 단위 토큰 언스펜트 개수들 각각을 결정한다.
예를 들어, M이 90이고 r이 2인 경우, 1 + 2 + 4 + 8 + 16 + 32 = 63이고, 여기에 등비수열의 한 항을 더 더하게 되면 90을 초과하므로 N은 6이 된다. 이 때, 1, 2, 4, 8, 16 및 32가 각각 제1 펙터가 된다.
목표 개수 90에서 63을 빼면 27이고, 이를 제2 펙터로 단위 토큰 언스펜트 개수들에 반영해야 한다. 즉, 제1 펙터가 클수록 제2 펙터도 크게 하여 총 27을 반영할 수 있는 6개의 제2 펙터들을 결정한다.
예를 들어, (1/63) * 27, (2/63) * 27, (4/63) * 27, (8/63) * 27, (16/63) * 27, (32/63) * 27을 계산한 후 반올림하여 등비수열의 각 항에 추가한다. 이를 계산하면 0, 1, 2, 3, 7, 13이 되고 이들의 합은 26이므로 남는 한 개는 제1 펙터가 가장 큰 항에 추가하여 최종적으로 단위 토큰 언스펜트 개수들을 구하면, 1, 3, 6, 11, 23, 46이 된다(제1 펙터는 1, 2, 4, 8, 16, 32, 제2 펙터는 0, 1, 2, 3, 7, 14). 이 단위 토큰 언스펜트 개수들을 나타내는 수열을 T(n)(n=1, 2, ..., N)이라고 하면 T(n)은 하기 수학식 1과 같이 나타낼 수 있다.
[수학식 1]
Figure 112019128280038-pat00001
(단,
Figure 112019128280038-pat00002
일 경우 α는 T(N)에 합산)
상기 수학식 1에서 R = M - SN (M은 새로 생성될 언스펜트들의 목표 개수, SN은 첫 항이 1이고 등비가 r(=2)인 등비수열의 1항부터 N항까지의 합)이다.
상기 수학식 1에서 2n-1이 제1 펙터에 해당하고, [(2n-1 * R)/SN]이 제2 펙터에 해당할 수 있다.
상기 수학식 1은 r이 2인 경우를 나타내나 상기 수학식 1의 2n-1을 rn-1로 변경하여 상기 수학식 1을 일반화시킬 수 있다.
단위 토큰 언스펜트 개수들이 결정되었으면, 단위 토큰 언스펜트 개수 각각의 토큰 개수(토큰값)를 결정하면 새로운 언스펜트들의 생성이 완료된다. 이 때, 단위 토큰 언스펜트 개수 각각의 토큰 개수는 재구성 토큰 개수에 해당한다. 재구성된 언스펜트 집합에 포함될 새로운 언스펜트들은 다음과 같이 생성된다.
- (((b - a) / r1) + a)를 토큰 개수로 T(1)개의 언스펜트들 생성
- (((b - a) / r2) + a)를 토큰 개수로 T(2)개의 언스펜트들 생성
- (((b - a) / r3) + a)를 토큰 개수로 T(3)개의 언스펜트들 생성
...
- (((b - a) / rN-1) + a)를 토큰 개수로 T(N-1)개의 언스펜트들 생성
- a 토큰 개수로 T(N)개의 언스펜트들을 생성
이 때, 재구성 토큰 개수들을 나타내는 수열을 V(n)(n=1, 2, ..., N)이라고 하면 V(n)은 하기 수학식 2와 같이 나타낼 수 있다.
[수학식 2]
Figure 112019128280038-pat00003
(단, n = N일 경우, 즉 V(N) = a)
결국, 언스펜트 집합 재구성을 위해, 단위 토큰 언스펜트 개수 T(n) 및 재구성 토큰 개수 V(n)이 결정되면, V(n)을 토큰 개수(토큰값)로 하는 언스펜트들을 T(n)개 새로 생성하는 것이다.
2이상의 자연수인 r은 전술한 예와 같이 2로 설정될 수도 있지만, 언스펜트 집합 재구성이 요청되는 상황에 따라 동적으로 결정될 수 있다. 예를 들어, 작은 언스펜트(적은 토큰 개수를 가지는 언스펜트)가 부족한 경우에는 r을 증가시키고, 최대 언스펜트(가장 많은 토큰 개수를 가지는 언스펜트)가 충분히 크지 않은 경우에는 r을 감소시킬 수 있다. 상기 수학식 1을 참조하면, r이 증가하는 경우 최소 언스펜트(가장 적은 토큰 개수를 가지는 언스펜트)의 개수(T(N))가 증가하는 것을 알 수 있고, 상기 수학식 2를 참조하면, r이 감소하는 경우 최대 언스펜트(가장 많은 토큰 개수를 가지는 언스펜트)의 토큰 개수가 증가하는 것을 알 수 있다.
토큰 전송이 요청되는 경우 토큰 전송에 사용될 언스펜트를 신속하게 선택하기 위해, 언스펜트 집합에 포함되는 언스펜트들은 토큰 개수들(재구성 토큰 개수들)의 순서로 정렬하여 생성된 언스펜트 리스트가 사용될 수 있다.
도 5는 실시예에 따른 서로 다른 블록체인들 사이의 토큰 전송 방법을 나타낸 동작 흐름도이다.
도 5를 참조하면, 실시예에 따른 서로 다른 블록체인들 사이의 토큰 전송 방법은 제1 블록체인의 소스 계정에서 제2 블록체인의 목적지 계정으로의 토큰 전송 요청에 기반하여, 상기 소스 계정에서 상기 제1 블록체인의 브릿지 계정으로, 상기 토큰 전송 요청에 상응하는 개수의 토큰들을 전송한다(S510).
이 때, 제1 블록체인은 계정 기반 블록체인이고, 제2 블록체인은 UTXO 기반(거래 기반) 블록체인일 수 있다.
이 때, 제1 블록체인의 브릿지 계정은 제2 블록체인에서 유통되는 통화량에 상응하는 토큰 개수의 토큰들을 보유할 수 있다.
또한, 실시예에 따른 서로 다른 블록체인들 사이의 토큰 전송 방법은 상기 제2 블록체인의 브릿지 계정에 할당된, 재구성된 언스펜트 집합에 포함된 언스펜트들 중 적어도 하나를 이용하여, 상기 제2 블록체인의 브릿지 계정에서 상기 목적지 계정으로 상기 개수의 토큰들을 전송한다(S520).
이 때, 제2 블록체인의 브릿지 계정은 제1 블록체인에서 유통되는 통화량에 상응하는 토큰 개수의 토큰들을 보유할 수 있다. 이 때, 제1 블록체인에서 유통되는 통화량에는 상기 토큰 전송 요청에 상응하는 토큰 개수가 포함될 수 있다.
제1 블록체인의 브릿지 계정 및 제2 블록체인의 브릿지 계정은 각각 한 개의 계정으로 구성될 수도 있고, 복수개의 계정들의 집합일 수도 있다.
이 때, 재구성된 언스펜트 집합은 상기 제2 블록체인의 브릿지 계정의 언스펜트들의 토큰 개수들의 총 합을 산출하는 단계 및 상기 총 합과 동일한 토큰 개수들을 포함하는 상기 재구성된 언스펜트 집합을 생성하는 단계에 의하여 생성될 수 있다. 즉, 실시예에서는 최적의 언스펜트 개수를 유지하여 최대한의 동시 처리 성능을 보장하면서도 너무 많은 언스펜트들이 생기는 현상을 방지할 수 있다.
재구성된 언스펜트 집합은 상기 제2 블록체인의 브릿지 계정에 포함된 언스펜트들의 개수에 기반하여 변경되는 주기에 따른 주기적 요청에 의하여 생성될 수 있다. 이 때, 주기는 상기 언스펜트들의 개수가 상기 제2 블록체인에서 한 번에 처리 가능한 언스펜트들의 최대 개수에 기반하여 결정된 제1 문턱값(예를 들어, 100)을 초과하는 경우 감소되고, 상기 제1 문턱값보다 작은 제2 문턱값(예를 들어, 80) 미만인 경우 증가할 수 있다.
재구성된 언스펜트 집합에 포함된 언스펜트들 중 적어도 하나는 언스펜트 선택 함수(findUnspents)를 호출하여 선택되고, 상기 언스펜트 선택 함수는 전송 토큰 개수와 언스펜트 리스트를 입력으로 받아서, 상기 언스펜트 리스트 내에 상기 전송 토큰 개수보다 많은 토큰 개수를 포함하는 초과 언스펜트가 존재하는 경우, 상기 초과 언스펜트 중 가장 작은 것을 출력하고, 상기 초과 언스펜트가 존재하지 않는 경우, 상기 언스펜트 리스트 내의 최대 언스펜트를 출력한 후 상기 전송 토큰 개수 및 상기 최대 언스펜트의 토큰 개수의 차와 업데이트된 상기 언스펜트 리스트를 입력으로 상기 언스펜트 선택 함수를 재귀적으로 호출할 수 있다.
도 6은 실시예에 따른 언스펜트 집합 재구성 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 실시예에 따른 언스펜트 집합 재구성 방법은 블록체인의 계정에 할당된 언스펜트 집합에 포함될 언스펜트들의 목표 개수(M)에 기반하여, 단위 토큰 언스펜트 개수들(T(n))(n = 1, 2, ..., N)을 결정한다(S610).
이 때, 블록체인은 UTXO 기반 블록체인일 수 있고, 계정은 빈번한 토큰 전송이 수행되는 계정일 수 있다.
이 때, 목표 개수(M)는 상기 언스펜트 집합이 재구성되는 주기의 결정에 이용되는 제1 문턱값(예를 들어, 100) 및 상기 제1 문턱값보다 작은 제2 문턱값(예를 들어, 80) 사이의 값(예를 들어, 90)으로 결정될 수 있다.
상기 단위 토큰 언스펜트 개수들은 첫 항이 1이고 공비가 상기 r인 등비수열의 첫 항부터 N번째 항까지의 N개의 항들을 이용하여 결정되고, 상기 N은 상기 등비수열의 첫 항부터 N번째 항까지의 합(SN)이 목표 개수(M)를 초과하지 않는 최대의 자연수일 수 있다.
상기 단위 토큰 언스펜트 개수들은 상기 N개의 항들 중 하나에 상응하는 제1 펙터(2n-1), 및 상기 목표 개수와 상기 등비수열의 첫 항부터 N번째 항까지의 합 사이의 차(R)를 이용하여 계산된 제2 펙터([(2n-1 * R)/SN])의 합을 이용하여 결정될 수 있다.
또한, 실시예에 따른 언스펜트 집합 재구성 방법은 상기 언스펜트 집합에 포함된 언스펜트들의 토큰 개수들의 총 합(b)을 이용하여, 각각 상기 단위 토큰 언스펜트 개수들(T(n)) 각각에 상응하는 재구성 토큰 개수들(V(n))을 결정한다(S620).
단계(S620)는 2이상의 자연수인 r의 거듭제곱의 역수를 이용하여 상기 재구성 토큰 개수들 중 어느 하나 이상을 결정할 수 있다.
이 때, r은 상기 재구성 토큰 개수들 중 최대값을 증가시키기 위해 더 작은 값으로 설정될 수 있다.
재구성 토큰 개수들은 상기 N개의 서로 다른 값들일 수 있다. 이 때, 재구성 토큰 개수들은 단위 토큰 언스펜트 개수가 클수록 작은 값으로 결정될 수 있다.
재구성 토큰 개수들 중 어느 하나 이상은 상기 토큰 개수들의 총 합(b)과 서비스에서 허용되는 최소 전송 토큰 개수(a)의 차를 r의 거듭제곱으로 나눈 값을 이용하여 결정될 수 있다.
도 6에는 도시되지 아니하였으나, 실시예에 따른 언스펜트 집합 재구성 방법은 상기 언스펜트 집합에 포함될 언스펜트들을 상기 재구성 토큰 개수들의 순서로 정렬하여 언스펜트 리스트를 생성하는 단계를 더 포함할 수 있다.
또한, 실시예에 따른 언스펜트 집합 재구성 방법은 상기 단위 토큰 언스펜트 개수들(T(n)) 및 상기 재구성 토큰 개수들(V(n))을 이용하여 상기 언스펜트 집합에 포함될 언스펜트들을 생성한다(S630).
단계(S630)는 V(n)을 토큰 개수(토큰값)로 하는 언스펜트들을 T(n)개 새로 생성할 수 있다.
도 7은 실시예에 따른 컴퓨터 시스템 구성을 나타낸 도면이다.
실시예에 따른 언스펜트 집합 재구성 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(700)에서 구현될 수 있다.
컴퓨터 시스템(700)은 버스(720)를 통하여 서로 통신하는 하나 이상의 프로세서(710), 메모리(730), 사용자 인터페이스 입력 장치(740), 사용자 인터페이스 출력 장치(750) 및 스토리지(760)를 포함할 수 있다. 또한, 컴퓨터 시스템(700)은 네트워크(780)에 연결되는 네트워크 인터페이스(770)를 더 포함할 수 있다. 프로세서(710)는 중앙 처리 장치 또는 메모리(730)나 스토리지(760)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(730) 및 스토리지(760)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(730)는 ROM(731)이나 RAM(732)을 포함할 수 있다.
이상에서 설명된 실시예에 따르면, 계정의 언스펜트가 적절히 유지되어 최대한의 동시 처리 성능을 제공하면서도 더스트 문제를 방지할 수 있다.
이상에서 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
S610: 단위 토큰 언스펜트 개수들 결정 단계
S620: 재구성 토큰 개수들 결정 단계
S630: 언스펜트 집합에 포함될 언스펜트들 생성 단계

Claims (19)

  1. 서로 다른 블록체인들 사이의 토큰 전송을 위한 연동 시스템에서 수행되는 토큰 전송 방법에 있어서,
    제1 블록체인의 소스 계정에서 제2 블록체인의 목적지 계정으로의 토큰 전송 요청에 기반하여, 상기 제1 블록체인에 상응하는 제1 브릿지부가 상기 소스 계정에서 상기 제1 블록체인의 브릿지 계정으로, 상기 토큰 전송 요청에 상응하는 개수의 토큰들을 전송하는 단계;
    상기 제2 블록체인에 상응하는 제2 브릿지부가 상기 제2 블록체인의 브릿지 계정에 할당된 언스펜트 집합 내의 언스펜트들 중 적어도 하나를 이용하여, 상기 제2 블록체인의 브릿지 계정에서 상기 목적지 계정으로 상기 개수의 토큰들을 전송하는 단계;
    상기 토큰들이 전송된 후에 남은 언스펜트 집합에 포함된 언스펜트들의 총 개수를 기초로 하여 상기 언스펜트 집합을 재구성할 주기를 조정하는 단계; 및
    상기 조정된 주기에 따라 상기 언스펜트 집합을 재구성하는 단계를 포함하고,
    상기 조정된 주기에 따라 상기 언스펜트 집합을 재구성하는 단계는,
    상기 언스펜트 집합에 현재 포함된 언스펜트들의 총 개수 및 상기 언스펜트들 각각이 나타내는 토큰 개수들의 총 합을 산출하는 단계; 및
    상기 토큰 개수들의 총 합은 유지되고 상기 언스펜트들의 총 개수는 특정한 목표 개수가 되도록 상기 언스펜트 집합을 재구성하는 단계를 포함하는, 서로 다른 블록체인들 사이의 토큰 전송 방법.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 주기는
    상기 언스펜트들의 개수가
    상기 제2 블록체인에서 한 번에 처리 가능한 언스펜트들의 최대 개수에 기반하여 결정된 제1 문턱값을 초과하는 경우 감소되고,
    상기 제1 문턱값보다 작은 제2 문턱값 미만인 경우 증가하는, 서로 다른 블록체인들 사이의 토큰 전송 방법.
  5. 제1 항에 있어서,
    상기 언스펜트들 중 적어도 하나는
    언스펜트 선택 함수를 호출하여 선택되고,
    상기 언스펜트 선택 함수는
    전송 토큰 개수와 언스펜트 리스트를 입력으로 받아서, 상기 언스펜트 리스트 내에 상기 전송 토큰 개수보다 많은 토큰 개수를 포함하는 초과 언스펜트가 존재하는 경우, 상기 초과 언스펜트 중 가장 작은 것을 출력하고,
    상기 초과 언스펜트가 존재하지 않는 경우, 상기 언스펜트 리스트 내의 최대 언스펜트를 출력한 후 상기 전송 토큰 개수 및 상기 최대 언스펜트의 토큰 개수의 차와 업데이트된 상기 언스펜트 리스트를 입력으로 상기 언스펜트 선택 함수를 재귀적으로 호출하는, 서로 다른 블록체인들 사이의 토큰 전송 방법.
  6. 메모리 및 프로세서를 포함하는 언스펜트 집합 재구성 장치에서 수행되는, 언스펜트 집합 재구성 방법에 있어서,
    블록체인의 계정에 할당된 언스펜트 집합을 이용하여 토큰이 전송된 후에 남은 상기 언스펜트 집합에 포함된 언스펜트들의 총 개수를 기초로 하여 상기 언스펜트 집합을 재구성할 주기를 조정하는 단계; 및
    상기 조정된 주기에 따라 상기 언스펜트 집합을 재구성하는 단계를 포함하고,
    상기 조정된 주기에 따라 상기 언스펜트 집합을 재구성하는 단계는,
    상기 언스펜트 집합에 포함될 언스펜트들의 목표 개수에 기반하여, 단위 토큰 언스펜트 개수들을 결정하는 단계;
    상기 언스펜트 집합에 포함된 언스펜트들의 토큰 개수들의 총 합을 이용하여, 각각 상기 단위 토큰 언스펜트 개수들 각각에 상응하는 재구성 토큰 개수들을 결정하는 단계; 및
    상기 단위 토큰 언스펜트 개수들 및 상기 재구성 토큰 개수들을 이용하여 상기 언스펜트 집합에 포함될 언스펜트들을 생성하는 단계를 포함하는, 언스펜트 집합 재구성 방법.
  7. 제6 항에 있어서,
    상기 재구성 토큰 개수들을 결정하는 단계는
    2이상의 자연수인 r의 거듭제곱의 역수를 이용하여 상기 재구성 토큰 개수들 중 어느 하나 이상을 결정하는, 언스펜트 집합 재구성 방법.
  8. 제7 항에 있어서,
    상기 r은 상기 재구성 토큰 개수들 중 최대값을 증가시키기 위해 더 작은 값으로 설정되는, 언스펜트 집합 재구성 방법.
  9. 제7 항에 있어서,
    상기 목표 개수는
    상기 언스펜트 집합이 재구성되는 주기의 결정에 이용되는 제1 문턱값 및 상기 제1 문턱값보다 작은 제2 문턱값 사이의 값으로 결정되는, 언스펜트 집합 재구성 방법.
  10. 제7 항에 있어서,
    상기 단위 토큰 언스펜트 개수들은
    첫 항이 1이고 공비가 상기 r인 등비수열의 첫 항부터 N번째 항까지의 N개의 항들을 이용하여 결정되고, 상기 N은 상기 등비수열의 첫 항부터 N번째 항까지의 합이 상기 목표 개수를 초과하지 않는 최대의 자연수인, 언스펜트 집합 재구성 방법.
  11. 제10 항에 있어서,
    상기 단위 토큰 언스펜트 개수들 각각은
    상기 N개의 항들 중 하나에 상응하는 제1 펙터, 및
    상기 목표 개수와 상기 등비수열의 첫 항부터 N번째 항까지의 합 사이의 차를 이용하여 계산된 제2 펙터의 합을 이용하여 결정되는, 언스펜트 집합 재구성 방법.
  12. 제10 항에 있어서,
    상기 재구성 토큰 개수들은
    상기 N개의 서로 다른 값들인, 언스펜트 집합 재구성 방법.
  13. 제10 항에 있어서,
    상기 재구성 토큰 개수들은
    단위 토큰 언스펜트 개수가 클수록 작은 값으로 결정되는, 언스펜트 집합 재구성 방법.
  14. 제7 항에 있어서,
    상기 재구성 토큰 개수들 중 어느 하나 이상은
    상기 토큰 개수들의 총 합과 서비스에서 허용되는 최소 전송 토큰 개수의 차를, 상기 r의 거듭제곱으로 나눈 값을 이용하여 결정되는, 언스펜트 집합 재구성 방법.
  15. 제6 항에 있어서,
    상기 언스펜트 집합에 포함될 언스펜트들을 상기 재구성 토큰 개수들의 순서로 정렬하여 언스펜트 리스트를 생성하는 단계를 더 포함하는, 언스펜트 집합 재구성 방법.
  16. 적어도 하나의 프로그램이 기록된 메모리; 및
    상기 프로그램을 실행하는 프로세서를 포함하며,
    상기 프로그램은
    블록체인의 계정에 할당된 언스펜트 집합을 이용하여 토큰이 전송된 후에 남은 상기 언스펜트 집합에 포함된 언스펜트들의 총 개수를 기초로 하여 상기 언스펜트 집합을 재구성할 주기를 조정하는 단계; 및
    상기 조정된 주기에 따라 상기 언스펜트 집합을 재구성하는 단계의 수행을 위한 명령어들을 포함하고,
    상기 조정된 주기에 따라 상기 언스펜트 집합을 재구성하는 단계는,
    상기 언스펜트 집합에 포함될 언스펜트들의 목표 개수에 기반하여, 단위 토큰 언스펜트 개수들을 결정하는 단계;
    상기 언스펜트 집합에 포함된 언스펜트들의 토큰 개수들의 총 합을 이용하여, 각각 상기 단위 토큰 언스펜트 개수들 각각에 상응하는 재구성 토큰 개수들을 결정하는 단계; 및
    상기 단위 토큰 언스펜트 개수들 및 상기 재구성 토큰 개수들을 이용하여 상기 언스펜트 집합에 포함될 언스펜트들을 생성하는 단계를 포함하는, 언스펜트 집합 재구성 장치.
  17. 제16 항에 있어서,
    상기 재구성 토큰 개수들을 결정하는 단계는
    2이상의 자연수인 r의 거듭제곱의 역수를 이용하여 상기 재구성 토큰 개수들 중 어느 하나 이상을 결정하는, 언스펜트 집합 재구성 장치.
  18. 제17 항에 있어서,
    상기 r은 상기 재구성 토큰 개수들 중 최대값을 증가시키기 위해 더 작은 값으로 설정되는, 언스펜트 집합 재구성 장치.
  19. 제16 항에 있어서,
    상기 프로그램은
    상기 언스펜트 집합에 포함될 언스펜트들을 생성하는 단계 후,
    상기 언스펜트 집합에 포함될 언스펜트들을 상기 재구성 토큰 개수들의 순서로 정렬하여 언스펜트 리스트를 생성하는 단계의 수행을 위한 명령어들을 더 포함하는, 언스펜트 집합 재구성 장치.
KR1020190165094A 2019-12-11 2019-12-11 서로 다른 블록체인들 사이의 토큰 전송 방법, 언스펜트 집합 재구성 방법 및 이를 위한 장치 KR102364906B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190165094A KR102364906B1 (ko) 2019-12-11 2019-12-11 서로 다른 블록체인들 사이의 토큰 전송 방법, 언스펜트 집합 재구성 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190165094A KR102364906B1 (ko) 2019-12-11 2019-12-11 서로 다른 블록체인들 사이의 토큰 전송 방법, 언스펜트 집합 재구성 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20210074081A KR20210074081A (ko) 2021-06-21
KR102364906B1 true KR102364906B1 (ko) 2022-02-18

Family

ID=76600066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190165094A KR102364906B1 (ko) 2019-12-11 2019-12-11 서로 다른 블록체인들 사이의 토큰 전송 방법, 언스펜트 집합 재구성 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102364906B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017145019A1 (en) * 2016-02-23 2017-08-31 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
KR20190108263A (ko) * 2018-03-14 2019-09-24 에이치닥 테크놀로지 아게 하이브리드 블록체인 시스템 및 이를 이용한 제어 트랜잭션 전달 방법

Also Published As

Publication number Publication date
KR20210074081A (ko) 2021-06-21

Similar Documents

Publication Publication Date Title
CN109639521B (zh) 区块链性能的测试方法、装置、设备及存储介质
Fynn et al. Smart contracts on the move
CN111061769B (zh) 一种区块链系统的共识方法及相关设备
TWI338229B (en) Dynamically configurable fault tolerance in autonomic computing with multiple service points
CN111460504B (zh) 业务处理方法、装置、节点设备及存储介质
CN110599177A (zh) 一种交易验证方法及相关设备
CN108205541A (zh) 分布式网络爬虫任务的调度方法及装置
CN113364831B (zh) 基于区块链的多域异构算网资源可信协同方法
CN110555079B (zh) 数据处理方法、装置、设备以及存储介质
Mostafa Cooperative fog communications using a multi-level load balancing
JP2013533524A (ja) マルチプロセッサ・システムのためのプライマリ−バックアップに基づくフォールト・トレラント方法
CN116703601B (zh) 基于区块链网络的数据处理方法、装置、设备及存储介质
KR102364906B1 (ko) 서로 다른 블록체인들 사이의 토큰 전송 방법, 언스펜트 집합 재구성 방법 및 이를 위한 장치
CN112596910B (zh) 一种多用户mec系统中的云计算资源调度方法
CN111951112A (zh) 基于区块链的智能合约执行方法、终端设备和存储介质
WO2021078809A1 (en) A method for analyzing data using a blockchain, a data provider and a data customer therefor
CN110225110B (zh) 一种区块链群组的拆分方法及装置
CN111047306A (zh) 一种交易输入集合的并行交易处理方法及装置
US11226825B2 (en) Dynamic assignment of special tasks in distributed networks
KR102557196B1 (ko) 프록시 서버를 이용하여 노드간 트랜잭션을 전달하는 블록체인 시스템
CN113468132B (zh) 对区块链系统中的分片进行缩容的方法及装置
CN114185896B (en) Data processing method, device, electronic equipment and storage medium
CN117237004B (zh) 一种储能设备交易处理方法、装置和存储介质
US20240193298A1 (en) Reducing resource consumption for cross-tenant kernel services
US20220198249A1 (en) Execution of neural networks

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant