KR20230157063A - Method and System for Storing BlockChain Data in Public Storage - Google Patents

Method and System for Storing BlockChain Data in Public Storage Download PDF

Info

Publication number
KR20230157063A
KR20230157063A KR1020220056587A KR20220056587A KR20230157063A KR 20230157063 A KR20230157063 A KR 20230157063A KR 1020220056587 A KR1020220056587 A KR 1020220056587A KR 20220056587 A KR20220056587 A KR 20220056587A KR 20230157063 A KR20230157063 A KR 20230157063A
Authority
KR
South Korea
Prior art keywords
data
hash
block
blockchain
new
Prior art date
Application number
KR1020220056587A
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 KR1020220056587A priority Critical patent/KR20230157063A/en
Publication of KR20230157063A publication Critical patent/KR20230157063A/en

Links

Classifications

    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

공공 저장소에 블록체인 데이터를 저장하는 방법 및 시스템이 제시된다. 본 발명에서 제안하는 공공 저장소에 블록체인 데이터를 저장하기 위한 시스템은 수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성하고, 상기 작성된 데이터에 기초하여 해시를 생성하여, 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 기록하는 블록 저장부 및 상기 새 블록을 검증하고, 상기 실제 데이터의 단일 복사본을 유지하면서 해시만을 공유하는 블록체인 네트워크를 포함한다. A method and system for storing blockchain data in public storage is presented. The system for storing blockchain data in public storage proposed by the present invention writes received data directly to read-only shared storage, generates a hash based on the written data, and links the hash to a reference to the actual data. It includes a block storage unit that together writes a new block and a blockchain network that verifies the new block and shares only the hash while maintaining a single copy of the actual data.

Description

공공 저장소에 블록체인 데이터를 저장하는 방법 및 시스템{Method and System for Storing BlockChain Data in Public Storage}Method and System for Storing BlockChain Data in Public Storage}

본 발명은 공공 저장소에 블록체인 데이터를 저장하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for storing blockchain data in public storage.

블록체인 기술은 수년간 분산형 데이터 컴퓨팅과 전송에 또 다른 혁명을 가져왔다. 이것은 알 수 없는 이기종 서버 수 중 가장 신뢰할 수 있고 신뢰할 수 있는 데이터 통신 프로토콜을 제공한다. 이러한 특징들 때문에 블록체인 기술은 다양한 응용 분야에서의 적응을 위해 많은 분야에서 연구되고 있다. 사물인터넷(IoT) 데이터 컴퓨팅도 블록체인 기술과 융합되고 있는 분야 중 하나이다. 이 두 분야의 통합을 위해 다양한 연구가 수행되었다. Blockchain technology has brought another revolution in decentralized data computing and transmission over the years. It provides the most reliable and reliable data communication protocol among an unknown number of heterogeneous servers. Because of these characteristics, blockchain technology is being studied in many fields for adaptation to various application fields. Internet of Things (IoT) data computing is also one of the fields that is converging with blockchain technology. Various studies have been conducted to integrate these two fields.

그러나 빅데이터 처리와 관련된 통합 문제에는 공통적인 문제가 있다. 블록체인은 네트워크 전체에 걸쳐 전체 데이터를 복제해야 한다. IoT 데이터는 기하급수적으로 증가하므로 복제 프로세스는 데이터 전송에 상당한 지연을 초래하고, 시스템은 성능과 활용률 모두에서 저하된다. 위에서 언급한 문제에 대한 가능한 솔루션은 IoT 데이터를 단일 스토리지에 저장하고 블록체인에 생성된 해시만 공유하는 것이다. 이러한 시나리오에서 네트워크는 공간 활용률이 개선되고 높은 성능을 유지한다. However, there are common problems with integration issues related to big data processing. Blockchain requires replication of entire data across the network. As IoT data grows exponentially, the replication process causes significant delays in data transfer, and the system degrades in both performance and utilization. A possible solution to the above-mentioned problem is to store IoT data in a single storage and share only the hashes generated on the blockchain. In these scenarios, the network has improved space utilization and maintains high performance.

그러나 데이터 보안과 관련된 언급된 솔루션에는 또 다른 문제가 발생한다. 블록체인 네트워크에서 데이터가 공유되지 않을 경우 보안 프로토콜은 별도 저장에 적용되지 않는다. 악성 사용자는 공유 스토리지에 액세스하여 데이터베이스의 데이터를 변경하거나 삭제하려고 할 수 있다. 이러한 시나리오에서는 IoT 데이터에 대한 블록체인 적응이 저하된다. However, another problem arises with the mentioned solutions related to data security. If data is not shared on a blockchain network, security protocols do not apply to separate storage. Malicious users can access shared storage and try to change or delete data in the database. In these scenarios, blockchain adaptation to IoT data is compromised.

[1] S. Nakomoto, "Bitcoin: E peer-to-peer Electronic Cash System", Oct. 2008.[1] S. Nakomoto, “Bitcoin: E peer-to-peer Electronic Cash System”, Oct. 2008. [2] K. Lei, M. Du, J. Huang and T. Jin, "Groupchain: Towards a Scalable Public Blockchain in Fog Computing of IoT Services Computing," in IEEE Transactions on Services Computing, vol. 13, no. 2, pp. 252-262, 1 March-April 2020, doi: 10.1109/TSC.2019.2949801.[2] K. Lei, M. Du, J. Huang and T. Jin, “Groupchain: Towards a Scalable Public Blockchain in Fog Computing of IoT Services Computing,” in IEEE Transactions on Services Computing, vol. 13, no. 2, pp. 252-262, 1 March-April 2020, doi: 10.1109/TSC.2019.2949801. [3] M. Zhaofeng, W. Xiaochang, D. K. Jain, H. Khan, G. Hongmin and W. Zhen, "A Blockchain-Based Trusted Data Management Scheme in Edge Computing," in IEEE Transactions on Industrial Informatics, vol. 16, no. 3, pp. 2013-2021, March 2020, doi: 10.1109/TII.2019.2933482.[3] M. Zhaofeng, W. Xiaochang, D. K. Jain, H. Khan, G. Hongmin and W. Zhen, “A Blockchain-Based Trusted Data Management Scheme in Edge Computing,” in IEEE Transactions on Industrial Informatics, vol. 16, no. 3, pp. 2013-2021, March 2020, doi: 10.1109/TII.2019.2933482. [4] H. T. T. Truong, M. Almeida, G. Karame and C. Soriente, "Towards Secure and Decentralized Sharing of IoT Data," 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA, 2019, pp. 176-183, doi: 10.1109/Blockchain.2019.00031.[4] H. T. T. Truong, M. Almeida, G. Karame and C. Soriente, "Towards Secure and Decentralized Sharing of IoT Data," 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA, 2019, pp. 176-183, doi: 10.1109/Blockchain.2019.00031. [5] M. Hou, T. Kang and L. Guo, "A Blockchain Based Architecture for IoT Data Sharing Systems," 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Austin, TX, USA, 2020, pp. 1-6, doi: 10.1109/PerComWorkshops48775.2020.9156107.[5] M. Hou, T. Kang and L. Guo, "A Blockchain Based Architecture for IoT Data Sharing Systems," 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Austin, TX, USA, 2020, pp. 1-6, doi: 10.1109/PerComWorkshops48775.2020.9156107.

본 발명이 이루고자 하는 기술적 과제는 보안 장치를 유지하면서 블록체인 데이터를 단일 공유 스토리지에 저장하는 방법인 블록 저장부(BlockStore)를 제공하는데 있다. 제안하는 블록 저장부를 통해 블록체인 노드 간의 액세스 관리 및 복구 문제를 해결고자 한다.The technical task to be achieved by the present invention is to provide a block storage (BlockStore), a method of storing blockchain data in a single shared storage while maintaining security devices. We aim to solve the problems of access management and recovery between blockchain nodes through the proposed block storage unit.

일 측면에 있어서, 본 발명에서 제안하는 공공 저장소에 블록체인 데이터를 저장하기 위한 시스템은 수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성하고, 상기 작성된 데이터에 기초하여 해시를 생성하여, 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 기록하는 블록 저장부 및 상기 새 블록을 검증하고, 상기 실제 데이터의 단일 복사본을 유지하면서 해시만을 공유하는 블록체인 네트워크를 포함한다. In one aspect, the system for storing blockchain data in public storage proposed by the present invention writes received data directly to read-only shared storage, generates a hash based on the written data, and uses the hash as an actual It includes a block store that writes a new block with a reference to the data, and a blockchain network that verifies the new block and shares only the hash while maintaining a single copy of the actual data.

상기 블록 저장부는 수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성하는 공유 스토리지, 상기 작성된 데이터에 기초하여 해시를 생성하는 해시 생성부 및 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 새 레코드로 기록하는 기록부를 포함한다. The block storage unit includes a shared storage unit that writes received data directly to read-only shared storage, a hash generation unit that generates a hash based on the written data, and records the hash as a new record in a new block with a reference to the actual data. Includes a register that

상기 블록체인 네트워크가 새 블록을 검증하면, 상기 해시가 상기 블록 저장부의 공유 스토리지에 단체 서명(Signature)으로 전송되고, 상기 공유 스토리지의 데이터는 블록체인 네트워크가 데이터를 검증한다는 것을 증명하는 단체 서명으로 표시되고, 상기 데이터에 대해 더 이상 업데이트를 수행하지 않는다. When the blockchain network verifies a new block, the hash is sent to the shared storage of the block storage unit as a group signature, and the data in the shared storage is sent as a group signature that proves that the blockchain network verifies the data. displayed, and no further updates are performed on the data.

상기 단체 서명은 상기 블록 저장부의 해시 집합에 기초하여 생성되므로, 해시를 업데이트하면 단체 서명이 무효화되고, 악성 사용자가 데이터 콘텐츠를 업데이트하려고 할 경우 새 콘텐츠가 새 해시를 생성하고 새 해시는 단체 서명을 무효화한다. Since the collective signature is generated based on the set of hashes in the block storage, updating the hash invalidates the collective signature, and if a malicious user tries to update the data content, the new content generates a new hash and the new hash generates a collective signature. invalidate

또 다른 일 측면에 있어서, 본 발명에서 제안하는 공공 저장소에 블록체인 데이터를 저장하기 위한 방법은 블록 저장부의 공유 스토리지가 수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성하는 단계, 블록 저장부의 해시 생성부가 상기 작성된 데이터에 기초하여 해시를 생성하는 단계, 블록 저장부의 기록부가 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 새 레코드로 기록하는 단계 및 블록체인 네트워크가 상기 새 블록을 검증하고, 상기 실제 데이터의 단일 복사본을 유지하면서 해시만을 공유하는 단계를 포함한다. In another aspect, the method for storing blockchain data in public storage proposed by the present invention includes the steps of the shared storage of the block storage unit directly writing the received data to the read-only shared storage, and the hash generation unit of the block storage unit generating a hash based on the written data, recording the hash in a block storage unit as a new record in a new block with a reference to the actual data, and a blockchain network verifying the new block, and recording the hash as a new record in a new block with a reference to the actual data. It involves sharing only the hash while maintaining a single copy of the data.

본 발명의 실시예들에 따르면 블록체인 데이터를 공유 스토리지에 안전하게 저장하기 위한 블록 저장부(BlockStore)를 제안하고, 단체 서명을 저장하고 블록체인 거래에 의해 각 데이터를 참조함으로써 블록체인이 주장하는 모든 특징을 별도의 데이터베이스에 대해 유지한다. 제안하는 블록 저장부는 노드 간 해시만 공유하면서 공유 스토리지에 블록체인 데이터를 저장하는 것을 목표로 하여 경량 블록체인 네트워크는 더 높은 확장성을 달성하고, 전체 네트워크에 대한 단일 스토리지로 데이터 중복이 감소하는 효과를 갖는다.According to embodiments of the present invention, we propose a block store (BlockStore) to safely store blockchain data in shared storage, and store all data claimed by the blockchain by storing group signatures and referencing each data by blockchain transaction. Features are maintained in a separate database. The proposed block storage aims to store blockchain data in shared storage while only sharing hashes between nodes, so that the lightweight blockchain network achieves higher scalability and reduces data duplication with a single storage for the entire network. has

도 1은 종래기술에 따른 블록체인 아키텍처를 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 블록 저장부의 아키텍처를 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 공공 저장소에 블록체인 데이터를 저장하기 위한 시스템의 구성을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 공공 저장소에 블록체인 데이터를 저장하기 위한 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 다양한 데이터 및 블록 크기에 대한 전파 지연을 나타내는 그래프이다.
Figure 1 is a diagram showing a blockchain architecture according to the prior art.
Figure 2 is a diagram showing the architecture of a block storage unit according to an embodiment of the present invention.
Figure 3 is a diagram showing the configuration of a system for storing blockchain data in a public storage according to an embodiment of the present invention.
Figure 4 is a flowchart illustrating a method for storing blockchain data in public storage according to an embodiment of the present invention.
Figure 5 is a graph showing propagation delay for various data and block sizes according to an embodiment of the present invention.

블록체인의 아이디어는 지난 몇 년 동안 IoT 데이터 처리를 포함한 많은 어플리케이션에서 나타났다. 보안이 보장되기 때문에 블록체인은 P2P 네트워크로서 미래 기술의 중추적인 역할을 할 것으로 판단된다. 그러나 IoT 데이터 컴퓨팅에서 블록체인 프로토콜을 적용하는 것은 광범위한 데이터 관리와 관련된 심각한 문제에 직면해 있다. The idea of blockchain has emerged in many applications over the past few years, including IoT data processing. Because security is guaranteed, blockchain is believed to play a pivotal role in future technology as a P2P network. However, the application of blockchain protocols in IoT data computing faces serious challenges related to extensive data management.

본 발명은 보안 장치를 유지하면서 블록체인 데이터를 단일 공유 스토리지에 저장하는 방법인 블록 저장부(BlockStore)를 제안한다. 제안하는 블록 저장부는 또한 블록체인 노드 간의 액세스 관리 및 복구 문제를 해결한다. 본 발명의 실시예에 따른 실험은 제안하는 블록체인을 이용한 IoT 데이터 관리에 상당한 이점을 가져온다는 것을 증명한다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다. The present invention proposes BlockStore, a method of storing blockchain data in a single shared storage while maintaining security. The proposed block storage also solves the problems of access management and recovery between blockchain nodes. Experiments according to embodiments of the present invention demonstrate that IoT data management using the proposed blockchain brings significant advantages. Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.

도 1은 종래기술에 따른 블록체인 아키텍처를 나타내는 도면이다. Figure 1 is a diagram showing a blockchain architecture according to the prior art.

블록체인과 IoT 데이터 컴퓨팅의 통합에 관한 기술의 과제 중 하나는 빅 데이터 컴퓨팅과 관련이 있다. 전형적인 블록체인(비트코인[1]과 같이)은 네트워크 전체에서 실제 데이터를 공유하고 도 1과 같이 일관성을 가장 안전한 수준으로 유지한다. One of the technological challenges associated with the integration of blockchain and IoT data computing is related to big data computing. A typical blockchain (like Bitcoin [1]) shares real-world data across the network and maintains consistency at the most secure level, as shown in Figure 1.

블록체인 네트워크는 동일한 프로토콜을 공유하는 여러 노드에 의해 구성된다. 데이터는 블록 내부에 레코드 집합으로 저장된다. 블록체인 프로토콜은 특정 간격으로 새 블록을 생성해야 한다. 예를 들어, 비트코인은 매 10분마다 새 블록을 생성한다. 최근 비트코인 거래는 이 10분 동안 임시 블록에 저장돼 새 블록으로 블록체인에 삽입된다. 블록체인 노드는 새 블록 생성과 관련된 수학적 계산을 풀어 최신 블록을 만들 권리를 얻기 위해 경쟁한다. 분석을 끝낸 노드는 먼저 네트워크에 블록을 추가할 수 있는 권한을 획득한다. 블록이 네트워크에 브로드캐스트되고 다른 노드에 의해 승인되면 데이터를 변경할 수 없다. A blockchain network is made up of multiple nodes that share the same protocol. Data is stored as a record set inside a block. Blockchain protocols require new blocks to be created at specific intervals. For example, Bitcoin creates a new block every 10 minutes. Recent Bitcoin transactions are stored in temporary blocks during these 10 minutes and inserted into the blockchain as new blocks. Blockchain nodes compete for the right to create the latest block by solving the mathematical calculations involved in creating a new block. The node that has completed the analysis first obtains the authority to add blocks to the network. Once a block is broadcast to the network and approved by other nodes, the data cannot be changed.

따라서, 블록체인은 완벽한 보안을 달성한다. 다시 말해 기존 블록체인의 중심 규칙은 모든 노드가 블록체인의 정확한 복사본을 가져야 하고 가장 긴 체인만 유효하다는 것이다. 한 가지 측면에서 이 규칙은 보안, 개인 정보 보호, 접근성, 가용성, 추적성, 투명성 측면에서 엄청난 이점을 제공한다. 반면, 네트워크를 통해 모든 데이터를 공유하면 모든 노드에 데이터가 중복된다. Therefore, blockchain achieves perfect security. In other words, the central rule of existing blockchains is that every node must have an exact copy of the blockchain, and only the longest chain is valid. On one level, this rule offers tremendous benefits in terms of security, privacy, accessibility, availability, traceability, and transparency. On the other hand, if all data is shared across the network, data is duplicated across all nodes.

비트코인은 다양한 목적을 위해 다른 유형의 노드를 사용함으로써 부분적으로 이 문제를 방지한다. 예를 들어, 비트코인은 지갑 정보를 저장하고 검증을 수행하는 역할만 하는 경량 노드를 사용하며, 이를 단순화된 결제 확인(Simplifies Payment Verification; SPV) 노드라고 한다. 그러나 이러한 노드의 기능은 매우 제한적이지만 블록체인 데이터에 액세스할 수 없다. 블록체인 성능을 향상시키기 위해 다양한 종래기술 [2], [3], [4], [5]의 연구가 수행되었다. 그러나 모두 공유 네트워크에서 빅데이터를 처리하는 데 있어 공통적인 한계를 공유하고 있다. Bitcoin partially avoids this problem by using different types of nodes for different purposes. For example, Bitcoin uses lightweight nodes that are only responsible for storing wallet information and performing verification, which are called Simplifies Payment Verification (SPV) nodes. However, the functionality of these nodes is very limited and they cannot access blockchain data. To improve blockchain performance, research on various prior technologies [2], [3], [4], [5] has been conducted. However, they all share common limitations in processing big data on shared networks.

따라서, 복제 문제는 전형적인 블록체인의 주요 취약점으로 남아 있다. 이것은 비트코인이나 다른 암호화폐의 화폐 거래와 같은 작은 데이터로 실행되는 시스템의 경우 큰 문제가 아닐 수 있다. 그러나 IoT 데이터의 경우 복제 및 네트워크를 통한 전송은 시간과 공간 사용 측면에서 많은 비용이 소요된다. IoT 데이터 컴퓨팅 시스템에 블록체인 기술을 채택할 때, 이러한 한계는 경량 데이터 공유를 위한 새 블록체인 프로토콜을 개발하도록 동기를 부여했다. Therefore, the replication problem remains a major vulnerability of typical blockchains. This may not be a big problem for systems running on small data, such as fiat transactions for Bitcoin or other cryptocurrencies. However, in the case of IoT data, replication and transmission through the network are costly in terms of time and space usage. When adopting blockchain technology for IoT data computing systems, these limitations motivated us to develop new blockchain protocols for lightweight data sharing.

본 발명에서는 블록체인 데이터를 공유 스토리지에 안전하게 저장하기 위한 블록 저장부(BlockStore)라는 새 방법을 제안한다. 제안된 방법은 단체 서명을 저장하고 블록체인 거래에 의해 각 데이터를 참조함으로써 블록체인이 주장하는 모든 특징을 별도의 데이터베이스에 대해 유지한다. 이러한 방식으로 IoT 데이터에 블록체인을 적용하면서 성능과 활용률 모두에서 우수한 성능을 보인다. 본 발명의 실시예에 따른 실험은 제안된 방법이 블록체인 데이터 저장을 위한 안전한 공유 스토리지를 보장한다는 것을 입증했다.The present invention proposes a new method called BlockStore to safely store blockchain data in shared storage. The proposed method maintains all the characteristics claimed by blockchain in a separate database by storing group signatures and referencing each data by blockchain transaction. By applying blockchain to IoT data in this way, it shows excellent performance in both performance and utilization rate. Experiments according to embodiments of the present invention demonstrated that the proposed method ensures secure shared storage for storing blockchain data.

도 2는 본 발명의 일 실시예에 따른 블록 저장부의 아키텍처를 나타내는 도면이다. Figure 2 is a diagram showing the architecture of a block storage unit according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 블록 저장부(BlockStore)(210)는 노드 간 해시만 공유하면서 공유 스토리지에 블록체인 데이터를 저장하는 것을 목표로 한다. 데이터를 블록테인 네트워크(220)에서 분리하는 방법은 다음과 같은 이점을 얻는다. The block storage unit (BlockStore) 210 according to an embodiment of the present invention aims to store blockchain data in shared storage while sharing only the hash between nodes. The method of separating data from the blockchain network 220 achieves the following advantages.

본 발명의 실시예에 따르면 경량 블록체인 네트워크는 더 높은 확장성을 달성한다. 또한, 전체 네트워크에 대한 단일 스토리지로 데이터 중복이 감소한다. According to embodiments of the present invention, a lightweight blockchain network achieves higher scalability. Additionally, data duplication is reduced with a single storage for the entire network.

도 2를 참조하면, 실제 데이터를 저장하기 위한 블록 저장부(210)의 공유 스토리지와 데이터에 대한 해시 참조를 공유하는 블록테인 네트워크(220)를 도시한다. 데이터가 블록 저장부(210)에 처음 수신되면 읽기 전용 공유 스토리지에 직접 작성되며, 데이터 내용을 기반으로 해시(Hash)가 생성된다. 해시는 공유 스토리지의 실제 데이터에 대한 참조(Reference)와 함께 새 블록에 새 레코드로 기록된다. 블록체인 네트워크(220)가 새 블록을 검증하면 블록 해시가 공유 스토리지에 단체 서명(Signature)으로 전송된다. 공유 스토리지의 데이터는 네트워크가 데이터를 검증한다는 것을 증명하는 단체 서명으로 표시되며 콘텐츠에 대해 더 이상 업데이트를 수행할 수 없다. 다음과 같은 시나리오에서 입증되었듯이 단체 서명은 공유 스토리지의 데이터 보안을 두 배로 높인다.Referring to FIG. 2, it shows the shared storage of the block storage unit 210 for storing actual data and the blockchain network 220 that shares a hash reference for the data. When data is first received in the block storage unit 210, it is written directly to read-only shared storage, and a hash is generated based on the data content. The hash is recorded as a new record in a new block along with a reference to the actual data in shared storage. When the blockchain network 220 verifies a new block, the block hash is sent to shared storage as a group signature. Data in shared storage is marked with a collective signature that proves the network verifies the data, and no further updates can be made to the content. Group signatures double the security of data in shared storage, as demonstrated in the following scenarios:

해시는 데이터 콘텐츠에 의해 생성되어 블록체인 네트워크(220)에 저장된다. 단체 서명은 블록의 해시 집합을 기반으로 생성되므로, 해시를 업데이트하면 단체 서명이 무효화된다. 악성 사용자가 데이터 콘텐츠를 업데이트하려고 하면 새 콘텐츠가 새 해시를 생성하고 새 해시는 단체 서명을 무효화한다. 따라서 데이터의 모든 변경 사항은 단체 서명을 사용하여 쉽게 탐지할 수 있다. The hash is generated by the data content and stored in the blockchain network 220. Since the collective signature is created based on a set of hashes of the block, updating the hash invalidates the collective signature. When a malicious user attempts to update the data content, the new content generates a new hash, and the new hash invalidates the collective signature. Therefore, any changes to the data can be easily detected using collective signatures.

또한, 블록 저장부(210)는 멤버십 관리 및 노드 부트스트래핑에서 이점을 얻는다. 해시만 블록체인 네트워크(220)에 브로드캐스트되기 때문에 새 노드는 블록체인 네트워크(220)에서 해시만 가져온다. 공유 스토리지의 실제 데이터는 데이터 읽기가 발생한 경우에만 액세스된다. 해시 크기가 일정하고 다른 데이터 유형에 비해 상당히 작기 때문에 블록체인을 가져오는 데 새 노드의 시간이 적게 소요된다.Additionally, block storage 210 benefits from membership management and node bootstrapping. Since only the hash is broadcast to the blockchain network 220, the new node only gets the hash from the blockchain network 220. Actual data on shared storage is accessed only when a data read occurs. Because the hash size is constant and significantly smaller than other data types, it takes less time for a new node to fetch the blockchain.

도 3은 본 발명의 일 실시예에 따른 공공 저장소에 블록체인 데이터를 저장하기 위한 시스템의 구성을 나타내는 도면이다. Figure 3 is a diagram showing the configuration of a system for storing blockchain data in a public storage according to an embodiment of the present invention.

제안하는 공공 저장소에 블록체인 데이터를 저장하기 위한 시스템은 블록 저장부(310) 및 블록체인 네트워크(220)를 포함한다. The proposed system for storing blockchain data in public storage includes a block storage unit 310 and a blockchain network 220.

본 발명의 실시예에 따른 블록 저장부(310)는 수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성하고, 상기 작성된 데이터에 기초하여 해시를 생성하여, 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 기록한다. The block storage unit 310 according to an embodiment of the present invention directly writes the received data to read-only shared storage, generates a hash based on the written data, and uses the hash as a new block with a reference to the actual data. Record it in

본 발명의 실시예에 따른 블록 저장부(310)는 공유 스토리지(311), 해시 생성부(312) 및 기록부(313)를 포함한다. The block storage unit 310 according to an embodiment of the present invention includes a shared storage 311, a hash generation unit 312, and a recording unit 313.

본 발명의 실시예에 따른 공유 스토리지(311)는 수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성한다. The shared storage 311 according to an embodiment of the present invention writes the received data directly to the read-only shared storage.

본 발명의 실시예에 따른 해시 생성부(312)는 상기 작성된 데이터에 기초하여 해시를 생성한다. The hash generator 312 according to an embodiment of the present invention generates a hash based on the created data.

본 발명의 실시예에 따른 기록부(313)는 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 새 레코드로 기록한다. The recording unit 313 according to an embodiment of the present invention records the hash as a new record in a new block along with a reference to the actual data.

본 발명의 실시예에 따른 블록체인 네트워크(220)는 상기 새 블록을 검증하고, 상기 실제 데이터의 단일 복사본을 유지하면서 해시만을 공유한다. Blockchain network 220 according to an embodiment of the present invention verifies the new block and shares only the hash while maintaining a single copy of the actual data.

본 발명의 실시예에 따른 블록체인 네트워크(220)가 새 블록을 검증하면, 상기 해시가 상기 블록 저장부의 공유 스토리지(311)에 단체 서명(Signature)으로 전송된다. 상기 공유 스토리지(311)의 데이터는 블록체인 네트워크(320)가 데이터를 검증한다는 것을 증명하는 단체 서명으로 표시되고, 상기 데이터에 대해 더 이상 업데이트를 수행하지 않는다. When the blockchain network 220 according to an embodiment of the present invention verifies a new block, the hash is transmitted as a group signature to the shared storage 311 of the block storage unit. The data in the shared storage 311 is marked with a group signature that proves that the blockchain network 320 verifies the data, and no further updates are performed on the data.

본 발명의 실시예에 따르면, 상기 단체 서명은 상기 블록 저장부(310)의 해시 집합에 기초하여 생성되므로, 해시를 업데이트하면 단체 서명이 무효화되고, 악성 사용자가 데이터 콘텐츠를 업데이트하려고 할 경우 새 콘텐츠가 새 해시를 생성하고 새 해시는 단체 서명을 무효화한다. According to an embodiment of the present invention, the collective signature is generated based on the hash set of the block storage unit 310, so updating the hash invalidates the collective signature, and when a malicious user attempts to update the data content, the new content creates a new hash, and the new hash invalidates the group signature.

도 4는 본 발명의 일 실시예에 따른 공공 저장소에 블록체인 데이터를 저장하기 위한 방법을 설명하기 위한 흐름도이다. Figure 4 is a flowchart illustrating a method for storing blockchain data in public storage according to an embodiment of the present invention.

제안하는 공공 저장소에 블록체인 데이터를 저장하기 위한 방법은 블록 저장부의 공유 스토리지가 수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성하는 단계(410), 블록 저장부의 해시 생성부가 상기 작성된 데이터에 기초하여 해시를 생성하는 단계(420), 블록 저장부의 기록부가 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 새 레코드로 기록하는 단계(430) 및 블록체인 네트워크가 상기 새 블록을 검증하고, 상기 실제 데이터의 단일 복사본을 유지하면서 해시만을 공유하는 단계(440)를 포함한다. The method for storing blockchain data in the proposed public storage includes the step of the shared storage of the block storage unit directly writing the received data to the read-only shared storage (410), and the hash generation unit of the block storage unit creating a hash based on the written data. A step of generating (420), the register of the block storage records the hash as a new record in a new block with a reference to the actual data (430), and the blockchain network verifies the new block, and records the hash as a new record in a new block with a reference to the actual data. It includes a step 440 of sharing only the hash while maintaining a single copy of .

단계(410)에서, 블록 저장부의 공유 스토리지가 수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성한다. At step 410, the shared storage of the block store writes the received data directly to the read-only shared storage.

단계(420)에서, 블록 저장부의 해시 생성부가 상기 작성된 데이터에 기초하여 해시를 생성한다. In step 420, the hash generation unit of the block storage unit generates a hash based on the written data.

단계(430)에서, 블록 저장부의 기록부가 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 새 레코드로 기록한다. At step 430, the register of the block storage records the hash as a new record in a new block along with a reference to the actual data.

단계(440)에서, 블록체인 네트워크가 상기 새 블록을 검증하고, 상기 실제 데이터의 단일 복사본을 유지하면서 해시만을 공유한다. At step 440, the blockchain network verifies the new block and shares only the hash, maintaining a single copy of the actual data.

본 발명의 실시예에 따라 블록체인 네트워크가 새 블록을 검증하면, 상기 해시가 상기 블록 저장부의 공유 스토리지에 단체 서명(Signature)으로 전송된다. 상기 공유 스토리지의 데이터는 블록체인 네트워크가 데이터를 검증한다는 것을 증명하는 단체 서명으로 표시되고, 상기 데이터에 대해 더 이상 업데이트를 수행하지 않는다. According to an embodiment of the present invention, when the blockchain network verifies a new block, the hash is transmitted as a group signature to the shared storage of the block storage unit. Data in the shared storage is marked with a collective signature that proves that the blockchain network verifies the data, and no further updates are performed on the data.

본 발명의 실시예에 따르면, 상기 단체 서명은 상기 블록 저장부의 해시 집합에 기초하여 생성되므로, 해시를 업데이트하면 단체 서명이 무효화되고, 악성 사용자가 데이터 콘텐츠를 업데이트하려고 할 경우 새 콘텐츠가 새 해시를 생성하고 새 해시는 단체 서명을 무효화한다. According to an embodiment of the present invention, the collective signature is generated based on the hash set of the block storage, so updating the hash invalidates the collective signature, and when a malicious user attempts to update the data content, the new content creates a new hash. Generates a new hash and invalidates the group signature.

도 5는 본 발명의 일 실시예에 따른 다양한 데이터 및 블록 크기에 대한 전파 지연을 나타내는 그래프이다. Figure 5 is a graph showing propagation delay for various data and block sizes according to an embodiment of the present invention.

본 발명의 실시예에 따르면, 확장성 및 스토리지 활용률 측면에서 제안하는 블록 저장부 성능에 대한 예비 실험을 수행했다. 비교를 위해 오픈 소스 비트코인 코드를 전형적인 블록체인으로 사용했다. 표 1은 비트코인과 블록 저장부의 전체적인 유사점과 차이점을 보여준다.According to an embodiment of the present invention, preliminary experiments were conducted on the performance of the proposed block storage in terms of scalability and storage utilization. For comparison, we used the open source Bitcoin code as a typical blockchain. Table 1 shows the overall similarities and differences between Bitcoin and block storage.

<표 1><Table 1>

비트코인과 블록 저장부의 가장 큰 차이점은 블록체인 구조이다. 비트코인은 매우 최초이자 가장 큰 블록체인으로, 비교를 위한 최첨단 블록체인 아키텍처의 한 예시가 될 수 있다. 반면, 제안하는 블록 저장부는 공유 스토리지를 사용하여 데이터를 저장하는 새로운 방식을 채택한다. 블록 저장부는 보안을 유지하기 위해 해당 해시가 블록체인 네트워크에 삽입된 후 데이터에 어떠한 변경도 수행할 수 없도록 디지털 서명을 도입하기도 한다. 이러한 블록체인 아키텍처를 차별화하는 또 다른 필수 요소는 노드 간의 데이터 중복이다. 비트코인은 모든 노드에 블록체인의 정확한 복사본을 공유해야 하기 때문에 노드 수(N)만큼 중복되는 결과를 낳는다. 그러나 블록 저장부는 실제 데이터의 단일 복사본을 유지하면서 해시만 공유한다. 따라서 블록 저장부의 중복은 해시 비율로 감소한다. 보안 측면에서는 비트코인이 오늘날 가장 안전한 P2P 네트워크라는 것이 이미 입증되었다. 또한 블록 저장부는 디지털 서명 및 해시 참조 방법을 사용하여 동일한 수준의 보안을 유지한다. 블록 저장부가 비트코인에 비해 가장 큰 장점은 일정한 전달 속도이다.The biggest difference between Bitcoin and block storage is the blockchain structure. Bitcoin is the very first and largest blockchain and can serve as an example of a state-of-the-art blockchain architecture for comparison. On the other hand, the proposed block storage adopts a new method of storing data using shared storage. To maintain security, the block storage also introduces digital signatures so that no changes can be made to the data after the hash is inserted into the blockchain network. Another essential element that differentiates these blockchain architectures is data redundancy between nodes. Since Bitcoin requires all nodes to share an exact copy of the blockchain, this results in duplication equal to the number of nodes (N). However, the block storage maintains a single copy of the actual data and only shares the hash. Therefore, the redundancy of the block storage is reduced by the hash rate. In terms of security, Bitcoin has already proven to be the most secure P2P network today. Additionally, the block storage maintains the same level of security by using digital signatures and hash reference methods. The biggest advantage of block storage over Bitcoin is its constant delivery speed.

전달 속도는 네트워크 간의 브로드캐스팅 데이터 속도를 나타낸다. 이는 블록체인 확장성을 평가하는 주요 기준 중 하나이다. 비트코인과 블록 저장부의 데이터 전달에 대한 평가 결과는 도 5와 같으며, 위에서 언급한 바와 같이 비트코인은 모든 데이터를 블록에 저장하고, 블록 저장부는 해시 및 참조 조합만 저장한다. 따라서 블록 크기와 데이터 크기는 이 두 기술에 대해 동일한 데이터를 참조한다. Delivery rate refers to the broadcasting data rate between networks. This is one of the main criteria for evaluating blockchain scalability. The evaluation results of data transfer between Bitcoin and the block storage are shown in Figure 5. As mentioned above, Bitcoin stores all data in blocks, and the block storage stores only hash and reference combinations. Therefore, block size and data size refer to the same data for these two technologies.

도 5를 참조하면, 비트코인의 데이터 전달이 백분위수와 블록 크기에 따라 지연되는 것을 관찰할 수 있다. 이 실험에서 백분위수는 블록을 브로드캐스트할 노드의 백분율을 의미한다. 비트코인 전달은 더 작은 블록을 가진 블록 저장부 전달과 거의 유사하다. 실험에서 알 수 있듯이 블록 크기가 증가함에 따라 비트코인 전달 지연 시간은 거의 기하급수적으로 증가한다. 그리고 이 비율은 더 큰 백분위수일수록 더 커진다. 숫자로는 512MB 블록의 경우 비트코인은 거의 120초 만에 블록을 노드의 75%로 전달한다.Referring to Figure 5, it can be observed that Bitcoin data delivery is delayed depending on percentile and block size. In this experiment, percentile refers to the percentage of nodes that will broadcast a block. Bitcoin delivery is almost similar to block storage delivery with smaller blocks. As the experiment shows, as the block size increases, Bitcoin delivery latency increases almost exponentially. And this ratio gets larger for larger percentiles. By the numbers, for a 512MB block, Bitcoin delivers the block to 75% of nodes in almost 120 seconds.

IoT 데이터의 요인을 고려할 때 블록 크기가 작다는 것은 비현실적이다. 표준 블록 크기는 500MB 이상이며 일반적으로 더 크다. 블록 생성 간격을 줄이면 더 작은 블록을 만들 수 있지만, 전달 기간을 늘리는 것도 용납할 수 없다. 이러한 실험은 기존의 블록체인이 IoT 데이터를 저장하는 데 실패하고 직접 적용할 수 없다는 것을 증명한다. 반면, 제안하는 블록 저장부는 블록체인 네트워크에 있는 데이터의 해시만 저장한다. 해시 크기는 모든 데이터에 대해 일정하다. 즉, 데이터 크기가 무엇이든 블록 크기는 큰 변화를 겪지 않는다. 이 수치는 또한 블록 저장부가 모든 데이터 크기와 백분위수에 대해 일정한 전달 지연 시간을 제공한다는 것을 입증한다. 이러한 실험은 제안된 방법이 블록체인 기술을 적용할 때 IoT 데이터 관리 시스템에 적합하다는 것을 보여준다. Considering the factors of IoT data, a small block size is unrealistic. Standard block sizes are at least 500MB and usually larger. Although smaller blocks can be created by reducing the block generation interval, increasing the delivery period is also unacceptable. These experiments prove that existing blockchains fail to store IoT data and cannot be directly applied. On the other hand, the proposed block storage stores only hashes of data in the blockchain network. The hash size is constant for all data. In other words, no matter what the data size, the block size does not change significantly. This figure also demonstrates that the block store provides consistent delivery latency for all data sizes and percentiles. These experiments show that the proposed method is suitable for IoT data management systems when applying blockchain technology.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다.  또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다.  이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다.  예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다.  또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented with hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. A processing device may execute an operating system (OS) and one or more software applications that run on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.  소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다.  소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. It can be embodied in . Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다.  상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.  상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.  컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.  프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.  The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다.  예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims described below.

Claims (7)

수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성하고, 상기 작성된 데이터에 기초하여 해시를 생성하여, 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 기록하는 블록 저장부; 및
상기 새 블록을 검증하고, 상기 실제 데이터의 단일 복사본을 유지하면서 해시만을 공유하는 블록체인 네트워크
를 포함하는 블록체인 데이터 저장 시스템.
a block storage unit that writes received data directly to read-only shared storage, generates a hash based on the written data, and records the hash in a new block with a reference to the actual data; and
A blockchain network that verifies the new block and shares only the hash while maintaining a single copy of the actual data.
A blockchain data storage system including.
제1항에 있어서,
상기 블록 저장부는,
수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성하는 공유 스토리지;
상기 작성된 데이터에 기초하여 해시를 생성하는 해시 생성부; 및
상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 새 레코드로 기록하는 기록부
를 포함하는 블록체인 데이터 저장 시스템.
According to paragraph 1,
The block storage unit,
Shared storage, which writes received data directly to read-only shared storage;
a hash generator that generates a hash based on the created data; and
A register that records said hash as a new record in a new block along with a reference to the actual data.
Blockchain data storage system including.
제1항에 있어서,
상기 블록체인 네트워크가 새 블록을 검증하면,
상기 해시가 상기 블록 저장부의 공유 스토리지에 단체 서명(Signature)으로 전송되고,
상기 공유 스토리지의 데이터는 블록체인 네트워크가 데이터를 검증한다는 것을 증명하는 단체 서명으로 표시되고, 상기 데이터에 대해 더 이상 업데이트를 수행하지 않는
블록체인 데이터 저장 시스템.
According to paragraph 1,
When the blockchain network verifies the new block,
The hash is transmitted as a group signature to the shared storage of the block storage unit,
Data in the shared storage is marked with a collective signature that proves that the blockchain network verifies the data, and no further updates are performed on the data.
Blockchain data storage system.
제3항에 있어서,
상기 단체 서명은 상기 블록 저장부의 해시 집합에 기초하여 생성되므로, 해시를 업데이트하면 단체 서명이 무효화되고, 악성 사용자가 데이터 콘텐츠를 업데이트하려고 할 경우 새 콘텐츠가 새 해시를 생성하고 새 해시는 단체 서명을 무효화하는
블록체인 데이터 저장 시스템.
According to paragraph 3,
Since the collective signature is generated based on the set of hashes in the block storage, updating the hash invalidates the collective signature, and if a malicious user tries to update the data content, the new content generates a new hash and the new hash generates a collective signature. invalidating
Blockchain data storage system.
블록 저장부의 공유 스토리지가 수신된 데이터를 읽기 전용 공유 스토리지에 직접 작성하는 단계;
블록 저장부의 해시 생성부가 상기 작성된 데이터에 기초하여 해시를 생성하는 단계;
블록 저장부의 기록부가 상기 해시를 실제 데이터에 대한 참조와 함께 새 블록에 새 레코드로 기록하는 단계; 및
블록체인 네트워크가 상기 새 블록을 검증하고, 상기 실제 데이터의 단일 복사본을 유지하면서 해시만을 공유하는 단계
를 포함하는 블록체인 데이터 저장 방법.
The shared storage of the block storage unit writes the received data directly to the read-only shared storage;
A hash generation unit of the block storage unit generating a hash based on the created data;
A recording unit of the block storage unit records the hash as a new record in a new block along with a reference to the actual data; and
The blockchain network verifies the new block and shares only the hash while maintaining a single copy of the actual data.
Blockchain data storage method including.
제5항에 있어서,
상기 블록체인 네트워크가 상기 새 블록을 검증하고, 상기 해시를 공유하는 단계는,
상기 블록체인 네트워크가 새 블록을 검증하면,
상기 해시가 상기 블록 저장부의 공유 스토리지에 단체 서명(Signature)으로 전송되고,
상기 공유 스토리지의 데이터는 블록체인 네트워크가 데이터를 검증한다는 것을 증명하는 단체 서명으로 표시되고, 상기 데이터에 대해 더 이상 업데이트를 수행하지 않는
블록체인 데이터 저장 방법.
According to clause 5,
The step of the blockchain network verifying the new block and sharing the hash is,
When the blockchain network verifies the new block,
The hash is transmitted as a group signature to the shared storage of the block storage unit,
Data in the shared storage is marked with a collective signature that proves that the blockchain network verifies the data, and no further updates are performed on the data.
How to store blockchain data.
제6항에 있어서,
상기 단체 서명은 상기 블록 저장부의 해시 집합에 기초하여 생성되므로, 해시를 업데이트하면 단체 서명이 무효화되고, 악성 사용자가 데이터 콘텐츠를 업데이트하려고 할 경우 새 콘텐츠가 새 해시를 생성하고 새 해시는 단체 서명을 무효화하는
블록체인 데이터 저장 방법.
According to clause 6,
Since the collective signature is generated based on the set of hashes in the block storage, updating the hash invalidates the collective signature, and if a malicious user tries to update the data content, the new content generates a new hash and the new hash generates a collective signature. invalidating
How to store blockchain data.
KR1020220056587A 2022-05-09 2022-05-09 Method and System for Storing BlockChain Data in Public Storage KR20230157063A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220056587A KR20230157063A (en) 2022-05-09 2022-05-09 Method and System for Storing BlockChain Data in Public Storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220056587A KR20230157063A (en) 2022-05-09 2022-05-09 Method and System for Storing BlockChain Data in Public Storage

Publications (1)

Publication Number Publication Date
KR20230157063A true KR20230157063A (en) 2023-11-16

Family

ID=88964712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220056587A KR20230157063A (en) 2022-05-09 2022-05-09 Method and System for Storing BlockChain Data in Public Storage

Country Status (1)

Country Link
KR (1) KR20230157063A (en)

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
[1] S. Nakomoto, "Bitcoin: E peer-to-peer Electronic Cash System", Oct. 2008.
[2] K. Lei, M. Du, J. Huang and T. Jin, "Groupchain: Towards a Scalable Public Blockchain in Fog Computing of IoT Services Computing," in IEEE Transactions on Services Computing, vol. 13, no. 2, pp. 252-262, 1 March-April 2020, doi: 10.1109/TSC.2019.2949801.
[3] M. Zhaofeng, W. Xiaochang, D. K. Jain, H. Khan, G. Hongmin and W. Zhen, "A Blockchain-Based Trusted Data Management Scheme in Edge Computing," in IEEE Transactions on Industrial Informatics, vol. 16, no. 3, pp. 2013-2021, March 2020, doi: 10.1109/TII.2019.2933482.
[4] H. T. T. Truong, M. Almeida, G. Karame and C. Soriente, "Towards Secure and Decentralized Sharing of IoT Data," 2019 IEEE International Conference on Blockchain (Blockchain), Atlanta, GA, USA, 2019, pp. 176-183, doi: 10.1109/Blockchain.2019.00031.
[5] M. Hou, T. Kang and L. Guo, "A Blockchain Based Architecture for IoT Data Sharing Systems," 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops), Austin, TX, USA, 2020, pp. 1-6, doi: 10.1109/PerComWorkshops48775.2020.9156107.

Similar Documents

Publication Publication Date Title
JP7382108B2 (en) Efficient verification for blockchain
KR102247658B1 (en) Processing of blockchain data based on smart contract behavior executed in a trusted execution environment
US11030217B2 (en) Blockchain implementing cross-chain transactions
US10958418B2 (en) System and method for a blockchain network with heterogeneous privacy
CN110915166B (en) Block chain
US11823178B2 (en) Optimization of high volume transaction performance on a blockchain
US10601911B2 (en) Partitioning of a blockchain ledger
EP3543853A1 (en) Providing microservice information
US20190340267A1 (en) Blockchain implementing cross-chain transactions
US9923768B2 (en) Replicating configuration between multiple geographically distributed servers using the rest layer, requiring minimal changes to existing service architecture
JP2022508247A (en) High-performance distributed recording system with reliability-based consensus
Bailleu et al. Avocado: A Secure {In-Memory} Distributed Storage System
Han et al. On the performance of distributed ledgers for internet of things
WO2021011082A1 (en) Lightweight blockchain based on split-trust
JP2022532830A (en) Methods and equipment for implementing status proofs and ledger identifiers in distributed databases
US10637666B1 (en) Migrating data for decentralized applications between disparate backend storage providers
US10880076B1 (en) Backup of encrypted information stored off-chain in a blockchain-based decentralized storage system
CN111226209B (en) Performing mapping iterations in a blockchain-based system
US11489660B2 (en) Re-encrypting data on a hash chain
US11070563B2 (en) Trace-based transaction validation and commitment
Fu et al. A study on the optimization of blockchain hashing algorithm based on PRCA
Sakakibara et al. An fpga nic based hardware caching for blockchain
US11372847B2 (en) Block verification device, block verification method, and program
WO2020055413A1 (en) Blockchain for audit
US10848395B2 (en) State management across distributed services using cryptographically bound journals

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X601 Decision of rejection after re-examination