WO2023277444A1 - 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법 - Google Patents

블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법 Download PDF

Info

Publication number
WO2023277444A1
WO2023277444A1 PCT/KR2022/008908 KR2022008908W WO2023277444A1 WO 2023277444 A1 WO2023277444 A1 WO 2023277444A1 KR 2022008908 W KR2022008908 W KR 2022008908W WO 2023277444 A1 WO2023277444 A1 WO 2023277444A1
Authority
WO
WIPO (PCT)
Prior art keywords
blockchain
data
capacity
single data
storage space
Prior art date
Application number
PCT/KR2022/008908
Other languages
English (en)
French (fr)
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
Priority claimed from KR1020220075846A external-priority patent/KR20230004271A/ko
Application filed by 주식회사 아티프렌즈 filed Critical 주식회사 아티프렌즈
Publication of WO2023277444A1 publication Critical patent/WO2023277444A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • 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
    • 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/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

Definitions

  • the present invention relates to a method for uploading and managing single data in a block chain, and more particularly, to a method for uploading and managing large amounts of data to a block chain without loss, for single data with a capacity larger than the maximum block size in the block chain. It is about upload and management method.
  • TPS Transaction Per Second
  • 1 million TPS means the speed at which 1 million transactions per second can be processed.
  • 1 million TPS means the speed at which 1 million transactions per second can be processed.
  • the block generation cycle is approximately 12 seconds, and the TPS is between 10 and 30.
  • the block size and transaction size are not fixed, and the mining speed is significantly faster than that of Bitcoin. Since the available gas is determined, the TBS treatment is not smooth, and this causes a problem in that the speed is reduced.
  • the size of a block is 1 MB.
  • the size of a 1MB block is quite insufficient compared to the amount of transactions that Bitcoin has to process.
  • a certain fee must be provided to the miner, and if the fee value is small, the transaction speed may be much delayed. This is because miners give priority to high fees when including transaction details in blocks.
  • Bitcoin the first generation of existing block chain technologies
  • Ethereum the second generation, does not have a fixed block size and transaction size. Gas is fixed, which makes it difficult to improve speed and extension.
  • Patent Document 1 discloses a "block chain-based target data management method and apparatus", and the block chain-based target data management method according to this is a user device generating target data according to the request; generating first meta data related to the target data; generating a first block including the generated first metadata and storing the first block in a block chain included in the target data management device; generating first code information based on information included in the first block; and storing the generated first code information and the target data in a database, wherein the first code information is used as address information of the database in which the target data is stored.
  • Patent Document 1 there is an advantage in that integrity, confidentiality, and availability of data can be guaranteed by using a centralized database and blockchain technology complementary to each other for data storage and management. , It is a mechanism that generates first meta data related to the target data, creates a first block including the first meta data, and stores the first block in a block chain included in the target data management device. The process of storing the target data in the block chain is complicated, and there is no solution to the problem of uploading a single data larger than the maximum block size in the block chain to the block chain.
  • the present invention was created in view of the difficulty in uploading and managing large-capacity single data due to the speed and expansion problems of the conventional black chain as described above, and single data with a larger capacity than the maximum block size in the blockchain.
  • the purpose is to provide a method for uploading and managing single data with a larger capacity than the maximum block size in the blockchain, which can upload and manage large amounts of data on the blockchain without loss by preparing a solution that can upload .
  • the block-chain service server dividing the large-capacity data into a plurality of single data and dividing and storing them in the abstract storage space;
  • the blockchain service server downloading and integrating a plurality of single data divided and stored in the abstract storage space into one single data according to the download request and restoring them as large-capacity data;
  • the blockchain service server may provide a chain-based blockchain service.
  • the chain-based blockchain service may include a non-fungible token (NFT) market service.
  • NFT non-fungible token
  • the blockchain service server defines an arbitrary abstract storage space as a block chain in step c)
  • the arbitrary abstract storage space as a block chain may be defined by a smart contract.
  • the abstract storage space may be provided inside a chain network that provides network resources and functions necessary for blockchain services.
  • the blockchain service server divides the large amount of data into a plurality of single data in step d)
  • the large amount of data can be divided into a plurality of single data over a plurality of transactions.
  • step d) when dividing the large amount of data into a plurality of single data and storing them in the abstract storage space, contracts or states can be stored.
  • the block size exceeds the maximum block size in the block chain, which was impossible in the conventional block chain system. It has the advantage of being able to upload and manage single data of larger capacity.
  • 1 is a diagram showing the block structure of Bitcoin among conventional blockchains.
  • 2 is a diagram showing the block verification algorithm structure of Ethereum among conventional blockchains.
  • FIG. 3 is a flowchart showing the execution process of a method for uploading and managing single data with a capacity greater than the maximum block size in a blockchain according to the present invention.
  • Figure 4 is a diagram showing the process of uploading a single data with a capacity larger than the maximum block size to the chain blockchain.
  • FIG. 5 is a diagram showing an overview of dividing and storing large amounts of data in an abstract storage space.
  • FIG. 6 is a diagram showing an outline of a rule for cutting large-capacity data for divisional storage of large-capacity data.
  • 1 is a diagram showing the block structure of Bitcoin among conventional blockchains.
  • blocks 110 to 130 of a conventional bitcoin are largely composed of a block header 120h and a block body 120b.
  • the block header 120h is a part that stores information about a block when a block is created.
  • the hash of the previous block of the block header 120h plays a role in connecting blocks to blocks, and Nance is a number attached to the end of the hash value when the block header 120h derives a hash value. . That is, when a hash value lower than the target hash value comes out, the number added after the hash value of the block header 120h becomes 'Nance', and this value becomes the answer of the corresponding block.
  • “Root Hash” refers to the process of deriving one hash value by pairing two transactions stored in a block (TX 0 to TX 3).
  • the block body 120b is a part that stores transaction information and transaction (TX) of bitcoin.
  • TX 0 ⁇ TX 3 means the transaction record
  • HASH 0 ⁇ HASH 3 is the SHA-256 hash function applied by pairing two transaction records
  • 1 applies the hash function in the previous step. This means that the SHA-256 hash function is applied one more time.
  • 2 is a diagram showing the block verification algorithm structure of Ethereum among conventional blockchains.
  • S[0] to S[n] 210 represent the last state of the previous block
  • Tx[0] to Tx[n-1] 220 represent n transaction lists of the current block.
  • APPLY (230) means that verification is completed and proceeds to the next state
  • "PAY BLOCK REWARD" (240) indicates the reward block paid to the miner
  • S_FINAL (250) indicates the reward block as S[n ] followed by the assumption that this is Final S[n].
  • transaction data 0 (Tx[0]) to transaction data n (Tx[n]) are applied to the corresponding account (address), Changes in balance, etc., are recorded. Finally, S_FINAL for all accounts with transaction history is broadcast to the network.
  • FIG. 3 is a flowchart showing the execution process of a method for uploading and managing single data with a capacity greater than the maximum block size in a blockchain according to an embodiment of the present invention
  • FIG. This is a diagram showing the process of uploading to the chain blockchain.
  • a method for uploading and managing single data having a capacity greater than the maximum block size in a blockchain according to the present invention includes a user terminal 410 requesting a blockchain service, and a user terminal 410 A blockchain service server 420 that provides the service according to the service request of ) and a blockchain chain network 430 in which data is divided and stored.
  • the service server 420 determines whether the upload-requested data capacity is greater than the maximum block size (step S302).
  • the blockchain service server 420 may provide a chain-based blockchain service.
  • the chain-based blockchain service may include a non-fungible token (NFT) market service.
  • NFT is a 'non-fungible token' as a blockchain-based token that has uniqueness and scarcity because it is impossible to exchange and copy.
  • NFTs are digital tokens applied with blockchain technology, and each token is given a unique recognition value, so it has values and characteristics that cannot be replaced with each other, making exchange and duplication impossible.
  • step S303 if the data requested to be uploaded is large-capacity data with a capacity larger than the maximum block size, the blockchain service server 420 is an arbitrary abstract storage space as one blockchain (in the present invention, this abstract storage Space is called "Status") is defined (step S303).
  • the blockchain service server 420 defines an arbitrary abstract storage space as one block chain, it can define an arbitrary abstract storage space as one block chain with a smart contract.
  • the abstract storage space may be provided inside the chain network 430 that provides network resources and functions necessary for blockchain services.
  • such an abstract storage space that is, a storage space called Status (see FIG.
  • the block chain service server 420 when the definition of the abstract storage space as one block chain is completed, the block chain service server 420, as shown in FIG. C[n]) and stored in the abstract storage space (Status) 510 (step S304).
  • the large amount of data is divided into a plurality of single data over a plurality of transactions. can do.
  • contracts or states can be stored.
  • a little more explanation will be added regarding the division of large-capacity data as described above.
  • the cutting rule using the contract is viewed as one metadata and the data cut from 2 to n is stored in the blockchain.
  • the cutting rule for numbers from number 1 to the next is defined as a contract, and each bundle of data is stored.
  • the signature is also cut to prevent forgery and falsification of the 10GB data. Since we know the rules used when cutting this signature and the rules to cut it if we put it into the contract, even if the data below is wrong, if we receive the original data, we only need the original data and the cutting rule, and as a result, we can verify the forgery of the data. Easy to do. This is because contracts can be changed (falsified), but cutting rules cannot be forged.
  • the user terminal 410 or other user terminals are divided and stored in the abstract storage space 510 through the blockchain service
  • the blockchain service server 420 downloads a plurality of single data divided and stored in the abstract storage space 510 according to the download request and converts one single data into one single data. It is integrated into data and restored as large-capacity data (step S306).
  • the blockchain service server 420 provides the restored large-capacity data to the user terminal 410 or other user terminals that have requested download (step S307).
  • step S302 if the data requested for upload is not data with a larger capacity than the maximum block size, the blockchain service server 420 converts the requested data to a general storage of data having a general capacity size. It is stored in the storage space (step S308).
  • the method for uploading and managing single data with a capacity greater than the maximum block size in the block chain defines an abstract storage space and divides a large amount of data into multiple data over several transactions to abstract the data. By storing in the storage space, there is an advantage of being able to upload and manage single data with a capacity larger than the maximum block size in the blockchain, which was impossible in the conventional blockchain system.

Abstract

본 발명에 따른 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법은, 사용자 단말기가 블록체인 서비스를 통해 블록체인에 임의의 데이터의 업로드를 요청하는 단계; 블록체인 서비스 서버가 업로드 요청된 데이터의 용량이 블록 최대 크기보다 더 큰 용량인지를 판별하는 단계; 업로드 요청된 데이터가 블록 최대 크기보다 더 큰 용량의 대용량 데이터인 경우, 블록체인 서비스 서버가 하나의 블록체인으로서의 임의의 추상적 저장 공간을 정의하는 단계; 블록체인 서비스 서버가 대용량 데이터를 복수의 단일 데이터로 분할하여 추상적 저장 공간에 분할하여 저장하는 단계; 사용자 단말기 또는 다른 사용자 단말기가 블록체인 서비스를 통해 추상적 저장 공간에 분할되어 저장되어 있는 대용량 데이터의 다운로드를 요청하는 단계; 블록체인 서비스 서버가 추상적 저장 공간에 분할되어 저장되어 있는 복수의 단일 데이터를 다운로드 및 대용량 데이터로 복원하는 단계; 및 블록체인 서비스 서버가 복원된 대용량 데이터를 사용자 단말기 또는 다른 사용자 단말기로 제공하는 단계를 포함한다.

Description

블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법
본 발명은 블록체인에서 단일 데이터의 업로드 및 관리 방법에 관한 것으로서, 더 상세하게는 블록체인에 대용량 데이터를 무손실로 업로드 및 관리할 수 있는, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법에 관한 것이다.
일반적으로 알려진 블록체인 중 1세대 블록체인 기술인 비트코인(bitcoin), 2세대 블록체인 기술인 이더리움(ethereum)을 기반으로 한 블록체인 네트워크에서의 속도와 확장에 대해서 살펴볼 때, 비트코인의 경우, 초기에는 현재처럼 사용자가 많지 않았기 때문에 10분 내에 하나의 블록에 모든 거래 내용을 담기에 충분했다. 그러나 비트코인이 대중에게 알려지면서 처리해야 할 거래량이 증가하고, 이에 따라 한 블록에 10분 동안 발생한 모든 거래 내역을 담을 수 없는 상황이 발생했다. 비트코인의 경우 초당 약 3∼7건의 거래(transaction)를 처리하고, 이더리움은 초당 약 20건의 거래를 처리한다. 이는 기존의 대표적 결제 수단인 페이팔(초당 약 200건의 거래를 처리), 비자카드(약 2,000건의 거래를 처리)와 비교하면 확연히 느린 속도임을 알 수 있다.
여기서, 종래 비트코인과 이더리움의 속도와 확장성에 있어서의 문제점에 대해 살펴보기로 한다.
먼저, 속도에 대해 살펴보면, 블록체인에서 속도의 지표는 TPS (Transaction Per Second)로 1초당 처리할 수 있는 트랜잭션의 개수를 의미한다. 예를 들면, 100만 TPS는 1초당 100만건의 트랜잭션을 처리할 수 있는 속도를 의미한다. 비트코인의 경우, 1MB 블록 용량 한도와 10분의 블록 생성 속도를 근거로, 1 트랜잭션을 계산하면 약 7TPS가 채 나오지 않는다. 애초에 설계상 처리할 수 있는 한도가 정해져 있기 때문에 추가 성능 향상을 위해서는 트랜잭션 크기를 줄이거나, 블록 생성 속도를 빠르게 할 수밖에 없는 문제점이 있다. 또한, 이더리움의 경우, 블록생성 주기는 대략 12초이며, TPS는 10∼30 정도로 비트코인과 달리 블록 사이즈와 트랜잭션 사이즈가 정해져 있지 않고, 비트코인보다 채굴 속도도 비약적으로 빠르지만, 블록당 사용할 수 있는 가스(gas)가 정해져 있기 때문에 TBS 처리가 원활하지 못하며, 이로 인해 속도 저하가 야기되는 문제점이 있다.
두 번째, 확장성에 대해 살펴보면, 비트코인의 경우 블록의 크기는 1MB이다. 그러나 1MB 블록의 크기는 비트코인이 처리해야 할 거래량에 비해 상당히 부족한 용량이다. 또한 비트코인으로 거래하기 위해서는 채굴자(Miner)에게 일정의 수수료를 제공해야 하는데, 이 수수료 값이 적을 경우 거래 속도가 훨씬 지연될 수 있다. 왜냐하면, 채굴자들은 블록에 거래 내역을 담을 때 수수료가 높은 것을 우선으로 하기 때문이다.
또 다른 블록체인 기술인 이더리움은 비트코인과는 달리 블록의 크기보다 한 블록에 담을 수 있는 가스(gas)의 크기 제한 때문에 속도 지연 문제가 발생한다. 여기서, 가스란 이더리움 플랫폼에서 발생하는 거래의 수수료 개념이라 볼 수 있는데, 한 개의 이더리움 블록에는 약 670만 가스로 제한되어 있다.
이상과 같이, 기존 블록체인 기술 중 1세대인 비트코인은 1MB의 블록 자체의 용량 크기의 문제가 있고, 2세대인 이더리움은 비트코인과 달리 블록 사이즈와 트랜잭션 사이즈가 정해져 있지 않지만, 이를 처리하는 가스(gas)가 정해져 있어, 이로 인해 속도와 확장을 개선하는데 있어서 어려움이 있다.
한편, 한국 공개특허공보 제10-2019-0132938호(특허문헌 1)에는 "블록 체인 기반 대상 데이터 관리 방법 및 장치"가 개시되어 있는 바, 이에 따른 블록 체인 기반 대상 데이터 관리 방법은, 사용자 장치의 요청에 따라 대상 데이터를 생성하는 단계; 상기 대상 데이터에 관련된 제1 메타 데이터를 생성하는 단계; 상기 생성된 제1 메타 데이터를 포함하는 제1 블록을 생성하여 상기 제1 블록을 상기 대상 데이터 관리 장치에 포함된 블록 체인에 저장하는 단계; 상기 제1 블록에 포함된 정보에 기반하여 제1 코드 정보를 생성하는 단계; 및 상기 생성된 제1 코드 정보 및 상기 대상 데이터를 데이터베이스에 저장하는 단계를 포함하고, 상기 제1 코드 정보는 상기 대상 데이터가 저장된 상기 데이터베이스의 주소 정보로 사용되는 것을 특징으로 한다.
이상과 같은 특허문헌 1의 경우, 데이터 저장 및 관리를 위해 중앙 집중형 데이터베이스 및 블록체인 기술을 상호 보완적으로 활용함으로써, 데이터에 대한 무결성, 기밀성 및 가용성 등이 보장될 수 있는 장점이 있기는 하나, 대상 데이터에 관련된 제1 메타 데이터를 생성하고, 제1 메타 데이터를 포함하는 제1 블록을 생성하여, 상기 제1 블록을 대상 데이터 관리 장치에 포함된 블록 체인에 저장하는 메커니즘으로 되어 있어, 어떠한 대상 데이터를 블록 체인에 저장하기까지의 과정이 복잡하고, 또한 블록 체인에서의 블록 최대 크기보다 더 큰 용량의 단일 데이터를 블록 체인에 업로드하는 문제에 대해서는 해결 방안을 제시하지 못하고 있다.
본 발명은 상기와 같은 종래 블랙체인의 속도와 확장의 문제로 인해 큰 용량의 단일 데이터를 업로드하고 관리하기가 어려운 점을 감안하여 창출된 것으로서, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터를 업로드할 수 있는 솔루션을 마련함으로써, 블록체인에 대용량 데이터를 무손실로 업로드 및 관리할 수 있는, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법을 제공함에 그 목적이 있다.
상기의 목적을 달성하기 위하여 본 발명에 따른 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법은,
a) 사용자 단말기가 블록체인 서비스를 통해 블록체인에 임의의 데이터의 업로드를 요청하는 단계와;
b) 상기 업로드의 요청에 따라 블록체인 서비스 서버가 업로드 요청된 데이터의 용량이 블록 최대 크기보다 더 큰 용량인지를 판별하는 단계와;
c) 상기 판별에서 업로드 요청된 데이터가 블록 최대 크기보다 더 큰 용량의 대용량 데이터인 경우, 상기 블록체인 서비스 서버가 하나의 블록체인으로서의 임의의 추상적 저장 공간을 정의하는 단계와;
d) 상기 블록체인 서비스 서버가 상기 대용량 데이터를 복수의 단일 데이터로 분할하여 상기 추상적 저장 공간에 분할하여 저장하는 단계와;
e) 상기 사용자 단말기 또는 다른 사용자 단말기가 블록체인 서비스를 통해 상기 추상적 저장 공간에 분할되어 저장되어 있는 상기 대용량 데이터의 다운로드를 요청하는 단계와;
f) 상기 블록체인 서비스 서버가 상기 다운로드 요청에 따라 상기 추상적 저장 공간에 분할되어 저장되어 있는 복수의 단일 데이터를 다운로드 및 하나의 단일 데이터로 통합하여 대용량 데이터로 복원하는 단계; 및
g) 상기 블록체인 서비스 서버가 상기 복원된 대용량 데이터를 다운로드를 요청한 상기 사용자 단말기 또는 다른 사용자 단말기로 제공하는 단계를 포함하는 점에 그 특징이 있다.
여기서, 상기 단계 b)에서 상기 블록체인 서비스 서버는 사슬 기반의 블록체인 서비스를 제공할 수 있다.
이때, 상기 사슬 기반의 블록체인 서비스는 NFT(non-fungible token) 마켓 서비스를 포함할 수 있다.
또한, 상기 단계 c)에서 상기 블록체인 서비스 서버가 하나의 블록체인으로서의 임의의 추상적 저장 공간을 정의함에 있어서, 스마트 콘트랙트(contract)로 하나의 블록체인으로서의 임의의 추상적 저장 공간을 정의할 수 있다.
또한, 상기 단계 c)에서 상기 추상적 저장 공간은 블록체인 서비스에 필요한 네트워크 자원 및 기능을 제공하는 사슬 네트워크의 내부에 마련될 수 있다.
또한, 상기 단계 d)에서 상기 블록체인 서비스 서버가 상기 대용량 데이터를 복수의 단일 데이터로 분할함에 있어서, 다수의 트랜잭션에 걸쳐서 상기 대용량 데이터를 복수의 단일 데이터로 분할할 수 있다.
또한, 상기 단계 d)에서 상기 대용량 데이터를 복수의 단일 데이터로 분할하여 상기 추상적 저장 공간에 분할하여 저장함에 있어서, 콘트랙트 또는 상태를 저장할 수 있다.
이와 같은 본 발명에 의하면, 추상적 저장 공간을 정의하고 여러 트랜잭션에 걸쳐서 큰 용량의 데이터를 다수의 데이터로 분할하여 추상적 저장 공간에 저장함으로써, 종래의 블록체인 시스템에서 불가능했던 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터를 업로드 및 관리할 수 있는 장점이 있다.
도 1은 종래 블록체인 중 비트코인의 블록 구조를 나타낸 도면이다.
도 2는 종래 블록체인 중 이더리움의 블록 검증 알고리즘 구조를 나타낸 도면이다.
도 3은 본 발명에 따른 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법의 실행 과정을 나타낸 흐름도이다.
도 4는 블록 최대 크기보다 더 큰 용량의 단일 데이터가 사슬 블록체인에 업로드되는 프로세스를 나타낸 도면이다.
도 5는 대용량 데이터를 분할하여 추상적 저장 공간에 저장하는 개요를 나타낸 도면이다.
도 6은 대용량 데이터의 분할 저장을 위해 대용량 데이터를 자르는 규칙에 대한 개요를 나타낸 도면이다.
본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정되어 해석되지 말아야 하며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈", "장치" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
여기서, 본 발명의 실시예에 대해 설명하기에 앞서, 본 발명에 대한 이해를 돕기 위해 본 발명에 적용되는 블록체인에서의 비트코인 및 이더리움의 구조와 관련하여 먼저 설명해 보기로 한다.
도 1은 종래 블록체인 중 비트코인의 블록 구조를 나타낸 도면이다.
도 1을 참조하면, 종래 비트코인의 블록(110∼130)은 크게 블록 헤더(Block Header)(120h)와 블록 바디(Block Body)(120b)로 구성된다. 블록 헤더(120h)는 블록을 생성할 때 블록에 대한 정보를 저장하는 부분이다. 블록 헤더(120h)의 이전 블록의 해시(Hash)는 블록과 블록을 연결해주는 역할을 하고, 낸스(Nance)는 블록 헤더(120h)가 해시값을 도출하게 되면, 이 해시값의 끝에 붙는 숫자이다. 즉, 타겟 (target) 해시값보다 낮은 해시값이 나오게 되면 블록 헤더(120h) 해시값 뒤에 덧붙인 숫자가 바로 'Nance'가 되고, 이 값이 해당 블록의 답이 된다. "Root Hash"는 블록 내 저장된 트랜잭션들(TX 0∼TX 3)을 2개씩 짝지어 하나의 해시값을 도출해 내는 과정을 의미한다.
블록 바디(120b)는 비트코인의 거래정보, 트랜잭션(TX)을 보관하는 부분이다. TX 0∼TX 3은 거래 기록을 의미하고, HASH 0∼HASH 3은 거래 기록을 2개씩 짝지어 SHA-256 해시함수를 적용시킨 것이며, HASH 0|1은 이전 단계에서 해시함수를 적용시킨 것을 한 번 더 SHA-256 해시함수를 적용시킨 것을 의미한다.
도 2는 종래 블록체인 중 이더리움의 블록 검증 알고리즘 구조를 나타낸 도면이다.
도 2를 참조하면, S[0]∼S[n](210)은 이전 블록의 마지막 상태를 나타내고, Tx[0]∼Tx[n-1](220)은 현재 블록의 n개의 트랜잭션 리스트를 나타내며, APPLY(230)는 검증이 완료되어 다음 상태로 진행함을 의미하고, "PAY BLOCK REWARD"(240)는 채굴자에게 지불된 보상 블록을 나타내고, S_FINAL(250)은 보상 블록을 S[n]에 덧붙인 후, 이것을 Final S[n]으로 가정한 것을 나타낸다.
이상과 같은 이더리움의 블록 검증 알고리즘에 있어서, 블록을 새로 생성하기 위해, 거래 데이터 0(Tx[0])∼거래 데이터 n(Tx[n])을 해당 계정(주소)에 적용하여 각 계정의 균형(balance) 등을 변경 기록한다. 최종적으로, 거래 내역이 포함된 모든 계정에 대한 S_FINAL을 네트워크에 전파한다.
그러면, 이하에서는 본 발명의 실시예에 대하여 설명해 보기로 한다.
도 3은 본 발명의 실시예에 따른 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법의 실행 과정을 나타낸 흐름도이고, 도 4는 블록 최대 크기보다 더 큰 용량의 단일 데이터가 사슬 블록체인에 업로드되는 프로세스를 나타낸 도면이다.
도 3 및 도 4를 참조하면, 본 발명에 따른 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법은, 블록체인 서비스를 요청하는 사용자 단말기(410)와, 사용자 단말기(410)의 서비스 요청에 따라 해당 서비스를 제공하는 블록체인 서비스 서버(420)와, 데이터가 분할 저장되는 블록체인의 사슬 네트워크(430)를 포함하는 블록체인에서의 단일 데이터의 업로드 및 관리 시스템(400)을 기반으로 한 대용량 단일 데이터의 업로드 및 관리 방법으로서, 먼저 사용자 단말기(410)가 블록체인 서비스를 통해 블록체인에 임의의 데이터의 업로드를 요청하면(단계 S301), 그 업로드의 요청에 따라 블록체인 서비스 서버(420)는 업로드 요청된 데이터의 용량이 블록 최대 크기보다 더 큰 용량인지를 판별한다(단계 S302). 여기서, 상기 블록체인 서비스 서버(420)는 사슬 기반의 블록체인 서비스를 제공할 수 있다. 이때, 상기 사슬 기반의 블록체인 서비스는 NFT(non-fungible token) 마켓 서비스를 포함할 수 있다. 여기서, NFT는 교환과 복제가 불가능하여 저마다 고유성과 희소성을 지니는 블록체인 기반의 토큰으로 '대체 불가능한 토큰'이다. 이와 같은 NFT는 블록체인 기술을 적용한 디지털 토큰으로, 각 토큰은 저마다 고유한 인식값을 부여받음으로써 서로 대체할 수 없는 가치와 특성을 지니게 되어 교환과 복제가 불가능하다.
상기 단계 S302의 판별에서 업로드 요청된 데이터가 블록 최대 크기보다 더 큰 용량의 대용량 데이터인 경우, 상기 블록체인 서비스 서버(420)는 하나의 블록체인으로서의 임의의 추상적 저장 공간(본 발명에서는 이 추상적 저장 공간을 "Status"라 함)을 정의한다(단계 S303). 여기서, 상기 블록체인 서비스 서버(420)가 하나의 블록체인으로서의 임의의 추상적 저장 공간을 정의함에 있어서, 스마트 콘트랙트(contract)로 하나의 블록체인으로서의 임의의 추상적 저장 공간을 정의할 수 있다. 또한, 상기 추상적 저장 공간은 블록체인 서비스에 필요한 네트워크 자원 및 기능을 제공하는 사슬 네트워크(430)의 내부에 마련될 수 있다. 여기서, 또한 이와 같은 추상적 저장 공간, 즉, Status라는 저장 공간(도 5 참조)은 블록의 상태값만을 저장해 놓은 공간을 의미하며, "추상적 저장 공간"이라고 표현한 것은 블록체인 특성상 사용자가 현재 접속한 기기(PC 등)에서 확인은 가능하지만, 접속한 기기에 온전한 데이터 원본이 존재하지 않을 수 있고, 분할되어 상대적으로 바라보고 확인된 것이기 때문이다.
이렇게 하여 하나의 블록체인으로서의 추상적 저장 공간의 정의가 완료되면,상기 블록체인 서비스 서버(420)는 도 5에 도시된 바와 같이, 상기 대용량 데이터를 복수의 단일 데이터(511)(C[0]∼C[n])로 분할하여 상기 추상적 저장 공간 (Status)(510)에 분할하여 저장한다(단계 S304). 여기서, 상기 블록체인 서비스 서버(420)가 상기 대용량 데이터를 복수의 단일 데이터(C[0]∼C[n])로 분할함에 있어서, 다수의 트랜잭션에 걸쳐서 상기 대용량 데이터를 복수의 단일 데이터로 분할할 수 있다. 또한, 상기 대용량 데이터를 복수의 단일 데이터(C[0]∼C[n])로 분할하여 상기 추상적 저장 공간(510)에 분할하여 저장함에 있어서, 콘트랙트 또는 상태를 저장할 수 있다. 여기서, 이상과 같은 대용량 데이터의 분할과 관련하여 설명을 조금 더 부가해 보기로 한다.
예를 들면, 도 6에 도시된 바와 같이, 10GB의 데이터가 있다고 가정할 때, 이 데이터를 블록체인에 저장하고자 할 경우, 이 데이터의 위변조를 막기 위해서는 전체 데이터에 대해 서명을 해주어야 한다. 그러나 10GB 데이터에 서명을 한 후 확인할 방법이 현재로서는 거의 없다.
콘트랙트를 이용해서 자르는 규칙을 하나의 메타 데이터로 보고 2번∼n번까지 자른 데이터를 블록체인에 저장한다. 이때, 1번에서 이후의 번호에 대한 자르는 규칙을 콘트랙트로 정의하고, 각각의 데이터 뭉치들이 저장된다. 이때, 또한 10GB의 데이터의 위변조를 막기 위해 서명을 잘라서 한다. 이 서명을 자를 때 이용되는 규칙, 그 자체를 콘트랙트에 넣으면 자르는 규칙을 알고 있기 때문에, 하위의 데이터가 설령 잘못되더라도 원본 데이터를 받으면 원본 데이터와 자르는 규칙만 있으면, 결과적으로 데이터의 위변조에 대한 검증을 쉽게 할 수 있다. 왜냐하면, 콘트랙트는 변경(위변조)이 가능하나 자르는 규칙은 위변조가 불가능하기 때문이다.
이상에 의해 블록 최대 크기보다 더 큰 용량의 대용량 단일 데이터에 대한 저장이 완료된 후, 상기 사용자 단말기(410) 또는 다른 사용자 단말기가 블록체인 서비스를 통해 상기 추상적 저장 공간(510)에 분할되어 저장되어 있는 상기 대용량 데이터의 다운로드를 요청하면(단계 S305), 상기 블록체인 서비스 서버(420)는 상기 다운로드 요청에 따라 상기 추상적 저장 공간(510)에 분할되어 저장되어 있는 복수의 단일 데이터를 다운로드 및 하나의 단일 데이터로 통합하여 대용량 데이터로 복원한다(단계 S306).
그런 후, 상기 블록체인 서비스 서버(420)는 상기 복원된 대용량 데이터를 다운로드를 요청한 상기 사용자 단말기(410) 또는 다른 사용자 단말기로 제공한다(단계 S307).
한편, 상기 단계 S302의 판별에서 업로드 요청된 데이터가 블록 최대 크기보다 더 큰 용량의 데이터가 아닌 경우, 상기 블록체인 서비스 서버(420)는 업로드 요청된 데이터를 일반적인 용량 크기를 갖는 데이터를 저장하는 일반 저장 공간에 저장한다(단계 S308).
이상의 설명과 같이, 본 발명에 따른 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법은 추상적 저장 공간을 정의하고 여러 트랜잭션에 걸쳐서 큰 용량의 데이터를 다수의 데이터로 분할하여 추상적 저장 공간에 저장함으로써, 종래의 블록체인 시스템에서 불가능했던 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터를 업로드 및 관리할 수 있는 장점이 있다.
이상, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양하게 변경, 응용될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다. 따라서, 본 발명의 진정한 보호 범위는 다음의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (7)

  1. a) 사용자 단말기가 블록체인 서비스를 통해 블록체인에 임의의 데이터의 업로드를 요청하는 단계와;
    b) 상기 업로드의 요청에 따라 블록체인 서비스 서버가 업로드 요청된 데이터의 용량이 블록 최대 크기보다 더 큰 용량인지를 판별하는 단계와;
    c) 상기 판별에서 업로드 요청된 데이터가 블록 최대 크기보다 더 큰 용량의 대용량 데이터인 경우, 상기 블록체인 서비스 서버가 하나의 블록체인으로서의 임의의 추상적 저장 공간을 정의하는 단계와;
    d) 상기 블록체인 서비스 서버가 상기 대용량 데이터를 복수의 단일 데이터로 분할하여 상기 추상적 저장 공간에 분할하여 저장하는 단계와;
    e) 상기 사용자 단말기 또는 다른 사용자 단말기가 블록체인 서비스를 통해 상기 추상적 저장 공간에 분할되어 저장되어 있는 상기 대용량 데이터의 다운로드를 요청하는 단계와;
    f) 상기 블록체인 서비스 서버가 상기 다운로드 요청에 따라 상기 추상적 저장 공간에 분할되어 저장되어 있는 복수의 단일 데이터를 다운로드 및 하나의 단일 데이터로 통합하여 대용량 데이터로 복원하는 단계; 및
    g) 상기 블록체인 서비스 서버가 상기 복원된 대용량 데이터를 다운로드를 요청한 상기 사용자 단말기 또는 다른 사용자 단말기로 제공하는 단계를 포함하는, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법.
  2. 제1항에 있어서,
    상기 단계 b)에서 상기 블록체인 서비스 서버는 사슬 기반의 블록체인 서비스를 제공하는, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법.
  3. 제2항에 있어서,
    상기 사슬 기반의 블록체인 서비스는 NFT(non-fungible token) 마켓 서비스를 포함하는, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법.
  4. 제1항에 있어서,
    상기 단계 c)에서 상기 블록체인 서비스 서버가 하나의 블록체인으로서의 임의의 추상적 저장 공간을 정의함에 있어서, 스마트 콘트랙트(contract)로 하나의 블록체인으로서의 임의의 추상적 저장 공간을 정의하는, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법.
  5. 제1항에 있어서,
    상기 단계 c)에서 상기 추상적 저장 공간은 블록체인 서비스에 필요한 네트워크 자원 및 기능을 제공하는 사슬 네트워크의 내부에 마련되는, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법.
  6. 제1항에 있어서,
    상기 단계 d)에서 상기 블록체인 서비스 서버가 상기 대용량 데이터를 복수의 단일 데이터로 분할함에 있어서, 다수의 트랜잭션에 걸쳐서 상기 대용량 데이터를 복수의 단일 데이터로 분할하는, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법.
  7. 제1항에 있어서,
    상기 단계 d)에서 상기 대용량 데이터를 복수의 단일 데이터로 분할하여 상기 추상적 저장 공간에 분할하여 저장함에 있어서, 콘트랙트 또는 상태를 저장하는, 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법.
PCT/KR2022/008908 2021-06-30 2022-06-23 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법 WO2023277444A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0085986 2021-06-30
KR20210085986 2021-06-30
KR10-2022-0075846 2022-06-21
KR1020220075846A KR20230004271A (ko) 2021-06-30 2022-06-21 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법

Publications (1)

Publication Number Publication Date
WO2023277444A1 true WO2023277444A1 (ko) 2023-01-05

Family

ID=84692913

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/008908 WO2023277444A1 (ko) 2021-06-30 2022-06-23 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법

Country Status (2)

Country Link
TW (1) TW202316448A (ko)
WO (1) WO2023277444A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101986081B1 (ko) * 2018-12-24 2019-06-05 (주)소프트제국 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법
KR102051895B1 (ko) * 2019-07-30 2019-12-06 주식회사 바스랩 사용자와 블록체인 간 데이터 분할저장을 통한 데이터 관리방법
KR20200000583A (ko) * 2018-06-25 2020-01-03 삼성에스디에스 주식회사 블록체인 기반 데이터 관리 방법 및 그 장치
KR102199567B1 (ko) * 2019-11-11 2021-01-07 주식회사 블루인덱스 블록체인 기반 예술품 거래 데이터 공유 서비스 제공 시스템
US20210151142A1 (en) * 2019-11-15 2021-05-20 Stephanie Sujin CHOI Implementation of an animal blockchain using unique id for animal identity and records management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200000583A (ko) * 2018-06-25 2020-01-03 삼성에스디에스 주식회사 블록체인 기반 데이터 관리 방법 및 그 장치
KR101986081B1 (ko) * 2018-12-24 2019-06-05 (주)소프트제국 블록체인에서 특정 노드들간 블록을 공유 및 검증하는 방법
KR102051895B1 (ko) * 2019-07-30 2019-12-06 주식회사 바스랩 사용자와 블록체인 간 데이터 분할저장을 통한 데이터 관리방법
KR102199567B1 (ko) * 2019-11-11 2021-01-07 주식회사 블루인덱스 블록체인 기반 예술품 거래 데이터 공유 서비스 제공 시스템
US20210151142A1 (en) * 2019-11-15 2021-05-20 Stephanie Sujin CHOI Implementation of an animal blockchain using unique id for animal identity and records management

Also Published As

Publication number Publication date
TW202316448A (zh) 2023-04-16

Similar Documents

Publication Publication Date Title
CN112153085B (zh) 一种数据处理方法、节点及区块链系统
US20170236120A1 (en) Accountability and Trust in Distributed Ledger Systems
JP2021527373A (ja) ブロックチェーンパラチェーンの保守方法及びブロックチェーンパラチェーン
US20230109969A1 (en) Data processing method and apparatus based on node internal memory, device and medium
CN112235420B (zh) 基于区块链的数据同步方法、系统及相关设备
CN111061769A (zh) 一种区块链系统的共识方法及相关设备
CN106302720B (zh) 一种用于区块链可生存存储系统及其方法
CN108804706A (zh) 一种区块链数据处理方法、装置、设备及存储介质
EP3709568A1 (en) Deleting user data from a blockchain
CN110321219A (zh) 一种事务请求的并行执行方法、装置、设备和介质
CN110930152A (zh) 一种基于区块链的数据处理方法及相关设备
CN110138767A (zh) 事务请求的处理方法、装置、设备和存储介质
CN115134069A (zh) 区块链编辑的方法和区块链节点
CN113609167B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN113132459B (zh) 分布式存储方法、系统、存储介质、信息数据处理终端
WO2023277444A1 (ko) 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법
CN116055052A (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN116029825B (zh) 区块链的交易方法、装置、系统、电子设备及存储介质
KR102139551B1 (ko) 유언장을 관리하는 서버 및 방법
KR20230004271A (ko) 블록체인에서 블록 최대 크기보다 더 큰 용량의 단일 데이터의 업로드 및 관리 방법
CN117010889A (zh) 数据处理方法、装置及设备、介质、产品
CN116542668A (zh) 一种基于区块链的数据处理方法、设备及可读存储介质
Lerner Lumino transaction compression protocol (LTCP)
WO2023145988A1 (ko) 블록체인과 ipfs 기반의 암호화 데이터 공유 시스템
CN116827520B (zh) 一种基于web3技术的分布式身份认证系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22833500

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE