KR102304046B1 - Method and device for providing API service with one middle block by integrating multiple block chains, and identification method using the same - Google Patents

Method and device for providing API service with one middle block by integrating multiple block chains, and identification method using the same Download PDF

Info

Publication number
KR102304046B1
KR102304046B1 KR1020210060307A KR20210060307A KR102304046B1 KR 102304046 B1 KR102304046 B1 KR 102304046B1 KR 1020210060307 A KR1020210060307 A KR 1020210060307A KR 20210060307 A KR20210060307 A KR 20210060307A KR 102304046 B1 KR102304046 B1 KR 102304046B1
Authority
KR
South Korea
Prior art keywords
module
blockchain
compatible
block
platform
Prior art date
Application number
KR1020210060307A
Other languages
Korean (ko)
Inventor
조영중
김항진
김혁동
Original Assignee
주식회사 시티랩스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 시티랩스 filed Critical 주식회사 시티랩스
Priority to KR1020210060307A priority Critical patent/KR102304046B1/en
Priority to KR1020210122098A priority patent/KR102329075B1/en
Priority to KR1020210122097A priority patent/KR102347337B1/en
Application granted granted Critical
Publication of KR102304046B1 publication Critical patent/KR102304046B1/en
Priority to PCT/KR2022/006122 priority patent/WO2022240026A1/en
Priority to PCT/KR2022/006125 priority patent/WO2022240027A1/en
Priority to PCT/KR2022/007092 priority patent/WO2022240268A1/en

Links

Images

Classifications

    • H04L67/2838
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/567Integrating service provisioning from a plurality of service providers
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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/321Cryptographic 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 a third party or a trusted authority
    • 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/40Network security protocols
    • H04L2209/38

Landscapes

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

Abstract

According to an embodiment of the present invention, a device for providing API services with one middle block by integrating a plurality of blockchains includes: a middleware module interworking with at least one client; and a compatible module unit which interconnects at least one blockchain platform and the middleware module. The compatible module unit may include at least one compatible module which performs a compatible role so that a code of the middleware module and a code of the blockchain platform connected to the middleware module can be interworked. Accordingly, the present invention provides a service which helps the existing systems to quickly and easily create blockchain-based applications.

Description

복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 방법과 장치 및 이를 이용한 신원 증명 방법{Method and device for providing API service with one middle block by integrating multiple block chains, and identification method using the same}Method and device for providing API service with one middle block by integrating multiple block chains, and identification method using the same }

본 발명은 복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 방법과 장치 및 이를 이용한 신원 증명 방법으로서, 보다 상세하게는 블록체인 네트워크와 연동되어 있는 중간 호환 모듈을 이용하여 클라이언트에게 블록체인에 기반한 API 서비스를 유용하게 제공해주는 기술에 관한 발명이다. The present invention provides a method and apparatus for providing API services with one middle block by integrating a plurality of block chains and an identity verification method using the same, and more specifically, to a client using an intermediate compatible module linked with a block chain network. It is an invention about a technology that provides useful API services based on blockchain.

블록체인(Blockchain)은 분산 데이터 저장기술의 한 형태를 의미한다. 지속적으로 변경되는 데이터를 모든 참여 노드에기록한 변경 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다.Blockchain refers to a form of distributed data storage technology. It is a change list that records continuously changing data to all participating nodes, and is designed to prevent arbitrary manipulation by the operator of the distributed node.

즉, 관리대상 데이터를 ‘블록’(소규모 데이터들이 P2P 방식을 기반으로 생성된 체인 형태의 연결고리) 기반 분산 데이터 저장 환경에 저장하여 누구라도 임의로 수정할 수 없고 누구나 변경의 결과를 열람할 수 있는 분산 컴퓨팅 기술 기반의 원장 관리 기술을 의미하며, 대표적으로 블록체인 기술을 활용한 구현 사례로는 비트코인, 이더리움 등 다양하게 존재한다. In other words, the data to be managed is stored in a 'block' (chain-type link in which small data is created based on the P2P method)-based distributed data storage environment, so that no one can arbitrarily modify it and anyone can view the results of the change. It refers to a computing technology-based ledger management technology, and there are various examples of implementations using block chain technology, such as Bitcoin and Ethereum.

블록체인 기술이 제시된 이후 관련 기술의 계속 발전을 함으로써, 현재 블록체인 기술의 구현은 산업 전반에 걸쳐 높은 수준에서 범용화가 되었으며, 관련기술을 활용한 산업 현장의 변화도 발 빠르게 이루어져 사회 곳곳에서 블록체인을 활용한 개량기술들이 활약하고 있다. With the continuous development of related technologies after blockchain technology was presented, the current implementation of blockchain technology has become commoditized at a high level throughout the industry. Improved technologies using

블록체인 시스템은 크게 무 허가형 블록체인(Permissionless blockchain) 시스템과 허가형 블록체인(Permissioned blockchain) 시스템으로 구분될 수 있다. 구체적으로, 해당 네트워크에 누구든지 참여할 수 있고, 참여된 모든 구성원(노드)들이 데이터베이스에 해당하는 분산 원장을 보유하고 있는 블록체인 시스템으로 무 허가형 블록체인 시스템 이라고 하며 이는 보통 퍼블릭 블록체인(Public blockchain)이라고 불리기도 한다. The blockchain system can be largely divided into a permissionless blockchain system and a permissioned blockchain system. Specifically, it is a blockchain system in which anyone can participate in the network, and all participating members (nodes) have a distributed ledger corresponding to the database. ) is also called.

이와 달리 특정 동일 목적을 가진 기관들의 집합 또는 특정 단체만이 해당 네트워크에 참여할 수 있는 시스템을 허가형 블록체인(Permissioned blockchain)이라고 하며 이는 중앙집중화의 정도에 따라 프라이빗 블록체인(Private blockchain) 또는 컨소시엄 블록체인(Consortium Blockchain)이라고 불리기도 한다.On the other hand, a system in which a group of organizations with the same purpose or a system in which only a specific group can participate in the network is called a permissioned blockchain, and it is a private blockchain or a consortium block depending on the degree of centralization. It is also called Consortium Blockchain.

퍼블릭 블록체인은 대개 네트워크에서 이루어지는 트랜잭션 및 이에 대한 안전한 분산 원장에 대한 처리 및 저장에 대한 효율성 보다는 완전한 탈 중앙화를 통해 누구든지 참여할 수 있는 규모의 확장성을 가짐을 목적으로 한다.A public blockchain aims to have scalability of a scale that anyone can participate in through complete decentralization rather than the efficiency of processing and storage of transactions usually made on the network and a secure distributed ledger.

이에 비해 허가형 블록체인은 누구든지 참여할 수 있는 퍼블릭 블록체인에 비해 규모의 확장성이 떨어지나, 퍼블릭 블록체인에 비해 트랜잭션 실행 및 이에 대한 안전한 분산 원장에 대한 처리와 저장에 대해 매우 빠른 시스템 성능과 함께 금융거래, 제조사 간 공급망, 제조사와 소비자 간 유통망, 의료 분야에서의 병원 및 기타 관련사 간의 질병 이력 공유 및 정부 주도의 공공 분야에서의 정보 공유 등에 적용할 수 있는 시스템이다.In contrast, permissioned blockchains are less scalable than public blockchains that anyone can participate in, but compared to public blockchains, they have very fast system performance for transaction execution and safe distributed ledger processing and storage. It is a system that can be applied to financial transactions, supply chains between manufacturers, distribution networks between manufacturers and consumers, disease history sharing between hospitals and other related companies in the medical field, and information sharing in the public sector led by the government.

따라서, 이러한 블록체인의 특성은 산업 여러 분야에 적용되어 활용되고 있는데 대표적으로 개인의 신원을 증명하는 방법에 있어서 탈중앙화 신원증명(Decentralized IdentifierdR, DID) 기술이 대두되고 있다. 탈중앙화 신원증명 방식의 경우 종래 기술에 따른 신원 확인 방식과 달리 중앙 시스템에 의해 통제되지 않으며 개개인이 자신의 정보에 완전한 통제권을 갖도록 하는 특징을 가지고 있기 때문에 대표적으로 블록체인 기술이 적용되는 분야라고 할 수 있다. Therefore, these characteristics of block chain are applied and utilized in various fields of industry, and Decentralized IdentifierdR (DID) technology is emerging as a representative method of verifying an individual's identity. In the case of the decentralized identification method, unlike the identification method according to the prior art, it is not controlled by a central system and has the characteristic of allowing individuals to have complete control over their information, so it can be said that block chain technology is typically applied. can

구체적으로, DID 는 사용자 스스로 자신의 신원정보를 관리하고 통제할 수 있도록 하는 디지털화된 신원관리 시스템으로서, 우리가 지갑에 주민등록증을 보관하고 필요할 때 꺼내 나를 증명하는 것 처럼, 사용자가 블록체인에 연동된 디지털 월렛에 내 개인정보를 담아 필요할 때 개인키를 입력해 나를 증명하는 방법으로 개인의 신원정보를 증명할 수 있다. Specifically, DID is a digitalized identity management system that allows users to manage and control their own identity information. You can prove your identity by storing your personal information in your digital wallet and entering your private key when necessary to prove yourself.

DID의 경우 개인정보사용 및 제공의 주체가 기업에서 개인으로 변화하고 있는 상황에서 DID를 도입하면 개인이 특정 기관과 상호작용할 때, 신원주체가 그 흐름을 통제할 수 있어 신원정보를 투명하게 관리할 수 있는 장점이 존재한다. In the case of DID, in a situation where the subject of personal information use and provision is changing from a company to an individual, if DID is introduced, when an individual interacts with a specific institution, the identity subject can control the flow, so that the identity information can be managed transparently. There are advantages that can be

그러나, DID 기술의 경우 블록체인 기술의 특성상 네트워크 구조가 복잡하고 어렵다 보니 이를 비즈니스 모델(Business Model)로 적용하여 서비스를 제공하기가 어려웠으며, 종래 기술의 경우 대부분 퍼블릭 블록체인을 이용하여 DID 기술을 적용하다 보니, 퍼블릭 블록체인의 특성상 오라클(oracle) 및 보안 문제가 많이 발생하는 문제점이 존재하였다. However, in the case of DID technology, since the network structure is complex and difficult due to the nature of block chain technology, it was difficult to provide services by applying it as a business model. As it was applied, there was a problem that a lot of oracle and security problems occurred due to the nature of the public blockchain.

대한민국 공개 특허 KR 10-2019-0065345 A1 - 증명서 및 신원 검증 방법 및 장치Republic of Korea Patent Publication KR 10-2019-0065345 A1 - Method and apparatus for verification of certificates and identity

따라서, 일 실시예에 따른 복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 방법과 장치 및 이를 이용한 신원 증명 방법은 상기 설명한 문제점을 고안하기 위한 개발된 발명으로서, 블록체인 네트워크와 연동되어 있는 중간 호환 모듈을 이용하여 클라이언트에게 블록체인에 기반한 API 서비스를 유용하게 제공해주는 기술에 관한 발명이다. Accordingly, a method and apparatus for providing API services with one middle block by integrating a plurality of block chains according to an embodiment, and an identity verification method using the same, are developed inventions to devise the above-described problems, and include a block chain network and It is an invention about a technology that usefully provides a blockchain-based API service to a client using an interlocked interoperable module.

보댜 구체적으로는, Kafka 모듈을 이용하여 여러 블록체인과 애플리케이션간에 용이하게 데이터를 교환할 수 있도록 하는 플랫폼(Platform)을 제공함으로써, 종래 기술에 따른 프로그램 및 어플리케이션 등이 용이하게 블록체인 플랫폼과 연결될 수 있도록 하는데 그 목적이 있다. Specifically, by providing a platform that enables data exchange between multiple blockchains and applications using the Kafka module, programs and applications according to the prior art can be easily connected to the blockchain platform. Its purpose is to make

또한, 일 실시예에 따른 복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 방법과 장치 및 이를 이용한 신원 증명 방법은 허가형 블록체인과 DID 비즈니스 모델과의 상호 연결을 용이하게 하면서 보안 문제를 해결할 수 있는 미들 블록을 제공하는데 그 목적이 있다. In addition, the method and device for providing API services with one middle block by integrating a plurality of block chains according to an embodiment, and an identity verification method using the same, facilitate the interconnection between the permissioned block chain and the DID business model while The purpose is to provide a middle block that can solve security problems.

보다 구체적으로는, 미들 블록에 증명 레이어를 추가하여 블록체인 네트워크 상에서 발생할 수 있는 오라클(Oracle) 문제를 해결하여 보다 안정적인 DID 서비스를 제공하는데 그 목적이 존재한다. More specifically, the purpose is to provide a more stable DID service by adding a proof layer to the middle block to solve the Oracle problem that may occur on the blockchain network.

일 실시예에 따른 복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 장치는 적어도 하나 이상의 클라이인트와 연동되는 미들 웨어 모듈 및 적어도 하나 이상의 블록체인 플랫폼과 상기 미들 웨어 모듈을 상호 연결시켜주는 호환 모듈부;를 포함하고, 상기 호환 모듈부는, 상기 미들 웨어 모듈의 코드(code)와 상기 미들 웨어 모듈과 연결되어 있는 블록체인 플랫폼의 코드(code)가 상호 연동될 수 있도록 호환 역할을 수행하는 적어도 하나 이상의 호환 모듈을 포함할 수 있다. An apparatus for providing API services with one middle block by integrating a plurality of block chains according to an embodiment interconnects a middleware module interworking with at least one client and at least one block chain platform with the middleware module It includes a compatible module unit that enables It may include at least one or more compatible modules that perform

상기 미들 웨어 모듈은, 상기 호환 모듈부와 데이터를 송신하고 수신하는 카프카(Kafka) 모듈을 포함할 수 있다.The middleware module may include a Kafka module for transmitting and receiving data with the compatible module unit.

상기 미들 웨어 모듈은, 상기 클라이언트에게 상기 카프카(Kafka) 모듈로부터 받은 데이터를 기초로 API 서비스를 제공하는 FACADE 모듈을 포함할 수 있다.The middleware module may include a FACADE module that provides an API service to the client based on data received from the Kafka module.

상기 호환 모듈부는, 상기 미들 블록과 연동되는 블록체인 플랫폼의 개수에 대응하여, 상기 블록체인 플랫폼과 일대일로 대응되는 호환 모듈을 적어도 하나 이상 포함할 수 있다.The compatible module unit may include at least one compatible module corresponding to the block chain platform one-to-one, corresponding to the number of block chain platforms interworking with the middle block.

상기 호환 모듈은, 연결하고자 하는 블록체인 플랫폼의 오픈 소스에 기초하여 상기 캬프카(Kafka) 모듈의 엔드 포인트(end point)와 상기 연결하고자 하는 블록체 플랫폼의 엔드 포인트를 연결할 수 있다. The compatible module may connect the end point of the Kafka module to the end point of the block chain platform to be connected based on the open source of the block chain platform to be connected.

상기 블록체인 플랫폼은, 허가형 블록체인(Permissionless blockchain)을 포함하며, 상기 허가형 블록체인은 DID(Decentralized Identifierd) 방법으로 인증될 수 있다.The blockchain platform includes a permissionless blockchain, and the permissionless blockchain can be authenticated by a DID (Decentralized Identifierd) method.

상기 허가형 블록체인은, 하이퍼레져(Hyperledger) INDY 네트워크 및 하이퍼레져 Fabric 네트워크 중 적어도 하나를 포함하며, 상기 호환 모듈부는, 상기 하이퍼레져 INDY 네트워크와 연동되는 제1호환 모듈 및 상기 하이퍼레져 Fabric 네트워크 연동되는 제2호환 모듈을 포함할 수 있다.The permissioned block chain includes at least one of a Hyperledger INDY network and a Hyperledger Fabric network, and the compatible module unit includes a first compatible module interworking with the Hyperledger INDY network and the Hyperledger Fabric network interworking A second compatible module may be included.

일 실시예에 따른 복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 방법과 장치 및 이를 이용한 신원 증명 방법은, 어플리케이션 및 프로그램 등의 기존 시스템과 블록체인 플랫폼을 용이하게 연결해줌으로써, 기존 시스템이 빠르고 쉽게 블록체인 기반 어플리케이션을 생성하는 것을 돕는 서비스를 제공할 수 있는 효과가 존재한다. 따라서, 블록체인 서비스를 제공하기 위해 처음부터 블록체인을 위한 서비스를 제작할 필요 없이, 본 발명을 이용하여 생성된 API를 이용하여 블록체인 기반의 서비스를 사용자에게 쉽게 제공할 수 있는 장점이 존재한다. A method and apparatus for providing API services with one middle block by integrating a plurality of block chains according to an embodiment, and an identity verification method using the same, by easily connecting existing systems such as applications and programs with a block chain platform, There is an effect that existing systems can provide services that help create blockchain-based applications quickly and easily. Therefore, there is an advantage that a blockchain-based service can be easily provided to users by using the API created using the present invention, without the need to create a service for the block chain from the beginning to provide the block chain service.

또한, 본 발명의 경우 정부에서 발급하는 신분증을 기반으로 한 비대면 생체인식 지문 검증과, 은행 계좌 이체를 통한 검증을 통해 사용자의 신원을 검증하므로, 블록체인 플랫폼에서 빈번하게 발생하는 오라클(Oracle) 문제를 해결해 시스템의 보안성과 신뢰성을 높일 수 있는 장점이 존재한다. In addition, in the case of the present invention, since the user's identity is verified through non-face-to-face biometric fingerprint verification based on government-issued identification and verification through bank account transfer, Oracle, which frequently occurs in blockchain platforms It has the advantage of improving the security and reliability of the system by solving the problem.

또한, 본 발명에 따를 경우, DID 기술을 용이하게 블록체인 플랫폼에 적용시킬 수 있어, DID 문서에 저장된 사용자들의 자세한 생체정보와 같이 탈중앙화된 신원을 사용자에게 제공할 수 있는 장점이 존재하며, DID와 허가형 블록체인 네트워크를 위한 상호 호환성을 제공할 수 있는 장점이 있다.In addition, according to the present invention, the DID technology can be easily applied to the blockchain platform, and there is an advantage of providing users with a decentralized identity such as detailed biometric information of users stored in the DID document. It has the advantage of providing mutual compatibility for permissioned blockchain networks.

도 1은 본 발명의 일 실시예에 따른 미들 블록(Middle Block) 시스템의 일부 구성 요소를 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 미들 웨어 모듈의 일부 구성 요소를 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용한 신원 증명 시스템의 전체 구성도를 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따라 검증 모듈에 수행되는 프로세서에 대한 순서를 도시한 순서도이다.
도 5는 본 발명의 일 실시예에 따라 미들 웨어 모듈에 수행되는 프로세서에 대한 순서를 도시한 순서도이다.
도 6은 본 발명의 일 실시예에 따라 제1모듈에서 수행되는 프로세서에 대한 순서를 도시한 순서도이다
도 7은 본 발명의 일 실시예 따라 미들 블록이 제공할 수 있는 서비스를 간략적으로 도시한 도면이다.
1 is a block diagram illustrating some components of a middle block system according to an embodiment of the present invention.
2 is a block diagram illustrating some components of a middleware module according to an embodiment of the present invention.
3 is a diagram showing the overall configuration of an identity verification system using a block chain network according to an embodiment of the present invention.
4 is a flowchart illustrating a sequence of a processor performed in a verification module according to an embodiment of the present invention.
5 is a flowchart illustrating a sequence of a processor performed in a middleware module according to an embodiment of the present invention.
6 is a flowchart illustrating a sequence of a processor executed in a first module according to an embodiment of the present invention;
7 is a diagram schematically illustrating a service that a middle block may provide according to an embodiment of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. Since the present invention can apply various transformations and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. Effects and features of the present invention, and a method of achieving them, will become apparent with reference to the embodiments described below in detail in conjunction with the drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various forms.

이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when described with reference to the drawings, the same or corresponding components are given the same reference numerals, and the overlapping description thereof will be omitted. .

이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. In the following embodiments, terms such as first, second, etc. are used for the purpose of distinguishing one component from another, not in a limiting sense.

이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.In the following examples, the singular expression includes the plural expression unless the context clearly dictates otherwise.

이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. In the following embodiments, terms such as include or have means that the features or components described in the specification are present, and the possibility of adding one or more other features or components is not excluded in advance.

이하의 실시예에서, 막, 영역, 구성 요소 등의 부분이 다른 부분 위에 또는 상에 있다고 할 때, 다른 부분의 바로 위에 있는 경우뿐만 아니라, 그 중간에 다른 막, 영역, 구성 요소 등이 개재되어 있는 경우도 포함한다. In the following embodiments, when it is said that a part such as a film, region, or component is on or on another part, it is not only when it is directly on the other part, but also another film, region, component, etc. is interposed therebetween. Including cases where there is

도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.In the drawings, the size of the components may be exaggerated or reduced for convenience of description. For example, since the size and thickness of each component shown in the drawings are arbitrarily indicated for convenience of description, the present invention is not necessarily limited to the illustrated bar.

본 발명의 명칭은, 복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 방법과 장치 및 이를 이용한 신원 증명 방법은, 이하 설명의 편의를 위해 복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 장치(100)는 미들 블록(100)이라 지징하여 설명하도록 한다.The name of the present invention is a method and apparatus for providing API services with one middle block by integrating a plurality of block chains, and an identity verification method using the same, by integrating a plurality of block chains for convenience of description below. The device 100 for providing API services as a block will be referred to as a middle block 100 to be described.

도 1은 본 발명의 일 실시예에 따른 미들 블록(Middle Block) 시스템의 일부 구성 요소를 도시한 블록도이다.1 is a block diagram illustrating some components of a middle block system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 미들 블록 시스템(1)은 호환 모듈부(200)를 포함하고 있는 미들 블록(100)과 미들 블록(100)로부터 API 서비스를 제공 받을 수 있는 클라이어트(10) 및 미들 블록(100)과 연동되어 있는 복수 개의 블록체인 플랫폼(300)을 포함할 수 있다.Referring to FIG. 1 , the middle block system 1 according to an embodiment of the present invention can receive API services from the middle block 100 and the middle block 100 including the compatible module unit 200 . It may include a plurality of blockchain platforms 300 that are interlocked with the client 10 and the middle block 100 .

미들 블록(100)의 미들 웨어 모듈(110)은 클라이어트(10)와 호환 모듈(200)을 이어 주는 중간 역할을 하는 구성 요소로서, Kafka 모듈(113)에 의해 구현될 수 있다. Kafka 모듈(113)에 대해서는 도 2에서 후술하도록 한다. The middleware module 110 of the middle block 100 is a component that plays an intermediate role connecting the client 10 and the compatible module 200 , and may be implemented by the Kafka module 113 . The Kafka module 113 will be described later with reference to FIG. 2 .

호환 모듈부(200)는 미들 웨어 모듈(110)의 코드와 복수 개의 블록체인 플랫폼(300) 사이의 코드가 상호 호환 될 수 있도록하는 호환 모듈 역할을 할 수 있다. 일반적으로, 클라이언트(10)에 API 서비스를 제공하는 위해서는, 클라이언트(10)단과 연결되어 있는 미들 웨어 모듈(110)은 그 특성상 블록 체인 플랫폼(300)와 코드가 통일되지 않아 데이터의 송수신이 어려운 단점을 가지고 있다. 따라서, 호환 모듈(200)은 이러한 블록체인 플랫폼(300)과 미들 웨어 모듈(110)을 용이하게 연결해줌으로써, 클라이언트(10)에게 블록체인과 연계된 API 서비스를 효율적으로 제공할 수 있다. 이에 대한 설명 또한 후술하도록 한다. The compatibility module unit 200 may serve as a compatibility module that enables the code of the middleware module 110 and the code between the plurality of block chain platforms 300 to be mutually compatible. In general, in order to provide an API service to the client 10, the middleware module 110 connected to the client 10 stage is difficult to transmit and receive data because the code is not unified with the block chain platform 300 due to its characteristics. has a Accordingly, the compatible module 200 can efficiently provide the API service related to the block chain to the client 10 by easily connecting the block chain platform 300 and the middleware module 110 . This will also be described later.

블록체인 플랫폼(300)은 클라이언트(10)에게 제공하고자 하는 서비스와 연계된 많은 종류의 블록체인 플랫폼을 포함할 수 있으며, 호환 모듈(200)은 복수 개의 호환 모듈을 구비하여, 각각 1:1 로 블록체인 플랫폼과 연동될 수 있다. 즉, 블록체인 플랫폼(300)에 포함될 수 있는 블록체인의 플랫폼의 종류는 다양하므로, 호환 모듈(200)은 각각의 블록체인 플랫폼과 미들 웨어 모듈(110)의 코드가 서로 상호 호환이 될 수 있도록, 미들 블록(100)에 연결 되어 있는 블록체인 플랫폼의 개수만큼 구비될 수 있다. The blockchain platform 300 may include many types of blockchain platforms linked to the services to be provided to the client 10, and the compatible module 200 includes a plurality of compatible modules, each 1:1 It can be linked with the blockchain platform. That is, since there are various types of blockchain platforms that can be included in the blockchain platform 300, the compatible module 200 is designed so that the codes of each blockchain platform and the middleware module 110 are compatible with each other. , as many as the number of blockchain platforms connected to the middle block 100 may be provided.

예를 들어, 미들 블록(100)과 연결되어 있는 블록체인 플랫폼의 개수가 3개인 경우, 호환 모듈(200)은 상기 3개의 블록체인 플랫폼과 각각 일대일로 매칭되어 연결되는 3개의 호환 모듈(210, 220, 230)을 포함할 수 있으며, 미들 블록(100)과 연결되어 있는 블록체인 플랫폼의 개수가 5개인 경우, 호환 모듈(200)은 상기 3개의 블록체인 플랫폼과 각각 일대일로 매칭되어 연결되는 5개의 호환 모듈을 포함할 수 있다. For example, when the number of blockchain platforms connected to the middle block 100 is three, the compatible module 200 corresponds to three compatible modules 210, which are connected by matching one-to-one with the three block chain platforms, respectively. 220 and 230), and when the number of blockchain platforms connected to the middle block 100 is 5, the compatible module 200 matches and connects with the three blockchain platforms on a one-to-one basis. It can include two compatible modules.

본 발명에 따른 제1블록체인 플랫폼(310)은 DID 기술 시스템에 맞춰, DID에 특화된 하이퍼레저 인디(Hyperledger Indy) 블록체인 플랫폼으로 전제하고, 제1 호환 모듈(210)은 하이퍼레져 인디 플랫폼(310)과 미들 웨어 모듈(110)의 코드가 서로 호환될 수 있는 역할을 수행하는 DID 메니저먼트 모듈(210)로 전제한다.The first blockchain platform 310 according to the present invention is premised on a Hyperledger Indy blockchain platform specialized for DID in accordance with the DID technology system, and the first compatible module 210 is a Hyperledger Indy platform 310 ) and the code of the middleware module 110 are assumed to be the DID management module 210 that serves to be compatible with each other.

또한, 제2플랫폼(320)은 스마트 컨트랙트(smart contract, 계약 조건을 블록체인에 기록하고 조건이 충족됐을 경우 자동으로 계약이 실행되는 계약)에 적합한 하이퍼레저 패브릭(Hyperledger Fabric) 블록체인 플랫폼으로 전제하고, 제2호환 모듈(220)은 하이러져 패브릭 플랫폼(320)과 미들 웨어 모듈(110)의 코드가 서로 호환될 수 있는 역할을 수행하는 패브릭 토큰 메니저먼트 모듈(220)로 전제하여 설명한다. In addition, the second platform 320 is a Hyperledger Fabric block chain platform suitable for a smart contract (a contract that records the contract conditions in the block chain and automatically executes the contract when the conditions are met) and the second compatible module 220 will be described on the assumption that the hierarchical fabric platform 320 and the code of the middleware module 110 are compatible with each other and the fabric token management module 220 plays a role.

여기서, 하이퍼레저(Hyperledger)는 블록체인 네트워크에 관한 오픈소스 커뮤니티로 기업수준(enterprise-level)의 블록체인 배포를 위한 프레임워크, 툴과 라이브러리로 구성된 개발 제품군을 제공하는 커뮤니티를 의미하며, 하이퍼레저 인디 블록체인 플랫폼과 하이퍼레져 패브릭 블록체인 플랫폼은 상기 커뮤니티에서 오픈 소스로 제공되는 블록체인의 플랫폼이다.Here, Hyperledger is an open source community for blockchain networks, which means a community that provides a development suite consisting of frameworks, tools and libraries for enterprise-level blockchain deployment. The Indie Blockchain Platform and Hyperledger Fabric Blockchain Platform are blockchain platforms that are provided as open sources by the above community.

하이퍼레져 인디(Hyperledger Indy) 플랫폼은 허가형 블록체인으로서, 블록체인 기반의 자기주권형 신원 (SSI)을 구현하기 위한 툴(tool), 아티팩트(artifact), 라이브러리(library)와 재사용 가능한 컴포넌트(Component)를 제공하는 블록체인 플랫폼이다. 하이퍼레져 인디 플랫폼은 다른 블록체인 플랫폼과 호환 가능하며 탈중앙화 신원증명 (DID)를 구현하기 위한 단독 플랫폼으로 사용될 수 있다. 또한, 하이퍼레져 인디 플랫폼은 분산원장기술을 통해 최종 사용자가 본인의 프라이버시와 신원 공개에 관련된 결정의 관리자가 될 수 있도록 할 수 있다. 따라서, 하이퍼레져 인디 플랫폼은 안전한 금융 생태계를 제공하고 강력한 신원 솔루션의 역할을 할 수 있는 플랫폼에 해당한다. The Hyperledger Indy platform is a permissioned blockchain, with tools, artifacts, libraries, and reusable components for implementing blockchain-based self-sovereign identity (SSI). ) is a blockchain platform that provides The Hyperledger Indy platform is compatible with other blockchain platforms and can be used as a standalone platform to implement decentralized identification (DID). In addition, the Hyperledger Indy platform can enable end users to become managers of decisions related to their privacy and identity disclosure through distributed ledger technology. Therefore, the Hyperledger Indie platform corresponds to a platform that can provide a secure financial ecosystem and serve as a strong identity solution.

하이퍼레져 패브릭(Hyperledger Fabric)은 허가형 블록체인 기반구조로, 네트워크 내 노드간 역할을 표현하고, 스마트 컨트랙트(패브릭에서는 "체인코드"로 호칭됨)를 실행할 수 있는 블록체인 플랫폼으로서, 구성가능한 합의(configurable consensus)와 멤버십 서비스가 있는 모듈형 구조를 제공할 수 있다.Hyperledger Fabric is a permissioned blockchain infrastructure that expresses the roles between nodes in the network and is a blockchain platform that can execute smart contracts (called “chaincode” in fabric), which is a configurable consensus It can provide a modular structure with configurable consensus and membership services.

구체적으로, 하이퍼레져 패브릭 플랫폼은 기본적으로 세가지 노드(peer 노드, orderdr 노드, MSP)로 구성될 수 있다. “피어 노드 (Peer nodes)” 는 체인코드를 실행하고, 원장 데이터에 접근하며 트랜잭션을 보증하는 역할을 수 행할 수 있다. 두번째는 “Orderer 노드”로, 블록체인의 안정성을 보장하고 보증된(endorsed) 트랜잭션들을 네트워크의 peer들에게 전달하는 역할을 할 수있다. 그리고 세번째 MSP (Membership Service Providers)는, 각 노드들이 인증기관 (CA)의 역할을 수행할 수 있도록 하고, 멤버의 신원과 역할을 증명하기 위해 사용된다.Specifically, the Hyperledger Fabric platform can be basically composed of three nodes (peer node, orderdr node, MSP). “Peer nodes” can execute chaincodes, access ledger data, and perform the role of guaranteeing transactions. The second is an “orderer node”, which can serve to ensure the stability of the blockchain and deliver endorsed transactions to peers in the network. And the third MSP (Membership Service Providers) enables each node to perform the role of a Certificate Authority (CA), and is used to prove the identity and role of the member.

하이퍼레져 패브릭은 다양한 합의 알고리즘을 구현하지만, 플랫폼과 일반적으로 사용되는 합의 알고리즘은 PBFT (Practical Byzantine Fault Tolerance)로 구현된다. Hyperledger Fabric implements various consensus algorithms, but the platform and commonly used consensus algorithms are implemented with PBFT (Practical Byzantine Fault Tolerance).

도 1에서는 제1호환 모듈(210) 하이퍼레져 인드 블록체인과 관련된 호환 모듈로서 설명하고, 제2호환 모듈(220)은 하이퍼레져 퍼브를 블록체인과 관련된 호환 모듈로 설명하였지만, 이는 일 실시예에 불과하고, 본 발명의 실시예에 따른 호환 모듈은 연결되는 블록체인 플랫폼에 따라 다양하게 변경되어 설정될 수 있다. 즉, 호환 모듈부(200)은 호환 모듈들은, 연결하고자 하는 블록체인 플랫폼의 특성을 반영하여, 블록체인 플랫폼(300)과 미들 웨어 모듈(110)을 용이하게 연결해줄 수 있다. 일 예로 블록체인 플랫폼에서 공개한 오픈 소스를 이용하여 미들 웨어 모듈(110)의 엔드 포인트(end point)와 블록체인 플랫폼(300)의 엔드 포인트를 연결하는 방법으로 호환 모듈이 생성될 수 있다. In FIG. 1, the first compatible module 210 is described as a compatible module related to the Hyperledger Ind blockchain, and the second compatible module 220 has been described as a compatible module related to the Hyperledger Pub, but this is in one embodiment. Only, the compatible module according to the embodiment of the present invention can be variously changed and set according to the connected blockchain platform. That is, the compatible module unit 200 can easily connect the block chain platform 300 and the middleware module 110 to the compatible modules by reflecting the characteristics of the block chain platform to be connected. For example, a compatible module may be created by connecting the end point of the middleware module 110 and the end point of the block chain platform 300 using an open source disclosed by the block chain platform.

도 2는 본 발명의 일 실시예에 따른 미들 웨어 모듈의 일부 구성 요소를 도시한 블록도이다.2 is a block diagram illustrating some components of a middleware module according to an embodiment of the present invention.

도 2를 참조하면, 미들 웨어 모듈(110)은 복수 개의 클라이언트(10)로부터 요청되는 신호들을 수신하며, API 서비스를 제공하는 FACADE 모듈(111), 블록체인 플랫폼(300)과 관련된 사용자의 키를 포함한 각종 데이터가 저장될 수 있는 미들 레이어(112) 및 클라이언트(10)가 요청한 신호를 호환 모듈(200)로 송신하고, 호환 모듈(200)이 플랫폼(300)를 통해 수신한 데이터를 호환 모듈(200)로부터 수신하는 카프카 모듈(113)을 포함할 수 있다.Referring to FIG. 2 , the middleware module 110 receives the signals requested from the plurality of clients 10 , the FACADE module 111 that provides API services, and the user's key related to the block chain platform 300 . The middle layer 112 that can store various data including, and a signal requested by the client 10 are transmitted to the compatible module 200, and the compatible module 200 transmits the data received through the platform 300 to the compatible module ( 200 ) and may include a Kafka module 113 .

카프카 모듈은 아파치 카프카(Apache KAFKA)라는 대용량 실시간 로그 처리 시스템으로서, 발행/구독(Publish/Subscribe) 패러다임을 사용하여 처리하는 메시지 큐잉(Queueing) 시스템을 의미하며, 여기서 메시지 시스템은 로그 데이터, 이벤트 메시지 등 API로 호출할 때 송신하는 데이터들을 처리하는 시스템을 의미한다. Kafka module is a large-capacity real-time log processing system called Apache KAFKA, which means a message queuing system that processes using the Publish/Subscribe paradigm, where the message system includes log data and event messages. It refers to a system that processes data transmitted when calling with API, etc.

아파치 카프카는 LinkedIn에서 개발된 분산 메시징 시스템으로써 2011년에 오픈소스로 공개되었으며, 대용량의 실시간 로그처리에 특화된 아키텍처 설계를 통하여 기존 메시징 시스템보다 우수한 TPS를 보여주고 있다. Apache Kafka is a distributed messaging system developed by LinkedIn and opened as an open source in 2011, and it shows superior TPS than the existing messaging system through an architecture design specialized for large-capacity real-time log processing.

구체적으로, 카프카(KAFKA)는 발행-구독(publish-subscribe) 모델을 기반으로 동작하며. 크게 프로듀서(producer), 컨슈머(consumer), 브로커(broker)로 구성된다. 카프카의 브로커는 토픽(topic)을 기준으로 메시지를 관리한다. 프로듀서는 특정 토픽의 메시지를 생성한 뒤, 해당 메시지를 브로커에 전달한다. 그리고, 브로커가 전달받은 메시지를 토픽 별로 분류하여 쌓아놓으면, 해당 토픽을 구독하는 컨슈머(consumer)들이 메시지를 가져가서 처리하게 된다.Specifically, KAFKA operates based on a publish-subscribe model. It is mainly composed of producer, consumer, and broker. Kafka's broker manages messages based on topics. A producer creates a message of a specific topic and delivers the message to the broker. And, if the broker classifies the received messages by topic and stacks them up, consumers who subscribe to the topic take the messages and process them.

카프카는 확장성(scale-out)과 고가용성(high availability)을 위하여 브로커(broker)들이 클러스터로 구성되어 동작하도록 설계되어 있으며, 심지어 브로커(broker)가 1개 밖에 없을 때에도 클러스터로써 동작한다.Kafka is designed to operate in clusters of brokers for scale-out and high availability, and operates as a cluster even when there is only one broker.

카프카는 플랫폼 간에 데이터를 송수신하는 데 유용한 소프트웨어로, 분산 시스템을 기본으로 설계되었기 때문에, 기존 메시징 시스템에 비해 분산 및 복제 구성을 손쉽게 할 수 있다. 또한, 프로듀셔가 브로커에서 다수의 메시지를 전송할 때, 각각의 메시지를 개별적으로 전송해야 하는 기존 메시징 시스템과는 달리, 카프카는 다수의 메시지를 batch 형태로 브로커에서 한 번에 송신할 수 있기 때문에 TCP/IP 라운드 트립 횟수를 감소시킬 수 있는 장점이 존재한다. 즉, 카프카는 이러한 확장성을 가지고 있기 ‹š문에 카프카 모듈을 미들 웨어 모듈(110)의 일 구성요소로 구현하는 경우 다수의 블록체인 플랫폼과 효율적으로 데이터를 송신하고 수신할 수 있는 장점이 존재한다. Kafka is useful software for transmitting and receiving data between platforms. In addition, when a producer sends multiple messages from a broker, unlike the existing messaging system, where each message has to be sent individually, Kafka can send multiple messages from the broker in a batch form at once. There is an advantage of reducing the number of /IP round trips. That is, because Kafka has such scalability, when the Kafka module is implemented as a component of the middleware module 110, there is an advantage of efficiently transmitting and receiving data with multiple blockchain platforms. do.

카프카 모듈(113)은 이러한 확정성을 이용하여 여러 개의 블록체인 플랫폼과 데이터를 송신하고 수신할 수 있다. 구체적으로, 카프카 모듈(113)은 카프카 모듈(113)의 코드와 제1블록체인 플랫폼(310)의 코드를 상호 호환시켜주는 제1모듈(210)을 이용하여 제1블록체인 플랫폼(310)과 데이터를 송신하고 수신할 수 있으며, 카프카 모듈(113)의 코드와 제2블록체인 플랫폼(320)의 코드를 상호 호환시켜주는 제2모듈(220)을 이용하여 제2블록체인 플랫폼(320)과 데이터를 송신하고 수신할 수 있다. 그리고 앞서 설명한 바와 같이 블록체인 플랫폼의 종류가 변하여도, 카프카 모듈(113)은 확장성이 좋기 때문에, 호환 모듈(200)을 이용하여 다른 블록체인 플랫폼과 유용하게 데이터를 송신하고 수신할 수 있다. 즉, 도 2에서는 호환 모듈(200)에 3개의 호환 모듈(210, 220, 230)만을 도시하였지만, 카프카 모듈(113)은 호환 모듈이 더 많이 존재하여도, 그 확장성으로 인해 용이하게 더 많은 호환 모듈가 데이터를 송신하고 수신 받을 수 있다. 지금까지 도면을 통해 본 발명에 따른 미들 블록의 구성 요소에 대해 알아보았다. 이하 도면을 통해 본 발명에 따라 실시될 수 있는 신원 증명 방법에 대해 알아본다. The Kafka module 113 can transmit and receive data with multiple blockchain platforms using this scalability. Specifically, the Kafka module 113 uses the first module 210 to make the code of the Kafka module 113 and the code of the first block chain platform 310 mutually compatible with the first block chain platform 310 and Data can be transmitted and received, and the code of the Kafka module 113 and the code of the second block chain platform 320 are mutually compatible with the second block chain platform 320 using the second module 220 It can send and receive data. And as described above, even if the type of blockchain platform changes, the Kafka module 113 has good scalability, so it can transmit and receive data usefully with other blockchain platforms using the compatible module 200 . That is, in FIG. 2 , only three compatible modules 210 , 220 , 230 are shown in the compatible module 200 , but the Kafka module 113 has more compatible modules even if there are more compatible modules. Compatible modules can send and receive data. So far, the components of the middle block according to the present invention have been studied through the drawings. Hereinafter, an identification method that can be implemented according to the present invention will be described with reference to the drawings.

도 3은 본 발명의 일 실시예에 따른 블록체인 네트워크를 이용한 신원 증명 시스템의 전체 구성도를 도시한 도면이다.3 is a diagram showing the overall configuration of an identity verification system using a block chain network according to an embodiment of the present invention.

도 3을 참조하면, 본 발명에 일 실시예에 따라 블록체인 네트워크를 이용한 신원 증명 시스템(1)은 신원 인증을 하려고 하는 사용자(Holder, 10), 사용자에 대한 검증 가능한 정보를 제공하는 신원정보 발행기관(Issuer, 20), 사용자의 인증이 필요한 검증기관(Verifier, 30) 및 사용자의 개인 정보 및 신원정보 발행기관(20)이 발급한 기관 인증서 등에 대한 정보가 저장되어 있는 블록체인 네트워크(100)를 포함할 수 있으며, 이에 따른 블록체인 네트워크(100)는 앞서 도 1에서 설명한 미들 블록(100)을 이용해 구현될 수 있다.Referring to FIG. 3 , the identity verification system 1 using a block chain network according to an embodiment of the present invention issues identity information that provides verifiable information about a user (Holder, 10) who intends to authenticate the identity, and the user. Institution (Issuer, 20), a verification institution (Verifier, 30) that requires user's authentication, and a block chain network (100) in which information about the user's personal information and an institution certificate issued by the identity information issuing institution (20) are stored may include, and thus the blockchain network 100 may be implemented using the middle block 100 described above with reference to FIG. 1 .

따라서, 일 실시예에 따른 미들 블록(100)은 도 1에 도시된 바와 같이 복수의 클라이언트(10A, 10B)로부터 신원 증명 요청과 관련된 각종 신호를 송수신하는 미들 웨어 모듈(110), 신원 증명 요청을 한 클라이언트(10A, 10B)에 대한 사용자 인증을 수행하는 검증 모듈(120) 및 복수의 블록체인 플랫폼(300)와 미들 웨어 모듈(110)의 코드가 상호 호환될 수 있는 역할을 하는 호환 모듈부(200)를 포함할 수 있다.Accordingly, the middle block 100 according to an embodiment is a middleware module 110 that transmits and receives various signals related to an identity authentication request from a plurality of clients 10A and 10B, as shown in FIG. 1, an identity authentication request. A verification module 120 that performs user authentication for one client 10A, 10B and a compatible module unit ( 200) may be included.

본 발명에 따른 블록체인 네트워크를 이용한 신원 증명 방법의 동작 순서를 알아보면 가장 처음으로 검증기관(30)이 클라이언트(10)에게 신원 정보 인증을 요청한다. (S10)When the operation sequence of the identity verification method using the block chain network according to the present invention is found, the verification authority 30 requests the client 10 to authenticate the identity information for the first time. (S10)

검증기관(30)으로부터 신원 정보 인증 요청을 수신한 클라이언트(10)는 신원정보 발행기관(20)에게 신원 정보 발행을 요청하고(S20), 신원정보 발행기관(20)이 블록체인 네트워크(100) 상의 분산 ID저장소에 사용자의 신원 정보를 검증할 수 있는 서명된 ID정보를 등록한다(S30).Upon receiving the identity information authentication request from the verification authority 30, the client 10 requests the identity information issuing authority 20 to issue identity information (S20), and the identity information issuing authority 20 performs the block chain network 100 Registers the signed ID information that can verify the user's identity information in the distributed ID storage on the top (S30).

신원정보 발행기관(20)은 클라이언트(10)에게 신원정보 발행하고 사용자는 신원정보 발행기관(20)이 서명한 내용에 대해 Counter-sign을 하여 DIDs(Key) ― DID Document(Value) 생성한다. (S40) The identity information issuing institution 20 issues identity information to the client 10, and the user counter-signs the content signed by the identity information issuing institution 20 to generate DIDs (Key) - DID Document (Value). (S40)

그 후, 사용자는 검증기관(30)에게 생성한 신원 정보를 전달한다(S50). 이때 신원정보 발행기관(20)에게 받은 신원 정보 전체(Credential-자격증명 데이터)중 인증에 필요한 일부만을 선택한 신원 정보(Presentation)를 검증기관(30)에 전달할 수 있다. Thereafter, the user transfers the generated identity information to the verification authority 30 (S50). In this case, the identification information (Presentation) selected from all of the identity information (Credential-credential data) received from the identity information issuing institution 20 may be transmitted to the verification institution 30 .

검증기관(30)은 DIDs를 통해 블록체인 네트워크(100) 상의 분산 ID저장소에 저장된 DID Document를 검증하여 신원 확인을 완료할 수 있다.The verification authority 30 can complete identity verification by verifying the DID Document stored in the distributed ID storage on the blockchain network 100 through DIDs.

본 발명의 일 실시예에 따른 블록체인을 이용한 신원 증명 시스템의 경우, DID는 개인의 검증가능한 신원정보들(Verifiable Credentials)을 분산 네트워크에 저장해 놓고 있기 때문에 중앙화된 등록 기관의 검증이 필요하지 않다는 점에서 별도 기관의 신뢰 담보 없이도 분산 개인정보 관리 시스템을 구현하고 사용할 수 있는 탈중앙 구주를 구현한 장점이 존재한다.In the case of an identity verification system using a block chain according to an embodiment of the present invention, since the DID stores personal verifiable credentials in a distributed network, verification of a centralized registration authority is not required. There is an advantage of implementing a decentralized savior that can implement and use a distributed personal information management system without a separate institution's trust collateral.

또한, 신원정보 발행기관(20)이 발행한 모든 신원 정보중에서 최소한의 검증가능한 인증정보(Presentations)만을 이용하여 신원인증을 하였다는 점에서 프라이버시를 포함한 개인의 신원확인 주권을 강화시킨 효과가 존재한다. In addition, in that the identity is authenticated using only the minimum verifiable authentication information (Presentations) among all the identity information issued by the identity information issuing institution 20, there is an effect of strengthening the sovereignty of individual identification including privacy. .

또한, 데이터의 저장을 블록체인의 노드에 하였다는 점에서 보안성 효과가 증가한다. 블록체인의 경우 특정 노드가 DDoS 등 해킹 공격을 받더라도 다른 노드를 통해서 언제든 서비스에 접근할 수 있다는 점에서 가용성을 지니고 있다. 따라서, 한 곳에 데이터가 중앙 저장된 경우 단일 시스템의 실패가 전체 데이터의 손실로 이어지는 단일 실패 지점(Single point of failure) 위험은 분산 시스템을 기반으로 한 블록체인 상에서 발생되지 않는 장점이 존재한다.In addition, the security effect increases in that the data is stored in the node of the block chain. In the case of blockchain, even if a specific node receives a hacking attack such as DDoS, it has availability in that it can access services at any time through other nodes. Therefore, when data is centrally stored in one place, the risk of a single point of failure leading to the loss of the entire data due to the failure of a single system does not occur on a blockchain based on a distributed system.

도 4는 본 발명의 일 실시예에 따라 검증 모듈(120)에 수행되는 프로세서에 대한 순서를 도시한 순서도이다.4 is a flowchart illustrating a sequence of a processor performed by the verification module 120 according to an embodiment of the present invention.

도 1과 도 4를 참조하면, 클라이언트(10)로부터 처음으로 신원 증명에 대한 요청 신호를 미들 웨어 모듈(110)이 수신하면, 미들 웨어 모듈(110)은 이러한 요청 신호를 신원 검증 모듈(120)로 송신한다. 1 and 4, when the middleware module 110 receives a request signal for identity verification for the first time from the client 10, the middleware module 110 transmits this request signal to the identity verification module 120. send to

신원 검증 모듈(120)은 미들 웨어 모듈(110)로부터 신원 검증 요청 신호를 수신하면(S110), 2가지 방법으로 신원 검증을 수행한다. 구체적으로, 생체 정보를 기반으로 한 생체 인증 방법(S120)과 은행 계좌를 통해 소액을 이체하는 은행 계좌 인증 방법(S130)을 통해 사용자의 신원을 확인하다. When the identity verification module 120 receives the identity verification request signal from the middleware module 110 (S110), it performs identity verification in two ways. Specifically, the user's identity is verified through the biometric authentication method (S120) based on biometric information and the bank account authentication method (S130) of transferring a small amount through a bank account.

구체적으로, 생체 정보를 기반으로 한 생체 인증 방법은 정부에서 발급하는 신분증을 기반으로 한 비대면 생체 인식 지문 검증 방법을 의미하며, 은행 계좌 인증 방법은 신원 검증 모듈(120)에 포함되어 있는 Open Bank API를 통해 계좌 이체를 확인하고 KYC(Know Your Customers) 인증 과정을 수행한다. Specifically, the biometric authentication method based on biometric information refers to a non-face-to-face biometric fingerprint verification method based on an ID issued by the government, and the bank account authentication method is Open Bank included in the identity verification module 120 . Through the API, the bank transfer is confirmed and the KYC (Know Your Customers) verification process is performed.

본 발명에 따란 신원 검증 모듈(120)에 의해 신원을 확인하는 경우 블록체인 상에서 빈번하게 발생하는 오라클(oracle) 문제를 안정적으로 해결할 수 있어, 인간 관리자 없이 블록체인 플랫폼이 안정적으로 유지될 수 있는 장점이 존재한다. When the identity is verified by the identity verification module 120 according to the present invention, the oracle problem that occurs frequently on the block chain can be stably solved, and the block chain platform can be stably maintained without a human manager this exists

도 5는 본 발명의 일 실시예에 따라 미들 웨어 모듈(120)에 수행되는 프로세서에 대한 순서를 도시한 순서도이다.5 is a flowchart illustrating a sequence of a processor performed in the middleware module 120 according to an embodiment of the present invention.

도 5를 참조하면, 클라이언트(10)로부터 라우팅되어 들어오는 API 요청은 미들 웨어 모듈(120)이 수신하게 되며, API 요청을 수신받은 미들 웨어 모듈(120)은 사용자의 세부정보를 사용해 key pair 를 생성한다(S210).Referring to FIG. 5 , the API request routed from the client 10 is received by the middleware module 120, and the middleware module 120 receiving the API request generates a key pair using the user's detailed information. do (S210).

Key pair가 생성되면 미들 웨어 모듈(120)은 사용자 ID와 해시화된 비밀번호를 결합시킨 후 결합된 정보는 데이터베이스부에 암호화된 형식으로 저장한다.(S220)When the key pair is generated, the middleware module 120 combines the user ID and the hashed password, and then stores the combined information in an encrypted format in the database unit (S220).

그 후 미들 웨어 모듈(120)은 key pair와 유일무이한 ID를 가진 JWE 토큰을 생성하고, 생성된 JWE 토큰은 다시 클라이언트로 송신한다. (S230) Thereafter, the middleware module 120 generates a JWE token having a key pair and a unique ID, and transmits the generated JWE token back to the client. (S230)

클라이언트는 JWE 토근을 수신하였기 때문에 다시 비밀번호를 입력할 필요가 없으며, JWE 토큰의 유효기간은 다양하게 설정될 수 있으나 일 예로 24시간으로 설정될 수 있다.Since the client has received the JWE token, there is no need to re-enter the password, and the validity period of the JWE token may be set in various ways, but may be set, for example, to 24 hours.

그 후, 미들 웨어 모듈(120)은 사용자를 위한 DID와 블록체인 계좌를 생성할 수 있으며, DID와 계좌 비밀번호는 데이터베이스에 저장되어 있는 사용자의 private key를 활용하여 암호화될 수 있다. (S240, S250) Thereafter, the middleware module 120 may generate a DID and a blockchain account for the user, and the DID and account password may be encrypted using the user's private key stored in the database. (S240, S250)

사용자가 사용하는 JWE 토큰은 암호화되어있기 때문에, JWE 토큰을 사용하여 미들 웨어 모듈(120)에 들어오게 되면, 이에 대한 복호화를 먼저 한 후 원장에 접근을 한다.Since the JWE token used by the user is encrypted, when the JWE token is used to enter the middleware module 120, it is first decrypted and then the ledger is accessed.

도 6은 본 발명의 일 실시예에 따라 제1모듈에서 수행되는 프로세서에 대한 순서를 도시한 순서도이다. 제1모듈의 경우 앞서 설명하였듯이 하이퍼레저 인디 블록체인 플랫폼(310)과 미들 웨어 모듈(110)의 코드가 상호 호환이 되도록 중간 호환 역할을 하는 구성요소로서, DID 메니지먼트 모듈로 지칭될 수 있다. 6 is a flowchart illustrating a sequence of a processor executed in a first module according to an embodiment of the present invention. In the case of the first module, as described above, the code of the Hyperledger Indy blockchain platform 310 and the middleware module 110 is a component that serves as an intermediate compatibility so that the codes of the middleware module 110 are compatible with each other, and may be referred to as a DID management module.

하이퍼레저 인디 블록체인 플랫폼(310)은 허가형 블록체인이기 때문에 허가를 받은 클라이언만이 하이퍼레져 인디 블록체인 플랫폼(310)의 네트워크를 이용할 수 있다. 따라서, 본 발명의 경우 허가형 블록체인 플랫폼을 이용함에 있어서 허가를 하는 방법으로 앞서 설명한 DID를 이용한다는 점에서 특징이 존재한다.Since the Hyperledger Indie blockchain platform 310 is a permissioned blockchain, only clients who have received permission can use the network of the Hyperledger Indy blockchain platform 310 . Therefore, in the case of the present invention, there is a feature in that the above-described DID is used as a method of granting permission in using a permission-type blockchain platform.

즉, 도 6을 참고하면, 클라이언트로부터 하이퍼레져 인디 블록체인 플랫폼(310) 네트워크에 진입 요청이 있는 경우 사용자 정보를 기반으로 한 DID 정보를 생성하고, 이에 대한 신원 정보를 발행하고 이를 검증하고 확인하는 방법으로(S310~S340) 탈중앙화된 신원 관리를 수행할 수 있다. That is, referring to FIG. 6 , when there is a request to enter the Hyperledger Indy blockchain platform 310 network from a client, DID information is generated based on user information, and identity information is issued and verified and confirmed. In this way (S310 to S340), decentralized identity management can be performed.

도 7은 본 발명의 일 실시예에 따라 미들 블록이 제공할 수 있는 서비스를 간략적으로 도시한 도면이다. 7 is a diagram schematically illustrating a service that a middle block can provide according to an embodiment of the present invention.

도 7을 참조하면, 종래 기술에 따른 래거시(legacy) 시스템, 모바일 서비스, 웹 서비스 등 종래 기술에 따른 시스템, 프로그램, 어플리케이션의 경우 그 특성상 데이터들이 중앙화 되어 있다 보니, 블록체인 플랫폼과 연동을 하기 위해서는 많은 시간과 노력이 필요하였다. 즉, 종래 기술에 따른 시스템, 프로그램, 어플레이케이션은 API 형태로 작업이 이루어지는데, 블록체인 경우 그렇지 않다 보니 이 둘을 연계하기 위해서는 많은 개발자들이 시간과 비용을 투입해야만 연계가 가능한 문제점이 존재하였다. Referring to FIG. 7 , in the case of systems, programs, and applications according to the prior art, such as legacy systems, mobile services, and web services according to the prior art, data are centralized due to the nature of the data. This required a lot of time and effort. In other words, systems, programs, and applications according to the prior art work in the form of an API, but in the case of a block chain, this is not the case. .

그러나, 일 실시예에 따른 미들 블록(100)은 블록체인 플랫폼(300)과 종래 시스템(50) 사이를 연결해주는 역할을 함으로써, 종래 시스템(50)과 블록체인 플랫폼(300) 사이의 연계를 용이하게 도와줄 수 있다. 구체적으로, 도 7에 도시된 바와 같이 미들 블록(100)과 연계되어 있는 서비스 제공부(101, 102, 103) 종래 시스템(50)의 구성하는 각각의 래거시 시스템, 모바일 서비스, 웹 서비스에 블록체인 시스템과 유용하게 연계할 수 있는 API 제공하기 때문에, 종래 시스템(50)이 보다 용이하게 블록체인 플랫폼(300)과 연계될 수 있느 장점이 존재한다. However, the middle block 100 according to an embodiment serves to connect the blockchain platform 300 and the conventional system 50, thereby facilitating the connection between the conventional system 50 and the blockchain platform 300. can help you do Specifically, as shown in FIG. 7 , each of the legacy systems, mobile services, and web services constituting the service providers 101 , 102 , 103 associated with the middle block 100 , the conventional system 50 is a block Since it provides an API that can be usefully linked with the chain system, there is an advantage that the conventional system 50 can be more easily linked with the blockchain platform 300 .

도 7에 도시된 블록체인 플랫폼의 EOS(301), DID(302), IoT(303), Fabric(304), Payment(305)는 연계될 수 있는 블록체인 플랫폼 중에 일 예를 도시한 것 뿐이며, 본 발명에 따른 미들 블록(100)은 앞서 살펴본 바와 같이 Kafka 모듈(113)을 이용하여 구현되기 때문에, 확장성이 좋아 여러 블록체인 플랫폼을 통일된 API에서 제공할 수 있는 장점이 존재한다. EOS 301, DID 302, IoT 303, Fabric 304, and Payment 305 of the blockchain platform shown in FIG. Since the middle block 100 according to the present invention is implemented using the Kafka module 113 as described above, there is an advantage in that it is scalable and can provide multiple blockchain platforms through a unified API.

일 실시예에 따른 복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 방법과 장치 및 이를 이용한 신원 증명 방법은, 어플리케이션 및 프로그램 등의 기존 시스템과 블록체인 플랫폼을 용이하게 연결해줌으로써, 기존 시스템이 빠르고 쉽게 블록체인 기반 어플리케이션을 생성하는 것을 돕는 서비스를 제공할 수 있는 효과가 존재한다. 따라서, 블록체인 서비스를 제공하기 위해 처음부터 블록체인을 위한 서비스를 제작할 필요 없이, 본 발명을 이용하여 생성된 API를 이용하여 블록체인 기반의 서비스를 사용자에게 쉽게 제공할 수 있는 장점이 존재한다. A method and apparatus for providing API services with one middle block by integrating a plurality of block chains according to an embodiment, and an identity verification method using the same, by easily connecting existing systems such as applications and programs with a block chain platform, There is an effect that existing systems can provide services that help create blockchain-based applications quickly and easily. Therefore, there is an advantage that a blockchain-based service can be easily provided to users by using the API created using the present invention, without the need to create a service for the block chain from the beginning to provide the block chain service.

또한, 본 발명의 경우 정부에서 발급하는 신분증을 기반으로 한 비대면 생체인식 지문 검증과, 은행 계좌 이체를 통한 검증을 통해 사용자의 신원을 검증하므로, 블록체인 플랫폼에서 빈번하게 발생하는 오라클(Oracle) 문제를 해결해 시스템의 보안성과 신뢰성을 높일 수 있는 장점이 존재한다. In addition, in the case of the present invention, the user's identity is verified through non-face-to-face biometric fingerprint verification based on government-issued identification and verification through bank account transfer. It has the advantage of improving the security and reliability of the system by solving the problem.

또한, 본 발명에 따를 경우, DID 기술을 용이하게 블록체인 플랫폼에 적용시킬 수 있어, DID 문서에 저장된 사용자들의 자세한 생체정보와 같이 탈중앙화된 신원을 사용자에게 제공할 수 있는 장점이 존재하며, DID와 허가형 블록체인 네트워크를 위한 상호 호환성을 제공할 수 있는 장점이 있다.In addition, according to the present invention, the DID technology can be easily applied to the blockchain platform, and there is an advantage of providing users with a decentralized identity such as detailed biometric information of users stored in the DID document. It has the advantage of being able to provide interoperability for and permissioned blockchain networks.

한편, 본 명세서에 기재된 "~부"로 기재된 구성요소들, 유닛들, 모듈들, 컴포넌트들 등은 함께 또는 개별적이지만 상호 운용 가능한 로직 디바이스들로서 개별적으로 구현될 수 있다. 모듈들, 유닛들 등에 대한 서로 다른 특징들의 묘사는 서로 다른 기능적 실시예들을 강조하기 위해 의도된 것이며, 이들이 개별 하드웨어 또는 소프트웨어 컴포넌트들에 의해 실현되어야만 함을 필수적으로 의미하지 않는다. 오히려, 하나 이상의 모듈들 또는 유닛들과 관련된 기능은 개별 하드웨어 또는 소프트웨어 컴포넌트들에 의해 수행되거나 또는 공통의 또는 개별의 하드웨어 또는 소프트웨어 컴포넌트들 내에 통합될 수 있다.On the other hand, components, units, modules, components, etc. described as "~" described in this specification may be implemented together or individually as interoperable logic devices. Depictions of different features of modules, units, etc. are intended to emphasize different functional embodiments, and do not necessarily imply that they must be realized by separate hardware or software components. Rather, functionality associated with one or more modules or units may be performed by separate hardware or software components or integrated within common or separate hardware or software components.

특정한 순서로 작동들이 도면에 도시되어 있지만, 이러한 작동들이 원하는 결과를 달성하기 위해 도시된 특정한 순서, 또는 순차적인 순서로 수행되거나, 또는 모든 도시된 작동이 수행되어야 할 필요가 있는 것으로 이해되지 말아야 한다. 임의의 환경에서는, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 더욱이, 상술한 실시예에서 다양한 구성요소들의 구분은 모든 실시예에서 이러한 구분을 필요로 하는 것으로 이해되어서는 안되며, 기술된 구성요소들이 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키징될 수 있다는 것이 이해되어야 한다.Although acts are shown in the drawings in a particular order, it should not be understood that such acts need to be performed in the particular order shown, or in sequential order, or that all shown acts need to be performed to achieve a desired result. . In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the division of various components in the above-described embodiments should not be construed as requiring such division in all embodiments, and the described components will generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there can be

컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로도 알려져 있음)은 컴파일되거나 해석된 언어나 선험적 또는 절차적 언어를 포함하는 프로그래밍 언어의 어떠한 형태로도 작성될 수 있으며, 독립형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨터 환경에서 사용하기에 적합한 다른 유닛을 포함하여 어떠한 형태로도 전개될 수 있다. A computer program (also known as a program, software, software application, script or code) may be written in any form of any programming language, including compiled or interpreted language or a priori or procedural language, as a stand-alone program or module; It can be deployed in any form, including components, subroutines, or other units suitable for use in a computer environment.

부가적으로, 본 특허문헌에서 기술하는 논리 흐름과 구조적인 블럭도는 개시된 구조적인 수단의 지원을 받는 대응하는 기능과 단계의 지원을 받는 대응하는 행위 및/또는 특정한 방법을 기술하는 것으로, 대응하는 소프트웨어 구조 및 알고리즘과 그 등가물을 구축하는 데에도 사용 가능하다. Additionally, the logic flows and structural block diagrams described in this patent document describe corresponding acts and/or specific methods supported by corresponding functions and steps supported by the disclosed structural means, and corresponding It can also be used to build software structures and algorithms and their equivalents.

본 명세서에서 기술하는 프로세스와 논리 흐름은 입력 데이터 상에서 작동하고 출력을 생성함으로써 기능을 수행하기 위하여 하나 이상이 컴퓨터 프로그램을 실행하는 하나 이상이 프로그래머블 프로세서에 의하여 수행 가능하다.The processes and logic flows described herein may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output.

본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 당업자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. The present description sets forth the best mode of the invention, and provides examples to illustrate the invention, and to enable any person skilled in the art to make or use the invention. This written specification does not limit the present invention to the specific terms presented.

이상에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술 분야에 통상의 지식을 갖는 자라면, 후술될 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정해져야 할 것이다.Although the above has been described with reference to the preferred embodiment of the present invention, those skilled in the art or those having ordinary knowledge in the technical field will not depart from the spirit and technical scope of the present invention described in the claims to be described later. It will be understood that various modifications and variations of the present invention can be made without departing from the scope of the present invention. Accordingly, the technical scope of the present invention should be defined by the claims rather than being limited to the contents described in the detailed description of the specification.

100: 미들 블록
110: 미들 웨어 모듈
120; 신원 검증 모듈
200: 호환 모듈부
300: 블록체인 플랫폼
100: middle block
110: middleware module
120; Identity Verification Module
200: compatible module unit
300: Blockchain Platform

Claims (7)

적어도 하나 이상의 클라이언트와 연동되는 미들 웨어 모듈; 및
적어도 하나 이상의 블록체인 플랫폼과 상기 미들 웨어 모듈을 상호 연결시켜주는 호환 모듈부;를 포함하고,
상기 호환 모듈부는,
상기 미들 웨어 모듈의 코드(code)와 상기 미들 웨어 모듈과 연결되어 있는 블록체인 플랫폼의 코드(code)가 상호 연동될 수 있도록 호환 역할을 수행하는 적어도 하나 이상의 호환 모듈;을 포함하는 것을 특징으로 하는,
복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 장치.
a middleware module interworking with at least one or more clients; and
A compatible module unit that interconnects at least one or more blockchain platforms and the middleware module;
The compatible module unit,
At least one compatibility module performing a compatibility role so that the code of the middleware module and the code of the blockchain platform connected to the middleware module can interoperate with each other; characterized in that it comprises a ,
A device that provides API services with one middle block by integrating multiple blockchains.
제 1항에 있어서,
상기 미들 웨어 모듈은,
상기 호환 모듈부와 데이터를 송신하고 수신하는 카프카(Kafka) 모듈을 포함하는 것을 특징으로 하는,
복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 장치.
The method of claim 1,
The middleware module is
Characterized in that it comprises a Kafka module for transmitting and receiving data with the compatible module unit,
A device that provides API services with one middle block by integrating multiple blockchains.
제 2항에 있어서,
상기 미들 웨어 모듈은,
상기 클라이언트에게 상기 카프카(Kafka) 모듈로부터 받은 데이터를 기초로 API 서비스를 제공하는 FACADE 모듈을 포함하는 것을 특징으로 하는,
복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 장치.
3. The method of claim 2,
The middleware module is
Characterized in that it includes a FACADE module that provides API services to the client based on the data received from the Kafka module,
A device that provides API services with one middle block by integrating multiple blockchains.
제 1항에 있어서,
상기 호환 모듈부는,
상기 미들 블록과 연동되는 블록체인 플랫폼의 개수에 대응하여, 상기 블록체인 플랫폼과 일대일로 대응되는 호환 모듈을 적어도 하나 이상 포함하는 것을 특징으로 하는,
복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 장치.
The method of claim 1,
The compatible module unit,
Corresponding to the number of blockchain platforms interlocked with the middle block, it characterized in that it includes at least one or more compatible modules corresponding to the blockchain platform one-to-one,
A device that provides API services with one middle block by integrating multiple blockchains.
제 2항에 있어서,
상기 호환 모듈은,
연결하고자 하는 블록체인 플랫폼의 오픈 소스에 기초하여 상기 카프카(Kafka) 모듈의 엔드 포인트(end point)와 상기 연결하고자 하는 블록체 플랫폼의 엔드 포인트를 연결하는 것을 특징으로 하는,
복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 장치.
3. The method of claim 2,
The compatible module is
Based on the open source of the block chain platform to be connected, characterized in that the end point of the Kafka module and the end point of the block chain platform to be connected are connected,
A device that provides API services with one middle block by integrating multiple blockchains.
제 1항에 있어서,
상기 블록체인 플랫폼은, 허가형 블록체인(Permissionless blockchain)을 포함하며, 상기 허가형 블록체인은 DID(Decentralized Identifierd) 방법으로 인증되는 것을 특징으로 하는,
복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 장치.
The method of claim 1,
The blockchain platform includes a permissionless blockchain, characterized in that the permissionless blockchain is authenticated by a DID (Decentralized Identifierd) method,
A device that provides API services with one middle block by integrating multiple blockchains.
제 4항에 있어서,
상기 허가형 블록체인은, 하이퍼레져(Hyperledger) INDY 네트워크 및 하이퍼레져 Fabric 네트워크 중 적어도 하나를 포함하며,
상기 호환 모듈부는,
상기 하이퍼레져 INDY 네트워크와 연동되는 제1호환 모듈 및 상기 하이퍼레져 Fabric 네트워크와 연동되는 제2호환 모듈을 포함하는 것을 특징으로 하는, 복수 개의 블록체인을 통합하여 하나의 미들 블록으로 API 서비스를 제공하는 장치.
5. The method of claim 4,
The permission-type blockchain includes at least one of a Hyperledger INDY network and a Hyperledger Fabric network,
The compatible module unit,
A method for providing API services with one middle block by integrating a plurality of block chains, comprising a first compatible module interworking with the Hyperledger INDY network and a second compatible module interworking with the Hyperledger Fabric network Device.
KR1020210060307A 2021-05-10 2021-05-10 Method and device for providing API service with one middle block by integrating multiple block chains, and identification method using the same KR102304046B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020210060307A KR102304046B1 (en) 2021-05-10 2021-05-10 Method and device for providing API service with one middle block by integrating multiple block chains, and identification method using the same
KR1020210122098A KR102329075B1 (en) 2021-05-10 2021-09-13 A user authentication system that integrates multiple blockchains and performs user authentication with one middle block
KR1020210122097A KR102347337B1 (en) 2021-05-10 2021-09-13 A middle block system that integrates and connects multiple blockchain networks
PCT/KR2022/006122 WO2022240026A1 (en) 2021-05-10 2022-04-28 Method and apparatus for providing api service with one middle block by integrating plurality of blockchains, and identity verification method using same
PCT/KR2022/006125 WO2022240027A1 (en) 2021-05-10 2022-04-28 User authentication system for integrating plurality of blockchains and performing user authentication with one middle block
PCT/KR2022/007092 WO2022240268A1 (en) 2021-05-10 2022-05-18 Middle block system for integrally connecting plurality of blockchain networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210060307A KR102304046B1 (en) 2021-05-10 2021-05-10 Method and device for providing API service with one middle block by integrating multiple block chains, and identification method using the same

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020210122097A Division KR102347337B1 (en) 2021-05-10 2021-09-13 A middle block system that integrates and connects multiple blockchain networks
KR1020210122098A Division KR102329075B1 (en) 2021-05-10 2021-09-13 A user authentication system that integrates multiple blockchains and performs user authentication with one middle block

Publications (1)

Publication Number Publication Date
KR102304046B1 true KR102304046B1 (en) 2021-09-23

Family

ID=77926540

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020210060307A KR102304046B1 (en) 2021-05-10 2021-05-10 Method and device for providing API service with one middle block by integrating multiple block chains, and identification method using the same
KR1020210122097A KR102347337B1 (en) 2021-05-10 2021-09-13 A middle block system that integrates and connects multiple blockchain networks
KR1020210122098A KR102329075B1 (en) 2021-05-10 2021-09-13 A user authentication system that integrates multiple blockchains and performs user authentication with one middle block

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020210122097A KR102347337B1 (en) 2021-05-10 2021-09-13 A middle block system that integrates and connects multiple blockchain networks
KR1020210122098A KR102329075B1 (en) 2021-05-10 2021-09-13 A user authentication system that integrates multiple blockchains and performs user authentication with one middle block

Country Status (2)

Country Link
KR (3) KR102304046B1 (en)
WO (3) WO2022240027A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102442694B1 (en) * 2022-03-22 2022-09-08 정원우 Manpower matching system
WO2022240026A1 (en) * 2021-05-10 2022-11-17 주식회사 시티랩스 Method and apparatus for providing api service with one middle block by integrating plurality of blockchains, and identity verification method using same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107147704A (en) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 A kind of generic service middleware system towards block chain
US20180211202A1 (en) * 2017-01-26 2018-07-26 Eugenio S. YNION, JR. Method, system, apparatus, and program for real-time and online freight management
KR20190065345A (en) 2017-10-20 2019-06-11 알리바바 그룹 홀딩 리미티드 CERTIFICATION AND IDENTIFICATION METHOD AND DEVICE
KR20200061163A (en) * 2018-11-23 2020-06-02 최운철 Blockchain Middle Ware System using Virtual Money
KR102141771B1 (en) * 2017-06-27 2020-08-06 알리바바 그룹 홀딩 리미티드 Multi-blockchain network data processing method, device and server
KR102214647B1 (en) * 2019-11-26 2021-02-15 부산대학교 산학협력단 System and method for providing interface for interworking between heterogeneous iot platform devices

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102150210B1 (en) * 2019-09-16 2020-09-01 (주) 모로보기 Blockchain network
KR102304046B1 (en) * 2021-05-10 2021-09-23 주식회사 시티랩스 Method and device for providing API service with one middle block by integrating multiple block chains, and identification method using the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180211202A1 (en) * 2017-01-26 2018-07-26 Eugenio S. YNION, JR. Method, system, apparatus, and program for real-time and online freight management
CN107147704A (en) * 2017-04-21 2017-09-08 杭州趣链科技有限公司 A kind of generic service middleware system towards block chain
KR102141771B1 (en) * 2017-06-27 2020-08-06 알리바바 그룹 홀딩 리미티드 Multi-blockchain network data processing method, device and server
KR20190065345A (en) 2017-10-20 2019-06-11 알리바바 그룹 홀딩 리미티드 CERTIFICATION AND IDENTIFICATION METHOD AND DEVICE
KR20200061163A (en) * 2018-11-23 2020-06-02 최운철 Blockchain Middle Ware System using Virtual Money
KR102214647B1 (en) * 2019-11-26 2021-02-15 부산대학교 산학협력단 System and method for providing interface for interworking between heterogeneous iot platform devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022240026A1 (en) * 2021-05-10 2022-11-17 주식회사 시티랩스 Method and apparatus for providing api service with one middle block by integrating plurality of blockchains, and identity verification method using same
KR102442694B1 (en) * 2022-03-22 2022-09-08 정원우 Manpower matching system
WO2023182724A1 (en) * 2022-03-22 2023-09-28 정원우 Manpower matching system

Also Published As

Publication number Publication date
WO2022240268A1 (en) 2022-11-17
WO2022240027A1 (en) 2022-11-17
KR102347337B1 (en) 2022-01-06
KR102329075B1 (en) 2021-11-19
WO2022240026A1 (en) 2022-11-17

Similar Documents

Publication Publication Date Title
US11636095B2 (en) System and method for providing a representational state transfer proxy service for a blockchain cloud service
US11507929B2 (en) Digital fiat currency
EP3841489B1 (en) Dag based methods and systems of transaction processing in a distributed ledger
WO2021000337A1 (en) System and method for mapping decentralized identifiers to real-world entities
US20200409940A1 (en) Implementing a blockchain-based workflow
US20190251556A1 (en) Distributed ledger on-boarding system for standby guarantee resources
KR102329075B1 (en) A user authentication system that integrates multiple blockchains and performs user authentication with one middle block
US10628807B2 (en) Techniques for transaction management
US20220303258A1 (en) Computer-implemented system and method
Ghaemi et al. A pub-sub architecture to promote blockchain interoperability
US11651458B2 (en) Method for generating target contract and terminal device
CN111327426B (en) Data sharing method and related device, equipment and system
US20200202349A1 (en) Multiple asset transactions
US20200202344A1 (en) Private asset transactions
KR102419853B1 (en) Permission type blockchain platform authentication method and system using DID certificate based on blockchain
Kirillov et al. Performance of the secret electronic voting scheme using hyperledger fabric permissioned blockchain
Shah Use of blockchain as a software component to send messages anonymously for a data trading platform
CN115914244B (en) Method for optimizing interoperability of distributed account book
TW202205834A (en) Computer-implemented system and method
Tasdelen Fundamentals of Blockchain
Rizal et al. Optimizing Blockchain Network Creation: Automation with Ansible on Private Blockchain Hyperledger Fabric Using Simplified RAFT Consensus Method
Soni Social network application with end-to-end security and privacy
Serrano et al. Implementing the Internet of Everything Federation: Towards Cloud-Data Management for Secure AI-Powered Applications in Future Networks
Kaushik Integrating Blockchain with Edge Computing for a Secure and Reliable Data Flow

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant