KR20230153439A - 임시 키 쌍을 사용한 블록체인 자산의 원자 교환을 위한 방법 및 시스템 - Google Patents

임시 키 쌍을 사용한 블록체인 자산의 원자 교환을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20230153439A
KR20230153439A KR1020237033542A KR20237033542A KR20230153439A KR 20230153439 A KR20230153439 A KR 20230153439A KR 1020237033542 A KR1020237033542 A KR 1020237033542A KR 20237033542 A KR20237033542 A KR 20237033542A KR 20230153439 A KR20230153439 A KR 20230153439A
Authority
KR
South Korea
Prior art keywords
blockchain
digital signature
computing device
message
generated
Prior art date
Application number
KR1020237033542A
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 KR20230153439A publication Critical patent/KR20230153439A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/381Currency conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • 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
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • 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
    • G06Q20/3678Payment 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 e-cash details, e.g. blinded, divisible or detecting double spending
    • 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
    • G06Q20/3825Use of electronic 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/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

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

Abstract

임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 방법은 제1 컴퓨팅 장치가 제안 메시지를 생성하는 단계로서, 제안 메시지는 적어도 제1 거래 값, 제1 블록체인에 대응하는 제1 네트워크 식별자, 제2 거래 값, 제2 블록체인에 대응하는 제2 네트워크 식별자, 및 스왑 암호화 키 쌍의 스왑 공개 키를 포함하는, 단계; 제1 컴퓨팅 장치가 제안 메시지에 대한 제1 디지털 서명을 생성하는 단계; 제1 컴퓨팅 장치가 스왑 공개 키 및 제1 암호화 키 쌍의 제1 개인 키를 사용하여 제1 디지털 서명을 암호화하는 단계; 제1 컴퓨팅 장치가 암호화된 제1 디지털 서명을 생성된 제안 메시지에 첨부하는 단계; 및 제1 컴퓨팅 장치가 암호화된 제1 디지털 서명이 첨부된 생성된 제안 메시지를 제2 컴퓨팅 장치에 전송하는 단계를 포함한다.

Description

임시 키 쌍을 사용한 블록체인 자산의 원자 교환을 위한 방법 및 시스템
관련 출원의 교차 참조
본 출원은 2021년 3월 4일에 출원된 미국 특허 출원 제17/192,194호의 이익을 주장하며, 그 전체 내용은 모든 목적을 위해 본원에 참조로서 원용된다.
기술분야
본 개시내용은 임시 키 쌍을 사용한 다수의 블록체인에서의 자산의 원자 교환에 관한 것으로, 구체적으로 블록체인 유형에 근거한 수정이나 특정 구현 없이 두 블록체인에서 자산의 원자 교환을 가능하게 하는 키 쌍 및 디지털 서명의 사용에 관한 것이다.
블록체인은 초기에 암호화폐를 이용한 지불 거래를 수행하는 데에 사용하기 위한 저장 메커니즘으로서 생성되었다. 블록체인을 사용하면 탈중앙화, 분산 컴퓨팅, 거래와 연관된 투명성 등 많은 이점을 제공하고, 또한 거래와 연관된 개인 또는 엔티티에 익명성을 제공한다. 블록체인의 가장 인기 있는 측면 중 하나는 불변의 기록인 점으로, 체인의 일부인 모든 거래는 블록체인에 저장되고 특히 체인이 길어지고 블록체인 네트워크가 더 많은 노드를 추가함에 따라 계산 요건 및 대역폭 제한으로 인해 변경될 수 없다.
블록체인이 인기를 얻음에 따라, 이 기술은 다양한 애플리케이션 및 여러 유형의 디지털 화폐와 자산에 사용되기 시작했다. 새로운 블록체인의 생성은 매우 짧은 기간에 단일 컴퓨팅 장치를 사용하여 이루어질 수 있으며, 그 결과 자체 유형의 구현 및 관련 디지털 화폐를 갖춘 수천 개의 다양한 블록체인이 야기되었다. 일부 경우에, 하나 이상의 당사자는 하나의 블록체인 화폐로부터 다른 블록체인 화폐로 화폐 교환을 수행하는 것과 같이 두 개의 서로 다른 블록체인에 걸쳐 분산된 디지털 화폐 또는 다른 자산을 사용하여 거래 또는 다른 교환을 수행하는 데 관심이 있을 수 있다.
그러나, 현재 기술로는 블록체인 둘 모두에 걸쳐 단일 거래를 수행할 수 없다. 따라서, 이러한 교환을 위해서, 각 블록체인에서 거래가 수행되어야 하며, 이는 당사자 둘 모두가 각 체인의 거래에 참여하도록 요구한다. 각 당사자가 블록체인 중 하나에서 발신자인 경우, 상대방이 각자의 이전을 수행할 것이라는 보장 없이 화폐나 디지털 자산을 상대방에게 이전해야 한다. 사기 가능성을 완화하기 위해, 당사자는 에스크로 서비스를 활용하는 경우가 많을 것이며, 여기서 각 당사자는 각자의 디지털 화폐 또는 자산을 에스크로 서비스로 이전할 것이고, 에스크로 서비스에서는 자산을 적절한 당사자에게 추가로 이전하거나 필요에 따라 초기 거래를 취소할 것이다. 그러나, 이러한 해결책은 제3자의 참여 뿐만 아니라 추가 거래를 필요로 하며, 이는 종종 상당한 비용이 들고 추가 시간 및 처리를 필요로 하는 경우가 많을 수 있다.
일부 경우에, 일부 블록체인은 다른 블록체인과 자산 교환을 위한 프로토콜 및 다른 구성을 개발하기 시작했다. 그러나, 블록체인 구현의 차이, 거래 형식 방법, 및 기타 차이점으로 인해, 이러한 프로토콜 및 다른 구성은 적용되는 특정 블록체인에 맞게 특별히 설계되고 맞춤화되어야 한다. 따라서, 블록체인 각각은 자산 교환할 수 있는 서로의 블록체인에 대해 블록체인 네트워크에 있는 모든 노드에 제공되는 추가 구성 데이터를 가져야 한다. 수천 개의 블록체인이 존재하고 각각에 대해 구성이 특별히 설계되어야 하므로, 이는 쉽지 않고 거의 불가능한 작업이다.
따라서, 임의의 두 블록체인에 걸쳐 자산 교환이 이루어질 수 있도록 하려면 블록체인 구현에 대해 불가지론적인 해결책이 필요하다.
본 개시내용은 임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 시스템 및 방법에 대한 설명을 제공한다. 두 당사자가 자산의 원자 교환을 수행하기로 합의하면, 블록체인 각각에서 각각의 거래에 대한 거래 가치를 생성할 수 있다. 이러한 거래는 대응하는 블록체인 네트워크에 대한 네트워크 식별자와 조합되며, 여기서 이러한 데이터 세트는 발신자와 같은 두 당사자 중 하나에 의해 디지털 서명된다. 그런 다음, 이러한 디지털 서명은 해당 당사자의 개인 키 및 스왑을 위해 특별히 생성된 새로운 암호화 키 쌍의 공개 키를 이용하여 암호화된다. 암호화된 디지털 서명은 스왑 공개 키와 함께 데이터에 첨부되고 상대방, 예를 들어 수신자에게 제공된다. 그런 다음, 수신자는 데이터에 대해 자신의 디지털 서명을 생성하고 자신의 개인 키 및 스왑 공개 키를 이용하여 서명을 암호화한다. 그런 다음, 이 완성된 패키지는 추가를 위해 두 블록체인 중 적어도 하나에 제출된다. 그런 다음, 당사자 각각은 서명이 있는 메시지를 보고 당사자 둘 모두가 거래에 합의한 것을 확보할 수 있다. 거래가 수행될 수 있고, 완료되면 확인 메시지가 새로운 암호화 키 쌍의 개인 키와 함께 블록체인에 게시되고, 이를 통해 임의의 엔티티는 디지털 서명을 복호화하여 합의된 거래의 유효성 검사를 수행할 수 있으며, 그런 다음 디지털 서명은 각각의 엔티티의 공개 키를 사용하여 유효성 검사될 수 있다. 그 결과 어떠한 수정도 없이 임의의 두 블록체인에서 수행될 수 있는 당사자 둘 모두에 의해 합의된 자산의 원자 교환이 이루어지며, 이는 또한 참여자가 이용 가능한 공개 키만을 사용하여 임의의 제3자에 의해 감사될 수 있다.
임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 방법은 제1 컴퓨팅 장치가 제안 메시지를 생성하는 단계로서, 제안 메시지는 적어도 제1 거래 값, 제1 블록체인에 대응하는 제1 네트워크 식별자, 제2 거래 값, 제2 블록체인에 대응하는 제2 네트워크 식별자, 및 스왑 암호화 키 쌍의 스왑 공개 키를 포함하는, 단계; 제1 컴퓨팅 장치가 제안 메시지에 대한 제1 디지털 서명을 생성하는 단계; 제1 컴퓨팅 장치가 스왑 공개 키 및 제1 암호화 키 쌍의 제1 개인 키를 사용하여 제1 디지털 서명을 암호화하는 단계; 제1 컴퓨팅 장치가 암호화된 제1 디지털 서명을 생성된 제안 메시지에 첨부하는 단계; 및 제1 컴퓨팅 장치가 암호화된 제1 디지털 서명이 첨부된 생성된 제안 메시지를 제2 컴퓨팅 장치에 전송하는 단계를 포함한다.
임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 시스템은 제1 컴퓨팅 장치, 제2 컴퓨팅 장치, 제1 블록체인, 및 제2 블록체인을 포함하고, 제1 컴퓨팅 장치는 제안 메시지를 생성하는데, 여기서 제안 메시지는 적어도 제1 거래 값, 제1 블록체인에 대응하는 제1 네트워크 식별자, 제2 거래 값, 제2 블록체인에 대응하는 제2 네트워크 식별자, 및 스왑 암호화 키 쌍의 스왑 공개 키를 포함하고, 제안 메시지에 대한 제1 디지털 서명을 생성하고, 스왑 공개 키 및 제1 암호화 키 쌍의 제1 개인 키를 사용하여 제1 디지털 서명을 암호화하고, 암호화된 제1 디지털 서명을 생성된 제안 메시지에 첨부하고, 암호화된 제1 디지털 서명이 첨부된 생성된 제안 메시지를 제2 컴퓨팅 장치에 전송한다.
본 개시내용의 범위는 첨부 도면과 함께 읽을 때 예시적인 실시예에 대한 다음의 상세한 설명으로부터 가장 잘 이해된다. 도면에는 다음의 도해가 포함되어 있다.
도 1은 예시적인 실시예에 따른 다수의 블록체인에서 자산의 원자 교환을 위한 상위 레벨 시스템 아키텍처를 나타낸 블록도이다.
도 2는 예시적인 실시예에 따른 다수의 블록체인에서 디지털 자산의 원자 교환을 위한 도 1의 시스템의 컴퓨팅 장치를 나타낸 블록도이다.
도 3a 내지 도 3c는 예시적인 실시예에 따른 다수의 블록체인에서 디지털 자산의 원자 교환을 위한 프로세스를 나타낸 흐름도이다.
도 4는 예시적인 실시예에 따른 임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 예시적인 방법을 나타낸 흐름도이다.
도 5는 예시적인 실시예에 따른 컴퓨터 시스템 아키텍처를 나타낸 블록도이다.
본 개시내용이 적용 가능한 추가적인 영역들은 이하에 제공되는 상세한 설명으로부터 명백해질 것이다. 예시적인 실시예들의 상세한 설명은 단지 예시를 위한 것이며, 따라서 본 개시내용의 범위를 반드시 제한하는 것으로 의도되지 않는다는 것을 이해해야 한다.
용어의 해설
블록체인 - 블록체인 기반 화폐의 모든 거래에 대한 공개 원장. 하나 이상의 컴퓨팅 장치는 블록체인 네트워크를 포함할 수 있으며, 이는 블록체인에서 블록의 일부로서 거래를 처리하고 기록하도록 구성될 수 있다. 블록이 완성되면, 그 블록은 블록체인에 추가되고 이에 의해 거래 기록이 업데이트된다. 여러 경우에, 블록체인은 시간순에 따른 거래의 원장일 수 있거나, 또는 블록체인 네트워크가 사용하기에 적합할 수 있게 기타 순서로 제시될 수 있다. 일부 구성에서, 블록체인에 기록된 거래는 특정 주소에 얼마의 화폐가 있는지를 블록체인이 기록하도록, 목적지 주소와 화폐량을 포함할 수 있다. 일부 경우에, 거래가 금융이고 다른 거래는 금융이 아니거나 소스 주소, 타임스탬프 등과 같은 추가 정보 또는 다른 정보를 포함할 수 있다. 일부 실시예들에서, 블록체인은 또한, 심지어 그 운영자들에 의해서도 변조하고 수정하기 어려운 데이터 기록들의 연속적으로 증가하는 리스트를 유지하는 분산 데이터베이스에 위치되거나 위치될 필요가 있는 거래의 형태로서 거의 임의의 유형의 데이터를 포함하거나 대안적으로 포함할 수 있고, 작업 증명 및/또는 그와 연관된 임의의 다른 적절한 검증 기술들을 통해 블록체인 네트워크에 의해 확인 및 유효성 검사될 수 있다. 일부 경우에, 주어진 거래에 관한 데이터는 거래 데이터에 첨부된 거래의 직접적인 일부가 아닌 추가 데이터를 더 포함할 수 있다. 일부 경우에, 블록체인에 이러한 데이터의 포함은 거래로 여겨질 수 있다. 이러한 경우에, 블록체인은 특정 디지털, 가상, 피아트(fiat), 또는 다른 유형의 화폐와 직접 연관되지 않을 수 있다.
디지털 자산의 원자 교환을 위한 시스템
도 1은 블록체인의 형식화 및 구현에 대해 불가지론적으로 자산이 교환될 수 있게 하는 임시 키 쌍을 사용하여 다수의 블록체인에서 디지털 자산의 원자 교환을 위한 시스템(100)을 도시하고 있다.
본 시스템(100)에서, 발신자 장치(102)와 수신자 장치(104)는 두 개의 서로 다른 블록체인에 보유된 디지털 자산의 교환을 수행하는 데 관심이 있을 수 있다. 본원에서 논의된 바와 같이, 두 블록체인은 임의의 구현, 형식화 등을 가질 수 있으며, 여기서 아래에서 논의되는 방법은, 블록체인이 한 소유자 또는 지배 엔티티로부터 다른 소유자 또는 지배 엔티티로 이전될 수 있는 디지털 자산을 저장하는 한, 관련된 블록체인의 유형이나 구현에 관계없이 적용될 수 있다. 발신자 장치(102)와 수신자 장치(104)는 휴대폰, 스마트폰, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트 텔레비전, 노트북 컴퓨터 등과 같은, 도 2 및 도 5에서 아래에서 더 자세히 논의될 바와 같은, 모든 유형의 컴퓨팅 장치일 수 있다. 블록체인 각각은 도 1에 도시된 바와 같이 제1 블록체인 네트워크(106) 및 제2 블록체인 네트워크(110)와 같은 블록체인 네트워크에 의해 관리 및 유지될 수 있다.
각 블록체인 네트워크(106 및 110)는 각각 복수의 블록체인 노드(108 및 112)로 구성될 수 있다. 각 블록체인 노드(108 및 112)는 블록체인 데이터 값 생성, 제안된 블록체인 거래 검증, 디지털 서명 검증, 새로운 블록 생성, 새로운 블록 유효성 검사, 및 블록체인 사본의 유지 관리를 포함하여 블록체인의 처리 및 관리와 관련된 기능을 수행하도록 구성된, 아래에서 더 자세히 논의될 도 5에 도시된 바와 같은, 컴퓨팅 시스템일 수 있다.
블록체인은 적어도 복수의 블록으로 구성된 분산 원장일 수 있다. 각 블록은 적어도 블록 헤더 및 하나 이상의 데이터 값을 포함할 수 있다. 각 블록 헤더는 적어도 타임스탬프, 블록 기준 값, 및 데이터 기준 값을 포함할 수 있다. 타임스탬프는 블록 헤더가 생성된 시간일 수 있고, 임의의 적합한 방법(예를 들어, UNIX 타임스탬프, DateTime 등)을 사용하여 표현될 수 있다. 블록 기준 값은 블록체인에서 (예를 들어, 타임스탬프에 기초한) 앞선 블록을 참조하는 값일 수 있다. 일부 실시예에서, 블록 헤더에서의 블록 기준 값은 각각의 블록 이전에 가장 최근에 추가된 블록의 블록 헤더에 대한 참조일 수 있다. 예시적인 실시예에서, 블록 기준 값은 가장 최근에 추가된 블록의 블록 헤더의 해싱을 통해 생성된 해시 값일 수 있다. 유사하게, 데이터 기준 값은 블록 헤더를 포함하는 블록 내에 저장된 하나 이상의 데이터 값들에 대한 참조일 수 있다. 예시적인 실시예에서, 데이터 기준 값은 하나 이상의 데이터 값의 해싱을 통해 생성된 해시 값일 수 있다. 예를 들어, 블록 기준 값은 하나 이상의 데이터 값을 사용하여 생성된 머클 트리의 루트일 수 있다.
각 블록 헤더에 있는 블록 기준 값 및 데이터 기준 값을 사용하면 블록체인이 변경되지 않을 수 있다. 데이터 값을 수정하려는 임의의 시도는 그 블록에 대한 새로운 데이터 기준 값의 생성을 필요로 하고, 이에 의해 후속 블록의 블록 기준 값이 새롭게 생성되는 것을 필요로 하며, 이는 모든 후속 블록에서의 새로운 블록 기준 값의 생성을 더 필요로 한다. 이는 변경이 영구적으로 이루어지기 위해 블록체인에 새 블록의 생성 및 추가 이전에 블록체인 네트워크에 있는 모든 단일 블록체인 노드에서 수행되고 업데이트되어야 할 것이다. 계산 및 통신 제한으로 인해 이러한 수정이 불가능하지는 않더라도 매우 어려워질 수 있으므로, 블록체인이 변경될 수 없게 된다.
일부 실시예에서, 블록체인은 두 개의 서로 다른 블록체인 지갑 간에 수행되는 블록체인 거래에 관한 정보를 저장하는 데 사용될 수 있다. 블록체인 지갑은 블록체인 거래에 대한 지불자의 승인 역할을 하는 디지털 서명을 생성하는 데 사용되는 암호화 키 쌍의 개인 키를 포함할 수 있으며, 여기서 디지털 서명은 암호화 키 쌍의 공개 키를 사용하여 블록체인 네트워크에 의해 검증될 수 있다. 일부 경우에, "블록체인 지갑"이라는 용어는 구체적으로 개인 키를 지칭할 수 있다. 다른 경우에, "블록체인 지갑"이라는 용어는 블록체인 거래에 사용하기 위해 개인 키를 저장하는 컴퓨팅 장치(예를 들어, 발신자 장치(102) 및 수신자 장치(104))를 지칭할 수 있다. 예를 들어, 각 컴퓨팅 장치는 각각의 암호화 키 쌍에 대한 자체 개인 키를 가질 수 있고, 블록체인 네트워크와 연관된 블록체인과의 거래에 사용하기 위한 블록체인 지갑일 수 있다. 컴퓨팅 장치는 데스크탑 컴퓨터, 랩탑 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 휴대폰, 스마트폰, 스마트 워치, 스마트 텔레비전, 웨어러블 컴퓨팅 장치, 이식형 컴퓨팅 장치 등과 같이 블록체인 지갑을 저장하고 활용하는 데 적합한 모든 유형의 장치일 수 있다.
블록체인에 저장된 각 블록체인 데이터 값은 적용 가능한 경우 블록체인 거래 또는 다른 데이터 스토리지에 대응할 수 있다. 블록체인 거래는 적어도 발신자의 개인 키를 사용하여 생성된 화폐 발신자(예를 들어, 발신자 장치(102))의 디지털 서명, 수신자의 공개 키를 사용하여 생성된 화폐 수신자(예를 들어, 수신자 장치(104))의 블록체인 주소, 및 이전되는 블록체인 화폐 금액 또는 저장되는 다른 데이터로 구성될 수 있다. 일부 블록체인 거래에서, 거래는 또한 블록체인 화폐가 현재 저장되어 있는(예를 들어, 디지털 서명이 이러한 화폐에 대한 액세스를 증명하는) 발신자의 하나 이상의 블록체인 주소, 및 발신자에 의해 보유될 임의의 변경에 대해 발신자의 공개 키를 사용하여 생성된 주소를 포함할 수 있다. 향후 거래에 사용될 수 있는 암호화폐가 보내진 주소는 "출력" 주소로 지칭되고, 각 주소는 이전에 화폐가 아직 사용되지 않은 이전 거래의 주소로 보내진 화폐가 있기 때문에 "미사용 거래"로도 지칭되는 이전 블록체인 거래의 출력을 캡처하는 데 사용되었다. 일부 경우에, 블록체인 거래는 또한 엔티티가 거래를 인증하는 데 사용하기 위한 발신자의 공개 키를 포함할 수 있다. 블록체인 거래의 전통적인 처리를 위해, 이러한 데이터는 발신자 또는 수신자에 의해 블록체인 네트워크(106 또는 110)에 있는 블록체인 노드(108 또는 112)에 제공될 수 있다. 노드는 발신자 지갑의 암호화 키 쌍의 공개 키를 사용하여 디지털 서명을 검증할 수 있고, 또한 거래의 "확인"으로 알려진 프로세스인 자금에 대한 발신자의 액세스(예를 들어, 미사용 거래가 아직 사용되지 않았으며 발신자의 지갑과 연관된 주소로 보내졌는지)를 검증한 다음, 블록체인 거래를 새로운 블록에 포함시킬 수 있다. 새로운 블록은 블록체인에 추가되기 전에 블록체인 네트워크(106 또는 110)에 있는 다른 노드에 의해 유효성 검사될 수 있고 전통적인 블록체인 구현에서 각각 블록체인 네트워크(106 또는 110)에 있는 모든 블록체인 노드(108 또는 112)에 분산될 수 있다. 블록체인 데이터 값이 블록체인 거래와 관련되지 않지만 대신 다른 유형의 데이터를 저장하는 경우, 블록체인 데이터 값은 여전히 디지털 서명의 유효성 검사를 포함하거나 또는 다른 방식으로 이와 관련될 수 있다.
시스템(100)에서, 발신자 장치(102) 및 수신자 장치(104)(예를 들어, 또는 이를 제어하거나 소유하는 엔티티)는 제1 블록체인 네트워크(106)의 제1 블록체인 및 제2 블록체인 네트워크(110)의 제2 블록체인에 저장된 자산을 교환하는 데 관심이 있을 수 있다. 예를 들어, 발신자 장치(102)는 수신자 장치(104)가 가진(예를 들어, 이와 연관된 블록체인 지갑을 통해) 제2 블록체인 상의 제2 디지털 화폐와 교환하는 데 관심이 있는 제1 블록체인 상의 제1 디지털 화폐 금액을 가질 수 있다. 전통적인 시스템에서, 각 블록체인 네트워크(106 및 110)는 이러한 교환을 가능하게 하며 자산이 블록체인 둘 모두에서 이전되게 하기 위해 각각의 블록체인을 구성해야 할 것이다.
시스템(100)에서, 제안 메시지는 발신자 장치(102) 및 수신자 장치(104)인 당사자 둘 모두에 의해 생성되고 서명될 수 있으며, 이는 당사자 둘 모두가 합의한 대로 제1 블록체인과 제2 블록체인 둘 모두에서 수행될 거래의 확인 역할을 한다. 제안 메시지는 발신자 장치(102) 또는 수신자 장치(104)에 의해 생성될 수 있고, 거래 둘 모두에 대한 거래 값 및 네트워크 식별자를 포함한다. 거래 값은 (예를 들어, 하나의 블록체인에서 발신자 장치(102)로부터 수신자 장치(104)로 그리고 다른 블록체인에서 수신자 장치(104)로부터 발신자 장치(102)로) 각각의 블록체인에서 자산 이전을 위한 거래를 달성하기 위해 블록체인 노드(108 또는 112)로 전송될 데이터일 수 있다. 네트워크 식별자는 블록체인을 식별하는 데 사용될 수 있는 각각의 블록체인 네트워크(106 또는 110)와 연관된 고유 값일 수 있다.
제안 메시지는 또한 본원에서 "스왑" 키 쌍으로 지칭되는 원자 교환을 위해 생성된 암호화 키 쌍의 공개 키를 포함할 수 있으며, 여기서 공개 키는 본원에서 "스왑 공개 키"로 지칭될 수 있다. 스왑 키 쌍은 발신자 장치(102) 또는 수신자 장치(104)에 의해 생성될 수 있고 스왑 공개 키 및 대응하는 스왑 개인 키를 포함할 수 있다. 일부 경우에, 제안 메시지를 생성하는 장치는 스왑 키 쌍을 생성할 수 있다. 다른 경우에, 다른 장치는 스왑 키 쌍을 생성할 수 있고 키 둘 모두를 다른 장치에 전자적으로 전송할 수 있다.
따라서, 제안 메시지는 스왑 공개 키 및 원하는 블록체인 거래 둘 모두에 대한 거래 값과 네트워크 식별자를 포함할 수 있다. 제안 메시지를 생성하는 장치는 제안 메시지에 디지털 서명을 할 수 있다. 일부 실시예에서, 장치는 소정 순서로 거래 값 및 네트워크 식별자를 사용하여 머클 트리를 생성할 수 있고 머클 트리의 루트에 디지털 서명을 할 수 있다. 그런 다음, 장치는 스왑 공개 키 및 자체의 개인 키(예를 들어, 제1 블록체인과 제2 블록체인 둘 모두에 사용되는 블록체인 지갑일 수 있거나 또는 제1 블록체인이나 제2 블록체인에 사용되는 블록체인 지갑일 수 있는 블록체인 지갑으로 사용되는 암호화 키 쌍의 개인 키)를 조합하여 디지털 서명을 암호화할 수 있다. 일부 경우에, 장치가 하나보다 많은 암호화 키 쌍을 갖는 경우, 사용되는 개인 키는 장치가 발신자인 블록체인 거래의 개인 키와 같이 하나 이상의 확립된 규칙에 따라 미리 결정될 수 있다. 암호화된 디지털 서명은 소정 위치에서 제안 메시지에 첨부되거나, 앞에 추가되거나, 또는 다른 방식으로 추가될 수 있다.
그런 다음, 제안 메시지는 생성 장치에 의해 다음 장치로, 예를 들어 발신자 장치(102)로부터 수신자 장치(104)로, 전송될 수 있다. 수신자 장치(104)는 거래가 정확하고 합의된 대로 이루어진 것을 확보하기 위해, 예를 들어 이전되는 자산이 적절한 금액인 것을 확보하기 위해, 거래 값 및 네트워크 식별자를 유효성 검사할 수 있다. 수신자 장치(104)(예를 들어, 또는 적용 가능한 경우 발신자 장치(102))가 거래 값 및 네트워크 식별자에 만족하는 경우, 수신자 장치(104)는 제안 메시지에 대한 자체의 디지털 서명을 생성할 수 있다. 디지털 서명은 제안 메시지에 대해 생성된 제1 디지털 서명에서 발신자 장치(102)에 의해 사용된 것과 동일한 데이터를 사용하여 생성될 수 있다(예를 들어, 거래 값 및 네트워크 식별자를 사용하여 생성된 머클 트리의 루트). 그런 다음, 수신자 장치(104)는 스왑 공개 키(예를 들어, 수신된 제안 메시지로부터 검색됨) 및 자체의 개인 키(예를 들어, 위에서 논의된 바와 같이 임의의 적용 가능한 규칙에 따라 결정됨)를 사용하여 디지털 서명을 암호화할 수 있다. 수신자 장치(104)의 암호화된 디지털 서명은 발신자 장치의 암호화된 디지털 서명 후에 제안 메시지의 단부에 첨부되는 것과 같이 소정 방식으로 제안 메시지에 추가될 수 있다.
그런 다음, 암호화된 디지털 서명 둘 모두를 가진 제안 메시지는 각각 제1 블록체인 네트워크(106) 및 제2 블록체인 네트워크(110)에 있는 블록체인 노드(108 및 112)에 제출될 수 있다. 블록체인 노드(108 및 112) 각각은 생성되고 확인되어 각각의 블록체인에 추가되는 새로운 블록에 제안 메시지를 포함할 수 있다. 일부 실시예에서, 블록체인 각각에 대해 별도의 제안 메시지가 생성될 수 있으며, 여기서 다른 블록체인에 대한 거래 값은 해당 거래 값의 해시로 대체될 수 있다. 이러한 경우, 각 제안 메시지에 대해 생성된 디지털 서명은 각각의 제안 메시지에서 변경된 거래 값의 결과로 다를 수 있다. 제안 메시지 각각에서 거래 값 중 하나를 해시 값으로 대체하면 제안 메시지에 대한 파일 크기가 크게 줄어들 수 있으며, 이는 블록체인 각각에 대한 성능을 증가시킬 수 있다.
제안 메시지가 블록체인 둘 모두에 추가된 후, 발신자 장치(102)와 수신자 장치(104) 각각은, 예를 들어 다른 엔티티가 거래 둘 모두에 합의하고 디지털 서명을 추가한 것을 확보하기 위해, 블록체인 각각에 추가된 제안 메시지를 볼 수 있다. 제안 메시지가 블록체인에 추가되면, 원자 교환이 확인될 수 있으며, 이로 인해 스왑이 실행되고 표시된 대로 자산의 소유권이 이전된다. 스왑을 확인하기 위해, 장치 중 하나(예를 들어, 발신자 장치(102) 또는 수신자 장치(104))는 스왑 확인 메시지를 생성할 수 있다. 스왑 확인 메시지는 적어도 제안 메시지에 대한 해시 참조 및 스왑 키 쌍의 스왑 개인 키를 포함할 수 있다. 제안 메시지의 해시 참조는 블록체인에 추가된 최종 제안 메시지에 적합한 해싱 알고리즘을 적용하여 생성된 제안 메시지의 해시 값일 수 있다. 각 블록체인이 다른 제안 메시지를 수신하는 경우, 적절한 제안 메시지에 대한 해시 참조를 사용하여 각 블록체인에 대해 별도의 스왑 확인 메시지가 생성될 수 있다.
그런 다음, 완료된 스왑 확인 메시지는 적절한 블록체인 네트워크(106 또는 110)에 있는 블록체인 노드(108 또는 112)로 전송될 수 있으며, 이는 전통적인 방법 및 시스템을 사용하여 생성 및 확인되는 새로운 블록에 스왑 확인 메시지를 포함할 수 있다. 결과적으로, 제안 메시지 및 스왑 확인 메시지를 이용하여, 제안 메시지에 포함된 거래 값은 유효한 거래로 인정되어 디지털 자산은 블록체인 둘 모두에서 교환될 것이다.
스왑 확인 메시지에 스왑 개인 키를 게시하면, 유효성 검사 시스템(114)과 같은 임의의 관심 있는 엔티티 또는 시스템이 스왑을 유효성 검사할 수 있다. 스왑의 유효성 검사는 제안 메시지에 포함된 암호화된 디지털 서명 둘 모두를 인증하는 것을 포함할 수 있다. 각 디지털 서명이 각각의 장치(예를 들어, 적용 가능한 경우 발신자 장치(102) 또는 수신자 장치(104))의 개인 키 및 스왑 공개 키를 사용하여 암호화되므로, 복호화는 각각의 장치의 공개 키 및 스왑 개인 키를 사용하여 수행될 수 있으며, 이는 블록체인 자체에서 이용 가능할 수 있거나 장치에 의해 이용 가능하게 이루어질 수 있다. 예를 들어, 유효성 검사 시스템(114)은 스왑의 유효성 검사를 위해 발신자 장치(102) 및 수신자 장치(104)에 컨택할 수 있으며, 여기서 발신자 장치(102) 및 수신자 장치(104)는 각각의 공개 키를 제공할 수 있다. 유효성 검사 시스템(114)은 스왑 확인 메시지로부터의 스왑 개인 키 및 각 장치로부터의 공개 키를 사용하여 각각의 디지털 서명을 복호화한 다음 해당 디지털 서명을 유효성 검사할 수 있다. 이러한 방식으로, 유효성 검사 시스템(114)은 (예를 들어, 서명을 복호화하는 데 사용되는 공개 키가 자산 이전에 사용되는 동일한 지갑으로부터 나옴에 따라) 스왑을 유효성 검사하여 제안이 관련 엔티티에 의해 적절하게 서명된 것을 확보할 수 있다. 위에서 논의된 바와 같은 키를 사용한 암호화 및 복호화는 타원 곡선 디피 헬만(ECDH) 프로토콜 또는 다른 타원 곡선 암호화 기법과 같은 공유 비밀을 사용하여 수행될 수 있다. 예를 들어, RSA 암호시스템이 대안적으로 사용될 수 있으며, 여기서 암호화에 스왑 공개 키를 사용하고 복호화에 스왑 개인 키를 사용한다.
일부 실시예에서, 자산 이전은 둘보다 많은 엔티티 및/또는 둘보다 많은 블록체인과 관련될 수 있다. 이러한 경우, 제안 메시지는 추가 자산 이전을 위한 추가 거래 값 및 네트워크 식별자를 포함할 수 있고, 제안 메시지 및 스왑 확인 메시지는 필요에 따라 임의의 추가 블록체인 네트워크를 위한 임의의 추가 블록체인 노드로 전송될 수 있다. 본원에서 논의된 방법 및 시스템은 자산의 원자 교환을 가능하게 하여 관련된 이전, 엔티티, 또는 블록체인의 수에 관계없이 동일한 방법론을 사용하여 발생할 수 있을 뿐만 아니라 각 블록체인의 형식화 및 구현에 대해 불가지론적이다.
따라서, 본원에서 논의된 방법 및 시스템은 다수의 블록체인에서 디지털 자산의 원자 교환에 있어 상당한 개선을 제공한다. 본원에서 논의된 방법은 블록체인에 불가지론적이기 때문에, 본 방법은 수정 없이 디지털 자산과 관련된 현재 존재하는 수천 개의 블록체인 중 어느 것에도 적용될 수 있고, 개발되었지만 현재 존재하지 않는 임의의 새로운 블록체인에도 여전히 적용 가능할 것이다. 부가적으로, 본원에서 논의된 방법은 관련된 여러 엔티티 또는 자산 이전과 관계없이 적용 가능하며, 유일한 차이점은 확인 메시지의 크기이다(예를 들어, 위에서 논의된 바와 같이 개별 블록체인에 적용할 수 없는 거래 값에 해시를 사용하면 파일 크기를 최소화하면서 추가 거래를 용이하게 할 수 있다). 따라서, 본원에서 논의된 방법 및 시스템은 다수의 블록체인에 걸쳐 디지털 자산의 원자 교환을 가능하게 하는 기존 방법에 비해 상당한 개선을 제공한다.
컴퓨팅 장치
도 2는, 예를 들어 시스템(100)에서 발신자 장치(102) 또는 수신자 장치(104)로서 사용될 수 있는, 컴퓨팅 장치(200)의 실시예를 도시하고 있다. 도 2에 도시된 컴퓨팅 장치(200)의 실시예가 단지 예시로서 제공되고 본원에서 논의된 바와 같은 기능을 수행하는 데 적합한 컴퓨팅 장치(200)의 모든 가능한 구성을 망라하는 것이 아닐 수 있음은 당업자에게 명백할 것이다. 예를 들어, 도 5에 도시되며 아래에서 더 자세히 논의될 컴퓨터 시스템(500)은 컴퓨팅 장치(200)의 적합한 구성일 수 있다.
컴퓨팅 장치(200)는 수신 장치(202)를 포함할 수 있다. 수신 장치(202)는 하나 이상의 네트워크 프로토콜을 거쳐 하나 이상의 네트워크를 통해 데이터를 수신하도록 구성될 수 있다. 일부 경우에, 수신 장치(202)는 무선 주파수, 근거리 통신망, 무선 통신망, 셀룰러 통신 네트워크, 블루투스, 인터넷 등과 같은 하나 이상의 통신 방법을 통해 발신자 장치(102), 수신자 장치(104), 블록체인 노드(108 및 112), 유효성 검사 시스템(114), 및 다른 시스템 및 엔티티로부터 데이터를 수신하도록 구성될 수 있다. 일부 실시예에서, 수신 장치(202)는 근거리 통신망을 통해 데이터를 수신하기 위한 제1 수신 장치 및 인터넷을 통해 데이터를 수신하기 위한 제2 수신 장치와 같이, 서로 다른 네트워크를 통해 데이터를 수신하기 위한 서로 다른 수신 장치와 같은 여러 장치로 구성될 수 있다. 수신 장치(202)는 전자적으로 전송된 데이터 신호를 수신할 수 있으며, 여기서 데이터는 데이터 신호에 중첩되거나 또는 다른 방식으로 인코딩될 수 있고, 수신 장치(202)에 의한 데이터 신호의 수신을 통해 디코딩, 파싱, 판독, 또는 다른 방식으로 획득될 수 있다. 일부 경우에, 수신 장치(202)는 수신된 데이터 신호를 파싱하여 그에 중첩된 데이터를 획득하기 위한 파싱 모듈을 포함할 수 있다. 예를 들어, 수신 장치(202)는 수신된 데이터 신호를 수신하고 이를 본원에 설명된 방법 및 시스템을 실행하기 위해 처리 장치에 의해 수행되는 기능에 대한 사용 가능한 입력으로 변환하도록 구성된 파서 프로그램을 포함할 수 있다.
수신 장치(202)는 발신자 장치(102) 또는 수신자 장치(104)에 의해 전자적으로 전송된 데이터 신호를 수신하도록 구성될 수 있으며, 이는 공개 키, 스왑 키 쌍, 거래 값, 네트워크 식별자, 제안 메시지, 또는 본원에서 논의된 방법을 수행하는 데 사용되는 다른 데이터와 중첩되거나 또는 다른 방식으로 인코딩될 수 있다. 수신 장치(202)는 또한, 예를 들어 스왑을 인증하는 데 사용하기 위한 공개 키 요청과 중첩되거나 또는 다른 방식으로 인코딩될 수 있는, 유효성 검사 시스템(114)에 의해 전자적으로 전송된 데이터 신호를 수신하도록 구성될 수 있다. 수신 장치(202)는, 예를 들어 제안 메시지가 이와 연관된 블록체인에 성공적으로 추가된 시기를 식별하기 위해, 블록체인 데이터와 중첩되거나 또는 다른 방식으로 인코딩될 수 있는 블록체인 노드(108 및 112)에 의해 전자적으로 전송된 데이터 신호를 수신하도록 추가로 구성될 수 있다.
컴퓨팅 장치(200)는 또한 통신 모듈(204)을 포함할 수 있다. 통신 모듈(204)은 본원에서 논의된 기능을 수행하는 데 사용하기 위해 컴퓨팅 장치(200)의 모듈, 엔진, 데이터베이스, 메모리, 및 다른 구성요소 사이에서 데이터를 전송하도록 구성될 수 있다. 통신 모듈(204)은 하나 이상의 통신 유형으로 구성될 수 있고 컴퓨팅 장치 내 통신을 위해 다양한 통신 방법을 활용할 수 있다. 예를 들어, 통신 모듈(204)은 버스, 접촉 핀 커넥터, 와이어 등으로 구성될 수 있다. 일부 실시예에서, 통신 모듈(204)은 또한 컴퓨팅 장치(200)의 내부 구성요소와 외부에 연결된 데이터베이스, 디스플레이 장치, 입력 장치 등과 같은 컴퓨팅 장치(200)의 외부 구성요소 사이에서 통신하도록 구성될 수 있다. 컴퓨팅 장치(200)는 또한 처리 장치를 포함할 수 있다. 처리 장치는 당업자에게 명백한 바와 같이 본원에서 논의된 컴퓨팅 장치(200)의 기능을 수행하도록 구성될 수 있다. 일부 실시예에서, 처리 장치는 질의 모듈(214), 생성 모듈(216), 유효성 검사 모듈(218) 등과 같은, 처리 장치의 하나 이상의 기능을 수행하도록 특별히 구성된 복수의 엔진 및/또는 모듈로 구성될 수 있고 및/또는 이를 포함할 수 있다. 본원에서 사용된 바와 같이, "모듈"이란 용어는 입력을 수신하고, 입력을 사용하여 하나 이상의 프로세스를 수행하고, 출력을 제공하도록 특별히 프로그래밍된 소프트웨어 또는 하드웨어일 수 있다. 다양한 모듈에 의해 수행되는 입력, 출력, 및 프로세스는 본 개시내용에 기초하여 당업자에게 명백할 것이다.
컴퓨팅 장치(200)는 또한 블록체인 데이터(206)를 포함할 수 있으며, 이는 컴퓨팅 장치(200)의 메모리(212)에 저장될 수 있거나 또는 컴퓨팅 장치(200) 내의 별도의 영역에 저장되거나 이에 의해 액세스 가능할 수 있다. 블록체인 데이터(206)는 블록체인을 포함할 수 있으며, 이는 복수의 블록으로 구성될 수 있고 블록체인 네트워크(106, 110)와 연관될 수 있다. 블록체인 데이터(206)는 또한 또는 대안적으로 암호화 키 쌍, 미사용 거래 출력, 디지털 자산 금액, 블록체인 네트워크(106 및 110)에 대한 네트워크 식별자, 스왑 키 쌍, 서명 생성 알고리즘, 암호화 알고리즘 등과 같이 컴퓨팅 장치(200)에 의해 사용될 수 있는 하나 이상의 블록체인 지갑과 연관된 임의의 데이터를 포함할 수 있다.
컴퓨팅 장치(200)는 또한 메모리(212)를 포함할 수 있다. 메모리(212)는 공개 및 개인 키, 대칭 키 등과 같이 본원에서 논의된 기능을 수행 시 컴퓨팅 장치(200)에 의해 사용하기 위한 데이터를 저장하도록 구성될 수 있다. 메모리(212)는 적합한 데이터 형식 방법 및 스키마를 사용하여 데이터를 저장하도록 구성될 수 있고, 읽기 전용 메모리, 랜덤 액세스 메모리 등과 같은 임의의 적합한 유형의 메모리일 수 있다. 메모리(212)는 예를 들어 암호화 키 및 알고리즘, 통신 프로토콜 및 표준, 데이터 형식 표준 및 프로토콜, 처리 장치의 모듈 및 응용 프로그램에 대한 프로그램 코드, 및 당업자에게 명백한 바와 같이 본원에 개시된 기능의 수행 시 컴퓨팅 장치(200)에 의해 사용하기에 적합할 수 있는 다른 데이터를 포함할 수 있다. 일부 실시예에서, 메모리(212)는 내부에 저장된 구조화된 데이터 세트의 저장, 식별, 수정, 업데이트, 액세스 등을 위해 구조화된 질의 언어를 활용하는 관계형 데이터베이스로 구성되거나 또는 다른 방식으로 이를 포함할 수 있다. 메모리(212)는 예를 들어 암호화 키, 솔트, 논스, 블록체인 노드(108 및 112) 및 블록체인 네트워크(106 및 110)에 대한 통신 정보, 주소 생성 및 유효성 검사 알고리즘, 디지털 서명 생성 및 유효성 검사 알고리즘, 기준 값 생성을 위한 해싱 알고리즘 등을 저장하도록 구성될 수 있다.
컴퓨팅 장치(200)는 질의 모듈(214)을 포함할 수 있다. 질의 모듈(214)은 정보를 식별하기 위해 데이터베이스에 대한 질의를 실행하도록 구성될 수 있다. 질의 모듈(214)은 하나 이상의 데이터 값 또는 질의 문자열을 수신할 수 있고, 내부에 저장된 정보를 식별하기 위해 컴퓨팅 장치(200)의 메모리(212)와 같은 표시된 데이터베이스에 기초하여 질의 문자열을 실행할 수 있다. 그런 다음, 질의 모듈(214)은 필요에 따라 식별된 정보를 컴퓨팅 장치(200)의 적절한 엔진 또는 모듈에 출력할 수 있다. 질의 모듈(214)은 예를 들어 제안 메시지를 통해 생성된 디지털 서명을 암호화하는 데 사용될 공개 키를 식별하기 위해 블록체인 데이터(206)에 대한 질의를 실행할 수 있다.
컴퓨팅 장치(200)는 또한 생성 모듈(216)을 포함할 수 있다. 생성 모듈(216)은 본원에서 논의된 기능을 수행 시 컴퓨팅 장치(200)에 의해 사용하기 위한 데이터를 생성하도록 구성될 수 있다. 생성 모듈(216)은 명령어를 입력으로 수신할 수 있고, 명령어에 기초하여 데이터를 생성할 수 있고, 생성된 데이터를 컴퓨팅 장치(200)의 하나 이상의 모듈에 출력할 수 있다. 예를 들어, 생성 모듈(216)은 제안 메시지, 스왑 확인 메시지, 디지털 서명, 데이터 신호, 키 쌍 등을 생성하도록 구성될 수 있다.
컴퓨팅 장치(200)는 또한 암호화 모듈(210)을 포함할 수 있다. 암호화 모듈(210)은, 예를 들어 컴퓨팅 장치(200)의 블록체인 데이터(206) 또는 메모리(212)에 저장되거나 수신 장치(202)에 의해 수신될 수 있는, 키 및 암호화 알고리즘을 사용하여 데이터를 암호화하거나 암호화된 데이터를 복호화하도록 구성될 수 있다. 암호화 모듈(210)은 데이터 및 명령어를 입력으로 수신할 수 있고, 명령에 따라 데이터를 암호화 또는 복호화하고, 결과적으로 암호화되거나 복호화된 데이터를 컴퓨팅 장치(200)의 다른 모듈 또는 엔진으로 출력할 수 있다. 암호화 모듈(210)은 예를 들어 스왑 공개 키 및 다른 개인 키를 사용하여 디지털 서명을 암호화하고 스왑 개인 키 및 다른 공개 키를 사용하여 디지털 서명을 복호화하는 등을 수행하도록 구성될 수 있다.
컴퓨팅 장치(200)는 또한 유효성 검사 모듈(218)을 포함할 수 있다. 유효성 검사 모듈(218)은 본원에서 논의된 기능의 일부로서 컴퓨팅 장치(200)에 대한 유효성 검사를 수행하도록 구성될 수 있다. 유효성 검사 모듈(218)은 유효성 검사를 수행 시 사용될 데이터를 또한 포함할 수 있는 명령어를 입력으로서 수신할 수 있고, 요청된 대로 유효성 검사를 수행할 수 있고, 유효성 검사의 결과를 컴퓨팅 장치(200)의 다른 모듈 또는 엔진으로 출력할 수 있다. 유효성 검사 모듈(218)은 예를 들어 적합한 서명 생성 알고리즘 및 키를 사용하여 디지털 서명을 유효성 검사하고, 거래 값 및 본원에서 논의된 다른 데이터를 유효성 검사하도록 구성될 수 있다.
컴퓨팅 장치(200)는 또한 전송 장치(220)를 포함할 수 있다. 전송 장치(220)는 하나 이상의 네트워크 프로토콜을 거쳐 하나 이상의 네트워크를 통해 데이터를 전송하도록 구성될 수 있다. 일부 경우에, 전송 장치(220)는 근거리 통신망, 무선 통신망, 셀룰러 통신, 블루투스, 무선 주파수, 인터넷 등인 하나 이상의 통신 방법을 통해 발신자 장치(102), 수신자 장치(104), 블록체인 노드(108 및 112), 유효성 검사 시스템(114), 및 다른 엔티티로 데이터를 전송하도록 구성될 수 있다. 일부 실시예에서, 전송 장치(220)는 근거리 통신망을 통해 데이터를 전송하기 위한 제1 전송 장치 및 인터넷을 통해 데이터를 전송하기 위한 제2 전송 장치와 같이, 서로 다른 네트워크를 통해 데이터를 전송하기 위한 서로 다른 전송 장치와 같은 여러 장치로 구성될 수 있다. 전송 장치(220)는 수신 컴퓨팅 장치에 의해 파싱될 수 있는 중첩된 데이터를 갖는 데이터 신호를 전자적으로 전송할 수 있다. 일부 경우에, 전송 장치(220)는 데이터를 전송에 적합한 데이터 신호로 중첩, 인코딩, 또는 다른 방식으로 형식화하기 위한 하나 이상의 모듈을 포함할 수 있다.
전송 장치(220)는 발신자 장치(102) 또는 수신자 장치(104)로 데이터 신호를 전자적으로 전송하도록 구성될 수 있으며, 이는 공개 키, 스왑 키 쌍, 거래 값, 네트워크 식별자, 제안 메시지, 또는 본원에서 논의된 방법을 수행하는 데 사용되는 다른 데이터와 중첩되거나 또는 다른 방식으로 인코딩될 수 있다. 전송 장치(220)는 또한, 예를 들어 스왑을 인증하는 데 사용하기 위한 공개 키와 중첩되거나 또는 다른 방식으로 인코딩될 수 있는, 데이터 신호를 유효성 검사 시스템(114)로 전자적으로 전송하도록 구성될 수 있다. 전송 장치(220)는 제안 메시지, 스왑 확인 메시지, 및 본원에서 논의된 바와 같이 사용되는 기타 데이터와 중첩되거나 또는 다른 방식으로 인코딩될 수 있는 데이터 신호를 블록체인 노드(108 및 112)로 전자적으로 전송하도록 추가로 구성될 수 있다.
디지털 자산의 원자 교환을 위한 프로세스
도 3a 내지 도 3c는 본원에서 스왑 키 쌍으로 지칭되는 임시 키 쌍의 사용을 통해 두 개의 서로 다른 블록체인에서 디지털 자산의 원자 교환을 위한 프로세스를 도시하고 있다.
단계 302에서, 발신자 장치(102)와 수신자 장치(104)는 장치와 연관된 당사자 사이에서 디지털 자산의 교환을 용이하게 하기 위해 한 쌍의 블록체인 거래에 합의하는 데이터 교환을 수행할 수 있다. 데이터 교환은 공개 키, 미사용 거래 출력, 디지털 서명, 자산 금액, 및 블록체인 네트워크(106 및 110) 각각에서 처리될 블록체인 거래에 필요한 다른 데이터의 교환을 포함할 수 있다. 단계 302의 끝에서, 발신자 장치(102)는 각 블록체인에서 수행될 블록체인 거래를 통해 발신자 장치(102)와 수신자 장치(104) 사이의 자산 교환을 위해 두 블록체인 네트워크(106 및 110) 각각에 대한 거래 값을 생성할 수 있을 만큼 충분한 데이터를 가질 수 있다.
단계 304에서, 발신자 장치(102)의 생성 모듈(216)은 디지털 자산의 교환을 달성하기 위해 제1 및 제2 블록체인 거래에 대한 거래 값을 생성할 수 있다. 단계 306에서, 발신자 장치(102)의 생성 모듈(216)은 적합한 키 생성 알고리즘을 사용하여 스왑 암호화 키 쌍을 생성할 수 있다. 단계 308에서, 발신자 장치(102)의 생성 모듈(216)은 원자 교환을 위한 제안 메시지를 생성할 수 있다. 제안 메시지는 적어도 스왑 키 쌍의 스왑 공개 키뿐만 아니라 블록체인 거래 둘 모두에 대한 거래 값 및 네트워크 식별자를 포함할 수 있으며, 여기서 네트워크 식별자는 관련 블록체인 네트워크(106 또는 110)에 대한 고유 식별자이다. 단계 310에서, 발신자 장치(102)의 생성 모듈(216)은 두 거래 값 및 네트워크 식별자를 사용하여 생성된 머클 트리의 루트에 대한 디지털 서명을 생성함으로써 제안 데이터에 서명할 수 있다. 단계 312에서, 발신자 장치(102)의 암호화 모듈(210)은 자산 이전이 수행되는 블록체인 중 하나에 대한 발신자 장치(102)에 대한 블록체인 지갑 역할을 하는 암호화 키 쌍의 개인 키와 같은 발신자 장치(102)의 개인 키 및 스왑 공개 키를 사용함으로써 ECDH를 사용하여 디지털 서명을 암호화할 수 있다. 단계 314에서, 발신자 장치(102)는 암호화된 디지털 서명을 제안 메시지에 첨부할 수 있다.
단계 316에서, 발신자 장치(102)의 전송 장치(220)는 적합한 통신 방법 및 시스템을 사용하여 수신자 장치(104)에 포함된 암호화된 디지털 서명을 가진 제안 메시지를 전자적으로 전송할 수 있다. 단계 318에서, 수신자 장치(104)의 수신 장치(202)는 제안 메시지를 수신할 수 있다. 단계 320에서, 수신자 장치(104)의 유효성 검사 모듈(218)은 두 블록체인 거래가 적합한 것을, 예를 들어 디지털 자산의 교환에 대해 당사자 둘 모두가 합의한 내용이 정확한 것을, 확보하기 위해 제안 메시지에 있는 두 거래 값 및 네트워크 식별자를 유효성 검사할 수 있다. 단계 322에서, 수신자 장치(104)의 생성 모듈(216)은 거래 값 및 네트워크 식별자를 사용하여 생성된 머클 트리의 루트에 서명함으로써 제안 메시지에 대한 자체의 디지털 서명을 생성할 수 있다. 단계 324에서, 수신자 장치(104)의 암호화 모듈(210)은, 자산 이전이 수행되는 블록체인 중 하나에 대한 수신자 장치(104)에 대한 블록체인 지갑 역할을 하는 암호화 키 쌍의 개인 키와 같은, 수신자 장치(104)의 개인 키 및 수신된 제안 메시지에서 식별된 바와 같은 스왑 공개 키를 사용하여 생성된 디지털 서명을 암호화할 수 있다. 단계 326에서, 이러한 추가적인 암호화된 디지털 서명은 예를 들어 제1 암호화된 디지털 서명 후에 제안 메시지에 첨부될 수 있다.
단계 328에서, 수신자 장치(104)의 전송 장치(220)는 암호화된 디지털 서명 둘 모두를 가진 제안 메시지를 블록체인 노드(112)에 전자적으로 전송할 수 있다(예를 들어, 수신자 장치(104)는 자산 교환에 관련된 모든 블록체인 네트워크에 대해 블록체인 노드에 제안 메시지를 전송할 수 있지만, 편의상 블록체인 네트워크 중 하나에서만 블록체인 노드에 의해 수행되는 작업이 도 3a 내지 도 3c에 도시되어 있으며 본원에서 논의됨). 단계 330에서, 블록체인 노드(112)는 적합한 통신 네트워크 및 방법을 사용하여 수신자 장치(104)로부터 제안 메시지를 수신할 수 있다.
단계 332에서, 블록체인 노드(112)는 전통적인 방법 및 시스템을 사용하여 그의 블록체인을 위한 새로운 블록을 생성할 수 있으며, 여기서 제안 메시지는 내부에 저장된 거래 데이터 값으로 새로운 블록에 포함된다. 단계 334에서, 예를 들어 새로운 블록이 블록체인 네트워크(110)에 있는 다른 블록체인 노드에 분산되며 대다수의 블록체인 노드에 의해 확인됨으로써 새로운 블록은 전통적인 방법 및 시스템을 사용하여 블록체인에 게시될 수 있고, 블록체인에 다음 블록으로 추가된 것으로 간주된다. 단계 336에서, 발신자 장치(102)의 수신 장치(202)는 블록체인 노드(112) 또는 다른 적합한 방법으로부터 직접 블록체인 상의 새로운 블록을 수신할 수 있다.
단계 338에서, 발신자 장치(102)의 유효성 검사 모듈(218)은 제안 메시지를 유효성 검사하여 제안 메시지가 정확하다는 것을, 예를 들어 거래 값 중 어느 것도 변경되지 않았고 제2 암호화된 디지털 서명이 첨부되었다는 것을, 확보할 수 있다. 단계 340에서, 발신자 장치(102)의 생성 모듈(216)은 디지털 자산의 교환을 위한 확인 메시지를 생성할 수 있다. 확인 메시지는 제안 메시지에 대한 기준 값뿐만 아니라 스왑 개인 키를 포함할 수 있다. 일부 실시예에서, 기준 값은 새로운 블록에서 블록체인에 추가된 제안 메시지에 해싱 알고리즘을 적용하여 생성된 해시 값일 수 있다. 단계 342에서, 발신자 장치(102)의 전송 장치(220)는 적합한 통신 네트워크 및 방법을 사용하여 확인 메시지를 블록체인 노드(112)에 전자적으로 전송할 수 있다.
단계 344에서, 블록체인 노드(112)는 확인 메시지를 수신할 수 있다. 단계 346에서, 블록체인 노드(112)에 의해 블록체인에 대한 새로운 블록이 생성될 수 있으며, 여기서 새로운 블록은 확인 메시지를 포함한다. 블록은 확인을 위해 블록체인 네트워크(110)에 있는 다른 블록체인 노드에 분산될 수 있고, 단계 348에서 확인 메시지가 있는 새로운 블록이 블록체인에 추가될 수 있다. 확인 메시지를 추가하면, 블록체인 둘 모두에서의 블록체인 거래는 처리된 것으로 간주될 수 있으며, 여기서 발신자 장치(102)와 수신자 장치(104) 각각은 블록체인 상의 다른 장치로부터 디지털 자산을 수신할 것이다.
다수의 블록체인에서 자산의 원자 교환을 위한 예시적인 방법
도 4는 임시 키 쌍을 사용하여 다수의 블록체인에 걸쳐 디지털 자산의 원자 교환을 위한 방법(400)을 도시하고 있으며, 이는 블록체인의 형식화 및 구현뿐만 아니라 관련된 블록체인 및 자산 이전의 수에 대해 불가지론적이다.
단계 402에서, 제1 컴퓨팅 장치(예를 들어, 발신자 장치(102))의 (예를 들어, 생성 모듈(216)에 의해) 제안 메시지가 생성될 수 있고, 제안 메시지는 적어도 제1 거래 값, 제1 블록체인에 대응하는 제1 네트워크 식별자, 제2 거래 값, 제2 블록체인에 대응하는 제2 네트워크 식별자, 및 스왑 암호화 키 쌍의 스왑 공개 키를 포함한다. 단계 404에서, 제안 메시지에 대해 제1 컴퓨팅 장치에 의해 제1 디지털 서명이 생성될 수 있다. 단계 406에서, 제1 디지털 서명은 스왑 공개 키 및 제1 암호화 키 쌍의 제1 개인 키를 사용하여 제1 컴퓨팅 장치의 (예를 들어, 암호화 모듈(210)에 의해) 암호화될 수 있다.
단계 408에서, 암호화된 제1 디지털 서명은 제1 컴퓨팅 장치에 의해 생성된 제안 메시지에 첨부될 수 있다. 단계 410에서, 암호화된 제1 디지털 서명이 첨부된 생성된 제안 메시지는 제1 컴퓨팅 장치의 (예를 들어, 전송 장치(220)에 의해) 제2 컴퓨팅 장치(예를 들어, 수신자 장치(104))에 전자적으로 전송될 수 있다.
일 실시예에서, 본 방법(400)은 제2 컴퓨팅 장치가 제안 메시지에 대한 제2 디지털 서명을 생성하는 단계; 제2 컴퓨팅 장치가 스왑 공개 키 및 제2 암호화 키 쌍의 제2 개인 키를 사용하여 제2 디지털 서명을 암호화하는 단계; 제2 컴퓨팅 장치가 암호화된 제1 디지털 서명이 첨부된 생성된 제안 메시지에 암호화된 제2 디지털 서명을 첨부하는 단계; 및 제2 컴퓨팅 장치가 암호화된 제1 디지털 서명 및 암호화된 제2 디지털 서명이 첨부된 생성된 제안 메시지를 전송하는 단계를 더 포함할 수 있다. 추가 실시예에서, 생성된 제안 메시지는 제2 컴퓨팅 장치에 의해 제2 블록체인과 연관된 블록체인 네트워크(예를 들어, 블록체인 네트워크(110))에 있는 복수의 블록체인 노드 중 적어도 하나(예를 들어, 블록체인 노드(112))로 전송될 수 있다. 또 다른 추가 실시예에서, 본 방법(400)은 제1 컴퓨팅 장치가 확인 메시지를 생성하는 단계로서, 확인 메시지는 적어도 (i) 암호화된 제1 디지털 서명 및 암호화된 제2 디지털 서명이 첨부된 생성된 제안 메시지를 사용하여 생성된 해시 값 및 (ii) 스왑 암호화 키 쌍의 스왑 개인 키를 포함하는, 단계; 및 제1 컴퓨팅 장치가 생성된 확인 메시지를 제2 블록체인과 연관된 블록체인 네트워크에 있는 복수의 블록체인 노드 내의 블록체인 노드로 전송하는 단계를 더 포함할 수 있다. 또 다른 추가 실시예에서, 본 방법(400)은 제3 컴퓨팅 장치(예를 들어, 유효성 검사 시스템(114))가 생성된 확인 메시지 및 암호화된 제1 디지털 서명 및 암호화된 제2 디지털 서명이 첨부된 생성된 제안 메시지를 제2 블록체인으로부터 검색하는 단계; 제3 컴퓨팅 장치가 검색된 확인 메시지에 있는 스왑 개인 키 및 제1 암호화 키 쌍의 제1 공개 키를 사용하여 제1 디지털 서명을 복호화하는 단계; 및 제3 컴퓨팅 장치가 복호화된 제1 디지털 서명을 인증하는 단계를 더 포함할 수 있다.
일부 실시예에서, 본 방법(400)은 제1 컴퓨팅 장치가 제안 메시지를 생성하기 전에 스왑 암호화 키 쌍을 생성하는 단계를 더 포함할 수 있다. 일 실시예에서, 제1 디지털 서명은 제안 메시지에 있는 제1 거래 값, 제1 네트워크 식별자, 제2 거래 값, 및 제2 네트워크 식별자에 서명함으로써 생성될 수 있다. 일부 실시예에서, 제1 거래 값은 제1 블록체인을 사용한 제1 블록체인 거래에 대한 거래 데이터를 사용하여 생성된 해시 값을 포함할 수 있고, 제2 거래 값은 제2 블록체인을 사용한 제2 블록체인 거래에 대한 거래 데이터를 포함할 수 있다.
컴퓨터 시스템 아키텍처
도 5는 본 개시내용의 실시예 또는 그 일부가 컴퓨터 판독 가능 코드로 구현될 수 있는 컴퓨터 시스템(500)을 도시하고 있다. 예를 들어, 도 1의 발신자 장치(102)와 수신자 장치(104) 및 도 2의 컴퓨팅 장치(200)는 하드웨어, 명령어가 저장된 비일시적 컴퓨터 판독 가능 매체, 또는 이들의 조합을 사용하여 컴퓨터 시스템(500)에서 구현될 수 있고 하나 이상의 컴퓨터 시스템 또는 다른 처리 시스템에서 구현될 수 있다. 하드웨어는 도 3a 내지 도 3c 및 도 4의 방법을 구현하는 데 사용되는 모듈 및 구성요소를 구현할 수 있다.
프로그래머블 로직이 사용되는 경우, 이러한 로직은 실행 가능한 소프트웨어 코드에 의해 구성된 상용 처리 플랫폼에서 실행되어 특정 목적의 컴퓨터 또는 특수 목적의 장치(예를 들어, 프로그래머블 로직 어레이, 주문형 집적 회로 등)가 될 수 있다. 당업자는 개시된 기술 요지의 실시예가 멀티 코어 멀티프로세서 시스템, 미니컴퓨터, 메인프레임 컴퓨터, 분산 기능으로 링크되거나 클러스터링된 컴퓨터, 및 거의 모든 장치에 내장될 수 있는 퍼베이시브 또는 소형 컴퓨터를 포함하는 다양한 컴퓨터 시스템 구성으로 실행될 수 있음을 이해할 수 있다. 예를 들어, 적어도 하나의 프로세서 장치 및 메모리는 전술한 실시예를 구현하는 데 사용될 수 있다.
본원에서 논의된 바와 같은 프로세서 유닛 또는 장치는 단일 프로세서, 복수의 프로세서, 또는 이들의 조합일 수 있다. 프로세서 장치는 하나 이상의 프로세서 "코어"를 구비할 수 있다. 본원에서 논의된 바와 같은 "컴퓨터 프로그램 매체", "비일시적 컴퓨터 판독 가능 매체", 및 "컴퓨터 사용 가능 매체"라는 용어는 일반적으로 이동식 저장 유닛(518), 이동식 저장 유닛(522) 및 하드디스크 드라이브(512)에 설치된 하드디스크와 같은 유형식 미디어를 지칭하는 데 사용된다.
본 개시내용의 다양한 실시예는 이러한 예시적인 컴퓨터 시스템(500)의 관점에서 설명된다. 이러한 설명을 읽은 후, 다른 컴퓨터 시스템 및/또는 컴퓨터 아키텍처를 사용하여 본 개시내용을 구현하는 방법은 당업자에게 명백해질 것이다. 동작은 순차적 프로세스로 설명될 수 있지만, 동작 중 일부는 실제로 병렬로, 동시에, 및/또는 분산 환경에서 수행될 수 있으며 단일 또는 다중 프로세서 머신에서 액세스할 수 있도록 로컬 또는 원격으로 저장된 프로그램 코드를 사용하여 수행될 수 있다. 또한, 일부 실시예에서, 동작 순서는 개시된 기술 요지의 사상을 벗어나지 않고 재배열될 수 있다.
프로세서 장치(504)는 본원에서 논의된 기능을 수행하도록 특별히 구성된 특수 목적 또는 범용 프로세서 장치일 수 있다. 프로세서 장치(504)는 버스, 메시지 큐, 네트워크, 멀티 코어 메시지 전달 스키마 등과 같은 통신 인프라(506)에 연결될 수 있다. 네트워크는 본원에 개시된 기능을 수행하는 데 적합한 임의의 네트워크일 수 있고 근거리 통신망(LAN), 광역 통신망(WAN), 무선 네트워크(예를 들어, WiFi), 이동 통신 네트워크, 위성 네트워크, 인터넷, 광섬유, 동축 케이블, 적외선, 무선 주파수(RF), 또는 이들의 임의의 조합을 포함할 수 있다. 다른 적합한 네트워크 유형 및 구성은 당업자에게 명백할 것이다. 컴퓨터 시스템(500)은 또한 주 메모리(508)(예를 들어, 랜덤 액세스 메모리, 리드 온리 메모리 등)를 포함할 수 있고, 보조 메모리(510)도 포함할 수 있다. 보조 메모리(510)는 하드 디스크 드라이브(512), 및 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브, 플래시 메모리 등과 같은 이동식 저장 드라이브(514)를 포함할 수 있다.
이동식 저장 드라이브(514)는 주지된 방식으로 이동식 저장 유닛(518)에 대한 읽기 및/또는 쓰기를 수행할 수 있다. 이동식 저장 유닛(518)은 이동식 저장 드라이브(514)에 의해 판독 및 기록될 수 있는 이동식 저장 매체를 포함할 수 있다. 예를 들어, 이동식 저장 드라이브(514)가 플로피 디스크 드라이브 또는 범용 직렬 버스 포트인 경우, 이동식 저장 유닛(518)은 각각 플로피 디스크 또는 포터블 플래시 드라이브일 수 있다. 일 실시예에서, 이동식 저장 유닛(518)은 비일시적 컴퓨터 판독 가능 기록 매체일 수 있다.
일부 실시예에서, 보조 메모리(510)는 컴퓨터 프로그램 또는 다른 명령어가 컴퓨터 시스템(500)에 로딩될 수 있게 하는 대안적인 수단을, 예를 들어 이동식 저장 유닛(522) 및 인터페이스(520)를, 포함할 수 있다. 이러한 수단의 예로는 프로그램 카트리지 및 카트리지 인터페이스(예를 들어, 비디오 게임 시스템에서 볼 수 있음), 탈착식 메모리 칩(예를 들어, EEPROM, PROM 등) 및 관련 소켓, 및 다른 이동식 저장 유닛(522) 및 인터페이스(520)를 포함할 수 있으며, 이는 당업자에게 명백할 것이다.
컴퓨터 시스템(500)(예를 들어, 주 메모리(508) 및/또는 보조 메모리(510))에 저장된 데이터는 광학 스토리지(예를 들어 컴팩트 디스크, 디지털 다기능 디스크, 블루레이 디스크 등) 또는 자기 테이프 스토리지(예를 들어, 하드 디스크 드라이브)와 같은 모든 유형의 적합한 컴퓨터 판독 가능 매체에 저장될 수 있다. 데이터는 관계형 데이터베이스, 구조화된 질의 언어(SQL) 데이터베이스, 분산 데이터베이스, 객체 데이터베이스 등과 같은 모든 유형의 적합한 데이터베이스 구성으로 구성될 수 있다. 적합한 구성 및 저장 유형은 당업자에게 명백할 것이다.
컴퓨터 시스템(500)은 또한 통신 인터페이스(524)를 포함할 수 있다. 통신 인터페이스(524)는 소프트웨어 및 데이터가 컴퓨터 시스템(500)과 외부 장치 사이에 전송될 수 있도록 구성될 수 있다. 예시적인 통신 인터페이스(524)는 모뎀, 네트워크 인터페이스(예를 들어, 이더넷 카드), 통신 포트, PCMCIA 슬롯, 및 카드 등을 포함할 수 있다. 통신 인터페이스(524)를 통해 전송되는 소프트웨어 및 데이터는 신호 형태일 수 있으며, 이는 전자, 전자기, 광학 또는 당업자에게 명백한 바와 같은 다른 신호일 수 있다. 신호는 신호를 전달하도록 구성될 수 있으며 전선, 케이블, 광섬유, 전화선, 휴대폰 링크, 무선 주파수 링크 등을 사용하여 구현될 수 있는 통신 경로(526)를 통해 이동할 수 있다.
컴퓨터 시스템(500)은 디스플레이 인터페이스(502)를 더 포함할 수 있다. 디스플레이 인터페이스(502)는 데이터가 컴퓨터 시스템(500)과 외부 디스플레이(530) 사이에 전송될 수 있도록 구성될 수 있다. 예시적인 디스플레이 인터페이스(502)는 고화질 멀티미디어 인터페이스(HDMI), 디지털 비주얼 인터페이스(DVI), 비디오 그래픽 어레이(VGA) 등을 포함할 수 있다. 디스플레이(530)는 음극선관(CRT) 디스플레이, 액정 디스플레이(LCD), 발광 다이오드(LED) 디스플레이, 정전식 터치 디스플레이, 박막 트랜지스터(TFT) 디스플레이 등을 비롯하여 컴퓨터 시스템(500)의 디스플레이 인터페이스(502)를 통해 전송된 데이터를 표시하기 위한 임의의 적합한 유형의 디스플레이일 수 있다.
컴퓨터 프로그램 매체 및 컴퓨터 사용 가능 매체는 메모리 반도체(예를 들어, DRAM 등)일 수 있는 주 메모리(508) 및 보조 메모리(510)와 같은 메모리를 지칭할 수 있다. 이들 컴퓨터 프로그램 제품은 컴퓨터 시스템(500)에 소프트웨어를 제공하기 위한 수단일 수 있다. 컴퓨터 프로그램(예를 들어, 컴퓨터 제어 로직)은 주 메모리(508) 및/또는 보조 메모리(510)에 저장될 수 있다. 컴퓨터 프로그램은 통신 인터페이스(524)를 통해 수신될 수도 있다. 이러한 컴퓨터 프로그램은 실행될 때 컴퓨터 시스템(500)이 본원에서 논의된 본 방법을 구현하도록 할 수 있다. 특히, 컴퓨터 프로그램은 실행될 때 프로세서 장치(504)가 본원에서 논의된 바와 같이 도 3a 내지 도 3c 및 도 4에 도시된 방법을 구현하도록 할 수 있다. 따라서, 이러한 컴퓨터 프로그램은 컴퓨터 시스템(500)의 제어기를 나타낼 수 있다. 본 개시내용이 소프트웨어를 사용하여 구현되는 경우, 소프트웨어는 컴퓨터 프로그램 제품에 저장될 수 있고 이동식 저장 드라이브(514), 인터페이스(520), 및 하드 디스크 드라이브(512) 또는 통신 인터페이스(524)를 사용하여 컴퓨터 시스템(500)에 로딩될 수 있다.
프로세서 장치(504)는 컴퓨터 시스템(500)의 기능을 수행하도록 구성된 하나 이상의 모듈 또는 엔진을 포함할 수 있다. 모듈 또는 엔진 각각은 하드웨어를 사용하여 구현될 수 있고, 일부 경우에 예를 들어 주 메모리(508) 또는 보조 메모리(510)에 저장된 프로그램 코드 및/또는 프로그램에 대응하는 소프트웨어를 활용할 수도 있다. 이러한 경우, 프로그램 코드는 컴퓨터 시스템(500)의 하드웨어에 의해 실행되기 전에 프로세서 장치(504)에 의해(예를 들어, 컴파일 모듈 또는 엔진에 의해) 컴파일될 수 있다. 예를 들어, 프로그램 코드는 프로세서 장치(504) 및/또는 컴퓨터 시스템(500)의 임의의 추가적인 하드웨어 구성요소에 의한 실행을 위해 어셈블리 언어 또는 기계어 코드와 같은 하위 레벨 언어로 번역되는 프로그래밍 언어로 작성된 소스 코드일 수 있다. 컴파일 프로세스는 어휘 분석, 전처리, 파싱, 의미 분석, 구문 지향 번역, 코드 생성, 코드 최적화, 및 프로그램 코드를 컴퓨터 시스템(500)을 제어하는 데 적합한 하위 레벨 언어로 번역하는 데 적합할 수 있는 기타 기법의 사용을 포함하여 본원에 개시된 기능을 수행할 수 있다. 이러한 프로세스로 인해 컴퓨터 시스템(500)이 위에서 논의된 기능을 수행하도록 고유하게 프로그래밍된 특별히 구성된 컴퓨터 시스템(500)이 된다는 것은 당업자에게 명백할 것이다.
본 개시내용과 일치하는 기법은 무엇보다도 임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 시스템 및 방법을 제공한다. 개시된 시스템 및 방법의 다양한 예시적인 실시예를 위에서 설명하였지만, 이들은 단지 예시의 목적으로 제시되고 제한되지 않음을 이해해야 한다. 이는 본 개시내용을 개시된 정확한 형태로 총망라하거나 제한하지 않는다. 수정 및 변형은 위의 교시를 고려하여 가능하거나 또는 폭이나 범위를 벗어나지 않고 본 개시내용의 실시로부터 획득될 수 있다.

Claims (16)

  1. 임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 방법으로서,
    제1 컴퓨팅 장치가 제안 메시지를 생성하는 단계로서, 상기 제안 메시지는 적어도 제1 거래 값, 제1 블록체인에 대응하는 제1 네트워크 식별자, 제2 거래 값, 제2 블록체인에 대응하는 제2 네트워크 식별자, 및 스왑 암호화 키 쌍의 스왑 공개 키를 포함하는, 단계;
    상기 제1 컴퓨팅 장치가 상기 제안 메시지에 대한 제1 디지털 서명을 생성하는 단계;
    상기 제1 컴퓨팅 장치가 상기 스왑 공개 키 및 제1 암호화 키 쌍의 제1 개인 키를 사용하여 상기 제1 디지털 서명을 암호화하는 단계;
    상기 제1 컴퓨팅 장치가 상기 암호화된 제1 디지털 서명을 상기 생성된 제안 메시지에 첨부하는 단계; 및
    상기 제1 컴퓨팅 장치가 상기 암호화된 제1 디지털 서명이 첨부된 생성된 제안 메시지를 제2 컴퓨팅 장치에 전송하는 단계를 포함하는, 임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 방법.
  2. 제1항에 있어서,
    제2 컴퓨팅 장치가 상기 제안 메시지에 대한 제2 디지털 서명을 생성하는 단계;
    상기 제2 컴퓨팅 장치가 상기 스왑 공개 키 및 제2 암호화 키 쌍의 제2 개인 키를 사용하여 상기 제2 디지털 서명을 암호화하는 단계;
    상기 제2 컴퓨팅 장치가 상기 암호화된 제1 디지털 서명이 첨부된 생성된 제안 메시지에 상기 암호화된 제2 디지털 서명을 첨부하는 단계; 및
    상기 제2 컴퓨팅 장치가 상기 암호화된 제1 디지털 서명 및 암호화된 제2 디지털 서명이 첨부된 생성된 제안 메시지를 전송하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서, 상기 생성된 제안 메시지는 상기 제2 컴퓨팅 장치에 의해 상기 제2 블록체인과 연관된 블록체인 네트워크에 있는 복수의 블록체인 노드 중 적어도 하나로 전송되는, 방법.
  4. 제3항에 있어서,
    상기 제1 컴퓨팅 장치가 확인 메시지를 생성하는 단계로서, 상기 확인 메시지는 적어도 (i) 상기 암호화된 제1 디지털 서명 및 암호화된 제2 디지털 서명이 첨부된 생성된 제안 메시지를 사용하여 생성된 해시 값 및 (ii) 상기 스왑 암호화 키 쌍의 스왑 개인 키를 포함하는, 단계; 및
    상기 제1 컴퓨팅 장치가 상기 생성된 확인 메시지를 상기 제2 블록체인과 연관된 상기 블록체인 네트워크에 있는 상기 복수의 블록체인 노드 내의 블록체인 노드로 전송하는 단계를 더 포함하는, 방법.
  5. 제4항에 있어서,
    제3 컴퓨팅 장치가 상기 생성된 확인 메시지 및 상기 암호화된 제1 디지털 서명 및 암호화된 제2 디지털 서명이 첨부된 생성된 제안 메시지를 상기 제2 블록체인으로부터 검색하는 단계;
    상기 제3 컴퓨팅 장치가 상기 검색된 확인 메시지에 있는 상기 스왑 개인 키 및 상기 제1 암호화 키 쌍의 제1 공개 키를 사용하여 상기 제1 디지털 서명을 복호화하는 단계; 및
    상기 제3 컴퓨팅 장치가 상기 복호화된 제1 디지털 서명을 인증하는 단계를 더 포함하는, 방법.
  6. 제1항에 있어서,
    상기 제1 컴퓨팅 장치가 상기 제안 메시지를 생성하기 전에 상기 스왑 암호화 키 쌍을 생성하는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서, 상기 제1 디지털 서명은 상기 제안 메시지에 있는 상기 제1 거래 값, 상기 제1 네트워크 식별자, 상기 제2 거래 값, 및 상기 제2 네트워크 식별자에 서명함으로써 생성되는, 방법.
  8. 제1항에 있어서, 상기 제1 거래 값은 상기 제1 블록체인을 사용한 제1 블록체인 거래에 대한 거래 데이터를 사용하여 생성된 해시 값을 포함하고, 상기 제2 거래 값은 상기 제2 블록체인을 사용한 제2 블록체인 거래에 대한 거래 데이터를 포함하는, 방법.
  9. 임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 시스템으로서,
    제1 컴퓨팅 장치;
    제2 컴퓨팅 장치;
    제1 블록체인; 및
    제2 블록체인을 포함하되,
    상기 제1 컴퓨팅 장치는,
    제안 메시지를 생성하는데, 여기서 상기 제안 메시지는 적어도 제1 거래 값, 상기 제1 블록체인에 대응하는 제1 네트워크 식별자, 제2 거래 값, 상기 제2 블록체인에 대응하는 제2 네트워크 식별자, 및 스왑 암호화 키 쌍의 스왑 공개 키를 포함하고,
    상기 제안 메시지에 대한 제1 디지털 서명을 생성하고,
    상기 스왑 공개 키 및 제1 암호화 키 쌍의 제1 개인 키를 사용하여 상기 제1 디지털 서명을 암호화하고,
    상기 암호화된 제1 디지털 서명을 상기 생성된 제안 메시지에 첨부하고,
    상기 암호화된 제1 디지털 서명이 첨부된 생성된 제안 메시지를 제2 컴퓨팅 장치에 전송하는, 임시 키 쌍을 사용하여 다수의 블록체인에서 자산의 원자 교환을 위한 시스템.
  10. 제9항에 있어서, 상기 제2 컴퓨팅 장치는,
    상기 제안 메시지에 대한 제2 디지털 서명을 생성하고,
    상기 스왑 공개 키 및 제2 암호화 키 쌍의 제2 개인 키를 사용하여 상기 제2 디지털 서명을 암호화하고,
    상기 암호화된 제1 디지털 서명이 첨부된 생성된 제안 메시지에 상기 암호화된 제2 디지털 서명을 첨부하고,
    상기 암호화된 제1 디지털 서명 및 암호화된 제2 디지털 서명이 첨부된 생성된 제안 메시지를 전송하는, 시스템.
  11. 제10항에 있어서,
    상기 제2 블록체인과 연관된 블록체인 네트워크; 및
    상기 블록체인 네트워크에 있는 복수의 블록체인 노드를 더 포함하고,
    상기 생성된 제안 메시지는 상기 제2 컴퓨팅 장치에 의해 상기 복수의 블록체인 노드 중 적어도 하나로 전송되는, 시스템.
  12. 제11항에 있어서, 상기 제1 컴퓨팅 장치는 추가로,
    확인 메시지를 생성하는데, 여기서 상기 확인 메시지는 적어도 (i) 상기 암호화된 제1 디지털 서명 및 암호화된 제2 디지털 서명이 첨부된 생성된 제안 메시지를 사용하여 생성된 해시 값 및 (ii) 상기 스왑 암호화 키 쌍의 스왑 개인 키를 포함하고,
    상기 생성된 확인 메시지를 상기 제2 블록체인과 연관된 상기 블록체인 네트워크에 있는 상기 복수의 블록체인 노드 내의 블록체인 노드로 전송하는, 시스템.
  13. 제12항에 있어서,
    제3 컴퓨팅 장치를 더 포함하고, 상기 제3 컴퓨팅 장치는,
    상기 생성된 확인 메시지 및 상기 암호화된 제1 디지털 서명 및 암호화된 제2 디지털 서명이 첨부된 생성된 제안 메시지를 상기 제2 블록체인으로부터 검색하고,
    상기 검색된 확인 메시지에 있는 상기 스왑 개인 키 및 상기 제1 암호화 키 쌍의 제1 공개 키를 사용하여 상기 제1 디지털 서명을 복호화하고,
    상기 복호화된 제1 디지털 서명을 유효성 검사하는, 시스템.
  14. 제9항에 있어서, 상기 제1 컴퓨팅 장치는 상기 제안 메시지를 생성하기 전에 상기 스왑 암호화 키 쌍을 추가로 생성하는, 시스템.
  15. 제9항에 있어서, 상기 제1 디지털 서명은 상기 제안 메시지에 있는 상기 제1 거래 값, 상기 제1 네트워크 식별자, 상기 제2 거래 값, 및 상기 제2 네트워크 식별자에 서명함으로써 생성되는, 시스템.
  16. 제9항에 있어서, 상기 제1 거래 값은 상기 제1 블록체인을 사용한 제1 블록체인 거래에 대한 거래 데이터를 사용하여 생성된 해시 값을 포함하고, 상기 제2 거래 값은 상기 제2 블록체인을 사용한 제2 블록체인 거래에 대한 거래 데이터를 포함하는, 시스템.
KR1020237033542A 2021-03-04 2022-02-09 임시 키 쌍을 사용한 블록체인 자산의 원자 교환을 위한 방법 및 시스템 KR20230153439A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/192,194 US11689355B2 (en) 2021-03-04 2021-03-04 Method and system for the atomic exchange of blockchain assets using transient key pairs
US17/192,194 2021-03-04
PCT/US2022/015774 WO2022186960A1 (en) 2021-03-04 2022-02-09 Method and system for the atomic exchange of blockchain assets using transient key pairs

Publications (1)

Publication Number Publication Date
KR20230153439A true KR20230153439A (ko) 2023-11-06

Family

ID=83116452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237033542A KR20230153439A (ko) 2021-03-04 2022-02-09 임시 키 쌍을 사용한 블록체인 자산의 원자 교환을 위한 방법 및 시스템

Country Status (6)

Country Link
US (2) US11689355B2 (ko)
EP (1) EP4302255A1 (ko)
JP (1) JP2024509827A (ko)
KR (1) KR20230153439A (ko)
CN (1) CN117121037A (ko)
WO (1) WO2022186960A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020172797A1 (zh) * 2019-02-26 2020-09-03 南京摩铂汇信息技术有限公司 数字签名终端和安全通信方法
CN118056381A (zh) * 2021-10-01 2024-05-17 万事达卡国际公司 用于资产的原子交换的基于区块链的交易的方法和系统
US11991294B2 (en) * 2021-11-12 2024-05-21 Gridplus, Inc. Peer-to-peer secure conditional transfer of cryptographic data

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11055707B2 (en) * 2014-06-24 2021-07-06 Visa International Service Association Cryptocurrency infrastructure system
US11310060B1 (en) * 2018-02-15 2022-04-19 Blockstream Corporation Atomic cross-chain swaps using equivalent secret values
JP7372938B2 (ja) * 2018-05-14 2023-11-01 エヌチェーン ライセンシング アーゲー ブロックチェーンを使って原子的スワップを実行するためのコンピュータ実装されるシステムおよび方法
US11138598B2 (en) * 2018-12-17 2021-10-05 Mastercard International Incorporated Method and system for consent to time-bound queries in a blockchain
WO2019170167A2 (en) * 2019-05-31 2019-09-12 Alibaba Group Holding Limited System and method for providing privacy and security protection in blockchain-based private transactions
CN111316303B (zh) * 2019-07-02 2023-11-10 创新先进技术有限公司 用于基于区块链的交叉实体认证的系统和方法

Also Published As

Publication number Publication date
EP4302255A1 (en) 2024-01-10
JP2024509827A (ja) 2024-03-05
WO2022186960A1 (en) 2022-09-09
US20230283453A1 (en) 2023-09-07
US11689355B2 (en) 2023-06-27
US20220286275A1 (en) 2022-09-08
CN117121037A (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
AU2019246903B2 (en) Method and system for distributed cryptographic key provisioning and storage via elliptic curve cryptography
KR102360186B1 (ko) 기계-판독 가능 코드를 통한 오프라인 데이터 전송을 위한 방법 및 시스템
US11373179B2 (en) Method and system for secure and verifiable offline blockchain transactions
US11689355B2 (en) Method and system for the atomic exchange of blockchain assets using transient key pairs
US20210117938A1 (en) Method and system for control of pii through limiting transfers on blockchain
EP3554042B1 (en) Method and system for managing centralized encryption and data format validation for secure real time multi-party data distribution
KR20240022462A (ko) 해시락을 사용하는 중개식 교차 원장 스테이블 코인 아토믹 스왑을 위한 방법 및 시스템
CN117957528A (zh) 用于许可的区块链中智能合约的并行处理的方法和系统
KR20220157434A (ko) 해시 체인을 이용한 스칼라 디지털 자산 표현 방법 및 시스템
US20230196346A1 (en) Method and system of providing for offline transactions in digital currencies
US11900367B2 (en) Method and system for enabling traceable privacy-maintaining multi-hop offline transactions in digital currencies
US20230068301A1 (en) Method and system for privately managed digital assets on an enterprise blockchain
US20230188355A1 (en) Method and system of all-or-nothing transform (aont) for increasing blockchain integrity
KR20240005957A (ko) 양자 내성 해싱 스킴을 위한 방법 및 시스템
KR20240068692A (ko) 허가형 블록체인에서 스마트 계약의 병렬 프로세싱을 위한 방법 및 시스템