KR102307973B1 - 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법 - Google Patents
분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법 Download PDFInfo
- Publication number
- KR102307973B1 KR102307973B1 KR1020200056181A KR20200056181A KR102307973B1 KR 102307973 B1 KR102307973 B1 KR 102307973B1 KR 1020200056181 A KR1020200056181 A KR 1020200056181A KR 20200056181 A KR20200056181 A KR 20200056181A KR 102307973 B1 KR102307973 B1 KR 102307973B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- node
- nodes
- consensus
- sharing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘 과정을 준수하는 블록체인 기반의 데이터 공유방법은 최초 데이터를 공유하고자 하는 노드 1(Node 0)이 서버를 제외한 다른 노드들에게 같은 토픽(Topic)으로 데이터를 공유하는 사전준비(Pre-prepare) 단계와, 나머지 다른 노드들이 받은 데이터를 그대로 최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들과 공유하는 준비(Prepare) 단계와, 최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들은 최초 받은 데이터와 다른 노드들로부터 받은 데이터를 비교하며 합의과정을 진행하는 단계와, 합의 과정 후 두 데이터가 같다면 커밋(commit) 과정에서 합의에 이르렀다는 데이터를 다시 최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들과 공유하는 단계와, 트랜잭션에 추가될 데이터는 응답(Reply) 과정을 통해 상기 서버와의 데이터 공유를 진행하고 서버는 합의에 도달한 데이터를 판별하여 트랜잭션에 추가하는 단계와, 서버는 트랜잭션을 이용하여 새로운 블록을 생성하고 저장(Data-Store) 과정을 통해 분산 시스템에 속해있는 모든 노드들에게 분산저장하기 위해 블록을 공유함으로써 분산 시스템에 속해 있는 모든 노드 및 서버가 같은 블록체인을 가지고 분산 저장하는 단계를 포함한다.
Description
본 발명은 분산 시스템의 데이터 공유기법에 관한 것으로 관한 것으로서, 더 상세하게는 블록체인 기반의 데이터 공유방법에 관한 것이다.
분산 시스템에서는 다양한 이기종의 센서 및 장비들이 존재하며 이기종 장비들의 데이터 교환을 위해서 미들웨어를 사용한다. 미들웨어 중 하나인 DDS(Data Distribution Service)는 기존의 메시지 중심구조가 아닌 데이터 중심 구조로 이기종 장비들의 데이터 교환에 사용되고 실시간성을 만족하는 발행/구독(Pub/Sub)기반의 미들웨어 이다. 이러한 DDS 미들웨어를 사용하는 함정 전투 시스템에서는 수많은 이기종 장비 및 센서들의 데이터 공유를 위해 연구가 계속되고 있다.
기존의 데이터 공유 기법은 개발자들에 의해 특정 노드의 테이블이 수정되어 송/수신되는 데이터들의 테이블이 다르다면 데이터의 송/수신이 정상적으로 이루어지지 않는다. 이를 위해 같은 토픽(Topic)의 데이터를 필요로 하는 모든 노드들의 테이블을 수정해야하는 단점이 발생한다. 또한 보안성을 향상시키기 위한 방법으로는 Secure DDS가 개발되었다. Secure DDS는 Discovery 과정에서 인증된 노드만이 네트워크에 참석할 수 있다는 특징이 있다. 그러나 인증을 받은 노드들 중 기존에 공유된 데이터에 대한 보안성은 고려되지 않았다.
도 1은 DB 기반의 데이터 공유기법을 나타낸 도면이다.
도 1을 참조하면, DB 기반의 데이터 공유기법은 토픽(Topic)을 기반으로 발행/구독(Pub/Sub) 구조로 같은 토픽(Topic)을 가지고 있는 어플리케이션들만 통신이 가능하고, 발행자(Publisher)와 구독자(Subscriber)는 누가 데이터를 공유했는지, 누가 데이터를 공유 받는지를 모르고 데이터 공유가 이루어질 수 있는 DDS 미들웨어를 사용하여 개발되었다. 이러한 DB 기반의 데이터 공유 기법은 각각의 어플리케이션에서 개발자에 의해 데이터 구조가 변경되더라도 DB 전체를 주고받기 때문에 테이블 구조를 다시 맞춰야 하는 번거로움의 문제가 해결되었다.
DDS 미들웨어는 폐쇄망에서 사용되어야하기 때문에 DB 기반의 데이터 공유기법 또한 폐쇄망에서 구현되어야 한다. 그러나 폐쇄망이라고 하여 보안성이 높이 않아 외부로부터의 공격에 취약할 수 있다. 이러한 외부로부터의 인증이 이루어지지 않은 노드의 네트워크 참여를 방지하기 위해서 Secure DDS 가 개발되었다.
도 2는 Secure DDS의 인증 구조를 나타낸 도면이다.
도 2를 참조하면, Secure DDS는 DDS 구현에서 SPI(Service Plugin Interface)를 호출하여 시행된다. 기본적으로 제공하는 SPI(Service Plugin Interface)의 구현은 DDS의 응용 프로그램 간에 즉시 사용 가능한 보안 및 상호 운용성을 가능하게 한다. Secure DDS는 SPI(Service Plugin Interface)를 사용하여 정보의 신뢰성을 향상시키기 위해 인증, 액세스 제어, 암호화, 메시지 인증 등 다양한 기능을 할 수 있다. 그러나 이러한 Secure DDS는 신뢰성 높은 데이터를 전송한다는 장점이 있지만 보안성을 고려하여 데이터를 저장하는 기법에 대해서는 제안된 바가 없다. 즉, 인증된 노드로부터 기존에 저장된 데이터를 수정하려는 시도가 있을 경우에 대한 해결책이 없다.
본 발명은 상기와 같은 기술적 과제를 해결하기 위해 제안된 것으로, DB기반의 데이터 공유기법에서 블록체인의 합의 알고리즘 및 분산저장 기법을 도입함으로써 기존 데이터에 대한 신뢰성 및 보안성을 향상시킬 수 있는 블록체인 기반의 데이터 공유방법을 제공한다.
상기 문제점을 해결하기 위한 본 발명의 일 실시예에 따르면, 복수의 노드 및 서버가 DDS(Data Distribution Service) 미들웨어의 DB 기반의 데이터 공유 방법을 통해 토픽(Topic)을 기반으로 발행/구독(Pub/Sub) 구조로 데이터를 공유함에 있어서, PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘 과정을 준수하는 분산 시스템의 블록체인 기반의 데이터 공유방법이 제공된다.
또한, 본 발명에서 합의에 이르는 데이터가 과반 수 이상이면 데이터는 합의에 이르게 되고 합의에 이르게 된 데이터는 블록체인의 트랜잭션에 추가될 자격을 부여받는 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에 따르면, PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘 과정을 준수하는 블록체인 기반의 데이터 공유방법에 있어서, 최초 데이터를 공유하고자 하는 노드 1(Node 0)이 서버를 제외한 다른 노드들에게 같은 토픽(Topic)으로 데이터를 공유하는 사전준비(Pre-prepare) 단계와, 나머지 다른 노드들이 받은 데이터를 그대로 최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들과 공유하는 준비(Prepare) 단계와, 최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들은 최초 받은 데이터와 다른 노드들로부터 받은 데이터를 비교하며 합의과정을 진행하는 단계와, 합의 과정 후 두 데이터가 같다면 커밋(commit) 과정에서 합의에 이르렀다는 데이터를 다시 최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들과 공유하는 단계와, 트랜잭션에 추가될 데이터는 응답(Reply) 과정을 통해 상기 서버와의 데이터 공유를 진행하고 서버는 합의에 도달한 데이터를 판별하여 트랜잭션에 추가하는 단계와, 서버는 트랜잭션을 이용하여 새로운 블록을 생성하고 저장(Data-Store) 과정을 통해 분산 시스템에 속해있는 모든 노드들에게 분산저장하기 위해 블록을 공유함으로써 분산 시스템에 속해 있는 모든 노드 및 서버가 같은 블록체인을 가지고 분산 저장하는 단계를 포함하는 분산 시스템의 블록체인 기반의 데이터 공유방법이 제공된다.
또한, 본 발명에서 합의에 이르는 데이터가 과반 수 이상이면 데이터는 합의에 이르게 되고 합의에 이르게 된 데이터는 블록체인의 트랜잭션에 추가될 자격을 부여받는 것을 특징으로 한다.
또한, 본 발명에서 DDS(Data Distribution Service) 미들웨어의 DB 기반의 데이터 공유 방법을 통해 토픽(Topic)을 기반으로 발행/구독(Pub/Sub) 구조로 데이터를 공유하는 것을 특징으로 한다.
본 발명의 실시예에 따른 블록체인 기반의 데이터 공유방법은 DB기반의 데이터 공유기법에서 블록체인의 합의 알고리즘 및 분산저장 기법을 도입함으로써 기존 데이터에 대한 신뢰성 및 보안성을 향상시킬 수 있다.
즉, 제안하는 기법을 이용하여 테이블 구조가 변경될 시 같은 토픽(Topic)을 가지는 DB 데이터의 테이블 구조를 통일시켜 줌으로써 테이블 구조 변경 시 빠른 대처가 가능하다.
데이터 공유 측면을 고려했을 때 내부에서 처리되는 메시지일 경우에는 내부통신으로 송/수신할 수 있다. 외부통신만 DDS를 이용하여 데이터 송/수신함으로써 네트워크의 전체적인 트래픽이 감소하는 이점이 있다. 또한 Active DB에 문제가 발생했을 경우 지속적인 DB 공유로 인해 Standby DB를 Active로 바꿈으로써 문제가 발생할 경우 신속한 대처가 가능하다.
블록체인 기법을 이용한다면 합의 알고리즘을 처리하는 과정이 생기기 때문에 데이터 공유가 이루어지는 소유시간이 증가할 수 있다. 그러나 퍼블릭 블록체인은 누구나 쉽게 네트워크에 속할 수 있기 때문에 서버로부터 인증받은 노드만이 네트워크에 속할 수 있는 프라이빗 블록체인을 사용한다. 또한 다양한 합의 알고리즘 중 비잔틴 노드가 발생하더라도 합의에 이를 수 PBFT 합의 알고리즘을 이용한다. PBFT 합의 알고리즘을 이용하여 신뢰성 높은 데이터만이 블록체인에 저장되고 기존의 데이터는 블록체인 특성상 바뀔 수 없기 때문에 보안성 또한 향상된다. 또한 SHA256 암호화 기법을 이용하므로 암호화된 데이터를 해독할 수 없다.
도 1은 DB 기반의 데이터 공유기법을 나타낸 도면
도 2는 Secure DDS의 인증 구조를 나타낸 도면
도 3은 블록체인 구조를 나타낸 도면
도 3a는 블록체인 기반의 데이터 공유 기법의 트랜잭션 생성 과정을 나타낸 도면
도 4는 본 발명의 실시예에 따른 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법의 구성도
도 5는 본 발명의 실시예에 따른 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법의 순서도
도 6은 본 발명의 실시예에 따른 블록체인 기반의 데이터 공유방법을 이용하여 최종적으로 블록에 저장된 데이터를 나타낸 도면
도 7은 노드 수 증가에 따른 데이터 공유 소요시간을 나타낸 도면
도 2는 Secure DDS의 인증 구조를 나타낸 도면
도 3은 블록체인 구조를 나타낸 도면
도 3a는 블록체인 기반의 데이터 공유 기법의 트랜잭션 생성 과정을 나타낸 도면
도 4는 본 발명의 실시예에 따른 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법의 구성도
도 5는 본 발명의 실시예에 따른 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법의 순서도
도 6은 본 발명의 실시예에 따른 블록체인 기반의 데이터 공유방법을 이용하여 최종적으로 블록에 저장된 데이터를 나타낸 도면
도 7은 노드 수 증가에 따른 데이터 공유 소요시간을 나타낸 도면
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.
도 3은 블록체인 구조를 나타낸 도면이고, 도 3a는 블록체인 기반의 데이터 공유 기법의 트랜잭션 생성 과정을 나타낸 도면이다.
도 3 및 도 3a를 참조하면, 제안된 DB 기반의 데이터 공유 기법에서 공유되는 데이터를 블록체인 구조로 저장함으로써 공유되는 데이터의 보안성을 향상시킬 수 있고 합의 알고리즘을 이용하여 공유되는 데이터의 신뢰성을 향상시킬 수 있다.
제안하는 기법은 기존의 데이터 공유 기법에서 DDS 미들웨어를 이용하여 데이터의 공유가 이루어지고 공유될 데이터를 합의 알고리즘과정을 진행함으로써 신뢰성을 향상시키고 합의가 이루어진 데이터는 블록체인에 저장함으로써 보안성이 향상된 데이터가 분산 저장된다.
블록체인 기반의 데이터 공유 기법에서 트랜잭션이 생성되는 과정은 도 3a와 같이 동작한다. 제안하는 기법에서 사용되는 합의 알고리즘은 PBFT 알고리즘의 동작방식을 준수한다.
①단계 : 기존의 데이터 공유 기법의 환경에서 데이터를 변경하고 변경한 데이터는 다른 노드들에게 PBFT 알고리즘을 진행해야 한다는 토픽(Topic)으로 발행(Publish)한다.
②단계 : 다른 노드들은 합의 알고리즘을 진행하기 위해 발행(Publish)된 데이터를 구독(Subscribe)할 수 있다. 서버 또한 마지막 트랜잭션에 데이터가 추가하는 과정에서 최초의 데이터와 합의 알고리즘의 결과를 합친 데이터를 트랜잭션에 추가해야하기 때문에 데이터를 구독(Subscribe)한다.
③단계 : 각각의 노드는 PBFT 알고리즘을 진행하기 위해서 최초 구독(Subscribe)한 데이터 그대로 발행(Publish)한다. 그 후 다른 노드들이 발행(Publish)한 데이터를 구독(Subscribe)한다.
④단계 : 다른 노드들이 최초 구독(Subscribe)한 데이터들과 자신이 최초 구독(Subscribe)한 데이터를 비교하여 PBFT 알고리즘을 진행하고 결과를 도출한다.
⑤단계 : 각자의 노드에서 받은 데이터들을 비교하여 PBFT 알고리즘의 결과를 산출한 뒤 Publish 한다.
⑥단계 : 서버는 각자의 노드로부터 발행(Publish)된 PBFT 알고리즘의 결과를 기반으로 과반수가 넘는지 확인하고 과반수가 넘으면 합의가 이루어진 것으로 판단하여 트랜잭션에 추가한다.
⑦단계 : 트랜잭션에 추가하고 추가된 최종 블록체인 데이터를 발행(Publish)한다.
⑧단계 : 각각의 노드들은 최종 데이터를 구독(Subscribe)함으로써 분산 데이터저장 시스템이 이루어진다.
도 4는 본 발명의 실시예에 따른 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법의 구성도이다.
도 4를 참조하면, 노드 1(Node 0)은 새로운 블록을 추가하기 위해 검증을 필요로 하는 노드이다. 다음과 같은 노드가 PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘을 거친 후 최종 데이터는 서버가 받고 합의에 이른 노드의 수가 과반수를 초과하는지 확인 후 블록체인에 새로운 블록을 추가하게 된다.
새로운 블록이 추가된 블록체인은 다른 노드들에게 다시 블록체인 정보를 보내주어 네트워크에 속한 모든 노드가 똑같은 블록체인 형태를 가지는 분산 저장이 이루어진다.
도 5는 본 발명의 실시예에 따른 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법의 순서도이다.
도 5를 참조하면, PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘 과정을 준수한 블록체인 기반의 데이터 공유방법의 순서도가 도시되어 있다.
먼저, 사전준비(Pre-prepare) 과정은 최초 데이터를 공유하고자 하는 노드 1(Node 0)이 서버를 제외한 다른 노드들에게 같은 토픽(Topic)으로 데이터를 공유한다.
그 후 준비(Prepare) 과정은 나머지 다른 노드들이 같이 받은 데이터를 그대로 최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들과 공유한다.
최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들은 최초 받은 데이터와 다른 노드들로부터 받은 데이터를 비교하며 합의과정을 진행한다.
합의 과정 후 두 데이터가 같다면 커밋(commit) 과정에서 합의에 이르렀다는 데이터를 다시 최초 데이터를 공유한 노드를 제외한 나머지 노드들과 공유한다. 이때, 합의에 이르는 데이터가 과반 수 이상이면 데이터는 합의에 이르게 된다. 합의에 이르게 된 데이터는 블록체인의 트랜젝션에 추가될 자격을 부여받게 되는 것이다.
트랜잭션에 추가될 데이터는 응답(Reply) 과정을 통해 중앙 서버와의 데이터 공유를 진행하고 중앙 서버는 합의에 도달한 데이터를 트랜잭션에 추가하게 된다.
마지막으로 서버는 트랜잭션을 이용하여 새로운 블록을 생성하고 저장(Data-Store) 과정을 통해 분산 시스템에 속해있는 모든 노드들에게 분산저장하기 위해 블록을 공유함으로써 분산 시스템에 속해 있는 모든 노드 및 서버가 같은 블록체인을 가지고 분산 저장된다.
PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘은 모든 노드들과의 데이터 공유가 필요함으로써 노드가 늘어남에 따라 데이터 공유에 많은 시간이 소요되었다. 하지만, 제안된 방법은 합의 알고리즘을 진행할 때 DDS 미들웨어를 사용함으로써 데이터가 공유되는 속도가 매우 빨라짐을 확인할 수 있다.
도 6은 본 발명의 실시예에 따른 블록체인 기반의 데이터 공유방법을 이용하여 최종적으로 블록에 저장된 데이터를 나타낸 도면이고, 도 7은 노드 수 증가에 따른 데이터 공유 소요시간을 나타낸 도면이다.
도 6 및 도 7을 참조하면, 우선 블록체인에 저장되어야만 하는 데이터인 Hash, PreviousHash, Merkleroot, Transaction, Timestamp 와 같은 값들이 저장됨을 확인할 수 있다.
다음으로, PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘과, DB 기반의 데이터 공유 기법과, 제안하는 기법의 노드 수 증가에 따른 데이터 공유 소요시간이 나타나 있다.
PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘은 노드 수가 증가할수록 데이터 공유에 소요되는 시간이 매우 상승함으로 실시간성을 필요로 하는 분산 시스템에는 적합하지 못함을 확인할 수 있다.
DB 기반의 데이터 공유 기법은 공유하고자 하는 데이터는 합의 알고리즘 없이 한 번의 데이터 공유가 이루어져 3ms 라는 매우 빠른 데이터 공유시간을 확인할 수 있다.
제안하는 기법에서는 기존의 DB 기반의 데이터 공유기법의 공유시간에서 PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘을 준수하는 과정이 추가됨으로 시간이 더 소요되었지만, 노드 수가 증가하더라도 평균 30ms 로 실시간을 만족하는 소요시간이 발생하였다. 이로 인해 제안된 기법은 실시간성, 신뢰성, 보안성을 필요로 하는 분산 시스템에 적합한 기법으로 증명되었다.
본 발명의 실시예에 따른 블록체인 기반의 데이터 공유방법은 DB기반의 데이터 공유기법에서 블록체인의 합의 알고리즘 및 분산저장 기법을 도입함으로써 기존 데이터에 대한 신뢰성 및 보안성을 향상시킬 수 있다.
즉, 제안하는 기법을 이용하여 테이블 구조가 변경될 시 같은 토픽(Topic)을 가지는 DB 데이터의 테이블 구조를 통일시켜 줌으로써 테이블 구조 변경 시 빠른 대처가 가능하다.
데이터 공유 측면을 고려했을 때 내부에서 처리되는 메시지일 경우에는 내부통신으로 송/수신할 수 있다. 외부통신만 DDS를 이용하여 데이터 송/수신함으로써 네트워크의 전체적인 트래픽이 감소하는 이점이 있다. 또한 Active DB에 문제가 발생했을 경우 지속적인 DB 공유로 인해 Standby DB를 Active로 바꿈으로써 문제가 발생할 경우 신속한 대처가 가능하다.
블록체인 기법을 이용한다면 합의 알고리즘을 처리하는 과정이 생기기 때문에 데이터 공유가 이루어지는 소유시간이 증가할 수 있다. 그러나 퍼블릭 블록체인은 누구나 쉽게 네트워크에 속할 수 있기 때문에 서버로부터 인증받은 노드만이 네트워크에 속할 수 있는 프라이빗 블록체인을 사용한다. 또한 다양한 합의 알고리즘 중 비잔틴 노드가 발생하더라도 합의에 이를 수 PBFT 합의 알고리즘을 이용한다. PBFT 합의 알고리즘을 이용하여 신뢰성 높은 데이터만이 블록체인에 저장되고 기존의 데이터는 블록체인 특성상 바뀔 수 없기 때문에 보안성 또한 향상된다. 또한 SHA256 암호화 기법을 이용하므로 암호화된 데이터를 해독할 수 없다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
Claims (5)
- 삭제
- 삭제
- PBFT(Practical Byzantine Fault Tolerance) 합의 알고리즘 과정을 준수하는 블록체인 기반의 데이터 공유방법에 있어서,
최초 데이터를 공유하고자 하는 노드 1(Node 0)이 서버를 제외한 다른 노드들에게 같은 토픽(Topic)으로 데이터를 공유하는 사전준비(Pre-prepare) 단계;
나머지 다른 노드들이 받은 데이터를 그대로 최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들과 공유하는 준비(Prepare) 단계;
최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들은 최초 받은 데이터와 다른 노드들로부터 받은 데이터를 비교하며 합의과정을 진행하는 단계;
합의 과정 후 두 데이터가 같다면 커밋(commit) 과정에서 합의에 이르렀다는 데이터를 다시 최초 데이터를 공유한 노드 1(Node 0)을 제외한 나머지 노드들과 공유하는 단계;
트랜잭션에 추가될 데이터는 응답(Reply) 과정을 통해 상기 서버와의 데이터 공유를 진행하고 상기 서버는 합의에 도달한 데이터를 판별하여 트랜잭션에 추가하는 단계; 및
상기 서버는 트랜잭션을 이용하여 새로운 블록을 생성하고 저장(Data-Store) 과정을 통해 분산 시스템에 속해있는 모든 노드들에게 분산저장하기 위해 블록을 공유함으로써 분산 시스템에 속해 있는 모든 노드 및 상기 서버가 같은 블록체인을 가지고 분산 저장하는 단계;를 포함하고,
상기 복수의 노드 및 상기 서버가 DDS(Data Distribution Service) 미들웨어의 DB 기반의 데이터 공유 방법을 통해 토픽(Topic)을 기반으로 발행/구독(Pub/Sub) 구조로 데이터를 공유하는 분산 시스템의 블록체인 기반의 데이터 공유방법.
- 제3항에 있어서,
합의에 이르는 데이터가 과반 수 이상이면 데이터는 합의에 이르게 되고 합의에 이르게 된 데이터는 블록체인의 트랜잭션에 추가될 자격을 부여받는 것을 특징으로 하는 분산 시스템의 블록체인 기반의 데이터 공유방법.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200056181A KR102307973B1 (ko) | 2020-05-11 | 2020-05-11 | 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200056181A KR102307973B1 (ko) | 2020-05-11 | 2020-05-11 | 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102307973B1 true KR102307973B1 (ko) | 2021-10-01 |
Family
ID=78115289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200056181A KR102307973B1 (ko) | 2020-05-11 | 2020-05-11 | 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102307973B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658620A (zh) * | 2022-12-01 | 2023-01-31 | 松原市逐贵网络科技有限公司 | 一种基于大数据的数据授权共享方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140051513A (ko) | 2012-10-23 | 2014-05-02 | 한국전자통신연구원 | 데이터 분산 서비스 모니터링 장치 및 그 방법 |
-
2020
- 2020-05-11 KR KR1020200056181A patent/KR102307973B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140051513A (ko) | 2012-10-23 | 2014-05-02 | 한국전자통신연구원 | 데이터 분산 서비스 모니터링 장치 및 그 방법 |
Non-Patent Citations (3)
Title |
---|
"PBFT 공부해보자", https://blog.naver.com/tyami/221268715771(2018.05.05.)* * |
Leander Jehl et al., "Towards Byzantine Fault Tolerant Publish/Subscribe: A State Machine Approach", Proceedings of the 9th Workshop on Hot Topics in Dependable Systems(2013.11)* * |
Sayed Hadi Hashemi et al., "World of Empowered IoT Users", 2016 IEEE First International Conference on Internet-of-Things Design and Implementation(2016)* * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658620A (zh) * | 2022-12-01 | 2023-01-31 | 松原市逐贵网络科技有限公司 | 一种基于大数据的数据授权共享方法及系统 |
CN115658620B (zh) * | 2022-12-01 | 2023-08-22 | 好活(贵州)网络科技有限公司 | 一种基于大数据的数据授权共享方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019207312B2 (en) | Distributed key management for trusted execution environments | |
AU2019204725B2 (en) | Retrieving access data for blockchain networks using highly available trusted execution environments | |
AU2019204708B2 (en) | Retrieving public data for blockchain networks using highly available trusted execution environments | |
US11157487B2 (en) | Trusted storage method and system based on directed acyclic graph structure | |
KR20200126321A (ko) | 신뢰 실행 환경에서 스마트 계약 동작을 안전하게 실행하는 방법 | |
CN113360925B (zh) | 电力信息物理系统中可信数据的存储和访问方法及系统 | |
TW202101261A (zh) | 基於儲存空間互換的改進的防重放設備 | |
US20230318816A1 (en) | Cryptographic communication path monitoring system and monitoring method | |
US11411741B2 (en) | Secure data transmission method | |
US20130166677A1 (en) | Role-based access control method and apparatus in distribution system | |
Abdulaziz et al. | A decentralized application for secure messaging in a trustless environment | |
US20180294979A1 (en) | Authentication device, authentication system, authentication method, and program | |
KR102307973B1 (ko) | 분산 시스템의 신뢰성 및 보안성 향상을 위한 블록체인 기반의 데이터 공유방법 | |
CN117478302B (zh) | 基于区块链隐私节点身份验证方法及装置 | |
Muth et al. | Smartdhx: Diffie-hellman key exchange with smart contracts | |
He et al. | SDFS: a scalable data feed service for smart contracts | |
WO2024007855A1 (zh) | 一种基于区块链的数据处理方法、设备以及可读存储介质 | |
Liu et al. | A Blockchain‐Based Privacy‐Preserving Publish‐Subscribe Model in IoT Multidomain Data Sharing | |
Yang et al. | Security management in hierarchical ad hoc network | |
Sheeba et al. | Lightweight blockchain to improve security and privacy in smarthome | |
Peng et al. | Research on Cross-chain Communication Based on Decentralized Identifier | |
KR102558457B1 (ko) | 양자 난수 기반의 가상 사설망을 구축하기 위한 장치 및 방법 | |
Zhang et al. | A permission‐combination scalable access control model for Internet of things | |
US20210377015A1 (en) | Noninteractive multi agent key management | |
Hsu et al. | Research on security enhancement methods of Internet of Things communication-based on whitelist and encryption key exchange |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |