KR20210150810A - 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법 - Google Patents

이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법 Download PDF

Info

Publication number
KR20210150810A
KR20210150810A KR1020200067684A KR20200067684A KR20210150810A KR 20210150810 A KR20210150810 A KR 20210150810A KR 1020200067684 A KR1020200067684 A KR 1020200067684A KR 20200067684 A KR20200067684 A KR 20200067684A KR 20210150810 A KR20210150810 A KR 20210150810A
Authority
KR
South Korea
Prior art keywords
block
block chain
blockchain
transaction
nodes
Prior art date
Application number
KR1020200067684A
Other languages
English (en)
Inventor
이형호
Original Assignee
(주)가민정보시스템
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)가민정보시스템 filed Critical (주)가민정보시스템
Priority to KR1020200067684A priority Critical patent/KR20210150810A/ko
Publication of KR20210150810A publication Critical patent/KR20210150810A/ko

Links

Images

Classifications

    • 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/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • H04L67/2809
    • 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/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명에 따른 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법은 복수개의 노드를 각각 구비한 채 서로 다른 블록체인 네트워크를 구성하면서 트랜잭션이 발생하는 경우에 서로 다른 합의 알고리즘에 의해 고유의 블록체인 블록을 각각 생성하는 복수개의 블록체인 네트워크; 및 상기 복수개의 블록체인 네트워크 각각을 구성하는 복수개의 노드 중 대표노드를 하나씩 선택하여 상기 복수개의 블록체인 네트워크를 상호간에 서로 연동시킬 수 있는 중개노드로 동작하도록 하는 단일의 써클 블록체인 네트워크를 포함하고, 특정 블록체인 네트워크에서만 공개되어야 되는 민감한 정보가 담겨져있는 블록일 경우, 영지식증명 방식을 제공하여 상기 특정 블록체인 네트워크의 구체적인 트랜잭션 내용은 기밀화 및 증명할 수 있도록 하는 것을 특징으로 한다.

Description

이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법{Method providing transaction integrity and confidentiality in heterogeneous blockchain platforms}
본 발명은 블록체인 기술에 관한 것으로서, 더욱 상세하게는 이종의 블록체인 네트워크 시스템에서 거래 무결성 및 비밀성을 제공하기 위한 기술에 관한 것이다.
블록체인 플랫폼은 블록체인 네트워크 시스템을 구성하기 위하여 참여한 구성원들(노드)이 각자의 블록(서버)에 데이터를 분산하여 저장함으로써 데이터의 위/변조가 사실상 불가능해지고(신뢰성), 구성원들이 각자 분산된 정보를 보유할 수 있으며(투명성), 별도로 중앙서버의 관리자도 필요 없는 기술이다.
이러한 블록체인 기술은 트랜잭션 정보를 담은 하나의 블록이 이전의 블록과 다음의 블록을 고유의 해쉬값으로 상호 참조하도록 하여 체인처럼 연결된 구조를 갖는 것으로, P2P네트워크에 참여한 피어들 또는 트랜잭션을 생성하기 위한 참여자들이 P2P네트워크에서 생성된 모든 블록을 저장함으로써 누구나 거래내역의 조회가 가능하고 특유의 작업 증명 방식으로 작업을 증명한 자에게 자체적으로 발생하는 암호화폐를 보상하는 절차와 대차 형태의 잔액 가감 절차를 사용하는 전문 형식의 성격을 띄고 있는 기술이다.
최근 이와 같은 블록체인이라는 새로운 P2P네트워크 플랫폼의 탄생으로 전 세계는 중앙집중식 서버의 시대가 지고 피어투 피어 방식의 분산네트워크 시장을 맞이하고 있다. 블록체인은 중앙정부 및 은행의 규제나 관리를 받지 않고 자유롭게 거래 할 수 있으며, 변조할 수 없는 신뢰성 있는 인터넷 통화로 개발된 비트코인과 같은 암호화폐가 탄생하게 되었다. 블록체인은 거래이력(트랜잭션)을 여러 노드(컴퓨터 시스템)에 분산 공유하여 서로 감시하고 거래의 정당성을 확보하며 제3의 의존없이 거래의 존재와 정당성을 증명할 수 있다.
즉, 거래장부를 변조하려고 해도 분산 공유되어 있는 방대한 수의 블록체인 중 특정블록을 동시에 변조해야 하기 때문에 사실상 이는 불가능하며, 거래정보 자체가 암호화 되어 있기 때문에 거래 내용은 공개되어도 거래자의 구체적인 정보와 연결되지 않아 익명성이 확보될 수 있다.
한편, 블록체인 기술의 도입으로 긍정적인 측면이 많이 있지만, 각각의 서로 다른 블록체인 시스템은 자체 블록체인 시스템 내에서만 운영되는 폐쇄성을 갖기 때문에 서로 다른 블록체인 시스템들 상호간에 정보 교류 및 암호화폐의 교환이 어려운 문제점이 있었다.
따라서, 이종의 서로 다른 블록체인 네트워크 시스템 상호간에 연동이 가능한 블록체인 연동 시스템을 제공할 수 있는 현실적이고도 적용이 가능한 기술이 절실히 요구되는 실정이다.
특히, 이종의 블록체인 네트워크 시스템 상호간에 연동할 수 있도록 하는 블록체인 연동 시스템에서 트랜잭션이 발생될 때 기존의 블록체인에서는 모든 트랜잭션에 대한 세부 내용이 공개됨으로 인해, 개인의 프라이버시 또는 보안적인 측면에바람직스럽지 않다는 문제점이 있다.
대한민국 공개특허공보 10-2018-0022507호(공개일 2018년3월6일)
본 발명은 서로 다른 블록체인 네트워크 시스템 상호간에 연동할 수 있도록 하는 블록체인 연동 시스템에서 영지식증명기술을 활용하여 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법을 제공하는데 있다.
본 발명의 실시예에 따른 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법은 복수개의 노드를 각각 구비한 채 서로 다른 블록체인 네트워크를 구성하면서 트랜잭션이 발생하는 경우에 서로 다른 합의 알고리즘에 의해 고유의 블록체인 블록을 각각 생성하는 복수개의 블록체인 네트워크; 및 상기 복수개의 블록체인 네트워크 각각을 구성하는 복수개의 노드 중 대표노드를 하나씩 선택하여 상기 복수개의 블록체인 네트워크를 상호간에 서로 연동시킬 수 있는 중개노드로 동작하도록 하는 단일의 써클 블록체인 네트워크를 포함하고, 특정 블록체인 네트워크에서만 공개되어야 되는 민감한 정보가 담겨져있는 블록일 경우, 영지식증명 방식을 제공하여 상기 특정 블록체인 네트워크의 구체적인 트랜잭션 내용은 기밀화 및 증명할 수 있도록 하는 것을 특징으로 한다.
이종의 블록체인 플랫폼을 사용하는 사용자의 익명성을 극대화할 수 있는 방안으로 사용자 인증방식으로 제공하는 것을 특징으로 한다.
이종의 블록체인 플랫폼용 블록을 생성할 때 세부적인 블록의 내용을 암호화하고 증명하는 것을 특징으로 한다.
본 발명에 따르면, 서로 다른 블록체인 네트워크 시스템 상호간에 연동할 수 있도록 하는 블록체인 연동 시스템에서 영지식증명기술을 활용하여 블록에 기록된 트랜잭션의 내용을 자세히 공개하지 않더라도 해당 트랜잭션 내용을 증명/검증할 수 있도록 한다.
도 1은 본 발명에 따른 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템을 개략적으로 나타내는 도면이다.
도 2는 도 1에 도시된 블록체인 네트워크 시스템에 의해 생성되는 이종 블록체인 연동블록을 개략적으로 나타내는 도면이다.
도 3은 본 발명의 일 실시 예에 따른 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템을 이용한 이종 블록체인 연동블록의 생성방법을 나타내는 흐름도이다.
도 4는 도 3에 도시된 흐름도의 세부 과정을 도식화한 도면이다.
도 5는 본 발명에 따른 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템을 개략적으로 나타내는 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 도면의 각 구성과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치의 프로세서를 통해 수행되는 그 인스트럭션들이 도면의 각 구성 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 도면의 각 구성 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장치를 수행하는 인스트럭션들은 도면의 각 구성 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 구성 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 구성들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 구성들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 구성들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
이하, 첨부 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다. 그러나 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다. 본 발명의 실시 예는 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공된다.
도 1은 본 발명의 일 실시 예에 따른 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템을 개략적으로 나타내는 도면이다.
도면에 도시된 바와 같이, 본 발명의 실시예에 따른 블록체인 네트워크 시스템은, 복수개의 블록체인 네트워크(100,200), 및 단일의 써클 블록체인 네트워크(300)를 구비할 수 있다.
보다 상세하게는, 상기 복수개의 블록체인 네트워크(100,200)는, 복수개의 노드(110,210)를 각각 구비한 채 서로 다른 블록체인 네트워크를 구성하면서 트랜잭션이 발생하는 경우에 서로 다른 합의알고리즘에 의해 고유의 블록체인 블록을 각각 생성할 수 있다.
또한, 상기 단일의 써클 블록체인 네트워크(300)는, 상기 복수개의 블록체인 네트워크(100,200) 각각을 구성하는 복수개의 노드(110,210) 중 대표노드(101,201)를 하나씩 선택하여 상기 복수개의 블록체인 네트워크(100,200)를 상호간에 서로 연동킬 수 있는 복수개의 중개노드로 구성할 수 있다.
또한, 도면에 도시된 바와 같이, 상기 복수개의 블록체인 네트워크(100,200)는 각각,동종의 블록체인 네트워크를 사용하면서 트랜잭션을 발생시키는 복수개의 클라이언트(111,211)와, 동종의 합의알고리즘에 의해 상기 클라이언트에서 발생한 트랜잭션을 포함하는 블록체인 블록을 생성하는 복수개의 노드(110,210)를 구비할 수 있다.
여기서, 상기 복수개의 블록체인 네트워크(100,200)는, 도면에 도시된 바와 같이, 제 1 블록체인 네트워크(100) 및 제 2 블록체인 네트워크(200)를 포함할 수 있는데, 예를 들어, 제 1 블록체인 네트워크(100)는 이더리움 플랫폼을 지원할 수 있으며, 제 2 블록체인 네트워크는 이오스 플랫폼을 지원할 수 있다.
더욱 상세하게는, 상기 제 1 블록체인 네트워크(100)는, 동종의 블록체인 네트워크를 사용하면서 트랜잭션을 발생시키는 복수개의 제 1 클라이언트(111)와, 동종의 합의알고리즘에 의해 상기 제 1 클라이언트(111)에서 발생한 트랜잭션을 포함하는 블록체인 블록을 생성하는 복수개의 제 1 노드(110)를 구비할 수 있다.
또한, 상기 제 2 블록체인 네트워크(200)는, 동종의 블록체인 네트워크를 사용하면서 트랜잭션을 발생시키는 복수개의 제 2 클라이언트(211)와, 동종의 합의알고리즘에 의해 상기 제 2 클라이언트(211)에서 발생한 트랜잭션을 포함하는 블록체인 블록을 생성하는 복수개의 제 2 노드(210)를 구비할 수 있다.
한편, 본 발명의 실시예에 따르면, 상기 단일의 써클 블록체인 네트워크(300)는, 상기 복수개의 블록체인 네트워크(100,200)에서 각각 선택된 대표노드(101,201)로 이루어질 수 있다.
이때, 상기 각각의 대표노드(101,201)는, 상기 복수개의 블록체인 네트워크(100,200)을 구성하는 어느 하나의 블록체인에서 발생한 트랜잭션이 서로 다른 블록체인과 연동되는 경우에 이종 블록체인 연동블록(400)을 생성할 수 있다.
도 2를 참조하여 본 발명의 실시예에 따른 이종 블록체인 연동블록(400)을 상세하게 설명하면 다음과 같다.
도 2는 도 1에 도시된 블록체인 네트워크 시스템에 의해 생성되는 이종 블록체인 연동블록을 개략적으로 나타내는 도면이다.
도면에 도시된 바와 같이, 본 발명의 실시예에 따른 이종 블록체인 연동블록(400)은, 써클 블록체인 트랜잭션을 포함할 수 있다.
즉, 도 1에서 상술한 단일의 써클 블록체인 네트워크(300)를 구성하는 각각의 대표노드(101,201)는, 상기 복수개의 블록체인 네트워크(100,200)를 구성하는 대표노드로서, 어느 하나의 블록체인 네트워크에서 발생한 트랜잭션이 서로 다른 블록체인 네트워크와 연동되는 경우에 도 2에 도시된 써클 블록체인 트랜잭션을 포함한 이종 블록체인 연동블록(400)을 생성할 수 있다.
이때, 상기 써클 블록체인 트랜잭션(401)은, 입력값은 트랜잭션이 발생한 블록체인 네트워크의 노드에서 생성된 제 1 블록(410)의 해시값으로 구성하고 출력값은 다른 블록체인 네트워크의 노드에서 생성된 제 2 블록(420)의 해시값으로 구성하는 형태로 형성될 수 있다.
또한, 본 발명의 실시예에 따른 이종 블록체인 연동블록(400)은, 다음과 같이, 타임스탬프(Timestamp), 고유의 해쉬값(Hash), 선블록의 해쉬값(Prev Hash), Tx(써클 블록체인 트랜잭션), Height(블록총개수)를 포함할 수 있다.
여기서, 상기 이종 블록체인 연동블록(400)은, 써클 블록체인 네트워크를 구성하면서 서로 다른 복수개의 블록체인에 속하는 각각의 대표노드(101,201)에서 생성되는 블록들 간에 고유의 해쉬값을 이용해 상호 참조하도록 연결되는 블록체인 구조를 가질 수 있다.
한편, 본 발명의 실시예에 따른 블록체인 네트워크 시스템을 구성하는 단일의 써클 블록체인 네트워크(300)는, 일상에서 발생되는 다양한 사건을 묘사(description)하고, 그 묘사된 기술에 대해 블록생성 및 체이닝(chaining)을 통해 해당 사건에 대한 잘못된 정보의 유통, 잘못된 사실에 대한 사실관계의 확인 등에 활용할 수 있다.
따라서, 본 발명의 실시예에 따른 써클 블록체인 네트워크를 위한 이종 블록체인 연동블록(400)은 다양한 형태의 사실을 표현하거나 포함할 수 있어야 하며, 이것은 한종류의 사건들을 관리하는 이종 블록체인 네트워크들의 집합으로써 묘사되고 검증될 수 있어야 할 것이다.
예를 들어, 본 발명의 실시예에서, 자동차 사고 발생에 써클 블록체인 네트워크가 적용된다고 할 때에 자동차 라이프 사이클(차량상태변동, 차량 소유자 변동)을 관리하는 블록체인 A를 제 1 블록체인 네트워크라 하고, 운전자 라이프사이클(운전자 상태변동, 운전자 위치변동)을 관리하는 블록체인 B를 제 2 블록체인 네트워크라 할때, 블록체인 A와 블록체인 B 가 각각 이종의 블록체인 네트워크를 구성하면서 그 각각의 대표노드가 써클 블록체인 네트워크를 구성하는 노드(도1의 C-node)로서 동작하게 될 것이다.
이를 바탕으로 하여, 차량의 사고 발생시에 도 2의 도면참조 부호 CC블록은 써클 블록체인 네트워크의 이종 블록체인 연동블록(400)을 나타내는 것으로서, 차량 라이프 사이클을 관리하는 AC블록이 제 1블록체인 네트워크의 제 1 블록들로 생성되고, 운전자 라이프 사이클을 관리하는 BC블록이 제 2 블록체인 네트워크의 제 2 블록들로 생성된 후에 사전에 정해진 방식대로 CC블록의 트랜잭션(401)의 각 항목으로 연결될 수 있다.
즉, 앞서 상술한 바와 같이, AC블록은 제 1 블록(410a, 410b,410c)들 간에 고유의 해시값을 이용해 상호 참조하는 방식으로 구성하고, BC블록은 제 2 블록(420a, 420b, 420c)들 간에 고유의 해시값을 이용해 상호 참조하는 방식으로 구성될 수 있다.
한편, 본 발명의 실시예에서, 상기 AC블록과 BC블록의 채널ID는 도면에 도시된 바 같이, 선택정보로서 표시될 수 있다.
도 3은 본 발명의 일 실시 예에 따른 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템을 이용한 이종 블록체인 연동블록의 생성방법을 나타내는 흐름도이고, 도 4는 도 3에 도시된 흐름도의 세부 과정을 도식화한 도면이다.
도면에 도시된 바와 같이, 본 발명의 실시예에 따른 이종의 제 1 블록체인과 제 2 블록체인 사이에서 발생하는 트랜잭션을 상호간에 서로 연동킬 수 있는 단일의 써클 블록체인 네트워크를 이용한 이종 블록체인 연동블록 생성방법은, 트랜잭션이 발생하는 단계(S100), 제1블록을 생성하는 단계(S200), 제2블록을 생성하는 단계(S300), 제1블록과 제2블록이 전달되는 단계(S400), 및 이종블록체인 연동블록을 생성하는 단계(S500)를 구비할 수 있다.
여기서, 상기 이종 블록체인 연동블록은, 앞선 도 2에서 상술한 바와 같이,입력값은 트랜잭션이 발생한 블록체인 네트워크의 노드에서 생성된 제 1 블록의 해시값으로 구성하고 출력값은 다른 블록체인 네트워크의 노드에서 생성된 제 2 블록의 해시값으로 구성하는 써클 블록체인 트랜잭션을 포함할 수 있다.
도 4를 참조하여 이종 블록체인 연동블록 생성방법을 더욱 상세하게 설명하면, 상기 트랜잭션이 발생하는 단계(S100)는, 상기 제 1 블록체인 네트워크를 구성하는 복수개의 제 1 노드와 동종의 블록체인 네트워크를 사용하는 제 1 클라이언트에서 트랜잭션이 발생하는 단계일 수 있다.
다음으로, 상기 제1블록을 생성하는 단계(S200)는, 상기 제 1 블록체인 네트워크를 구성하는 복수개의 제 1 노드 중 어느 하나의 제 1 노드에서 상기 트랜잭션을 포함하는 제 1 블록을 생성하는 단계일 수 있다.
여기서, 상기 제 1 블록을 생성하는 단계(S200) 이후에는, 도 4에 도시된 바와 같이, 상기 써클 블록체인 네트워크를 구성하기 위하여 상기 제 1 블록체인 네트워크의 대표노드로 선택된 다른 하나의 제 1 노드에 상기 트랜잭션과 연동되는 제 2 클라이언트의 주소를 전달하는 단계(S101), 상기 제 1 블록체인 네트워크의 대표노드로 선택된 제 1 노드와 연결되어 상기 써클 블록체인 네트워크를 구성하면서 상기 제 2 블록체인 네트워크의 대표노드로 선택된 제 2 노드를 통해 상기 제 2 클라이언트의 주소를 확인하는 단계(S102), 및, 상기 제 2 블록체인 네트워크를 구성하며 상기 주소가 확인되는 제 2 클라이언트에 상기 트랜잭션을 전달하는 단계(S103)를 구비할 수 있다.
다음으로, 상기 제2블록을 생성하는 단계(S300)는, 상기 제 2 블록체인 네트워크를 구성하는 복수개의 제 2 노드 중 어느 하나의 제 2 노드에서 상기 트랜잭션과 연동되는 제 2 블록을 생성하는 단계일 수 있다.
다음으로, 상기 제1블록과 제2블록이 전달되는 단계(S400)는, 상기 제 1 블록체인 네트워크에서 생성된 제 1 블록이 동종의 블록체인 네트워크 상에 브로드캐스팅되면 상기 제 1 블록체인 네트워크의 대표노드로 선택된 제 1 노드에 제 1 블록이 전달되고, 상기 제 2 블록체인 네트워크에서 생성된 제 2 블록이 동종의 블록체인 네트워크 상에 브로드캐스팅되면 상기 제 2 블록체인 네트워크의 대표노드로 선택된 제 2 노드에 제 2 블록이 전달되는 단계일 수 있다.
다음으로, 상기 이종블록체인 연동블록을 생성하는 단계(S500)는, 써클 블록체인을 구성하는 블록체인 네트워크를 통해 상기 제 1 블록체인 네트워크의 대표노드로 선택된 제 1 노드에 상기 제 2 블록과 관련된 블록정보가 수신되면, 상기 제 1 노드에서 이종 블록체인 연동블록을 생성하는 단계일 수 있다.
이때, 상기 이종 블록체인 연동블록을 생성하는 단계 이후에는, 각각의 서로 다른 블록체인을 구성하는 복수개의 노드에서 하나씩 선택되어 써클 블록체인의 노드를 구성하는 복수개의 대표노드들에게 상기 이종 블록체인 연동블록을 전파하는 단계(501)를 더 구비할 수 있다.
도 5는 본 발명의 다른 실시 예에 따른 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템을 개략적으로 나타내는 도면이다.
도 5에 도시된 바와 같이, 본 발명의 실시예에 따른 블록체인 네트워크 시스템은, 복수개의 블록체인 네트워크(1000, 1100), 및 단일의 써클 블록체인 네트워크(1200)를 구비할 수 있다.
복수개의 블록체인 네트워크(1000, 1100)는 각각, 동종의 블록체인 네트워크를 사용하면서 트랜잭션을 발생시키는 복수개의 클라이언트(미도시)와, 동종의 합의 알고리즘에 의해 상기 클라이언트에서 발생한 트랜잭션을 포함하는 블록체인 블록을 생성하는 복수개의 노드들(1001, 1101)를 구비할 수 있다. 예를 들어, 블록체인 네트워크(1000, 1100)는 도 5에 도시된 바와 같이, 각각 n개의 노드들(1001, 1101)을 구비하고 있다.
한편, 블록체인 네트워크(1000, 1100) 상호간에는 서로 다른 블록체인 네트워크를 구성한다. 이때, 복수개의 블록체인 네트워크(1000, 1100)는 트랜잭션이 발생하는 경우에 서로 다른 합의알고리즘에 의해 고유의 블록체인 블록을 각각 생성할 수 있다. 도 5에 도시된 바와 같이, 복수개의 블록체인 네트워크(1000, 1100)는 제 1 블록체인 네트워크(1000) 및 제 2 블록체인 네트워크(1100)를 포함할 수 있는데, 예를 들어, 제 1 블록체인 네트워크(100)는 이더리움 플랫폼을 지원할 수 있으며, 제 2 블록체인 네트워크는 이오스 플랫폼을 지원할 수 있다.
써클 블록체인 네트워크(1200)는, 상기 복수개의 블록체인 네트워크(1001, 1101) 각각을 구성하는 복수개의 노드들(1001, 1101) 중 각각 선택된 대표노드(1010, 1110)를 하나씩 포함할 수 있다. 또한, 써클 블록체인 네트워크(1200)는, 대표노드(1010, 1110)를 포함해 복수개의 블록체인 네트워크(1000, 1100) 상호간에 검증을 위한 복수개의 써클 노드들을 포함할 수 있다.
써클 블록체인 네트워크(1200)는 써클 블록체인 네트워크(1200)에 속하는 써클 노드들 중에서 트랜잭션에 따른 이벤트 주도 합의 알고리즘을 위한 리더 노드를 설정하고, 리더 노드의 블록 생성 요청에 따라 써클 노드들 각각이 자신의 현재 상태에 대응하는 신규블록들을 생성하도록 한다. 그 후, 생성된 상기 신규블록들 각각에 대한 블록 생성 메시지의 상호 전파에 따라 검증을 위한 합의 기준 충족 여부를 판단하고, 합의 기준 충족에 따라 신규 블록에 대한 블록 체이닝을 수행할 수 있다.
예를 들어, 도 5의 제1 블록체인 네트워크(1000)에 포함된 어느 하나의 노드(예를 들어, Node #1)에서 트랜잭션이 발생하면, 발생된 트랜잭션에 대한 이벤트 신호가 제1 블록체인 네트워크(1000)의 노드이면서 동시에 써클 블록체인 네트워크(1200)의 노드인 대표노드(1010: C-Node)로 전달된다. 이에 따라, 써클 블록체인 네트워크(1200)의 노드인 대표노드(1010: C-Node)는 전달받은 이벤트 신호에 따라 블록생성 요청신호를 써클 블록체인 네트워크(1200)의 써클 노들들 중의 하나인 리더 노드(1210)로 전달한다. 여기서, 써클 노드들은 써클 블록체인 네트워크(1200)를 구성하는 노드로 도 5에서는 대표 노드 (1010, 1110), 리더 노드(1210) 및 검증노드(1220)을 포함할 수 있다.
이벤트 발생에 따른 블록생성 요청신호를 수신한 리더 노드(1210)는 블록생성 요청신호에 대응하여 써클 노드들(1010, 1110, 1201, 1220) 각각으로 블록 생성을 요청할 수 있다. 이에 따라, 리더 노드(1210)를 포함하는 다른 써클노드들(1010, 1110, 1220)은 각각 자신의 현재 상태에 대한 신규블록들을 생성한다. 써클노드들(1010, 1110, 1210, 1220)은 각각 해당 노드에서 현재까지 발생된 트랜잭션들에 대한 정보를 포함하는 블록을 생성한다.
써클노드들(1010, 1110, 1210, 1220)은 신규 블록의 생성 후에, 생성된 신규블록의 블록 해쉬값을 포함하는 블록생성 메시지를 생성하여 자신을 제외한 다른 써클 노드들로 전파한다. 블록생성 메시지는 해당 블록에서의 블록 생성이 이루어졌으며, 이러한 블록 생성에 따른 블록 ID 즉, 블록 해쉬값을 포함하는 정보이다.
블록생성 메시지를 각각 수신한 써클노드들 각각은, 다른 써클노드들로부터 수신한 블록생성 메시지의 개수가 검증을 위한 합의 기준 숫자 이상인가를 판단한다. 이때, 합의 기준 숫자는 다음의 수학식 1을 사용하여 산출될 수 있다.
Figure pat00001
여기서, 상기 비잔틴 노드는 상기 신규 블록의 생성에 합의하지 않을 위험을 갖는 노드를 의미한다.
일반적으로, BFT(Byzantine Fault Tolerance) 합의 알고리즘의 경우에, 여러 개의 노드로 구성된 블록체인이 합의에 도달하여 블록을 생성하는 과정에서 한개 이상의 노드가 합의를 하지 않을 위험을 내포하고 있다고 가정한다. 이러한 노드를 비잔틴 노드라고 칭하며, BFT 합의 알고리즘은 이러한 노드가 발생할 수 있다는 전제하에 해당 블록체인 네트워크가 합의에 도달할 수 있는 합의과정과 최소 합의 조건을 제시한다. BFT 합의 과정에서, BFT 합의 알고리즘은 참여하는 네트워크의 노드의 상태정보값이 Pre-prepare , Prepare, Commit, Reply라는 4 단계를 거쳐 상태가 변경하게 되며, 각 상태의 변경은 해당 단계에서 제시되는 조건을 만족할 때 변경이되게 된다. 예를 들어, 노드 A가 Pre-prepare 단계의 상태값을 나타내고 있을 때, 자신을 제외한 다른 노드의 동일한 단계의 합의 메시지 값을 조건 만족 개수 이상 전달받았을 경우 다음 단계인 Prepare 단계로 자신의 상태를 변경해 나가는 방식으로 4단계를 진행하면서 최종 단계에 도달하면 최종적으로 자신의 합의 메시지에 서명한 값을 전달함으로써 합의과정을 완성하게 된다. 이에 따라, BFT 만족 조건은 P2P 네트워크의 노드들로 구성되어 있어 비잔틴 노드가 F 개라고 할 경우에, 전체 네트워크의 노드의 총 수 N = 3F + 1 이어야 한다.
이에 비해, 본 발명에 따른 써클 블록체인 네트워크(1200)에서의 블록 검증을 위한 합의 알고리즘은 두 개 이상의 블록체인 네트워크(1000, 1100)의 참여로 구성되며 각 블록체인의 대표 노드(1010, 1110)가 써클 블록체인 네트워크(1200)의 노드로 참여한다. 트랜잭션이라는 이벤트 발생에 따라 블록에 대한 검증 절차를 수행하는 이러한 합의 알고리즘을 이벤트 주도 합의 알고리즘이라고 칭할 수 있다.
이벤트가 발생되면, 블록체인의 대표노드(1010)로부터 리더 노드(1210)에게 블록생성을 요청하며, 이러한 참여방식을 고려했을 때, 써클 블록체인 네트워크(1200)는 트랜잭션에 따른 블록을 생성하고 배포하는 역할을 담당하는 리더노드(1210)와 이를 검증하기 위한 노드(1220)를 포함한다. 따라서, 써클 블록체인 네트워크(1200)의 최소한의 노드 개수는 2개 이상이며, 두 개의 블록체인 네트워크(1000, 1100)가 참여할 경우, 해당 블록체인 네트워크(1000, 1100)의 대표 노드(1010, 1110)를 포함해 총 노드 수는 4개가 된다. 만일, 비잔틴 노드가 존재한다면 비잔틴 노드 개수를 F라고 가정할 때 전체 노드의 수 N = 2F + 2가 되며, 합의 도달 노드 수 N- F = 2F + 2 F = F + 2 가 된다. 즉 F =1 이라면 합의 도달 노드는 3이 된다.
다른 써클노드들로부터 수신한 블록생성 메시지들의 개수가 상기 합의 기준 숫자 이상이라면, 써클노드들(1010, 1110, 1210, 1220)은 각각 해당 블록생성 메시지를 이용하여 신규 블록을 생성한다.
그 후, 리더 노드(1210)는 자신이 생성한 신규 블록을 다른 써클노드들(1010, 1110, 1220)로 전파한다. 이에 따라, 리더 노드(1210)에서 생성된 신규 블록을 수신한 다른 써클 노드들(1010, 1110, 1220)은 자신이 생성한 신규 블록과 상기 리더 노드(1210)로부터 전파된 신규 블록이 동일한가를 판단한다.
만일, 신규 블록에 대한 동일성이 인정되면, 생성된 신규 블록이 검증을 통과한 것으로 판단하여 블록 체이닝을 수행한다. 블록 체이닝은 기존의 체인 블록에 새롭게 생성된 신규 블록을 추가적으로 결합시키는 작업을 의미한다.
이하에서, 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법을 설명한다.
이종의 블록체인 플랫폼에서 트랜잭션이 발생될 때 기존의 블록체인에서는 모든 트랜잭션에 대한 내용이 공개된다. 모든 트랜잭션은 블록에 기록되며 블록에 대한 접근은 모든 구성원 뿐 아니라 외부인에게도 공개될 수 있으므로 블록체인 플랫폼의 속성상 트랜잭션의 세부 내용이 공개되는 것이 불가피하다.
하지만, 블록체인 플랫폼은 트랜잭션의 사실과 그 사실이 위변조되기 힘들다는 위변조 방지 특성을 제공해주는 것이 목적이며 트랜잭션의 내용이 오픈되는 것이 목적이 아니다. 따라서, 보호받고자 하는 트랜잭션을 블록체인에 기록하는 이유는 트랜잭션 사실이 시간이 지남에 따라 위변조되지 않도록 하는 방지의 목적이 크다고 할 수 있다.
종래의 이종의 블록체인 플랫폼에서는 타 블록체인 플랫폼 내 구성원간의 공유하는 내용이 의도적으로 공개되거나 또는 비의도적으로 공개될 수 있거나 접근가능할 수 있다는 보안적인 측면의 위험성을 내포하고 있다.
이러한 보안적인 위험성을 방지하기 위하여 영지식증명기술을 활용하여 블록에 기록된 트랜잭션의 내용을 자세히 공개하지 않더라도 해당 트랜잭션 내용을 증명 또는 검증할 수 있는 방안을 제시한다.
블록체인에 영지식증명기술을 적용하는 사례는 2019년 이더리움의 ERC20 토큰에 적용된 사례가 있다.
영지식증명기술은 인터액션(interaction) 인증 프로토콜이다. ERC20에 적용된 영지식증명기술은 간단한 형태이다. 즉, 토큰 값 100 을 A가 B에게 전달해 줄 때, 100이라는 수치를 트랜잭션에 기입하지 않고 100이라는 수치의 해쉬값을 계산하여 해쉬값을 기록한다. B는 100을 받아 잔고가 200이 되었다면 200이라는 잔고값을 제시하지 않고 200에 해당하는 해쉬값을 계산하여 제시한다. 이러한 트랜잭션 내용이 블록에 기록됨으로써 A와 B간 거래가 있었음을 알수는 있지만 구체적인 내용을 확인할 수는 없는 상태가 되고, 그럼에도 불구하고 B는 자신의 잔고가 200이라는 것을 알고 있으므로 200의 해쉬값을 제시했을 때, 플랫폼에서 제시해주는 잔고 해쉬값과 동일함을 통해 A가 100을 보내왔다는 것을 증명할 수 있다는 방법이다.
본 발명에서는 영지식증명기술을 ERC20처럼 토큰 거래의 구체적인 수치를 기밀하게 하려는 것이 아니라, (1) 이종의 블록체인 플랫폼을 사용하는 사용자의 익명성을 극대화할 수 있는 방안으로 사용자 인증방식으로 제공하며, (2) 또한 이종의 블록체인 플랫폼용 블록을 생성할 때 세부적인 블록의 내용을 암호화하고 증명하는 것에 적용한다.
Event-driven Circle Block을 생성하는 방식에서, circle Block은 sub blocks에 대한 내용을 담고 있다. 이때, 특정 플랫폼에서만 공개되어야 되는 민감한 정보가 담겨져있는 블록일 경우, 영지식증명 방식을 제공함으로써, 해당 sub block의 구체적인 트랜잭션 내용은 기밀화하고 증명할 수 있도록 한다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1000 : 제 1 블록체인 네트워크
1100 : 제 2 블록체인 네트워크
1200 : 써클 블록체인 네트워크

Claims (3)

  1. 복수개의 노드를 각각 구비한 채 서로 다른 블록체인 네트워크를 구성하면서 트랜잭션이 발생하는 경우에 서로 다른 합의 알고리즘에 의해 고유의 블록체인 블록을 각각 생성하는 복수개의 블록체인 네트워크; 및
    상기 복수개의 블록체인 네트워크 각각을 구성하는 복수개의 노드 중 대표노드를 하나씩 선택하여 상기 복수개의 블록체인 네트워크를 상호간에 서로 연동시킬 수 있는 중개노드로 동작하도록 하는 단일의 써클 블록체인 네트워크를 포함하고,
    특정 블록체인 네트워크에서만 공개되어야 되는 민감한 정보가 담겨져있는 블록일 경우, 영지식증명 방식을 제공하여 상기 특정 블록체인 네트워크의 구체적인 트랜잭션 내용은 기밀화 및 증명할 수 있도록 하는 것을 특징으로 하는 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법.
  2. 청구항 1에 있어서,
    이종의 블록체인 플랫폼을 사용하는 사용자의 익명성을 극대화할 수 있는 방안으로 사용자 인증방식으로 제공하는 것을 특징으로 하는 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법.
  3. 청구항 1에 있어서,
    이종의 블록체인 플랫폼용 블록을 생성할 때 세부적인 블록의 내용을 암호화하고 증명하는 것을 특징으로 하는 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법.
KR1020200067684A 2020-06-04 2020-06-04 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법 KR20210150810A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200067684A KR20210150810A (ko) 2020-06-04 2020-06-04 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200067684A KR20210150810A (ko) 2020-06-04 2020-06-04 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법

Publications (1)

Publication Number Publication Date
KR20210150810A true KR20210150810A (ko) 2021-12-13

Family

ID=78832031

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200067684A KR20210150810A (ko) 2020-06-04 2020-06-04 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법

Country Status (1)

Country Link
KR (1) KR20210150810A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230122918A (ko) * 2022-02-15 2023-08-22 한국전력공사 블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180022507A (ko) 2016-08-24 2018-03-06 김보석 블록체인을 기반으로 하는 문서전달 서비스 제공 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180022507A (ko) 2016-08-24 2018-03-06 김보석 블록체인을 기반으로 하는 문서전달 서비스 제공 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230122918A (ko) * 2022-02-15 2023-08-22 한국전력공사 블록체인 네트워크의 트랜잭션 합의 방법 및 블록체인 노드

Similar Documents

Publication Publication Date Title
US11681821B2 (en) Methods and apparatus for efficiently implementing a distributed database within a network
US11677550B2 (en) Methods and apparatus for a distributed database including anonymous entries
EP3219050B1 (en) Manicoding for communication verification
KR102106590B1 (ko) 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템 및 이에 따른 블록 체이닝 방법
US20210194759A1 (en) Changing a master node in a blockchain system
KR102090025B1 (ko) 이종의 블록체인 플랫폼 간의 연동이 가능한 블록체인 네트워크 시스템 및 이를 이용한 블록체인 생성방법
CN111066047B (zh) 实现基于区块链的工作流
CN110462621A (zh) 在区块链网络中管理敏感数据元素
Robinson Survey of crosschain communications protocols
CN111108521A (zh) 实现基于区块链的工作流
US11488144B2 (en) System and method of multi-round token distribution using a blockchain network
CN109741068B (zh) 网银跨行签约方法、装置及系统
CN111241593A (zh) 用于区块链节点的数据同步方法及装置
CN115174570A (zh) 一种基于动态委员会的跨链共识方法及系统
KR102178673B1 (ko) 이종의 블록체인 플랫폼의 채널 관리 시스템 및 방법
KR20210150810A (ko) 이종의 블록체인 플랫폼에서 거래 무결성 및 비밀성을 제공하는 방법
CN111211876B (zh) 发送针对数据请求的应答消息的方法及装置、区块链系统
CN112950180A (zh) 一种基于联盟链的通证方法、系统、电子设备及存储介质
JP2023106055A (ja) エビデンス管理方法、エビデンス管理システム及びノード
KR102565850B1 (ko) 신뢰 실행 환경을 기반으로 한 탈중앙형 오라클 시스템 및 상기 시스템에서의 외부 데이터 전달 방법
JP2023513951A (ja) 階層化ネットワークの接続の適応
Karagiannidis et al. Report on Tools for Secure Ledger Systems
Nacer et al. Blockchain as a Complementary Technology for the Internet of Things: A Survey
Sivalakshmi et al. HIGHLIGHTS OF BLOCKCHAIN TECHNOLOGY
You et al. A Multi-Party, Multi-Blockchain Atomic Swap Protocol with Universal Adaptor Secret